flujo-ai 3.44.0 → 3.45.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 (386) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +7 -7
  3. package/.next/build-manifest.json +3 -3
  4. package/.next/react-loadable-manifest.json +1 -1
  5. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  6. package/.next/server/app/_global-error.html +1 -1
  7. package/.next/server/app/_global-error.rsc +1 -1
  8. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  9. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  14. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  15. package/.next/server/app/_not-found.html +1 -1
  16. package/.next/server/app/_not-found.rsc +2 -2
  17. package/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
  18. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  20. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  23. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  24. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  25. package/.next/server/app/api/approvals/route.js +1 -1
  26. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  27. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  28. package/.next/server/app/api/bugs/enhance/route.js +1 -1
  29. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js +1 -1
  31. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  32. package/.next/server/app/api/flow/[id]/convert-process-to-subflow/route.js.nft.json +1 -1
  33. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  34. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  36. package/.next/server/app/api/flow/assist/route.js +1 -1
  37. package/.next/server/app/api/flow/assist/route.js.nft.json +1 -1
  38. package/.next/server/app/api/flow/compile/route.js +1 -1
  39. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/generate/route.js +1 -1
  41. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  42. package/.next/server/app/api/flow/generate/visual/route.js +2 -2
  43. package/.next/server/app/api/flow/generate/visual/route.js.nft.json +1 -1
  44. package/.next/server/app/api/flow/generator/route.js +1 -1
  45. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/improve/route.js +1 -1
  47. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  48. package/.next/server/app/api/flow/prompt-renderer/route.js +1 -1
  49. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  50. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  51. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  52. package/.next/server/app/api/flow/repair/route.js +1 -1
  53. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  54. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  55. package/.next/server/app/api/init/route.js +1 -1
  56. package/.next/server/app/api/init/route.js.nft.json +1 -1
  57. package/.next/server/app/api/mcp/app-consent/route.js +1 -1
  58. package/.next/server/app/api/mcp/app-consent/route.js.nft.json +1 -1
  59. package/.next/server/app/api/mcp/app-sandbox/route.js +2 -2
  60. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  61. package/.next/server/app/api/mcp/assistant/route.js +1 -1
  62. package/.next/server/app/api/mcp/assistant/route.js.nft.json +1 -1
  63. package/.next/server/app/api/mcp/cancel/route.js +1 -1
  64. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  65. package/.next/server/app/api/mcp/flujo/authoring/route.js +1 -1
  66. package/.next/server/app/api/mcp/flujo/authoring/route.js.nft.json +1 -1
  67. package/.next/server/app/api/mcp/flujo/automation/route.js +1 -1
  68. package/.next/server/app/api/mcp/flujo/automation/route.js.nft.json +1 -1
  69. package/.next/server/app/api/mcp/flujo/flows/route.js +1 -1
  70. package/.next/server/app/api/mcp/flujo/flows/route.js.nft.json +1 -1
  71. package/.next/server/app/api/mcp/flujo/resources/read/route.js +1 -1
  72. package/.next/server/app/api/mcp/flujo/resources/read/route.js.nft.json +1 -1
  73. package/.next/server/app/api/mcp/flujo/resources/route.js +1 -1
  74. package/.next/server/app/api/mcp/flujo/resources/route.js.nft.json +1 -1
  75. package/.next/server/app/api/mcp/flujo/servers/route.js +1 -1
  76. package/.next/server/app/api/mcp/flujo/servers/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/flujo/state/route.js +1 -1
  78. package/.next/server/app/api/mcp/flujo/state/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/flujo/tools/route.js +1 -1
  80. package/.next/server/app/api/mcp/flujo/tools/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  82. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  83. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  84. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/confirm/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/stdio-oauth/start/route.js.nft.json +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/route.js +1 -1
  104. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  105. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  106. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  107. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  108. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp-registry/route.js +1 -1
  110. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  111. package/.next/server/app/api/model/[id]/route.js +1 -1
  112. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  113. package/.next/server/app/api/model/provider/route.js +1 -1
  114. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  115. package/.next/server/app/api/model/route.js +1 -1
  116. package/.next/server/app/api/model/route.js.nft.json +1 -1
  117. package/.next/server/app/api/model/test/route.js +1 -1
  118. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  119. package/.next/server/app/api/oauth/reset/route.js +1 -1
  120. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  121. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  122. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  123. package/.next/server/app/api/packages/install/route.js +1 -1
  124. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  125. package/.next/server/app/api/packages/install/status/route.js +1 -1
  126. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  127. package/.next/server/app/api/packages/installed/route.js +1 -1
  128. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  129. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  130. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  131. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  132. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  133. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  134. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  135. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  136. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  137. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  138. package/.next/server/app/api/planned-executions/route.js +1 -1
  139. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  140. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  141. package/.next/server/app/api/runs/active/route.js +1 -1
  142. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  143. package/.next/server/app/api/telemetry/daily-active/route.js +1 -1
  144. package/.next/server/app/api/waves/route.js +1 -1
  145. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  146. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  147. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  148. package/.next/server/app/automation/triggers/page_client-reference-manifest.js +1 -1
  149. package/.next/server/app/automation/triggers.html +1 -1
  150. package/.next/server/app/automation/triggers.rsc +3 -3
  151. package/.next/server/app/automation/triggers.segments/_full.segment.rsc +3 -3
  152. package/.next/server/app/automation/triggers.segments/_head.segment.rsc +1 -1
  153. package/.next/server/app/automation/triggers.segments/_index.segment.rsc +2 -2
  154. package/.next/server/app/automation/triggers.segments/_tree.segment.rsc +1 -1
  155. package/.next/server/app/automation/triggers.segments/automation/triggers/__PAGE__.segment.rsc +2 -2
  156. package/.next/server/app/automation/triggers.segments/automation/triggers.segment.rsc +1 -1
  157. package/.next/server/app/automation/triggers.segments/automation.segment.rsc +1 -1
  158. package/.next/server/app/automation/waves/page_client-reference-manifest.js +1 -1
  159. package/.next/server/app/automation/waves.html +1 -1
  160. package/.next/server/app/automation/waves.rsc +3 -3
  161. package/.next/server/app/automation/waves.segments/_full.segment.rsc +3 -3
  162. package/.next/server/app/automation/waves.segments/_head.segment.rsc +1 -1
  163. package/.next/server/app/automation/waves.segments/_index.segment.rsc +2 -2
  164. package/.next/server/app/automation/waves.segments/_tree.segment.rsc +1 -1
  165. package/.next/server/app/automation/waves.segments/automation/waves/__PAGE__.segment.rsc +2 -2
  166. package/.next/server/app/automation/waves.segments/automation/waves.segment.rsc +1 -1
  167. package/.next/server/app/automation/waves.segments/automation.segment.rsc +1 -1
  168. package/.next/server/app/chain-chat/page_client-reference-manifest.js +1 -1
  169. package/.next/server/app/chain-chat.html +1 -1
  170. package/.next/server/app/chain-chat.rsc +3 -3
  171. package/.next/server/app/chain-chat.segments/_full.segment.rsc +3 -3
  172. package/.next/server/app/chain-chat.segments/_head.segment.rsc +1 -1
  173. package/.next/server/app/chain-chat.segments/_index.segment.rsc +2 -2
  174. package/.next/server/app/chain-chat.segments/_tree.segment.rsc +1 -1
  175. package/.next/server/app/chain-chat.segments/chain-chat/__PAGE__.segment.rsc +2 -2
  176. package/.next/server/app/chain-chat.segments/chain-chat.segment.rsc +1 -1
  177. package/.next/server/app/chat/page.js +4 -4
  178. package/.next/server/app/chat/page.js.nft.json +1 -1
  179. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  180. package/.next/server/app/chat.html +1 -1
  181. package/.next/server/app/chat.rsc +3 -3
  182. package/.next/server/app/chat.segments/_full.segment.rsc +3 -3
  183. package/.next/server/app/chat.segments/_head.segment.rsc +1 -1
  184. package/.next/server/app/chat.segments/_index.segment.rsc +2 -2
  185. package/.next/server/app/chat.segments/_tree.segment.rsc +1 -1
  186. package/.next/server/app/chat.segments/chat/__PAGE__.segment.rsc +2 -2
  187. package/.next/server/app/chat.segments/chat.segment.rsc +1 -1
  188. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  189. package/.next/server/app/docs.html +1 -1
  190. package/.next/server/app/docs.rsc +3 -3
  191. package/.next/server/app/docs.segments/_full.segment.rsc +3 -3
  192. package/.next/server/app/docs.segments/_head.segment.rsc +1 -1
  193. package/.next/server/app/docs.segments/_index.segment.rsc +2 -2
  194. package/.next/server/app/docs.segments/_tree.segment.rsc +1 -1
  195. package/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +2 -2
  196. package/.next/server/app/docs.segments/docs.segment.rsc +1 -1
  197. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  198. package/.next/server/app/executions.html +1 -1
  199. package/.next/server/app/executions.rsc +3 -3
  200. package/.next/server/app/executions.segments/_full.segment.rsc +3 -3
  201. package/.next/server/app/executions.segments/_head.segment.rsc +1 -1
  202. package/.next/server/app/executions.segments/_index.segment.rsc +2 -2
  203. package/.next/server/app/executions.segments/_tree.segment.rsc +1 -1
  204. package/.next/server/app/executions.segments/executions/__PAGE__.segment.rsc +2 -2
  205. package/.next/server/app/executions.segments/executions.segment.rsc +1 -1
  206. package/.next/server/app/flows/page.js +5 -5
  207. package/.next/server/app/flows/page.js.nft.json +1 -1
  208. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  209. package/.next/server/app/flows.html +1 -1
  210. package/.next/server/app/flows.rsc +3 -3
  211. package/.next/server/app/flows.segments/_full.segment.rsc +3 -3
  212. package/.next/server/app/flows.segments/_head.segment.rsc +1 -1
  213. package/.next/server/app/flows.segments/_index.segment.rsc +2 -2
  214. package/.next/server/app/flows.segments/_tree.segment.rsc +1 -1
  215. package/.next/server/app/flows.segments/flows/__PAGE__.segment.rsc +2 -2
  216. package/.next/server/app/flows.segments/flows.segment.rsc +1 -1
  217. package/.next/server/app/index.html +1 -1
  218. package/.next/server/app/index.rsc +3 -3
  219. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  220. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  221. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  222. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  223. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  224. package/.next/server/app/mcp/page.js +1 -1
  225. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  226. package/.next/server/app/mcp-flows/route.js +1 -1
  227. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  228. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  229. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  230. package/.next/server/app/mcp.html +1 -1
  231. package/.next/server/app/mcp.rsc +3 -3
  232. package/.next/server/app/mcp.segments/_full.segment.rsc +3 -3
  233. package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
  234. package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
  235. package/.next/server/app/mcp.segments/_tree.segment.rsc +1 -1
  236. package/.next/server/app/mcp.segments/mcp/__PAGE__.segment.rsc +2 -2
  237. package/.next/server/app/mcp.segments/mcp.segment.rsc +1 -1
  238. package/.next/server/app/meetings/page_client-reference-manifest.js +1 -1
  239. package/.next/server/app/meetings.html +1 -1
  240. package/.next/server/app/meetings.rsc +3 -3
  241. package/.next/server/app/meetings.segments/_full.segment.rsc +3 -3
  242. package/.next/server/app/meetings.segments/_head.segment.rsc +1 -1
  243. package/.next/server/app/meetings.segments/_index.segment.rsc +2 -2
  244. package/.next/server/app/meetings.segments/_tree.segment.rsc +1 -1
  245. package/.next/server/app/meetings.segments/meetings/__PAGE__.segment.rsc +2 -2
  246. package/.next/server/app/meetings.segments/meetings.segment.rsc +1 -1
  247. package/.next/server/app/models/page.js +3 -3
  248. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  249. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  250. package/.next/server/app/packages.html +1 -1
  251. package/.next/server/app/packages.rsc +3 -3
  252. package/.next/server/app/packages.segments/_full.segment.rsc +3 -3
  253. package/.next/server/app/packages.segments/_head.segment.rsc +1 -1
  254. package/.next/server/app/packages.segments/_index.segment.rsc +2 -2
  255. package/.next/server/app/packages.segments/_tree.segment.rsc +1 -1
  256. package/.next/server/app/packages.segments/packages/__PAGE__.segment.rsc +2 -2
  257. package/.next/server/app/packages.segments/packages.segment.rsc +1 -1
  258. package/.next/server/app/page_client-reference-manifest.js +1 -1
  259. package/.next/server/app/settings/page.js +2 -2
  260. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  261. package/.next/server/app/settings.html +1 -1
  262. package/.next/server/app/settings.rsc +3 -3
  263. package/.next/server/app/settings.segments/_full.segment.rsc +3 -3
  264. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  265. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +1 -1
  267. package/.next/server/app/settings.segments/settings/__PAGE__.segment.rsc +2 -2
  268. package/.next/server/app/settings.segments/settings.segment.rsc +1 -1
  269. package/.next/server/app/statistics/page_client-reference-manifest.js +1 -1
  270. package/.next/server/app/statistics.html +1 -1
  271. package/.next/server/app/statistics.rsc +3 -3
  272. package/.next/server/app/statistics.segments/_full.segment.rsc +3 -3
  273. package/.next/server/app/statistics.segments/_head.segment.rsc +1 -1
  274. package/.next/server/app/statistics.segments/_index.segment.rsc +2 -2
  275. package/.next/server/app/statistics.segments/_tree.segment.rsc +1 -1
  276. package/.next/server/app/statistics.segments/statistics/__PAGE__.segment.rsc +2 -2
  277. package/.next/server/app/statistics.segments/statistics.segment.rsc +1 -1
  278. package/.next/server/app/v1/chat/completions/route.js +1 -1
  279. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  280. package/.next/server/app/v1/chat/conversation-chains/route.js +1 -1
  281. package/.next/server/app/v1/chat/conversation-chains/route.js.nft.json +1 -1
  282. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +1 -1
  283. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  284. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +1 -1
  285. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  286. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js +1 -1
  287. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/attach/route.js.nft.json +1 -1
  288. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  289. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/state/route.js.nft.json +1 -1
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +1 -1
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/recovery/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/revert/route.js.nft.json +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +1 -1
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/route.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  310. package/.next/server/app/v1/chat/events/route.js +1 -1
  311. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  312. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js +1 -1
  313. package/.next/server/app/v1/meetings/[meetingId]/cancel/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/meetings/[meetingId]/route.js +1 -1
  315. package/.next/server/app/v1/meetings/[meetingId]/route.js.nft.json +1 -1
  316. package/.next/server/app/v1/meetings/[meetingId]/start/route.js +1 -1
  317. package/.next/server/app/v1/meetings/[meetingId]/start/route.js.nft.json +1 -1
  318. package/.next/server/app/v1/meetings/route.js +1 -1
  319. package/.next/server/app/v1/meetings/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/models/route.js +1 -1
  321. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  322. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  323. package/.next/server/app/waves.html +1 -1
  324. package/.next/server/app/waves.rsc +3 -3
  325. package/.next/server/app/waves.segments/_full.segment.rsc +3 -3
  326. package/.next/server/app/waves.segments/_head.segment.rsc +1 -1
  327. package/.next/server/app/waves.segments/_index.segment.rsc +2 -2
  328. package/.next/server/app/waves.segments/_tree.segment.rsc +1 -1
  329. package/.next/server/app/waves.segments/waves/__PAGE__.segment.rsc +2 -2
  330. package/.next/server/app/waves.segments/waves.segment.rsc +1 -1
  331. package/.next/server/app-paths-manifest.json +7 -7
  332. package/.next/server/chunks/1114.js +1 -1
  333. package/.next/server/chunks/{4271.js → 2126.js} +13 -13
  334. package/.next/server/chunks/2425.js +1 -1
  335. package/.next/server/chunks/244.js +1 -1
  336. package/.next/server/chunks/2728.js +1 -1
  337. package/.next/server/chunks/2970.js +1 -1
  338. package/.next/server/chunks/3133.js +2 -2
  339. package/.next/server/chunks/4558.js +1 -1
  340. package/.next/server/chunks/4779.js +1 -0
  341. package/.next/server/chunks/531.js +1 -1
  342. package/.next/server/chunks/5354.js +1 -1
  343. package/.next/server/chunks/5831.js +1 -1
  344. package/.next/server/chunks/609.js +1 -1
  345. package/.next/server/chunks/75.js +1 -1
  346. package/.next/server/chunks/7513.js +1 -1
  347. package/.next/server/chunks/7754.js +60 -60
  348. package/.next/server/chunks/811.js +1 -1
  349. package/.next/server/chunks/8542.js +1 -1
  350. package/.next/server/chunks/87.js +1 -1
  351. package/.next/server/chunks/8767.js +1 -1
  352. package/.next/server/middleware-build-manifest.js +1 -1
  353. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  354. package/.next/server/pages/404.html +1 -1
  355. package/.next/server/pages/500.html +1 -1
  356. package/.next/server/server-reference-manifest.js +1 -1
  357. package/.next/server/server-reference-manifest.json +1 -1
  358. package/.next/static/chunks/{8851-1ea4bbf9945c7b34.js → 2375-af6ebf80d9cb9975.js} +2 -2
  359. package/.next/static/chunks/{4742-e151939b0ae7ba74.js → 3841-0e4a10c621cac0e6.js} +1 -1
  360. package/.next/static/chunks/{5147-d239d0147237bb58.js → 5147-ec07dd70c20ec0b5.js} +1 -1
  361. package/.next/static/chunks/5212-898f308c44a32c22.js +2 -0
  362. package/.next/static/chunks/7401-cffc7c5fa1f5f06e.js +10 -0
  363. package/.next/static/chunks/app/chat/page-5b6d507b576cea9c.js +7 -0
  364. package/.next/static/chunks/app/flows/page-9b16d049d43ac817.js +9 -0
  365. package/.next/static/chunks/app/mcp/{page-70535f4bce57edbe.js → page-e4c284466c17fe32.js} +1 -1
  366. package/.next/static/chunks/app/models/page-2891efa80c126790.js +11 -0
  367. package/.next/static/chunks/{webpack-7efb2620f630c7d5.js → webpack-d9f1e56ee69d988f.js} +1 -1
  368. package/.next/trace +104 -104
  369. package/.next/trace-build +1 -1
  370. package/README.md +6 -3
  371. package/mcp-servers/bash/package.json +1 -1
  372. package/mcp-servers/browser/dist/resources.js +29 -3
  373. package/mcp-servers/browser/dist/resources.js.map +1 -1
  374. package/mcp-servers/browser/package.json +1 -1
  375. package/mcp-servers/filesystem/dist/resources.js +1 -1
  376. package/mcp-servers/filesystem/package.json +1 -1
  377. package/mcp-servers/flujo/package.json +1 -1
  378. package/package.json +5 -5
  379. package/.next/server/chunks/387.js +0 -1
  380. package/.next/static/chunks/5212-fa397222d5251b43.js +0 -2
  381. package/.next/static/chunks/7401-b0f0d4a7b2597302.js +0 -10
  382. package/.next/static/chunks/app/chat/page-3db891cc7ba29084.js +0 -7
  383. package/.next/static/chunks/app/flows/page-6b6748bc74604103.js +0 -9
  384. package/.next/static/chunks/app/models/page-e3430501cd05ff1f.js +0 -11
  385. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_buildManifest.js +0 -0
  386. /package/.next/static/{yjYCceqlIl4V9blcEb5AK → 4x_Vc1-WtJtqgqFZnCq3D}/_ssgManifest.js +0 -0
@@ -1,4 +1,4 @@
1
- (()=>{var a={};a.id=8457,a.ids=[8457],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8255:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73V17c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91M4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V17c0 .55.45 1 1 1h3.5v-1.61c0-.83.23-1.61.63-2.29M20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m4 3.43c0-.81-.48-1.53-1.22-1.85-.85-.37-1.79-.58-2.78-.58-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H23c.55 0 1-.45 1-1zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3"}),"GroupsRounded")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12236:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24.21-.34.1-.79-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72"}),"ScheduleRounded")},14108:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(48249),e=c(67484);let f=(0,c(6680).h)("frontend/components/ClientOnly");function g({children:a}){let[b,c]=(0,e.useState)(!1);return b?(f.debug("ClientOnly component rendering children"),(0,d.jsx)(d.Fragment,{children:a})):(f.debug("ClientOnly component rendering null (not yet mounted)"),null)}},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28336:(a,b,c)=>{"use strict";let d,e,f,g;c.r(b),c.d(b,{default:()=>it});var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF=c(48249),aG=c(67484),aH=c.n(aG),aI=c(60333),aJ=c(19099),aK=c(17747),aL=c(29184),aM=c(77217),aN=c(52454),aO=c(76108),aP=c(55784),aQ=c(88458),aR=c(53800),aS=c(74222),aT=c(20437),aU=c(95747),aV=c(54269),aW=c(38592),aX=c(4146),aY=c(95816),aZ=c(39266),a$=c(33480),a_=c(72581),a0=c(15523),a1=c(74403);let a2=["top","up","bottom"];var a3=c(34123),a4=c(77493),a5=c(138),a6=c(8800),a7=c(32586);let a8=(0,a7.A)((0,aF.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m4 14H8V8h8z"}),"StopCircle"),a9=(0,a7.A)((0,aF.jsx)("path",{d:"M16 20H2V4h14zm2-12h4V4h-4zm0 12h4v-4h-4zm0-6h4v-4h-4z"}),"ViewSidebar");var ba=c(10320),bb=c(19433),bc=c(82391),bd=c(20217);let be=(0,a7.A)((0,aF.jsx)("path",{d:"M22 4c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4zm-2 13.17L18.83 16H4V4h16zM13 5h-2v4H7v2h4v4h2v-4h4V9h-4z"}),"AddCommentOutlined");var bf=c(18658),bg=c(52711),bh=c(30960),bi=c(47786),bj=c(75296),bk=c(64287),bl=c(28298),bm=c(72539),bn=c(74453),bo=c(13288),bp=c(20158),bq=c(86471),br=c(36485),bs=c(98908),bt=c(43955),bu=c(52317),bv=c(78717);let bw=(0,a7.A)((0,aF.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever"),bx=(0,a7.A)((0,aF.jsx)("path",{d:"M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3zM14 5h-3l-1-1H6L5 5H2v2h12z"}),"DeleteSweep");var by=c(31975),bz=c(12236),bA=c(45788),bB=c(63734);let bC=(0,a7.A)((0,aF.jsx)("path",{d:"M13 13c-.56.56-1.45.56-2 .01V13c-.55-.55-.55-1.44 0-1.99V11c.55-.55 1.44-.55 1.99 0H13c.55.55.55 1.45 0 2m-1-7 2.12 2.12 2.5-2.5-3.2-3.2c-.78-.78-2.05-.78-2.83 0l-3.2 3.2 2.5 2.5zm-6 6 2.12-2.12-2.5-2.5-3.2 3.2c-.78.78-.78 2.05 0 2.83l3.2 3.2 2.5-2.5zm12 0-2.12 2.12 2.5 2.5 3.2-3.2c.78-.78.78-2.05 0-2.83l-3.2-3.2-2.5 2.5zm-6 6-2.12-2.12-2.5 2.5 3.2 3.2c.78.78 2.05.78 2.83 0l3.2-3.2-2.5-2.5z"}),"ApiRounded");var bD=c(87526),bE=c(91195),bF=c(8255);let bG=(0,a7.A)((0,aF.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m-1-4h2v2h-2zm1.61-9.96c-2.06-.3-3.88.97-4.43 2.79-.18.58.26 1.17.87 1.17h.2c.41 0 .74-.29.88-.67.32-.89 1.27-1.5 2.3-1.28.95.2 1.65 1.13 1.57 2.1-.1 1.34-1.62 1.63-2.45 2.88 0 .01-.01.01-.01.02-.01.02-.02.03-.03.05-.09.15-.18.32-.25.5-.01.03-.03.05-.04.08-.01.02-.01.04-.02.07-.12.34-.2.75-.2 1.25h2c0-.42.11-.77.28-1.07.02-.03.03-.06.05-.09.08-.14.18-.27.28-.39.01-.01.02-.03.03-.04.1-.12.21-.23.33-.34.96-.91 2.26-1.65 1.99-3.56-.24-1.74-1.61-3.21-3.35-3.47"}),"HelpOutlineRounded"),bH=(0,a7.A)((0,aF.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24.21-.34.1-.79-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72"}),"AccessTimeRounded"),bI=(0,a7.A)((0,aF.jsx)("path",{d:"M14 9h2.87c1.46 0 2.8.98 3.08 2.42.31 1.64-.74 3.11-2.22 3.48l1.53 1.53c1.77-.91 2.95-2.82 2.7-5.01C21.68 8.86 19.37 7 16.79 7H14c-.55 0-1 .45-1 1s.45 1 1 1M3.51 3.51a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l2.64 2.64c-1.77.91-2.95 2.82-2.7 5.01C2.32 15.14 4.63 17 7.21 17H10c.55 0 1-.45 1-1s-.45-1-1-1H7.13c-1.46 0-2.8-.98-3.08-2.42-.31-1.64.75-3.11 2.22-3.48l2.12 2.12c-.23.19-.39.46-.39.78 0 .55.45 1 1 1h1.17l8.9 8.9c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41zM14 11l1.71 1.71c.18-.18.29-.43.29-.71 0-.55-.45-1-1-1z"}),"LinkOffRounded"),bJ=(0,a7.A)((0,aF.jsx)("path",{d:"M11 18h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M3 7c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1m4 6h10c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1"}),"FilterListRounded"),bK=(0,a7.A)((0,aF.jsx)("path",{d:"m12 5.83 2.46 2.46c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L12.7 3.7a.996.996 0 0 0-1.41 0L8.12 6.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0zm0 12.34-2.46-2.46a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l3.17 3.18c.39.39 1.02.39 1.41 0l3.17-3.17c.39-.39.39-1.02 0-1.41a.996.996 0 0 0-1.41 0z"}),"UnfoldMoreRounded"),bL=(0,a7.A)((0,aF.jsx)("path",{d:"M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41l-3.17-3.17a.996.996 0 0 0-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41m7.76-14.6a.996.996 0 0 0-1.41 0L12 7.17 9.53 4.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42"}),"UnfoldLessRounded");function bM(a){return"string"==typeof a&&a.startsWith("quickchat-")}c(78685);var bN=c(22730),bO=c(57606),bP=c(80128);let bQ="wave:__adhoc__",bR="wave:__archived__";var bS=c(53027),bT=c(85152),bU=c(32166);function bV({nodes:a,childrenByParent:b,renderItem:c,expanded:d,onToggle:e,depth:f=0,visited:g,maxDepth:h=20,parent:i}){let{t:j}=(0,bU.s9)(),k=(0,a$.A)();if(!a||0===a.length||f>h)return null;let l=g??new Set;return(0,aF.jsx)(aF.Fragment,{children:a.map((g,m)=>{if(l.has(g.id))return null;let n=b.get(g.id)??[],o=n.length>0&&f<h,p=!1!==d[g.id],q=new Set(l);q.add(g.id);let r=m===a.length-1,s=(0,bT.X4)(k.palette.primary.main,"dark"===k.palette.mode?.5:.34);return(0,aF.jsxs)(aL.default,{"data-tree-depth":f,sx:{position:"relative",pl:3.25*(f>0),...f>0?{"&::before":{content:'""',position:"absolute",left:12,top:0,bottom:r?"calc(100% - 31px)":0,borderLeft:`2px solid ${s}`},"&::after":{content:'""',position:"absolute",left:12,top:30,width:14,borderTop:`2px solid ${s}`,borderTopLeftRadius:6}}:{}},children:[f>0&&i&&(0,aF.jsx)(aQ.A,{title:j("chat.chain.childOf",{title:i.title}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",noWrap:!0,sx:{display:"block",ml:4.25,mb:.15,maxWidth:"calc(100% - 40px)",fontWeight:650},children:["↳ ",j("chat.chain.childOf",{title:i.title})]})}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"flex-start"},children:[o?(0,aF.jsx)(aR.A,{size:"small",onClick:()=>e(g.id),"aria-label":p?j("chat.chain.collapse"):j("chat.chain.expand"),sx:{mt:.5,flexShrink:0,zIndex:1,border:"1px solid",borderColor:s,bgcolor:"background.paper","&:hover":{bgcolor:"action.hover"}},children:p?(0,aF.jsx)(bv.A,{fontSize:"small"}):(0,aF.jsx)(bu.A,{fontSize:"small"})}):(0,aF.jsx)(aL.default,{sx:{width:34,flexShrink:0}}),(0,aF.jsx)(aL.default,{sx:{flex:1,minWidth:0},children:c(g,f)})]}),o&&(0,aF.jsx)(bo.A,{in:p,timeout:"auto",unmountOnExit:!0,children:(0,aF.jsx)(bV,{nodes:n,childrenByParent:b,renderItem:c,expanded:d,onToggle:e,depth:f+1,visited:q,maxDepth:h,parent:g})})]},g.id)})})}var bW=c(60314),bX=c(76943);let bY={chat:{label:"User chat",description:"Started interactively from the chat workspace"},api:{label:"API",description:"Started through the chat completions API"},schedule:{label:"Automation",description:"Started by a planned execution or automation trigger"},trigger:{label:"Trigger",description:"Started by an unattended runtime trigger"},subflow:{label:"Subagent",description:"Spawned as a subagent by another conversation"},mcp:{label:"MCP run",description:"Started through FLUJO's MCP interface"},internal:{label:"Internal",description:"Started by an internal FLUJO tool"},meeting:{label:"Meeting",description:"Participated in a multi-flow meeting"},unknown:{label:"Unknown origin",description:"Origin metadata was not recorded for this older conversation"}};function bZ(a,b){return{key:a,...bY[a],inferred:b}}function b$(a){return a.source&&a.source in bY?bZ(a.source,!1):a.parentConversationId?bZ("subflow",!0):a.plannedExecutionId?bZ("schedule",!0):bZ("unknown",!0)}var b_=c(41655),b0=c(76676),b1=c(81025),b2=c(61407);let b3=["all","running","awaiting_tool_approval","paused_debug","completed","error"],b4=["all","today","7d","30d"],b5=["none","date","flow","origin","wave","chain"],b6=["all","chat","schedule","subflow","meeting"],b7={chat:by.A,api:bC,schedule:bz.A,trigger:bB.A,subflow:bA.A,mcp:bD.A,internal:bE.A,meeting:bF.A,unknown:bG},b8=aH().memo(({conversations:a,totalConversations:b=a.length,hasMoreConversations:c=!1,isLoadingMore:d=!1,onLoadMore:e,onLoadAll:f,currentConversationId:g,revealRequest:h=null,onSelectConversation:i,onDeleteConversation:j,onBulkDelete:k,onStopConversation:l,onNewConversation:m,onQuickChat:n,onCollapse:o,collapsed:p=!1,flowNames:q={}})=>{let{t:r,tp:s,formatDate:t}=(0,bU.s9)(),u=(0,a$.A)(),{visualStyle:v}=(0,bX.D)(),w="modern"===v,[x,y]=aH().useState(""),z=(0,b2.j)(),[A,B]=aH().useState({open:!1,ids:[],label:""}),[C,D]=aH().useState(!1),[E,F]=aH().useState(null),[G,H]=aH().useState({open:!1,parent:null,descendantIds:[],lookupFailed:!1}),[I,J]=(0,bS.Io)("flujo-ui:chat-sidebar:search-dim","title"),[K,L]=aH().useState(null),[M,N]=aH().useState(!1),[O,P]=aH().useState(!1),[Q,R]=aH().useState(null),S=aH().useRef(null),[T,U]=(0,bS.Io)("flujo-ui:chat-sidebar:group","none"),[V,W]=(0,bS.Io)("flujo-ui:chat-sidebar:status","all"),[X,Y]=(0,bS.Io)("flujo-ui:chat-sidebar:flow","all"),[Z,$]=(0,bS.Io)("flujo-ui:chat-sidebar:date","all"),[_,aa]=(0,bS.Io)("flujo-ui:chat-sidebar:origin","all"),[ab,ac]=(0,bS.Io)("flujo-ui:chat-sidebar:filters-open",!1),[ad,ae]=(0,bS.Io)("flujo-ui:chat-sidebar:collapsed",{}),af=x.trim(),ag=`${I}\u0000${_}\u0000${af}`,ah=af.length>0&&K?.key===ag?K:null,ai=af.length>0?ah?.items??[]:a,[aj,ak]=aH().useState(null),al=(0,aG.useMemo)(()=>ai.map(a=>`${a.id}:${a.plannedExecutionId??""}`).join("\0"),[ai]);aH().useEffect(()=>{if("wave"!==T)return;let a=!1;return fetch("/api/waves").then(a=>a.ok?a.json():null).then(b=>{!a&&b&&ak(b)}).catch(()=>{}),()=>{a=!0}},[T,al]);let am=(0,aG.useMemo)(()=>(function(a){let b=new Map;if(!a?.waves)return b;for(let c of a.waves){let a=c.rootExecutionIds?.[0],d=a&&c.nodes.find(b=>b.executionId===a)||c.nodes[0],e=d?.name||d?.flowName||c.id;for(let a of c.nodes)b.set(a.executionId,{waveId:c.id,label:e})}return b})(aj),[aj]);aH().useEffect(()=>{if(0===af.length){S.current?.abort(),S.current=null,L(null),R(null),N(!1),P(!1);return}let a=`${I}\u0000${_}\u0000${af}`,b=new AbortController;S.current?.abort(),S.current=b,L(null),R(null),N(!0),P(!1);let c=setTimeout(()=>{b0.O.listConversationPage({limit:50,search:af,dimension:I,..."all"!==_?{origin:_}:{},signal:b.signal}).then(c=>{b.signal.aborted||L({key:a,...c})}).catch(c=>{b.signal.aborted||c?.name==="AbortError"||(L({key:a,items:[],total:0,hasMore:!1}),R(a))}).finally(()=>{S.current!==b||b.signal.aborted||N(!1)})},300);return()=>{clearTimeout(c),b.abort(),S.current===b&&(S.current=null)}},[af,I,_]);let an=aH().useCallback(async()=>{let a=S.current;if(ah?.hasMore&&ah.nextCursor&&a&&!a.signal.aborted&&!O){P(!0),R(null);try{let b=await b0.O.listConversationPage({limit:50,cursor:ah.nextCursor,search:af,dimension:I,..."all"!==_?{origin:_}:{},signal:a.signal});if(a.signal.aborted)return;L(a=>{if(!a||a.key!==ag)return a;let c=new Set(a.items.map(a=>a.id)),d=b.items.filter(a=>!c.has(a.id));return{key:ag,...b,items:[...a.items,...d]}})}catch(b){if(a.signal.aborted||b?.name==="AbortError")return;R(ag)}finally{S.current!==a||a.signal.aborted||P(!1)}}},[ah,O,_,I,ag,af]),ao=aH().useCallback(a=>r(`chat.origin.${a}`),[r]),ap=aH().useCallback(a=>r(`chat.origin.description.${a}`),[r]),aq=aH().useCallback(a=>"all"===a?r("chat.history.anyOrigin"):"subflow"===a?r("chat.history.originSubflow"):ao(a),[ao,r]),ar=aH().useCallback(a=>a?bM(a)?{key:"flow:__quickchat__",label:r("chat.quick.title")}:{key:`flow:${a}`,label:q[a]??r("chat.history.unknownAgent")}:{key:"flow:__none__",label:r("chat.history.noAgent")},[q,r]),as=(0,aG.useMemo)(()=>{let a=new Map;for(let b of ai){let c=ar(b.flowId);a.has(c.key)||a.set(c.key,c.label)}return Array.from(a.entries()).map(([a,b])=>({key:a,label:b})).sort((a,b)=>a.label.localeCompare(b.label))},[ai,ar]),at=aH().useCallback(a=>{let b=Date.now(),c="today"===Z?b-864e5:"7d"===Z?b-6048e5:"30d"===Z?b-2592e6:0;return a.filter(a=>("all"===V||a.status===V)&&("all"===X||ar(a.flowId).key===X)&&("all"===_||b$(a).key===_)&&(!c||!(a.updatedAt<c))).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))},[V,X,_,Z,ar]),au=(0,aG.useMemo)(()=>at(ai),[at,ai]),av=(0,aG.useMemo)(()=>{if("none"===T)return[{key:"all",label:"",items:au}];if("wave"===T){var a;let b;return(a=(0,bP.Az)(au,a=>(function(a,b){if(!a)return{key:bQ,label:"Ad-hoc"};let c=b.get(a);return c?{key:`wave:${c.waveId}`,label:c.label}:{key:bR,label:"Archived / no longer scheduled"}})(a.plannedExecutionId,am)),b=new Set([bQ,bR]),[...a.filter(a=>!b.has(a.key)),...a.filter(a=>b.has(a.key))]).map(a=>({...a,label:"wave:__adhoc__"===a.key?r("chat.group.adhoc"):"wave:__archived__"===a.key?r("chat.group.archived"):a.label}))}return(0,bP.Az)(au,a=>{if("date"===T){let b=(0,bO.K)(a.updatedAt),c={"recency:unknown":r("flows.group.noDate"),"recency:today":r("flows.group.today"),"recency:week":r("flows.group.week"),"recency:month":r("flows.group.month"),"recency:older":r("flows.group.older")};return{...b,label:c[b.key]??b.label}}if("origin"===T){let b=b$(a);return{key:`origin:${b.key}`,label:ao(b.key)}}return ar(a.flowId)})},[au,T,ar,am,ao,r]),aw=(0,aG.useMemo)(()=>"chain"===T?(0,bW.C)(au):{roots:[],childrenByParent:new Map,detachedIds:new Set},[T,au]),[ax,ay]=aH().useState({}),az=aH().useCallback(a=>{ay(b=>({...b,[a]:!1===b[a]}))},[]),aA=(0,aG.useMemo)(()=>{let a=new Map;if("wave"!==T)return a;for(let b of av)a.set(b.key,(0,bW.C)(b.items));return a},[T,av]),aB=(0,aG.useMemo)(()=>{let a=new Set;return"chain"===T?aw.childrenByParent.forEach((b,c)=>a.add(c)):"wave"===T&&aA.forEach(b=>{b.childrenByParent.forEach((b,c)=>a.add(c))}),[...a]},[aw,T,aA]),aC=aH().useCallback(a=>{ay(b=>{let c={...b};return aB.forEach(b=>{c[b]=a}),c}),"wave"===T&&ae(b=>{let c={...b};return av.forEach(b=>{c[b.key]=!a}),c})},[aB,T,av,ae]),aD="chain"===T&&aB.length>0||"wave"===T&&av.length>0,aE=aH().useRef(null),aI=aH().useRef(null);aH().useRef(null),aH().useRef(0);let[aJ,aK]=aH().useState(0);aH().useEffect(()=>{if(!h)return;let{id:a,requestKey:b}=h;aI.current},[h,g,au,av,T,ad,ae,aw,aA,ax,aJ]);let aO=+("all"!==V)+ +("all"!==X)+ +("all"!==_)+ +("all"!==Z),aS=aO+ +("none"!==T),a_=(a,b)=>{let c,d,e=b?.detached===!0,f=!!l&&("running"===a.status||"awaiting_tool_approval"===a.status),h=ar(a.flowId),j="flow:__quickchat__"===h.key,k=a.id===g,m=b$(a),n=ao(m.key),o=ap(m.key),p=b7[m.key],q=function(a,b){switch(a){case"subflow":return b.palette.warning.main;case"schedule":case"trigger":return b_.L.light.signal;case"mcp":return b.palette.info.main;case"meeting":return b.palette.secondary.main;default:return b.palette.primary.main}}(m.key,u),s=function(a,b){switch(a){case"running":return b.palette.primary.main;case"awaiting_tool_approval":return b.palette.warning.main;case"paused_debug":return b.palette.secondary.main;case"completed":return b.palette.success.main;case"capped":return b.palette.info.main;case"error":return b.palette.error.main;default:return b.palette.text.disabled}}(a.status,u),v=k?"dark"===u.palette.mode?.38:.3:"dark"===u.palette.mode?.3:.23;return(0,aF.jsx)(bg.Ay,{"data-conversation-id":a.id,"data-conversation-origin":m.key,disablePadding:!0,secondaryAction:(0,aF.jsxs)(aL.default,{className:"conversation-card-actions",sx:w?{display:"flex",zIndex:2,gap:.25,opacity:+!!k,transition:"opacity 160ms ease",bgcolor:(0,bT.X4)(u.palette.background.paper,.72),borderRadius:2,backdropFilter:"blur(12px)","& .MuiIconButton-root":{width:30,height:30}}:{display:"flex"},children:[f&&(0,aF.jsx)(aQ.A,{title:r("chat.history.stop"),children:(0,aF.jsx)(aR.A,{edge:"end",size:"small","aria-label":r("chat.history.stop"),onClick:b=>{b.stopPropagation(),l(a.id)},children:(0,aF.jsx)(a8,{color:"error",fontSize:"small"})})}),(0,aF.jsx)(bN.A,{target:{kind:"conversation",id:a.id}}),(0,aF.jsx)(aQ.A,{title:r("chat.history.delete"),children:(0,aF.jsx)(aR.A,{edge:"end",size:"small","aria-label":r("chat.history.delete"),disabled:E===a.id,onClick:b=>{b.stopPropagation(),a6(a)},children:E===a.id?(0,aF.jsx)(aN.default,{size:16}):(0,aF.jsx)(bq.A,{fontSize:"small"})})})]}),sx:w?{position:"relative",mb:.9,border:"1px solid",borderColor:k?(0,bT.X4)(q,.68):(0,bT.X4)(q,.32),borderRadius:2.5,overflow:"hidden",opacity:1,bgcolor:(0,bT.X4)(u.palette.background.paper,"dark"===u.palette.mode?.72:.82),backgroundImage:(c=(0,bT.X4)(q,v),d=(0,bT.X4)(s,v),`linear-gradient(90deg, ${c} 0%, ${c} 90%, ${d} 90%, ${d} 100%)`),boxShadow:k?`0 10px 30px ${(0,bT.X4)(q,.24)}`:`0 5px 20px ${(0,bT.X4)(q,"dark"===u.palette.mode?.12:.08)}`,transition:"transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease","&::before":{content:'""',position:"absolute",inset:"10px auto 10px 0",width:k?4:3,borderRadius:"0 4px 4px 0",bgcolor:q},"&::after":{content:'""',position:"absolute",zIndex:0,top:0,bottom:0,left:"90%",width:1,bgcolor:(0,bT.X4)(s,.5),pointerEvents:"none"},"&:hover":{transform:"translateY(-1px)",borderColor:(0,bT.X4)(q,.58),boxShadow:`0 10px 28px ${(0,bT.X4)(q,"dark"===u.palette.mode?.2:.14)}`,"& .conversation-card-actions":{opacity:1}},"&:focus-within .conversation-card-actions":{opacity:1},"@media (hover: none)":{"& .conversation-card-actions":{opacity:1}},"& > .MuiListItemSecondaryAction-root":{zIndex:2}}:{opacity:k?1:.7,"& > .MuiListItemSecondaryAction-root":{zIndex:2}},children:(0,aF.jsx)(bh.A,{selected:k,onClick:()=>i(a.id),"aria-label":r("chat.history.openAria",{title:a.title,origin:n,status:(a=>{switch(a){case"running":return r("chat.status.processing");case"awaiting_tool_approval":return r("chat.status.waitingTooltip");case"paused_debug":return r("chat.status.pausedTooltip");case"completed":return r("chat.status.completed");case"capped":return r("chat.status.capped");case"error":return r("chat.status.error");default:return""}})(a.status)||r("chat.history.unknown")}),sx:{position:"relative",zIndex:1,pr:f?12:7,px:w?1.5:2,py:w?1.25:1,alignItems:"flex-start",borderRadius:"inherit","&.Mui-selected":{bgcolor:"transparent"},"&.Mui-selected:hover":{bgcolor:(0,bT.X4)(u.palette.primary.main,.04)}},children:(0,aF.jsx)(bi.A,{sx:{my:0,minWidth:0},primary:(0,aF.jsx)(aL.default,{sx:{display:"flex",alignItems:"center"},children:(0,aF.jsx)(aQ.A,{title:a.title,enterDelay:500,children:(0,aF.jsx)(aP.A,{component:"span",fontWeight:k?760:w?650:"normal",sx:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",wordBreak:"break-word",fontSize:w?"0.9rem":void 0,lineHeight:w?1.35:void 0},children:a.title})})}),secondary:(0,aF.jsxs)(aL.default,{component:"span",sx:{display:"flex",alignItems:"center",gap:.75,mt:.8,flexWrap:"wrap"},children:["origin"!==T&&(0,aF.jsx)(aQ.A,{title:`${o}${m.inferred?` (${r("chat.history.inferred")})`:""}`,children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(p,{}),label:n,size:"small",variant:"outlined",sx:{height:w?22:20,color:w?q:void 0,borderColor:w?(0,bT.X4)(q,.72):void 0,bgcolor:w?(0,bT.X4)(q,.13):void 0,"& .MuiChip-icon":{fontSize:14,color:w?q:void 0},"& .MuiChip-label":{px:.75,fontSize:"0.68rem",fontWeight:w?700:500}}})}),e&&(0,aF.jsx)(aQ.A,{title:r("chat.chain.detachedHelp"),children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(bI,{}),label:r("chat.chain.detached"),size:"small",variant:"outlined",sx:{height:w?22:20,color:u.palette.text.secondary,borderColor:(0,bT.X4)(u.palette.text.secondary,.45),borderStyle:"dashed","& .MuiChip-icon":{fontSize:14,color:u.palette.text.secondary},"& .MuiChip-label":{px:.75,fontSize:"0.68rem",fontWeight:w?700:500}}})}),"flow"!==T&&(0,aF.jsx)(aQ.A,{title:j?r("chat.history.quickNoAgent"):r("chat.history.agentNamed",{agent:h.label}),children:(0,aF.jsx)(aU.A,{icon:j?(0,aF.jsx)(a3.A,{}):void 0,label:h.label,size:"small",variant:"outlined",color:j?"secondary":"default",sx:{maxWidth:"100%",height:w?22:20,"& .MuiChip-icon":{fontSize:14},"& .MuiChip-label":{px:.75,fontSize:"0.68rem"}}})}),(0,aF.jsxs)(aL.default,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.35,ml:"auto"},children:[w&&(0,aF.jsx)(bH,{"aria-hidden":"true",sx:{fontSize:13,color:"text.disabled"}}),(0,aF.jsx)(aP.A,{component:"span",variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:t(a.updatedAt,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]})]}),secondaryTypographyProps:{component:"div"}})})},a.id)},a0=af.length>0,a1=Q===ag,a2=a0&&!ah&&!a1,a4=a0?ah?.total??0:b,a5=au.length,a6=async d=>{if(E)return;F(d.id);let e=new Set(function(a,b){let c=new Map;for(let b of a){let a=b.parentConversationId;if(!a||a===b.id)continue;let d=c.get(a)??[];d.push(b.id),c.set(a,d)}let d=new Set,e=[...c.get(b)??[]];for(;e.length>0;){let a=e.pop();a===b||d.has(a)||(d.add(a),e.push(...c.get(a)??[]))}return[...d]}(Array.from(new Map([...a,...ai].map(a=>[a.id,a])).values()),d.id)),f=!c&&a.length>=b;try{f||(await b0.O.listAllConversationPages({descendantsOf:d.id})).forEach(a=>e.add(a.id));let a=[...e];if(0===a.length)return void j(d.id);H({open:!0,parent:d,descendantIds:a,lookupFailed:!1})}catch{H({open:!0,parent:d,descendantIds:[...e],lookupFailed:!0})}finally{F(null)}},a7=async()=>{D(!0);try{let b=f?await f():a;B({open:!0,ids:b.map(a=>a.id),label:s("chat.history.deleteAllQuestion",b.length)})}finally{D(!1)}},ba=async()=>{D(!0);try{let b=a0?await b0.O.listAllConversationPages({search:af,dimension:I,..."all"!==_?{origin:_}:{}}):f?await f():a,c=at(b);B({open:!0,ids:c.map(a=>a.id),label:s("chat.history.deleteVisibleQuestion",c.length)})}finally{D(!1)}};return(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsxs)(aL.default,{sx:{p:w?2:1.5,display:"flex",justifyContent:"space-between",alignItems:"center",gap:w?1:.7,background:w?`linear-gradient(135deg, ${(0,bT.X4)(u.palette.primary.main,.14)}, ${(0,bT.X4)(u.palette.secondary.main,.05)} 58%, transparent)`:"linear-gradient(120deg, rgba(139,124,255,.09), transparent 62%)"},children:[o&&(0,aF.jsx)(aQ.A,{title:p?r("chat.history.expand"):r("chat.history.collapse"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:o,"aria-label":p?r("chat.history.expand"):r("chat.history.collapse"),children:(0,aF.jsx)(a9,{})})}),(0,aF.jsxs)(aL.default,{sx:{flex:1,minWidth:0},children:[(0,aF.jsx)(aP.A,{variant:"caption",sx:{display:"block",color:"primary.light",fontWeight:760,letterSpacing:".1em"},children:r("chat.history.agentRuns")}),(0,aF.jsx)(aP.A,{variant:"h6",noWrap:!0,children:r("chat.history.title")})]}),b>0&&(0,aF.jsx)(aQ.A,{title:r("chat.history.deleteAll"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",color:"error","aria-label":r("chat.history.deleteAll"),disabled:C,onClick:()=>void a7(),children:(0,aF.jsx)(bw,{fontSize:"small"})})})}),au.length>0&&(a0||aO>0)&&(0,aF.jsx)(aQ.A,{title:r("chat.history.deleteVisible"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",color:"error","aria-label":r("chat.history.deleteVisible"),disabled:C,onClick:()=>void ba(),children:(0,aF.jsx)(bx,{fontSize:"small"})})})}),n&&(0,aF.jsx)(aQ.A,{title:r("chat.history.quickHelp"),children:(0,aF.jsx)(aM.A,{variant:"outlined",color:"primary",startIcon:(0,aF.jsx)(a3.A,{}),onClick:n,size:"small",children:r("chat.history.quick")})}),(0,aF.jsx)(aM.A,{variant:"contained",color:"primary",startIcon:(0,aF.jsx)(br.A,{}),onClick:m,size:"small",children:r("chat.history.new")})]}),(0,aF.jsx)(bj.A,{}),(0,aF.jsxs)(aL.default,{sx:{px:1.5,pt:1.5,pb:1.2,display:"flex",flexDirection:"column",gap:1,bgcolor:w?(0,bT.X4)(u.palette.background.paper,.22):"rgba(127,127,160,.035)"},children:[(0,aF.jsx)(b1.A,{mode:"container",children:(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:1},children:[(0,aF.jsx)(aT.A,{size:"small",sx:{flex:1},inputRef:z,placeholder:"content"===I?r("chat.history.searchContent"):r("chat.history.searchTitle"),value:x,onChange:a=>y(a.target.value),InputProps:{startAdornment:(0,aF.jsx)(bk.A,{position:"start",children:(0,aF.jsx)(bs.A,{fontSize:"small"})}),endAdornment:x||M?(0,aF.jsxs)(bk.A,{position:"end",children:[M&&(0,aF.jsx)(aN.default,{size:16,"aria-label":r("chat.history.searching")}),x&&(0,aF.jsx)(aR.A,{size:"small","aria-label":r("chat.history.clearSearch"),onClick:()=>y(""),children:(0,aF.jsx)(bt.A,{fontSize:"small"})})]}):void 0}}),(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:100},children:(0,aF.jsxs)(bm.A,{value:I,onChange:a=>J(a.target.value),inputProps:{"aria-label":r("chat.history.searchDimension")},children:[(0,aF.jsx)(bn.A,{value:"title",children:r("chat.history.searchTitleOption")}),(0,aF.jsx)(bn.A,{value:"content",children:r("chat.history.searchContentOption")})]})})]})}),(0,aF.jsxs)(aM.A,{size:"small",color:"inherit",startIcon:(0,aF.jsx)(bJ,{}),endIcon:ab?(0,aF.jsx)(bv.A,{}):(0,aF.jsx)(bu.A,{}),"aria-expanded":ab,"aria-controls":"chat-sidebar-filter-controls",onClick:()=>ac(a=>!a),sx:{alignSelf:"stretch",justifyContent:"flex-start",color:"text.secondary"},children:[r("chat.history.filters"),aS>0&&(0,aF.jsx)(aU.A,{label:aS,size:"small",color:"primary",sx:{ml:1,height:20,"& .MuiChip-label":{px:.75}}})]}),(0,aF.jsx)(bo.A,{in:ab,timeout:"auto",children:(0,aF.jsxs)(aL.default,{id:"chat-sidebar-filter-controls",sx:{display:"flex",flexWrap:"wrap",gap:1},children:[(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bm.A,{value:T,onChange:a=>U(a.target.value),inputProps:{"aria-label":r("chat.history.groupAria")},children:b5.map(a=>(0,aF.jsx)(bn.A,{value:a,children:{none:r("chat.group.none"),date:r("chat.group.date"),flow:r("chat.group.agent"),origin:r("chat.group.origin"),wave:r("chat.group.wave"),chain:r("chat.group.chain")}[a]},a))})}),(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bm.A,{value:V,onChange:a=>W(a.target.value),inputProps:{"aria-label":r("chat.history.filterStatus")},children:b3.map(a=>(0,aF.jsx)(bn.A,{value:a,children:{all:r("chat.status.any"),running:r("chat.status.processing"),awaiting_tool_approval:r("chat.status.awaiting"),paused_debug:r("chat.status.paused"),completed:r("chat.status.completed"),capped:r("chat.status.capped"),error:r("chat.status.error")}[a]},a))})}),(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsxs)(bm.A,{value:as.some(a=>a.key===X)?X:"all",onChange:a=>Y(a.target.value),inputProps:{"aria-label":r("chat.history.filterAgent")},children:[(0,aF.jsx)(bn.A,{value:"all",children:r("chat.history.anyAgent")}),as.map(a=>(0,aF.jsx)(bn.A,{value:a.key,children:a.label},a.key))]})}),(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bm.A,{value:_,onChange:a=>aa(a.target.value),inputProps:{"aria-label":r("chat.history.filterOrigin")},children:b6.map(a=>(0,aF.jsx)(bn.A,{value:a,children:aq(a)},a))})}),(0,aF.jsx)(bl.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bm.A,{value:Z,onChange:a=>$(a.target.value),inputProps:{"aria-label":r("chat.history.filterDate")},children:b4.map(a=>(0,aF.jsx)(bn.A,{value:a,children:{all:r("chat.date.any"),today:r("chat.date.day"),"7d":r("chat.date.week"),"30d":r("chat.date.month")}[a]},a))})})]})}),(a0||aO>0)&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:a2||M?r("chat.history.searching"):a1?r("chat.history.searchFailed"):r("chat.history.matchCount",{shown:a5,total:a4})}),(0,aF.jsx)(aM.A,{size:"small",onClick:()=>{y(""),W("all"),Y("all"),aa("all"),$("all")},children:r("chat.history.clearFilters")})]})]}),(0,aF.jsx)(bj.A,{}),aD&&(0,aF.jsxs)(aL.default,{sx:{px:1.5,py:.75,display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,bgcolor:(0,bT.X4)(u.palette.primary.main,w?.055:.025)},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{fontWeight:700},children:r("chat.chain.hierarchy")}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:.5},children:[(0,aF.jsx)(aM.A,{size:"small",startIcon:(0,aF.jsx)(bK,{}),onClick:()=>aC(!0),children:r("chat.chain.expandAll")}),(0,aF.jsx)(aM.A,{size:"small",startIcon:(0,aF.jsx)(bL,{}),onClick:()=>aC(!1),children:r("chat.chain.collapseAll")})]})]}),(0,aF.jsxs)(bp.A,{ref:aE,"aria-label":r("chat.history.title"),"aria-busy":a2||M||O,sx:{overflow:"auto",flex:1,px:w?1.25:1,py:w?1.5:1,scrollbarGutter:"stable"},children:[a2||M?(0,aF.jsxs)(bg.Ay,{sx:{justifyContent:"center",gap:1,py:3},children:[(0,aF.jsx)(aN.default,{size:18}),(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",children:r("chat.history.searching")})]}):a1&&0===ai.length?(0,aF.jsx)(bg.Ay,{children:(0,aF.jsx)(bi.A,{primary:r("chat.history.searchFailed"),secondary:r("chat.history.searchFailedHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}):a0||0!==a4?0===a5?(0,aF.jsx)(bg.Ay,{children:(0,aF.jsx)(bi.A,{primary:r("chat.history.noMatch"),secondary:r("chat.history.noMatchHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}):"chain"===T?(0,aF.jsx)(bV,{nodes:aw.roots,childrenByParent:aw.childrenByParent,renderItem:a=>a_(a,{detached:aw.detachedIds.has(a.id)}),expanded:ax,onToggle:az}):"none"===T?au.map(a=>a_(a)):av.map(a=>{let b=!!ad[a.key],c="wave"===T?aA.get(a.key):void 0;return(0,aF.jsxs)(aL.default,{children:[(0,aF.jsxs)(bh.A,{onClick:()=>{var b;return b=a.key,void ae(a=>({...a,[b]:!a[b]}))},sx:{py:.5,bgcolor:"action.hover"},children:[b?(0,aF.jsx)(bu.A,{fontSize:"small"}):(0,aF.jsx)(bv.A,{fontSize:"small"}),(0,aF.jsx)(aP.A,{variant:"overline",sx:{ml:.5,flex:1,lineHeight:1.6},noWrap:!0,children:a.label}),(0,aF.jsx)(aU.A,{label:a.items.length,size:"small",sx:{height:18,"& .MuiChip-label":{px:.75,fontSize:"0.7rem"}}})]}),(0,aF.jsx)(bo.A,{in:!b,timeout:"auto",unmountOnExit:!0,children:c?(0,aF.jsx)(bV,{nodes:c.roots,childrenByParent:c.childrenByParent,renderItem:a=>a_(a,{detached:c.detachedIds.has(a.id)}),expanded:ax,onToggle:az}):a.items.map(a=>a_(a))})]},a.key)}):(0,aF.jsx)(bg.Ay,{children:(0,aF.jsx)(bi.A,{primary:r("chat.history.empty"),secondary:r("chat.history.emptyHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}),a0&&ah?.hasMore&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",py:1.5},children:(0,aF.jsx)(aM.A,{size:"small",variant:"outlined",disabled:O,startIcon:O?(0,aF.jsx)(aN.default,{size:14}):void 0,onClick:()=>void an(),children:r("chat.history.loadMore")})}),!a0&&c&&e&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",py:1.5},children:(0,aF.jsx)(aM.A,{size:"small",variant:"outlined",disabled:d,startIcon:d?(0,aF.jsx)(aN.default,{size:14}):void 0,onClick:()=>void e(),children:r("chat.history.loadMore")})})]}),(0,aF.jsxs)(aV.A,{open:G.open,onClose:()=>H(a=>({...a,open:!1})),"aria-labelledby":"delete-family-dialog-title",children:[(0,aF.jsx)(aW.A,{id:"delete-family-dialog-title",children:r("chat.history.deleteFamilyTitle")}),(0,aF.jsx)(aX.A,{children:(0,aF.jsx)(aY.A,{children:G.lookupFailed?r("chat.history.deleteFamilyLookupFailed"):r("chat.history.deleteFamilyQuestion",{title:G.parent?.title??"",count:G.descendantIds.length})})}),(0,aF.jsxs)(aZ.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>H(a=>({...a,open:!1})),children:r("common.cancel")}),!G.lookupFailed&&G.parent&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aM.A,{color:"error",onClick:()=>{let a=G.parent.id;H(a=>({...a,open:!1})),j(a)},children:r("chat.history.deleteParentOnly")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"error",onClick:()=>{let a=[G.parent.id,...G.descendantIds];H(a=>({...a,open:!1})),k(a)},children:r("chat.history.deleteFamilyAction",{count:G.descendantIds.length})})]})]})]}),(0,aF.jsxs)(aV.A,{open:A.open,onClose:()=>B(a=>({...a,open:!1})),"aria-labelledby":"bulk-delete-dialog-title",children:[(0,aF.jsx)(aW.A,{id:"bulk-delete-dialog-title",children:r("chat.history.confirmDelete")}),(0,aF.jsx)(aX.A,{children:(0,aF.jsxs)(aY.A,{children:[A.label," ",r("chat.history.cannotUndo")]})}),(0,aF.jsxs)(aZ.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>B(a=>({...a,open:!1})),children:r("common.cancel")}),(0,aF.jsx)(aM.A,{color:"error",onClick:async()=>{B(a=>({...a,open:!1})),await k(A.ids)},autoFocus:!0,children:r("chat.history.deleteAction")})]})]})]})});var b9=c(66417),ca=c(32105),cb=c(50025),cc=c(2247),cd=c(19290),ce=c(30193),cf=c(58137);let cg=(0,a7.A)((0,aF.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),ch=(0,a7.A)((0,aF.jsx)("path",{d:"M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6z"}),"KeyboardArrowLeft"),ci=(0,a7.A)((0,aF.jsx)("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight");var cj=c(68641),ck=c(62436),cl=c(38285),cm=c(15380);let cn=(a,b,c)=>Math.min(Math.max(a,b),Math.max(b,c));function co(a,b){return 1===a.length&&a.every(a=>{let c=b[a]??[];return c.includes("pip")&&c.includes("fullscreen")})}let cp=({conversationId:a,persistenceId:b,appOwnerScopePrefix:c,viewportDocked:d=!1,entries:e,activeKey:f,onSelectTab:g,onCloseTab:h,onAppMessage:i,onUpdateModelContext:j,onRegisterTeardown:k,onLayoutChange:l,onCollapseChange:m,onCloseAll:n})=>{let{t:o}=(0,bU.s9)(),p=(0,a$.A)(),q=(0,aK.A)(p.breakpoints.down("md")),r=(0,aG.useRef)(null),s=b??a??"standalone",t=b?`flujo-mcp-canvas-placement:${b}`:"flujo-mcp-canvas-placement",u=b?`flujo-mcp-canvas-height:${b}`:"flujo-mcp-canvas-height",v=b?`flujo-mcp-canvas-width:${b}`:"flujo-mcp-canvas-width",[w,x]=(0,bS.Io)(`flujo-ui:mcp-canvas:collapsed:${s}`,!1),y=(0,aG.useRef)(m);(0,aG.useEffect)(()=>{y.current=m},[m]);let z=(0,aG.useCallback)(a=>{x(b=>{let c="function"==typeof a?a(b):a;return c!==b&&y.current?.(c),c})},[x]),[A,B]=(0,aG.useState)(!1),[C,D]=(0,aG.useState)(()=>"bottom"),[E,F]=(0,aG.useState)(()=>440),[G,H]=(0,aG.useState)(()=>560),[I,J]=(0,aG.useState)(null),[K,L]=(0,aG.useState)({}),{activeCursor:M,startPointerDrag:N}=(0,cm.LI)(),[O,P]=(0,aG.useState)([]),Q=(0,aG.useMemo)(()=>new Set(e.map(a=>a.key)),[e]),R=(0,aG.useMemo)(()=>O.filter(a=>Q.has(a)),[O,Q]),S=(0,aG.useMemo)(()=>R.length>0?R:f?[f]:[],[R,f]),T=(0,aG.useMemo)(()=>new Set(S),[S]),U=(0,aG.useMemo)(()=>co(S,K),[K,S]),V=Math.max(1,Math.ceil(Math.sqrt(S.length)));(0,aG.useEffect)(()=>{L(a=>{let b=Object.fromEntries(Object.entries(a).filter(([a])=>Q.has(a)));return Object.keys(b).length===Object.keys(a).length?a:b})},[Q]),(0,aG.useEffect)(()=>{A&&!U&&B(!1)},[A,U]),(0,aG.useEffect)(()=>{},[C,t]),(0,aG.useEffect)(()=>{},[E,u]),(0,aG.useEffect)(()=>{},[G,v]),(0,aG.useEffect)(()=>{let a=d&&q?"bottom":C,b=e.length>0&&!A&&!w&&(!q||d),c="top"===a||d&&"bottom"===a;l?.({placement:a,reservedWidth:b&&("left"===a||"right"===a)?G:0,reservedHeight:b&&c?E:0})},[w,q,E,G,e.length,A,l,C,d]),(0,aG.useEffect)(()=>{},[A]);let W=(0,aG.useCallback)(()=>{B(!0),z(!1)},[]),X=(0,aG.useCallback)(()=>{A?B(!1):W()},[W,A]),Y=(0,aG.useCallback)(a=>{if(A||!r.current)return;let b=q?"bottom":C,c=a.clientX,d=a.clientY,e=r.current.getBoundingClientRect(),f=r.current.parentElement?.getBoundingClientRect(),g=Math.max(240,(f?.height??window.innerHeight)*.82),h=Math.max(320,(f?.width??window.innerWidth)-320);N(a,"top"===b||"bottom"===b?"ns-resize":"ew-resize",a=>{"bottom"===b?F(cn(e.height+d-a.clientY,240,g)):"top"===b?F(cn(e.height+a.clientY-d,240,g)):"left"===b?H(cn(e.width+a.clientX-c,320,h)):H(cn(e.width+c-a.clientX,320,h))})},[q,A,C,N]),Z=(0,aG.useCallback)(a=>{if(!A||!r.current||a.target.closest('button,[role="button"]'))return;a.preventDefault();let b=r.current.getBoundingClientRect(),c=a.clientX,d=a.clientY;N(a,"move",a=>{J({...(0,cm.RA)({x:b.left+a.clientX-c,y:b.top+a.clientY-d},{width:b.width,height:b.height},{width:window.innerWidth,height:window.innerHeight}),width:b.width,height:b.height})})},[A,N]),$=(0,aG.useCallback)((a,b,c)=>{if(!A||!r.current)return;let d=r.current.getBoundingClientRect(),e={x:d.left,y:d.top,width:d.width,height:d.height},f=a.clientX,g=a.clientY;N(a,c,a=>{J((0,cm.hU)(e,b,a.clientX-f,a.clientY-g,{width:window.innerWidth,height:window.innerHeight},{width:Math.min(480,window.innerWidth),height:Math.min(320,window.innerHeight)}))})},[A,N]),_=(0,cm.ri)(r,A);if(0===e.length)return null;let aa=a=>{A&&!co([a],K)&&B(!1),g(a)},ab=q?"bottom":C,ac=w&&!A&&!q&&("left"===ab||"right"===ab),ad=a=>{C!==a?(D(a),w&&z(!1)):z(a=>!a)},ae="calc(var(--app-bar-height) + var(--active-subnav-height))",af="calc(100dvh - var(--app-bar-height) - var(--active-subnav-height))",ag=`min(${E}px, ${af})`;return(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsxs)(aL.default,{ref:r,"data-testid":"dev-canvas-dock",sx:{border:1,borderColor:"divider",bgcolor:"background.paper",display:"flex",flexDirection:"column",minHeight:0,overflow:"hidden",...A?{position:"fixed",left:(I?.x??16)-_.x,top:(I?.y??16)-_.y,width:I?.width??"calc(100vw - 32px)",height:I?.height??"calc(100vh - 32px)",minWidth:"min(480px, 100vw)",minHeight:"min(320px, 100vh)",maxWidth:"100vw",maxHeight:"100vh",zIndex:1300,borderRadius:1,boxShadow:6}:d?"left"===ab||"right"===ab?{position:"fixed",top:ae,bottom:0,[ab]:0,width:ac?40:`min(${G}px, calc(100vw - 320px))`,height:"auto",zIndex:p.zIndex.appBar-1,borderRadius:0,boxShadow:"none",..."left"===ab?{borderLeft:0}:{borderRight:0}}:{position:"fixed",left:0,right:0,[ab]:"top"===ab?ae:0,width:"100%",height:w?"auto":ag,maxHeight:af,zIndex:p.zIndex.appBar-1,borderRadius:0,boxShadow:"none",borderLeft:0,borderRight:0}:"bottom"===ab?{position:"relative",width:"100%",height:w?"auto":E,maxHeight:"82vh",flexShrink:0,borderLeft:0,borderRight:0}:"top"===ab?{position:"absolute",top:0,left:0,right:0,width:"100%",height:w?"auto":E,maxHeight:"82vh",zIndex:5,borderRadius:0,boxShadow:"none",borderLeft:0,borderRight:0}:{position:"absolute",top:0,bottom:0,[ab]:0,width:ac?40:`min(${G}px, calc(100% - 320px))`,height:"auto",zIndex:5,borderRadius:0,boxShadow:"none",..."left"===ab?{borderLeft:0}:{borderRight:0}}},children:[!A&&!w&&(0,aF.jsx)(aL.default,{role:"separator",tabIndex:0,"aria-orientation":"top"===ab||"bottom"===ab?"horizontal":"vertical","aria-label":o("chat.canvas.resize"),onPointerDown:Y,sx:{position:"absolute",zIndex:4,..."bottom"===ab?{top:0,left:0,right:0,height:7,cursor:"row-resize"}:"top"===ab?{bottom:0,left:0,right:0,height:7,cursor:"row-resize"}:"left"===ab?{right:0,top:0,bottom:0,width:7,cursor:"col-resize"}:{left:0,top:0,bottom:0,width:7,cursor:"col-resize"},"&:hover, &:focus-visible":{bgcolor:"primary.main"},touchAction:"none"}}),A&&(0,aF.jsx)(cm.y1,{label:o("chat.canvas.resize"),onResizeStart:$}),(0,aF.jsxs)(aL.default,{onPointerDown:Z,sx:{display:"flex",flexDirection:ac?"column":"row",alignItems:"center",gap:.5,px:ac?.5:1,py:.5,bgcolor:"action.hover",cursor:A?"move":"default",userSelect:"none"},children:[(0,aF.jsx)(aQ.A,{title:ac?o("chat.canvas.expand"):"",children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25*!!ac},disabled:!ac,onClick:ac?()=>z(!1):void 0,"aria-label":ac?o("chat.canvas.expand"):void 0,children:(0,aF.jsx)(cb.A,{color:"primary",badgeContent:e.length,max:9,invisible:!ac||0===e.length,children:(0,aF.jsx)(cc.A,{fontSize:"small",color:"primary"})})})})}),!ac&&(0,aF.jsx)(aP.A,{variant:"caption",sx:{fontWeight:600,mr:1},children:o("chat.canvas.title")}),!ac&&(0,aF.jsx)(aL.default,{role:"tablist","aria-label":o("chat.canvas.title"),sx:{display:"flex",gap:.5,overflowX:"auto",flex:1,minWidth:0},children:e.map(a=>{var b;let c=a.key===f,d=R.includes(a.key);return(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,px:1,py:.25,borderRadius:1,whiteSpace:"nowrap",border:1,borderColor:c?"primary.main":"divider",bgcolor:c?"action.selected":"transparent"},title:`${a.serverName} — ${a.uri}`,children:[(0,aF.jsxs)(aL.default,{component:"button",type:"button",role:"tab",tabIndex:c?0:-1,"aria-selected":c,onClick:()=>aa(a.key),onKeyDown:b=>((a,b)=>{let c=e.findIndex(a=>a.key===b);if(c<0)return;let d=null;if("ArrowLeft"===a.key?d=(c-1+e.length)%e.length:"ArrowRight"===a.key?d=(c+1)%e.length:"Home"===a.key?d=0:"End"===a.key&&(d=e.length-1),null===d||d===c)return;a.preventDefault(),a.stopPropagation();let f=a.currentTarget.closest('[role="tablist"]')?.querySelectorAll('[role="tab"]');f?.[d]?.focus(),aa(e[d].key)})(b,a.key),sx:{appearance:"none",display:"flex",alignItems:"center",gap:.5,minWidth:0,p:0,border:0,color:"inherit",bgcolor:"transparent",font:"inherit",cursor:"pointer","&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:1,borderRadius:.5}},children:[(0,aF.jsx)(cb.A,{color:"primary",variant:"dot",invisible:!a.unread,children:(0,aF.jsx)(aP.A,{variant:"caption",sx:{fontWeight:c?600:400},children:(b=a.uri).replace(/\/+$/,"").split("/").pop()||b})}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{fontSize:"0.65rem"},children:a.serverName})]}),(0,aF.jsx)(aQ.A,{title:d?o("chat.canvas.removeSplit"):o("chat.canvas.addSplit"),children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25},color:d?"primary":"default",onClick:b=>{var c;b.stopPropagation(),c=a.key,A&&B(!1),P(a=>a.includes(c)?a.filter(a=>a!==c):[...a,c])},"aria-label":o("chat.canvas.toggleSplit"),children:(0,aF.jsx)(cg,{sx:{fontSize:14}})})}),(0,aF.jsx)(aQ.A,{title:o("common.close"),children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25},onClick:b=>{b.stopPropagation(),h(a.key)},"aria-label":o("chat.canvas.closeTab"),children:(0,aF.jsx)(cd.A,{sx:{fontSize:14}})})})]},a.key)})}),!A&&!ac&&!q&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center"},children:[(0,aF.jsx)(aQ.A,{title:"left"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockLeft"),children:(0,aF.jsx)(aR.A,{size:"small",color:"left"===C?"primary":"default",onClick:()=>ad("left"),"aria-label":"left"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockLeft"),children:(0,aF.jsx)(ch,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"top"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockTop"),children:(0,aF.jsx)(aR.A,{size:"small",color:"top"===C?"primary":"default",onClick:()=>ad("top"),"aria-label":"top"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockTop"),children:(0,aF.jsx)(cj.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"bottom"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockBottom"),children:(0,aF.jsx)(aR.A,{size:"small",color:"bottom"===C?"primary":"default",onClick:()=>ad("bottom"),"aria-label":"bottom"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockBottom"),children:(0,aF.jsx)(ck.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"right"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockRight"),children:(0,aF.jsx)(aR.A,{size:"small",color:"right"===C?"primary":"default",onClick:()=>ad("right"),"aria-label":"right"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockRight"),children:(0,aF.jsx)(ci,{fontSize:"small"})})})]}),!ac&&(0,aF.jsx)(aQ.A,{title:A?o("chat.canvas.exitFullscreen"):U?o("chat.canvas.fullscreen"):o("chat.canvas.fullscreenUnavailable"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",disabled:!A&&!U,onClick:X,"aria-label":o("chat.canvas.toggleFullscreen"),children:A?(0,aF.jsx)(cf.A,{fontSize:"small"}):(0,aF.jsx)(ce.A,{fontSize:"small"})})})}),n&&(0,aF.jsx)(aQ.A,{title:o("chat.canvas.closeAll"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>{A&&B(!1),n?.()},"aria-label":o("chat.canvas.closeAll"),children:(0,aF.jsx)(cd.A,{fontSize:"small"})})})]}),(0,aF.jsx)(aL.default,{sx:{display:w?"none":"grid",position:"relative",gridTemplateColumns:`repeat(${V}, minmax(0, 1fr))`,gap:1,p:1,flex:1,height:"auto",minHeight:0,overflow:"hidden"},children:e.map(b=>{let d=!w&&T.has(b.key);return(0,aF.jsx)(aL.default,{sx:{display:"flex",...d?{position:"relative"}:{position:"absolute",inset:0,visibility:"hidden",pointerEvents:"none"},flexDirection:"column",minHeight:0,border:1,borderColor:"divider",borderRadius:1,overflow:"hidden",bgcolor:"dark"===p.palette.mode?"#111":"#fff"},children:(0,aF.jsx)(cl.Ay,{docked:!0,visible:d,conversationId:a,ownerScopeId:c?`${c}:${b.key}`:void 0,serverName:b.serverName,uri:b.uri,toolName:b.toolName,toolArgs:b.latestToolArgs,toolResultContent:b.latestResultContent,toolCancelledReason:b.latestToolCancelledReason,toolIsError:b.latestToolIsError,toolUpdateId:b.latestToolUpdateId??b.updatedAt,onAppMessage:i,onUpdateModelContext:j,hostDisplayMode:A&&d?"fullscreen":"pip",onAvailableDisplayModes:a=>{L(c=>{let d=c[b.key]??[];return d.length===a.length&&d.every((b,c)=>b===a[c])?c:{...c,[b.key]:a}})},onRequestDisplayMode:(a,c)=>{var d;let e;return d=b.key,a===(e=A&&T.has(d)?"fullscreen":"pip")?e:"fullscreen"===a&&1===S.length&&S[0]===d&&c.includes("pip")&&c.includes("fullscreen")?(W(),"fullscreen"):"pip"===a&&"fullscreen"===e&&c.includes("pip")?(B(!1),"pip"):e},onRequestClose:()=>h(b.key),onRegisterTeardown:(a,b)=>{k?.(s,a,b)}})},b.key)})})]}),(0,aF.jsx)(cm.Fy,{cursor:M})]})};var cq=c(40421);function cr(a,b){if(!(b in a))return a;let c={...a};return delete c[b],c}function cs(a,b,c){let d=a[b]??[],e=d.filter(a=>a.id!==c);if(e.length===d.length)return a;let f={...a};return e.length>0?f[b]=e:delete f[b],f}var ct=c(75640),cu=c(77078),cv=c(54357);let cw={byIndex:{}};function cx(a,b,c){for(let d=0;d<b;d++)a[d]||(a[d]={laneIndex:d,laneCount:b,label:`Lane ${d+1}/${b}`,status:"pending",lastEventAt:c})}let cy=["the moon janitor","a time-hopping intern","three union pigeons","the office wizard","a skeptical goldfish","the museum ghost","an off-duty oracle","the last polite pirate","a raccoon committee","the cryptid expert","a calm astronaut","the royal beekeeper","the lighthouse cat","a future detective","the backup dragon","a jetpack accountant","the submarine butler","a retired villain","the support goose","a help-desk knight","an imaginary conductor","an archaeology intern","the weather crow","a receipt philosopher"],cz=["the moon ladder","a diplomatic sock","the royal stapler","an indoor umbrella","the lunch compass","a warm snow globe","the last teaspoon","a fictional map","the folding napkin","a jar of thunder","the Wi-Fi wand","a lawyered sandwich","the spare sun","a jar of silence","the haunted printer","a load-bearing baguette","the tiny drawbridge","the wrong key","the inflatable anvil","a prophecy coupon","the reverse telescope","classified confetti","the nervous pendulum","a pocket volcano"],cA=["on the Moon","at the seafloor post office","at the Bermuda gift shop","at the Wi-Fi castle","behind the second attic","at North Pole support","on platform nine-ish","beside a black hole","inside the mood library","under the cloud","in the office kitchen","inside spreadsheet forest","at volcano reception","behind the old clock","in Lost Luggage","on the snack balcony","in the shallow moat","at the desert hotel","inside the failed museum","in lab number two","at tomorrow station","inside dragon training","on Tuesday Island","past the supply closet"],cB=["sorting moon rocks","looking for lunch","testing the fire alarm","folding space-time","counting invisible sheep","polishing the eclipse","fixing yesterday","mapping the snack drawer","questioning the compass","training the pigeons","debugging the horoscope","watering plastic plants","auditing the pirates","rewinding the sundial","interviewing a shadow","filing dragon taxes","calibrating breakfast","alphabetizing fog","measuring gossip","rehearsing the alibi","charging the crystal ball","untangling gravity","translating whale mail","backing up the Moon"],cC=["fold a fitted sheet","whistle in binary","park a gondola","alphabetize fog","moonwalk quietly","invoice a dragon","juggle theories","read the room","argue with a door","brew orbital tea","translate sarcasm","defeat a sundial","smuggle daylight","assemble a prophecy","locate north","interview tomorrow","budget on a unicycle","write in zero gravity","herd digital cats","repair a metaphor","land a paper plane","greet the abyss","exit a time loop","explain medieval taxes"],cD=["the Moon’s back door","Wednesday’s location","gravity’s fine print","the missing socks","the Morse-code plant","the speakerphone echo","the pigeon payroll","the painted horizon","the absent staircase","Tuesday’s sequel","the Gary compass","the second ocean","the dramatic copier","tomorrow’s mail","the extra five minutes","the licensed ghost","the reviewed treasure map","the hungry plot hole","the sorted stars","the sighing elevator","the thunder receipts","the lunch eclipse","the freelance mirror","the exit to 1843"],cE=["a bent paperclip","a rubber chicken","the good magnifier","one brave teaspoon","a future abacus","a cat laser","an accordion","a dishonest ruler","a memo compass","the royal whisk","a pocket sundial","two magnets","a Latin wrench","the tiny hammer","tenured tape","a crystal ball","a haunted slide rule","the backup kazoo","a gloomy spirit level","the left telescope","a stern clipboard","emergency string","a weather vane","the manual page"],cF=["the eclipse rehearsal","emergency teatime","the gravity inspection","the office moon landing","the password ceremony","yesterday’s reopening","the hiding finals","the underwater fire drill","the time-traveler meeting","the lighthouse picnic","the backup launch","the horizon retirement","the expedition talent show","bring-your-ghost night","Coincidence Day","Small Ben’s unveiling","the silent concert","the endless ribbon-cutting","the volcano open house","breakfast rehearsal","the maritime spelling bee","the ancient Wi-Fi demo","the alibi parade","the surprise-party audit"],cG=["the inspector walks in","the inventor denies it","the footnote calls","the lights blink in Morse","tomorrow asks for help","the witness appears","the smoke alarm passes","the prophecy arrives","every clock coughs","the fire drill gets real","the squirrels object","the Moon calls back","the red lever starts counting","the alibi walks past","next door repeats it","the backup plan resigns","the weather apologizes","the map says “you first”","the missing page falls out","Coincidence Day is canceled","the goose takes charge","the empty box takes notes","a comet arrives early","the narrator gets fired"],cH=["the goose approves","the timeline objects","the manual shrugs","lunch takes priority","the pigeons demand credit","the chart looks worried","the calendar resigns","history asks for a redo","the printer applauds","gravity clocks out","the map denies everything","the ghost files a claim","the budget grows a moat","the experiment gets renewed","the floor adds a door","the ducks peer-review it","management calls it tradition","confetti is deployed","the loop requests closure","a plaque is ordered","physics grants an exception","the cupboard applauds","the conclusion needs edits","the universe closes the ticket"],cI=(a,b)=>({count:a.reduce((a,b)=>a*b.length,1),render:c=>{let d=c,e=a.map(a=>{let b=a[d%a.length];return d=Math.floor(d/a.length),b});return`${b(...e)}…`}}),cJ=a=>`${a[0].toUpperCase()}${a.slice(1)}`,cK=[cI([cy,cC],(a,b)=>`Teaching ${a} to ${b}`),cI([cz,cA],(a,b)=>`Finding ${a} ${b}`),cI([cB,cH],(a,b)=>`${cJ(a)}; ${b}`),cI([cD,cE],(a,b)=>`Solving ${a} with ${b}`),cI([cz,cE],(a,b)=>`Repairing ${a} with ${b}`),cI([cF,cy],(a,b)=>`Rehearsing ${a} with ${b}`),cI([cy,cB],(a,b)=>`Helping ${a} finish ${b}`),cI([cz,cH],(a,b)=>`Showing off ${a}; ${b}`),cI([cD,cA],(a,b)=>`Investigating ${a} ${b}`),cI([cC,cE],(a,b)=>`Trying to ${a} with ${b}`),cI([cz,cG],(a,b)=>`Hiding ${a} just as ${b}`),cI([cF,cG],(a,b)=>`Starting ${a} as ${b}`),cI([cy,cz],(a,b)=>`${cJ(a)} arrives carrying ${b}`),cI([cB,cG],(a,b)=>`While ${a}, ${b}`),cI([cD,cy],(a,b)=>`Discovering ${a}; ${b} takes credit`),cI([cz,cH],(a,b)=>`Testing ${a}; ${b}`),cI([cA,cy],(a,b)=>`Arriving ${a}; ${b} was already there`),cI([cF,cG],(a,b)=>`${cJ(a)} begins moments before ${b}`),cI([cy,cD],(a,b)=>`Asking ${a} about ${b}`),cI([cC,cG],(a,b)=>`Learning to ${a} seconds before ${b}`),cI([cz,cy],(a,b)=>`Returning ${a} to ${b}`),cI([cF,cA],(a,b)=>`Booking ${a} ${b}`),cI([cD,cG],(a,b)=>`Checking ${a} when ${b}`),cI([cB,cy],(a,b)=>`${cJ(a)} with ${b}`),cI([cz,cH],(a,b)=>`Calibrating ${a}; ${b}`),cI([cF,cE],(a,b)=>`Running ${a} with ${b}`),cI([cy,cA],(a,b)=>`Following ${a} ${b}`),cI([cD,cH],(a,b)=>`Explaining ${a}; ${b}`),cI([cB,cE],(a,b)=>`${cJ(a)} with ${b}`),cI([cz,cF],(a,b)=>`Preparing ${a} for ${b}`),cI([cA,cE],(a,b)=>`Taking notes ${a} with ${b}`),cI([cy,cF],(a,b)=>`Briefing ${a} on ${b}`),cI([cz,cD],(a,b)=>`Checking ${a} against ${b}`),cI([cA,cH],(a,b)=>`Mapping ${a}; ${b}`),cI([cy,cE],(a,b)=>`Helping ${a} use ${b}`),cI([cF,cD],(a,b)=>`Linking ${a} to ${b}`),cI([cC,cy],(a,b)=>`Watching ${b} learn to ${a}`),cI([cB,cF],(a,b)=>`${cJ(a)} before ${b}`),cI([cz,cA],(a,b)=>`Delivering ${a} ${b}`),cI([cy,cA],(a,b)=>`Meeting ${a} ${b}`),cI([cD,cF],(a,b)=>`Discussing ${a} at ${b}`),cI([cC,cA],(a,b)=>`Trying to ${a} ${b}`),cI([cB,cz],(a,b)=>`${cJ(a)} around ${b}`),cI([cF,cA],(a,b)=>`Hosting ${a} ${b}`),cI([cz,cD],(a,b)=>`Comparing ${a} with ${b}`),cI([cy,cG],(a,b)=>`Meeting ${a} just as ${b}`),cI([cE,cH],(a,b)=>`Pointing ${a} north; ${b}`),cI([cC,cF],(a,b)=>`Practicing how to ${a} at ${b}`)];cK.reduce((a,b)=>a+b.count,0);let cL=(a,b)=>{let c=Math.abs(a),d=Math.abs(b);for(;0!==d;)[c,d]=[d,c%d];return c},cM=a=>{let b=0|a;return((b=Math.imul((b=Math.imul(b^b>>>16,0x21f0aaad))^b>>>15,0x735a2d97))^b>>>15)>>>0},cN=(a,b)=>{let c=cM(b)%(a-1)+1;for(;1!==cL(c,a);)c=c%(a-1)+1;return c},cO=({lane:a,onOpenLane:b})=>{let{t:c}=(0,bU.s9)(),d=!!a.laneConversationId&&!!b,e="pending"===a.status;return(0,aF.jsxs)(aL.default,{onClick:d?()=>b(a.laneConversationId):void 0,sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.25,borderRadius:1,...d&&{cursor:"pointer","&:hover":{bgcolor:"action.hover",textDecoration:"underline"}}},children:["running"===a.status&&(0,aF.jsx)(aN.default,{size:14,sx:{flexShrink:0}}),"completed"===a.status&&(0,aF.jsx)(a5.A,{sx:{fontSize:16,flexShrink:0},color:"success"}),"error"===a.status&&(0,aF.jsx)(cu.A,{sx:{fontSize:16,flexShrink:0},color:"error"}),e&&(0,aF.jsx)(cv.A,{sx:{fontSize:16,flexShrink:0},color:"disabled"}),(0,aF.jsxs)(aP.A,{variant:"caption",color:e?"text.disabled":"textSecondary",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a.label,e&&` — ${c("chat.live.queued")}`,"running"===a.status&&a.activity&&(0,aF.jsxs)(aP.A,{component:"span",variant:"caption",color:"text.disabled",children:[" \xb7 ",a.activity]})]})]})},cP=({liveStats:a,onStop:b,stopDisabled:c,awaitingApproval:d,lanes:e,onOpenLane:f,retryWait:g,compact:h=!1})=>{let i,j,k,l,m,n,o,{locale:p,t:q,tp:r,formatNumber:s,formatList:t}=(0,bU.s9)(),[u,v]=(0,aG.useState)(()=>Date.now()),[w]=(0,aG.useState)(()=>Date.now()),[x,y]=(0,aG.useState)(!1);(0,aG.useEffect)(()=>{let a=setInterval(()=>v(Date.now()),1e3);return()=>clearInterval(a)},[]);let z=a?Math.max(0,Math.round((u-a.startedAt)/1e3)):0,A=a?Math.round((u-a.lastEventAt)/1e3):0,B=!d&&!g&&!!a&&A>=60,C=a?.startedAt??w,D=Math.floor(Math.max(0,u-C)/1e4),E="en"===p?(i=Math.max(0,Math.floor(D)),j=Math.floor(C),k=cK.length,m=cK[l=(cM(j)%k+i*cN(k,0x6d2b79f5^j))%k],n=Math.floor(i/k),o=(cM(j^Math.imul(l+1,0x9e3779b1))%m.count+n*cN(m.count,j^Math.imul(l+1,0x85ebca6b)))%m.count,m.render(o)):q(`chat.live.working.${D%6}`),F=g?Math.max(0,Math.ceil((g.retryAt-u)/1e3)):0,G=g?g.maxAttempts?q("chat.live.retryWaitAttempt",{seconds:s(F),attempt:s(g.attempt),total:s(g.maxAttempts)}):q("chat.live.retryWait",{seconds:s(F)}):null,H=e?Object.values(e.byIndex).sort((a,b)=>a.laneIndex-b.laneIndex):[],I=H.length>0?(()=>{let a=H.filter(a=>"running"===a.status).length,b=H.filter(a=>"pending"===a.status).length,c=H.filter(a=>"completed"===a.status).length,d=H.filter(a=>"error"===a.status).length;if(0===a&&0===b&&d>0)return{text:q("chat.live.partialFailure",{failed:s(d),total:s(H.length)}),warning:!0};let e=[a>0?r("chat.live.laneRunning",a):"",b>0?r("chat.live.laneQueued",b):"",c>0?r("chat.live.laneDone",c):"",d>0?r("chat.live.laneFailed",d):""].filter(Boolean);return{text:r("chat.live.lanes",H.length,{states:t(e)}),warning:d>0}})():null;if(h){let e=d?q("chat.live.waitingApproval"):a?.activeNode?q("chat.live.running",{node:a.activeNode}):q("chat.live.working");return(0,aF.jsxs)(aL.default,{"data-testid":"compact-live-run",sx:{flexShrink:0,bgcolor:"background.paper",borderTop:1,borderBottom:1,borderColor:"divider",boxShadow:"0 -8px 24px rgba(0,0,0,.10)",position:"relative",zIndex:3},children:[(0,aF.jsxs)(aL.default,{sx:{minHeight:44,px:1,display:"flex",alignItems:"center",gap:.75},children:[d?(0,aF.jsx)(ct.A,{fontSize:"small",color:"warning"}):(0,aF.jsx)(aN.default,{size:18,color:B?"warning":"primary"}),(0,aF.jsx)(aP.A,{variant:"body2",noWrap:!0,role:"status","aria-live":"polite","aria-atomic":"true","data-testid":G?"retry-wait":"run-status",color:G?"warning.main":void 0,sx:{flex:1,minWidth:0},children:G??e}),!d&&(0,aF.jsxs)(aP.A,{variant:"caption",color:B?"warning.main":"text.secondary",sx:{whiteSpace:"nowrap"},children:[s(a?.totalTokens??0)," \xb7 ",s(z),"s"]}),I&&(0,aF.jsx)(aQ.A,{title:I.text,children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>y(a=>!a),"aria-label":I.text,"aria-expanded":x,children:x?(0,aF.jsx)(bv.A,{}):(0,aF.jsx)(bu.A,{})})}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"secondary",size:"small",onClick:b,disabled:c,sx:{minWidth:"auto",px:1},children:q("chat.live.stop")})]}),!d&&(0,aF.jsx)(aP.A,{"data-testid":"compact-working-message",variant:"body2",color:"text.primary","aria-hidden":"true",sx:{px:1.5,pb:.75,fontSize:"0.8125rem",fontWeight:500,lineHeight:1.35,textAlign:"center",overflowWrap:"anywhere"},children:E}),I&&(0,aF.jsx)(bo.A,{in:x,unmountOnExit:!0,children:(0,aF.jsxs)(aL.default,{sx:{px:1,pb:1},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:I.warning?"warning.main":"text.secondary",sx:{display:"block",mb:.25},children:I.text}),H.map(a=>(0,aF.jsx)(cO,{lane:a,onOpenLane:f},a.laneIndex))]})})]})}return(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",my:2,gap:.5},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:2},children:[d?(0,aF.jsx)(ct.A,{fontSize:"small",color:"warning"}):(0,aF.jsx)(aN.default,{size:20,color:B?"warning":"primary"}),(0,aF.jsx)(aP.A,{variant:"body2",color:G?"warning.main":"textSecondary","data-testid":G?"retry-wait":"run-status",role:"status","aria-live":"polite","aria-atomic":"true",children:G??(d?q("chat.live.waitingApproval"):a?.activeNode?q("chat.live.running",{node:a.activeNode}):q("chat.live.working"))}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"secondary",size:"small",onClick:b,disabled:c,children:q("chat.live.stop")})]}),!d&&(0,aF.jsx)(aP.A,{"data-testid":"working-message",variant:"body2",color:"text.primary",sx:{maxWidth:680,px:2,py:.5,borderRadius:1,bgcolor:"action.hover",fontSize:"0.875rem",fontWeight:500,lineHeight:1.45,textAlign:"center",overflowWrap:"anywhere"},"aria-hidden":"true",children:E}),I&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",alignItems:"stretch",minWidth:280,maxWidth:520},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:I.warning?"warning.main":"textSecondary",sx:{px:1,fontWeight:500},children:I.text}),H.map(a=>(0,aF.jsx)(cO,{lane:a,onOpenLane:f},a.laneIndex))]}),!d&&(0,aF.jsxs)(aP.A,{variant:"caption",color:B?"warning.main":"textSecondary",children:[r("chat.live.elapsed",z,{tokens:q("chat.stats.tokens",{count:s(a?.totalTokens??0)})}),B?` \xb7 ${r("chat.live.inactive",A)}`:""]})]})};var cQ=c(54882),cR=c(30892);let cS=(0,a7.A)((0,aF.jsx)("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6m6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26"}),"Autorenew"),cT=({todos:a})=>{let{t:b,formatNumber:c}=(0,bU.s9)();if(!a||0===a.length)return null;let d=a.filter(a=>"done"===a.status).length,e=a.length>0?Math.round(d/a.length*100):0;return(0,aF.jsxs)(cQ.A,{variant:"outlined",sx:{mt:2,p:1.5,borderRadius:2},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{fontWeight:600},children:b("chat.todo.title")}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:b("chat.todo.progress",{done:c(d),total:c(a.length)})})]}),(0,aF.jsx)(cR.A,{variant:"determinate",value:e,sx:{mb:1,borderRadius:1}}),(0,aF.jsx)(aL.default,{component:"ul",sx:{listStyle:"none",m:0,p:0},children:a.map(a=>(0,aF.jsxs)(aL.default,{component:"li",sx:{display:"flex",alignItems:"center",gap:1,py:.25},children:[function(a){switch(a){case"done":return(0,aF.jsx)(a5.A,{fontSize:"small",color:"success"});case"in_progress":return(0,aF.jsx)(cS,{fontSize:"small",color:"info"});case"cancelled":return(0,aF.jsx)(cu.A,{fontSize:"small",color:"disabled"});default:return(0,aF.jsx)(cv.A,{fontSize:"small",color:"disabled"})}}(a.status),(0,aF.jsx)(aP.A,{variant:"body2",sx:{textDecoration:"done"===a.status||"cancelled"===a.status?"line-through":"none",color:"done"===a.status||"cancelled"===a.status?"text.secondary":"text.primary"},children:a.content})]},a.id))})]})};var cU=c(36891),cV=c(80076),cW=c(51385),cX=c(65667),cY=c(80968),cZ=c(93208);let c$=(0,a7.A)((0,aF.jsx)("path",{d:"M13 2.05v3.03c3.39.49 6 3.39 6 6.92 0 .9-.18 1.75-.48 2.54l2.6 1.53c.56-1.24.88-2.62.88-4.07 0-5.18-3.95-9.45-9-9.95M12 19c-3.87 0-7-3.13-7-7 0-3.53 2.61-6.43 6-6.92V2.05c-5.06.5-9 4.76-9 9.95 0 5.52 4.47 10 9.99 10 3.31 0 6.24-1.61 8.06-4.09l-2.6-1.53C16.17 17.98 14.21 19 12 19"}),"DataUsage");var c_=c(287);let c0=a=>a>=1e3?`${(a/1e3).toFixed(a>=1e5?0:1)}k`:`${a}`,c1=({usage:a,contextInfo:b,availableNodes:c,compact:d=!1})=>{let{t:e,formatNumber:f}=(0,bU.s9)(),[g,h]=(0,aG.useState)(null);if(!a&&!b)return null;let i=a?.byNode?Object.entries(a.byNode):[],j=a?(0,c_.g)(a):void 0,k=j?.cacheReadTokens??0,l=j?.cacheWriteTokens??0,m=j?.freshPromptTokens??0,n=j?.meterTotalTokens??0,o=b?.contextWindow&&b.contextWindow>0?Math.min(100,Math.round(b.promptTokens/b.contextWindow*100)):void 0;return(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:d?.5:1.5,flexShrink:0},children:[a&&n>0&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aQ.A,{title:e("chat.stats.tooltip",{prompt:f(m),completion:f(a.completionTokens),cached:k>0?e("chat.stats.cached",{count:f(k)}):"",written:l>0?e("chat.stats.written",{count:f(l)}):""}),children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(c$,{}),label:d?c0(n):e("chat.stats.tokens",{count:c0(n)}),size:"small",variant:"outlined",onClick:a=>h(a.currentTarget),sx:{cursor:"pointer"}})}),(0,aF.jsx)(cU.Ay,{open:!!g,anchorEl:g,onClose:()=>h(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:(0,aF.jsxs)(aL.default,{sx:{p:2,maxWidth:"min(680px, calc(100vw - 24px))",overflowX:"auto"},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{mb:1},children:e("chat.stats.title")}),(0,aF.jsxs)(cV.A,{size:"small",children:[(0,aF.jsx)(cW.A,{children:(0,aF.jsxs)(cX.A,{children:[(0,aF.jsx)(cY.A,{children:e("chat.stats.node")}),(0,aF.jsx)(cY.A,{align:"right",children:e("chat.stats.prompt")}),(0,aF.jsx)(cY.A,{align:"right",children:e("chat.stats.completion")}),(0,aF.jsx)(cY.A,{align:"right",children:e("chat.stats.cachedRead")}),(0,aF.jsx)(cY.A,{align:"right",children:e("chat.stats.cacheWrite")}),(0,aF.jsx)(cY.A,{align:"right",children:e("chat.stats.total")})]})}),(0,aF.jsxs)(cZ.A,{children:[i.map(([a,b])=>{let d=(0,c_.g)(b);return(0,aF.jsxs)(cX.A,{children:[(0,aF.jsx)(cY.A,{children:(0,aF.jsx)(aQ.A,{title:a,children:(0,aF.jsx)("span",{children:c.find(b=>b.id===a)?.label||`${a.substring(0,8)}…`})})}),(0,aF.jsx)(cY.A,{align:"right",children:f(d.freshPromptTokens)}),(0,aF.jsx)(cY.A,{align:"right",children:f(d.completionTokens)}),(0,aF.jsx)(cY.A,{align:"right",children:f(d.cacheReadTokens)}),(0,aF.jsx)(cY.A,{align:"right",children:f(d.cacheWriteTokens)}),(0,aF.jsx)(cY.A,{align:"right",children:f(d.meterTotalTokens)})]},a)}),(0,aF.jsxs)(cX.A,{children:[(0,aF.jsx)(cY.A,{sx:{fontWeight:"bold"},children:e("chat.stats.total")}),(0,aF.jsx)(cY.A,{align:"right",sx:{fontWeight:"bold"},children:f(m)}),(0,aF.jsx)(cY.A,{align:"right",sx:{fontWeight:"bold"},children:f(a.completionTokens)}),(0,aF.jsx)(cY.A,{align:"right",sx:{fontWeight:"bold"},children:f(k)}),(0,aF.jsx)(cY.A,{align:"right",sx:{fontWeight:"bold"},children:f(l)}),(0,aF.jsx)(cY.A,{align:"right",sx:{fontWeight:"bold"},children:f(n)})]})]})]}),k>0&&(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:1},children:e("chat.stats.cacheHelp",{cached:f(k),fresh:f(n)})}),l>0&&(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:.5},children:e("chat.stats.cacheWriteHelp",{written:f(l)})})]})})]}),b&&void 0!==o&&!d&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.context",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):"",used:f(b.promptTokens),total:f(b.contextWindow)}),children:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,minWidth:140},children:[(0,aF.jsx)(cR.A,{variant:"determinate",value:o,color:o>=90?"error":o>=70?"warning":"primary",sx:{flex:1,height:6,borderRadius:3}}),(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:[c0(b.promptTokens),"/",c0(b.contextWindow)," (",o,"%)"]})]})}),b&&void 0!==o&&d&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.context",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):"",used:f(b.promptTokens),total:f(b.contextWindow)}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:o>=90?"error.main":"text.secondary",sx:{whiteSpace:"nowrap"},children:["ctx ",o,"%"]})}),b&&void 0===o&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.noWindow",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):""}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:["ctx ",c0(b.promptTokens)]})})]})};var c2=c(41489),c3=c(94400),c4=c(58247),c5=c(32787),c6=c(18085),c7=c(41675),c8=c(92646),c9=c(6680);let da=(0,c9.h)("frontend/components/Chat/QuickChatDialog"),db=({open:a,onClose:b,onStart:c})=>{let{t:d,tp:e}=(0,bU.s9)(),[f,g]=(0,aG.useState)([]),[h,i]=(0,aG.useState)([]),[j,k]=(0,aG.useState)(!1),[l,m]=(0,aG.useState)(null),[n,o]=(0,aG.useState)(""),[p,q]=(0,aG.useState)(""),[r,s]=(0,aG.useState)({}),[t,u]=(0,aG.useState)(!1),[v,w]=(0,aG.useState)(null);(0,aG.useEffect)(()=>{if(!a)return;let b=!1;return k(!0),m(null),(async()=>{try{let[a,c]=await Promise.all([c7.N.loadModels(),c8.S.loadServerConfigs()]);if(b)return;g(a);let d=Array.isArray(c)?c.filter(a=>!a.disabled).map(a=>a.name):[];i(d),o(b=>b||a[0]?.id||"")}catch(a){b||(da.warn("Failed to load models/servers for quick chat",a),m(d("chat.quick.loadFailed")))}finally{b||k(!1)}})(),()=>{b=!0}},[a,d]),(0,aG.useEffect)(()=>{a||(q(""),s({}),w(null),u(!1))},[a]);let x=(0,aG.useCallback)(a=>{s(b=>{let c=b[a];return c?.selected?{...b,[a]:{...c,selected:!1}}:{...b,[a]:{...c??{tools:null,expanded:!1},selected:!0}}})},[]),y=(0,aG.useCallback)(async a=>{s(b=>{let c=b[a]??{selected:!1,tools:null,expanded:!1};return{...b,[a]:{...c,expanded:!c.expanded}}});let b=r[a];if(!b?.available&&!b?.loading){s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},loading:!0}}));try{let{tools:b}=await c8.S.listServerTools(a),c=Array.isArray(b)?b.map(a=>a.name).filter(Boolean):[];s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},available:c,loading:!1}}))}catch(b){da.warn(`Failed to load tools for ${a}`,b),s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},available:[],loading:!1}}))}}},[r]),z=(0,aG.useCallback)((a,b,c)=>{s(d=>{let e=d[a]??{selected:!0,tools:null,expanded:!0},f=new Set(e.tools??new Set(c));return f.has(b)?f.delete(b):f.add(b),{...d,[a]:{...e,selected:!0,tools:f}}})},[]),A=!!n&&!t&&!j,B=async()=>{if(!n)return void w(d("chat.quick.pickModel"));u(!0),w(null);let a=h.filter(a=>r[a]?.selected).map(a=>{let b=r[a];return!b.tools||b.available&&b.tools.size===b.available.length?{name:a}:{name:a,enabledTools:[...b.tools]}});try{await c({modelId:n,servers:a,systemPrompt:p.trim()||void 0})}catch(a){da.warn("Quick chat failed to start",a),w(a instanceof Error?a.message:d("chat.quick.startFailed")),u(!1)}};return(0,aF.jsxs)(aV.A,{open:a,onClose:t?void 0:b,maxWidth:"sm",fullWidth:!0,children:[(0,aF.jsx)(c6.A,{title:d("chat.quick.title"),onClose:b}),(0,aF.jsxs)(aX.A,{children:[(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:d("chat.quick.help")}),l&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mb:2},children:l}),(0,aF.jsxs)(bl.A,{fullWidth:!0,size:"small",sx:{mb:2},disabled:j,children:[(0,aF.jsx)(c3.A,{id:"quick-chat-model-label",children:d("chat.quick.model")}),(0,aF.jsxs)(bm.A,{labelId:"quick-chat-model-label",label:d("chat.quick.model"),value:n,onChange:a=>o(a.target.value),children:[0===f.length&&(0,aF.jsx)(bn.A,{value:"",disabled:!0,children:j?d("common.loading"):d("chat.quick.noModels")}),f.map(a=>(0,aF.jsx)(bn.A,{value:a.id,children:a.displayName||a.name},a.id))]})]}),(0,aF.jsx)(aT.A,{fullWidth:!0,size:"small",multiline:!0,minRows:2,maxRows:6,label:d("chat.quick.systemPrompt"),placeholder:d("chat.quick.systemPlaceholder"),value:p,onChange:a=>q(a.target.value),sx:{mb:2}}),(0,aF.jsx)(bj.A,{sx:{mb:1}}),(0,aF.jsx)(aP.A,{variant:"subtitle2",gutterBottom:!0,children:d("chat.quick.servers")}),j?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aN.default,{size:22})}):0===h.length?(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",children:d("chat.quick.noServers")}):h.map(a=>{let b=r[a],c=!!b?.selected,f=b?.available,g=b?.tools;return(0,aF.jsxs)(aL.default,{sx:{mb:.5},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center"},children:[(0,aF.jsx)(c4.A,{sx:{flexGrow:1,mr:0},control:(0,aF.jsx)(c5.A,{size:"small",checked:c,onChange:()=>x(a)}),label:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,aF.jsx)(aP.A,{variant:"body2",children:a}),c&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:g?e("chat.quick.tool",g.size):d("chat.quick.allTools")})]})}),(0,aF.jsx)(aR.A,{size:"small",onClick:()=>y(a),"aria-label":d("chat.quick.customize",{server:a}),children:b?.expanded?(0,aF.jsx)(bv.A,{fontSize:"small"}):(0,aF.jsx)(bu.A,{fontSize:"small"})})]}),(0,aF.jsx)(bo.A,{in:!!b?.expanded,unmountOnExit:!0,children:(0,aF.jsx)(aL.default,{sx:{pl:4,pb:1},children:b?.loading?(0,aF.jsx)(aN.default,{size:16}):f&&f.length>0?f.map(b=>{let c=!g||g.has(b);return(0,aF.jsx)(c4.A,{sx:{display:"flex"},control:(0,aF.jsx)(c5.A,{size:"small",checked:c,onChange:()=>z(a,b,f)}),label:(0,aF.jsx)(aP.A,{variant:"caption",children:b})},b)}):(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:f?d("chat.quick.noTools"):""})})})]},a)}),v&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mt:2},children:v})]}),(0,aF.jsxs)(aZ.A,{children:[(0,aF.jsx)(aM.A,{onClick:b,disabled:t,children:d("common.cancel")}),(0,aF.jsx)(aM.A,{variant:"contained",onClick:B,disabled:!A,startIcon:t?(0,aF.jsx)(aN.default,{size:16,color:"inherit"}):void 0,children:t?d("chat.quick.starting"):d("chat.quick.start")})]})]})};var dc=c(39179),dd=c(30630),de=c(37397),df=c(218),dg=c(19565);let dh=(0,a7.A)((0,aF.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft"),di=(0,a7.A)((0,aF.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight");var dj=c(57257);let dk=(0,a7.A)((0,aF.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined"),dl=(0,a7.A)((0,aF.jsx)("circle",{cx:"12",cy:"12",r:"8"}),"FiberManualRecord");var dm=c(31972);let dn=(0,a7.A)((0,aF.jsx)("path",{d:"M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3zm2-8h6v8H5zm5-6H6L5 5H2v2h12V5h-3z"}),"DeleteSweepOutlined"),dp=(0,a7.A)((0,aF.jsx)("path",{d:"m22.61 18.99-9.08-9.08c.93-2.34.45-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11 6.08 7.52 2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.4-.38.4-1.01 0-1.41m-3 1.6-9.46-9.46c-.61.45-1.29.72-2 .82-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09 4.24-4.24-3.09-3.09c1.24-.07 2.49.37 3.44 1.31 1.08 1.08 1.49 2.57 1.24 3.96-.12.71-.42 1.37-.88 1.96l9.45 9.45z"}),"BuildOutlined");var dq=c(72139),dr=c(56024),ds=c(2642),dt=c(66319),du=c(46322);let dv={byNode:{},byResource:{},byResourceName:{},resourceVersion:0},dw="root",dx=a=>"subflow:start"===a.type||"subflow:done"===a.type?a.depth??1:a.depth??0,dy=(a,b)=>null==b.laneIndex||null==a.laneIndex||a.laneIndex===b.laneIndex,dz=(a,b)=>{for(let c=a.order.length-1;c>=0;c-=1){let d=a.frames[a.order[c]];if(d&&b(d))return d}},dA=(a,b,c)=>c<=1?a.frames[a.rootKey]:dz(a,a=>"active"===a.status&&a.depth===c-1&&dy(a,b))??a.frames[a.rootKey],dB=(a,b)=>{let c=dx(b);return c<=0?a.frames[a.rootKey]:dz(a,a=>"active"===a.status&&a.depth===c&&dy(a,b))??a.frames[a.rootKey]},dC=a=>"node"in a?a.node?.nodeId:void 0,dD=a=>"resource:read"===a.type?"resource-read":"resource:write"===a.type?"resource-write":"active",dE="tool:",dF="tool-node:",dG="tool:*",dH=a=>(a??[]).filter(a=>"*"!==a&&!(a.startsWith(dE)||a.startsWith(dF)));var dI=c(25912);let dJ=(0,a7.A)((0,aF.jsx)("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),dK=(0,a7.A)((0,aF.jsx)("path",{d:"M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3z"}),"Audiotrack");var dL=c(44440);let dM=(0,c9.h)("frontend/components/Chat/RunResourcesPanel"),dN=({conversationId:a,refreshToken:b})=>{let{t:c,formatNumber:d}=(0,bU.s9)(),[e,f]=(0,aG.useState)(null),[g,h]=(0,aG.useState)(null);return((0,aG.useEffect)(()=>{if(!a)return;let b=!1;return fetch(`/v1/chat/conversations/${encodeURIComponent(a)}/resources`).then(async a=>{if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}).then(a=>{b||(f(Array.isArray(a.resources)?a.resources:[]),h(null))}).catch(a=>{b||(dM.warn("Failed to load run resources",a),h(a instanceof Error?a.message:String(a)))}),()=>{b=!0}},[a,b]),g)?(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:c("chat.resources.unavailable",{error:g})}):null===e?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",p:1},children:(0,aF.jsx)(aN.default,{size:16})}):0===e.length?(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:c("chat.resources.empty")}):(0,aF.jsx)(bp.A,{dense:!0,disablePadding:!0,children:[...e].sort((a,b)=>b.createdAt-a.createdAt).map(a=>{var b;return(0,aF.jsxs)(bg.Ay,{disableGutters:!0,sx:{alignItems:"flex-start"},children:[(0,aF.jsx)(dd.A,{sx:{minWidth:30,mt:.5},children:function(a){switch(a){case"image":return(0,aF.jsx)(dJ,{fontSize:"small",sx:{color:"#009688"}});case"audio":return(0,aF.jsx)(dK,{fontSize:"small",sx:{color:"#009688"}});case"link":return(0,aF.jsx)(dL.A,{fontSize:"small",sx:{color:"#009688"}});default:return(0,aF.jsx)(dI.A,{fontSize:"small",sx:{color:"#009688"}})}}(a.kind)}),(0,aF.jsx)(bi.A,{primary:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,flexWrap:"wrap"},children:[(0,aF.jsx)(aP.A,{variant:"body2",sx:{fontWeight:500},children:a.name??`${a.kind}-${a.id.slice(0,8)}`}),a.mimeType&&(0,aF.jsx)(aU.A,{label:a.mimeType,size:"small",variant:"outlined",sx:{height:18,fontSize:"0.65rem"}}),a.archive&&(0,aF.jsx)(aU.A,{label:"page"===a.archive.role?c("chat.resources.archivePage",{page:(a.archive.pageIndex??0)+1,total:a.archive.pageCount??"?"}):c("chat.resources.archiveSource"),size:"small",color:"info",variant:"outlined",sx:{height:18,fontSize:"0.65rem"}}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:(b=a.size)<1024?`${d(b)} B`:b<1048576?`${d(Math.round(b/1024))} KB`:`${d(b/1048576,{maximumFractionDigits:1})} MB`})]}),secondary:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",component:"span",sx:{wordBreak:"break-all"},children:[c("chat.resources.by",{producer:(a=>{let b=a.producedBy;switch(b.source){case"tool-result":return c("chat.resources.producer.toolResult",{server:b.server??"?",tool:b.toolName??"?"});case"tool-args":return c("chat.resources.producer.toolArgs",{server:b.server??"?",tool:b.toolName??"?"});case"capture":return c("chat.resources.producer.step",{step:b.nodeName??b.nodeId??"?"});case"mcp-link":return c("chat.resources.producer.link",{server:b.server??"?"});case"visual-archive":return c("chat.resources.producer.archive");default:return c("chat.resources.producer.run")}})(a)}),a.readBy.length>0?` \xb7 ${c("chat.resources.read",{count:a.readBy.length})}`:"",(a.verifications?.length??0)>0?` \xb7 ${c("chat.resources.verified",{ok:a.verifications.filter(a=>a.ok).length,total:a.verifications.length})}`:"",a.sha256?` \xb7 sha256 ${a.sha256.slice(0,12)}…`:""," \xb7 ",a.uri]})})]},a.id)})})};var dO=c(72099),dP=c(15209);let dQ={system:{color:"secondary"},sent:{color:"success"},folded:{color:"warning"},"scoped-out":{color:"info"},"handoff-stripped":{color:"default"}},dR={whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,fontSize:"0.75rem",fontFamily:"inherit"},dS=({role:a,content:b,toolCallNames:c,status:d,faded:e})=>{let{t:f}=(0,bU.s9)(),g="user"===a?f("chat.messages.you"):"assistant"===a?f("chat.messages.agent"):"tool"===a?f("chat.messages.tool"):"system"===a?f("chat.messages.system"):a,h=f("system"===d?"chat.debug.status.system":"sent"===d?"chat.debug.status.sent":"folded"===d?"chat.debug.status.folded":"scoped-out"===d?"chat.debug.status.scoped":"chat.debug.status.handoff");return(0,aF.jsxs)(cQ.A,{variant:"outlined",sx:{p:1,mb:.75,opacity:e?.55:1,borderStyle:e?"dashed":"solid"},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.5,flexWrap:"wrap"},children:[(0,aF.jsx)(aU.A,{size:"small",label:g,color:function(a){switch(a){case"system":return"secondary";case"user":return"primary";case"assistant":return"success";case"tool":return"info";default:return"default"}}(a),variant:"outlined"}),c&&c.length>0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:`🔧 ${c.join(", ")}`,sx:{maxWidth:"100%"}}),d&&"sent"!==d&&"system"!==d&&(0,aF.jsx)(aU.A,{size:"small",color:dQ[d].color,label:h})]}),b.trim().length>0?(0,aF.jsx)("pre",{style:dR,children:b}):(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:f("chat.debug.noText")})]})},dT=({provenance:a})=>{let{t:b}=(0,bU.s9)();return(0,aF.jsxs)(aL.default,{children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{display:"block",mb:.5},children:b("chat.debug.historyHelp")}),a.map((a,b)=>(0,aF.jsx)(dS,{role:a.role,content:a.preview??"",toolCallNames:a.toolCallNames,status:a.status,faded:"sent"!==a.status&&"system"!==a.status},a.id??`hist-${b}`)),a.some(a=>"sent"!==a.status&&"system"!==a.status)&&(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{display:"block",mt:1},children:b("chat.debug.badgeHelp")})]})},dU=()=>{},dV=({modelInput:a,conversationId:b})=>{let{t:c}=(0,bU.s9)(),[d,e]=(0,aG.useState)("wire"),{systemMessage:f,wireMessages:g,provenance:h,counts:i,inputMode:j}=a,k=(0,aG.useMemo)(()=>(g||[]).filter(a=>"system"!==a.role),[g]);return(0,aF.jsxs)(aL.default,{sx:{height:"100%",display:"flex",flexDirection:"column",p:1},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,flexWrap:"wrap",mb:1},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:c?[c("chat.debug.summary",{history:i.threaded,sent:i.sent}),i.folded?c("chat.debug.foldedCount",{count:i.folded}):"",i.scopedOut?c("chat.debug.scopedCount",{count:i.scopedOut}):"",i.handoffStripped?c("chat.debug.handoffCount",{count:i.handoffStripped}):""].filter(Boolean).join(" \xb7 "):`${i.threaded} in history → ${i.sent} sent`+(i.folded?` \xb7 ${i.folded} folded`:"")+(i.scopedOut?` \xb7 ${i.scopedOut} scoped out`:"")+(i.handoffStripped?` \xb7 ${i.handoffStripped} handoff-stripped`:"")}),j&&"full-history"!==j&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:`inputMode: ${j}`})]}),(0,aF.jsxs)(de.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:(0,aF.jsx)("b",{children:c("chat.debug.systemMessage")})})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:f&&f.content.trim().length>0?(0,aF.jsx)(cQ.A,{variant:"outlined",sx:{p:1,maxHeight:220,overflowY:"auto"},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,fontSize:"0.75rem",fontFamily:"inherit"},children:f.content})}):(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:c("chat.debug.noSystem")})})]}),(0,aF.jsxs)(dO.A,{size:"small",exclusive:!0,value:d,onChange:(a,b)=>{b&&e(b)},sx:{my:1},children:[(0,aF.jsx)(dP.A,{value:"wire",children:c("chat.debug.modelView")}),(0,aF.jsx)(dP.A,{value:"annotated",children:c("chat.debug.fullHistory")})]}),(0,aF.jsx)(aL.default,{sx:{flexGrow:1,overflowY:"auto",minHeight:0},children:"wire"===d?0===k.length?(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",sx:{p:1},children:c("chat.debug.noConversation")}):(0,aF.jsx)(b9.Ay,{messages:k,conversationId:b?`debug-${b}`:void 0,onToggleDisabled:dU,onSplitConversation:dU}):(0,aF.jsx)(dT,{provenance:h})})]})},dW=(0,c9.h)("frontend/components/Chat/DebuggerCanvas"),dX={start:dt.vm,process:dt.Uw,finish:dt.IK,mcp:dt.v2,subflow:dt.lA,resource:dt.z9},dY={custom:du.jY,mcpEdge:du.oY,resourceEdge:du.sZ},dZ=[],d$=["conversation","tracker","detail"],d_=(0,dq.Ay)(cQ.A)(({theme:a})=>({display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",padding:a.spacing(1)})),d0=(0,dq.Ay)(aL.default)(({theme:a})=>({padding:a.spacing(1,2),borderBottom:`1px solid ${a.palette.divider}`})),d1=(0,dq.Ay)(aL.default)({flexGrow:1,display:"flex",overflow:"hidden",minHeight:0}),d2=(0,dq.Ay)(aL.default)(({theme:a})=>({width:"200px",flexShrink:0,borderRight:`1px solid ${a.palette.divider}`,overflowY:"auto",padding:a.spacing(1)})),d3=(0,dq.Ay)(aL.default)({flexGrow:1,position:"relative",height:"100%"}),d4=(0,dq.Ay)(aL.default)(({theme:a})=>({padding:a.spacing(1,2),borderTop:`1px solid ${a.palette.divider}`,display:"flex",gap:a.spacing(1),justifyContent:"center"})),d5=(0,dq.Ay)(aL.default)(({theme:a})=>({width:"6px",flexShrink:0,cursor:"col-resize",backgroundColor:a.palette.divider,transition:"background-color 120ms",touchAction:"none","&:hover":{backgroundColor:a.palette.primary.main}})),d6=({debugState:a,conversationId:b,onStep:c,onStepOver:d,onContinue:e,onCancel:f,isLoading:g,breakpoints:h,onToggleBreakpoint:i,onSetBreakpoints:j,onClose:k,isExpanded:l,onToggleExpand:m,liveActivity:n,executionEvents:o=dZ})=>{let p=(0,a$.A)(),{t:q,tp:r,formatDate:s}=(0,bU.s9)(),t={conversation:q("chat.debug.section.conversation"),tracker:q("chat.debug.section.tracker"),detail:q("chat.debug.section.detail")},[u,v]=(0,aG.useState)(a.executionTrace&&a.executionTrace.length>0?a.executionTrace.length-1:-1),[w,x]=(0,aG.useState)(()=>[...d$]),[y,z]=(0,aG.useState)(()=>({conversation:!0,tracker:!0,detail:!0})),[A,B]=(0,aG.useState)(()=>480),[C,D]=(0,aG.useState)(()=>320),E=(0,aG.useMemo)(()=>(function(a,b){let c={key:dw,parentKey:null,flowId:a,displayName:"Root flow",depth:0,status:"active",startedSeq:0,nodeActivity:{}},d={rootKey:c.key,activeFrameKey:c.key,frames:{[c.key]:c},order:[c.key]};for(let a of b){let b=dx(a);if(b<0||b>8)continue;if("run:start"===a.type){d.activeFrameKey=c.key;continue}if("subflow:start"===a.type){if(!a.subflowId||b<=0)continue;let c=dA(d,a,b),e=null==a.laneIndex?"":`:lane-${a.laneIndex}`,f=`${c.key}:${a.node?.nodeId??"subflow"}:${a.subflowId}${e}:seq-${a.seq}`,g={key:f,parentKey:c.key,flowId:a.subflowId,invokingNodeId:a.node?.nodeId,displayName:a.laneTitle||a.subflowName||a.subflowId,depth:b,laneIndex:a.laneIndex,laneCount:a.laneCount,laneTitle:a.laneTitle,status:"active",startedSeq:a.seq,nodeActivity:{}};d.frames[f]=g,d.order.push(f),d.activeFrameKey=f,a.node?.nodeId&&(c.nodeActivity[a.node.nodeId]={kind:"active",ts:a.timestamp});continue}if("subflow:done"===a.type){let e=dz(d,c=>"active"===c.status&&c.depth===b&&c.flowId===a.subflowId&&(a.node?.nodeId==null||c.invokingNodeId===a.node.nodeId)&&dy(c,a));if(!e)continue;e.status=a.status,e.endedSeq=a.seq,d.activeFrameKey=e.parentKey??c.key;let f=d.frames[e.parentKey??c.key];e.invokingNodeId&&f&&(f.nodeActivity[e.invokingNodeId]={kind:"active",ts:a.timestamp});continue}let e=dB(d,a);d.activeFrameKey=e.key;let f=dC(a);f&&(e.nodeActivity[f]={kind:dD(a),ts:a.timestamp})}return d})(a.flowId??"",o),[a.flowId,o]),[F,G]=(0,aG.useState)(dw),[H,I]=(0,aG.useState)({}),J=(0,aG.useRef)(new Set),K=(0,aG.useRef)(0),[L,M,N]=(0,dr.ck)([]),[O,P,Q]=(0,dr.fM)([]);(0,aG.useEffect)(()=>{},[w]),(0,aG.useEffect)(()=>{},[y]),(0,aG.useEffect)(()=>{},[A]),(0,aG.useEffect)(()=>{},[C]),(0,aG.useEffect)(()=>{let b=a.executionTrace?.length||0;b>0?(v(a=>Math.min(a,b-1)),u<b-1&&v(b-1)):v(-1)},[a.executionTrace]),(0,aG.useEffect)(()=>{G(E.activeFrameKey)},[E.activeFrameKey,o.length]);let R=(0,aG.useMemo)(()=>Array.from(new Set(E.order.map(a=>E.frames[a]?.flowId).filter(Boolean))),[E]);(0,aG.useEffect)(()=>{K.current+=1,J.current.clear(),I({}),G(dw)},[b,a.flowId]),(0,aG.useEffect)(()=>{let a=K.current;for(let b of R)!b||J.current.has(b)||(J.current.add(b),I(a=>({...a,[b]:{status:"loading"}})),ds.g.getFlow(b).then(c=>{K.current===a&&I(a=>({...a,[b]:c?{status:"ready",flow:c}:{status:"missing"}}))}).catch(c=>{if(K.current!==a)return;let d=c instanceof Error?c.message:q("chat.debug.loadFlowFailed",{id:b});dW.error("Error loading debugger flow definition:",c),I(a=>({...a,[b]:{status:"error",message:d}}))}))},[b,a.flowId,R,q]);let S=E.frames[F]??E.frames[E.activeFrameKey]??E.frames[dw],T=H[S.flowId],U=S;for(;H[U.flowId]?.status!=="ready"&&U.parentKey;)U=E.frames[U.parentKey]??E.frames[dw];let V=H[U.flowId],W=V?.status==="ready"?V.flow:null,X=H[a.flowId??""],Y=!!a.flowId&&!W&&(!X||"loading"===X.status),Z=a.flowId?X?.status==="missing"?q("chat.debug.flowNotFound",{id:a.flowId}):X?.status==="error"?X.message:null:q("chat.debug.flowMissingId"),$=S.key!==dw&&T?.status!=="ready"?T?.status!=="loading"&&T?q("chat.debug.childUnavailable",{agent:S.displayName}):q("chat.debug.loadingChild",{agent:S.displayName}):null;(0,aG.useEffect)(()=>{if(!W){M([]),P([]);return}dW.debug(`Setting debugger graph for flow ${W.id}`),M(W.nodes.map(a=>({...a,draggable:!1,selectable:!1,connectable:!1}))),P(W.edges.map(a=>({...a,selectable:!1})))},[W,M,P]);let _=(0,aG.useCallback)(()=>{if(dW.debug(`Previous button clicked. Current index: ${u}`),u>0){let a=u-1;dW.debug(`Setting current step index to: ${a}`),v(a)}else dW.debug("Already at the first step, cannot go previous.")},[u]),aa=(0,aG.useCallback)(()=>{if(dW.debug(`Next button clicked. Current index: ${u}, Trace length: ${a.executionTrace?.length}`),a.executionTrace&&u<a.executionTrace.length-1){let a=u+1;dW.debug(`Navigating to next trace step: ${a}`),v(a)}else dW.info("At end of trace, triggering API call for next step."),c()},[u,a.executionTrace,c]),ab=(0,aG.useMemo)(()=>{if(a.executionTrace&&u>=0&&u<a.executionTrace.length)return a.executionTrace[u]},[a.executionTrace,u]),ac=(0,aG.useMemo)(()=>ab?.modelInputs&&ab.modelInputs.length>0?ab.modelInputs:ab?.modelInput?[ab.modelInput]:void 0,[ab]),[ad,ae]=(0,aG.useState)(0);(0,aG.useEffect)(()=>{ae(0)},[u]);let af=ac?Math.min(ad,ac.length-1):0,ag=ac?.[af],[ah,ai]=(0,aG.useState)(()=>Date.now());(0,aG.useEffect)(()=>{ai(Date.now())},[o.length]),(0,aG.useEffect)(()=>{if(!n)return;let a=()=>{let a=Date.now();return[...Object.values(n.byNode),...Object.values(n.byResource),...Object.values(n.byResourceName)].some(b=>a-b.ts<4e3)};if(!a())return;let b=setInterval(()=>{ai(Date.now()),a()||clearInterval(b)},350);return()=>clearInterval(b)},[n]);let aj=(0,aG.useCallback)(a=>{var b,c;let d=U.nodeActivity[a.id];if(d&&ah-d.ts<4e3)return d;if(U.key!==dw||!n)return null;let e=n.byNode[a.id];if(e&&ah-e.ts<4e3)return e;let f=a.data;if((f?.type??a.type)!=="resource")return null;let g=f?.properties??{},h="run"===g.scope?"string"==typeof g.runName?n.byResourceName[g.runName]:void 0:"string"==typeof g.boundServer&&"string"==typeof g.uri?n.byResource[b=g.boundServer,c=g.uri,`${b} ${c}`]:void 0;return h&&ah-h.ts<4e3?{kind:"read"===h.kind?"resource-read":"resource-write",ts:h.ts}:null},[U,n,ah]),ak=(0,aG.useCallback)(a=>{if(U.key!==dw)return null;let b="string"==typeof a.data?.type?a.data.type:a.type;return"mcp"===b?`${dF}${a.id}`:"resource"===b||"trigger"===b?null:a.id},[U.key]),al=(0,aG.useMemo)(()=>{let a=U.key===dw?ab?.nodeId:void 0;return L.map(b=>{let c=b.id===a,d=ak(b),e=!!d&&!!h?.includes(d),f=c?null:aj(b),g=f?Math.max(.25,1-(ah-f.ts)/4e3):0,i=f?.kind==="active"?p.palette.primary.main:"#009688";return{...b,className:[b.className,e?"flujo-breakpoint":null].filter(Boolean).join(" ")||void 0,style:{...b.style,border:c?`2px solid ${p.palette.warning.main}`:f?`2px solid ${i}`:b.style?.border,boxShadow:c?`0 0 10px ${p.palette.warning.light}`:f?`0 0 ${"resource-write"===f.kind?14:10}px ${i}${Math.round(255*g).toString(16).padStart(2,"0")}`:void 0}}})},[L,U.key,ab,h,p,aj,ah,ak]),[am,an]=(0,aG.useState)(null),ao=(0,aG.useCallback)(()=>an(null),[]),ap=h??[],aq=ap.includes(dG),ar=(0,aG.useCallback)((a,b)=>{a.preventDefault();let c="string"==typeof b.data?.label?b.data.label:b.id,d=ak(b);an({x:a.clientX,y:a.clientY,...d?{breakpointKey:d}:{},nodeLabel:c,...!d?{unavailableReason:U.key===dw?q("chat.debug.breakpointPassiveNode"):q("chat.debug.breakpointChildRun")}:{}})},[ak,U.key,q]),as=(0,aG.useCallback)(a=>{a.preventDefault(),an({x:a.clientX,y:a.clientY})},[]),at=(0,aG.useCallback)(()=>{j&&(j(aq?ap.filter(a=>a!==dG):[...ap,dG]),ao())},[j,aq,ap,ao]),au=(0,aG.useCallback)(()=>{j?.([]),ao()},[j,ao]),av=(0,aG.useMemo)(()=>(function(a,b){let c=[],d=new Set,e=a.frames[b];for(;e&&!d.has(e.key)&&c.length<=8;)c.unshift(e),d.add(e.key),e=e.parentKey?a.frames[e.parentKey]:void 0;return c})(E,S.key),[E,S.key]),aw=(0,aG.useCallback)(a=>{let b=H[a.flowId],c=a.key===dw&&b?.status==="ready"?b.flow.name:a.displayName;return null==a.laneIndex?c:`${c} \xb7 lane ${a.laneIndex+1}`},[H]),ax=(0,aG.useMemo)(()=>w.filter(a=>y[a]),[w,y]),ay=(0,aG.useCallback)(a=>{z(b=>({...b,[a]:!b[a]}))},[]),az=(0,aG.useCallback)((a,b)=>{x(c=>{let d=c.indexOf(a),e=d+b;if(d<0||e<0||e>=c.length)return c;let f=[...c];return[f[d],f[e]]=[f[e],f[d]],f})},[]),aA=(0,aG.useCallback)((a,b,c)=>{c.preventDefault();let d=c.clientX,e="conversation"===a?A:C,f="conversation"===a?B:D,g=document.body.style.userSelect,h=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let i=a=>{f(Math.min(Math.max(e+b*(a.clientX-d),240),1100))},j=()=>{window.removeEventListener("pointermove",i),window.removeEventListener("pointerup",j),document.body.style.userSelect=g,document.body.style.cursor=h};window.addEventListener("pointermove",i),window.addEventListener("pointerup",j)},[A,C]),aB={conversation:(0,aF.jsx)(aL.default,{sx:{flexGrow:1,overflow:"hidden",minHeight:0,display:"flex",flexDirection:"column"},children:ab?ag&&ac?(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,minHeight:0,display:"flex",flexDirection:"column"},children:[ac.length>1&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"center",gap:.5,px:1,py:.5,borderBottom:`1px solid ${p.palette.divider}`},children:[(0,aF.jsx)(aQ.A,{title:q("chat.debug.previousModelCall"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ae(a=>Math.max(0,Math.min(a,ac.length-1)-1)),disabled:af<=0,"aria-label":q("chat.debug.previousModelCall"),children:(0,aF.jsx)(dh,{fontSize:"small"})})})}),(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:q("chat.debug.modelCall",{current:af+1,total:ac.length})}),(0,aF.jsx)(aQ.A,{title:q("chat.debug.nextModelCall"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ae(a=>Math.min(ac.length-1,Math.min(a,ac.length-1)+1)),disabled:af>=ac.length-1,"aria-label":q("chat.debug.nextModelCall"),children:(0,aF.jsx)(di,{fontSize:"small"})})})})]}),(0,aF.jsx)(aL.default,{sx:{flexGrow:1,minHeight:0,overflow:"hidden",display:"flex",flexDirection:"column"},children:(0,aF.jsx)(dV,{modelInput:ag,conversationId:b})})]}):(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",sx:{p:2},children:q("chat.debug.noModelCall")}):(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",sx:{p:2},children:q("chat.debug.selectStep")})}),tracker:(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,display:"flex",overflow:"hidden",minHeight:0},children:[(0,aF.jsxs)(d2,{children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",gutterBottom:!0,sx:{display:"block"},children:q("chat.debug.executionTrace")}),(0,aF.jsxs)(bp.A,{dense:!0,disablePadding:!0,children:[a.executionTrace?.map((b,c)=>(0,aF.jsx)(bg.Ay,{disablePadding:!0,children:(0,aF.jsx)(bh.A,{selected:c===u,onClick:()=>{a.executionTrace&&c>=0&&c<a.executionTrace.length?(dW.debug(`Trace step selected: ${c}`),v(c)):dW.warn(`Invalid step index selected: ${c}`)},children:(0,aF.jsx)(bi.A,{primary:`${b.stepIndex}: ${b.nodeName||b.nodeId}`,secondary:b.nodeType})})},b.stepIndex)),g&&(0,aF.jsx)(bg.Ay,{children:(0,aF.jsx)(aN.default,{size:20,sx:{margin:"auto"}})})]})]}),(0,aF.jsx)(d3,{children:(0,aF.jsxs)(aL.default,{sx:{height:"100%",minHeight:0,display:"flex",flexDirection:"column"},children:[(0,aF.jsxs)(aL.default,{sx:{px:1,py:.5,borderBottom:`1px solid ${p.palette.divider}`,flexShrink:0},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.25,overflowX:"auto"},children:[S.parentKey&&(0,aF.jsx)(aQ.A,{title:q("chat.debug.backToParent"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>G(S.parentKey??dw),"aria-label":q("chat.debug.backToParent"),children:(0,aF.jsx)(dh,{fontSize:"small"})})}),av.map((a,b)=>(0,aF.jsxs)(aH().Fragment,{children:[b>0&&(0,aF.jsx)(di,{color:"disabled",fontSize:"small"}),(0,aF.jsx)(aM.A,{size:"small",variant:a.key===S.key?"contained":"text",onClick:()=>G(a.key),sx:{minWidth:0,whiteSpace:"nowrap",textTransform:"none"},children:aw(a)})]},a.key))]}),E.order.length>1&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.25,overflowX:"auto"},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{flexShrink:0},children:q("chat.debug.frames")}),E.order.slice(1).map(a=>{let b=E.frames[a];return(0,aF.jsxs)(aM.A,{size:"small",variant:b.key===S.key?"outlined":"text",color:"error"===b.status?"error":"inherit",onClick:()=>G(b.key),sx:{minWidth:0,py:0,whiteSpace:"nowrap",textTransform:"none",fontSize:"0.7rem"},children:[aw(b)," \xb7 ",b.status]},a)})]})]}),$&&(0,aF.jsx)(aO.A,{severity:T?.status!=="loading"&&T?"warning":"info",sx:{m:1,mb:0,py:0,flexShrink:0},children:$}),(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,minHeight:0,position:"relative","& .react-flow__node.flujo-breakpoint":{outline:`3px solid ${p.palette.error.main}`,outlineOffset:"2px",borderRadius:"8px",boxShadow:`0 0 0 7px ${(0,bT.X4)(p.palette.error.main,.16)}, 0 0 14px ${(0,bT.X4)(p.palette.error.main,.5)}`},"& .react-flow__node.flujo-breakpoint::before":{content:'""',position:"absolute",top:"-11px",left:"-11px",width:"16px",height:"16px",borderRadius:"50%",backgroundColor:p.palette.error.main,border:`2px solid ${p.palette.background.paper}`,boxShadow:`0 0 8px ${p.palette.error.main}`,zIndex:12,pointerEvents:"none"}},onContextMenu:a=>{a.target.closest(".react-flow__node")||as(a)},children:[Y?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(aN.default,{})}):Z?(0,aF.jsx)(aO.A,{severity:"error",sx:{margin:2},children:Z}):(0,aF.jsx)(dr.Ln,{children:(0,aF.jsx)(dr.Gc,{nodes:al,edges:O,onNodesChange:N,onEdgesChange:Q,nodeTypes:dX,edgeTypes:dY,fitView:!0,attributionPosition:"bottom-right",nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!1,onNodeClick:(a,b)=>{a.preventDefault();let c=ak(b);i&&c&&i(c)},onNodeContextMenu:ar,onPaneContextMenu:as,onEdgeClick:a=>a.preventDefault(),onPaneClick:()=>{}})}),(0,aF.jsxs)(dc.A,{open:!!am,onClose:ao,anchorReference:"anchorPosition",anchorPosition:am?{top:am.y,left:am.x}:void 0,children:[am?.nodeLabel&&(0,aF.jsxs)(bn.A,{onClick:()=>{am.breakpointKey&&i?.(am.breakpointKey),ao()},disabled:!i||!am.breakpointKey,children:[(0,aF.jsx)(dd.A,{children:am.breakpointKey&&ap.includes(am.breakpointKey)?(0,aF.jsx)(dm.A,{fontSize:"small",color:"error"}):(0,aF.jsx)(dl,{fontSize:"small",color:am.breakpointKey?"error":"disabled"})}),(0,aF.jsx)(bi.A,{primary:am.breakpointKey&&ap.includes(am.breakpointKey)?q("chat.debug.menu.removeBreakpoint"):q("chat.debug.menu.addBreakpoint"),secondary:am.unavailableReason||am.nodeLabel})]}),(0,aF.jsxs)(bn.A,{onClick:at,disabled:!j,children:[(0,aF.jsx)(dd.A,{children:(0,aF.jsx)(dp,{fontSize:"small",color:aq?"error":"inherit"})}),(0,aF.jsx)(bi.A,{primary:aq?q("chat.debug.menu.toolBreakpointOff"):q("chat.debug.menu.toolBreakpointOn"),secondary:q("chat.debug.menu.toolBreakpointHelp")})]}),(0,aF.jsxs)(bn.A,{onClick:au,disabled:!j||0===ap.length,children:[(0,aF.jsx)(dd.A,{children:(0,aF.jsx)(dn,{fontSize:"small"})}),(0,aF.jsx)(bi.A,{primary:q("chat.debug.menu.clearAll")})]})]})]})]})})]}),detail:(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,overflowY:"auto",minHeight:0,p:2},children:[ab?(0,aF.jsxs)(aL.default,{children:[(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:q("chat.debug.node")})," ",ab.nodeName," (",ab.nodeId,")"]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:q("chat.debug.type")})," ",ab.nodeType]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:q("chat.debug.timestamp")})," ",s(new Date(ab.timestamp),{dateStyle:"medium",timeStyle:"medium"})]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:q("chat.debug.actionTaken")})," ",ab.actionTaken]}),(0,aF.jsxs)(de.A,{sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:q("chat.debug.prepResult")})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(ab.prepResultSnapshot,null,2)})})]}),(0,aF.jsxs)(de.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",color:ab.execResultSnapshot?.success===!1?"error":"inherit",children:ab.execResultSnapshot?.success===!1?q("chat.debug.execResultError"):q("chat.debug.execResult")})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:ab.execResultSnapshot?.success===!1?(0,aF.jsxs)(aL.default,{sx:{p:1,background:p.palette.error.light,borderRadius:1},children:[(0,aF.jsxs)(aP.A,{variant:"body2",color:"error",gutterBottom:!0,children:[(0,aF.jsx)("b",{children:q("chat.debug.error")})," ",ab.execResultSnapshot.error||q("chat.debug.unknownError")]}),ab.execResultSnapshot.errorDetails&&(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"150px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"4px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(ab.execResultSnapshot.errorDetails,null,2)})]}):(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(ab.execResultSnapshot,null,2)})})]}),(0,aF.jsxs)(de.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:q("chat.debug.stateBefore")})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(ab.stateBefore,null,2)})})]}),(0,aF.jsxs)(de.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:q("chat.debug.stateAfter")})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(ab.stateAfter,null,2)})})]})]}):(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:q("chat.debug.selectStep")}),(0,aF.jsxs)(de.A,{defaultExpanded:!0,sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(df.A,{expandIcon:(0,aF.jsx)(bu.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:q("chat.debug.runData")})}),(0,aF.jsx)(dg.A,{sx:{p:0},children:(0,aF.jsx)(dN,{conversationId:b,refreshToken:n?.resourceVersion})})]})]})};return(0,aF.jsxs)(d_,{elevation:2,children:[(0,aF.jsxs)(d0,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:[(0,aF.jsxs)(aL.default,{children:[(0,aF.jsx)(aP.A,{variant:"h6",children:q("chat.debug.title")}),(0,aF.jsxs)(aP.A,{variant:"caption",color:"textSecondary",display:"block",children:[q("chat.debug.breakpointHelp"),ap.length>0?` \xb7 ${r("chat.debug.activeBreakpoints",ap.length)}`:""]}),ap.length>0&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.5,flexWrap:"wrap"},children:[dH(ap).length>0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dl,{}),label:r("chat.debug.nodeBreakpoints",dH(ap).length)}),(ap??[]).filter(a=>a.startsWith(dE)).map(a=>a.slice(dE.length)).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dp,{}),label:"*"===a?q("chat.debug.anyToolBreakpoint"):a,onDelete:j?()=>j(ap.filter(b=>b!==`tool:${a}`)):void 0},a)),(ap??[]).filter(a=>a.startsWith(dF)).map(a=>a.slice(dF.length)).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dp,{}),label:q("chat.debug.toolNodeBreakpoint",{id:a.slice(0,8)}),onDelete:j?()=>j(ap.filter(b=>b!==`${dF}${a}`)):void 0},`tool-node:${a}`))]})]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(aQ.A,{title:y.conversation?q("chat.debug.hideSection",{section:t.conversation}):q("chat.debug.showSection",{section:t.conversation}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ay("conversation"),color:y.conversation?"primary":"default","aria-label":y.conversation?q("chat.debug.hideSection",{section:t.conversation}):q("chat.debug.showSection",{section:t.conversation}),children:(0,aF.jsx)(dj.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:y.tracker?q("chat.debug.hideSection",{section:t.tracker}):q("chat.debug.showSection",{section:t.tracker}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ay("tracker"),color:y.tracker?"primary":"default","aria-label":y.tracker?q("chat.debug.hideSection",{section:t.tracker}):q("chat.debug.showSection",{section:t.tracker}),children:(0,aF.jsx)(bc.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:y.detail?q("chat.debug.hideSection",{section:t.detail}):q("chat.debug.showSection",{section:t.detail}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ay("detail"),color:y.detail?"primary":"default","aria-label":y.detail?q("chat.debug.hideSection",{section:t.detail}):q("chat.debug.showSection",{section:t.detail}),children:(0,aF.jsx)(dk,{fontSize:"small"})})}),m&&(0,aF.jsx)(aQ.A,{title:l?q("chat.debug.exitFullscreen"):q("chat.debug.enterFullscreen"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:m,"aria-label":l?q("chat.debug.exitFullscreen"):q("chat.debug.enterFullscreen"),children:l?(0,aF.jsx)(cf.A,{fontSize:"small"}):(0,aF.jsx)(ce.A,{fontSize:"small"})})}),k&&(0,aF.jsx)(aQ.A,{title:q("chat.debug.close"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:k,"aria-label":q("chat.debug.close"),children:(0,aF.jsx)(cd.A,{fontSize:"small"})})})]})]}),(0,aF.jsx)(d1,{children:0===ax.length?(0,aF.jsx)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",p:3},children:(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:q("chat.debug.allHidden")})}):ax.map((a,b)=>{let c,d,e;return(0,aF.jsxs)(aH().Fragment,{children:[(c="tracker"!==a,d="conversation"===a?A:"detail"===a?C:void 0,(0,aF.jsxs)(aL.default,{sx:{...c?{width:d,flexShrink:0}:{flexGrow:1,minWidth:300},display:"flex",flexDirection:"column",overflow:"hidden",minHeight:0},children:[(e=ax.indexOf(a),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:1,py:.5,borderBottom:`1px solid ${p.palette.divider}`},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",noWrap:!0,children:t[a]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex"},children:[(0,aF.jsx)(aQ.A,{title:q("chat.debug.moveLeft",{section:t[a]}),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>az(a,-1),disabled:e<=0,"aria-label":q("chat.debug.moveLeft",{section:t[a]}),children:(0,aF.jsx)(dh,{fontSize:"small"})})})}),(0,aF.jsx)(aQ.A,{title:q("chat.debug.moveRight",{section:t[a]}),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>az(a,1),disabled:e<0||e>=ax.length-1,"aria-label":q("chat.debug.moveRight",{section:t[a]}),children:(0,aF.jsx)(di,{fontSize:"small"})})})}),(0,aF.jsx)(aQ.A,{title:q("chat.debug.hideSection",{section:t[a]}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>ay(a),"aria-label":q("chat.debug.hideSection",{section:t[a]}),children:(0,aF.jsx)(cd.A,{fontSize:"small"})})})]})]})),aB[a]]},a)),b<ax.length-1&&((a,b)=>{let c="tracker"!==a?a:"tracker"!==b?b:null;if(!c)return null;let d="tracker"!==a?1:-1;return(0,aF.jsx)(d5,{onPointerDown:a=>aA(c,d,a),"aria-label":q("chat.debug.resizeSection",{section:t[c]})},`resizer-${a}-${b}`)})(a,ax[b+1])]},a)})}),(0,aF.jsxs)(d4,{children:[(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",onClick:_,disabled:g||u<=0,children:q("chat.debug.previous")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"small",onClick:aa,disabled:g||-1===u,children:a.executionTrace&&u<a.executionTrace.length-1?q("chat.debug.nextTrace"):q("chat.debug.stepNext")}),d&&(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",onClick:d,disabled:g,children:q("chat.debug.stepOver")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"secondary",size:"small",onClick:e,disabled:g,children:q("chat.debug.continue")}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"error",size:"small",onClick:f,disabled:g,children:q("chat.debug.stop")})]})]})};var d7=c(27666);let d8=({mode:a,onClose:b,isExpanded:c,onToggleExpand:d})=>{let{t:e}=(0,bU.s9)();return(0,aF.jsxs)(cQ.A,{elevation:0,square:!0,sx:{height:"100%",display:"flex",flexDirection:"column",minHeight:0,bgcolor:"background.default"},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.5,borderBottom:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(d7.A,{fontSize:"small",color:"primary"}),(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{flexGrow:1},children:e("chat.debug.title")}),d&&(0,aF.jsx)(aQ.A,{title:e(c?"chat.debug.exitFullscreen":"chat.debug.enterFullscreen"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:d,"aria-label":e(c?"chat.debug.exitFullscreen":"chat.debug.enterFullscreen"),children:c?(0,aF.jsx)(cf.A,{fontSize:"small"}):(0,aF.jsx)(ce.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:e("chat.debug.close"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:b,"aria-label":e("chat.debug.close"),children:(0,aF.jsx)(cd.A,{fontSize:"small"})})})]}),(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,minHeight:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,p:3,textAlign:"center"},"data-testid":"debugger-pending",children:[(0,aF.jsx)(aN.default,{size:32}),(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:e("attaching"===a?"chat.debug.pendingAttaching":"chat.debug.pendingArmed")}),(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{maxWidth:420},children:e("attaching"===a?"chat.debug.pendingAttachingHelp":"chat.debug.pendingArmedHelp")})]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:1,p:1,borderTop:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",disabled:!0,children:e("chat.debug.previous")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"small",disabled:!0,children:e("chat.debug.stepNext")}),(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",disabled:!0,children:e("chat.debug.stepOver")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"secondary",size:"small",disabled:!0,children:e("chat.debug.continue")})]})]})},d9=(0,c9.h)("frontend/components/Chat/ExecutedFlowPanel"),ea={start:dt.vm,process:dt.Uw,finish:dt.IK,mcp:dt.v2,subflow:dt.lA,resource:dt.z9,signal:dt.z3},eb={custom:du.jY,mcpEdge:du.oY,resourceEdge:du.sZ},ec=({flowId:a,flowSnapshot:b,executedNodeIds:c,liveActivity:d,onClose:e})=>{let{t:f}=(0,bU.s9)(),g=(0,a$.A)(),[h,i]=(0,aG.useState)(null),[j,k]=(0,aG.useState)(!0),[l,m]=(0,aG.useState)(null),[n,o,p]=(0,dr.ck)([]),[q,r,s]=(0,dr.fM)([]);(0,aG.useEffect)(()=>{let c=!1;return(async()=>{k(!0),m(null);try{if(b&&Array.isArray(b.nodes)){c||i(b);return}if(!a)throw Error(f("chat.executed.noAgent"));d9.debug(`Loading flow definition for ID: ${a}`);let d=await ds.g.getFlow(a);if(!d)throw Error(f("chat.executed.notFound",{id:a}));c||i(d)}catch(a){d9.error("Error loading flow definition:",a),c||(m(a instanceof Error?a.message:f("chat.executed.loadFailed")),i(null))}finally{c||k(!1)}})(),()=>{c=!0}},[a,b,f]),(0,aG.useEffect)(()=>{h&&(o(h.nodes.map(a=>({...a,draggable:!1,selectable:!1,connectable:!1}))),r(h.edges.map(a=>({...a,selectable:!1}))))},[h,o,r]);let t=(0,aG.useMemo)(()=>new Set(c),[c]),[u,v]=(0,aG.useState)(()=>Date.now());(0,aG.useEffect)(()=>{if(!d)return;let a=()=>Object.values(d.byNode).some(a=>Date.now()-a.ts<4e3);if(!a())return;let b=setInterval(()=>{v(Date.now()),a()||clearInterval(b)},350);return()=>clearInterval(b)},[d]);let w=(0,aG.useMemo)(()=>n.map(a=>{let b=t.has(a.id),c=d?.byNode[a.id],e=!!c&&u-c.ts<4e3;return{...a,style:{...a.style,opacity:b||e?1:.4,border:e?`2px solid ${g.palette.primary.main}`:b?`2px solid ${g.palette.success.main}`:`1px solid ${g.palette.divider}`,boxShadow:e?`0 0 10px ${g.palette.primary.light}`:b?`0 0 8px ${g.palette.success.light}`:void 0}}}),[n,t,d,u,g]);return(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",height:"100%",borderLeft:1,borderColor:"divider",minWidth:0},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,borderBottom:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(bc.A,{fontSize:"small",color:"action"}),(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{flex:1,minWidth:0},noWrap:!0,children:f("chat.executed.title")}),(0,aF.jsx)(aQ.A,{title:f("chat.executed.hide"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:e,"aria-label":f("chat.executed.hide"),children:(0,aF.jsx)(cd.A,{fontSize:"small"})})})]}),(0,aF.jsx)(aL.default,{sx:{flex:1,minHeight:0,position:"relative"},children:j?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(aN.default,{})}):l?(0,aF.jsx)(aO.A,{severity:"info",sx:{m:2},children:l}):(0,aF.jsx)(dr.Ln,{children:(0,aF.jsx)(dr.Gc,{nodes:w,edges:q,onNodesChange:p,onEdgesChange:s,nodeTypes:ea,edgeTypes:eb,fitView:!0,attributionPosition:"bottom-right",nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!1})})})]})};var ed=c(79705),ee=c(83135),ef=c(27124);let eg={authentication:"chat.page.errorClass.authentication",authorization:"chat.page.errorClass.authorization",cancelled:"chat.page.errorClass.cancelled",configuration:"chat.page.errorClass.configuration",context_limit:"chat.page.errorClass.context_limit",network:"chat.page.errorClass.network",provider:"chat.page.errorClass.provider",rate_limit:"chat.page.errorClass.rate_limit",timeout:"chat.page.errorClass.timeout",validation:"chat.page.errorClass.validation",unknown:"chat.page.errorClass.unknown"};function eh({error:a,fallbackMessage:b,compact:c}){let{t:d}=(0,bU.s9)(),[e,f]=(0,aG.useState)(!1),[g,h]=(0,aG.useState)(!1),i=a?.message||b||d("chat.page.endedError"),j=!!(a&&(a.code||a.httpStatus||a.errorClass||a.retryAfter)),k=async()=>{try{let b=JSON.stringify(a??{message:i},null,2);await navigator.clipboard.writeText(b),h(!0)}catch{}};return(0,aF.jsxs)(aL.default,{sx:{minWidth:0},children:[(0,aF.jsx)(aP.A,{variant:"body2",component:"span",sx:{wordBreak:"break-word"},children:i}),j&&(0,aF.jsxs)(ed.A,{direction:"row",spacing:.5,flexWrap:"wrap",sx:{mt:.5},children:[a?.code&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorCode",{code:a.code})}),a?.httpStatus!==void 0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorStatus",{status:a.httpStatus})}),a?.errorClass&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d(eg[a.errorClass])}),a?.retryAfter&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorRetryAfter",{seconds:a.retryAfter})})]}),!c&&a&&(a.details||j)&&(0,aF.jsxs)(aL.default,{sx:{mt:.5},children:[(0,aF.jsxs)(ed.A,{direction:"row",spacing:1.5,alignItems:"center",children:[(0,aF.jsxs)(ee.A,{component:"button",type:"button",variant:"caption",underline:"hover",onClick:()=>f(a=>!a),sx:{color:"inherit"},children:[d("chat.page.errorDetails")," ",e?"▾":"▸"]}),(0,aF.jsx)(ee.A,{component:"button",type:"button",variant:"caption",underline:"hover",onClick:k,sx:{color:"inherit"},children:d("chat.page.errorCopy")})]}),e&&a.details&&(0,aF.jsx)(aL.default,{component:"pre",sx:{mt:.5,p:1,maxHeight:240,overflow:"auto",fontSize:"0.7rem",bgcolor:"action.hover",borderRadius:1,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(a.details,null,2)})]}),(0,aF.jsx)(ef.A,{open:g,autoHideDuration:2e3,onClose:()=>h(!1),message:d("chat.page.errorCopied")})]})}function ei(a){return a?.nodes?.find(a=>(a?.type??a?.data?.type)==="start")}var ej=c(61146),ek=c(74948);function el(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}function em(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)}let en=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return en=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))};function eo(a){return"object"==typeof a&&null!==a&&("name"in a&&"AbortError"===a.name||"message"in a&&String(a.message).includes("FetchRequestCanceledException"))}let ep=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)};class eq extends Error{}class er extends eq{constructor(a,b,c,d){super(`${er.makeMessage(a,b,c)}`),this.status=a,this.headers=d,this.requestID=d?.get("x-request-id"),this.error=b,this.code=b?.code,this.param=b?.param,this.type=b?.type}static makeMessage(a,b,c){let d=b?.message?"string"==typeof b.message?b.message:JSON.stringify(b.message):b?JSON.stringify(b):c;return a&&d?`${a} ${d}`:a?`${a} status code (no body)`:d||"(no status code or body)"}static generate(a,b,c,d){if(!a||!d)return new et({message:c,cause:ep(b)});let e=b?.error;return 400===a?new ev(a,e,c,d):401===a?new ew(a,e,c,d):403===a?new ex(a,e,c,d):404===a?new ey(a,e,c,d):409===a?new ez(a,e,c,d):422===a?new eA(a,e,c,d):429===a?new eB(a,e,c,d):a>=500?new eC(a,e,c,d):new er(a,e,c,d)}}class es extends er{constructor({message:a}={}){super(void 0,void 0,a||"Request was aborted.",void 0)}}class et extends er{constructor({message:a,cause:b}){super(void 0,void 0,a||"Connection error.",void 0),b&&(this.cause=b)}}class eu extends et{constructor({message:a}={}){super({message:a??"Request timed out."})}}class ev extends er{}class ew extends er{}class ex extends er{}class ey extends er{}class ez extends er{}class eA extends er{}class eB extends er{}class eC extends er{}class eD extends eq{constructor(){super("Could not parse response content as the length limit was reached")}}class eE extends eq{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class eF extends Error{constructor(a){super(a)}}class eG extends er{constructor(a,b,c){let d,e="OAuth2 authentication error";if(b&&"object"==typeof b){d=b.error;const a=b.error_description;a&&"string"==typeof a?e=a:d&&(e=d)}super(a,b,e,c),this.error_code=d}}class eH extends eq{constructor(a,b,c){super(a),this.provider=b,this.cause=c}}let eI=/^[a-z][a-z0-9+.-]*:/i,eJ=a=>(eJ=Array.isArray)(a),eK=eJ;function eL(a){return"object"!=typeof a?{}:a??{}}function eM(a){if(!a)return!0;for(let b in a)return!1;return!0}function eN(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}let eO=a=>new Promise(b=>setTimeout(b,a)),eP="7.3.0",eQ=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",eR=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown";function eS(){if("u">typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function eT(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}function eU(a){let b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator]();return eT({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}})}function eV(a){if(a[Symbol.asyncIterator])return a;let b=a.getReader();return{async next(){try{let a=await b.read();return a?.done&&b.releaseLock(),a}catch(a){throw b.releaseLock(),a}},async return(){let a=b.cancel();return b.releaseLock(),await a,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function eW(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let eX=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)}),eY="RFC3986",eZ=a=>String(a),e$={RFC1738:a=>String(a).replace(/%20/g,"+"),RFC3986:eZ},e_=(a,b)=>(e_=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty))(a,b),e0=(()=>{let a=[];for(let b=0;b<256;++b)a.push("%"+((b<16?"0":"")+b.toString(16)).toUpperCase());return a})();function e1(a,b){if(eJ(a)){let c=[];for(let d=0;d<a.length;d+=1)c.push(b(a[d]));return c}return b(a)}let e2={brackets:a=>String(a)+"[]",comma:"comma",indices:(a,b)=>String(a)+"["+b+"]",repeat:a=>String(a)},e3=function(a,b){Array.prototype.push.apply(a,eJ(b)?b:[b])},e4={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:(a,b,c,d,e)=>{if(0===a.length)return a;let f=a;if("symbol"==typeof a?f=Symbol.prototype.toString.call(a):"string"!=typeof a&&(f=String(a)),"iso-8859-1"===c)return escape(f).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let g="";for(let a=0;a<f.length;a+=1024){let b=f.length>=1024?f.slice(a,a+1024):f,c=[];for(let a=0;a<b.length;++a){let d=b.charCodeAt(a);if(45===d||46===d||95===d||126===d||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||"RFC1738"===e&&(40===d||41===d)){c[c.length]=b.charAt(a);continue}if(d<128){c[c.length]=e0[d];continue}if(d<2048){c[c.length]=e0[192|d>>6]+e0[128|63&d];continue}if(d<55296||d>=57344){c[c.length]=e0[224|d>>12]+e0[128|d>>6&63]+e0[128|63&d];continue}a+=1,d=65536+((1023&d)<<10|1023&b.charCodeAt(a)),c[c.length]=e0[240|d>>18]+e0[128|d>>12&63]+e0[128|d>>6&63]+e0[128|63&d]}g+=c.join("")}return g},encodeValuesOnly:!1,format:eY,formatter:eZ,indices:!1,serializeDate:a=>(e??(e=Function.prototype.call.bind(Date.prototype.toISOString)))(a),skipNulls:!1,strictNullHandling:!1},e5={};function e6(a){let b;return(f??(f=(b=new globalThis.TextEncoder).encode.bind(b)))(a)}function e7(a){let b;return(g??(g=(b=new globalThis.TextDecoder).decode.bind(b)))(a)}class e8{constructor(){h.set(this,void 0),i.set(this,void 0),el(this,h,new Uint8Array,"f"),el(this,i,null,"f")}decode(a){let b;if(null==a)return[];let c=a instanceof ArrayBuffer?new Uint8Array(a):"string"==typeof a?e6(a):a;el(this,h,function(a){let b=0;for(let c of a)b+=c.length;let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}([em(this,h,"f"),c]),"f");let d=[];for(;null!=(b=function(a,b){for(let c=b??0;c<a.length;c++){if(10===a[c])return{preceding:c,index:c+1,carriage:!1};if(13===a[c])return{preceding:c,index:c+1,carriage:!0}}return null}(em(this,h,"f"),em(this,i,"f")));){if(b.carriage&&null==em(this,i,"f")){el(this,i,b.index,"f");continue}if(null!=em(this,i,"f")&&(b.index!==em(this,i,"f")+1||b.carriage)){d.push(e7(em(this,h,"f").subarray(0,em(this,i,"f")-1))),el(this,h,em(this,h,"f").subarray(em(this,i,"f")),"f"),el(this,i,null,"f");continue}let a=null!==em(this,i,"f")?b.preceding-1:b.preceding,c=e7(em(this,h,"f").subarray(0,a));d.push(c),el(this,h,em(this,h,"f").subarray(b.index),"f"),el(this,i,null,"f")}return d}flush(){return em(this,h,"f").length?this.decode("\n"):[]}}h=new WeakMap,i=new WeakMap,e8.NEWLINE_CHARS=new Set(["\n","\r"]),e8.NEWLINE_REGEXP=/\r\n|[\n\r]/g;let e9={off:0,error:200,warn:300,info:400,debug:500},fa=(a,b,c)=>{if(a){if(Object.prototype.hasOwnProperty.call(e9,a))return a;ff(c).warn(`${b} was set to ${JSON.stringify(a)}, expected one of ${JSON.stringify(Object.keys(e9))}`)}};function fb(){}function fc(a,b,c){return!b||e9[a]>e9[c]?fb:b[a].bind(b)}let fd={error:fb,warn:fb,info:fb,debug:fb},fe=new WeakMap;function ff(a){let b=a.logger,c=a.logLevel??"off";if(!b)return fd;let d=fe.get(b);if(d&&d[0]===c)return d[1];let e={error:fc("error",b,c),warn:fc("warn",b,c),info:fc("info",b,c),debug:fc("debug",b,c)};return fe.set(b,[c,e]),e}let fg=a=>(a.options&&(a.options={...a.options},delete a.options.headers),a.headers&&(a.headers=Object.fromEntries((a.headers instanceof Headers?[...a.headers]:Object.entries(a.headers)).map(([a,b])=>[a,"authorization"===a.toLowerCase()||"api-key"===a.toLowerCase()||"x-api-key"===a.toLowerCase()||"x-amz-security-token"===a.toLowerCase()||"cookie"===a.toLowerCase()||"set-cookie"===a.toLowerCase()?"***":b]))),"retryOfRequestLogID"in a&&(a.retryOfRequestLogID&&(a.retryOf=a.retryOfRequestLogID),delete a.retryOfRequestLogID),a);class fh{constructor(a,b,c){this.iterator=a,j.set(this,void 0),this.controller=b,el(this,j,c,"f")}static fromSSEResponse(a,b,c,d){let e=!1,f=c?ff(c):console;async function*g(){if(e)throw new eq("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");e=!0;let c=!1;try{for await(let e of fi(a,b))if(!c){if(e.data.startsWith("[DONE]")){c=!0;continue}if(null!==e.event&&e.event.startsWith("thread.")){let a;try{a=JSON.parse(e.data)}catch(a){throw console.error("Could not parse message into JSON:",e.data),console.error("From chunk:",e.raw),a}if("error"==e.event)throw new er(void 0,a.error,a.message,void 0);yield{event:e.event,data:a}}else{let b;try{b=JSON.parse(e.data)}catch(a){throw f.error("Could not parse message into JSON:",e.data),f.error("From chunk:",e.raw),a}if(b&&b.error)throw new er(void 0,b.error,void 0,a.headers);yield d?{event:e.event,data:b}:b}}c=!0}catch(a){if(eo(a))return;throw a}finally{c||b.abort()}}return new fh(g,b,c)}static fromReadableStream(a,b,c){let d=!1;async function*e(){let c,d=new e8,e=a.getReader(),f=!1,g=()=>{c??(c=e.cancel()),c.catch(()=>{})};b.signal.addEventListener("abort",g,{once:!0});try{if(b.signal.aborted)return void g();for(;;){let{value:a,done:c}=await e.read();if(c){f=!0;break}if(b.signal.aborted)return;for(let c of d.decode(a)){if(b.signal.aborted)return;yield c}}if(b.signal.aborted)return;for(let a of d.flush()){if(b.signal.aborted)return;yield a}}finally{b.signal.removeEventListener("abort",g),f||g(),e.releaseLock()}}return new fh(async function*(){if(d)throw new eq("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let a=!1;try{for await(let b of e())!a&&b&&(yield JSON.parse(b));a=!0}catch(a){if(b.signal.aborted||eo(a))return;throw a}finally{a||b.abort()}},b,c)}[(j=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let a=[],b=[],c=this.iterator(),d=d=>({next:()=>{if(0===d.length){let d=c.next();a.push(d),b.push(d)}return d.shift()}});return[new fh(()=>d(a),this.controller,em(this,j,"f")),new fh(()=>d(b),this.controller,em(this,j,"f"))]}toReadableStream(){let a,b=this;return eT({async start(){a=b[Symbol.asyncIterator]()},async pull(b){try{let{value:c,done:d}=await a.next();if(d)return b.close();let e=e6(JSON.stringify(c)+"\n");b.enqueue(e)}catch(a){b.error(a)}},async cancel(){await a.return?.()}})}}async function*fi(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new eq("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new eq("Attempted to iterate over a response with no body")}let c=new fk,d=new e8;for await(let b of fj(eV(a.body)))for(let a of d.decode(b)){let b=c.decode(a);b&&(yield b)}for(let a of d.flush()){let b=c.decode(a);b&&(yield b)}}async function*fj(a){let b=new Uint8Array;for await(let c of a){let a;if(null==c)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):"string"==typeof c?e6(c):c,e=new Uint8Array(b.length+d.length);for(e.set(b),e.set(d,b.length),b=e;-1!==(a=function(a){for(let b=0;b<a.length-1;b++){if(10===a[b]&&10===a[b+1]||13===a[b]&&13===a[b+1])return b+2;if(13===a[b]&&10===a[b+1]&&b+3<a.length&&13===a[b+2]&&10===a[b+3])return b+4}return -1}(b));)yield b.slice(0,a),b=b.slice(a)}b.length>0&&(yield b)}class fk{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(a){var b;let c;if(a.endsWith("\r")&&(a=a.substring(0,a.length-1)),!a){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(a),a.startsWith(":"))return null;let[d,e,f]=-1!==(c=(b=a).indexOf(":"))?[b.substring(0,c),":",b.substring(c+1)]:[b,"",""];return f.startsWith(" ")&&(f=f.substring(1)),"event"===d?this.event=f:"data"===d&&this.data.push(f),null}}async function fl(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(b.options.stream)return(ff(a).debug("response",c.status,c.url,c.headers,c.body),b.options.__streamClass)?b.options.__streamClass.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData):fh.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData);if(204===c.status)return null;if(b.options.__binaryResponse)return c;let d=c.headers.get("content-type"),e=d?.split(";")[0]?.trim();if(e?.includes("application/json")||e?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return fm(await c.json(),c)}return await c.text()})();return ff(a).debug(`[${d}] response parsed`,fg({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}function fm(a,b){return!a||"object"!=typeof a||Array.isArray(a)?a:Object.defineProperty(a,"_request_id",{value:b.headers.get("x-request-id"),enumerable:!1})}class fn extends Promise{constructor(a,b,c=fl){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,k.set(this,void 0),el(this,k,a,"f")}_thenUnwrap(a){return new fn(em(this,k,"f"),this.responsePromise,async(b,c)=>fm(a(await this.parseResponse(b,c),c),c.response))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b,request_id:b.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse(em(this,k,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}k=new WeakMap;class fo{constructor(a,b,c,d){l.set(this,void 0),el(this,l,a,"f"),this.options=d,this.response=b,this.body=c}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let a=this.nextPageRequestOptions();if(!a)throw new eq("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await em(this,l,"f").requestAPIList(this.constructor,a)}async *iterPages(){let a=this;for(yield a;a.hasNextPage();)a=await a.getNextPage(),yield a}async *[(l=new WeakMap,Symbol.asyncIterator)](){for await(let a of this.iterPages())for(let b of a.getPaginatedItems())yield b}}class fp extends fn{constructor(a,b,c){super(a,b,async(a,b)=>new c(a,b.response,await fl(a,b),b.options))}async *[Symbol.asyncIterator](){for await(let a of(await this))yield a}}class fq extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.object=c.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class fr extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.getPaginatedItems(),b=a[a.length-1]?.id;return b?{...this.options,query:{...eL(this.options.query),after:b}}:null}}class fs extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.last_id=c.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.last_id;return a?{...this.options,query:{...eL(this.options.query),after:a}}:null}}class ft extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.next=c.next||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.next;return a?{...this.options,query:{...eL(this.options.query),after:a}}:null}}let fu={jwt:"urn:ietf:params:oauth:token-type:jwt",id:"urn:ietf:params:oauth:token-type:id_token"};class fv{constructor(a,b){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl="https://auth.openai.com/oauth/token",this.config=a,this.fetch=b??eS()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let a={grant_type:"urn:ietf:params:oauth:grant-type:token-exchange",subject_token:await this.config.provider.getToken(),subject_token_type:fu[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId};this.config.clientId&&(a.client_id=this.config.clientId);let b=await this.fetch(this.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a,c=await b.text();try{a=JSON.parse(c)}catch{}if(400===b.status||401===b.status||403===b.status)throw new eG(b.status,a,b.headers);throw er.generate(b.status,a,`Token exchange failed with status ${b.status}`,b.headers)}let c=await b.json();if("object"!=typeof c||null===c||!("access_token"in c)||"string"!=typeof c.access_token||0===c.access_token.trim().length)throw new eq("Token exchange response missing 'access_token' field");let d=c.access_token,e=c.expires_in??3600,f=Date.now()+1e3*e;return this.cachedToken={token:d,expiresAt:f},d}isTokenExpired(a){return Date.now()>=a.expiresAt}needsRefresh(a){let b=this.config.refreshBufferSeconds??1200;return Date.now()>=a.expiresAt-1e3*b}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}}let fw=Symbol("brand.privateNullableHeaders"),fx=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,fy=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(fw in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():eK(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=eK(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){if(!fx.test(e))throw TypeError(`Header name must be a valid HTTP token ["${e}"]`);let d=e.toLowerCase();a.has(d)||(b.delete(d),a.add(d)),null===f?(b.delete(d),c.add(d)):(b.append(d,f),c.delete(d))}}return{[fw]:!0,values:b,nulls:c}},fz=Symbol("brand.privateStreamingFile"),fA=()=>{if("u"<typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to a supported Node.js LTS release, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function fB(a,b,c){return fA(),new File(a,b??"unknown_file",c)}function fC(a){return("object"==typeof a&&null!==a&&("name"in a&&a.name&&String(a.name)||"url"in a&&a.url&&String(a.url)||"filename"in a&&a.filename&&String(a.filename)||"path"in a&&a.path&&String(a.path))||"").split(/[\\/]/).pop()||void 0}let fD=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],fE=async(a,b)=>fN(a.body)?fM(a.body)?fO(a):{...a,body:await fH(a.body,b)}:a,fF=async(a,b)=>fM(a.body)?fO(a):{...a,body:await fH(a.body,b)},fG=new WeakMap,fH=async(a,b)=>{if(!await function(a){let b="function"==typeof a?a:a.fetch,c=fG.get(b);if(c)return c;let d=(async()=>{try{let a;if("Response"in b)a=b.Response;else{let c=await b("data:,");await c.arrayBuffer(),a=c.constructor}let c=new FormData;if(c.toString()===await new a(c).text())return!1;return!0}catch{return!0}})();return fG.set(b,d),d}(b))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let c=new FormData;return await Promise.all(Object.entries(a||{}).map(([a,b])=>fU(c,a,b))),c},fI=a=>a instanceof Blob&&"name"in a,fJ=a=>"object"==typeof a&&null!==a&&"getReader"in a&&"function"==typeof a.getReader,fK=a=>"object"==typeof a&&null!==a&&fz in a,fL=a=>"object"==typeof a&&null!==a&&(a instanceof Response||fD(a)||fJ(a)||fK(a)||fI(a)),fM=a=>{if(fK(a)||fD(a)||fJ(a))return!0;if(Array.isArray(a))return a.some(fM);if(a&&"object"==typeof a&&!fI(a)&&!(a instanceof Response)){for(let b in a)if(fM(a[b]))return!0}return!1},fN=a=>{if(fL(a))return!0;if(Array.isArray(a))return a.some(fN);if(a&&"object"==typeof a){for(let b in a)if(fN(a[b]))return!0}return!1},fO=a=>{let b=`openai-${Math.random().toString(36).slice(2)}`,c=eU(fP(a.body,b));return{...a,body:c,headers:fy([{"content-type":`multipart/form-data; boundary=${b}`},a.headers])}};async function*fP(a,b){for await(let{key:f,value:g}of fQ(a)){if(yield e6(`--${b}\r
1
+ (()=>{var a={};a.id=8457,a.ids=[8457],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1708:a=>{"use strict";a.exports=require("node:process")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},8255:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M12 12.75c1.63 0 3.07.39 4.24.9 1.08.48 1.76 1.56 1.76 2.73V17c0 .55-.45 1-1 1H7c-.55 0-1-.45-1-1v-.61c0-1.18.68-2.26 1.76-2.73 1.17-.52 2.61-.91 4.24-.91M4 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m1.13 1.1c-.37-.06-.74-.1-1.13-.1-.99 0-1.93.21-2.78.58C.48 14.9 0 15.62 0 16.43V17c0 .55.45 1 1 1h3.5v-1.61c0-.83.23-1.61.63-2.29M20 13c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m4 3.43c0-.81-.48-1.53-1.22-1.85-.85-.37-1.79-.58-2.78-.58-.39 0-.76.04-1.13.1.4.68.63 1.46.63 2.29V18H23c.55 0 1-.45 1-1zM12 6c1.66 0 3 1.34 3 3s-1.34 3-3 3-3-1.34-3-3 1.34-3 3-3"}),"GroupsRounded")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12236:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24.21-.34.1-.79-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72"}),"ScheduleRounded")},14108:(a,b,c)=>{"use strict";c.d(b,{A:()=>g});var d=c(48249),e=c(67484);let f=(0,c(6680).h)("frontend/components/ClientOnly");function g({children:a}){let[b,c]=(0,e.useState)(!1);return b?(f.debug("ClientOnly component rendering children"),(0,d.jsx)(d.Fragment,{children:a})):(f.debug("ClientOnly component rendering null (not yet mounted)"),null)}},17891:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/get-segment-param")},19121:a=>{"use strict";a.exports=require("next/dist/server/app-render/action-async-storage.external.js")},26713:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/is-bot")},28336:(a,b,c)=>{"use strict";let d,e,f,g;c.r(b),c.d(b,{default:()=>it});var h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z,$,_,aa,ab,ac,ad,ae,af,ag,ah,ai,aj,ak,al,am,an,ao,ap,aq,ar,as,at,au,av,aw,ax,ay,az,aA,aB,aC,aD,aE,aF=c(48249),aG=c(67484),aH=c.n(aG),aI=c(60333),aJ=c(19099),aK=c(17747),aL=c(29184),aM=c(77217),aN=c(52454),aO=c(76108),aP=c(55784),aQ=c(88458),aR=c(53800),aS=c(74222),aT=c(20437),aU=c(95747),aV=c(72099),aW=c(15209),aX=c(54269),aY=c(38592),aZ=c(4146),a$=c(95816),a_=c(39266),a0=c(33480),a1=c(72581),a2=c(15523),a3=c(74403);let a4=["top","up","bottom"];var a5=c(34123),a6=c(77493),a7=c(138),a8=c(8800),a9=c(32586);let ba=(0,a9.A)((0,aF.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m4 14H8V8h8z"}),"StopCircle"),bb=(0,a9.A)((0,aF.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft"),bc=(0,a9.A)((0,aF.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight"),bd=(0,a9.A)((0,aF.jsx)("path",{d:"M16 20H2V4h14zm2-12h4V4h-4zm0 12h4v-4h-4zm0-6h4v-4h-4z"}),"ViewSidebar");var be=c(10320),bf=c(19433),bg=c(82391),bh=c(20217);let bi=(0,a9.A)((0,aF.jsx)("path",{d:"M22 4c0-1.1-.9-2-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h14l4 4zm-2 13.17L18.83 16H4V4h16zM13 5h-2v4H7v2h4v4h2v-4h4V9h-4z"}),"AddCommentOutlined");var bj=c(31975),bk=c(35866),bl=c(18658),bm=c(52711),bn=c(30960),bo=c(47786),bp=c(75296),bq=c(64287),br=c(28298),bs=c(72539),bt=c(74453),bu=c(13288),bv=c(20158),bw=c(86471),bx=c(36485),by=c(98908),bz=c(43955),bA=c(52317),bB=c(78717);let bC=(0,a9.A)((0,aF.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zm2.46-7.12 1.41-1.41L12 12.59l2.12-2.12 1.41 1.41L13.41 14l2.12 2.12-1.41 1.41L12 15.41l-2.12 2.12-1.41-1.41L10.59 14zM15.5 4l-1-1h-5l-1 1H5v2h14V4z"}),"DeleteForever"),bD=(0,a9.A)((0,aF.jsx)("path",{d:"M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3zM14 5h-3l-1-1H6L5 5H2v2h12z"}),"DeleteSweep");var bE=c(12236),bF=c(45788),bG=c(63734);let bH=(0,a9.A)((0,aF.jsx)("path",{d:"M13 13c-.56.56-1.45.56-2 .01V13c-.55-.55-.55-1.44 0-1.99V11c.55-.55 1.44-.55 1.99 0H13c.55.55.55 1.45 0 2m-1-7 2.12 2.12 2.5-2.5-3.2-3.2c-.78-.78-2.05-.78-2.83 0l-3.2 3.2 2.5 2.5zm-6 6 2.12-2.12-2.5-2.5-3.2 3.2c-.78.78-.78 2.05 0 2.83l3.2 3.2 2.5-2.5zm12 0-2.12 2.12 2.5 2.5 3.2-3.2c.78-.78.78-2.05 0-2.83l-3.2-3.2-2.5 2.5zm-6 6-2.12-2.12-2.5 2.5 3.2 3.2c.78.78 2.05.78 2.83 0l3.2-3.2-2.5-2.5z"}),"ApiRounded");var bI=c(87526),bJ=c(91195),bK=c(8255);let bL=(0,a9.A)((0,aF.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m-1-4h2v2h-2zm1.61-9.96c-2.06-.3-3.88.97-4.43 2.79-.18.58.26 1.17.87 1.17h.2c.41 0 .74-.29.88-.67.32-.89 1.27-1.5 2.3-1.28.95.2 1.65 1.13 1.57 2.1-.1 1.34-1.62 1.63-2.45 2.88 0 .01-.01.01-.01.02-.01.02-.02.03-.03.05-.09.15-.18.32-.25.5-.01.03-.03.05-.04.08-.01.02-.01.04-.02.07-.12.34-.2.75-.2 1.25h2c0-.42.11-.77.28-1.07.02-.03.03-.06.05-.09.08-.14.18-.27.28-.39.01-.01.02-.03.03-.04.1-.12.21-.23.33-.34.96-.91 2.26-1.65 1.99-3.56-.24-1.74-1.61-3.21-3.35-3.47"}),"HelpOutlineRounded"),bM=(0,a9.A)((0,aF.jsx)("path",{d:"M11.99 2C6.47 2 2 6.48 2 12s4.47 10 9.99 10C17.52 22 22 17.52 22 12S17.52 2 11.99 2M12 20c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8m-.22-13h-.06c-.4 0-.72.32-.72.72v4.72c0 .35.18.68.49.86l4.15 2.49c.34.2.78.1.98-.24.21-.34.1-.79-.25-.99l-3.87-2.3V7.72c0-.4-.32-.72-.72-.72"}),"AccessTimeRounded"),bN=(0,a9.A)((0,aF.jsx)("path",{d:"M14 9h2.87c1.46 0 2.8.98 3.08 2.42.31 1.64-.74 3.11-2.22 3.48l1.53 1.53c1.77-.91 2.95-2.82 2.7-5.01C21.68 8.86 19.37 7 16.79 7H14c-.55 0-1 .45-1 1s.45 1 1 1M3.51 3.51a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l2.64 2.64c-1.77.91-2.95 2.82-2.7 5.01C2.32 15.14 4.63 17 7.21 17H10c.55 0 1-.45 1-1s-.45-1-1-1H7.13c-1.46 0-2.8-.98-3.08-2.42-.31-1.64.75-3.11 2.22-3.48l2.12 2.12c-.23.19-.39.46-.39.78 0 .55.45 1 1 1h1.17l8.9 8.9c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41zM14 11l1.71 1.71c.18-.18.29-.43.29-.71 0-.55-.45-1-1-1z"}),"LinkOffRounded"),bO=(0,a9.A)((0,aF.jsx)("path",{d:"M11 18h2c.55 0 1-.45 1-1s-.45-1-1-1h-2c-.55 0-1 .45-1 1s.45 1 1 1M3 7c0 .55.45 1 1 1h16c.55 0 1-.45 1-1s-.45-1-1-1H4c-.55 0-1 .45-1 1m4 6h10c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1 .45-1 1s.45 1 1 1"}),"FilterListRounded"),bP=(0,a9.A)((0,aF.jsx)("path",{d:"m12 5.83 2.46 2.46c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41L12.7 3.7a.996.996 0 0 0-1.41 0L8.12 6.88c-.39.39-.39 1.02 0 1.41s1.02.39 1.41 0zm0 12.34-2.46-2.46a.996.996 0 0 0-1.41 0c-.39.39-.39 1.02 0 1.41l3.17 3.18c.39.39 1.02.39 1.41 0l3.17-3.17c.39-.39.39-1.02 0-1.41a.996.996 0 0 0-1.41 0z"}),"UnfoldMoreRounded"),bQ=(0,a9.A)((0,aF.jsx)("path",{d:"M8.12 19.3c.39.39 1.02.39 1.41 0L12 16.83l2.47 2.47c.39.39 1.02.39 1.41 0s.39-1.02 0-1.41l-3.17-3.17a.996.996 0 0 0-1.41 0l-3.17 3.17c-.4.38-.4 1.02-.01 1.41m7.76-14.6a.996.996 0 0 0-1.41 0L12 7.17 9.53 4.7a.996.996 0 0 0-1.41 0c-.39.39-.39 1.03 0 1.42l3.17 3.17c.39.39 1.02.39 1.41 0l3.17-3.17c.4-.39.4-1.03.01-1.42"}),"UnfoldLessRounded");function bR(a){return"string"==typeof a&&a.startsWith("quickchat-")}c(78685);var bS=c(22730),bT=c(57606),bU=c(80128);let bV="wave:__adhoc__",bW="wave:__archived__";var bX=c(53027),bY=c(85152),bZ=c(32166);function b$({nodes:a,childrenByParent:b,renderItem:c,expanded:d,onToggle:e,depth:f=0,visited:g,maxDepth:h=20,parent:i}){let{t:j}=(0,bZ.s9)(),k=(0,a0.A)();if(!a||0===a.length||f>h)return null;let l=g??new Set;return(0,aF.jsx)(aF.Fragment,{children:a.map((g,m)=>{if(l.has(g.id))return null;let n=b.get(g.id)??[],o=n.length>0&&f<h,p=!1!==d[g.id],q=new Set(l);q.add(g.id);let r=m===a.length-1,s=(0,bY.X4)(k.palette.primary.main,"dark"===k.palette.mode?.5:.34);return(0,aF.jsxs)(aL.default,{"data-tree-depth":f,sx:{position:"relative",pl:3.25*(f>0),...f>0?{"&::before":{content:'""',position:"absolute",left:12,top:0,bottom:r?"calc(100% - 31px)":0,borderLeft:`2px solid ${s}`},"&::after":{content:'""',position:"absolute",left:12,top:30,width:14,borderTop:`2px solid ${s}`,borderTopLeftRadius:6}}:{}},children:[f>0&&i&&(0,aF.jsx)(aQ.A,{title:j("chat.chain.childOf",{title:i.title}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",noWrap:!0,sx:{display:"block",ml:4.25,mb:.15,maxWidth:"calc(100% - 40px)",fontWeight:650},children:["↳ ",j("chat.chain.childOf",{title:i.title})]})}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"flex-start"},children:[o?(0,aF.jsx)(aR.A,{size:"small",onClick:()=>e(g.id),"aria-label":p?j("chat.chain.collapse"):j("chat.chain.expand"),sx:{mt:.5,flexShrink:0,zIndex:1,border:"1px solid",borderColor:s,bgcolor:"background.paper","&:hover":{bgcolor:"action.hover"}},children:p?(0,aF.jsx)(bB.A,{fontSize:"small"}):(0,aF.jsx)(bA.A,{fontSize:"small"})}):(0,aF.jsx)(aL.default,{sx:{width:34,flexShrink:0}}),(0,aF.jsx)(aL.default,{sx:{flex:1,minWidth:0},children:c(g,f)})]}),o&&(0,aF.jsx)(bu.A,{in:p,timeout:"auto",unmountOnExit:!0,children:(0,aF.jsx)(b$,{nodes:n,childrenByParent:b,renderItem:c,expanded:d,onToggle:e,depth:f+1,visited:q,maxDepth:h,parent:g})})]},g.id)})})}var b_=c(60314),b0=c(76943);let b1={chat:{label:"User chat",description:"Started interactively from the chat workspace"},api:{label:"API",description:"Started through the chat completions API"},schedule:{label:"Automation",description:"Started by a planned execution or automation trigger"},trigger:{label:"Trigger",description:"Started by an unattended runtime trigger"},subflow:{label:"Subagent",description:"Spawned as a subagent by another conversation"},mcp:{label:"MCP run",description:"Started through FLUJO's MCP interface"},internal:{label:"Internal",description:"Started by an internal FLUJO tool"},meeting:{label:"Meeting",description:"Participated in a multi-flow meeting"},unknown:{label:"Unknown origin",description:"Origin metadata was not recorded for this older conversation"}};function b2(a,b){return{key:a,...b1[a],inferred:b}}function b3(a){return a.source&&a.source in b1?b2(a.source,!1):a.parentConversationId?b2("subflow",!0):a.plannedExecutionId?b2("schedule",!0):b2("unknown",!0)}var b4=c(41655),b5=c(76676),b6=c(81025),b7=c(61407);let b8=["all","running","awaiting_tool_approval","paused_debug","completed","error"],b9=["all","today","7d","30d"],ca=["none","date","flow","origin","wave","chain"],cb=["all","chat","schedule","subflow","meeting"],cc={chat:bj.A,api:bH,schedule:bE.A,trigger:bG.A,subflow:bF.A,mcp:bI.A,internal:bJ.A,meeting:bK.A,unknown:bL},cd=aH().memo(({conversations:a,totalConversations:b=a.length,hasMoreConversations:c=!1,isLoadingMore:d=!1,onLoadMore:e,onLoadAll:f,currentConversationId:g,revealRequest:h=null,onSelectConversation:i,onDeleteConversation:j,onBulkDelete:k,onStopConversation:l,onNewConversation:m,onQuickChat:n,onCollapse:o,collapsed:p=!1,flowNames:q={}})=>{let{t:r,tp:s,formatDate:t}=(0,bZ.s9)(),u=(0,a0.A)(),{visualStyle:v}=(0,b0.D)(),w="modern"===v,[x,y]=aH().useState(""),z=(0,b7.j)(),[A,B]=aH().useState({open:!1,ids:[],label:""}),[C,D]=aH().useState(!1),[E,F]=aH().useState(null),[G,H]=aH().useState({open:!1,parent:null,descendantIds:[],lookupFailed:!1}),[I,J]=(0,bX.Io)("flujo-ui:chat-sidebar:search-dim","title"),[K,L]=aH().useState(null),[M,N]=aH().useState(!1),[O,P]=aH().useState(!1),[Q,R]=aH().useState(null),S=aH().useRef(null),[T,U]=(0,bX.Io)("flujo-ui:chat-sidebar:group","none"),[V,W]=(0,bX.Io)("flujo-ui:chat-sidebar:status","all"),[X,Y]=(0,bX.Io)("flujo-ui:chat-sidebar:flow","all"),[Z,$]=(0,bX.Io)("flujo-ui:chat-sidebar:date","all"),[_,aa]=(0,bX.Io)("flujo-ui:chat-sidebar:origin","all"),[ab,ac]=(0,bX.Io)("flujo-ui:chat-sidebar:filters-open",!1),[ad,ae]=(0,bX.Io)("flujo-ui:chat-sidebar:collapsed",{}),af=x.trim(),ag=`${I}\u0000${_}\u0000${af}`,ah=af.length>0&&K?.key===ag?K:null,ai=af.length>0?ah?.items??[]:a,[aj,ak]=aH().useState(null),al=(0,aG.useMemo)(()=>ai.map(a=>`${a.id}:${a.plannedExecutionId??""}`).join("\0"),[ai]);aH().useEffect(()=>{if("wave"!==T)return;let a=!1;return fetch("/api/waves").then(a=>a.ok?a.json():null).then(b=>{!a&&b&&ak(b)}).catch(()=>{}),()=>{a=!0}},[T,al]);let am=(0,aG.useMemo)(()=>(function(a){let b=new Map;if(!a?.waves)return b;for(let c of a.waves){let a=c.rootExecutionIds?.[0],d=a&&c.nodes.find(b=>b.executionId===a)||c.nodes[0],e=d?.name||d?.flowName||c.id;for(let a of c.nodes)b.set(a.executionId,{waveId:c.id,label:e})}return b})(aj),[aj]);aH().useEffect(()=>{if(0===af.length){S.current?.abort(),S.current=null,L(null),R(null),N(!1),P(!1);return}let a=`${I}\u0000${_}\u0000${af}`,b=new AbortController;S.current?.abort(),S.current=b,L(null),R(null),N(!0),P(!1);let c=setTimeout(()=>{b5.O.listConversationPage({limit:50,search:af,dimension:I,..."all"!==_?{origin:_}:{},signal:b.signal}).then(c=>{b.signal.aborted||L({key:a,...c})}).catch(c=>{b.signal.aborted||c?.name==="AbortError"||(L({key:a,items:[],total:0,hasMore:!1}),R(a))}).finally(()=>{S.current!==b||b.signal.aborted||N(!1)})},300);return()=>{clearTimeout(c),b.abort(),S.current===b&&(S.current=null)}},[af,I,_]);let an=aH().useCallback(async()=>{let a=S.current;if(ah?.hasMore&&ah.nextCursor&&a&&!a.signal.aborted&&!O){P(!0),R(null);try{let b=await b5.O.listConversationPage({limit:50,cursor:ah.nextCursor,search:af,dimension:I,..."all"!==_?{origin:_}:{},signal:a.signal});if(a.signal.aborted)return;L(a=>{if(!a||a.key!==ag)return a;let c=new Set(a.items.map(a=>a.id)),d=b.items.filter(a=>!c.has(a.id));return{key:ag,...b,items:[...a.items,...d]}})}catch(b){if(a.signal.aborted||b?.name==="AbortError")return;R(ag)}finally{S.current!==a||a.signal.aborted||P(!1)}}},[ah,O,_,I,ag,af]),ao=aH().useCallback(a=>r(`chat.origin.${a}`),[r]),ap=aH().useCallback(a=>r(`chat.origin.description.${a}`),[r]),aq=aH().useCallback(a=>"all"===a?r("chat.history.anyOrigin"):"subflow"===a?r("chat.history.originSubflow"):ao(a),[ao,r]),ar=aH().useCallback(a=>a?bR(a)?{key:"flow:__quickchat__",label:r("chat.quick.title")}:{key:`flow:${a}`,label:q[a]??r("chat.history.unknownAgent")}:{key:"flow:__none__",label:r("chat.history.noAgent")},[q,r]),as=(0,aG.useMemo)(()=>{let a=new Map;for(let b of ai){let c=ar(b.flowId);a.has(c.key)||a.set(c.key,c.label)}return Array.from(a.entries()).map(([a,b])=>({key:a,label:b})).sort((a,b)=>a.label.localeCompare(b.label))},[ai,ar]),at=aH().useCallback(a=>{let b=Date.now(),c="today"===Z?b-864e5:"7d"===Z?b-6048e5:"30d"===Z?b-2592e6:0;return a.filter(a=>("all"===V||a.status===V)&&("all"===X||ar(a.flowId).key===X)&&("all"===_||b3(a).key===_)&&(!c||!(a.updatedAt<c))).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))},[V,X,_,Z,ar]),au=(0,aG.useMemo)(()=>at(ai),[at,ai]),av=(0,aG.useMemo)(()=>{if("none"===T)return[{key:"all",label:"",items:au}];if("wave"===T){var a;let b;return(a=(0,bU.Az)(au,a=>(function(a,b){if(!a)return{key:bV,label:"Ad-hoc"};let c=b.get(a);return c?{key:`wave:${c.waveId}`,label:c.label}:{key:bW,label:"Archived / no longer scheduled"}})(a.plannedExecutionId,am)),b=new Set([bV,bW]),[...a.filter(a=>!b.has(a.key)),...a.filter(a=>b.has(a.key))]).map(a=>({...a,label:"wave:__adhoc__"===a.key?r("chat.group.adhoc"):"wave:__archived__"===a.key?r("chat.group.archived"):a.label}))}return(0,bU.Az)(au,a=>{if("date"===T){let b=(0,bT.K)(a.updatedAt),c={"recency:unknown":r("flows.group.noDate"),"recency:today":r("flows.group.today"),"recency:week":r("flows.group.week"),"recency:month":r("flows.group.month"),"recency:older":r("flows.group.older")};return{...b,label:c[b.key]??b.label}}if("origin"===T){let b=b3(a);return{key:`origin:${b.key}`,label:ao(b.key)}}return ar(a.flowId)})},[au,T,ar,am,ao,r]),aw=(0,aG.useMemo)(()=>"chain"===T?(0,b_.C)(au):{roots:[],childrenByParent:new Map,detachedIds:new Set},[T,au]),[ax,ay]=aH().useState({}),az=aH().useCallback(a=>{ay(b=>({...b,[a]:!1===b[a]}))},[]),aA=(0,aG.useMemo)(()=>{let a=new Map;if("wave"!==T)return a;for(let b of av)a.set(b.key,(0,b_.C)(b.items));return a},[T,av]),aB=(0,aG.useMemo)(()=>{let a=new Set;return"chain"===T?aw.childrenByParent.forEach((b,c)=>a.add(c)):"wave"===T&&aA.forEach(b=>{b.childrenByParent.forEach((b,c)=>a.add(c))}),[...a]},[aw,T,aA]),aC=aH().useCallback(a=>{ay(b=>{let c={...b};return aB.forEach(b=>{c[b]=a}),c}),"wave"===T&&ae(b=>{let c={...b};return av.forEach(b=>{c[b.key]=!a}),c})},[aB,T,av,ae]),aD="chain"===T&&aB.length>0||"wave"===T&&av.length>0,aE=aH().useRef(null),aI=aH().useRef(null);aH().useRef(null),aH().useRef(0);let[aJ,aK]=aH().useState(0);aH().useEffect(()=>{if(!h)return;let{id:a,requestKey:b}=h;aI.current},[h,g,au,av,T,ad,ae,aw,aA,ax,aJ]);let aO=+("all"!==V)+ +("all"!==X)+ +("all"!==_)+ +("all"!==Z),aS=aO+ +("none"!==T),aV=(a,b)=>{let c,d,e=b?.detached===!0,f=!!l&&("running"===a.status||"awaiting_tool_approval"===a.status),h=ar(a.flowId),j="flow:__quickchat__"===h.key,k=a.id===g,m=b3(a),n=ao(m.key),o=ap(m.key),p=cc[m.key],q=function(a,b){switch(a){case"subflow":return b.palette.warning.main;case"schedule":case"trigger":return b4.L.light.signal;case"mcp":return b.palette.info.main;case"meeting":return b.palette.secondary.main;default:return b.palette.primary.main}}(m.key,u),s=function(a,b){switch(a){case"running":return b.palette.primary.main;case"awaiting_tool_approval":return b.palette.warning.main;case"paused_debug":return b.palette.secondary.main;case"completed":return b.palette.success.main;case"capped":return b.palette.info.main;case"error":return b.palette.error.main;default:return b.palette.text.disabled}}(a.status,u),v=k?"dark"===u.palette.mode?.38:.3:"dark"===u.palette.mode?.3:.23;return(0,aF.jsx)(bm.Ay,{"data-conversation-id":a.id,"data-conversation-origin":m.key,disablePadding:!0,secondaryAction:(0,aF.jsxs)(aL.default,{className:"conversation-card-actions",sx:w?{display:"flex",zIndex:2,gap:.25,opacity:+!!k,transition:"opacity 160ms ease",bgcolor:(0,bY.X4)(u.palette.background.paper,.72),borderRadius:2,backdropFilter:"blur(12px)","& .MuiIconButton-root":{width:30,height:30}}:{display:"flex"},children:[f&&(0,aF.jsx)(aQ.A,{title:r("chat.history.stop"),children:(0,aF.jsx)(aR.A,{edge:"end",size:"small","aria-label":r("chat.history.stop"),onClick:b=>{b.stopPropagation(),l(a.id)},children:(0,aF.jsx)(ba,{color:"error",fontSize:"small"})})}),(0,aF.jsx)(bS.A,{target:{kind:"conversation",id:a.id}}),(0,aF.jsx)(aQ.A,{title:r("chat.history.delete"),children:(0,aF.jsx)(aR.A,{edge:"end",size:"small","aria-label":r("chat.history.delete"),disabled:E===a.id,onClick:b=>{b.stopPropagation(),a6(a)},children:E===a.id?(0,aF.jsx)(aN.default,{size:16}):(0,aF.jsx)(bw.A,{fontSize:"small"})})})]}),sx:w?{position:"relative",mb:.9,border:"1px solid",borderColor:k?(0,bY.X4)(q,.68):(0,bY.X4)(q,.32),borderRadius:2.5,overflow:"hidden",opacity:1,bgcolor:(0,bY.X4)(u.palette.background.paper,"dark"===u.palette.mode?.72:.82),backgroundImage:(c=(0,bY.X4)(q,v),d=(0,bY.X4)(s,v),`linear-gradient(90deg, ${c} 0%, ${c} 90%, ${d} 90%, ${d} 100%)`),boxShadow:k?`0 10px 30px ${(0,bY.X4)(q,.24)}`:`0 5px 20px ${(0,bY.X4)(q,"dark"===u.palette.mode?.12:.08)}`,transition:"transform 160ms ease, border-color 160ms ease, box-shadow 160ms ease, background-color 160ms ease","&::before":{content:'""',position:"absolute",inset:"10px auto 10px 0",width:k?4:3,borderRadius:"0 4px 4px 0",bgcolor:q},"&::after":{content:'""',position:"absolute",zIndex:0,top:0,bottom:0,left:"90%",width:1,bgcolor:(0,bY.X4)(s,.5),pointerEvents:"none"},"&:hover":{transform:"translateY(-1px)",borderColor:(0,bY.X4)(q,.58),boxShadow:`0 10px 28px ${(0,bY.X4)(q,"dark"===u.palette.mode?.2:.14)}`,"& .conversation-card-actions":{opacity:1}},"&:focus-within .conversation-card-actions":{opacity:1},"@media (hover: none)":{"& .conversation-card-actions":{opacity:1}},"& > .MuiListItemSecondaryAction-root":{zIndex:2}}:{opacity:k?1:.7,"& > .MuiListItemSecondaryAction-root":{zIndex:2}},children:(0,aF.jsx)(bn.A,{selected:k,onClick:()=>i(a.id),"aria-label":r("chat.history.openAria",{title:a.title,origin:n,status:(a=>{switch(a){case"running":return r("chat.status.processing");case"awaiting_tool_approval":return r("chat.status.waitingTooltip");case"paused_debug":return r("chat.status.pausedTooltip");case"completed":return r("chat.status.completed");case"capped":return r("chat.status.capped");case"error":return r("chat.status.error");default:return""}})(a.status)||r("chat.history.unknown")}),sx:{position:"relative",zIndex:1,pr:f?12:7,px:w?1.5:2,py:w?1.25:1,alignItems:"flex-start",borderRadius:"inherit","&.Mui-selected":{bgcolor:"transparent"},"&.Mui-selected:hover":{bgcolor:(0,bY.X4)(u.palette.primary.main,.04)}},children:(0,aF.jsx)(bo.A,{sx:{my:0,minWidth:0},primary:(0,aF.jsx)(aL.default,{sx:{display:"flex",alignItems:"center"},children:(0,aF.jsx)(aQ.A,{title:a.title,enterDelay:500,children:(0,aF.jsx)(aP.A,{component:"span",fontWeight:k?760:w?650:"normal",sx:{display:"-webkit-box",WebkitLineClamp:2,WebkitBoxOrient:"vertical",overflow:"hidden",wordBreak:"break-word",fontSize:w?"0.9rem":void 0,lineHeight:w?1.35:void 0},children:a.title})})}),secondary:(0,aF.jsxs)(aL.default,{component:"span",sx:{display:"flex",alignItems:"center",gap:.75,mt:.8,flexWrap:"wrap"},children:["origin"!==T&&(0,aF.jsx)(aQ.A,{title:`${o}${m.inferred?` (${r("chat.history.inferred")})`:""}`,children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(p,{}),label:n,size:"small",variant:"outlined",sx:{height:w?22:20,color:w?q:void 0,borderColor:w?(0,bY.X4)(q,.72):void 0,bgcolor:w?(0,bY.X4)(q,.13):void 0,"& .MuiChip-icon":{fontSize:14,color:w?q:void 0},"& .MuiChip-label":{px:.75,fontSize:"0.68rem",fontWeight:w?700:500}}})}),e&&(0,aF.jsx)(aQ.A,{title:r("chat.chain.detachedHelp"),children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(bN,{}),label:r("chat.chain.detached"),size:"small",variant:"outlined",sx:{height:w?22:20,color:u.palette.text.secondary,borderColor:(0,bY.X4)(u.palette.text.secondary,.45),borderStyle:"dashed","& .MuiChip-icon":{fontSize:14,color:u.palette.text.secondary},"& .MuiChip-label":{px:.75,fontSize:"0.68rem",fontWeight:w?700:500}}})}),"flow"!==T&&(0,aF.jsx)(aQ.A,{title:j?r("chat.history.quickNoAgent"):r("chat.history.agentNamed",{agent:h.label}),children:(0,aF.jsx)(aU.A,{icon:j?(0,aF.jsx)(a5.A,{}):void 0,label:h.label,size:"small",variant:"outlined",color:j?"secondary":"default",sx:{maxWidth:"100%",height:w?22:20,"& .MuiChip-icon":{fontSize:14},"& .MuiChip-label":{px:.75,fontSize:"0.68rem"}}})}),(0,aF.jsxs)(aL.default,{component:"span",sx:{display:"inline-flex",alignItems:"center",gap:.35,ml:"auto"},children:[w&&(0,aF.jsx)(bM,{"aria-hidden":"true",sx:{fontSize:13,color:"text.disabled"}}),(0,aF.jsx)(aP.A,{component:"span",variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:t(a.updatedAt,{month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"})})]})]}),secondaryTypographyProps:{component:"div"}})})},a.id)},aW=af.length>0,a1=Q===ag,a2=aW&&!ah&&!a1,a3=aW?ah?.total??0:b,a4=au.length,a6=async d=>{if(E)return;F(d.id);let e=new Set(function(a,b){let c=new Map;for(let b of a){let a=b.parentConversationId;if(!a||a===b.id)continue;let d=c.get(a)??[];d.push(b.id),c.set(a,d)}let d=new Set,e=[...c.get(b)??[]];for(;e.length>0;){let a=e.pop();a===b||d.has(a)||(d.add(a),e.push(...c.get(a)??[]))}return[...d]}(Array.from(new Map([...a,...ai].map(a=>[a.id,a])).values()),d.id)),f=!c&&a.length>=b;try{f||(await b5.O.listAllConversationPages({descendantsOf:d.id})).forEach(a=>e.add(a.id));let a=[...e];if(0===a.length)return void j(d.id);H({open:!0,parent:d,descendantIds:a,lookupFailed:!1})}catch{H({open:!0,parent:d,descendantIds:[...e],lookupFailed:!0})}finally{F(null)}},a7=async()=>{D(!0);try{let b=f?await f():a;B({open:!0,ids:b.map(a=>a.id),label:s("chat.history.deleteAllQuestion",b.length)})}finally{D(!1)}},a8=async()=>{D(!0);try{let b=aW?await b5.O.listAllConversationPages({search:af,dimension:I,..."all"!==_?{origin:_}:{}}):f?await f():a,c=at(b);B({open:!0,ids:c.map(a=>a.id),label:s("chat.history.deleteVisibleQuestion",c.length)})}finally{D(!1)}};return(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsxs)(aL.default,{sx:{p:w?2:1.5,display:"flex",justifyContent:"space-between",alignItems:"center",gap:w?1:.7,background:w?`linear-gradient(135deg, ${(0,bY.X4)(u.palette.primary.main,.14)}, ${(0,bY.X4)(u.palette.secondary.main,.05)} 58%, transparent)`:"linear-gradient(120deg, rgba(139,124,255,.09), transparent 62%)"},children:[o&&(0,aF.jsx)(aQ.A,{title:p?r("chat.history.expand"):r("chat.history.collapse"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:o,"aria-label":p?r("chat.history.expand"):r("chat.history.collapse"),children:(0,aF.jsx)(bd,{})})}),(0,aF.jsxs)(aL.default,{sx:{flex:1,minWidth:0},children:[(0,aF.jsx)(aP.A,{variant:"caption",sx:{display:"block",color:"primary.light",fontWeight:760,letterSpacing:".1em"},children:r("chat.history.agentRuns")}),(0,aF.jsx)(aP.A,{variant:"h6",noWrap:!0,children:r("chat.history.title")})]}),b>0&&(0,aF.jsx)(aQ.A,{title:r("chat.history.deleteAll"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",color:"error","aria-label":r("chat.history.deleteAll"),disabled:C,onClick:()=>void a7(),children:(0,aF.jsx)(bC,{fontSize:"small"})})})}),au.length>0&&(aW||aO>0)&&(0,aF.jsx)(aQ.A,{title:r("chat.history.deleteVisible"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",color:"error","aria-label":r("chat.history.deleteVisible"),disabled:C,onClick:()=>void a8(),children:(0,aF.jsx)(bD,{fontSize:"small"})})})}),n&&(0,aF.jsx)(aQ.A,{title:r("chat.history.quickHelp"),children:(0,aF.jsx)(aM.A,{variant:"outlined",color:"primary",startIcon:(0,aF.jsx)(a5.A,{}),onClick:n,size:"small",children:r("chat.history.quick")})}),(0,aF.jsx)(aM.A,{variant:"contained",color:"primary",startIcon:(0,aF.jsx)(bx.A,{}),onClick:m,size:"small",children:r("chat.history.new")})]}),(0,aF.jsx)(bp.A,{}),(0,aF.jsxs)(aL.default,{sx:{px:1.5,pt:1.5,pb:1.2,display:"flex",flexDirection:"column",gap:1,bgcolor:w?(0,bY.X4)(u.palette.background.paper,.22):"rgba(127,127,160,.035)"},children:[(0,aF.jsx)(b6.A,{mode:"container",children:(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:1},children:[(0,aF.jsx)(aT.A,{size:"small",sx:{flex:1},inputRef:z,placeholder:"content"===I?r("chat.history.searchContent"):r("chat.history.searchTitle"),value:x,onChange:a=>y(a.target.value),InputProps:{startAdornment:(0,aF.jsx)(bq.A,{position:"start",children:(0,aF.jsx)(by.A,{fontSize:"small"})}),endAdornment:x||M?(0,aF.jsxs)(bq.A,{position:"end",children:[M&&(0,aF.jsx)(aN.default,{size:16,"aria-label":r("chat.history.searching")}),x&&(0,aF.jsx)(aR.A,{size:"small","aria-label":r("chat.history.clearSearch"),onClick:()=>y(""),children:(0,aF.jsx)(bz.A,{fontSize:"small"})})]}):void 0}}),(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:100},children:(0,aF.jsxs)(bs.A,{value:I,onChange:a=>J(a.target.value),inputProps:{"aria-label":r("chat.history.searchDimension")},children:[(0,aF.jsx)(bt.A,{value:"title",children:r("chat.history.searchTitleOption")}),(0,aF.jsx)(bt.A,{value:"content",children:r("chat.history.searchContentOption")})]})})]})}),(0,aF.jsxs)(aM.A,{size:"small",color:"inherit",startIcon:(0,aF.jsx)(bO,{}),endIcon:ab?(0,aF.jsx)(bB.A,{}):(0,aF.jsx)(bA.A,{}),"aria-expanded":ab,"aria-controls":"chat-sidebar-filter-controls",onClick:()=>ac(a=>!a),sx:{alignSelf:"stretch",justifyContent:"flex-start",color:"text.secondary"},children:[r("chat.history.filters"),aS>0&&(0,aF.jsx)(aU.A,{label:aS,size:"small",color:"primary",sx:{ml:1,height:20,"& .MuiChip-label":{px:.75}}})]}),(0,aF.jsx)(bu.A,{in:ab,timeout:"auto",children:(0,aF.jsxs)(aL.default,{id:"chat-sidebar-filter-controls",sx:{display:"flex",flexWrap:"wrap",gap:1},children:[(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bs.A,{value:T,onChange:a=>U(a.target.value),inputProps:{"aria-label":r("chat.history.groupAria")},children:ca.map(a=>(0,aF.jsx)(bt.A,{value:a,children:{none:r("chat.group.none"),date:r("chat.group.date"),flow:r("chat.group.agent"),origin:r("chat.group.origin"),wave:r("chat.group.wave"),chain:r("chat.group.chain")}[a]},a))})}),(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bs.A,{value:V,onChange:a=>W(a.target.value),inputProps:{"aria-label":r("chat.history.filterStatus")},children:b8.map(a=>(0,aF.jsx)(bt.A,{value:a,children:{all:r("chat.status.any"),running:r("chat.status.processing"),awaiting_tool_approval:r("chat.status.awaiting"),paused_debug:r("chat.status.paused"),completed:r("chat.status.completed"),capped:r("chat.status.capped"),error:r("chat.status.error")}[a]},a))})}),(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsxs)(bs.A,{value:as.some(a=>a.key===X)?X:"all",onChange:a=>Y(a.target.value),inputProps:{"aria-label":r("chat.history.filterAgent")},children:[(0,aF.jsx)(bt.A,{value:"all",children:r("chat.history.anyAgent")}),as.map(a=>(0,aF.jsx)(bt.A,{value:a.key,children:a.label},a.key))]})}),(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bs.A,{value:_,onChange:a=>aa(a.target.value),inputProps:{"aria-label":r("chat.history.filterOrigin")},children:cb.map(a=>(0,aF.jsx)(bt.A,{value:a,children:aq(a)},a))})}),(0,aF.jsx)(br.A,{size:"small",sx:{minWidth:128,flex:"1 1 128px"},children:(0,aF.jsx)(bs.A,{value:Z,onChange:a=>$(a.target.value),inputProps:{"aria-label":r("chat.history.filterDate")},children:b9.map(a=>(0,aF.jsx)(bt.A,{value:a,children:{all:r("chat.date.any"),today:r("chat.date.day"),"7d":r("chat.date.week"),"30d":r("chat.date.month")}[a]},a))})})]})}),(aW||aO>0)&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between"},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:a2||M?r("chat.history.searching"):a1?r("chat.history.searchFailed"):r("chat.history.matchCount",{shown:a4,total:a3})}),(0,aF.jsx)(aM.A,{size:"small",onClick:()=>{y(""),W("all"),Y("all"),aa("all"),$("all")},children:r("chat.history.clearFilters")})]})]}),(0,aF.jsx)(bp.A,{}),aD&&(0,aF.jsxs)(aL.default,{sx:{px:1.5,py:.75,display:"flex",alignItems:"center",justifyContent:"space-between",gap:1,bgcolor:(0,bY.X4)(u.palette.primary.main,w?.055:.025)},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{fontWeight:700},children:r("chat.chain.hierarchy")}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:.5},children:[(0,aF.jsx)(aM.A,{size:"small",startIcon:(0,aF.jsx)(bP,{}),onClick:()=>aC(!0),children:r("chat.chain.expandAll")}),(0,aF.jsx)(aM.A,{size:"small",startIcon:(0,aF.jsx)(bQ,{}),onClick:()=>aC(!1),children:r("chat.chain.collapseAll")})]})]}),(0,aF.jsxs)(bv.A,{ref:aE,"aria-label":r("chat.history.title"),"aria-busy":a2||M||O,sx:{overflow:"auto",flex:1,px:w?1.25:1,py:w?1.5:1,scrollbarGutter:"stable"},children:[a2||M?(0,aF.jsxs)(bm.Ay,{sx:{justifyContent:"center",gap:1,py:3},children:[(0,aF.jsx)(aN.default,{size:18}),(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",children:r("chat.history.searching")})]}):a1&&0===ai.length?(0,aF.jsx)(bm.Ay,{children:(0,aF.jsx)(bo.A,{primary:r("chat.history.searchFailed"),secondary:r("chat.history.searchFailedHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}):aW||0!==a3?0===a4?(0,aF.jsx)(bm.Ay,{children:(0,aF.jsx)(bo.A,{primary:r("chat.history.noMatch"),secondary:r("chat.history.noMatchHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}):"chain"===T?(0,aF.jsx)(b$,{nodes:aw.roots,childrenByParent:aw.childrenByParent,renderItem:a=>aV(a,{detached:aw.detachedIds.has(a.id)}),expanded:ax,onToggle:az}):"none"===T?au.map(a=>aV(a)):av.map(a=>{let b=!!ad[a.key],c="wave"===T?aA.get(a.key):void 0;return(0,aF.jsxs)(aL.default,{children:[(0,aF.jsxs)(bn.A,{onClick:()=>{var b;return b=a.key,void ae(a=>({...a,[b]:!a[b]}))},sx:{py:.5,bgcolor:"action.hover"},children:[b?(0,aF.jsx)(bA.A,{fontSize:"small"}):(0,aF.jsx)(bB.A,{fontSize:"small"}),(0,aF.jsx)(aP.A,{variant:"overline",sx:{ml:.5,flex:1,lineHeight:1.6},noWrap:!0,children:a.label}),(0,aF.jsx)(aU.A,{label:a.items.length,size:"small",sx:{height:18,"& .MuiChip-label":{px:.75,fontSize:"0.7rem"}}})]}),(0,aF.jsx)(bu.A,{in:!b,timeout:"auto",unmountOnExit:!0,children:c?(0,aF.jsx)(b$,{nodes:c.roots,childrenByParent:c.childrenByParent,renderItem:a=>aV(a,{detached:c.detachedIds.has(a.id)}),expanded:ax,onToggle:az}):a.items.map(a=>aV(a))})]},a.key)}):(0,aF.jsx)(bm.Ay,{children:(0,aF.jsx)(bo.A,{primary:r("chat.history.empty"),secondary:r("chat.history.emptyHelp"),primaryTypographyProps:{align:"center"},secondaryTypographyProps:{align:"center"}})}),aW&&ah?.hasMore&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",py:1.5},children:(0,aF.jsx)(aM.A,{size:"small",variant:"outlined",disabled:O,startIcon:O?(0,aF.jsx)(aN.default,{size:14}):void 0,onClick:()=>void an(),children:r("chat.history.loadMore")})}),!aW&&c&&e&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",py:1.5},children:(0,aF.jsx)(aM.A,{size:"small",variant:"outlined",disabled:d,startIcon:d?(0,aF.jsx)(aN.default,{size:14}):void 0,onClick:()=>void e(),children:r("chat.history.loadMore")})})]}),(0,aF.jsxs)(aX.A,{open:G.open,onClose:()=>H(a=>({...a,open:!1})),"aria-labelledby":"delete-family-dialog-title",children:[(0,aF.jsx)(aY.A,{id:"delete-family-dialog-title",children:r("chat.history.deleteFamilyTitle")}),(0,aF.jsx)(aZ.A,{children:(0,aF.jsx)(a$.A,{children:G.lookupFailed?r("chat.history.deleteFamilyLookupFailed"):r("chat.history.deleteFamilyQuestion",{title:G.parent?.title??"",count:G.descendantIds.length})})}),(0,aF.jsxs)(a_.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>H(a=>({...a,open:!1})),children:r("common.cancel")}),!G.lookupFailed&&G.parent&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aM.A,{color:"error",onClick:()=>{let a=G.parent.id;H(a=>({...a,open:!1})),j(a)},children:r("chat.history.deleteParentOnly")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"error",onClick:()=>{let a=[G.parent.id,...G.descendantIds];H(a=>({...a,open:!1})),k(a)},children:r("chat.history.deleteFamilyAction",{count:G.descendantIds.length})})]})]})]}),(0,aF.jsxs)(aX.A,{open:A.open,onClose:()=>B(a=>({...a,open:!1})),"aria-labelledby":"bulk-delete-dialog-title",children:[(0,aF.jsx)(aY.A,{id:"bulk-delete-dialog-title",children:r("chat.history.confirmDelete")}),(0,aF.jsx)(aZ.A,{children:(0,aF.jsxs)(a$.A,{children:[A.label," ",r("chat.history.cannotUndo")]})}),(0,aF.jsxs)(a_.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>B(a=>({...a,open:!1})),children:r("common.cancel")}),(0,aF.jsx)(aM.A,{color:"error",onClick:async()=>{B(a=>({...a,open:!1})),await k(A.ids)},autoFocus:!0,children:r("chat.history.deleteAction")})]})]})]})});var ce=c(66417),cf=c(32105),cg=c(50025),ch=c(2247),ci=c(19290),cj=c(30193),ck=c(58137);let cl=(0,a9.A)((0,aF.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn"),cm=(0,a9.A)((0,aF.jsx)("path",{d:"M15.41 16.59 10.83 12l4.58-4.59L14 6l-6 6 6 6z"}),"KeyboardArrowLeft"),cn=(0,a9.A)((0,aF.jsx)("path",{d:"M8.59 16.59 13.17 12 8.59 7.41 10 6l6 6-6 6z"}),"KeyboardArrowRight");var co=c(68641),cp=c(62436),cq=c(38285),cr=c(15380);let cs=(a,b,c)=>Math.min(Math.max(a,b),Math.max(b,c));function ct(a,b){return 1===a.length&&a.every(a=>{let c=b[a]??[];return c.includes("pip")&&c.includes("fullscreen")})}let cu=({conversationId:a,persistenceId:b,appOwnerScopePrefix:c,viewportDocked:d=!1,entries:e,activeKey:f,onSelectTab:g,onCloseTab:h,onAppMessage:i,onUpdateModelContext:j,onRegisterTeardown:k,onLayoutChange:l,onCollapseChange:m,onCloseAll:n})=>{let{t:o}=(0,bZ.s9)(),p=(0,a0.A)(),q=(0,aK.A)(p.breakpoints.down("md")),r=(0,aG.useRef)(null),s=b??a??"standalone",t=b?`flujo-mcp-canvas-placement:${b}`:"flujo-mcp-canvas-placement",u=b?`flujo-mcp-canvas-height:${b}`:"flujo-mcp-canvas-height",v=b?`flujo-mcp-canvas-width:${b}`:"flujo-mcp-canvas-width",[w,x]=(0,bX.Io)(`flujo-ui:mcp-canvas:collapsed:${s}`,!1),y=(0,aG.useRef)(m);(0,aG.useEffect)(()=>{y.current=m},[m]);let z=(0,aG.useCallback)(a=>{x(b=>{let c="function"==typeof a?a(b):a;return c!==b&&y.current?.(c),c})},[x]),[A,B]=(0,aG.useState)(!1),[C,D]=(0,aG.useState)(()=>"bottom"),[E,F]=(0,aG.useState)(()=>440),[G,H]=(0,aG.useState)(()=>560),[I,J]=(0,aG.useState)(null),[K,L]=(0,aG.useState)({}),{activeCursor:M,startPointerDrag:N}=(0,cr.LI)(),[O,P]=(0,aG.useState)([]),Q=(0,aG.useMemo)(()=>new Set(e.map(a=>a.key)),[e]),R=(0,aG.useMemo)(()=>O.filter(a=>Q.has(a)),[O,Q]),S=(0,aG.useMemo)(()=>R.length>0?R:f?[f]:[],[R,f]),T=(0,aG.useMemo)(()=>new Set(S),[S]),U=(0,aG.useMemo)(()=>ct(S,K),[K,S]),V=Math.max(1,Math.ceil(Math.sqrt(S.length)));(0,aG.useEffect)(()=>{L(a=>{let b=Object.fromEntries(Object.entries(a).filter(([a])=>Q.has(a)));return Object.keys(b).length===Object.keys(a).length?a:b})},[Q]),(0,aG.useEffect)(()=>{A&&!U&&B(!1)},[A,U]),(0,aG.useEffect)(()=>{},[C,t]),(0,aG.useEffect)(()=>{},[E,u]),(0,aG.useEffect)(()=>{},[G,v]),(0,aG.useEffect)(()=>{let a=d&&q?"bottom":C,b=e.length>0&&!A&&!w&&(!q||d),c="top"===a||d&&"bottom"===a;l?.({placement:a,reservedWidth:b&&("left"===a||"right"===a)?G:0,reservedHeight:b&&c?E:0})},[w,q,E,G,e.length,A,l,C,d]),(0,aG.useEffect)(()=>{},[A]);let W=(0,aG.useCallback)(()=>{B(!0),z(!1)},[]),X=(0,aG.useCallback)(()=>{A?B(!1):W()},[W,A]),Y=(0,aG.useCallback)(a=>{if(A||!r.current)return;let b=q?"bottom":C,c=a.clientX,d=a.clientY,e=r.current.getBoundingClientRect(),f=r.current.parentElement?.getBoundingClientRect(),g=Math.max(240,(f?.height??window.innerHeight)*.82),h=Math.max(320,(f?.width??window.innerWidth)-320);N(a,"top"===b||"bottom"===b?"ns-resize":"ew-resize",a=>{"bottom"===b?F(cs(e.height+d-a.clientY,240,g)):"top"===b?F(cs(e.height+a.clientY-d,240,g)):"left"===b?H(cs(e.width+a.clientX-c,320,h)):H(cs(e.width+c-a.clientX,320,h))})},[q,A,C,N]),Z=(0,aG.useCallback)(a=>{if(!A||!r.current||a.target.closest('button,[role="button"]'))return;a.preventDefault();let b=r.current.getBoundingClientRect(),c=a.clientX,d=a.clientY;N(a,"move",a=>{J({...(0,cr.RA)({x:b.left+a.clientX-c,y:b.top+a.clientY-d},{width:b.width,height:b.height},{width:window.innerWidth,height:window.innerHeight}),width:b.width,height:b.height})})},[A,N]),$=(0,aG.useCallback)((a,b,c)=>{if(!A||!r.current)return;let d=r.current.getBoundingClientRect(),e={x:d.left,y:d.top,width:d.width,height:d.height},f=a.clientX,g=a.clientY;N(a,c,a=>{J((0,cr.hU)(e,b,a.clientX-f,a.clientY-g,{width:window.innerWidth,height:window.innerHeight},{width:Math.min(480,window.innerWidth),height:Math.min(320,window.innerHeight)}))})},[A,N]),_=(0,cr.ri)(r,A);if(0===e.length)return null;let aa=a=>{A&&!ct([a],K)&&B(!1),g(a)},ab=q?"bottom":C,ac=w&&!A&&!q&&("left"===ab||"right"===ab),ad=a=>{C!==a?(D(a),w&&z(!1)):z(a=>!a)},ae="calc(var(--app-bar-height) + var(--active-subnav-height))",af="calc(100dvh - var(--app-bar-height) - var(--active-subnav-height))",ag=`min(${E}px, ${af})`;return(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsxs)(aL.default,{ref:r,"data-testid":"dev-canvas-dock",sx:{border:1,borderColor:"divider",bgcolor:"background.paper",display:"flex",flexDirection:"column",minHeight:0,overflow:"hidden",...A?{position:"fixed",left:(I?.x??16)-_.x,top:(I?.y??16)-_.y,width:I?.width??"calc(100vw - 32px)",height:I?.height??"calc(100vh - 32px)",minWidth:"min(480px, 100vw)",minHeight:"min(320px, 100vh)",maxWidth:"100vw",maxHeight:"100vh",zIndex:1300,borderRadius:1,boxShadow:6}:d?"left"===ab||"right"===ab?{position:"fixed",top:ae,bottom:0,[ab]:0,width:ac?40:`min(${G}px, calc(100vw - 320px))`,height:"auto",zIndex:p.zIndex.appBar-1,borderRadius:0,boxShadow:"none",..."left"===ab?{borderLeft:0}:{borderRight:0}}:{position:"fixed",left:0,right:0,[ab]:"top"===ab?ae:0,width:"100%",height:w?"auto":ag,maxHeight:af,zIndex:p.zIndex.appBar-1,borderRadius:0,boxShadow:"none",borderLeft:0,borderRight:0}:"bottom"===ab?{position:"relative",width:"100%",height:w?"auto":E,maxHeight:"82vh",flexShrink:0,borderLeft:0,borderRight:0}:"top"===ab?{position:"absolute",top:0,left:0,right:0,width:"100%",height:w?"auto":E,maxHeight:"82vh",zIndex:5,borderRadius:0,boxShadow:"none",borderLeft:0,borderRight:0}:{position:"absolute",top:0,bottom:0,[ab]:0,width:ac?40:`min(${G}px, calc(100% - 320px))`,height:"auto",zIndex:5,borderRadius:0,boxShadow:"none",..."left"===ab?{borderLeft:0}:{borderRight:0}}},children:[!A&&!w&&(0,aF.jsx)(aL.default,{role:"separator",tabIndex:0,"aria-orientation":"top"===ab||"bottom"===ab?"horizontal":"vertical","aria-label":o("chat.canvas.resize"),onPointerDown:Y,sx:{position:"absolute",zIndex:4,..."bottom"===ab?{top:0,left:0,right:0,height:7,cursor:"row-resize"}:"top"===ab?{bottom:0,left:0,right:0,height:7,cursor:"row-resize"}:"left"===ab?{right:0,top:0,bottom:0,width:7,cursor:"col-resize"}:{left:0,top:0,bottom:0,width:7,cursor:"col-resize"},"&:hover, &:focus-visible":{bgcolor:"primary.main"},touchAction:"none"}}),A&&(0,aF.jsx)(cr.y1,{label:o("chat.canvas.resize"),onResizeStart:$}),(0,aF.jsxs)(aL.default,{onPointerDown:Z,sx:{display:"flex",flexDirection:ac?"column":"row",alignItems:"center",gap:.5,px:ac?.5:1,py:.5,bgcolor:"action.hover",cursor:A?"move":"default",userSelect:"none"},children:[(0,aF.jsx)(aQ.A,{title:ac?o("chat.canvas.expand"):"",children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25*!!ac},disabled:!ac,onClick:ac?()=>z(!1):void 0,"aria-label":ac?o("chat.canvas.expand"):void 0,children:(0,aF.jsx)(cg.A,{color:"primary",badgeContent:e.length,max:9,invisible:!ac||0===e.length,children:(0,aF.jsx)(ch.A,{fontSize:"small",color:"primary"})})})})}),!ac&&(0,aF.jsx)(aP.A,{variant:"caption",sx:{fontWeight:600,mr:1},children:o("chat.canvas.title")}),!ac&&(0,aF.jsx)(aL.default,{role:"tablist","aria-label":o("chat.canvas.title"),sx:{display:"flex",gap:.5,overflowX:"auto",flex:1,minWidth:0},children:e.map(a=>{var b;let c=a.key===f,d=R.includes(a.key);return(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,px:1,py:.25,borderRadius:1,whiteSpace:"nowrap",border:1,borderColor:c?"primary.main":"divider",bgcolor:c?"action.selected":"transparent"},title:`${a.serverName} — ${a.uri}`,children:[(0,aF.jsxs)(aL.default,{component:"button",type:"button",role:"tab",tabIndex:c?0:-1,"aria-selected":c,onClick:()=>aa(a.key),onKeyDown:b=>((a,b)=>{let c=e.findIndex(a=>a.key===b);if(c<0)return;let d=null;if("ArrowLeft"===a.key?d=(c-1+e.length)%e.length:"ArrowRight"===a.key?d=(c+1)%e.length:"Home"===a.key?d=0:"End"===a.key&&(d=e.length-1),null===d||d===c)return;a.preventDefault(),a.stopPropagation();let f=a.currentTarget.closest('[role="tablist"]')?.querySelectorAll('[role="tab"]');f?.[d]?.focus(),aa(e[d].key)})(b,a.key),sx:{appearance:"none",display:"flex",alignItems:"center",gap:.5,minWidth:0,p:0,border:0,color:"inherit",bgcolor:"transparent",font:"inherit",cursor:"pointer","&:focus-visible":{outline:"2px solid",outlineColor:"primary.main",outlineOffset:1,borderRadius:.5}},children:[(0,aF.jsx)(cg.A,{color:"primary",variant:"dot",invisible:!a.unread,children:(0,aF.jsx)(aP.A,{variant:"caption",sx:{fontWeight:c?600:400},children:(b=a.uri).replace(/\/+$/,"").split("/").pop()||b})}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{fontSize:"0.65rem"},children:a.serverName})]}),(0,aF.jsx)(aQ.A,{title:d?o("chat.canvas.removeSplit"):o("chat.canvas.addSplit"),children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25},color:d?"primary":"default",onClick:b=>{var c;b.stopPropagation(),c=a.key,A&&B(!1),P(a=>a.includes(c)?a.filter(a=>a!==c):[...a,c])},"aria-label":o("chat.canvas.toggleSplit"),children:(0,aF.jsx)(cl,{sx:{fontSize:14}})})}),(0,aF.jsx)(aQ.A,{title:o("common.close"),children:(0,aF.jsx)(aR.A,{size:"small",sx:{p:.25},onClick:b=>{b.stopPropagation(),h(a.key)},"aria-label":o("chat.canvas.closeTab"),children:(0,aF.jsx)(ci.A,{sx:{fontSize:14}})})})]},a.key)})}),!A&&!ac&&!q&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center"},children:[(0,aF.jsx)(aQ.A,{title:"left"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockLeft"),children:(0,aF.jsx)(aR.A,{size:"small",color:"left"===C?"primary":"default",onClick:()=>ad("left"),"aria-label":"left"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockLeft"),children:(0,aF.jsx)(cm,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"top"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockTop"),children:(0,aF.jsx)(aR.A,{size:"small",color:"top"===C?"primary":"default",onClick:()=>ad("top"),"aria-label":"top"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockTop"),children:(0,aF.jsx)(co.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"bottom"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockBottom"),children:(0,aF.jsx)(aR.A,{size:"small",color:"bottom"===C?"primary":"default",onClick:()=>ad("bottom"),"aria-label":"bottom"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockBottom"),children:(0,aF.jsx)(cp.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:"right"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockRight"),children:(0,aF.jsx)(aR.A,{size:"small",color:"right"===C?"primary":"default",onClick:()=>ad("right"),"aria-label":"right"===C?o("chat.canvas.collapseToEdge"):o("chat.canvas.dockRight"),children:(0,aF.jsx)(cn,{fontSize:"small"})})})]}),!ac&&(0,aF.jsx)(aQ.A,{title:A?o("chat.canvas.exitFullscreen"):U?o("chat.canvas.fullscreen"):o("chat.canvas.fullscreenUnavailable"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",disabled:!A&&!U,onClick:X,"aria-label":o("chat.canvas.toggleFullscreen"),children:A?(0,aF.jsx)(ck.A,{fontSize:"small"}):(0,aF.jsx)(cj.A,{fontSize:"small"})})})}),n&&(0,aF.jsx)(aQ.A,{title:o("chat.canvas.closeAll"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>{A&&B(!1),n?.()},"aria-label":o("chat.canvas.closeAll"),children:(0,aF.jsx)(ci.A,{fontSize:"small"})})})]}),(0,aF.jsx)(aL.default,{sx:{display:w?"none":"grid",position:"relative",gridTemplateColumns:`repeat(${V}, minmax(0, 1fr))`,gap:1,p:1,flex:1,height:"auto",minHeight:0,overflow:"hidden"},children:e.map(b=>{let d=!w&&T.has(b.key);return(0,aF.jsx)(aL.default,{sx:{display:"flex",...d?{position:"relative"}:{position:"absolute",inset:0,visibility:"hidden",pointerEvents:"none"},flexDirection:"column",minHeight:0,border:1,borderColor:"divider",borderRadius:1,overflow:"hidden",bgcolor:"dark"===p.palette.mode?"#111":"#fff"},children:(0,aF.jsx)(cq.Ay,{docked:!0,visible:d,conversationId:a,ownerScopeId:c?`${c}:${b.key}`:void 0,serverName:b.serverName,uri:b.uri,toolName:b.toolName,toolArgs:b.latestToolArgs,toolResultContent:b.latestResultContent,toolCancelledReason:b.latestToolCancelledReason,toolIsError:b.latestToolIsError,toolUpdateId:b.latestToolUpdateId??b.updatedAt,onAppMessage:i,onUpdateModelContext:j,hostDisplayMode:A&&d?"fullscreen":"pip",onAvailableDisplayModes:a=>{L(c=>{let d=c[b.key]??[];return d.length===a.length&&d.every((b,c)=>b===a[c])?c:{...c,[b.key]:a}})},onRequestDisplayMode:(a,c)=>{var d;let e;return d=b.key,a===(e=A&&T.has(d)?"fullscreen":"pip")?e:"fullscreen"===a&&1===S.length&&S[0]===d&&c.includes("pip")&&c.includes("fullscreen")?(W(),"fullscreen"):"pip"===a&&"fullscreen"===e&&c.includes("pip")?(B(!1),"pip"):e},onRequestClose:()=>h(b.key),onRegisterTeardown:(a,b)=>{k?.(s,a,b)}})},b.key)})})]}),(0,aF.jsx)(cr.Fy,{cursor:M})]})};var cv=c(40421);function cw(a,b){if(!(b in a))return a;let c={...a};return delete c[b],c}function cx(a,b,c){let d=a[b]??[],e=d.filter(a=>a.id!==c);if(e.length===d.length)return a;let f={...a};return e.length>0?f[b]=e:delete f[b],f}var cy=c(75640),cz=c(77078),cA=c(54357);let cB={byIndex:{}};function cC(a,b,c){for(let d=0;d<b;d++)a[d]||(a[d]={laneIndex:d,laneCount:b,label:`Lane ${d+1}/${b}`,status:"pending",lastEventAt:c})}let cD=["the moon janitor","a time-hopping intern","three union pigeons","the office wizard","a skeptical goldfish","the museum ghost","an off-duty oracle","the last polite pirate","a raccoon committee","the cryptid expert","a calm astronaut","the royal beekeeper","the lighthouse cat","a future detective","the backup dragon","a jetpack accountant","the submarine butler","a retired villain","the support goose","a help-desk knight","an imaginary conductor","an archaeology intern","the weather crow","a receipt philosopher"],cE=["the moon ladder","a diplomatic sock","the royal stapler","an indoor umbrella","the lunch compass","a warm snow globe","the last teaspoon","a fictional map","the folding napkin","a jar of thunder","the Wi-Fi wand","a lawyered sandwich","the spare sun","a jar of silence","the haunted printer","a load-bearing baguette","the tiny drawbridge","the wrong key","the inflatable anvil","a prophecy coupon","the reverse telescope","classified confetti","the nervous pendulum","a pocket volcano"],cF=["on the Moon","at the seafloor post office","at the Bermuda gift shop","at the Wi-Fi castle","behind the second attic","at North Pole support","on platform nine-ish","beside a black hole","inside the mood library","under the cloud","in the office kitchen","inside spreadsheet forest","at volcano reception","behind the old clock","in Lost Luggage","on the snack balcony","in the shallow moat","at the desert hotel","inside the failed museum","in lab number two","at tomorrow station","inside dragon training","on Tuesday Island","past the supply closet"],cG=["sorting moon rocks","looking for lunch","testing the fire alarm","folding space-time","counting invisible sheep","polishing the eclipse","fixing yesterday","mapping the snack drawer","questioning the compass","training the pigeons","debugging the horoscope","watering plastic plants","auditing the pirates","rewinding the sundial","interviewing a shadow","filing dragon taxes","calibrating breakfast","alphabetizing fog","measuring gossip","rehearsing the alibi","charging the crystal ball","untangling gravity","translating whale mail","backing up the Moon"],cH=["fold a fitted sheet","whistle in binary","park a gondola","alphabetize fog","moonwalk quietly","invoice a dragon","juggle theories","read the room","argue with a door","brew orbital tea","translate sarcasm","defeat a sundial","smuggle daylight","assemble a prophecy","locate north","interview tomorrow","budget on a unicycle","write in zero gravity","herd digital cats","repair a metaphor","land a paper plane","greet the abyss","exit a time loop","explain medieval taxes"],cI=["the Moon’s back door","Wednesday’s location","gravity’s fine print","the missing socks","the Morse-code plant","the speakerphone echo","the pigeon payroll","the painted horizon","the absent staircase","Tuesday’s sequel","the Gary compass","the second ocean","the dramatic copier","tomorrow’s mail","the extra five minutes","the licensed ghost","the reviewed treasure map","the hungry plot hole","the sorted stars","the sighing elevator","the thunder receipts","the lunch eclipse","the freelance mirror","the exit to 1843"],cJ=["a bent paperclip","a rubber chicken","the good magnifier","one brave teaspoon","a future abacus","a cat laser","an accordion","a dishonest ruler","a memo compass","the royal whisk","a pocket sundial","two magnets","a Latin wrench","the tiny hammer","tenured tape","a crystal ball","a haunted slide rule","the backup kazoo","a gloomy spirit level","the left telescope","a stern clipboard","emergency string","a weather vane","the manual page"],cK=["the eclipse rehearsal","emergency teatime","the gravity inspection","the office moon landing","the password ceremony","yesterday’s reopening","the hiding finals","the underwater fire drill","the time-traveler meeting","the lighthouse picnic","the backup launch","the horizon retirement","the expedition talent show","bring-your-ghost night","Coincidence Day","Small Ben’s unveiling","the silent concert","the endless ribbon-cutting","the volcano open house","breakfast rehearsal","the maritime spelling bee","the ancient Wi-Fi demo","the alibi parade","the surprise-party audit"],cL=["the inspector walks in","the inventor denies it","the footnote calls","the lights blink in Morse","tomorrow asks for help","the witness appears","the smoke alarm passes","the prophecy arrives","every clock coughs","the fire drill gets real","the squirrels object","the Moon calls back","the red lever starts counting","the alibi walks past","next door repeats it","the backup plan resigns","the weather apologizes","the map says “you first”","the missing page falls out","Coincidence Day is canceled","the goose takes charge","the empty box takes notes","a comet arrives early","the narrator gets fired"],cM=["the goose approves","the timeline objects","the manual shrugs","lunch takes priority","the pigeons demand credit","the chart looks worried","the calendar resigns","history asks for a redo","the printer applauds","gravity clocks out","the map denies everything","the ghost files a claim","the budget grows a moat","the experiment gets renewed","the floor adds a door","the ducks peer-review it","management calls it tradition","confetti is deployed","the loop requests closure","a plaque is ordered","physics grants an exception","the cupboard applauds","the conclusion needs edits","the universe closes the ticket"],cN=(a,b)=>({count:a.reduce((a,b)=>a*b.length,1),render:c=>{let d=c,e=a.map(a=>{let b=a[d%a.length];return d=Math.floor(d/a.length),b});return`${b(...e)}…`}}),cO=a=>`${a[0].toUpperCase()}${a.slice(1)}`,cP=[cN([cD,cH],(a,b)=>`Teaching ${a} to ${b}`),cN([cE,cF],(a,b)=>`Finding ${a} ${b}`),cN([cG,cM],(a,b)=>`${cO(a)}; ${b}`),cN([cI,cJ],(a,b)=>`Solving ${a} with ${b}`),cN([cE,cJ],(a,b)=>`Repairing ${a} with ${b}`),cN([cK,cD],(a,b)=>`Rehearsing ${a} with ${b}`),cN([cD,cG],(a,b)=>`Helping ${a} finish ${b}`),cN([cE,cM],(a,b)=>`Showing off ${a}; ${b}`),cN([cI,cF],(a,b)=>`Investigating ${a} ${b}`),cN([cH,cJ],(a,b)=>`Trying to ${a} with ${b}`),cN([cE,cL],(a,b)=>`Hiding ${a} just as ${b}`),cN([cK,cL],(a,b)=>`Starting ${a} as ${b}`),cN([cD,cE],(a,b)=>`${cO(a)} arrives carrying ${b}`),cN([cG,cL],(a,b)=>`While ${a}, ${b}`),cN([cI,cD],(a,b)=>`Discovering ${a}; ${b} takes credit`),cN([cE,cM],(a,b)=>`Testing ${a}; ${b}`),cN([cF,cD],(a,b)=>`Arriving ${a}; ${b} was already there`),cN([cK,cL],(a,b)=>`${cO(a)} begins moments before ${b}`),cN([cD,cI],(a,b)=>`Asking ${a} about ${b}`),cN([cH,cL],(a,b)=>`Learning to ${a} seconds before ${b}`),cN([cE,cD],(a,b)=>`Returning ${a} to ${b}`),cN([cK,cF],(a,b)=>`Booking ${a} ${b}`),cN([cI,cL],(a,b)=>`Checking ${a} when ${b}`),cN([cG,cD],(a,b)=>`${cO(a)} with ${b}`),cN([cE,cM],(a,b)=>`Calibrating ${a}; ${b}`),cN([cK,cJ],(a,b)=>`Running ${a} with ${b}`),cN([cD,cF],(a,b)=>`Following ${a} ${b}`),cN([cI,cM],(a,b)=>`Explaining ${a}; ${b}`),cN([cG,cJ],(a,b)=>`${cO(a)} with ${b}`),cN([cE,cK],(a,b)=>`Preparing ${a} for ${b}`),cN([cF,cJ],(a,b)=>`Taking notes ${a} with ${b}`),cN([cD,cK],(a,b)=>`Briefing ${a} on ${b}`),cN([cE,cI],(a,b)=>`Checking ${a} against ${b}`),cN([cF,cM],(a,b)=>`Mapping ${a}; ${b}`),cN([cD,cJ],(a,b)=>`Helping ${a} use ${b}`),cN([cK,cI],(a,b)=>`Linking ${a} to ${b}`),cN([cH,cD],(a,b)=>`Watching ${b} learn to ${a}`),cN([cG,cK],(a,b)=>`${cO(a)} before ${b}`),cN([cE,cF],(a,b)=>`Delivering ${a} ${b}`),cN([cD,cF],(a,b)=>`Meeting ${a} ${b}`),cN([cI,cK],(a,b)=>`Discussing ${a} at ${b}`),cN([cH,cF],(a,b)=>`Trying to ${a} ${b}`),cN([cG,cE],(a,b)=>`${cO(a)} around ${b}`),cN([cK,cF],(a,b)=>`Hosting ${a} ${b}`),cN([cE,cI],(a,b)=>`Comparing ${a} with ${b}`),cN([cD,cL],(a,b)=>`Meeting ${a} just as ${b}`),cN([cJ,cM],(a,b)=>`Pointing ${a} north; ${b}`),cN([cH,cK],(a,b)=>`Practicing how to ${a} at ${b}`)];cP.reduce((a,b)=>a+b.count,0);let cQ=(a,b)=>{let c=Math.abs(a),d=Math.abs(b);for(;0!==d;)[c,d]=[d,c%d];return c},cR=a=>{let b=0|a;return((b=Math.imul((b=Math.imul(b^b>>>16,0x21f0aaad))^b>>>15,0x735a2d97))^b>>>15)>>>0},cS=(a,b)=>{let c=cR(b)%(a-1)+1;for(;1!==cQ(c,a);)c=c%(a-1)+1;return c},cT=({lane:a,onOpenLane:b})=>{let{t:c}=(0,bZ.s9)(),d=!!a.laneConversationId&&!!b,e="pending"===a.status;return(0,aF.jsxs)(aL.default,{onClick:d?()=>b(a.laneConversationId):void 0,sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.25,borderRadius:1,...d&&{cursor:"pointer","&:hover":{bgcolor:"action.hover",textDecoration:"underline"}}},children:["running"===a.status&&(0,aF.jsx)(aN.default,{size:14,sx:{flexShrink:0}}),"completed"===a.status&&(0,aF.jsx)(a7.A,{sx:{fontSize:16,flexShrink:0},color:"success"}),"error"===a.status&&(0,aF.jsx)(cz.A,{sx:{fontSize:16,flexShrink:0},color:"error"}),e&&(0,aF.jsx)(cA.A,{sx:{fontSize:16,flexShrink:0},color:"disabled"}),(0,aF.jsxs)(aP.A,{variant:"caption",color:e?"text.disabled":"textSecondary",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:[a.label,e&&` — ${c("chat.live.queued")}`,"running"===a.status&&a.activity&&(0,aF.jsxs)(aP.A,{component:"span",variant:"caption",color:"text.disabled",children:[" \xb7 ",a.activity]})]})]})},cU=({liveStats:a,onStop:b,stopDisabled:c,awaitingApproval:d,lanes:e,onOpenLane:f,retryWait:g,compact:h=!1})=>{let i,j,k,l,m,n,o,{locale:p,t:q,tp:r,formatNumber:s,formatList:t}=(0,bZ.s9)(),[u,v]=(0,aG.useState)(()=>Date.now()),[w]=(0,aG.useState)(()=>Date.now()),[x,y]=(0,aG.useState)(!1);(0,aG.useEffect)(()=>{let a=setInterval(()=>v(Date.now()),1e3);return()=>clearInterval(a)},[]);let z=a?Math.max(0,Math.round((u-a.startedAt)/1e3)):0,A=a?Math.round((u-a.lastEventAt)/1e3):0,B=!d&&!g&&!!a&&A>=60,C=a?.startedAt??w,D=Math.floor(Math.max(0,u-C)/1e4),E="en"===p?(i=Math.max(0,Math.floor(D)),j=Math.floor(C),k=cP.length,m=cP[l=(cR(j)%k+i*cS(k,0x6d2b79f5^j))%k],n=Math.floor(i/k),o=(cR(j^Math.imul(l+1,0x9e3779b1))%m.count+n*cS(m.count,j^Math.imul(l+1,0x85ebca6b)))%m.count,m.render(o)):q(`chat.live.working.${D%6}`),F=g?Math.max(0,Math.ceil((g.retryAt-u)/1e3)):0,G=g?g.maxAttempts?q("chat.live.retryWaitAttempt",{seconds:s(F),attempt:s(g.attempt),total:s(g.maxAttempts)}):q("chat.live.retryWait",{seconds:s(F)}):null,H=e?Object.values(e.byIndex).sort((a,b)=>a.laneIndex-b.laneIndex):[],I=H.length>0?(()=>{let a=H.filter(a=>"running"===a.status).length,b=H.filter(a=>"pending"===a.status).length,c=H.filter(a=>"completed"===a.status).length,d=H.filter(a=>"error"===a.status).length;if(0===a&&0===b&&d>0)return{text:q("chat.live.partialFailure",{failed:s(d),total:s(H.length)}),warning:!0};let e=[a>0?r("chat.live.laneRunning",a):"",b>0?r("chat.live.laneQueued",b):"",c>0?r("chat.live.laneDone",c):"",d>0?r("chat.live.laneFailed",d):""].filter(Boolean);return{text:r("chat.live.lanes",H.length,{states:t(e)}),warning:d>0}})():null;if(h){let e=d?q("chat.live.waitingApproval"):a?.activeNode?q("chat.live.running",{node:a.activeNode}):q("chat.live.working");return(0,aF.jsxs)(aL.default,{"data-testid":"compact-live-run",sx:{flexShrink:0,bgcolor:"background.paper",borderTop:1,borderBottom:1,borderColor:"divider",boxShadow:"0 -8px 24px rgba(0,0,0,.10)",position:"relative",zIndex:3},children:[(0,aF.jsxs)(aL.default,{sx:{minHeight:44,px:1,display:"flex",alignItems:"center",gap:.75},children:[d?(0,aF.jsx)(cy.A,{fontSize:"small",color:"warning"}):(0,aF.jsx)(aN.default,{size:18,color:B?"warning":"primary"}),(0,aF.jsx)(aP.A,{variant:"body2",noWrap:!0,role:"status","aria-live":"polite","aria-atomic":"true","data-testid":G?"retry-wait":"run-status",color:G?"warning.main":void 0,sx:{flex:1,minWidth:0},children:G??e}),!d&&(0,aF.jsxs)(aP.A,{variant:"caption",color:B?"warning.main":"text.secondary",sx:{whiteSpace:"nowrap"},children:[s(a?.totalTokens??0)," \xb7 ",s(z),"s"]}),I&&(0,aF.jsx)(aQ.A,{title:I.text,children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>y(a=>!a),"aria-label":I.text,"aria-expanded":x,children:x?(0,aF.jsx)(bB.A,{}):(0,aF.jsx)(bA.A,{})})}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"secondary",size:"small",onClick:b,disabled:c,sx:{minWidth:"auto",px:1},children:q("chat.live.stop")})]}),!d&&(0,aF.jsx)(aP.A,{"data-testid":"compact-working-message",variant:"body2",color:"text.primary","aria-hidden":"true",sx:{px:1.5,pb:.75,fontSize:"0.8125rem",fontWeight:500,lineHeight:1.35,textAlign:"center",overflowWrap:"anywhere"},children:E}),I&&(0,aF.jsx)(bu.A,{in:x,unmountOnExit:!0,children:(0,aF.jsxs)(aL.default,{sx:{px:1,pb:1},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:I.warning?"warning.main":"text.secondary",sx:{display:"block",mb:.25},children:I.text}),H.map(a=>(0,aF.jsx)(cT,{lane:a,onOpenLane:f},a.laneIndex))]})})]})}return(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",alignItems:"center",my:2,gap:.5},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:2},children:[d?(0,aF.jsx)(cy.A,{fontSize:"small",color:"warning"}):(0,aF.jsx)(aN.default,{size:20,color:B?"warning":"primary"}),(0,aF.jsx)(aP.A,{variant:"body2",color:G?"warning.main":"textSecondary","data-testid":G?"retry-wait":"run-status",role:"status","aria-live":"polite","aria-atomic":"true",children:G??(d?q("chat.live.waitingApproval"):a?.activeNode?q("chat.live.running",{node:a.activeNode}):q("chat.live.working"))}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"secondary",size:"small",onClick:b,disabled:c,children:q("chat.live.stop")})]}),!d&&(0,aF.jsx)(aP.A,{"data-testid":"working-message",variant:"body2",color:"text.primary",sx:{maxWidth:680,px:2,py:.5,borderRadius:1,bgcolor:"action.hover",fontSize:"0.875rem",fontWeight:500,lineHeight:1.45,textAlign:"center",overflowWrap:"anywhere"},"aria-hidden":"true",children:E}),I&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",alignItems:"stretch",minWidth:280,maxWidth:520},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:I.warning?"warning.main":"textSecondary",sx:{px:1,fontWeight:500},children:I.text}),H.map(a=>(0,aF.jsx)(cT,{lane:a,onOpenLane:f},a.laneIndex))]}),!d&&(0,aF.jsxs)(aP.A,{variant:"caption",color:B?"warning.main":"textSecondary",children:[r("chat.live.elapsed",z,{tokens:q("chat.stats.tokens",{count:s(a?.totalTokens??0)})}),B?` \xb7 ${r("chat.live.inactive",A)}`:""]})]})};var cV=c(54882),cW=c(30892);let cX=(0,a9.A)((0,aF.jsx)("path",{d:"M12 6v3l4-4-4-4v3c-4.42 0-8 3.58-8 8 0 1.57.46 3.03 1.24 4.26L6.7 14.8c-.45-.83-.7-1.79-.7-2.8 0-3.31 2.69-6 6-6m6.76 1.74L17.3 9.2c.44.84.7 1.79.7 2.8 0 3.31-2.69 6-6 6v-3l-4 4 4 4v-3c4.42 0 8-3.58 8-8 0-1.57-.46-3.03-1.24-4.26"}),"Autorenew"),cY=({todos:a})=>{let{t:b,formatNumber:c}=(0,bZ.s9)();if(!a||0===a.length)return null;let d=a.filter(a=>"done"===a.status).length,e=a.length>0?Math.round(d/a.length*100):0;return(0,aF.jsxs)(cV.A,{variant:"outlined",sx:{mt:2,p:1.5,borderRadius:2},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",mb:1},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{fontWeight:600},children:b("chat.todo.title")}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:b("chat.todo.progress",{done:c(d),total:c(a.length)})})]}),(0,aF.jsx)(cW.A,{variant:"determinate",value:e,sx:{mb:1,borderRadius:1}}),(0,aF.jsx)(aL.default,{component:"ul",sx:{listStyle:"none",m:0,p:0},children:a.map(a=>(0,aF.jsxs)(aL.default,{component:"li",sx:{display:"flex",alignItems:"center",gap:1,py:.25},children:[function(a){switch(a){case"done":return(0,aF.jsx)(a7.A,{fontSize:"small",color:"success"});case"in_progress":return(0,aF.jsx)(cX,{fontSize:"small",color:"info"});case"cancelled":return(0,aF.jsx)(cz.A,{fontSize:"small",color:"disabled"});default:return(0,aF.jsx)(cA.A,{fontSize:"small",color:"disabled"})}}(a.status),(0,aF.jsx)(aP.A,{variant:"body2",sx:{textDecoration:"done"===a.status||"cancelled"===a.status?"line-through":"none",color:"done"===a.status||"cancelled"===a.status?"text.secondary":"text.primary"},children:a.content})]},a.id))})]})};var cZ=c(36891),c$=c(80076),c_=c(51385),c0=c(65667),c1=c(80968),c2=c(93208);let c3=(0,a9.A)((0,aF.jsx)("path",{d:"M13 2.05v3.03c3.39.49 6 3.39 6 6.92 0 .9-.18 1.75-.48 2.54l2.6 1.53c.56-1.24.88-2.62.88-4.07 0-5.18-3.95-9.45-9-9.95M12 19c-3.87 0-7-3.13-7-7 0-3.53 2.61-6.43 6-6.92V2.05c-5.06.5-9 4.76-9 9.95 0 5.52 4.47 10 9.99 10 3.31 0 6.24-1.61 8.06-4.09l-2.6-1.53C16.17 17.98 14.21 19 12 19"}),"DataUsage");var c4=c(287);let c5=a=>a>=1e3?`${(a/1e3).toFixed(a>=1e5?0:1)}k`:`${a}`,c6=({usage:a,contextInfo:b,availableNodes:c,compact:d=!1})=>{let{t:e,formatNumber:f}=(0,bZ.s9)(),[g,h]=(0,aG.useState)(null);if(!a&&!b)return null;let i=a?.byNode?Object.entries(a.byNode):[],j=a?(0,c4.g)(a):void 0,k=j?.cacheReadTokens??0,l=j?.cacheWriteTokens??0,m=j?.freshPromptTokens??0,n=j?.meterTotalTokens??0,o=b?.contextWindow&&b.contextWindow>0?Math.min(100,Math.round(b.promptTokens/b.contextWindow*100)):void 0;return(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:d?.5:1.5,flexShrink:0},children:[a&&n>0&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aQ.A,{title:e("chat.stats.tooltip",{prompt:f(m),completion:f(a.completionTokens),cached:k>0?e("chat.stats.cached",{count:f(k)}):"",written:l>0?e("chat.stats.written",{count:f(l)}):""}),children:(0,aF.jsx)(aU.A,{icon:(0,aF.jsx)(c3,{}),label:d?c5(n):e("chat.stats.tokens",{count:c5(n)}),size:"small",variant:"outlined",onClick:a=>h(a.currentTarget),sx:{cursor:"pointer"}})}),(0,aF.jsx)(cZ.Ay,{open:!!g,anchorEl:g,onClose:()=>h(null),anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},children:(0,aF.jsxs)(aL.default,{sx:{p:2,maxWidth:"min(680px, calc(100vw - 24px))",overflowX:"auto"},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{mb:1},children:e("chat.stats.title")}),(0,aF.jsxs)(c$.A,{size:"small",children:[(0,aF.jsx)(c_.A,{children:(0,aF.jsxs)(c0.A,{children:[(0,aF.jsx)(c1.A,{children:e("chat.stats.node")}),(0,aF.jsx)(c1.A,{align:"right",children:e("chat.stats.prompt")}),(0,aF.jsx)(c1.A,{align:"right",children:e("chat.stats.completion")}),(0,aF.jsx)(c1.A,{align:"right",children:e("chat.stats.cachedRead")}),(0,aF.jsx)(c1.A,{align:"right",children:e("chat.stats.cacheWrite")}),(0,aF.jsx)(c1.A,{align:"right",children:e("chat.stats.total")})]})}),(0,aF.jsxs)(c2.A,{children:[i.map(([a,b])=>{let d=(0,c4.g)(b);return(0,aF.jsxs)(c0.A,{children:[(0,aF.jsx)(c1.A,{children:(0,aF.jsx)(aQ.A,{title:a,children:(0,aF.jsx)("span",{children:c.find(b=>b.id===a)?.label||`${a.substring(0,8)}…`})})}),(0,aF.jsx)(c1.A,{align:"right",children:f(d.freshPromptTokens)}),(0,aF.jsx)(c1.A,{align:"right",children:f(d.completionTokens)}),(0,aF.jsx)(c1.A,{align:"right",children:f(d.cacheReadTokens)}),(0,aF.jsx)(c1.A,{align:"right",children:f(d.cacheWriteTokens)}),(0,aF.jsx)(c1.A,{align:"right",children:f(d.meterTotalTokens)})]},a)}),(0,aF.jsxs)(c0.A,{children:[(0,aF.jsx)(c1.A,{sx:{fontWeight:"bold"},children:e("chat.stats.total")}),(0,aF.jsx)(c1.A,{align:"right",sx:{fontWeight:"bold"},children:f(m)}),(0,aF.jsx)(c1.A,{align:"right",sx:{fontWeight:"bold"},children:f(a.completionTokens)}),(0,aF.jsx)(c1.A,{align:"right",sx:{fontWeight:"bold"},children:f(k)}),(0,aF.jsx)(c1.A,{align:"right",sx:{fontWeight:"bold"},children:f(l)}),(0,aF.jsx)(c1.A,{align:"right",sx:{fontWeight:"bold"},children:f(n)})]})]})]}),k>0&&(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:1},children:e("chat.stats.cacheHelp",{cached:f(k),fresh:f(n)})}),l>0&&(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"block",mt:.5},children:e("chat.stats.cacheWriteHelp",{written:f(l)})})]})})]}),b&&void 0!==o&&!d&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.context",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):"",used:f(b.promptTokens),total:f(b.contextWindow)}),children:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,minWidth:140},children:[(0,aF.jsx)(cW.A,{variant:"determinate",value:o,color:o>=90?"error":o>=70?"warning":"primary",sx:{flex:1,height:6,borderRadius:3}}),(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:[c5(b.promptTokens),"/",c5(b.contextWindow)," (",o,"%)"]})]})}),b&&void 0!==o&&d&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.context",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):"",used:f(b.promptTokens),total:f(b.contextWindow)}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:o>=90?"error.main":"text.secondary",sx:{whiteSpace:"nowrap"},children:["ctx ",o,"%"]})}),b&&void 0===o&&(0,aF.jsx)(aQ.A,{title:e("chat.stats.noWindow",{model:b.modelDisplayName?e("chat.stats.model",{model:b.modelDisplayName}):""}),children:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{whiteSpace:"nowrap"},children:["ctx ",c5(b.promptTokens)]})})]})};var c7=c(41489),c8=c(94400),c9=c(58247),da=c(32787),db=c(18085),dc=c(41675),dd=c(92646),de=c(6680);let df=(0,de.h)("frontend/components/Chat/QuickChatDialog"),dg=({open:a,onClose:b,onStart:c})=>{let{t:d,tp:e}=(0,bZ.s9)(),[f,g]=(0,aG.useState)([]),[h,i]=(0,aG.useState)([]),[j,k]=(0,aG.useState)(!1),[l,m]=(0,aG.useState)(null),[n,o]=(0,aG.useState)(""),[p,q]=(0,aG.useState)(""),[r,s]=(0,aG.useState)({}),[t,u]=(0,aG.useState)(!1),[v,w]=(0,aG.useState)(null);(0,aG.useEffect)(()=>{if(!a)return;let b=!1;return k(!0),m(null),(async()=>{try{let[a,c]=await Promise.all([dc.N.loadModels(),dd.S.loadServerConfigs()]);if(b)return;g(a);let d=Array.isArray(c)?c.filter(a=>!a.disabled).map(a=>a.name):[];i(d),o(b=>b||a[0]?.id||"")}catch(a){b||(df.warn("Failed to load models/servers for quick chat",a),m(d("chat.quick.loadFailed")))}finally{b||k(!1)}})(),()=>{b=!0}},[a,d]),(0,aG.useEffect)(()=>{a||(q(""),s({}),w(null),u(!1))},[a]);let x=(0,aG.useCallback)(a=>{s(b=>{let c=b[a];return c?.selected?{...b,[a]:{...c,selected:!1}}:{...b,[a]:{...c??{tools:null,expanded:!1},selected:!0}}})},[]),y=(0,aG.useCallback)(async a=>{s(b=>{let c=b[a]??{selected:!1,tools:null,expanded:!1};return{...b,[a]:{...c,expanded:!c.expanded}}});let b=r[a];if(!b?.available&&!b?.loading){s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},loading:!0}}));try{let{tools:b}=await dd.S.listServerTools(a),c=Array.isArray(b)?b.map(a=>a.name).filter(Boolean):[];s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},available:c,loading:!1}}))}catch(b){df.warn(`Failed to load tools for ${a}`,b),s(b=>({...b,[a]:{...b[a]??{selected:!1,tools:null,expanded:!0},available:[],loading:!1}}))}}},[r]),z=(0,aG.useCallback)((a,b,c)=>{s(d=>{let e=d[a]??{selected:!0,tools:null,expanded:!0},f=new Set(e.tools??new Set(c));return f.has(b)?f.delete(b):f.add(b),{...d,[a]:{...e,selected:!0,tools:f}}})},[]),A=!!n&&!t&&!j,B=async()=>{if(!n)return void w(d("chat.quick.pickModel"));u(!0),w(null);let a=h.filter(a=>r[a]?.selected).map(a=>{let b=r[a];return!b.tools||b.available&&b.tools.size===b.available.length?{name:a}:{name:a,enabledTools:[...b.tools]}});try{await c({modelId:n,servers:a,systemPrompt:p.trim()||void 0})}catch(a){df.warn("Quick chat failed to start",a),w(a instanceof Error?a.message:d("chat.quick.startFailed")),u(!1)}};return(0,aF.jsxs)(aX.A,{open:a,onClose:t?void 0:b,maxWidth:"sm",fullWidth:!0,children:[(0,aF.jsx)(db.A,{title:d("chat.quick.title"),onClose:b}),(0,aF.jsxs)(aZ.A,{children:[(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",sx:{mb:2},children:d("chat.quick.help")}),l&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mb:2},children:l}),(0,aF.jsxs)(br.A,{fullWidth:!0,size:"small",sx:{mb:2},disabled:j,children:[(0,aF.jsx)(c8.A,{id:"quick-chat-model-label",children:d("chat.quick.model")}),(0,aF.jsxs)(bs.A,{labelId:"quick-chat-model-label",label:d("chat.quick.model"),value:n,onChange:a=>o(a.target.value),children:[0===f.length&&(0,aF.jsx)(bt.A,{value:"",disabled:!0,children:j?d("common.loading"):d("chat.quick.noModels")}),f.map(a=>(0,aF.jsx)(bt.A,{value:a.id,children:a.displayName||a.name},a.id))]})]}),(0,aF.jsx)(aT.A,{fullWidth:!0,size:"small",multiline:!0,minRows:2,maxRows:6,label:d("chat.quick.systemPrompt"),placeholder:d("chat.quick.systemPlaceholder"),value:p,onChange:a=>q(a.target.value),sx:{mb:2}}),(0,aF.jsx)(bp.A,{sx:{mb:1}}),(0,aF.jsx)(aP.A,{variant:"subtitle2",gutterBottom:!0,children:d("chat.quick.servers")}),j?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aN.default,{size:22})}):0===h.length?(0,aF.jsx)(aP.A,{variant:"body2",color:"text.secondary",children:d("chat.quick.noServers")}):h.map(a=>{let b=r[a],c=!!b?.selected,f=b?.available,g=b?.tools;return(0,aF.jsxs)(aL.default,{sx:{mb:.5},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center"},children:[(0,aF.jsx)(c9.A,{sx:{flexGrow:1,mr:0},control:(0,aF.jsx)(da.A,{size:"small",checked:c,onChange:()=>x(a)}),label:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,aF.jsx)(aP.A,{variant:"body2",children:a}),c&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:g?e("chat.quick.tool",g.size):d("chat.quick.allTools")})]})}),(0,aF.jsx)(aR.A,{size:"small",onClick:()=>y(a),"aria-label":d("chat.quick.customize",{server:a}),children:b?.expanded?(0,aF.jsx)(bB.A,{fontSize:"small"}):(0,aF.jsx)(bA.A,{fontSize:"small"})})]}),(0,aF.jsx)(bu.A,{in:!!b?.expanded,unmountOnExit:!0,children:(0,aF.jsx)(aL.default,{sx:{pl:4,pb:1},children:b?.loading?(0,aF.jsx)(aN.default,{size:16}):f&&f.length>0?f.map(b=>{let c=!g||g.has(b);return(0,aF.jsx)(c9.A,{sx:{display:"flex"},control:(0,aF.jsx)(da.A,{size:"small",checked:c,onChange:()=>z(a,b,f)}),label:(0,aF.jsx)(aP.A,{variant:"caption",children:b})},b)}):(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:f?d("chat.quick.noTools"):""})})})]},a)}),v&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mt:2},children:v})]}),(0,aF.jsxs)(a_.A,{children:[(0,aF.jsx)(aM.A,{onClick:b,disabled:t,children:d("common.cancel")}),(0,aF.jsx)(aM.A,{variant:"contained",onClick:B,disabled:!A,startIcon:t?(0,aF.jsx)(aN.default,{size:16,color:"inherit"}):void 0,children:t?d("chat.quick.starting"):d("chat.quick.start")})]})]})};var dh=c(39179),di=c(30630),dj=c(37397),dk=c(218),dl=c(19565);let dm=(0,a9.A)((0,aF.jsx)("path",{d:"M11 7h2v2h-2zm0 4h2v6h-2zm1-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"InfoOutlined"),dn=(0,a9.A)((0,aF.jsx)("circle",{cx:"12",cy:"12",r:"8"}),"FiberManualRecord");var dp=c(31972);let dq=(0,a9.A)((0,aF.jsx)("path",{d:"M15 16h4v2h-4zm0-8h7v2h-7zm0 4h6v2h-6zM3 18c0 1.1.9 2 2 2h6c1.1 0 2-.9 2-2V8H3zm2-8h6v8H5zm5-6H6L5 5H2v2h12V5h-3z"}),"DeleteSweepOutlined"),dr=(0,a9.A)((0,aF.jsx)("path",{d:"m22.61 18.99-9.08-9.08c.93-2.34.45-5.1-1.44-7C9.79.61 6.21.4 3.66 2.26L7.5 6.11 6.08 7.52 2.25 3.69C.39 6.23.6 9.82 2.9 12.11c1.86 1.86 4.57 2.35 6.89 1.48l9.11 9.11c.39.39 1.02.39 1.41 0l2.3-2.3c.4-.38.4-1.01 0-1.41m-3 1.6-9.46-9.46c-.61.45-1.29.72-2 .82-1.36.2-2.79-.21-3.83-1.25C3.37 9.76 2.93 8.5 3 7.26l3.09 3.09 4.24-4.24-3.09-3.09c1.24-.07 2.49.37 3.44 1.31 1.08 1.08 1.49 2.57 1.24 3.96-.12.71-.42 1.37-.88 1.96l9.45 9.45z"}),"BuildOutlined");var ds=c(72139),dt=c(56024),du=c(2642),dv=c(66319),dw=c(46322);let dx={byNode:{},byResource:{},byResourceName:{},resourceVersion:0},dy="root",dz=a=>"subflow:start"===a.type||"subflow:done"===a.type?a.depth??1:a.depth??0,dA=(a,b)=>null==b.laneIndex||null==a.laneIndex||a.laneIndex===b.laneIndex,dB=(a,b)=>{for(let c=a.order.length-1;c>=0;c-=1){let d=a.frames[a.order[c]];if(d&&b(d))return d}},dC=(a,b,c)=>c<=1?a.frames[a.rootKey]:dB(a,a=>"active"===a.status&&a.depth===c-1&&dA(a,b))??a.frames[a.rootKey],dD=(a,b)=>{let c=dz(b);return c<=0?a.frames[a.rootKey]:dB(a,a=>"active"===a.status&&a.depth===c&&dA(a,b))??a.frames[a.rootKey]},dE=a=>"node"in a?a.node?.nodeId:void 0,dF=a=>"resource:read"===a.type?"resource-read":"resource:write"===a.type?"resource-write":"active",dG="tool:",dH="tool-node:",dI="tool:*",dJ=a=>(a??[]).filter(a=>"*"!==a&&!(a.startsWith(dG)||a.startsWith(dH)));var dK=c(25912);let dL=(0,a9.A)((0,aF.jsx)("path",{d:"M21 19V5c0-1.1-.9-2-2-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2M8.5 13.5l2.5 3.01L14.5 12l4.5 6H5z"}),"Image"),dM=(0,a9.A)((0,aF.jsx)("path",{d:"M12 3v9.28c-.47-.17-.97-.28-1.5-.28C8.01 12 6 14.01 6 16.5S8.01 21 10.5 21c2.31 0 4.2-1.75 4.45-4H15V6h4V3z"}),"Audiotrack");var dN=c(44440);let dO=(0,de.h)("frontend/components/Chat/RunResourcesPanel"),dP=({conversationId:a,refreshToken:b})=>{let{t:c,formatNumber:d}=(0,bZ.s9)(),[e,f]=(0,aG.useState)(null),[g,h]=(0,aG.useState)(null);return((0,aG.useEffect)(()=>{if(!a)return;let b=!1;return fetch(`/v1/chat/conversations/${encodeURIComponent(a)}/resources`).then(async a=>{if(!a.ok)throw Error(`HTTP ${a.status}`);return a.json()}).then(a=>{b||(f(Array.isArray(a.resources)?a.resources:[]),h(null))}).catch(a=>{b||(dO.warn("Failed to load run resources",a),h(a instanceof Error?a.message:String(a)))}),()=>{b=!0}},[a,b]),g)?(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:c("chat.resources.unavailable",{error:g})}):null===e?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",p:1},children:(0,aF.jsx)(aN.default,{size:16})}):0===e.length?(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:c("chat.resources.empty")}):(0,aF.jsx)(bv.A,{dense:!0,disablePadding:!0,children:[...e].sort((a,b)=>b.createdAt-a.createdAt).map(a=>{var b;return(0,aF.jsxs)(bm.Ay,{disableGutters:!0,sx:{alignItems:"flex-start"},children:[(0,aF.jsx)(di.A,{sx:{minWidth:30,mt:.5},children:function(a){switch(a){case"image":return(0,aF.jsx)(dL,{fontSize:"small",sx:{color:"#009688"}});case"audio":return(0,aF.jsx)(dM,{fontSize:"small",sx:{color:"#009688"}});case"link":return(0,aF.jsx)(dN.A,{fontSize:"small",sx:{color:"#009688"}});default:return(0,aF.jsx)(dK.A,{fontSize:"small",sx:{color:"#009688"}})}}(a.kind)}),(0,aF.jsx)(bo.A,{primary:(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,flexWrap:"wrap"},children:[(0,aF.jsx)(aP.A,{variant:"body2",sx:{fontWeight:500},children:a.name??`${a.kind}-${a.id.slice(0,8)}`}),a.mimeType&&(0,aF.jsx)(aU.A,{label:a.mimeType,size:"small",variant:"outlined",sx:{height:18,fontSize:"0.65rem"}}),a.archive&&(0,aF.jsx)(aU.A,{label:"page"===a.archive.role?c("chat.resources.archivePage",{page:(a.archive.pageIndex??0)+1,total:a.archive.pageCount??"?"}):c("chat.resources.archiveSource"),size:"small",color:"info",variant:"outlined",sx:{height:18,fontSize:"0.65rem"}}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:(b=a.size)<1024?`${d(b)} B`:b<1048576?`${d(Math.round(b/1024))} KB`:`${d(b/1048576,{maximumFractionDigits:1})} MB`})]}),secondary:(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",component:"span",sx:{wordBreak:"break-all"},children:[c("chat.resources.by",{producer:(a=>{let b=a.producedBy;switch(b.source){case"tool-result":return c("chat.resources.producer.toolResult",{server:b.server??"?",tool:b.toolName??"?"});case"tool-args":return c("chat.resources.producer.toolArgs",{server:b.server??"?",tool:b.toolName??"?"});case"capture":return c("chat.resources.producer.step",{step:b.nodeName??b.nodeId??"?"});case"mcp-link":return c("chat.resources.producer.link",{server:b.server??"?"});case"visual-archive":return c("chat.resources.producer.archive");default:return c("chat.resources.producer.run")}})(a)}),a.readBy.length>0?` \xb7 ${c("chat.resources.read",{count:a.readBy.length})}`:"",(a.verifications?.length??0)>0?` \xb7 ${c("chat.resources.verified",{ok:a.verifications.filter(a=>a.ok).length,total:a.verifications.length})}`:"",a.sha256?` \xb7 sha256 ${a.sha256.slice(0,12)}…`:""," \xb7 ",a.uri]})})]},a.id)})})},dQ=(0,de.h)("frontend/components/Chat/DebuggerCanvas"),dR={start:dv.vm,process:dv.Uw,finish:dv.IK,mcp:dv.v2,subflow:dv.lA,resource:dv.z9},dS={custom:dw.jY,mcpEdge:dw.oY,resourceEdge:dw.sZ},dT=[],dU=["tracker","detail"],dV=(0,ds.Ay)(cV.A)(({theme:a})=>({display:"flex",flexDirection:"column",height:"100%",overflow:"hidden",padding:a.spacing(1)})),dW=(0,ds.Ay)(aL.default)(({theme:a})=>({padding:a.spacing(1,2),borderBottom:`1px solid ${a.palette.divider}`})),dX=(0,ds.Ay)(aL.default)({flexGrow:1,display:"flex",overflow:"hidden",minHeight:0}),dY=(0,ds.Ay)(aL.default)(({theme:a})=>({width:"200px",flexShrink:0,borderRight:`1px solid ${a.palette.divider}`,overflowY:"auto",padding:a.spacing(1)})),dZ=(0,ds.Ay)(aL.default)({flexGrow:1,position:"relative",height:"100%"}),d$=(0,ds.Ay)(aL.default)(({theme:a})=>({padding:a.spacing(1,2),borderTop:`1px solid ${a.palette.divider}`,display:"flex",gap:a.spacing(1),justifyContent:"center"})),d_=(0,ds.Ay)(aL.default)(({theme:a})=>({width:"6px",flexShrink:0,cursor:"col-resize",backgroundColor:a.palette.divider,transition:"background-color 120ms",touchAction:"none","&:hover":{backgroundColor:a.palette.primary.main}})),d0=({debugState:a,conversationId:b,onStep:c,onStepOver:d,onContinue:e,onCancel:f,isLoading:g,breakpoints:h,onToggleBreakpoint:i,onSetBreakpoints:j,onClose:k,isExpanded:l,onToggleExpand:m,liveActivity:n,executionEvents:o=dT,onStepSelectionChange:p})=>{let q=(0,a0.A)(),{t:r,tp:s,formatDate:t}=(0,bZ.s9)(),u={tracker:r("chat.debug.section.tracker"),detail:r("chat.debug.section.detail")},[v,w]=(0,aG.useState)(a.executionTrace&&a.executionTrace.length>0?a.executionTrace.length-1:-1),[x,y]=(0,aG.useState)(()=>[...dU]),[z,A]=(0,aG.useState)(()=>({tracker:!0,detail:!0})),[B,C]=(0,aG.useState)(()=>320),D=(0,aG.useMemo)(()=>(function(a,b){let c={key:dy,parentKey:null,flowId:a,displayName:"Root flow",depth:0,status:"active",startedSeq:0,nodeActivity:{}},d={rootKey:c.key,activeFrameKey:c.key,frames:{[c.key]:c},order:[c.key]};for(let a of b){let b=dz(a);if(b<0||b>8)continue;if("run:start"===a.type){d.activeFrameKey=c.key;continue}if("subflow:start"===a.type){if(!a.subflowId||b<=0)continue;let c=dC(d,a,b),e=null==a.laneIndex?"":`:lane-${a.laneIndex}`,f=`${c.key}:${a.node?.nodeId??"subflow"}:${a.subflowId}${e}:seq-${a.seq}`,g={key:f,parentKey:c.key,flowId:a.subflowId,invokingNodeId:a.node?.nodeId,displayName:a.laneTitle||a.subflowName||a.subflowId,depth:b,laneIndex:a.laneIndex,laneCount:a.laneCount,laneTitle:a.laneTitle,status:"active",startedSeq:a.seq,nodeActivity:{}};d.frames[f]=g,d.order.push(f),d.activeFrameKey=f,a.node?.nodeId&&(c.nodeActivity[a.node.nodeId]={kind:"active",ts:a.timestamp});continue}if("subflow:done"===a.type){let e=dB(d,c=>"active"===c.status&&c.depth===b&&c.flowId===a.subflowId&&(a.node?.nodeId==null||c.invokingNodeId===a.node.nodeId)&&dA(c,a));if(!e)continue;e.status=a.status,e.endedSeq=a.seq,d.activeFrameKey=e.parentKey??c.key;let f=d.frames[e.parentKey??c.key];e.invokingNodeId&&f&&(f.nodeActivity[e.invokingNodeId]={kind:"active",ts:a.timestamp});continue}let e=dD(d,a);d.activeFrameKey=e.key;let f=dE(a);f&&(e.nodeActivity[f]={kind:dF(a),ts:a.timestamp})}return d})(a.flowId??"",o),[a.flowId,o]),[E,F]=(0,aG.useState)(dy),[G,H]=(0,aG.useState)({}),I=(0,aG.useRef)(new Set),J=(0,aG.useRef)(0),[K,L,M]=(0,dt.ck)([]),[N,O,P]=(0,dt.fM)([]);(0,aG.useEffect)(()=>{},[x]),(0,aG.useEffect)(()=>{},[z]),(0,aG.useEffect)(()=>{},[B]),(0,aG.useEffect)(()=>{let b=a.executionTrace?.length||0;b>0?(w(a=>Math.min(a,b-1)),v<b-1&&w(b-1)):w(-1)},[a.executionTrace]),(0,aG.useEffect)(()=>{p?.(v)},[v,p]),(0,aG.useEffect)(()=>{F(D.activeFrameKey)},[D.activeFrameKey,o.length]);let Q=(0,aG.useMemo)(()=>Array.from(new Set(D.order.map(a=>D.frames[a]?.flowId).filter(Boolean))),[D]);(0,aG.useEffect)(()=>{J.current+=1,I.current.clear(),H({}),F(dy)},[b,a.flowId]),(0,aG.useEffect)(()=>{let a=J.current;for(let b of Q)!b||I.current.has(b)||(I.current.add(b),H(a=>({...a,[b]:{status:"loading"}})),du.g.getFlow(b).then(c=>{J.current===a&&H(a=>({...a,[b]:c?{status:"ready",flow:c}:{status:"missing"}}))}).catch(c=>{if(J.current!==a)return;let d=c instanceof Error?c.message:r("chat.debug.loadFlowFailed",{id:b});dQ.error("Error loading debugger flow definition:",c),H(a=>({...a,[b]:{status:"error",message:d}}))}))},[b,a.flowId,Q,r]);let R=D.frames[E]??D.frames[D.activeFrameKey]??D.frames[dy],S=G[R.flowId],T=R;for(;G[T.flowId]?.status!=="ready"&&T.parentKey;)T=D.frames[T.parentKey]??D.frames[dy];let U=G[T.flowId],V=U?.status==="ready"?U.flow:null,W=G[a.flowId??""],X=!!a.flowId&&!V&&(!W||"loading"===W.status),Y=a.flowId?W?.status==="missing"?r("chat.debug.flowNotFound",{id:a.flowId}):W?.status==="error"?W.message:null:r("chat.debug.flowMissingId"),Z=R.key!==dy&&S?.status!=="ready"?S?.status!=="loading"&&S?r("chat.debug.childUnavailable",{agent:R.displayName}):r("chat.debug.loadingChild",{agent:R.displayName}):null;(0,aG.useEffect)(()=>{if(!V){L([]),O([]);return}dQ.debug(`Setting debugger graph for flow ${V.id}`),L(V.nodes.map(a=>({...a,draggable:!1,selectable:!1,connectable:!1}))),O(V.edges.map(a=>({...a,selectable:!1})))},[V,L,O]);let $=(0,aG.useCallback)(()=>{if(dQ.debug(`Previous button clicked. Current index: ${v}`),v>0){let a=v-1;dQ.debug(`Setting current step index to: ${a}`),w(a)}else dQ.debug("Already at the first step, cannot go previous.")},[v]),_=(0,aG.useCallback)(()=>{if(dQ.debug(`Next button clicked. Current index: ${v}, Trace length: ${a.executionTrace?.length}`),a.executionTrace&&v<a.executionTrace.length-1){let a=v+1;dQ.debug(`Navigating to next trace step: ${a}`),w(a)}else dQ.info("At end of trace, triggering API call for next step."),c()},[v,a.executionTrace,c]),aa=(0,aG.useMemo)(()=>{if(a.executionTrace&&v>=0&&v<a.executionTrace.length)return a.executionTrace[v]},[a.executionTrace,v]),[ab,ac]=(0,aG.useState)(()=>Date.now());(0,aG.useEffect)(()=>{ac(Date.now())},[o.length]),(0,aG.useEffect)(()=>{if(!n)return;let a=()=>{let a=Date.now();return[...Object.values(n.byNode),...Object.values(n.byResource),...Object.values(n.byResourceName)].some(b=>a-b.ts<4e3)};if(!a())return;let b=setInterval(()=>{ac(Date.now()),a()||clearInterval(b)},350);return()=>clearInterval(b)},[n]);let ad=(0,aG.useCallback)(a=>{var b,c;let d=T.nodeActivity[a.id];if(d&&ab-d.ts<4e3)return d;if(T.key!==dy||!n)return null;let e=n.byNode[a.id];if(e&&ab-e.ts<4e3)return e;let f=a.data;if((f?.type??a.type)!=="resource")return null;let g=f?.properties??{},h="run"===g.scope?"string"==typeof g.runName?n.byResourceName[g.runName]:void 0:"string"==typeof g.boundServer&&"string"==typeof g.uri?n.byResource[b=g.boundServer,c=g.uri,`${b} ${c}`]:void 0;return h&&ab-h.ts<4e3?{kind:"read"===h.kind?"resource-read":"resource-write",ts:h.ts}:null},[T,n,ab]),ae=(0,aG.useCallback)(a=>{if(T.key!==dy)return null;let b="string"==typeof a.data?.type?a.data.type:a.type;return"mcp"===b?`${dH}${a.id}`:"resource"===b||"trigger"===b?null:a.id},[T.key]),af=(0,aG.useMemo)(()=>{let a=T.key===dy?aa?.nodeId:void 0;return K.map(b=>{let c=b.id===a,d=ae(b),e=!!d&&!!h?.includes(d),f=c?null:ad(b),g=f?Math.max(.25,1-(ab-f.ts)/4e3):0,i=f?.kind==="active"?q.palette.primary.main:"#009688";return{...b,className:[b.className,e?"flujo-breakpoint":null].filter(Boolean).join(" ")||void 0,style:{...b.style,border:c?`2px solid ${q.palette.warning.main}`:f?`2px solid ${i}`:b.style?.border,boxShadow:c?`0 0 10px ${q.palette.warning.light}`:f?`0 0 ${"resource-write"===f.kind?14:10}px ${i}${Math.round(255*g).toString(16).padStart(2,"0")}`:void 0}}})},[K,T.key,aa,h,q,ad,ab,ae]),[ag,ah]=(0,aG.useState)(null),ai=(0,aG.useCallback)(()=>ah(null),[]),aj=h??[],ak=aj.includes(dI),al=(0,aG.useCallback)((a,b)=>{a.preventDefault();let c="string"==typeof b.data?.label?b.data.label:b.id,d=ae(b);ah({x:a.clientX,y:a.clientY,...d?{breakpointKey:d}:{},nodeLabel:c,...!d?{unavailableReason:T.key===dy?r("chat.debug.breakpointPassiveNode"):r("chat.debug.breakpointChildRun")}:{}})},[ae,T.key,r]),am=(0,aG.useCallback)(a=>{a.preventDefault(),ah({x:a.clientX,y:a.clientY})},[]),an=(0,aG.useCallback)(()=>{j&&(j(ak?aj.filter(a=>a!==dI):[...aj,dI]),ai())},[j,ak,aj,ai]),ao=(0,aG.useCallback)(()=>{j?.([]),ai()},[j,ai]),ap=(0,aG.useMemo)(()=>(function(a,b){let c=[],d=new Set,e=a.frames[b];for(;e&&!d.has(e.key)&&c.length<=8;)c.unshift(e),d.add(e.key),e=e.parentKey?a.frames[e.parentKey]:void 0;return c})(D,R.key),[D,R.key]),aq=(0,aG.useCallback)(a=>{let b=G[a.flowId],c=a.key===dy&&b?.status==="ready"?b.flow.name:a.displayName;return null==a.laneIndex?c:`${c} \xb7 lane ${a.laneIndex+1}`},[G]),ar=(0,aG.useMemo)(()=>x.filter(a=>z[a]),[x,z]),as=(0,aG.useCallback)(a=>{A(b=>({...b,[a]:!b[a]}))},[]),at=(0,aG.useCallback)((a,b)=>{y(c=>{let d=c.indexOf(a),e=d+b;if(d<0||e<0||e>=c.length)return c;let f=[...c];return[f[d],f[e]]=[f[e],f[d]],f})},[]),au=(0,aG.useCallback)((a,b)=>{b.preventDefault();let c=b.clientX,d=document.body.style.userSelect,e=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let f=b=>{C(Math.min(Math.max(B+a*(b.clientX-c),240),1100))},g=()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",g),document.body.style.userSelect=d,document.body.style.cursor=e};window.addEventListener("pointermove",f),window.addEventListener("pointerup",g)},[B]),av={tracker:(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,display:"flex",overflow:"hidden",minHeight:0},children:[(0,aF.jsxs)(dY,{children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",gutterBottom:!0,sx:{display:"block"},children:r("chat.debug.executionTrace")}),(0,aF.jsxs)(bv.A,{dense:!0,disablePadding:!0,children:[a.executionTrace?.map((b,c)=>(0,aF.jsx)(bm.Ay,{disablePadding:!0,children:(0,aF.jsx)(bn.A,{selected:c===v,onClick:()=>{a.executionTrace&&c>=0&&c<a.executionTrace.length?(dQ.debug(`Trace step selected: ${c}`),w(c)):dQ.warn(`Invalid step index selected: ${c}`)},children:(0,aF.jsx)(bo.A,{primary:`${b.stepIndex}: ${b.nodeName||b.nodeId}`,secondary:b.nodeType})})},b.stepIndex)),g&&(0,aF.jsx)(bm.Ay,{children:(0,aF.jsx)(aN.default,{size:20,sx:{margin:"auto"}})})]})]}),(0,aF.jsx)(dZ,{children:(0,aF.jsxs)(aL.default,{sx:{height:"100%",minHeight:0,display:"flex",flexDirection:"column"},children:[(0,aF.jsxs)(aL.default,{sx:{px:1,py:.5,borderBottom:`1px solid ${q.palette.divider}`,flexShrink:0},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.25,overflowX:"auto"},children:[R.parentKey&&(0,aF.jsx)(aQ.A,{title:r("chat.debug.backToParent"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>F(R.parentKey??dy),"aria-label":r("chat.debug.backToParent"),children:(0,aF.jsx)(bb,{fontSize:"small"})})}),ap.map((a,b)=>(0,aF.jsxs)(aH().Fragment,{children:[b>0&&(0,aF.jsx)(bc,{color:"disabled",fontSize:"small"}),(0,aF.jsx)(aM.A,{size:"small",variant:a.key===R.key?"contained":"text",onClick:()=>F(a.key),sx:{minWidth:0,whiteSpace:"nowrap",textTransform:"none"},children:aq(a)})]},a.key))]}),D.order.length>1&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.25,overflowX:"auto"},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{flexShrink:0},children:r("chat.debug.frames")}),D.order.slice(1).map(a=>{let b=D.frames[a];return(0,aF.jsxs)(aM.A,{size:"small",variant:b.key===R.key?"outlined":"text",color:"error"===b.status?"error":"inherit",onClick:()=>F(b.key),sx:{minWidth:0,py:0,whiteSpace:"nowrap",textTransform:"none",fontSize:"0.7rem"},children:[aq(b)," \xb7 ",b.status]},a)})]})]}),Z&&(0,aF.jsx)(aO.A,{severity:S?.status!=="loading"&&S?"warning":"info",sx:{m:1,mb:0,py:0,flexShrink:0},children:Z}),(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,minHeight:0,position:"relative","& .react-flow__node.flujo-breakpoint":{outline:`3px solid ${q.palette.error.main}`,outlineOffset:"2px",borderRadius:"8px",boxShadow:`0 0 0 7px ${(0,bY.X4)(q.palette.error.main,.16)}, 0 0 14px ${(0,bY.X4)(q.palette.error.main,.5)}`},"& .react-flow__node.flujo-breakpoint::before":{content:'""',position:"absolute",top:"-11px",left:"-11px",width:"16px",height:"16px",borderRadius:"50%",backgroundColor:q.palette.error.main,border:`2px solid ${q.palette.background.paper}`,boxShadow:`0 0 8px ${q.palette.error.main}`,zIndex:12,pointerEvents:"none"}},onContextMenu:a=>{a.target.closest(".react-flow__node")||am(a)},children:[X?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(aN.default,{})}):Y?(0,aF.jsx)(aO.A,{severity:"error",sx:{margin:2},children:Y}):(0,aF.jsx)(dt.Ln,{children:(0,aF.jsx)(dt.Gc,{nodes:af,edges:N,onNodesChange:M,onEdgesChange:P,nodeTypes:dR,edgeTypes:dS,fitView:!0,attributionPosition:"bottom-right",nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!1,onNodeClick:(a,b)=>{a.preventDefault();let c=ae(b);i&&c&&i(c)},onNodeContextMenu:al,onPaneContextMenu:am,onEdgeClick:a=>a.preventDefault(),onPaneClick:()=>{}})}),(0,aF.jsxs)(dh.A,{open:!!ag,onClose:ai,anchorReference:"anchorPosition",anchorPosition:ag?{top:ag.y,left:ag.x}:void 0,children:[ag?.nodeLabel&&(0,aF.jsxs)(bt.A,{onClick:()=>{ag.breakpointKey&&i?.(ag.breakpointKey),ai()},disabled:!i||!ag.breakpointKey,children:[(0,aF.jsx)(di.A,{children:ag.breakpointKey&&aj.includes(ag.breakpointKey)?(0,aF.jsx)(dp.A,{fontSize:"small",color:"error"}):(0,aF.jsx)(dn,{fontSize:"small",color:ag.breakpointKey?"error":"disabled"})}),(0,aF.jsx)(bo.A,{primary:ag.breakpointKey&&aj.includes(ag.breakpointKey)?r("chat.debug.menu.removeBreakpoint"):r("chat.debug.menu.addBreakpoint"),secondary:ag.unavailableReason||ag.nodeLabel})]}),(0,aF.jsxs)(bt.A,{onClick:an,disabled:!j,children:[(0,aF.jsx)(di.A,{children:(0,aF.jsx)(dr,{fontSize:"small",color:ak?"error":"inherit"})}),(0,aF.jsx)(bo.A,{primary:ak?r("chat.debug.menu.toolBreakpointOff"):r("chat.debug.menu.toolBreakpointOn"),secondary:r("chat.debug.menu.toolBreakpointHelp")})]}),(0,aF.jsxs)(bt.A,{onClick:ao,disabled:!j||0===aj.length,children:[(0,aF.jsx)(di.A,{children:(0,aF.jsx)(dq,{fontSize:"small"})}),(0,aF.jsx)(bo.A,{primary:r("chat.debug.menu.clearAll")})]})]})]})]})})]}),detail:(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,overflowY:"auto",minHeight:0,p:2},children:[aa?(0,aF.jsxs)(aL.default,{children:[(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:r("chat.debug.node")})," ",aa.nodeName," (",aa.nodeId,")"]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:r("chat.debug.type")})," ",aa.nodeType]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:r("chat.debug.timestamp")})," ",t(new Date(aa.timestamp),{dateStyle:"medium",timeStyle:"medium"})]}),(0,aF.jsxs)(aP.A,{variant:"body2",children:[(0,aF.jsx)("b",{children:r("chat.debug.actionTaken")})," ",aa.actionTaken]}),(0,aF.jsxs)(dj.A,{sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:r("chat.debug.prepResult")})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(aa.prepResultSnapshot,null,2)})})]}),(0,aF.jsxs)(dj.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",color:aa.execResultSnapshot?.success===!1?"error":"inherit",children:aa.execResultSnapshot?.success===!1?r("chat.debug.execResultError"):r("chat.debug.execResult")})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:aa.execResultSnapshot?.success===!1?(0,aF.jsxs)(aL.default,{sx:{p:1,background:q.palette.error.light,borderRadius:1},children:[(0,aF.jsxs)(aP.A,{variant:"body2",color:"error",gutterBottom:!0,children:[(0,aF.jsx)("b",{children:r("chat.debug.error")})," ",aa.execResultSnapshot.error||r("chat.debug.unknownError")]}),aa.execResultSnapshot.errorDetails&&(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"150px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"4px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(aa.execResultSnapshot.errorDetails,null,2)})]}):(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(aa.execResultSnapshot,null,2)})})]}),(0,aF.jsxs)(dj.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:r("chat.debug.stateBefore")})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(aa.stateBefore,null,2)})})]}),(0,aF.jsxs)(dj.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:r("chat.debug.stateAfter")})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-all",maxHeight:"200px",overflowY:"auto",background:"var(--surface-raised)",color:"var(--foreground)",padding:"8px",borderRadius:"4px",fontSize:"0.75rem",margin:0},children:JSON.stringify(aa.stateAfter,null,2)})})]})]}):(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:r("chat.debug.selectStep")}),(0,aF.jsxs)(dj.A,{defaultExpanded:!0,sx:{mt:2,boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:r("chat.debug.runData")})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:(0,aF.jsx)(dP,{conversationId:b,refreshToken:n?.resourceVersion})})]})]})};return(0,aF.jsxs)(dV,{elevation:2,children:[(0,aF.jsxs)(dW,{sx:{display:"flex",alignItems:"flex-start",justifyContent:"space-between"},children:[(0,aF.jsxs)(aL.default,{children:[(0,aF.jsx)(aP.A,{variant:"h6",children:r("chat.debug.title")}),(0,aF.jsxs)(aP.A,{variant:"caption",color:"textSecondary",display:"block",children:[r("chat.debug.breakpointHelp"),aj.length>0?` \xb7 ${s("chat.debug.activeBreakpoints",aj.length)}`:""]}),aj.length>0&&(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mt:.5,flexWrap:"wrap"},children:[dJ(aj).length>0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dn,{}),label:s("chat.debug.nodeBreakpoints",dJ(aj).length)}),(aj??[]).filter(a=>a.startsWith(dG)).map(a=>a.slice(dG.length)).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dr,{}),label:"*"===a?r("chat.debug.anyToolBreakpoint"):a,onDelete:j?()=>j(aj.filter(b=>b!==`tool:${a}`)):void 0},a)),(aj??[]).filter(a=>a.startsWith(dH)).map(a=>a.slice(dH.length)).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",color:"error",icon:(0,aF.jsx)(dr,{}),label:r("chat.debug.toolNodeBreakpoint",{id:a.slice(0,8)}),onDelete:j?()=>j(aj.filter(b=>b!==`${dH}${a}`)):void 0},`tool-node:${a}`))]})]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(aQ.A,{title:z.tracker?r("chat.debug.hideSection",{section:u.tracker}):r("chat.debug.showSection",{section:u.tracker}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>as("tracker"),color:z.tracker?"primary":"default","aria-label":z.tracker?r("chat.debug.hideSection",{section:u.tracker}):r("chat.debug.showSection",{section:u.tracker}),children:(0,aF.jsx)(bg.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:z.detail?r("chat.debug.hideSection",{section:u.detail}):r("chat.debug.showSection",{section:u.detail}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>as("detail"),color:z.detail?"primary":"default","aria-label":z.detail?r("chat.debug.hideSection",{section:u.detail}):r("chat.debug.showSection",{section:u.detail}),children:(0,aF.jsx)(dm,{fontSize:"small"})})}),m&&(0,aF.jsx)(aQ.A,{title:l?r("chat.debug.exitFullscreen"):r("chat.debug.enterFullscreen"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:m,"aria-label":l?r("chat.debug.exitFullscreen"):r("chat.debug.enterFullscreen"),children:l?(0,aF.jsx)(ck.A,{fontSize:"small"}):(0,aF.jsx)(cj.A,{fontSize:"small"})})}),k&&(0,aF.jsx)(aQ.A,{title:r("chat.debug.close"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:k,"aria-label":r("chat.debug.close"),children:(0,aF.jsx)(ci.A,{fontSize:"small"})})})]})]}),(0,aF.jsx)(dX,{children:0===ar.length?(0,aF.jsx)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"center",width:"100%",p:3},children:(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:r("chat.debug.allHidden")})}):ar.map((a,b)=>{var c;let d,e,f,g;return(0,aF.jsxs)(aH().Fragment,{children:[(e=(d="detail"===a)?B:void 0,(0,aF.jsxs)(aL.default,{sx:{...d?{width:e,flexShrink:0}:{flexGrow:1,minWidth:300},display:"flex",flexDirection:"column",overflow:"hidden",minHeight:0},children:[(f=ar.indexOf(a),(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",justifyContent:"space-between",px:1,py:.5,borderBottom:`1px solid ${q.palette.divider}`},children:[(0,aF.jsx)(aP.A,{variant:"subtitle2",noWrap:!0,children:u[a]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex"},children:[(0,aF.jsx)(aQ.A,{title:r("chat.debug.moveLeft",{section:u[a]}),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>at(a,-1),disabled:f<=0,"aria-label":r("chat.debug.moveLeft",{section:u[a]}),children:(0,aF.jsx)(bb,{fontSize:"small"})})})}),(0,aF.jsx)(aQ.A,{title:r("chat.debug.moveRight",{section:u[a]}),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>at(a,1),disabled:f<0||f>=ar.length-1,"aria-label":r("chat.debug.moveRight",{section:u[a]}),children:(0,aF.jsx)(bc,{fontSize:"small"})})})}),(0,aF.jsx)(aQ.A,{title:r("chat.debug.hideSection",{section:u[a]}),children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>as(a),"aria-label":r("chat.debug.hideSection",{section:u[a]}),children:(0,aF.jsx)(ci.A,{fontSize:"small"})})})]})]})),av[a]]},a)),b<ar.length-1&&(c=ar[b+1],g="tracker"!==a?1:-1,(0,aF.jsx)(d_,{onPointerDown:a=>au(g,a),"aria-label":r("chat.debug.resizeSection",{section:u.detail})},`resizer-${a}-${c}`))]},a)})}),(0,aF.jsxs)(d$,{children:[(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",onClick:$,disabled:g||v<=0,children:r("chat.debug.previous")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"small",onClick:_,disabled:g||-1===v,children:a.executionTrace&&v<a.executionTrace.length-1?r("chat.debug.nextTrace"):r("chat.debug.stepNext")}),d&&(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",onClick:d,disabled:g,children:r("chat.debug.stepOver")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"secondary",size:"small",onClick:e,disabled:g,children:r("chat.debug.continue")}),(0,aF.jsx)(aM.A,{variant:"outlined",color:"error",size:"small",onClick:f,disabled:g,children:r("chat.debug.stop")})]})]})},d1={system:{color:"secondary"},sent:{color:"success"},folded:{color:"warning"},"scoped-out":{color:"info"},"handoff-stripped":{color:"default"}},d2={whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,fontSize:"0.75rem",fontFamily:"inherit"},d3=({role:a,content:b,toolCallNames:c,status:d,faded:e})=>{let{t:f}=(0,bZ.s9)(),g="user"===a?f("chat.messages.you"):"assistant"===a?f("chat.messages.agent"):"tool"===a?f("chat.messages.tool"):"system"===a?f("chat.messages.system"):a,h=f("system"===d?"chat.debug.status.system":"sent"===d?"chat.debug.status.sent":"folded"===d?"chat.debug.status.folded":"scoped-out"===d?"chat.debug.status.scoped":"chat.debug.status.handoff");return(0,aF.jsxs)(cV.A,{variant:"outlined",sx:{p:1,mb:.75,opacity:e?.55:1,borderStyle:e?"dashed":"solid"},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,mb:.5,flexWrap:"wrap"},children:[(0,aF.jsx)(aU.A,{size:"small",label:g,color:function(a){switch(a){case"system":return"secondary";case"user":return"primary";case"assistant":return"success";case"tool":return"info";default:return"default"}}(a),variant:"outlined"}),c&&c.length>0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:`🔧 ${c.join(", ")}`,sx:{maxWidth:"100%"}}),d&&"sent"!==d&&"system"!==d&&(0,aF.jsx)(aU.A,{size:"small",color:d1[d].color,label:h})]}),b.trim().length>0?(0,aF.jsx)("pre",{style:d2,children:b}):(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:f("chat.debug.noText")})]})},d4=({provenance:a})=>{let{t:b}=(0,bZ.s9)();return(0,aF.jsxs)(aL.default,{children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{display:"block",mb:.5},children:b("chat.debug.historyHelp")}),a.map((a,b)=>(0,aF.jsx)(d3,{role:a.role,content:a.preview??"",toolCallNames:a.toolCallNames,status:a.status,faded:"sent"!==a.status&&"system"!==a.status},a.id??`hist-${b}`)),a.some(a=>"sent"!==a.status&&"system"!==a.status)&&(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{display:"block",mt:1},children:b("chat.debug.badgeHelp")})]})},d5=()=>{},d6=({modelInput:a,conversationId:b})=>{let{t:c}=(0,bZ.s9)(),[d,e]=(0,aG.useState)("wire"),{systemMessage:f,wireMessages:g,provenance:h,counts:i,inputMode:j}=a,k=(0,aG.useMemo)(()=>(g||[]).filter(a=>"system"!==a.role),[g]);return(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",p:1},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5,flexWrap:"wrap",mb:1},children:[(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:c?[c("chat.debug.summary",{history:i.threaded,sent:i.sent}),i.folded?c("chat.debug.foldedCount",{count:i.folded}):"",i.scopedOut?c("chat.debug.scopedCount",{count:i.scopedOut}):"",i.handoffStripped?c("chat.debug.handoffCount",{count:i.handoffStripped}):""].filter(Boolean).join(" \xb7 "):`${i.threaded} in history → ${i.sent} sent`+(i.folded?` \xb7 ${i.folded} folded`:"")+(i.scopedOut?` \xb7 ${i.scopedOut} scoped out`:"")+(i.handoffStripped?` \xb7 ${i.handoffStripped} handoff-stripped`:"")}),j&&"full-history"!==j&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:`inputMode: ${j}`})]}),(0,aF.jsxs)(dj.A,{sx:{boxShadow:"none","&:before":{display:"none"}},children:[(0,aF.jsx)(dk.A,{expandIcon:(0,aF.jsx)(bA.A,{}),sx:{minHeight:"36px","& .MuiAccordionSummary-content":{margin:"8px 0"}},children:(0,aF.jsx)(aP.A,{variant:"caption",children:(0,aF.jsx)("b",{children:c("chat.debug.systemMessage")})})}),(0,aF.jsx)(dl.A,{sx:{p:0},children:f&&f.content.trim().length>0?(0,aF.jsx)(cV.A,{variant:"outlined",sx:{p:1,maxHeight:220,overflowY:"auto"},children:(0,aF.jsx)("pre",{style:{whiteSpace:"pre-wrap",wordBreak:"break-word",margin:0,fontSize:"0.75rem",fontFamily:"inherit"},children:f.content})}):(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",children:c("chat.debug.noSystem")})})]}),(0,aF.jsxs)(aV.A,{size:"small",exclusive:!0,value:d,onChange:(a,b)=>{b&&e(b)},sx:{my:1},children:[(0,aF.jsx)(aW.A,{value:"wire",children:c("chat.debug.modelView")}),(0,aF.jsx)(aW.A,{value:"annotated",children:c("chat.debug.fullHistory")})]}),(0,aF.jsx)(aL.default,{children:"wire"===d?0===k.length?(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",sx:{p:1},children:c("chat.debug.noConversation")}):(0,aF.jsx)(ce.Ay,{messages:k,conversationId:b?`debug-${b}`:void 0,onToggleDisabled:d5,onSplitConversation:d5}):(0,aF.jsx)(d4,{provenance:h})})]})};var d7=c(27666);let d8=({mode:a,onClose:b,isExpanded:c,onToggleExpand:d})=>{let{t:e}=(0,bZ.s9)();return(0,aF.jsxs)(cV.A,{elevation:0,square:!0,sx:{height:"100%",display:"flex",flexDirection:"column",minHeight:0,bgcolor:"background.default"},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.5,borderBottom:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(d7.A,{fontSize:"small",color:"primary"}),(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{flexGrow:1},children:e("chat.debug.title")}),d&&(0,aF.jsx)(aQ.A,{title:e(c?"chat.debug.exitFullscreen":"chat.debug.enterFullscreen"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:d,"aria-label":e(c?"chat.debug.exitFullscreen":"chat.debug.enterFullscreen"),children:c?(0,aF.jsx)(ck.A,{fontSize:"small"}):(0,aF.jsx)(cj.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:e("chat.debug.close"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:b,"aria-label":e("chat.debug.close"),children:(0,aF.jsx)(ci.A,{fontSize:"small"})})})]}),(0,aF.jsxs)(aL.default,{sx:{flexGrow:1,minHeight:0,display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:2,p:3,textAlign:"center"},"data-testid":"debugger-pending",children:[(0,aF.jsx)(aN.default,{size:32}),(0,aF.jsx)(aP.A,{variant:"body2",color:"textSecondary",children:e("attaching"===a?"chat.debug.pendingAttaching":"chat.debug.pendingArmed")}),(0,aF.jsx)(aP.A,{variant:"caption",color:"textSecondary",sx:{maxWidth:420},children:e("attaching"===a?"chat.debug.pendingAttachingHelp":"chat.debug.pendingArmedHelp")})]}),(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:1,p:1,borderTop:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",disabled:!0,children:e("chat.debug.previous")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"small",disabled:!0,children:e("chat.debug.stepNext")}),(0,aF.jsx)(aM.A,{variant:"outlined",size:"small",disabled:!0,children:e("chat.debug.stepOver")}),(0,aF.jsx)(aM.A,{variant:"contained",color:"secondary",size:"small",disabled:!0,children:e("chat.debug.continue")})]})]})},d9=(0,de.h)("frontend/components/Chat/ExecutedFlowPanel"),ea={start:dv.vm,process:dv.Uw,finish:dv.IK,mcp:dv.v2,subflow:dv.lA,resource:dv.z9,signal:dv.z3},eb={custom:dw.jY,mcpEdge:dw.oY,resourceEdge:dw.sZ},ec=({flowId:a,flowSnapshot:b,executedNodeIds:c,liveActivity:d,onClose:e})=>{let{t:f}=(0,bZ.s9)(),g=(0,a0.A)(),[h,i]=(0,aG.useState)(null),[j,k]=(0,aG.useState)(!0),[l,m]=(0,aG.useState)(null),[n,o,p]=(0,dt.ck)([]),[q,r,s]=(0,dt.fM)([]);(0,aG.useEffect)(()=>{let c=!1;return(async()=>{k(!0),m(null);try{if(b&&Array.isArray(b.nodes)){c||i(b);return}if(!a)throw Error(f("chat.executed.noAgent"));d9.debug(`Loading flow definition for ID: ${a}`);let d=await du.g.getFlow(a);if(!d)throw Error(f("chat.executed.notFound",{id:a}));c||i(d)}catch(a){d9.error("Error loading flow definition:",a),c||(m(a instanceof Error?a.message:f("chat.executed.loadFailed")),i(null))}finally{c||k(!1)}})(),()=>{c=!0}},[a,b,f]),(0,aG.useEffect)(()=>{h&&(o(h.nodes.map(a=>({...a,draggable:!1,selectable:!1,connectable:!1}))),r(h.edges.map(a=>({...a,selectable:!1}))))},[h,o,r]);let t=(0,aG.useMemo)(()=>new Set(c),[c]),[u,v]=(0,aG.useState)(()=>Date.now());(0,aG.useEffect)(()=>{if(!d)return;let a=()=>Object.values(d.byNode).some(a=>Date.now()-a.ts<4e3);if(!a())return;let b=setInterval(()=>{v(Date.now()),a()||clearInterval(b)},350);return()=>clearInterval(b)},[d]);let w=(0,aG.useMemo)(()=>n.map(a=>{let b=t.has(a.id),c=d?.byNode[a.id],e=!!c&&u-c.ts<4e3;return{...a,style:{...a.style,opacity:b||e?1:.4,border:e?`2px solid ${g.palette.primary.main}`:b?`2px solid ${g.palette.success.main}`:`1px solid ${g.palette.divider}`,boxShadow:e?`0 0 10px ${g.palette.primary.light}`:b?`0 0 8px ${g.palette.success.light}`:void 0}}}),[n,t,d,u,g]);return(0,aF.jsxs)(aL.default,{sx:{display:"flex",flexDirection:"column",height:"100%",borderLeft:1,borderColor:"divider",minWidth:0},children:[(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:1,px:1.5,py:1,borderBottom:1,borderColor:"divider",flexShrink:0},children:[(0,aF.jsx)(bg.A,{fontSize:"small",color:"action"}),(0,aF.jsx)(aP.A,{variant:"subtitle2",sx:{flex:1,minWidth:0},noWrap:!0,children:f("chat.executed.title")}),(0,aF.jsx)(aQ.A,{title:f("chat.executed.hide"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:e,"aria-label":f("chat.executed.hide"),children:(0,aF.jsx)(ci.A,{fontSize:"small"})})})]}),(0,aF.jsx)(aL.default,{sx:{flex:1,minHeight:0,position:"relative"},children:j?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(aN.default,{})}):l?(0,aF.jsx)(aO.A,{severity:"info",sx:{m:2},children:l}):(0,aF.jsx)(dt.Ln,{children:(0,aF.jsx)(dt.Gc,{nodes:w,edges:q,onNodesChange:p,onEdgesChange:s,nodeTypes:ea,edgeTypes:eb,fitView:!0,attributionPosition:"bottom-right",nodesDraggable:!1,nodesConnectable:!1,elementsSelectable:!1,panOnDrag:!0,zoomOnScroll:!0,zoomOnPinch:!0,zoomOnDoubleClick:!1})})})]})};var ed=c(79705),ee=c(83135),ef=c(27124);let eg={authentication:"chat.page.errorClass.authentication",authorization:"chat.page.errorClass.authorization",cancelled:"chat.page.errorClass.cancelled",configuration:"chat.page.errorClass.configuration",context_limit:"chat.page.errorClass.context_limit",network:"chat.page.errorClass.network",provider:"chat.page.errorClass.provider",rate_limit:"chat.page.errorClass.rate_limit",timeout:"chat.page.errorClass.timeout",validation:"chat.page.errorClass.validation",unknown:"chat.page.errorClass.unknown"};function eh({error:a,fallbackMessage:b,compact:c}){let{t:d}=(0,bZ.s9)(),[e,f]=(0,aG.useState)(!1),[g,h]=(0,aG.useState)(!1),i=a?.message||b||d("chat.page.endedError"),j=!!(a&&(a.code||a.httpStatus||a.errorClass||a.retryAfter)),k=async()=>{try{let b=JSON.stringify(a??{message:i},null,2);await navigator.clipboard.writeText(b),h(!0)}catch{}};return(0,aF.jsxs)(aL.default,{sx:{minWidth:0},children:[(0,aF.jsx)(aP.A,{variant:"body2",component:"span",sx:{wordBreak:"break-word"},children:i}),j&&(0,aF.jsxs)(ed.A,{direction:"row",spacing:.5,flexWrap:"wrap",sx:{mt:.5},children:[a?.code&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorCode",{code:a.code})}),a?.httpStatus!==void 0&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorStatus",{status:a.httpStatus})}),a?.errorClass&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d(eg[a.errorClass])}),a?.retryAfter&&(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:d("chat.page.errorRetryAfter",{seconds:a.retryAfter})})]}),!c&&a&&(a.details||j)&&(0,aF.jsxs)(aL.default,{sx:{mt:.5},children:[(0,aF.jsxs)(ed.A,{direction:"row",spacing:1.5,alignItems:"center",children:[(0,aF.jsxs)(ee.A,{component:"button",type:"button",variant:"caption",underline:"hover",onClick:()=>f(a=>!a),sx:{color:"inherit"},children:[d("chat.page.errorDetails")," ",e?"▾":"▸"]}),(0,aF.jsx)(ee.A,{component:"button",type:"button",variant:"caption",underline:"hover",onClick:k,sx:{color:"inherit"},children:d("chat.page.errorCopy")})]}),e&&a.details&&(0,aF.jsx)(aL.default,{component:"pre",sx:{mt:.5,p:1,maxHeight:240,overflow:"auto",fontSize:"0.7rem",bgcolor:"action.hover",borderRadius:1,whiteSpace:"pre-wrap",wordBreak:"break-word"},children:JSON.stringify(a.details,null,2)})]}),(0,aF.jsx)(ef.A,{open:g,autoHideDuration:2e3,onClose:()=>h(!1),message:d("chat.page.errorCopied")})]})}function ei(a){return a?.nodes?.find(a=>(a?.type??a?.data?.type)==="start")}var ej=c(61146),ek=c(74948);function el(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}function em(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)}let en=function(){let{crypto:a}=globalThis;if(a?.randomUUID)return en=a.randomUUID.bind(a),a.randomUUID();let b=new Uint8Array(1),c=a?()=>a.getRandomValues(b)[0]:()=>255*Math.random()&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,a=>(a^c()&15>>a/4).toString(16))};function eo(a){return"object"==typeof a&&null!==a&&("name"in a&&"AbortError"===a.name||"message"in a&&String(a.message).includes("FetchRequestCanceledException"))}let ep=a=>{if(a instanceof Error)return a;if("object"==typeof a&&null!==a){try{if("[object Error]"===Object.prototype.toString.call(a)){let b=Error(a.message,a.cause?{cause:a.cause}:{});return a.stack&&(b.stack=a.stack),a.cause&&!b.cause&&(b.cause=a.cause),a.name&&(b.name=a.name),b}}catch{}try{return Error(JSON.stringify(a))}catch{}}return Error(a)};class eq extends Error{}class er extends eq{constructor(a,b,c,d){super(`${er.makeMessage(a,b,c)}`),this.status=a,this.headers=d,this.requestID=d?.get("x-request-id"),this.error=b,this.code=b?.code,this.param=b?.param,this.type=b?.type}static makeMessage(a,b,c){let d=b?.message?"string"==typeof b.message?b.message:JSON.stringify(b.message):b?JSON.stringify(b):c;return a&&d?`${a} ${d}`:a?`${a} status code (no body)`:d||"(no status code or body)"}static generate(a,b,c,d){if(!a||!d)return new et({message:c,cause:ep(b)});let e=b?.error;return 400===a?new ev(a,e,c,d):401===a?new ew(a,e,c,d):403===a?new ex(a,e,c,d):404===a?new ey(a,e,c,d):409===a?new ez(a,e,c,d):422===a?new eA(a,e,c,d):429===a?new eB(a,e,c,d):a>=500?new eC(a,e,c,d):new er(a,e,c,d)}}class es extends er{constructor({message:a}={}){super(void 0,void 0,a||"Request was aborted.",void 0)}}class et extends er{constructor({message:a,cause:b}){super(void 0,void 0,a||"Connection error.",void 0),b&&(this.cause=b)}}class eu extends et{constructor({message:a}={}){super({message:a??"Request timed out."})}}class ev extends er{}class ew extends er{}class ex extends er{}class ey extends er{}class ez extends er{}class eA extends er{}class eB extends er{}class eC extends er{}class eD extends eq{constructor(){super("Could not parse response content as the length limit was reached")}}class eE extends eq{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}class eF extends Error{constructor(a){super(a)}}class eG extends er{constructor(a,b,c){let d,e="OAuth2 authentication error";if(b&&"object"==typeof b){d=b.error;const a=b.error_description;a&&"string"==typeof a?e=a:d&&(e=d)}super(a,b,e,c),this.error_code=d}}class eH extends eq{constructor(a,b,c){super(a),this.provider=b,this.cause=c}}let eI=/^[a-z][a-z0-9+.-]*:/i,eJ=a=>(eJ=Array.isArray)(a),eK=eJ;function eL(a){return"object"!=typeof a?{}:a??{}}function eM(a){if(!a)return!0;for(let b in a)return!1;return!0}function eN(a){return null!=a&&"object"==typeof a&&!Array.isArray(a)}let eO=a=>new Promise(b=>setTimeout(b,a)),eP="7.3.0",eQ=a=>"x32"===a?"x32":"x86_64"===a||"x64"===a?"x64":"arm"===a?"arm":"aarch64"===a||"arm64"===a?"arm64":a?`other:${a}`:"unknown",eR=a=>(a=a.toLowerCase()).includes("ios")?"iOS":"android"===a?"Android":"darwin"===a?"MacOS":"win32"===a?"Windows":"freebsd"===a?"FreeBSD":"openbsd"===a?"OpenBSD":"linux"===a?"Linux":a?`Other:${a}`:"Unknown";function eS(){if("u">typeof fetch)return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new OpenAI({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function eT(...a){let b=globalThis.ReadableStream;if(void 0===b)throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new b(...a)}function eU(a){let b=Symbol.asyncIterator in a?a[Symbol.asyncIterator]():a[Symbol.iterator]();return eT({start(){},async pull(a){let{done:c,value:d}=await b.next();c?a.close():a.enqueue(d)},async cancel(){await b.return?.()}})}function eV(a){if(a[Symbol.asyncIterator])return a;let b=a.getReader();return{async next(){try{let a=await b.read();return a?.done&&b.releaseLock(),a}catch(a){throw b.releaseLock(),a}},async return(){let a=b.cancel();return b.releaseLock(),await a,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function eW(a){if(null===a||"object"!=typeof a)return;if(a[Symbol.asyncIterator])return void await a[Symbol.asyncIterator]().return?.();let b=a.getReader(),c=b.cancel();b.releaseLock(),await c}let eX=({headers:a,body:b})=>({bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(b)}),eY="RFC3986",eZ=a=>String(a),e$={RFC1738:a=>String(a).replace(/%20/g,"+"),RFC3986:eZ},e_=(a,b)=>(e_=Object.hasOwn??Function.prototype.call.bind(Object.prototype.hasOwnProperty))(a,b),e0=(()=>{let a=[];for(let b=0;b<256;++b)a.push("%"+((b<16?"0":"")+b.toString(16)).toUpperCase());return a})();function e1(a,b){if(eJ(a)){let c=[];for(let d=0;d<a.length;d+=1)c.push(b(a[d]));return c}return b(a)}let e2={brackets:a=>String(a)+"[]",comma:"comma",indices:(a,b)=>String(a)+"["+b+"]",repeat:a=>String(a)},e3=function(a,b){Array.prototype.push.apply(a,eJ(b)?b:[b])},e4={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:(a,b,c,d,e)=>{if(0===a.length)return a;let f=a;if("symbol"==typeof a?f=Symbol.prototype.toString.call(a):"string"!=typeof a&&(f=String(a)),"iso-8859-1"===c)return escape(f).replace(/%u[0-9a-f]{4}/gi,function(a){return"%26%23"+parseInt(a.slice(2),16)+"%3B"});let g="";for(let a=0;a<f.length;a+=1024){let b=f.length>=1024?f.slice(a,a+1024):f,c=[];for(let a=0;a<b.length;++a){let d=b.charCodeAt(a);if(45===d||46===d||95===d||126===d||d>=48&&d<=57||d>=65&&d<=90||d>=97&&d<=122||"RFC1738"===e&&(40===d||41===d)){c[c.length]=b.charAt(a);continue}if(d<128){c[c.length]=e0[d];continue}if(d<2048){c[c.length]=e0[192|d>>6]+e0[128|63&d];continue}if(d<55296||d>=57344){c[c.length]=e0[224|d>>12]+e0[128|d>>6&63]+e0[128|63&d];continue}a+=1,d=65536+((1023&d)<<10|1023&b.charCodeAt(a)),c[c.length]=e0[240|d>>18]+e0[128|d>>12&63]+e0[128|d>>6&63]+e0[128|63&d]}g+=c.join("")}return g},encodeValuesOnly:!1,format:eY,formatter:eZ,indices:!1,serializeDate:a=>(e??(e=Function.prototype.call.bind(Date.prototype.toISOString)))(a),skipNulls:!1,strictNullHandling:!1},e5={};function e6(a){let b;return(f??(f=(b=new globalThis.TextEncoder).encode.bind(b)))(a)}function e7(a){let b;return(g??(g=(b=new globalThis.TextDecoder).decode.bind(b)))(a)}class e8{constructor(){h.set(this,void 0),i.set(this,void 0),el(this,h,new Uint8Array,"f"),el(this,i,null,"f")}decode(a){let b;if(null==a)return[];let c=a instanceof ArrayBuffer?new Uint8Array(a):"string"==typeof a?e6(a):a;el(this,h,function(a){let b=0;for(let c of a)b+=c.length;let c=new Uint8Array(b),d=0;for(let b of a)c.set(b,d),d+=b.length;return c}([em(this,h,"f"),c]),"f");let d=[];for(;null!=(b=function(a,b){for(let c=b??0;c<a.length;c++){if(10===a[c])return{preceding:c,index:c+1,carriage:!1};if(13===a[c])return{preceding:c,index:c+1,carriage:!0}}return null}(em(this,h,"f"),em(this,i,"f")));){if(b.carriage&&null==em(this,i,"f")){el(this,i,b.index,"f");continue}if(null!=em(this,i,"f")&&(b.index!==em(this,i,"f")+1||b.carriage)){d.push(e7(em(this,h,"f").subarray(0,em(this,i,"f")-1))),el(this,h,em(this,h,"f").subarray(em(this,i,"f")),"f"),el(this,i,null,"f");continue}let a=null!==em(this,i,"f")?b.preceding-1:b.preceding,c=e7(em(this,h,"f").subarray(0,a));d.push(c),el(this,h,em(this,h,"f").subarray(b.index),"f"),el(this,i,null,"f")}return d}flush(){return em(this,h,"f").length?this.decode("\n"):[]}}h=new WeakMap,i=new WeakMap,e8.NEWLINE_CHARS=new Set(["\n","\r"]),e8.NEWLINE_REGEXP=/\r\n|[\n\r]/g;let e9={off:0,error:200,warn:300,info:400,debug:500},fa=(a,b,c)=>{if(a){if(Object.prototype.hasOwnProperty.call(e9,a))return a;ff(c).warn(`${b} was set to ${JSON.stringify(a)}, expected one of ${JSON.stringify(Object.keys(e9))}`)}};function fb(){}function fc(a,b,c){return!b||e9[a]>e9[c]?fb:b[a].bind(b)}let fd={error:fb,warn:fb,info:fb,debug:fb},fe=new WeakMap;function ff(a){let b=a.logger,c=a.logLevel??"off";if(!b)return fd;let d=fe.get(b);if(d&&d[0]===c)return d[1];let e={error:fc("error",b,c),warn:fc("warn",b,c),info:fc("info",b,c),debug:fc("debug",b,c)};return fe.set(b,[c,e]),e}let fg=a=>(a.options&&(a.options={...a.options},delete a.options.headers),a.headers&&(a.headers=Object.fromEntries((a.headers instanceof Headers?[...a.headers]:Object.entries(a.headers)).map(([a,b])=>[a,"authorization"===a.toLowerCase()||"api-key"===a.toLowerCase()||"x-api-key"===a.toLowerCase()||"x-amz-security-token"===a.toLowerCase()||"cookie"===a.toLowerCase()||"set-cookie"===a.toLowerCase()?"***":b]))),"retryOfRequestLogID"in a&&(a.retryOfRequestLogID&&(a.retryOf=a.retryOfRequestLogID),delete a.retryOfRequestLogID),a);class fh{constructor(a,b,c){this.iterator=a,j.set(this,void 0),this.controller=b,el(this,j,c,"f")}static fromSSEResponse(a,b,c,d){let e=!1,f=c?ff(c):console;async function*g(){if(e)throw new eq("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");e=!0;let c=!1;try{for await(let e of fi(a,b))if(!c){if(e.data.startsWith("[DONE]")){c=!0;continue}if(null!==e.event&&e.event.startsWith("thread.")){let a;try{a=JSON.parse(e.data)}catch(a){throw console.error("Could not parse message into JSON:",e.data),console.error("From chunk:",e.raw),a}if("error"==e.event)throw new er(void 0,a.error,a.message,void 0);yield{event:e.event,data:a}}else{let b;try{b=JSON.parse(e.data)}catch(a){throw f.error("Could not parse message into JSON:",e.data),f.error("From chunk:",e.raw),a}if(b&&b.error)throw new er(void 0,b.error,void 0,a.headers);yield d?{event:e.event,data:b}:b}}c=!0}catch(a){if(eo(a))return;throw a}finally{c||b.abort()}}return new fh(g,b,c)}static fromReadableStream(a,b,c){let d=!1;async function*e(){let c,d=new e8,e=a.getReader(),f=!1,g=()=>{c??(c=e.cancel()),c.catch(()=>{})};b.signal.addEventListener("abort",g,{once:!0});try{if(b.signal.aborted)return void g();for(;;){let{value:a,done:c}=await e.read();if(c){f=!0;break}if(b.signal.aborted)return;for(let c of d.decode(a)){if(b.signal.aborted)return;yield c}}if(b.signal.aborted)return;for(let a of d.flush()){if(b.signal.aborted)return;yield a}}finally{b.signal.removeEventListener("abort",g),f||g(),e.releaseLock()}}return new fh(async function*(){if(d)throw new eq("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");d=!0;let a=!1;try{for await(let b of e())!a&&b&&(yield JSON.parse(b));a=!0}catch(a){if(b.signal.aborted||eo(a))return;throw a}finally{a||b.abort()}},b,c)}[(j=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let a=[],b=[],c=this.iterator(),d=d=>({next:()=>{if(0===d.length){let d=c.next();a.push(d),b.push(d)}return d.shift()}});return[new fh(()=>d(a),this.controller,em(this,j,"f")),new fh(()=>d(b),this.controller,em(this,j,"f"))]}toReadableStream(){let a,b=this;return eT({async start(){a=b[Symbol.asyncIterator]()},async pull(b){try{let{value:c,done:d}=await a.next();if(d)return b.close();let e=e6(JSON.stringify(c)+"\n");b.enqueue(e)}catch(a){b.error(a)}},async cancel(){await a.return?.()}})}}async function*fi(a,b){if(!a.body){if(b.abort(),void 0!==globalThis.navigator&&"ReactNative"===globalThis.navigator.product)throw new eq("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new eq("Attempted to iterate over a response with no body")}let c=new fk,d=new e8;for await(let b of fj(eV(a.body)))for(let a of d.decode(b)){let b=c.decode(a);b&&(yield b)}for(let a of d.flush()){let b=c.decode(a);b&&(yield b)}}async function*fj(a){let b=new Uint8Array;for await(let c of a){let a;if(null==c)continue;let d=c instanceof ArrayBuffer?new Uint8Array(c):"string"==typeof c?e6(c):c,e=new Uint8Array(b.length+d.length);for(e.set(b),e.set(d,b.length),b=e;-1!==(a=function(a){for(let b=0;b<a.length-1;b++){if(10===a[b]&&10===a[b+1]||13===a[b]&&13===a[b+1])return b+2;if(13===a[b]&&10===a[b+1]&&b+3<a.length&&13===a[b+2]&&10===a[b+3])return b+4}return -1}(b));)yield b.slice(0,a),b=b.slice(a)}b.length>0&&(yield b)}class fk{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(a){var b;let c;if(a.endsWith("\r")&&(a=a.substring(0,a.length-1)),!a){if(!this.event&&!this.data.length)return null;let a={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],a}if(this.chunks.push(a),a.startsWith(":"))return null;let[d,e,f]=-1!==(c=(b=a).indexOf(":"))?[b.substring(0,c),":",b.substring(c+1)]:[b,"",""];return f.startsWith(" ")&&(f=f.substring(1)),"event"===d?this.event=f:"data"===d&&this.data.push(f),null}}async function fl(a,b){let{response:c,requestLogID:d,retryOfRequestLogID:e,startTime:f}=b,g=await (async()=>{if(b.options.stream)return(ff(a).debug("response",c.status,c.url,c.headers,c.body),b.options.__streamClass)?b.options.__streamClass.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData):fh.fromSSEResponse(c,b.controller,a,b.options.__synthesizeEventData);if(204===c.status)return null;if(b.options.__binaryResponse)return c;let d=c.headers.get("content-type"),e=d?.split(";")[0]?.trim();if(e?.includes("application/json")||e?.endsWith("+json")){if("0"===c.headers.get("content-length"))return;return fm(await c.json(),c)}return await c.text()})();return ff(a).debug(`[${d}] response parsed`,fg({retryOfRequestLogID:e,url:c.url,status:c.status,body:g,durationMs:Date.now()-f})),g}function fm(a,b){return!a||"object"!=typeof a||Array.isArray(a)?a:Object.defineProperty(a,"_request_id",{value:b.headers.get("x-request-id"),enumerable:!1})}class fn extends Promise{constructor(a,b,c=fl){super(a=>{a(null)}),this.responsePromise=b,this.parseResponse=c,k.set(this,void 0),el(this,k,a,"f")}_thenUnwrap(a){return new fn(em(this,k,"f"),this.responsePromise,async(b,c)=>fm(a(await this.parseResponse(b,c),c),c.response))}asResponse(){return this.responsePromise.then(a=>a.response)}async withResponse(){let[a,b]=await Promise.all([this.parse(),this.asResponse()]);return{data:a,response:b,request_id:b.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(a=>this.parseResponse(em(this,k,"f"),a))),this.parsedPromise}then(a,b){return this.parse().then(a,b)}catch(a){return this.parse().catch(a)}finally(a){return this.parse().finally(a)}}k=new WeakMap;class fo{constructor(a,b,c,d){l.set(this,void 0),el(this,l,a,"f"),this.options=d,this.response=b,this.body=c}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageRequestOptions()}async getNextPage(){let a=this.nextPageRequestOptions();if(!a)throw new eq("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await em(this,l,"f").requestAPIList(this.constructor,a)}async *iterPages(){let a=this;for(yield a;a.hasNextPage();)a=await a.getNextPage(),yield a}async *[(l=new WeakMap,Symbol.asyncIterator)](){for await(let a of this.iterPages())for(let b of a.getPaginatedItems())yield b}}class fp extends fn{constructor(a,b,c){super(a,b,async(a,b)=>new c(a,b.response,await fl(a,b),b.options))}async *[Symbol.asyncIterator](){for await(let a of(await this))yield a}}class fq extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.object=c.object}getPaginatedItems(){return this.data??[]}nextPageRequestOptions(){return null}}class fr extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.getPaginatedItems(),b=a[a.length-1]?.id;return b?{...this.options,query:{...eL(this.options.query),after:b}}:null}}class fs extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.last_id=c.last_id||""}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.last_id;return a?{...this.options,query:{...eL(this.options.query),after:a}}:null}}class ft extends fo{constructor(a,b,c,d){super(a,b,c,d),this.data=c.data||[],this.has_more=c.has_more||!1,this.next=c.next||null}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageRequestOptions(){let a=this.next;return a?{...this.options,query:{...eL(this.options.query),after:a}}:null}}let fu={jwt:"urn:ietf:params:oauth:token-type:jwt",id:"urn:ietf:params:oauth:token-type:id_token"};class fv{constructor(a,b){this.cachedToken=null,this.refreshPromise=null,this.tokenExchangeUrl="https://auth.openai.com/oauth/token",this.config=a,this.fetch=b??eS()}async getToken(){if(!this.cachedToken||this.isTokenExpired(this.cachedToken)){if(this.refreshPromise)return await this.refreshPromise;this.refreshPromise=this.refreshToken();try{return await this.refreshPromise}finally{this.refreshPromise=null}}return this.needsRefresh(this.cachedToken)&&!this.refreshPromise&&(this.refreshPromise=this.refreshToken().finally(()=>{this.refreshPromise=null})),this.cachedToken.token}async refreshToken(){let a={grant_type:"urn:ietf:params:oauth:grant-type:token-exchange",subject_token:await this.config.provider.getToken(),subject_token_type:fu[this.config.provider.tokenType],identity_provider_id:this.config.identityProviderId,service_account_id:this.config.serviceAccountId};this.config.clientId&&(a.client_id=this.config.clientId);let b=await this.fetch(this.tokenExchangeUrl,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!b.ok){let a,c=await b.text();try{a=JSON.parse(c)}catch{}if(400===b.status||401===b.status||403===b.status)throw new eG(b.status,a,b.headers);throw er.generate(b.status,a,`Token exchange failed with status ${b.status}`,b.headers)}let c=await b.json();if("object"!=typeof c||null===c||!("access_token"in c)||"string"!=typeof c.access_token||0===c.access_token.trim().length)throw new eq("Token exchange response missing 'access_token' field");let d=c.access_token,e=c.expires_in??3600,f=Date.now()+1e3*e;return this.cachedToken={token:d,expiresAt:f},d}isTokenExpired(a){return Date.now()>=a.expiresAt}needsRefresh(a){let b=this.config.refreshBufferSeconds??1200;return Date.now()>=a.expiresAt-1e3*b}invalidateToken(){this.cachedToken=null,this.refreshPromise=null}}let fw=Symbol("brand.privateNullableHeaders"),fx=/^[!#$%&'*+\-.^_`|~0-9A-Za-z]+$/,fy=a=>{let b=new Headers,c=new Set;for(let d of a){let a=new Set;for(let[e,f]of function*(a){let b;if(!a)return;if(fw in a){let{values:b,nulls:c}=a;for(let a of(yield*b.entries(),c))yield[a,null];return}let c=!1;for(let d of(a instanceof Headers?b=a.entries():eK(a)?b=a:(c=!0,b=Object.entries(a??{})),b)){let a=d[0];if("string"!=typeof a)throw TypeError("expected header name to be a string");let b=eK(d[1])?d[1]:[d[1]],e=!1;for(let d of b)void 0!==d&&(c&&!e&&(e=!0,yield[a,null]),yield[a,d])}}(d)){if(!fx.test(e))throw TypeError(`Header name must be a valid HTTP token ["${e}"]`);let d=e.toLowerCase();a.has(d)||(b.delete(d),a.add(d)),null===f?(b.delete(d),c.add(d)):(b.append(d,f),c.delete(d))}}return{[fw]:!0,values:b,nulls:c}},fz=Symbol("brand.privateStreamingFile"),fA=()=>{if("u"<typeof File){let{process:a}=globalThis;throw Error("`File` is not defined as a global, which is required for file uploads."+("string"==typeof a?.versions?.node&&20>parseInt(a.versions.node.split("."))?" Update to a supported Node.js LTS release, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function fB(a,b,c){return fA(),new File(a,b??"unknown_file",c)}function fC(a){return("object"==typeof a&&null!==a&&("name"in a&&a.name&&String(a.name)||"url"in a&&a.url&&String(a.url)||"filename"in a&&a.filename&&String(a.filename)||"path"in a&&a.path&&String(a.path))||"").split(/[\\/]/).pop()||void 0}let fD=a=>null!=a&&"object"==typeof a&&"function"==typeof a[Symbol.asyncIterator],fE=async(a,b)=>fN(a.body)?fM(a.body)?fO(a):{...a,body:await fH(a.body,b)}:a,fF=async(a,b)=>fM(a.body)?fO(a):{...a,body:await fH(a.body,b)},fG=new WeakMap,fH=async(a,b)=>{if(!await function(a){let b="function"==typeof a?a:a.fetch,c=fG.get(b);if(c)return c;let d=(async()=>{try{let a;if("Response"in b)a=b.Response;else{let c=await b("data:,");await c.arrayBuffer(),a=c.constructor}let c=new FormData;if(c.toString()===await new a(c).text())return!1;return!0}catch{return!0}})();return fG.set(b,d),d}(b))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let c=new FormData;return await Promise.all(Object.entries(a||{}).map(([a,b])=>fU(c,a,b))),c},fI=a=>a instanceof Blob&&"name"in a,fJ=a=>"object"==typeof a&&null!==a&&"getReader"in a&&"function"==typeof a.getReader,fK=a=>"object"==typeof a&&null!==a&&fz in a,fL=a=>"object"==typeof a&&null!==a&&(a instanceof Response||fD(a)||fJ(a)||fK(a)||fI(a)),fM=a=>{if(fK(a)||fD(a)||fJ(a))return!0;if(Array.isArray(a))return a.some(fM);if(a&&"object"==typeof a&&!fI(a)&&!(a instanceof Response)){for(let b in a)if(fM(a[b]))return!0}return!1},fN=a=>{if(fL(a))return!0;if(Array.isArray(a))return a.some(fN);if(a&&"object"==typeof a){for(let b in a)if(fN(a[b]))return!0}return!1},fO=a=>{let b=`openai-${Math.random().toString(36).slice(2)}`,c=eU(fP(a.body,b));return{...a,body:c,headers:fy([{"content-type":`multipart/form-data; boundary=${b}`},a.headers])}};async function*fP(a,b){for await(let{key:f,value:g}of fQ(a)){if(yield e6(`--${b}\r
2
2
  `),fL(g)){var c,d,e;let a=fK(c=g)?c.name:fC(c)??"unknown_file",b=fK(d=g)?d.type||"application/octet-stream":fI(d)&&d.type?d.type:d instanceof Response&&d.headers.get("content-type")||"application/octet-stream";yield e6(`Content-Disposition: form-data; name="${fT(f)}"; filename="${fT(a)}"\r
3
3
  Content-Type: ${b}\r
4
4
  \r
@@ -11,11 +11,11 @@ ${g}
11
11
  ${b}`)}return g})(fZ);class f0 extends fY{list(a,b={},c){return this._client.getAPIList(f_`/chat/completions/${a}/messages`,fr,{query:b,...c,__security:{bearerAuth:!0}})}}function f1(a){return void 0!==a&&"function"in a&&void 0!==a.function}function f2(a){return a?.$brand==="auto-parseable-response-format"}function f3(a){return a?.$brand==="auto-parseable-tool"}function f4(a,b){let c=a.choices.map(a=>{var c,d;if("length"===a.finish_reason)throw new eD;if("content_filter"===a.finish_reason)throw new eE;return f6(a.message.tool_calls),{...a,message:{...a.message,...a.message.tool_calls?{tool_calls:a.message.tool_calls?.map(a=>{var c,d;let e;return c=b,d=a,e=c.tools?.find(a=>f1(a)&&a.function?.name===d.function.name),{...d,function:{...d.function,parsed_arguments:f3(e)?e.$parseRaw(d.function.arguments):e?.function.strict?JSON.parse(d.function.arguments):null}}})??void 0}:void 0,parsed:a.message.content&&!a.message.refusal?(c=b,d=a.message.content,c.response_format?.type!=="json_schema"?null:c.response_format?.type==="json_schema"?"$parseRaw"in c.response_format?c.response_format.$parseRaw(d):JSON.parse(d):null):null}}});return{...a,choices:c}}function f5(a){return!!f2(a.response_format)||(a.tools?.some(a=>f3(a)||"function"===a.type&&!0===a.function.strict)??!1)}function f6(a){for(let b of a||[])if("function"!==b.type)throw new eq(`Currently only \`function\` tool calls are supported; Received \`${b.type}\``)}let f7=a=>a?.role==="assistant",f8=a=>a?.role==="tool";class f9{constructor(){m.add(this),this.controller=new AbortController,n.set(this,void 0),o.set(this,()=>{}),p.set(this,()=>{}),q.set(this,void 0),r.set(this,()=>{}),s.set(this,()=>{}),t.set(this,{}),u.set(this,[]),v.set(this,!1),w.set(this,!1),x.set(this,!1),y.set(this,!1),el(this,n,new Promise((a,b)=>{el(this,o,a,"f"),el(this,p,b,"f")}),"f"),el(this,q,new Promise((a,b)=>{el(this,r,a,"f"),el(this,s,b,"f")}),"f"),em(this,n,"f").catch(()=>{}),em(this,q,"f").catch(()=>{})}_run(a){setTimeout(()=>{Promise.resolve().then(a).then(()=>{try{this._emitFinal()}catch(a){em(this,m,"m",A).call(this,a);return}this._emit("end")},em(this,m,"m",A).bind(this))},0)}_connected(){this.ended||(em(this,o,"f").call(this),this._emit("connect"))}get ended(){return em(this,v,"f")}get errored(){return em(this,w,"f")}get aborted(){return em(this,x,"f")}abort(){this.controller.abort()}_listenForAbort(a){if(!a||this.ended)return;if(a.aborted)return void this.controller.abort();let b=()=>this.controller.abort();a.addEventListener("abort",b,{once:!0}),em(this,u,"f").push({signal:a,listener:b})}on(a,b){return(em(this,t,"f")[a]||(em(this,t,"f")[a]=[])).push({listener:b}),this}off(a,b){let c=em(this,t,"f")[a];if(!c)return this;let d=c.findIndex(a=>a.listener===b);return d>=0&&c.splice(d,1),this}once(a,b){return(em(this,t,"f")[a]||(em(this,t,"f")[a]=[])).push({listener:b,once:!0}),this}emitted(a){return new Promise((b,c)=>{el(this,y,!0,"f"),"error"!==a&&this.once("error",c),this.once(a,b)})}events(a){let b,c=[],d=[],e=this.ended,f=!1,g=()=>({value:void 0,done:!0}),h=()=>{for(;d.length;)d.shift().resolve(g())},i=()=>{b&&!f&&d.length&&(f=!0,d.shift().reject(b))},j=()=>{this.off(a,k),this.off("end",m),"error"!==a&&this.off("error",l),"abort"!==a&&this.off("abort",l)},k=(...a)=>{if(e)return;let b=d.shift();b?b.resolve({value:a,done:!1}):c.push(a)},l=a=>{b=a,c.length||i()},m=()=>{e=!0,j(),c.length||(i(),h())};return e||(this.on(a,k),this.on("end",m),"error"!==a&&this.on("error",l),"abort"!==a&&this.on("abort",l)),{next:()=>{let a=c.shift();return a?Promise.resolve({value:a,done:!1}):b&&!f?(f=!0,Promise.reject(b)):e?Promise.resolve(g()):new Promise((a,b)=>{d.push({resolve:a,reject:b})})},return:()=>(e=!0,c.length=0,j(),h(),Promise.resolve(g())),[Symbol.asyncIterator](){return this}}}async done(){el(this,y,!0,"f"),await em(this,q,"f")}_emit(a,...b){if(em(this,v,"f"))return;"end"===a&&(em(this,m,"m",z).call(this),el(this,v,!0,"f"),em(this,r,"f").call(this));let c=em(this,t,"f")[a];if(c&&(em(this,t,"f")[a]=c.filter(a=>!a.once),c.forEach(({listener:a})=>a(...b))),"abort"===a){let a=b[0];em(this,y,"f")||c?.length||Promise.reject(a),em(this,p,"f").call(this,a),em(this,s,"f").call(this,a),this._emit("end");return}if("error"===a){let a=b[0];em(this,y,"f")||c?.length||Promise.reject(a),em(this,p,"f").call(this,a),em(this,s,"f").call(this,a),this._emit("end")}}_emitFinal(){}}function ga(a){if(!f7(a))return a;let b={role:"assistant"};return null!=a.audio&&(b.audio={id:a.audio.id}),void 0!==a.content&&(b.content=a.content),null!=a.function_call&&(b.function_call=a.function_call),void 0!==a.name&&(b.name=a.name),null!=a.refusal&&(b.refusal=a.refusal),void 0!==a.tool_calls&&(b.tool_calls=a.tool_calls.map(a=>"custom"===a.type?{id:a.id,type:a.type,custom:{input:a.custom.input,name:a.custom.name}}:{id:a.id,type:a.type,function:{arguments:a.function.arguments,name:a.function.name}})),b}n=new WeakMap,o=new WeakMap,p=new WeakMap,q=new WeakMap,r=new WeakMap,s=new WeakMap,t=new WeakMap,u=new WeakMap,v=new WeakMap,w=new WeakMap,x=new WeakMap,y=new WeakMap,m=new WeakSet,z=function(){for(let{signal:a,listener:b}of em(this,u,"f").splice(0))a.removeEventListener("abort",b)},A=function(a){if(el(this,w,!0,"f"),a instanceof Error&&"AbortError"===a.name&&(a=new es),a instanceof es)return el(this,x,!0,"f"),this._emit("abort",a);if(a instanceof eq)return this._emit("error",a);if(a instanceof Error){let b=new eq(a.message);return b.cause=a,this._emit("error",b)}return this._emit("error",new eq(String(a)))};class gb extends f9{constructor(){super(...arguments),B.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(a){for(let b of a.choices)for(let a of b.message.tool_calls??[])a.id||(a.id=`call_${en()}`);this._chatCompletions.push(a),this._emit("chatCompletion",a);let b=a.choices[0]?.message;return b&&this._addMessage(b),a}_addMessage(a,b=!0){if("content"in a||(a.content=null),this.messages.push(a),b){if(this._emit("message",a),f8(a)&&a.content)this._emit("functionToolCallResult",a.content);else if(f7(a)&&a.tool_calls)for(let b of a.tool_calls)"function"===b.type&&this._emit("functionToolCall",b.function)}}async finalChatCompletion(){await this.done();let a=this._chatCompletions[this._chatCompletions.length-1];if(!a)throw new eq("stream ended without producing a ChatCompletion");return a}async finalContent(){return await this.done(),em(this,B,"m",C).call(this)}async finalMessage(){return await this.done(),em(this,B,"m",D).call(this)}async finalFunctionToolCall(){return await this.done(),em(this,B,"m",E).call(this)}async finalFunctionToolCallResult(){return await this.done(),em(this,B,"m",F).call(this)}async totalUsage(){return await this.done(),em(this,B,"m",G).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let a=this._chatCompletions[this._chatCompletions.length-1];a&&this._emit("finalChatCompletion",a);let b=em(this,B,"m",D).call(this);b&&this._emit("finalMessage",b);let c=em(this,B,"m",C).call(this);c&&this._emit("finalContent",c);let d=em(this,B,"m",E).call(this);d&&this._emit("finalFunctionToolCall",d);let e=em(this,B,"m",F).call(this);null!=e&&this._emit("finalFunctionToolCallResult",e),this._chatCompletions.some(a=>a.usage)&&this._emit("totalUsage",em(this,B,"m",G).call(this))}async _createChatCompletion(a,b,c){this._listenForAbort(c?.signal),em(this,B,"m",H).call(this,b);let d=await a.chat.completions.create({...b,stream:!1},{...c,signal:this.controller.signal});return this._connected(),this._addChatCompletion(f4(d,b))}async _runChatCompletion(a,b,c){for(let a of b.messages)this._addMessage(a,!1);return await this._createChatCompletion(a,b,c)}async _runTools(a,b,c,d){let e="tool",{tool_choice:f="auto",stream:g,toolContext:h,...i}=b,j="string"!=typeof f&&"function"===f.type&&f?.function?.name,{maxChatCompletions:k=10,afterCompletion:l}=d||{},m=b.tools.map(a=>{if(f3(a)){if(!a.$callback)throw new eq("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:a.$callback,name:a.function.name,description:a.function.description||"",parameters:a.function.parameters,parse:a.$parseRaw,strict:!0}}}return a}),n={};for(let a of m)"function"===a.type&&(n[a.function.name||a.function.function.name]=a.function);let o="tools"in b?m.map(a=>"function"===a.type?{type:"function",function:{name:a.function.name||a.function.function.name,parameters:a.function.parameters,description:a.function.description,strict:a.function.strict}}:a):void 0;for(let a of b.messages)this._addMessage(a,!1);let p=async a=>{let b;if("function"!==a.type)return{message:void 0,functionCalled:!1};let d=a.id,{name:f,arguments:g}=a.function,i=n[f];if(!i)return{message:{role:e,tool_call_id:d,content:`Invalid tool_call: ${JSON.stringify(f)}. Available options are: ${Object.keys(n).map(a=>JSON.stringify(a)).join(", ")}. Please try again`},functionCalled:!1};if(j&&j!==f)return{message:{role:e,tool_call_id:d,content:`Invalid tool_call: ${JSON.stringify(f)}. ${JSON.stringify(j)} requested. Please try again`},functionCalled:!1};if("function"==typeof i.parse){let a;try{a=await i.parse(g)}catch(a){return{message:{role:e,tool_call_id:d,content:a instanceof Error?a.message:String(a)},functionCalled:!1}}b=await i.function(a,c,h)}else b=await i.function(g,c,h);return{message:{role:e,tool_call_id:d,content:em(this,B,"m",I).call(this,b)},functionCalled:!0}};for(let e=0;e<k;++e){let e=await this._createChatCompletion(a,{...i,tool_choice:f,tools:o,messages:this.messages.map(ga)},d),g=e.choices[0]?.message;if(!g)throw new eq("missing message in ChatCompletion response");if(!g.tool_calls?.length)return void await l?.(e,c);if(j||!1===b.parallel_tool_calls)for(let a of g.tool_calls){let b=await p(a);if(b.message&&this._addMessage(b.message),j&&b.functionCalled)return void await l?.(e,c)}else{let a=await Promise.allSettled(g.tool_calls.map(p));for(let b of a)if("rejected"===b.status)throw b.reason;for(let b of a)"fulfilled"===b.status&&b.value.message&&this._addMessage(b.value.message)}await l?.(e,c)}}}B=new WeakSet,C=function(){return em(this,B,"m",D).call(this).content??null},D=function(){let a=this.messages.length;for(;a-- >0;){let b=this.messages[a];if(f7(b))return{...b,content:b.content??null,refusal:b.refusal??null}}throw new eq("stream ended without producing a ChatCompletionMessage with role=assistant")},E=function(){for(let a=this.messages.length-1;a>=0;a--){let b=this.messages[a];if(f7(b)&&b?.tool_calls?.length)for(let a=b.tool_calls.length-1;a>=0;a--){let c=b.tool_calls[a];if(c?.type==="function")return c.function}}},F=function(){for(let a=this.messages.length-1;a>=0;a--){let b=this.messages[a];if(f8(b)&&null!=b.content&&"string"==typeof b.content&&this.messages.some(a=>"assistant"===a.role&&a.tool_calls?.some(a=>"function"===a.type&&a.id===b.tool_call_id)))return b.content}},G=function(){let a={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:b}of this._chatCompletions)b&&(a.completion_tokens+=b.completion_tokens,a.prompt_tokens+=b.prompt_tokens,a.total_tokens+=b.total_tokens);return a},H=function(a){if(null!=a.n&&a.n>1)throw new eq("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},I=function(a){return"string"==typeof a?a:void 0===a?"undefined":JSON.stringify(a)};class gc extends gb{static runTools(a,b,c){let d=new gc,e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,d,e)),d}_addMessage(a,b=!0){super._addMessage(a,b),f7(a)&&a.content&&this._emit("content",a.content)}}let gd=511;class ge extends Error{}class gf extends Error{}let gg=a=>(function(a,b=gd){var c,d;let e,f,g,h,i,j,k,l,m,n;if("string"!=typeof a)throw TypeError(`expecting str, got ${typeof a}`);if(!a.trim())throw Error(`${a} is empty`);return c=a.trim(),d=b,e=c.length,f=0,g=a=>{throw new ge(`${a} at position ${f}`)},h=a=>{throw new gf(`${a} at position ${f}`)},i=()=>(n(),f>=e&&g("Unexpected end of input"),'"'===c[f])?j():"{"===c[f]?k():"["===c[f]?l():"null"===c.substring(f,f+4)||16&d&&e-f<4&&"null".startsWith(c.substring(f))?(f+=4,null):"true"===c.substring(f,f+4)||32&d&&e-f<4&&"true".startsWith(c.substring(f))?(f+=4,!0):"false"===c.substring(f,f+5)||32&d&&e-f<5&&"false".startsWith(c.substring(f))?(f+=5,!1):"Infinity"===c.substring(f,f+8)||128&d&&e-f<8&&"Infinity".startsWith(c.substring(f))?(f+=8,1/0):"-Infinity"===c.substring(f,f+9)||256&d&&1<e-f&&e-f<9&&"-Infinity".startsWith(c.substring(f))?(f+=9,-1/0):"NaN"===c.substring(f,f+3)||64&d&&e-f<3&&"NaN".startsWith(c.substring(f))?(f+=3,NaN):m(),j=()=>{let a=f,b=!1;for(f++;f<e&&('"'!==c[f]||b&&"\\"===c[f-1]);)b="\\"===c[f]&&!b,f++;if('"'==c.charAt(f))try{return JSON.parse(c.substring(a,++f-Number(b)))}catch(a){h(String(a))}else if(1&d)try{return JSON.parse(c.substring(a,f-Number(b))+'"')}catch(b){return JSON.parse(c.substring(a,c.lastIndexOf("\\"))+'"')}g("Unterminated string literal")},k=()=>{f++,n();let a={};try{for(;"}"!==c[f];){if(n(),f>=e&&8&d)return a;let b=j();n(),f++;try{let c=i();Object.defineProperty(a,b,{value:c,writable:!0,enumerable:!0,configurable:!0})}catch(b){if(8&d)return a;throw b}n(),","===c[f]&&f++}}catch(b){if(8&d)return a;g("Expected '}' at end of object")}return f++,a},l=()=>{f++;let a=[];try{for(;"]"!==c[f];)a.push(i()),n(),","===c[f]&&f++}catch(b){if(4&d)return a;g("Expected ']' at end of array")}return f++,a},m=()=>{if(0===f){"-"===c&&2&d&&g("Not sure what '-' is");try{return JSON.parse(c)}catch(a){if(2&d)try{if("."===c[c.length-1])return JSON.parse(c.substring(0,c.lastIndexOf(".")));return JSON.parse(c.substring(0,c.lastIndexOf("e")))}catch(a){}h(String(a))}}let a=f;for("-"===c[f]&&f++;c[f]&&!",]}".includes(c[f]);)f++;f!=e||2&d||g("Unterminated number literal");try{return JSON.parse(c.substring(a,f))}catch(b){"-"===c.substring(a,f)&&2&d&&g("Not sure what '-' is");try{return JSON.parse(c.substring(a,c.lastIndexOf("e")))}catch(a){h(String(a))}}},n=()=>{for(;f<e&&" \n\r ".includes(c[f]);)f++},i()})(a,2^gd),gh="chat.completion.chunk.message:";class gi extends gb{constructor(a){super(),J.add(this),K.set(this,void 0),L.set(this,void 0),M.set(this,void 0),N.set(this,void 0),el(this,K,a,"f"),el(this,L,new Set,"f"),el(this,M,[],"f")}get currentChatCompletionSnapshot(){return em(this,N,"f")}static fromReadableStream(a){let b=new gi(null);return b._run(()=>b._fromReadableStream(a)),b}static createChatCompletion(a,b,c){let d=new gi(b);return d._run(()=>d._runChatCompletion(a,{...b,stream:!0},{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}async _createChatCompletion(a,b,c){super._createChatCompletion,this._listenForAbort(c?.signal),em(this,J,"m",O).call(this);let d=await a.chat.completions.create({...b,stream:!0},{...c,signal:this.controller.signal});for await(let a of(this._connected(),d))em(this,J,"m",Q).call(this,a);if(d.controller.signal?.aborted)throw new es;return this._addChatCompletion(em(this,J,"m",T).call(this))}async _fromReadableStream(a,b){let c;this._listenForAbort(b?.signal),em(this,J,"m",O).call(this),this._connected();let d=fh.fromReadableStream(a,this.controller);for await(let a of d){if("type"in a&&"message"===a.type&&"message"in a||"object"in a&&"string"==typeof a.object&&a.object.startsWith(gh)){let b="type"in a?a:JSON.parse(a.object.slice(gh.length));if(em(this,N,"f")){let a=em(this,N,"f").choices[0]?.message.tool_calls;for(let[c,d]of b.tool_call_ids?.entries()??[]){let b=a?.[c];b&&d&&(b.id=d)}this._addChatCompletion(em(this,J,"m",T).call(this)),c=void 0}this._addMessage(b.message);continue}c&&a.id&&c!==a.id&&this._addChatCompletion(em(this,J,"m",T).call(this)),em(this,J,"m",Q).call(this,a),a.id&&(c=a.id)}if(d.controller.signal?.aborted)throw new es;if(em(this,N,"f"))return this._addChatCompletion(em(this,J,"m",T).call(this));let e=this._chatCompletions[this._chatCompletions.length-1];if(e)return e;throw new eq("request ended without sending any chunks")}[(K=new WeakMap,L=new WeakMap,M=new WeakMap,N=new WeakMap,J=new WeakSet,O=function(){this.ended||(el(this,L,new Set,"f"),el(this,N,void 0,"f"))},P=function(a){let b=em(this,M,"f")[a.index];return b||(b={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},em(this,M,"f")[a.index]=b),b},Q=function(a){if(this.ended)return;let b=em(this,J,"m",V).call(this,a);for(let c of(this._emit("chunk",a,b),a.choices)){let a=b.choices[c.index],{delta:d}=c;d?.content!=null&&a.message?.role==="assistant"&&a.message?.content&&(this._emit("content",d.content,a.message.content),this._emit("content.delta",{delta:d.content,snapshot:a.message.content,parsed:a.message.parsed})),d?.refusal!=null&&a.message?.role==="assistant"&&a.message?.refusal&&this._emit("refusal.delta",{delta:d.refusal,snapshot:a.message.refusal}),c.logprobs?.content!=null&&a.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:c.logprobs?.content,snapshot:a.logprobs?.content??[]}),c.logprobs?.refusal!=null&&a.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:c.logprobs?.refusal,snapshot:a.logprobs?.refusal??[]});let e=em(this,J,"m",P).call(this,a);for(let b of(a.finish_reason&&(em(this,J,"m",S).call(this,a),null!=e.current_tool_call_index&&em(this,J,"m",R).call(this,a,e.current_tool_call_index)),d?.tool_calls??[]))e.current_tool_call_index!==b.index&&(em(this,J,"m",S).call(this,a),null!=e.current_tool_call_index&&em(this,J,"m",R).call(this,a,e.current_tool_call_index)),e.current_tool_call_index=b.index;for(let b of d?.tool_calls??[]){let c=a.message.tool_calls?.[b.index];c?.type&&(c?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:c.function?.name,index:b.index,arguments:c.function.arguments,parsed_arguments:c.function.parsed_arguments,arguments_delta:b.function?.arguments??""}):c?.type)}}},R=function(a,b){if(em(this,J,"m",P).call(this,a).done_tool_calls.has(b))return;let c=a.message.tool_calls?.[b];if(!c)throw Error("no tool call snapshot");if(!c.type)throw Error("tool call snapshot missing `type`");if("function"===c.type){let a=em(this,K,"f")?.tools?.find(a=>f1(a)&&a.function.name===c.function.name);this._emit("tool_calls.function.arguments.done",{name:c.function.name,index:b,arguments:c.function.arguments,parsed_arguments:f3(a)?a.$parseRaw(c.function.arguments):a?.function.strict?JSON.parse(c.function.arguments):null})}else c.type},S=function(a){let b=em(this,J,"m",P).call(this,a);if(a.message.content&&!b.content_done){b.content_done=!0;let c=em(this,J,"m",U).call(this);this._emit("content.done",{content:a.message.content,parsed:c?c.$parseRaw(a.message.content):null})}a.message.refusal&&!b.refusal_done&&(b.refusal_done=!0,this._emit("refusal.done",{refusal:a.message.refusal})),a.logprobs?.content&&!b.logprobs_content_done&&(b.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:a.logprobs.content})),a.logprobs?.refusal&&!b.logprobs_refusal_done&&(b.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:a.logprobs.refusal}))},T=function(){if(this.ended)throw new eq("stream has ended, this shouldn't happen");let a=em(this,N,"f");if(!a)throw new eq("request ended without sending any chunks");let b=em(this,L,"f");return el(this,L,new Set,"f"),el(this,N,void 0,"f"),el(this,M,[],"f"),function(a,b,c){var d;let{id:e,choices:f,created:g,model:h,system_fingerprint:i,...j}=a;return d={...j,id:e,choices:f.map(({message:b,finish_reason:d,index:e,logprobs:f,...g})=>{var h;let{content:i=null,function_call:j,tool_calls:k,audio:l,...m}=b,n=d??(c.has(e)&&(h=l,h?.id!=null&&null!=h.data&&null!=h.transcript&&null!=h.expires_at)?"stop":null);if(!n)throw new eq(`missing finish_reason for choice ${e}`);let o=l?{audio:l}:{},p=b.role;if(!p)throw new eq(`missing role for choice ${e}`);if(j){let{arguments:a,name:c}=j;if(null==a)throw new eq(`missing function_call.arguments for choice ${e}`);if(!c)throw new eq(`missing function_call.name for choice ${e}`);return{...g,message:{...o,content:i,function_call:{arguments:a,name:c},role:p,refusal:b.refusal??null},finish_reason:n,index:e,logprobs:f}}return k?{...g,index:e,finish_reason:n,logprobs:f,message:{...m,...o,role:p,content:i,refusal:b.refusal??null,tool_calls:k.map((b,c)=>{let{function:d,type:f,id:g,...h}=b,{arguments:i,name:j,...k}=d||{};if(null==f)throw new eq(`missing choices[${e}].tool_calls[${c}].type
12
12
  ${gj(a)}`);if(null==j)throw new eq(`missing choices[${e}].tool_calls[${c}].function.name
13
13
  ${gj(a)}`);if(null==i)throw new eq(`missing choices[${e}].tool_calls[${c}].function.arguments
14
- ${gj(a)}`);return{...h,id:g||`call_${en()}`,type:f,function:{...k,name:j,arguments:i}}})}}:{...g,message:{...m,...o,content:i,role:p,refusal:b.refusal??null},finish_reason:n,index:e,logprobs:f}}),created:g,model:h,object:"chat.completion",...i?{system_fingerprint:i}:{}},b&&f5(b)?f4(d,b):{...d,choices:d.choices.map(a=>(f6(a.message.tool_calls),{...a,message:{...a.message,parsed:null,...a.message.tool_calls?{tool_calls:a.message.tool_calls}:void 0}}))}}(a,em(this,K,"f"),b)},U=function(){let a=em(this,K,"f")?.response_format;return f2(a)?a:null},V=function(a){var b,c,d,e,f;let g=em(this,N,"f"),{choices:h,...i}=a;for(let{delta:h,finish_reason:j,index:k,logprobs:l=null,...m}of(g?a.id&&Object.assign(g,i):g=el(this,N,{...i,choices:[]},"f"),a.choices)){let a=g.choices[k];if(a||(a=g.choices[k]={finish_reason:j,index:k,message:{},logprobs:l,...m}),l)if(a.logprobs){let{content:d,refusal:e,...f}=l;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({},l);if(j&&(a.finish_reason=j,em(this,K,"f")&&f5(em(this,K,"f")))){if("length"===j)throw new eD;if("content_filter"===j)throw new eE}if(Object.assign(a,m),!h)continue;em(this,L,"f").delete(k);let{audio:i,content:n,refusal:o,function_call:p,role:q,tool_calls:r,...s}=h;if(Object.assign(a.message,s),i?.expires_at!=null&&null==i.id&&null==i.data&&null==i.transcript&&null==n&&null==o&&null==p&&null==q&&null==r&&0===Object.keys(s).length&&em(this,L,"f").add(k),o&&(a.message.refusal=(a.message.refusal||"")+o),q&&(a.message.role=q),i){let b=(d=a.message).audio??(d.audio={});null!=i.id&&(b.id=i.id),null!=i.data&&(b.data=(b.data??"")+i.data),null!=i.transcript&&(b.transcript=(b.transcript??"")+i.transcript),null!=i.expires_at&&(b.expires_at=i.expires_at)}if(p&&(a.message.function_call?(p.name&&(a.message.function_call.name=p.name),p.arguments&&((e=a.message.function_call).arguments??(e.arguments=""),a.message.function_call.arguments+=p.arguments)):a.message.function_call=p),n&&(a.message.content=(a.message.content||"")+n,!a.message.refusal&&em(this,J,"m",U).call(this)&&(a.message.parsed=a.message.content.trim()?gg(a.message.content):null)),r)for(let{index:b,id:c,type:d,function:e,...g}of(a.message.tool_calls||(a.message.tool_calls=[]),r)){let h=(f=a.message.tool_calls)[b]??(f[b]={});Object.assign(h,g),c&&(h.id=c),d&&(h.type=d),e&&(h.function??(h.function={name:e.name??"",arguments:""})),e?.name&&(h.function.name=e.name),e?.arguments&&(h.function.arguments+=e.arguments,function(a,b){if(!a||!("tools"in a)||!a.tools)return!1;let c=a.tools?.find(a=>f1(a)&&a.function?.name===b.function.name);return f1(c)&&(f3(c)||c?.function.strict||!1)}(em(this,K,"f"),h)&&(h.function.parsed_arguments=gg(h.function.arguments)))}}return g},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 fh(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function gj(a){return JSON.stringify(a)}class gk extends gi{static fromReadableStream(a){let b=new gk(null);return b._run(()=>b._fromReadableStream(a)),b}toReadableStream(){let a,b,c=[],d=[],e=!1,f=a=>{let b=d.shift();b?b.resolve(a):c.push(a)};return this.on("chunk",b=>{a=b,f(b)}),this.on("message",c=>{if(f7(c)){b=c.tool_calls?.map(a=>a.id);return}if(f8(c)){var d,e;let g;if(!a)throw new eq("cannot serialize a tool message before receiving any chunks");f((d=a,g={type:"message",message:c,...(e=b)?{tool_call_ids:e}:{}},{id:d.id,choices:[],created:d.created,model:d.model,object:`${gh}${JSON.stringify(g)}`}))}}),this.on("end",()=>{for(let a of(e=!0,d))a.resolve(void 0);d.length=0}),this.on("abort",a=>{for(let b of(e=!0,d))b.reject(a);d.length=0}),this.on("error",a=>{for(let b of(e=!0,d))b.reject(a);d.length=0}),new fh(()=>({next:async()=>{if(!c.length)return e?{value:void 0,done:!0}:new Promise((a,b)=>d.push({resolve:a,reject:b})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0});let a=c.shift();return a?{value:a,done:!1}:{value:void 0,done:!0}},return:async()=>(this.abort(),{value:void 0,done:!0})}),this.controller).toReadableStream()}static runTools(a,b,c){let d=new gk(b),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,d,e)),d}}class gl extends fY{constructor(){super(...arguments),this.messages=new f0(this._client)}create(a,b){return this._client.post("/chat/completions",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/chat/completions/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/chat/completions/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/chat/completions",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/chat/completions/${a}`,{...b,__security:{bearerAuth:!0}})}parse(a,b){for(let b of a.tools??[]){if("function"!==b.type)throw new eq(`Currently only \`function\` tool types support auto-parsing; Received \`${b.type}\``);if(!0!==b.function.strict)throw new eq(`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":"chat.completions.parse"}})._thenUnwrap(b=>f4(b,a))}runTools(a,b){return a.stream?gk.runTools(this._client,a,b):gc.runTools(this._client,a,b)}stream(a,b){return gi.createChatCompletion(this._client,a,b)}}gl.Messages=f0;class gm extends fY{constructor(){super(...arguments),this.completions=new gl(this._client)}}gm.Completions=gl;class gn extends fY{create(a,b){return this._client.post("/organization/admin_api_keys",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/admin_api_keys/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/admin_api_keys",fr,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/admin_api_keys/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class go extends fY{list(a={},b){return this._client.getAPIList("/organization/audit_logs",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gp extends fY{create(a,b){return this._client.post("/organization/certificates",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b={},c){return this._client.get(f_`/organization/certificates/${a}`,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/certificates/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/certificates",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/certificates/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}activate(a,b){return this._client.getAPIList("/organization/certificates/activate",fq,{body:a,method:"post",...b,__security:{adminAPIKeyAuth:!0}})}deactivate(a,b){return this._client.getAPIList("/organization/certificates/deactivate",fq,{body:a,method:"post",...b,__security:{adminAPIKeyAuth:!0}})}}class gq extends fY{retrieve(a){return this._client.get("/organization/data_retention",{...a,__security:{adminAPIKeyAuth:!0}})}update(a,b){return this._client.post("/organization/data_retention",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gr extends fY{create(a,b){return this._client.post("/organization/invites",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/invites/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/invites",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/invites/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gs extends fY{create(a,b){return this._client.post("/organization/roles",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/roles/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/roles/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/roles",ft,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/roles/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gt extends fY{create(a,b){return this._client.post("/organization/spend_alerts",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/spend_alerts/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/spend_alerts/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/spend_alerts",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/spend_alerts/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gu extends fY{retrieve(a){return this._client.get("/organization/spend_limit",{...a,__security:{adminAPIKeyAuth:!0}})}update(a,b){return this._client.post("/organization/spend_limit",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a){return this._client.delete("/organization/spend_limit",{...a,__security:{adminAPIKeyAuth:!0}})}}class gv extends fY{audioSpeeches(a,b){return this._client.get("/organization/usage/audio_speeches",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}audioTranscriptions(a,b){return this._client.get("/organization/usage/audio_transcriptions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}codeInterpreterSessions(a,b){return this._client.get("/organization/usage/code_interpreter_sessions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}completions(a,b){return this._client.get("/organization/usage/completions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}costs(a,b){return this._client.get("/organization/costs",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}embeddings(a,b){return this._client.get("/organization/usage/embeddings",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}fileSearchCalls(a,b){return this._client.get("/organization/usage/file_search_calls",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}images(a,b){return this._client.get("/organization/usage/images",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}moderations(a,b){return this._client.get("/organization/usage/moderations",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}vectorStores(a,b){return this._client.get("/organization/usage/vector_stores",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}webSearchCalls(a,b){return this._client.get("/organization/usage/web_search_calls",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gw extends fY{create(a,b,c){return this._client.post(f_`/organization/groups/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{group_id:d}=b;return this._client.get(f_`/organization/groups/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/groups/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{group_id:d}=b;return this._client.delete(f_`/organization/groups/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gx extends fY{create(a,b,c){return this._client.post(f_`/organization/groups/${a}/users`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{group_id:d}=b;return this._client.get(f_`/organization/groups/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/groups/${a}/users`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{group_id:d}=b;return this._client.delete(f_`/organization/groups/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gy extends fY{constructor(){super(...arguments),this.users=new gx(this._client),this.roles=new gw(this._client)}create(a,b){return this._client.post("/organization/groups",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/groups/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/groups/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/groups",ft,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/groups/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}gy.Users=gx,gy.Roles=gw;class gz extends fY{retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/api_keys/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/api_keys`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/api_keys/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gA extends fY{list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}activate(a,b,c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates/activate`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}deactivate(a,b,c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates/deactivate`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}}class gB extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/data_retention`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/data_retention`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}}class gC extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/hosted_tool_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/hosted_tool_permissions`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}}class gD extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/model_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/model_permissions`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/projects/${a}/model_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gE extends fY{listRateLimits(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/rate_limits`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}updateRateLimit(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/rate_limits/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}}class gF extends fY{create(a,b,c){return this._client.post(f_`/projects/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/projects/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/roles/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/projects/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/projects/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gG extends fY{create(a,b,c){return this._client.post(f_`/organization/projects/${a}/spend_alerts`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/spend_alerts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/spend_alerts/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/spend_alerts`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/spend_alerts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gH extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/spend_limit`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/spend_limit`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/projects/${a}/spend_limit`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gI extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/groups/${a}/roles`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,group_id:e}=b;return this._client.get(f_`/projects/${d}/groups/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b,c){let{project_id:d,...e}=b;return this._client.getAPIList(f_`/projects/${d}/groups/${a}/roles`,ft,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d,group_id:e}=b;return this._client.delete(f_`/projects/${d}/groups/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gJ extends fY{constructor(){super(...arguments),this.roles=new gI(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/groups`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,...e}=b;return this._client.get(f_`/organization/projects/${d}/groups/${a}`,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/groups`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/groups/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gJ.Roles=gI;class gK extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/service_accounts/${a}/api_keys`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}}class gL extends fY{constructor(){super(...arguments),this.apiKeys=new gK(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/service_accounts`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/service_accounts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/service_accounts/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/service_accounts`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/service_accounts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gL.APIKeys=gK;class gM extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/users/${a}/roles`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,user_id:e}=b;return this._client.get(f_`/projects/${d}/users/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b,c){let{project_id:d,...e}=b;return this._client.getAPIList(f_`/projects/${d}/users/${a}/roles`,ft,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d,user_id:e}=b;return this._client.delete(f_`/projects/${d}/users/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gN extends fY{constructor(){super(...arguments),this.roles=new gM(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/users`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/users/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/users`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gN.Roles=gM;class gO extends fY{constructor(){super(...arguments),this.users=new gN(this._client),this.serviceAccounts=new gL(this._client),this.apiKeys=new gz(this._client),this.rateLimits=new gE(this._client),this.modelPermissions=new gD(this._client),this.hostedToolPermissions=new gC(this._client),this.groups=new gJ(this._client),this.roles=new gF(this._client),this.dataRetention=new gB(this._client),this.spendLimit=new gH(this._client),this.spendAlerts=new gG(this._client),this.certificates=new gA(this._client)}create(a,b){return this._client.post("/organization/projects",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/projects/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/projects",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}archive(a,b){return this._client.post(f_`/organization/projects/${a}/archive`,{...b,__security:{adminAPIKeyAuth:!0}})}}gO.Users=gN,gO.ServiceAccounts=gL,gO.APIKeys=gz,gO.RateLimits=gE,gO.ModelPermissions=gD,gO.HostedToolPermissions=gC,gO.Groups=gJ,gO.Roles=gF,gO.DataRetention=gB,gO.SpendLimit=gH,gO.SpendAlerts=gG,gO.Certificates=gA;class gP extends fY{create(a,b,c){return this._client.post(f_`/organization/users/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{user_id:d}=b;return this._client.get(f_`/organization/users/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/users/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{user_id:d}=b;return this._client.delete(f_`/organization/users/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gQ extends fY{constructor(){super(...arguments),this.roles=new gP(this._client)}retrieve(a,b){return this._client.get(f_`/organization/users/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/users/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/users",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/users/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}gQ.Roles=gP;class gR extends fY{constructor(){super(...arguments),this.auditLogs=new go(this._client),this.adminAPIKeys=new gn(this._client),this.usage=new gv(this._client),this.invites=new gr(this._client),this.users=new gQ(this._client),this.groups=new gy(this._client),this.roles=new gs(this._client),this.dataRetention=new gq(this._client),this.spendLimit=new gu(this._client),this.spendAlerts=new gt(this._client),this.certificates=new gp(this._client),this.projects=new gO(this._client)}}gR.AuditLogs=go,gR.AdminAPIKeys=gn,gR.Usage=gv,gR.Invites=gr,gR.Users=gQ,gR.Groups=gy,gR.Roles=gs,gR.DataRetention=gq,gR.SpendLimit=gu,gR.SpendAlerts=gt,gR.Certificates=gp,gR.Projects=gO;class gS extends fY{constructor(){super(...arguments),this.organization=new gR(this._client)}}gS.Organization=gR;class gT extends fY{create(a,b){return this._client.post("/audio/speech",{body:a,...b,headers:fy([{Accept:"application/octet-stream"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class gU extends fY{create(a,b){return this._client.post("/audio/transcriptions",fF({body:a,...b,stream:a.stream??!1,__metadata:{model:a.model},__security:{bearerAuth:!0}},this._client))}}class gV extends fY{create(a,b){return this._client.post("/audio/translations",fF({body:a,...b,__metadata:{model:a.model},__security:{bearerAuth:!0}},this._client))}}class gW extends fY{constructor(){super(...arguments),this.transcriptions=new gU(this._client),this.translations=new gV(this._client),this.speech=new gT(this._client)}}gW.Transcriptions=gU,gW.Translations=gV,gW.Speech=gT;class gX extends fY{create(a,b){return this._client.post("/batches",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/batches/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/batches",fr,{query:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/batches/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}}class gY extends fY{create(a,b){return this._client.post("/assistants",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/assistants/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/assistants/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/assistants",fr,{query:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/assistants/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class gZ extends fY{create(a,b){return this._client.post("/realtime/sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class g$ extends fY{create(a,b){return this._client.post("/realtime/transcription_sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class g_ extends fY{constructor(){super(...arguments),this.sessions=new gZ(this._client),this.transcriptionSessions=new g$(this._client)}}g_.Sessions=gZ,g_.TranscriptionSessions=g$;class g0 extends fY{create(a,b){return this._client.post("/chatkit/sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/chatkit/sessions/${a}/cancel`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}}class g1 extends fY{retrieve(a,b){return this._client.get(f_`/chatkit/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/chatkit/threads",fs,{query:a,...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/chatkit/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}listItems(a,b={},c){return this._client.getAPIList(f_`/chatkit/threads/${a}/items`,fs,{query:b,...c,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},c?.headers]),__security:{bearerAuth:!0}})}}class g2 extends fY{constructor(){super(...arguments),this.sessions=new g0(this._client),this.threads=new g1(this._client)}}g2.Sessions=g0,g2.Threads=g1;class g3 extends fY{list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(f_`/responses/${a}/input_items?beta=true`,fr,{query:e,...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}}class g4 extends fY{count(a={},b){let{betas:c,...d}=a??{};return this._client.post("/responses/input_tokens?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),__security:{bearerAuth:!0}})}}class g5 extends fY{constructor(){super(...arguments),this.inputItems=new g3(this._client),this.inputTokens=new g4(this._client)}create(a,b){let{betas:c,...d}=a;return this._client.post("/responses?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),stream:a.stream??!1,__security:{bearerAuth:!0}})}retrieve(a,b={},c){let{betas:d,...e}=b??{};return this._client.get(f_`/responses/${a}?beta=true`,{query:e,...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),stream:b?.stream??!1,__security:{bearerAuth:!0}})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(f_`/responses/${a}?beta=true`,{...c,headers:fy([{Accept:"*/*",...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b={},c){let{betas:d}=b??{};return this._client.post(f_`/responses/${a}/cancel?beta=true`,{...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}compact(a,b){let{betas:c,...d}=a;return this._client.post("/responses/compact?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),__security:{bearerAuth:!0}})}}g5.InputItems=g3,g5.InputTokens=g4;class g6 extends fY{create(a,b,c){return this._client.post(f_`/threads/${a}/messages`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(f_`/threads/${d}/messages/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/messages/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/threads/${a}/messages`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b,c){let{thread_id:d}=b;return this._client.delete(f_`/threads/${d}/messages/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}class g7 extends fY{retrieve(a,b,c){let{thread_id:d,run_id:e,...f}=b;return this._client.get(f_`/threads/${d}/runs/${e}/steps/${a}`,{query:f,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b,c){let{thread_id:d,...e}=b;return this._client.getAPIList(f_`/threads/${d}/runs/${a}/steps`,fr,{query:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}let g8=a=>void 0!==globalThis.process?globalThis.process.env?.[a]?.trim()||void 0:void 0!==globalThis.Deno&&globalThis.Deno.env?.get?.(a)?.trim()||void 0;class g9 extends f9{constructor(){super(...arguments),W.add(this),Y.set(this,[]),Z.set(this,{}),$.set(this,{}),_.set(this,void 0),aa.set(this,void 0),ab.set(this,void 0),ac.set(this,void 0),ad.set(this,void 0),ae.set(this,void 0),af.set(this,void 0),ag.set(this,void 0),ah.set(this,void 0)}[(Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap,ad=new WeakMap,ae=new WeakMap,af=new WeakMap,ag=new WeakMap,ah=new WeakMap,W=new WeakSet,Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=structuredClone(c),e=b.shift();e?e.resolve(d):a.push(d)}),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 X;return b._run(()=>b._fromReadableStream(a)),b}async _fromReadableStream(a,b){this._listenForAbort(b?.signal),this._connected();let c=fh.fromReadableStream(a,this.controller);for await(let a of c)em(this,W,"m",ai).call(this,a);if(c.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}toReadableStream(){return new fh(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(a,b,c,d){let e=new X;return e._run(()=>e._runToolAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}async _createToolAssistantStream(a,b,c,d){this._listenForAbort(d?.signal);let e={...c,stream:!0},f=await a.submitToolOutputs(b,e,{...d,signal:this.controller.signal});for await(let a of(this._connected(),f))em(this,W,"m",ai).call(this,a);if(f.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}static createThreadAssistantStream(a,b,c){let d=new X;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 X;return e._run(()=>e._runAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}currentEvent(){return em(this,af,"f")}currentRun(){return em(this,ag,"f")}currentMessageSnapshot(){return em(this,_,"f")}currentRunStepSnapshot(){return em(this,ah,"f")}async finalRunSteps(){return await this.done(),Object.values(em(this,Z,"f"))}async finalMessages(){return await this.done(),Object.values(em(this,$,"f"))}async finalRun(){if(await this.done(),!em(this,aa,"f"))throw Error("Final run was not received.");return em(this,aa,"f")}async _createThreadAssistantStream(a,b,c){this._listenForAbort(c?.signal);let d={...b,stream:!0},e=await a.createAndRun(d,{...c,signal:this.controller.signal});for await(let a of(this._connected(),e))em(this,W,"m",ai).call(this,a);if(e.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}async _createAssistantStream(a,b,c,d){this._listenForAbort(d?.signal);let e={...c,stream:!0},f=await a.create(b,e,{...d,signal:this.controller.signal});for await(let a of(this._connected(),f))em(this,W,"m",ai).call(this,a);if(f.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).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(eN(b)&&eN(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(!eN(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[c]=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){return await this._createToolAssistantStream(b,a,c,d)}}X=g9,ai=function(a){if(!this.ended)switch(el(this,af,a,"f"),em(this,W,"m",am).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":em(this,W,"m",aq).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":em(this,W,"m",al).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":em(this,W,"m",ak).call(this,a);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},aj=function(){if(this.ended)throw new eq("stream has ended, this shouldn't happen");if(!em(this,aa,"f"))throw Error("Final run has not been received");return em(this,aa,"f")},ak=function(a){let[b,c]=em(this,W,"m",ao).call(this,a,em(this,_,"f"));for(let a of(el(this,_,b,"f"),em(this,$,"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!=em(this,ab,"f")){if(em(this,ac,"f"))switch(em(this,ac,"f").type){case"text":this._emit("textDone",em(this,ac,"f").text,em(this,_,"f"));break;case"image_file":this._emit("imageFileDone",em(this,ac,"f").image_file,em(this,_,"f"))}el(this,ab,c.index,"f")}el(this,ac,b.content[c.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==em(this,ab,"f")){let b=a.data.content[em(this,ab,"f")];if(b)switch(b.type){case"image_file":this._emit("imageFileDone",b.image_file,em(this,_,"f"));break;case"text":this._emit("textDone",b.text,em(this,_,"f"))}}em(this,_,"f")&&this._emit("messageDone",a.data),el(this,_,void 0,"f")}},al=function(a){let b=em(this,W,"m",an).call(this,a);switch(el(this,ah,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==em(this,ad,"f")?this._emit("toolCallDelta",a,b.step_details.tool_calls[a.index]):(em(this,ae,"f")&&this._emit("toolCallDone",em(this,ae,"f")),el(this,ad,a.index,"f"),el(this,ae,b.step_details.tool_calls[a.index],"f"),em(this,ae,"f")&&this._emit("toolCallCreated",em(this,ae,"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":el(this,ah,void 0,"f"),"tool_calls"==a.data.step_details.type&&em(this,ae,"f")&&(this._emit("toolCallDone",em(this,ae,"f")),el(this,ae,void 0,"f")),this._emit("runStepDone",a.data,b)}},am=function(a){em(this,Y,"f").push(a),this._emit("event",a)},an=function(a){switch(a.event){case"thread.run.step.created":return em(this,Z,"f")[a.data.id]=a.data,a.data;case"thread.run.step.delta":let b=em(this,Z,"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=X.accumulateDelta(b,c.delta);em(this,Z,"f")[a.data.id]=d}return em(this,Z,"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":em(this,Z,"f")[a.data.id]=a.data}if(em(this,Z,"f")[a.data.id])return em(this,Z,"f")[a.data.id];throw Error("No snapshot available")},ao=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]=em(this,W,"m",ap).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")},ap=function(a,b){return X.accumulateDelta(b,a)},aq=function(a){switch(el(this,ag,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":case"thread.run.incomplete":el(this,aa,a.data,"f"),em(this,ae,"f")&&(this._emit("toolCallDone",em(this,ae,"f")),el(this,ae,void 0,"f"))}};class ha extends fY{constructor(){super(...arguments),this.steps=new g7(this._client)}create(a,b,c){let{include:d,...e}=b;return this._client.post(f_`/threads/${a}/runs`,{query:{include:d},body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(f_`/threads/${d}/runs/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/runs/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/threads/${a}/runs`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b,c){let{thread_id:d}=b;return this._client.post(f_`/threads/${d}/runs/${a}/cancel`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(d.id,{thread_id:a},c)}createAndStream(a,b,c){return g9.createAssistantStream(a,this._client.beta.threads.runs,b,c)}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){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 eO(g);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return e}}}stream(a,b,c){return g9.createAssistantStream(a,this._client.beta.threads.runs,b,c)}submitToolOutputs(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/runs/${a}/submit_tool_outputs`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}async submitToolOutputsAndPoll(a,b,c){let d=await this.submitToolOutputs(a,b,c);return await this.poll(d.id,b,c)}submitToolOutputsStream(a,b,c){return g9.createToolAssistantStream(a,this._client.beta.threads.runs,b,c)}}ha.Steps=g7;class hb extends fY{constructor(){super(...arguments),this.runs=new ha(this._client),this.messages=new g6(this._client)}create(a={},b){return this._client.post("/threads",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/threads/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}createAndRun(a,b){return this._client.post("/threads/runs",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),stream:a.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}async createAndRunPoll(a,b){let c=await this.createAndRun(a,b);return await this.runs.poll(c.id,{thread_id:c.thread_id},b)}createAndRunStream(a,b){return g9.createThreadAssistantStream(a,this._client.beta.threads,b)}}hb.Runs=ha,hb.Messages=g6;class hc extends fY{constructor(){super(...arguments),this.realtime=new g_(this._client),this.responses=new g5(this._client),this.chatkit=new g2(this._client),this.assistants=new gY(this._client),this.threads=new hb(this._client)}}hc.Realtime=g_,hc.Responses=g5,hc.ChatKit=g2,hc.Assistants=gY,hc.Threads=hb;class hd extends fY{create(a,b){return this._client.post("/completions",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}}class he extends fY{retrieve(a,b,c){let{container_id:d}=b;return this._client.get(f_`/containers/${d}/files/${a}/content`,{...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hf extends fY{constructor(){super(...arguments),this.content=new he(this._client)}create(a,b,c){return this._client.post(f_`/containers/${a}/files`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}retrieve(a,b,c){let{container_id:d}=b;return this._client.get(f_`/containers/${d}/files/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/containers/${a}/files`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{container_id:d}=b;return this._client.delete(f_`/containers/${d}/files/${a}`,{...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}}hf.Content=he;class hg extends fY{constructor(){super(...arguments),this.files=new hf(this._client)}create(a,b){return this._client.post("/containers",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/containers/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/containers",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/containers/${a}`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}}hg.Files=hf;class hh extends fY{create(a,b){return this._client.post("/content_provenance_checks",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}}class hi extends fY{create(a,b,c){let{include:d,...e}=b;return this._client.post(f_`/conversations/${a}/items`,{query:{include:d},body:e,...c,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{conversation_id:d,...e}=b;return this._client.get(f_`/conversations/${d}/items/${a}`,{query:e,...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/conversations/${a}/items`,fs,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{conversation_id:d}=b;return this._client.delete(f_`/conversations/${d}/items/${a}`,{...c,__security:{bearerAuth:!0}})}}class hj extends fY{constructor(){super(...arguments),this.items=new hi(this._client)}create(a={},b){return this._client.post("/conversations",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/conversations/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/conversations/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/conversations/${a}`,{...b,__security:{bearerAuth:!0}})}}hj.Items=hi;class hk extends fY{create(a,b){let c=!!a.encoding_format,d=c?a.encoding_format:"base64";c&&ff(this._client).debug("embeddings/user defined encoding_format:",a.encoding_format);let e=this._client.post("/embeddings",{body:{...a,encoding_format:d},...b,__security:{bearerAuth:!0}});return c?e:(ff(this._client).debug("embeddings/decoding base64 embeddings from base64"),e._thenUnwrap(a=>(a&&a.data&&a.data.forEach(a=>{let b=a.embedding;a.embedding=(a=>{if("u">typeof Buffer){let b=Buffer.from(a,"base64");return Array.from(new Float32Array(b.buffer,b.byteOffset,b.length/Float32Array.BYTES_PER_ELEMENT))}{let b=atob(a),c=b.length,d=new Uint8Array(c);for(let a=0;a<c;a++)d[a]=b.charCodeAt(a);return Array.from(new Float32Array(d.buffer))}})(b)}),a)))}}class hl extends fY{retrieve(a,b,c){let{eval_id:d,run_id:e}=b;return this._client.get(f_`/evals/${d}/runs/${e}/output_items/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b,c){let{eval_id:d,...e}=b;return this._client.getAPIList(f_`/evals/${d}/runs/${a}/output_items`,fr,{query:e,...c,__security:{bearerAuth:!0}})}}class hm extends fY{constructor(){super(...arguments),this.outputItems=new hl(this._client)}create(a,b,c){return this._client.post(f_`/evals/${a}/runs`,{body:b,...c,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{eval_id:d}=b;return this._client.get(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/evals/${a}/runs`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{eval_id:d}=b;return this._client.delete(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}cancel(a,b,c){let{eval_id:d}=b;return this._client.post(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}}hm.OutputItems=hl;class hn extends fY{constructor(){super(...arguments),this.runs=new hm(this._client)}create(a,b){return this._client.post("/evals",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/evals/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/evals/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/evals",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/evals/${a}`,{...b,__security:{bearerAuth:!0}})}}hn.Runs=hm;class ho extends fY{create(a,b){return this._client.post("/files",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/files/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/files",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/files/${a}`,{...b,__security:{bearerAuth:!0}})}content(a,b){return this._client.get(f_`/files/${a}/content`,{...b,headers:fy([{Accept:"application/binary"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}async waitForProcessing(a,{pollInterval:b=5e3,maxWait:c=18e5}={}){let d=new Set(["processed","error","deleted"]),e=Date.now(),f=await this.retrieve(a);for(;!f.status||!d.has(f.status);)if(await eO(b),f=await this.retrieve(a),Date.now()-e>c)throw new eu({message:`Giving up on waiting for file ${a} to finish processing after ${c} milliseconds.`});return f}}class hp extends fY{}class hq extends fY{run(a,b){return this._client.post("/fine_tuning/alpha/graders/run",{body:a,...b,__security:{bearerAuth:!0}})}validate(a,b){return this._client.post("/fine_tuning/alpha/graders/validate",{body:a,...b,__security:{bearerAuth:!0}})}}class hr extends fY{constructor(){super(...arguments),this.graders=new hq(this._client)}}hr.Graders=hq;class hs extends fY{create(a,b,c){return this._client.getAPIList(f_`/fine_tuning/checkpoints/${a}/permissions`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b={},c){return this._client.get(f_`/fine_tuning/checkpoints/${a}/permissions`,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/checkpoints/${a}/permissions`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{fine_tuned_model_checkpoint:d}=b;return this._client.delete(f_`/fine_tuning/checkpoints/${d}/permissions/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class ht extends fY{constructor(){super(...arguments),this.permissions=new hs(this._client)}}ht.Permissions=hs;class hu extends fY{list(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/jobs/${a}/checkpoints`,fr,{query:b,...c,__security:{bearerAuth:!0}})}}class hv extends fY{constructor(){super(...arguments),this.checkpoints=new hu(this._client)}create(a,b){return this._client.post("/fine_tuning/jobs",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/fine_tuning/jobs/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/fine_tuning/jobs",fr,{query:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}listEvents(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/jobs/${a}/events`,fr,{query:b,...c,__security:{bearerAuth:!0}})}pause(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/pause`,{...b,__security:{bearerAuth:!0}})}resume(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/resume`,{...b,__security:{bearerAuth:!0}})}}hv.Checkpoints=hu;class hw extends fY{constructor(){super(...arguments),this.methods=new hp(this._client),this.jobs=new hv(this._client),this.checkpoints=new ht(this._client),this.alpha=new hr(this._client)}}hw.Methods=hp,hw.Jobs=hv,hw.Checkpoints=ht,hw.Alpha=hr;class hx extends fY{}class hy extends fY{constructor(){super(...arguments),this.graderModels=new hx(this._client)}}hy.GraderModels=hx;class hz extends fY{createVariation(a,b){return this._client.post("/images/variations",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}edit(a,b){return this._client.post("/images/edits",fF({body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}},this._client))}generate(a,b){return this._client.post("/images/generations",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}}class hA extends fY{retrieve(a,b){return this._client.get(f_`/models/${a}`,{...b,__security:{bearerAuth:!0}})}list(a){return this._client.getAPIList("/models",fq,{...a,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/models/${a}`,{...b,__security:{bearerAuth:!0}})}}class hB extends fY{create(a,b){return this._client.post("/moderations",{body:a,...b,__security:{bearerAuth:!0}})}}class hC extends fY{accept(a,b,c){return this._client.post(f_`/realtime/calls/${a}/accept`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}hangup(a,b){return this._client.post(f_`/realtime/calls/${a}/hangup`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}refer(a,b,c){return this._client.post(f_`/realtime/calls/${a}/refer`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}reject(a,b={},c){return this._client.post(f_`/realtime/calls/${a}/reject`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}}class hD extends fY{create(a,b){return this._client.post("/realtime/client_secrets",{body:a,...b,__security:{bearerAuth:!0}})}}class hE extends fY{constructor(){super(...arguments),this.clientSecrets=new hD(this._client),this.calls=new hC(this._client)}}function hF(a,b){let c=!a.status||"completed"===a.status,d=a.output.map(a=>{if("function_call"===a.type){var d,e,f,g;let h;return c?(d=b,e=a,h=(f=d.tools??[],g=e.name,f.find(a=>"function"===a.type&&a.name===g)),{...e,...e,parsed_arguments:hG(h)?h.$parseRaw(e.arguments):h?.strict?JSON.parse(e.arguments):null}):{...a,parsed_arguments:null}}if("message"===a.type){let d=a.content.map(a=>{var d,e;return"output_text"===a.type?{...a,parsed:c?(d=b,e=a.text,d.text?.format?.type!=="json_schema"?null:"$parseRaw"in d.text?.format?(d.text?.format).$parseRaw(e):JSON.parse(e)):null}:a});return{...a,content:d}}return a}),e=Object.assign({},a,{output:d});return hH(a,e)&&hI(e),Object.defineProperty(e,"output_parsed",{enumerable:!0,get(){for(let a of e.output)if("message"===a.type){for(let b of a.content)if("output_text"===b.type&&null!==b.parsed)return b.parsed}return null}}),e}function hG(a){return a?.$brand==="auto-parseable-tool"}function hH(a,b){return!Object.getOwnPropertyDescriptor(a,"output_text")||null==b.output_text}function hI(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("")}function hJ(a){let b=structuredClone(a);return Object.getOwnPropertyDescriptor(b,"output_text")&&null!=b.output_text||hI(b),b}function hK(a,b){let c=a.output[b];if(!c)throw new eq(`missing output at index ${b}`);return c}function hL(a,b){let c=a[b];if(!c)throw new eq(`missing content at index ${b}`);return c}hE.ClientSecrets=hD,hE.Calls=hC;class hM extends f9{constructor(a){super(),ar.add(this),as.set(this,void 0),at.set(this,void 0),au.set(this,void 0),el(this,as,a,"f")}static createResponse(a,b,c){let d=new hM(b);return d._run(()=>d._createOrRetrieveResponse(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}static fromReadableStream(a){let b=new hM(null);return b._run(()=>b._fromReadableStream(a)),b}async _createOrRetrieveResponse(a,b,c){let d;this._listenForAbort(c?.signal),em(this,ar,"m",av).call(this);let e=null;for await(let f of("response_id"in b?(d=await a.responses.retrieve(b.response_id,{stream:!0},{...c,signal:this.controller.signal,stream:!0}),e=b.starting_after??null):d=await a.responses.create({...b,stream:!0},{...c,signal:this.controller.signal}),this._connected(),d))em(this,ar,"m",aw).call(this,f,e);if(d.controller.signal?.aborted)throw new es;return em(this,ar,"m",ax).call(this)}async _fromReadableStream(a,b){this._listenForAbort(b?.signal),em(this,ar,"m",av).call(this),this._connected();let c=fh.fromReadableStream(a,this.controller);for await(let a of c)em(this,ar,"m",aw).call(this,a,null);if(c.controller.signal?.aborted)throw new es;return em(this,ar,"m",ax).call(this)}[(as=new WeakMap,at=new WeakMap,au=new WeakMap,ar=new WeakSet,av=function(){this.ended||el(this,at,void 0,"f")},aw=function(a,b){if(this.ended)return;let c=(a,c)=>{(null==b||c.sequence_number>b)&&this._emit(a,c)},d=function(a,b){if(!b){if("response.created"!==a.type)throw new eq(`When snapshot hasn't been set yet, expected 'response.created' event, got ${a.type}`);return hJ(a.response)}switch(a.type){case"response.output_item.added":b.output.push(structuredClone(a.item)),"message"===a.item.type&&hI(b);break;case"response.output_item.done":hK(b,a.output_index),b.output[a.output_index]=structuredClone(a.item),"message"===a.item.type&&hI(b);break;case"response.content_part.added":{let c=hK(b,a.output_index),d=c.type,e=a.part;"message"===d&&"reasoning_text"!==e.type?(c.content.push(structuredClone(e)),"output_text"===e.type&&hI(b)):"reasoning"===d&&"reasoning_text"===e.type&&(c.content||(c.content=[]),c.content.push(structuredClone(e)));break}case"response.content_part.done":{let c=hK(b,a.output_index),d=a.part;if("message"===c.type&&"reasoning_text"!==d.type)hL(c.content,a.content_index),c.content[a.content_index]=structuredClone(d),"output_text"===d.type&&hI(b);else if("reasoning"===c.type&&"reasoning_text"===d.type){let b=c.content;if(!b)throw new eq(`missing content at index ${a.content_index}`);hL(b,a.content_index),b[a.content_index]=structuredClone(d)}break}case"response.output_text.delta":{let c=hK(b,a.output_index);if("message"===c.type){let d=hL(c.content,a.content_index);if("output_text"!==d.type)throw new eq(`expected content to be 'output_text', got ${d.type}`);d.text+=a.delta,b.output_text+=a.delta}break}case"response.output_text.done":{let c=hK(b,a.output_index);if("message"===c.type){let d=hL(c.content,a.content_index);if("output_text"!==d.type)throw new eq(`expected content to be 'output_text', got ${d.type}`);d.text=a.text,hI(b)}break}case"response.output_text.annotation.added":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("output_text"!==b.type)throw new eq(`expected content to be 'output_text', got ${b.type}`);b.annotations[a.annotation_index]=structuredClone(a.annotation)}break}case"response.refusal.delta":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("refusal"!==b.type)throw new eq(`expected content to be 'refusal', got ${b.type}`);b.refusal+=a.delta}break}case"response.refusal.done":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("refusal"!==b.type)throw new eq(`expected content to be 'refusal', got ${b.type}`);b.refusal=a.refusal}break}case"response.function_call_arguments.delta":{let c=hK(b,a.output_index);"function_call"===c.type&&(c.arguments+=a.delta);break}case"response.function_call_arguments.done":{let c=hK(b,a.output_index);"function_call"===c.type&&(c.arguments=a.arguments);break}case"response.reasoning_text.delta":{let c=hK(b,a.output_index);if("reasoning"===c.type){if(!c.content)throw new eq(`missing content at index ${a.content_index}`);let b=hL(c.content,a.content_index);if("reasoning_text"!==b.type)throw new eq(`expected content to be 'reasoning_text', got ${b.type}`);b.text+=a.delta}break}case"response.reasoning_text.done":{let c=hK(b,a.output_index);if("reasoning"===c.type){if(!c.content)throw new eq(`missing content at index ${a.content_index}`);let b=hL(c.content,a.content_index);if("reasoning_text"!==b.type)throw new eq(`expected content to be 'reasoning_text', got ${b.type}`);b.text=a.text}break}case"response.reasoning_summary_part.added":{let c=hK(b,a.output_index);"reasoning"===c.type&&c.summary.push(structuredClone(a.part));break}case"response.reasoning_summary_part.done":{let c=hK(b,a.output_index);"reasoning"===c.type&&(hL(c.summary,a.summary_index),c.summary[a.summary_index]=structuredClone(a.part));break}case"response.reasoning_summary_text.delta":{let c=hK(b,a.output_index);if("reasoning"===c.type){let b=hL(c.summary,a.summary_index);b.text+=a.delta}break}case"response.reasoning_summary_text.done":{let c=hK(b,a.output_index);"reasoning"===c.type&&(hL(c.summary,a.summary_index).text=a.text);break}case"response.custom_tool_call_input.delta":{let c=hK(b,a.output_index);"custom_tool_call"===c.type&&(c.input+=a.delta);break}case"response.custom_tool_call_input.done":{let c=hK(b,a.output_index);"custom_tool_call"===c.type&&(c.input=a.input);break}case"response.mcp_call_arguments.delta":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.arguments+=a.delta);break}case"response.mcp_call_arguments.done":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.arguments=a.arguments);break}case"response.code_interpreter_call_code.delta":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.code=(c.code??"")+a.delta);break}case"response.code_interpreter_call_code.done":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.code=a.code);break}case"response.code_interpreter_call.in_progress":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="in_progress");break}case"response.code_interpreter_call.interpreting":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="interpreting");break}case"response.code_interpreter_call.completed":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="completed");break}case"response.file_search_call.in_progress":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="in_progress");break}case"response.file_search_call.searching":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="searching");break}case"response.file_search_call.completed":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="completed");break}case"response.web_search_call.in_progress":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="in_progress");break}case"response.web_search_call.searching":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="searching");break}case"response.web_search_call.completed":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="completed");break}case"response.image_generation_call.in_progress":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="in_progress");break}case"response.image_generation_call.generating":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="generating");break}case"response.image_generation_call.completed":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="completed");break}case"response.mcp_call.in_progress":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="in_progress");break}case"response.mcp_call.completed":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="completed");break}case"response.mcp_call.failed":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="failed");break}case"response.created":case"response.queued":case"response.in_progress":case"response.completed":case"response.failed":case"response.incomplete":b=hJ(a.response);break;case"response.audio.delta":case"response.audio.done":case"response.audio.transcript.delta":case"response.audio.transcript.done":case"response.image_generation_call.partial_image":case"response.mcp_list_tools.in_progress":case"response.mcp_list_tools.completed":case"response.mcp_list_tools.failed":case"keepalive":case"error":break;default:var c=a;throw new eq(`Unhandled response stream event: ${JSON.stringify(c)}`)}return b}(a,em(this,at,"f"));switch(el(this,at,d,"f"),c("event",a),a.type){case"response.output_text.delta":{let b=d.output[a.output_index];if(!b)throw new eq(`missing output at index ${a.output_index}`);if("message"===b.type){let d=b.content[a.content_index];if(!d)throw new eq(`missing content at index ${a.content_index}`);if("output_text"!==d.type)throw new eq(`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 eq(`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)}},ax=function(){if(this.ended)throw new eq("stream has ended, this shouldn't happen");let a=em(this,at,"f");if(!a)throw new eq("request ended without sending any events");el(this,at,void 0,"f");let b=function(a,b){var c;if(!b||(c=b,!(f2(c.text?.format)||Array.isArray(c.tools)&&c.tools.some(a=>hG(a)||"function"===a.type&&!0===a.strict)))){let 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)};return hH(a,b)&&hI(b),b}return hF(a,b)}(a,em(this,as,"f"));return el(this,au,b,"f"),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=em(this,au,"f");if(!a)throw new eq("stream ended without producing a ChatCompletion");return a}}class hN extends fY{list(a,b={},c){return this._client.getAPIList(f_`/responses/${a}/input_items`,fr,{query:b,...c,__security:{bearerAuth:!0}})}}class hO extends fY{count(a={},b){return this._client.post("/responses/input_tokens",{body:a,...b,__security:{bearerAuth:!0}})}}class hP extends fY{constructor(){super(...arguments),this.inputItems=new hN(this._client),this.inputTokens=new hO(this._client)}create(a,b){return this._client.post("/responses",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})._thenUnwrap(a=>("object"in a&&"response"===a.object&&hI(a),a))}retrieve(a,b={},c){return this._client.get(f_`/responses/${a}`,{query:b,...c,stream:b?.stream??!1,__security:{bearerAuth:!0}})._thenUnwrap(a=>("object"in a&&"response"===a.object&&hI(a),a))}delete(a,b){return this._client.delete(f_`/responses/${a}`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}parse(a,b){return this._client.responses.create(a,b)._thenUnwrap(b=>hF(b,a))}stream(a,b){return hM.createResponse(this._client,a,b)}cancel(a,b){return this._client.post(f_`/responses/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}compact(a,b){return this._client.post("/responses/compact",{body:a,...b,__security:{bearerAuth:!0}})}}hP.InputItems=hN,hP.InputTokens=hO;class hQ extends fY{retrieve(a,b){return this._client.get(f_`/skills/${a}/content`,{...b,headers:fy([{Accept:"application/binary"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hR extends fY{retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(f_`/skills/${d}/versions/${a}/content`,{...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hS extends fY{constructor(){super(...arguments),this.content=new hR(this._client)}create(a,b={},c){return this._client.post(f_`/skills/${a}/versions`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(f_`/skills/${d}/versions/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/skills/${a}/versions`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{skill_id:d}=b;return this._client.delete(f_`/skills/${d}/versions/${a}`,{...c,__security:{bearerAuth:!0}})}}hS.Content=hR;class hT extends fY{constructor(){super(...arguments),this.content=new hQ(this._client),this.versions=new hS(this._client)}create(a={},b){return this._client.post("/skills",fE({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/skills/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/skills/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/skills",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/skills/${a}`,{...b,__security:{bearerAuth:!0}})}}hT.Content=hQ,hT.Versions=hS;class hU extends fY{create(a,b,c){return this._client.post(f_`/uploads/${a}/parts`,fF({body:b,...c,__security:{bearerAuth:!0}},this._client))}}class hV extends fY{constructor(){super(...arguments),this.parts=new hU(this._client)}create(a,b){return this._client.post("/uploads",{body:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/uploads/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}complete(a,b,c){return this._client.post(f_`/uploads/${a}/complete`,{body:b,...c,__security:{bearerAuth:!0}})}}hV.Parts=hU;let hW=async a=>{let b=await Promise.allSettled(a),c=b.filter(a=>"rejected"===a.status);if(c.length){for(let a of c)console.error(a.reason);throw Error(`${c.length} promise(s) failed - see the above errors`)}let d=[];for(let a of b)"fulfilled"===a.status&&d.push(a.value);return d};class hX extends fY{create(a,b,c){return this._client.post(f_`/vector_stores/${a}/file_batches`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(f_`/vector_stores/${d}/file_batches/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b,c){let{vector_store_id:d}=b;return this._client.post(f_`/vector_stores/${d}/file_batches/${a}/cancel`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b);return await this.poll(a,d.id,c)}listFiles(a,b,c){let{vector_store_id:d,...e}=b;return this._client.getAPIList(f_`/vector_stores/${d}/file_batches/${a}/files`,fr,{query:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:e,response:f}=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse();switch(e.status){case"in_progress":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 eO(g);break;case"failed":case"cancelled":case"completed":return e}}}async uploadAndPoll(a,{files:b,fileIds:c=[]},d){if(null==b||0==b.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let e=Math.min(d?.maxConcurrency??5,b.length),f=this._client,g=b.values(),h=[...c];async function i(a){for(let b of a){let a=await f.files.create({file:b,purpose:"assistants"},d);h.push(a.id)}}let j=Array(e).fill(g).map(i);return await hW(j),await this.createAndPoll(a,{file_ids:h})}}class hY extends fY{create(a,b,c){return this._client.post(f_`/vector_stores/${a}/files`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(f_`/vector_stores/${d}/files/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{vector_store_id:d,...e}=b;return this._client.post(f_`/vector_stores/${d}/files/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/vector_stores/${a}/files`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b,c){let{vector_store_id:d}=b;return this._client.delete(f_`/vector_stores/${d}/files/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(a,d.id,c)}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let e=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse(),f=e.data;switch(f.status){case"in_progress":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=e.response.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await eO(g);break;case"failed":case"completed":return f}}}async upload(a,b,c){let d=await this._client.files.create({file:b,purpose:"assistants"},c);return this.create(a,{file_id:d.id},c)}async uploadAndPoll(a,b,c){let d=await this.upload(a,b,c);return await this.poll(a,d.id,c)}content(a,b,c){let{vector_store_id:d}=b;return this._client.getAPIList(f_`/vector_stores/${d}/files/${a}/content`,fq,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}class hZ extends fY{constructor(){super(...arguments),this.files=new hY(this._client),this.fileBatches=new hX(this._client)}create(a,b){return this._client.post("/vector_stores",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/vector_stores/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/vector_stores/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/vector_stores",fr,{query:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/vector_stores/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}search(a,b,c){return this._client.getAPIList(f_`/vector_stores/${a}/search`,fq,{body:b,method:"post",...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}hZ.Files=hY,hZ.FileBatches=hX;class h$ extends fY{create(a,b){return this._client.post("/videos",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/videos/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/videos",fs,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/videos/${a}`,{...b,__security:{bearerAuth:!0}})}createCharacter(a,b){return this._client.post("/videos/characters",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}downloadContent(a,b={},c){return this._client.get(f_`/videos/${a}/content`,{query:b,...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}edit(a,b){return this._client.post("/videos/edits",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}extend(a,b){return this._client.post("/videos/extensions",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}getCharacter(a,b){return this._client.get(f_`/videos/characters/${a}`,{...b,__security:{bearerAuth:!0}})}remix(a,b,c){return this._client.post(f_`/videos/${a}/remix`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}}class h_ extends fY{constructor(){super(...arguments),ay.add(this)}async unwrap(a,b,c=this._client.webhookSecret,d=300){return await this.verifySignature(a,b,c,d),JSON.parse(a)}async verifySignature(a,b,c=this._client.webhookSecret,d=300){if("u"<typeof crypto||"function"!=typeof crypto.subtle.importKey||"function"!=typeof crypto.subtle.verify)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");em(this,ay,"m",az).call(this,c);let e=fy([b]).values,f=em(this,ay,"m",aA).call(this,e,"webhook-signature"),g=em(this,ay,"m",aA).call(this,e,"webhook-timestamp"),h=em(this,ay,"m",aA).call(this,e,"webhook-id"),i=parseInt(g,10);if(isNaN(i))throw new eF("Invalid webhook timestamp format");let j=Math.floor(Date.now()/1e3);if(j-i>d)throw new eF("Webhook timestamp is too old");if(i>j+d)throw new eF("Webhook timestamp is too new");let k=f.split(" ").map(a=>a.startsWith("v1,")?a.substring(3):a),l=c.startsWith("whsec_")?Buffer.from(c.replace("whsec_",""),"base64"):Buffer.from(c,"utf-8"),m=h?`${h}.${g}.${a}`:`${g}.${a}`,n=await crypto.subtle.importKey("raw",l,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let a of k)try{let b=Buffer.from(a,"base64");if(await crypto.subtle.verify("HMAC",n,b,new TextEncoder().encode(m)))return}catch{continue}throw new eF("The given webhook signature does not match the expected signature")}}ay=new WeakSet,az=function(a){if("string"!=typeof a||0===a.length)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},aA=function(a,b){if(!a)throw Error("Headers are required");let c=a.get(b);if(null==c)throw Error(`Missing required header: ${b}`);return c};let h0=Symbol.for("openai.node.providerDefinitions.v1"),h1=globalThis,h2=h1[h0],h3=h2??new WeakMap;h2||Object.defineProperty(h1,h0,{value:h3});class h4{constructor(a={}){aB.add(this),aD.set(this,void 0),this.completions=new hd(this),this.chat=new gm(this),this.embeddings=new hk(this),this.files=new ho(this),this.images=new hz(this),this.contentProvenanceChecks=new hh(this),this.audio=new gW(this),this.moderations=new hB(this),this.models=new hA(this),this.fineTuning=new hw(this),this.graders=new hy(this),this.vectorStores=new hZ(this),this.webhooks=new h_(this),this.beta=new hc(this),this.batches=new gX(this),this.uploads=new hV(this),this.admin=new gS(this),this.responses=new hP(this),this.realtime=new hE(this),this.conversations=new hj(this),this.evals=new hn(this),this.containers=new hg(this),this.skills=new hT(this),this.videos=new h$(this);const b=a.provider;if(b){const b=["apiKey","adminAPIKey","workloadIdentity","baseURL"].filter(b=>null!=a[b]);if(b.length)throw new eq(`The \`provider\` option cannot be used with ${b.map(a=>`\`${a}\``).join(", ")}. Configure authentication and the base URL through the provider instead.`)}const{baseURL:c=b?null:g8("OPENAI_BASE_URL"),apiKey:d=b?null:g8("OPENAI_API_KEY")??null,adminAPIKey:e=b?null:g8("OPENAI_ADMIN_KEY")??null,organization:f=b?null:g8("OPENAI_ORG_ID")??null,project:g=b?null:g8("OPENAI_PROJECT_ID")??null,webhookSecret:h=g8("OPENAI_WEBHOOK_SECRET")??null,workloadIdentity:i,...j}=a,k=b?function(a){let b=h3.get(a);if(!b)throw Error("Invalid provider. Providers must be created with createProvider().");return b.configure()}(b):void 0,l={apiKey:d,adminAPIKey:e,organization:f,project:g,webhookSecret:h,workloadIdentity:i,provider:b,...j,baseURL:k?.baseURL??(c||"https://api.openai.com/v1")};if(d&&i)throw new eq("The `apiKey` and `workloadIdentity` options are mutually exclusive");if(!k&&!d&&!e&&!i)throw new eq("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, `adminAPIKey`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.");if(!l.dangerouslyAllowBrowser&&"u">typeof window&&void 0!==window.document&&"u">typeof navigator)throw new eq("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");this.baseURL=l.baseURL,this.timeout=l.timeout??aC.DEFAULT_TIMEOUT,this.logger=l.logger??console;const m="warn";this.logLevel=m,this.logLevel=fa(l.logLevel,"ClientOptions.logLevel",this)??fa(g8("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??m,this.fetchOptions=l.fetchOptions,this.maxRetries=l.maxRetries??2,this.fetch=l.fetch??eS(),el(this,aD,eX,"f");const n=b?void 0:g8("OPENAI_CUSTOM_HEADERS");if(n){const a={};for(const b of n.split("\n")){const c=b.indexOf(":");c>=0&&(a[b.substring(0,c).trim()]=b.substring(c+1).trim())}l.defaultHeaders=fy([a,l.defaultHeaders])}this._options=l,this._provider=k,i&&(this._workloadIdentityAuth=new fv(i,this.fetch)),this.apiKey="string"==typeof d?d:null,this.adminAPIKey=e,this.organization=f,this.project=g,this.webhookSecret=h}withOptions(a){let b=this._options.provider,c=a.provider??b,d={...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this._options.apiKey,adminAPIKey:this.adminAPIKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret};return c&&(delete d.apiKey,delete d.adminAPIKey,delete d.workloadIdentity,delete d.baseURL,c!==b&&(delete d.organization,delete d.project,delete d.defaultHeaders)),new this.constructor({...d,...a,provider:c})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:a,nulls:b},c={bearerAuth:!0,adminAPIKeyAuth:!0}){if(!(a.get("authorization")||a.get("api-key")||b.has("authorization")||b.has("api-key"))&&(!this._workloadIdentityAuth||!c.bearerAuth))throw Error('Could not resolve authentication method. Expected either apiKey or adminAPIKey to be set. Or for one of the "Authorization" or "api-key" headers to be explicitly omitted')}async authHeaders(a,b={bearerAuth:!0,adminAPIKeyAuth:!0}){return fy([b.bearerAuth?await this.bearerAuth(a):null,b.adminAPIKeyAuth?await this.adminAPIKeyAuth(a):null])}async bearerAuth(a){return this._workloadIdentityAuth?fy([{Authorization:`Bearer ${await this._workloadIdentityAuth.getToken()}`}]):null!=this.apiKey?fy([{Authorization:`Bearer ${this.apiKey}`}]):void 0}async adminAPIKeyAuth(a){if(null!=this.adminAPIKey)return fy([{Authorization:`Bearer ${this.adminAPIKey}`}])}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=e4){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||e4.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=eY;if(void 0!==a.format){if(!e_(e$,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=e$[d],f=e4.filter;if(("function"==typeof a.filter||eJ(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in e2?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":e4.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||e4.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:e4.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:e4.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:e4.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?e4.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:e4.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:e4.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:e4.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:e4.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:e4.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:e4.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:e4.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):eJ(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=e2[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]||e3(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(e5))&&!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(e5)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&eJ(w)&&(w=e1(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,e4.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,e4.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,e4.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let A=[];if(void 0===w)return A;if("comma"===d&&eJ(w))q&&j&&(w=e1(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(eJ(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&&eJ(w)&&1===w.length?B+"[]":B;if(f&&eJ(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=eJ(w)?"function"==typeof d?d(C,x):C:C+(m?"."+x:"["+x+"]");s.set(b,y);let B=new WeakMap;B.set(e5,s),e3(A,a(u,z,d,e,f,g,h,i,"comma"===d&&q&&eJ(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"})}getUserAgent(){return`${this.constructor.name}/JS ${eP}`}defaultIdempotencyKey(){return`stainless-node-retry-${en()}`}makeStatusError(a,b,c,d){return er.generate(a,b,c,d)}async _callApiKey(){let a;if(this._provider)return!1;let b=this._options.apiKey;if("function"!=typeof b)return!1;try{a=await b()}catch(a){if(a instanceof eq)throw a;throw new eq(`Failed to get token from 'apiKey' function: ${a.message}`,{cause:a})}if("string"!=typeof a||!a)throw new eq(`Expected 'apiKey' function argument to return a string but it returned ${a}`);return this.apiKey=a,!0}buildURL(a,b,c){let d=!em(this,aB,"m",aE).call(this)&&c||this.baseURL,e=new URL(eI.test(a)?a:d+(d.endsWith("/")&&a.startsWith("/")?a.slice(1):a)),f=this.defaultQuery(),g=Object.fromEntries(e.searchParams);return eM(f)&&eM(g)||(b={...g,...f,...b}),"object"==typeof b&&b&&!Array.isArray(b)&&(e.search=this.stringifyQuery(b)),e.toString()}async prepareOptions(a){this._provider||(a.__security??{bearerAuth:!0}).bearerAuth&&await this._callApiKey()}async prepareRequest(a,{url:b,options:c}){}get(a,b){return this.methodRequest("get",a,b)}post(a,b){return this.methodRequest("post",a,b)}patch(a,b){return this.methodRequest("patch",a,b)}put(a,b){return this.methodRequest("put",a,b)}delete(a,b){return this.methodRequest("delete",a,b)}methodRequest(a,b,c){return this.request(Promise.resolve(c).then(c=>({method:a,path:b,...c})))}request(a,b=null){return new fn(this,this.makeRequest(a,b,void 0))}async makeRequest(a,b,c){let d=await a,e=d.maxRetries??this.maxRetries;null==b&&(b=e),await this.prepareOptions(d);let{req:f,url:g,timeout:h}=await this.buildRequest(d,{retryCount:e-b}),i=d.__metadata?.hasStreamingBody===!0;await this.prepareRequest(f,{url:g,options:d}),await this._provider?.prepareRequest?.(f,{url:g,options:d});let j="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),k=void 0===c?"":`, retryOf: ${c}`,l=Date.now();if(ff(this).debug(`[${j}] sending request`,fg({retryOfRequestLogID:c,method:d.method,url:g,options:d,headers:f.headers})),d.signal?.aborted)throw new es;let m=d.__security??{bearerAuth:!0},n=new AbortController,o=await this.fetchWithAuth(g,f,h,n,m).catch(ep),p=Date.now();if(o instanceof globalThis.Error){let a=`retrying, ${b} attempts remaining`;if(d.signal?.aborted)throw new es;let e=eo(o)||/timed? ?out/i.test(String(o)+("cause"in o?String(o.cause):""));if(b&&!i)return ff(this).info(`[${j}] connection ${e?"timed out":"failed"} - ${a}`),ff(this).debug(`[${j}] connection ${e?"timed out":"failed"} (${a})`,fg({retryOfRequestLogID:c,url:g,durationMs:p-l,message:o.message})),this.retryRequest(d,b,c??j);let f=i?"error; streaming body cannot be retried":"error; no more retries left";if(ff(this).info(`[${j}] connection ${e?"timed out":"failed"} - ${f}`),ff(this).debug(`[${j}] connection ${e?"timed out":"failed"} (${f})`,fg({retryOfRequestLogID:c,url:g,durationMs:p-l,message:o.message})),o instanceof eG||o instanceof eH)throw o;if(e)throw new eu;throw new et({message:function(a){if(function(a){let b=a;for(let a=0;a<8&&b&&"object"==typeof b;a++){let a=b;if("UND_ERR_INVALID_ARG"===a.code&&"string"==typeof a.message&&a.message.includes("invalid onRequestStart method"))return!0;b=a.cause}return!1}(a))return"Connection error. This may be caused by passing an undici dispatcher, such as ProxyAgent, that is incompatible with the fetch implementation. If you are using undici's ProxyAgent, pass the fetch implementation from the same undici package: import { fetch, ProxyAgent } from 'undici'; new OpenAI({ fetch, fetchOptions: { dispatcher: new ProxyAgent(...) } });"}(o),cause:o})}let q=[...o.headers.entries()].filter(([a])=>"x-request-id"===a).map(([a,b])=>", "+a+": "+JSON.stringify(b)).join(""),r=`[${j}${k}${q}] ${f.method} ${g} ${o.ok?"succeeded":"failed"} with status ${o.status} in ${p-l}ms`;if(!o.ok){if(401===o.status&&this._workloadIdentityAuth&&m.bearerAuth&&!d.__metadata?.hasStreamingBody&&!d.__metadata?.workloadIdentityTokenRefreshed)return await eW(o.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...d,__metadata:{...d.__metadata,workloadIdentityTokenRefreshed:!0}},b,c??j);let a=await this.shouldRetry(o);if(b&&a&&!i){let a=`retrying, ${b} attempts remaining`;return await eW(o.body),ff(this).info(`${r} - ${a}`),ff(this).debug(`[${j}] response error (${a})`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,durationMs:p-l})),this.retryRequest(d,b,c??j,o.headers)}let e=a?i?"error; streaming body cannot be retried":"error; no more retries left":"error; not retryable";ff(this).info(`${r} - ${e}`);let f=await o.text().catch(a=>ep(a).message),g=(a=>{try{return JSON.parse(a)}catch(a){return}})(f),h=g?void 0:f;throw ff(this).debug(`[${j}] response error (${e})`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,message:h,durationMs:Date.now()-l})),this.makeStatusError(o.status,g,h,o.headers)}return ff(this).info(r),ff(this).debug(`[${j}] response start`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,durationMs:p-l})),{response:o,options:d,controller:n,requestLogID:j,retryOfRequestLogID:c,startTime:l}}getAPIList(a,b,c){return this.requestAPIList(b,c&&"then"in c?c.then(b=>({method:"get",path:a,...b})):{method:"get",path:a,...c})}requestAPIList(a,b){return new fp(this,this.makeRequest(b,null,void 0),a)}async fetchWithAuth(a,b,c,d,e={bearerAuth:!0,adminAPIKeyAuth:!0}){if(this._workloadIdentityAuth&&e.bearerAuth){let a=b.headers,c=a.get("Authorization");if(!c||"Bearer workload-identity-auth"===c){let b=await this._workloadIdentityAuth.getToken();a.set("Authorization",`Bearer ${b}`)}}return await this.fetchWithTimeout(a,b,c,d)}async fetchWithTimeout(a,b,c,d){let{signal:e,method:f,...g}=b||{},h=this._makeAbort(d);e&&e.addEventListener("abort",h,{once:!0});let i=setTimeout(h,c),j=globalThis.ReadableStream&&g.body instanceof globalThis.ReadableStream||"object"==typeof g.body&&null!==g.body&&Symbol.asyncIterator in g.body,k={signal:d.signal,...j?{duplex:"half"}:{},method:"GET",...g};f&&(k.method=f.toUpperCase());try{return await this.fetch.call(void 0,a,k)}finally{clearTimeout(i)}}async shouldRetry(a){let b=a.headers.get("x-should-retry");return"true"===b||"false"!==b&&(408===a.status||409===a.status||429===a.status||!!(a.status>=500))}async retryRequest(a,b,c,d){let e,f=d?.get("retry-after-ms");if(f){let a=parseFloat(f);Number.isNaN(a)||(e=a)}let g=d?.get("retry-after");if(g&&!e){let a=parseFloat(g);e=Number.isNaN(a)?Date.parse(g)-Date.now():1e3*a}if(void 0===e){let c=a.maxRetries??this.maxRetries;e=this.calculateDefaultRetryTimeoutMillis(b,c)}return await eO(e),this.makeRequest(a,b-1,c)}calculateDefaultRetryTimeoutMillis(a,b){return Math.min(.5*Math.pow(2,b-a),8)*(1-.25*Math.random())*1e3}async buildRequest(a,{retryCount:b=0}={}){let c={...a},{method:d,path:e,query:f,defaultBaseURL:g}=c,h=this.buildURL(e,f,g);"timeout"in c&&((a,b)=>{if("number"!=typeof b||!Number.isInteger(b))throw new eq(`${a} must be an integer`);if(b<0)throw new eq(`${a} must be a positive integer`)})("timeout",c.timeout),c.timeout=c.timeout??this.timeout;let{bodyHeaders:i,body:j,isStreamingBody:k}=this.buildBody({options:c});k&&(a.__metadata={...a.__metadata,hasStreamingBody:!0});let l=await this.buildHeaders({options:a,method:d,bodyHeaders:i,retryCount:b});return{req:{method:d,headers:l,...c.signal&&{signal:c.signal},...globalThis.ReadableStream&&j instanceof globalThis.ReadableStream&&{duplex:"half"},...j&&{body:j},...this.fetchOptions??{},...c.fetchOptions??{}},url:h,timeout:c.timeout}}async buildHeaders({options:a,method:b,bodyHeaders:c,retryCount:e}){let f={};this.idempotencyHeader&&"get"!==b&&(a.idempotencyKey||(a.idempotencyKey=this.defaultIdempotencyKey()),f[this.idempotencyHeader]=a.idempotencyKey);let g=fy([f,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(e),...a.timeout?{"X-Stainless-Timeout":String(Math.trunc(a.timeout/1e3))}:{},...d??(d=(()=>{let a="u">typeof Deno&&null!=Deno.build?"deno":"u">typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":eR(Deno.build.os),"X-Stainless-Arch":eQ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("u">typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":eR(globalThis.process.platform??"unknown"),"X-Stainless-Arch":eQ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("u"<typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})()),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},this._provider?void 0:await this.authHeaders(a,a.__security??{bearerAuth:!0}),this._options.defaultHeaders,c,a.headers]);return this._provider||this.validateHeaders(g,a.__security??{bearerAuth:!0}),g.values}_makeAbort(a){return()=>a.abort()}buildBody({options:a}){let{body:b,headers:c}=a;if(!b)return void 0===b&&"body"in a?{...em(this,aD,"f").call(this,{body:b,headers:fy([c])}),isStreamingBody:!1}:{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let d=fy([c]),e=void 0!==globalThis.ReadableStream&&b instanceof globalThis.ReadableStream,f=!e&&("string"==typeof b||b instanceof ArrayBuffer||ArrayBuffer.isView(b)||void 0!==globalThis.Blob&&b instanceof globalThis.Blob||b instanceof URLSearchParams||b instanceof FormData);return ArrayBuffer.isView(b)||b instanceof ArrayBuffer||b instanceof DataView||"string"==typeof b&&d.values.has("content-type")||globalThis.Blob&&b instanceof globalThis.Blob||b instanceof FormData||b instanceof URLSearchParams||e?{bodyHeaders:void 0,body:b,isStreamingBody:!f}:"object"==typeof b&&(Symbol.asyncIterator in b||Symbol.iterator in b&&"next"in b&&"function"==typeof b.next)?{bodyHeaders:void 0,body:eU(b),isStreamingBody:!0}:"object"==typeof b&&"application/x-www-form-urlencoded"===d.values.get("content-type")?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(b),isStreamingBody:!1}:{...em(this,aD,"f").call(this,{body:b,headers:d}),isStreamingBody:!1}}}aC=h4,aD=new WeakMap,aB=new WeakSet,aE=function(){return void 0!==this._provider||"https://api.openai.com/v1"!==this.baseURL},h4.OpenAI=aC,h4.DEFAULT_TIMEOUT=6e5,h4.OpenAIError=eq,h4.APIError=er,h4.APIConnectionError=et,h4.APIConnectionTimeoutError=eu,h4.APIUserAbortError=es,h4.NotFoundError=ey,h4.ConflictError=ez,h4.RateLimitError=eB,h4.BadRequestError=ev,h4.AuthenticationError=ew,h4.InternalServerError=eC,h4.PermissionDeniedError=ex,h4.UnprocessableEntityError=eA,h4.InvalidWebhookSignatureError=eF,h4.toFile=fW,h4.toStreamingFile=function(a,b,c){if(!b)throw TypeError("toStreamingFile requires a non-empty file name");return{[fz]:!0,data:a,name:b,...c?.type?{type:c.type}:{}}},h4.Completions=hd,h4.Chat=gm,h4.Embeddings=hk,h4.Files=ho,h4.Images=hz,h4.ContentProvenanceChecks=hh,h4.Audio=gW,h4.Moderations=hB,h4.Models=hA,h4.FineTuning=hw,h4.Graders=hy,h4.VectorStores=hZ,h4.Webhooks=h_,h4.Beta=hc,h4.Batches=gX,h4.Uploads=hV,h4.Admin=gS,h4.Responses=hP,h4.Realtime=hE,h4.Conversations=hj,h4.Evals=hn,h4.Containers=hg,h4.Skills=hT,h4.Videos=h$;var h5=c(34159),h6=c(77275),h7=c(31846),h8=c(8897),h9=c(12853),ia=c(81562),ib=c(12952),ic=c(39361);function id(a){return(0,ic.BV)(`flujo-ui:mcp-canvas:dismissed:${a}`)}function ie(a){let b=(0,bS.Aq)(id(a),[]);return Array.isArray(b)?b.filter(a=>"string"==typeof a):[]}function ig(a,b,c){if(0===b.length)return;let d=new Set(ie(a));for(let a of b)c?d.add(a):d.delete(a);(0,bS.vi)(id(a),[...d])}function ih(a){return(0,ic.BV)(`flujo-ui:mcp-canvas:auto-open-suppressed:${a}`)}function ii(a){return!0===(0,bS.Aq)(ih(a),!1)}let ij=(0,c9.h)("frontend/components/Chat/index");function ik(a){let b=(0,aG.useRef)(a);return b.current=a,(0,aG.useCallback)((...a)=>b.current(...a),[])}function il(a){if(Array.isArray(a.content))return a.content;let b="string"==typeof a.content?a.content:"",c=a.attachments??[],d=c.filter(a=>"document"===a.type&&!a.content.startsWith("data:")),e=c.filter(a=>"image"===a.type),f=c.filter(a=>"image"!==a.type&&!d.includes(a));if(d.length>0&&(b+="\n\n"+d.map(a=>`[DOCUMENT]: ${a.content}`).join("\n\n")),0===e.length&&0===f.length)return b;let g=[];for(let a of(b.trim()&&g.push({type:"text",text:b}),e))g.push({type:"image_url",image_url:{url:a.content}});for(let a of f)if("audio"===a.type){let b=/^data:([^;,]+);base64,([\s\S]*)$/.exec(a.content),c=a.mimeType??b?.[1];b&&("audio/wav"===c||"audio/mpeg"===c)?g.push({type:"input_audio",input_audio:{data:b[2],format:"audio/mpeg"===c?"mp3":"wav"}}):g.push({type:"audio_url",audio_url:{url:a.content,mime_type:c}}),a.transcript&&g.push({type:"text",text:`[Audio transcript]: ${a.transcript}`})}else"video"===a.type?g.push({type:"video_url",video_url:{url:a.content,mime_type:a.mimeType}}):g.push({type:"file",file:{file_data:a.content,filename:a.originalName,mime_type:a.mimeType}});return g}let im=(a,b)=>a.length===b.length&&a.every((a,c)=>{let d=b[c];return a.id===d.id&&a.title===d.title&&a.flowId===d.flowId&&a.status===d.status&&a.recovery?.classification===d.recovery?.classification&&a.recovery?.updatedAt===d.recovery?.updatedAt&&a.plannedExecutionId===d.plannedExecutionId&&a.source===d.source&&a.parentConversationId===d.parentConversationId&&a.rootConversationId===d.rootConversationId&&a.createdAt===d.createdAt&&a.updatedAt===d.updatedAt&&a.lastUserMessageAt===d.lastUserMessageAt}),io=/cancelled by user|execution cancelled/i,ip=a=>a?.code==="cancelled"||a?.error?.code==="cancelled"||[a?.message,"string"==typeof a?.body?.error?a.body.error:void 0].some(a=>"string"==typeof a&&io.test(a)),iq=()=>{var a;let b,c=(0,aJ.useRouter)(),d=(0,a$.A)(),{t:e,tp:f}=(0,bU.s9)(),{settings:g}=(0,h5.rX)(),h=g?.experimental?.requireMcpAppLaunchClick!==!0,i=(0,aK.A)(d.breakpoints.down("lg"),{noSsr:!0}),j=(0,aK.A)(d.breakpoints.down("sm"),{noSsr:!0}),[k,l]=(0,aG.useState)([]),[m,n]=(0,aG.useState)(!0),[o,p]=(0,aG.useState)(!1),[q,r]=(0,aG.useState)(null),[s,t]=(0,aG.useState)({total:0,hasMore:!1}),u=(0,aG.useRef)(s),v=(0,aG.useRef)(0),w=(0,aG.useCallback)(a=>{u.current=a,t(a)},[]),[x,y]=(0,aG.useState)(null),[z,A]=(0,aG.useState)(!1),[B,C]=(0,aG.useState)(null),[D,E]=(0,bf.Mj)(bf.Zg.CURRENT_CONVERSATION_ID,null),F=(0,aG.useRef)(D),G=(0,aG.useRef)(new Map),[H,I]=(0,aG.useState)(()=>new Set),[J,K]=(0,aG.useState)(0),L=(0,aG.useMemo)(()=>D?new Set(ie(D)):new Set,[D,J]),M=(0,aG.useCallback)((a,b,c)=>{let d;d=new Set(ie(a)),c?d.add(b):d.delete(b),(0,bS.vi)(id(a),[...d]),K(a=>a+1)},[]),N=(0,aG.useCallback)(a=>{let b=F.current;b&&M(b,a,!1)},[M]),[O,P]=(0,aG.useState)(0),Q=(0,aG.useMemo)(()=>!!D&&ii(D),[D,O]),R=(0,aG.useCallback)((a,b)=>{(0,bS.vi)(ih(a),b),P(a=>a+1)},[]),S=(0,aG.useRef)(new Map),T=(0,aG.useRef)(0),U=(0,aG.useCallback)(a=>{let b=T.current+1;T.current=b;let c=F.current;if(c===a)return void E(a);let d=c?`${c}\u0000`:null,e=d?[...S.current.entries()].filter(([a])=>a.startsWith(d)).map(([,a])=>a):[];if(0===e.length){F.current=a,E(a);return}Promise.allSettled(e.map(a=>a())).then(()=>{T.current===b&&(F.current=a,E(a))})},[E]),[V,W]=(0,bf.Mj)(bf.Zg.LAST_PICKED_FLOW_ID,null),[X,Y]=(0,aG.useState)(!1),[Z,$]=(0,aG.useState)(new Set),_=(0,aG.useCallback)((a,b)=>{a&&$(c=>{if(b===c.has(a))return c;let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]),[aa,ab]=(0,aG.useState)({}),ac=(0,aG.useRef)(!1),[ad,ae]=(0,aG.useState)(null),[af,ag]=(0,aG.useState)(null),[ah,ai]=(0,aG.useState)(null),[aj,ak]=(0,aG.useState)(null),[al,am]=(0,aG.useState)([]),[an,ao]=(0,aG.useState)(!1),[ap,aq]=(0,aG.useState)(!1),[ar,as]=(0,aG.useState)(""),[at,au]=(0,aG.useState)(!1),[av,aw]=(0,aG.useState)(null),[ax,ay]=(0,aG.useState)(null),[az,aA]=(0,aG.useState)(null),[aB,aC]=(0,aG.useState)(null),[aD,aE]=(0,aG.useState)(null),[aH,aI]=(0,aG.useState)(null),[a7,bg]=(0,aG.useState)(!1),[bh,bi]=(0,aG.useState)(null),[bj,bk]=(0,aG.useState)(!1),[bl,bm]=(0,aG.useState)(!1),[bn,bo]=(0,aG.useState)(!1),[bp,bq]=(0,aG.useState)(()=>0),[br,bs]=(0,aG.useState)(()=>!1);(0,aG.useEffect)(()=>{},[br]);let[bt,bu]=(0,aG.useState)(()=>!1);(0,aG.useEffect)(()=>{},[bt]);let[bv,bw]=(0,aG.useState)(()=>320),bx=(0,aG.useCallback)(a=>{a.preventDefault();let b=a.clientX,c=0;bw(a=>(c=a,a));let d=document.body.style.userSelect,e=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let f=a=>{bw(Math.min(Math.max(c+(b-a.clientX),240),Math.round(.7*window.innerWidth)))},g=()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",g),document.body.style.userSelect=d,document.body.style.cursor=e,bw(a=>(a>0&&window.localStorage.setItem("flujo-workflow-panel-width",String(Math.round(a))),a))};window.addEventListener("pointermove",f),window.addEventListener("pointerup",g)},[]),by=(0,aG.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=>{bq(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,bq(a=>(a>0&&window.localStorage.setItem("flujo-debugger-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[bz,bA]=(0,aG.useState)(()=>300),[bB,bC]=(0,aG.useState)(()=>!1),[bD,bE]=(0,aG.useState)(!1),bF=i?!bD:bB,bG=(0,aG.useCallback)(()=>{i?bE(a=>!a):bC(a=>!a)},[i]),bH=ik(a=>{U(a),i&&bE(!1)}),bI=(0,aG.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=>{bA(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,bA(a=>(a>0&&window.localStorage.setItem("flujo-chat-sidebar-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[bJ,bK]=(0,aG.useState)(null),[bL,bN]=(0,aG.useState)(null),[bO,bP]=(0,aG.useState)(dv),[bQ,bR]=(0,aG.useState)([]),[bT,bV]=(0,aG.useState)(cw),[bW,bX]=(0,aG.useState)([]),[bY,bZ]=(0,aG.useState)(new Set),[b$,b_]=(0,aG.useState)([]),[b1,b2]=(0,aG.useState)(null),b3=(0,aG.useRef)(null),b4=(0,aG.useRef)(null),b5=(0,aG.useRef)(null),b6=(0,aG.useRef)(null),b7=(0,aG.useRef)(-1),cb=(0,aG.useRef)(new Map);(0,aG.useEffect)(()=>{F.current=D},[D]);let cc=(0,aG.useRef)(new Set),cd=(0,aG.useRef)(null),ce=(0,aG.useRef)(!1),cf=(0,aG.useRef)(new Set),cg=(0,aG.useRef)(new Set),[ch,ci]=(0,aG.useState)(new Set),cj=(0,aG.useCallback)((a,b)=>{a&&(b?cg.current.add(a):cg.current.delete(a),ci(new Set(cg.current)))},[]),ck=function(a={}){let{conversationId:b,messages:c,autoHideEnabled:d,idleMs:e}=a,f=(0,a$.A)(),g=(0,aK.A)(f.breakpoints.down("sm")),h=function({enabled:a,idleMs:b=2500}){let[c,d]=(0,aG.useState)(!1),e=(0,aG.useRef)(null),f=(0,aG.useCallback)(()=>{e.current&&(clearTimeout(e.current),e.current=null)},[]),g=(0,aG.useCallback)(()=>{f(),e.current=setTimeout(()=>{e.current=null,d(!0)},b)},[f,b]),h=(0,aG.useCallback)(()=>{(d(!1),a)?g():f()},[g,f,a]);return{visible:!a||!c,poke:h}}({enabled:d??g,...void 0===e?{}:{idleMs:e}}),i=(0,a0.Q)({bottomThreshold:80,anchorSelector:"[data-ask-flujo-message-id]",deps:[b,c]}),j=i.ref,k=(0,aG.useRef)(!0),l=(0,aG.useCallback)((a="auto")=>{let b=j.current;b&&(b.scrollTo({top:b.scrollHeight,behavior:(0,a1.ik)(a)}),i.measure())},[j,i]),m=(0,aG.useCallback)(()=>{let a=j.current;a&&(k.current=a.scrollHeight-a.scrollTop-a.clientHeight<80),i.onScroll(),h.poke()},[j,i,h]),n=(0,aG.useCallback)(()=>{h.poke()},[h]),o=(0,aG.useCallback)(()=>{k.current=!1;let a=j.current;a&&a.scrollTo({top:0,behavior:(0,a1.ik)("smooth")}),i.measure()},[j,i]),p=(0,aG.useCallback)(()=>{k.current=!1,i.scrollToPreviousAnchor()},[i]),q=(0,aG.useCallback)(()=>{k.current=!0,l("smooth")},[l]),r=(0,aG.useCallback)(a=>{h.poke(),"top"===a?o():"up"===a?p():"bottom"===a&&q()},[h,o,p,q]),s=(0,aG.useMemo)(()=>({top:i.atTop,up:i.atTop,bottom:i.atBottom}),[i.atTop,i.atBottom]);return{containerProps:{ref:j,onScroll:m,onPointerDown:n},scrollRef:j,show:i.scrollable&&h.visible,actions:a2,disabled:s,onAction:r,jumpToLatest:q,isPinnedToBottom:()=>k.current}}({conversationId:D,messages:x?.messages}),cm=(0,aG.useRef)(null);(0,aG.useEffect)(()=>{cm.current=b1},[b1]),(0,aG.useEffect)(()=>{b3.current=new h4({baseURL:window.location.origin+"/v1",apiKey:"FLUJO",dangerouslyAllowBrowser:!0,maxRetries:0,timeout:18e6})},[]),(0,aG.useEffect)(()=>{(async()=>{ij.debug("Loading flows");try{let a=await ds.g.loadFlows();am(a)}catch(a){ij.error("Error loading flows:",a)}})()},[]);let cn=(0,aG.useCallback)((a,b)=>{let c=b?.silent??!1,d=async()=>{ij.debug("Fetching conversation list from backend",{silent:c}),c||(n(!0),r(null));let b=[],d=!1;try{let a=c?Math.max(50,v.current):50,d=await b0.O.listConversationPage({limit:Math.min(200,a)}),e=[...d.items];for(;e.length<a&&d.nextCursor;)d=await b0.O.listConversationPage({limit:Math.min(200,a-e.length),cursor:d.nextCursor}),e.push(...d.items);for(let a of(v.current=(b=e.filter(a=>!cf.current.has(a.id)).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))).length,w({total:d.total,hasMore:d.hasMore,nextCursor:d.nextCursor}),b))cc.current.delete(a.id);l(a=>{let c=a.filter(a=>cc.current.has(a.id)),d=a.find(a=>a.id===F.current&&!cc.current.has(a.id)&&!b.some(b=>b.id===a.id)),e=[...c,...b,...d?[d]:[]].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return im(a,e)?a:e}),ij.info(`Fetched ${b.length} conversations for the list`)}catch(a){d=!0,ij.error("Error fetching conversation list:",a),c||(r(e("chat.page.historyLoadFailed")),l([]),v.current=0,w({total:0,hasMore:!1}))}finally{if(c||n(!1),c||d)return;let e=void 0!==a?a:F.current,f=F.current;if(e&&(b.some(a=>a.id===e)||cc.current.has(e)||void 0===a))e!==f&&(ij.debug(`Setting currentConversationId to ${e} after fetch/operation.`),U(e));else if(b.length>0){let a=b[0].id;a!==f&&(ij.debug(`Selecting most recent conversation ${a} after fetch/operation.`),U(a))}else null===f||cc.current.has(f)||(ij.debug("No conversations available after fetch/operation, clearing selection."),U(null))}};if(!c)return d();if(cd.current)return ce.current=!0,cd.current;let f=(async()=>{do ce.current=!1,await d();while(ce.current)})().finally(()=>{cd.current===f&&(cd.current=null)});return cd.current=f,f},[U,e,w]),co=(0,aG.useCallback)(async()=>{let a=u.current.nextCursor;if(a&&!o){p(!0);try{let b=await b0.O.listConversationPage({limit:50,cursor:a}),c=b.items.filter(a=>!cf.current.has(a.id));l(a=>{let b=new Map(a.map(a=>[a.id,a]));for(let a of c)b.set(a.id,a);let d=[...b.values()].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return im(a,d)?a:d}),v.current+=c.filter(a=>!cc.current.has(a.id)).length,w({total:b.total,hasMore:b.hasMore,nextCursor:b.nextCursor})}catch(a){ij.error("Could not load the next conversation page",a),r(e("chat.page.historyLoadFailed"))}finally{p(!1)}}},[o,e,w]),ct=(0,aG.useCallback)(async()=>{let a=(await b0.O.listAllConversationPages()).filter(a=>!cf.current.has(a.id)).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));v.current=a.length,w({total:a.length,hasMore:!1});let b=[...k.filter(a=>cc.current.has(a.id)),...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return l(a=>im(a,b)?a:b),b},[k,w]);(0,aG.useEffect)(()=>{cn()},[]),(0,aG.useEffect)(()=>{let a=null,b=null,c=null,d=!1,e=0,f=()=>{a&&clearTimeout(a),b&&clearTimeout(b),a=null,b=null},g=()=>{a&&clearTimeout(a),d||"visible"!==document.visibilityState||(a=setTimeout(()=>{a=null,e=Date.now(),cn(void 0,{silent:!0}).finally(g)},3e4))},h=()=>{d||"visible"!==document.visibilityState||b||(b=setTimeout(()=>{b=null,e=Date.now(),cn(void 0,{silent:!0}).finally(g)},Math.max(200,5e3-(Date.now()-e))))},i=()=>{c||d||"visible"!==document.visibilityState||(c=b0.O.subscribeToSidebarEvents({onEvent:h}))},j=()=>{c?.close(),c=null},k=()=>{if("visible"!==document.visibilityState){f(),j();return}i(),e=Date.now(),cn(void 0,{silent:!0}).finally(g)};return e=Date.now(),i(),g(),document.addEventListener("visibilitychange",k),()=>{d=!0,f(),j(),document.removeEventListener("visibilitychange",k)}},[cn]);let cu=(0,aG.useCallback)(async a=>{if(cc.current.has(a))return void ij.debug("Skipping detail fetch for client-only conversation",{conversationId:a});if(F.current!==a){ij.debug("Detail fetch requested for non-viewed conversation; refreshing list instead",{conversationId:a}),cn(void 0,{silent:!0});return}ij.debug("Fetching detailed conversation",{conversationId:a}),A(!0),C(null);try{let b=await b0.O.getConversation(a);if(F.current!==a)return void ij.debug("Discarding stale detailed conversation response",{fetchedId:a,currentId:F.current});void 0===b.mcpAppContexts||cb.current.has(a)||cb.current.set(a,{...b.mcpAppContexts}),y(b),"error"===b.status&&b.lastError?ag(b.lastError):"error"!==b.status&&ag(null),l(c=>c.map(c=>c.id===a?{...c,title:b.title,flowId:b.flowId,updatedAt:b.updatedAt,status:b.status??c.status}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),ij.info("Fetched detailed conversation successfully",{conversationId:a})}catch(b){if(ij.error("Error fetching detailed conversation:",{conversationId:a,err:b}),F.current!==a)return;b instanceof b0.b&&404===b.status?(C(e("chat.page.conversationNotFound",{id:a})),U(null),cn()):C(e("chat.page.detailsLoadFailed",{id:a})),y(null)}finally{F.current===a&&A(!1)}},[cn,U,e]);(0,aG.useEffect)(()=>{aw(null),aE(null),D?cu(D):(y(null),A(!1),C(null))},[D,cu]),(0,aG.useEffect)(()=>{let a=x?.id;if(!a||a!==D)return void I(a=>0===a.size?a:new Set);let b=(0,ib.fT)(G.current,a,x.messages);0!==b.length&&I(new Set((0,ib.pv)(x.messages,b)))},[D,x?.id,x?.messages]),(0,aG.useEffect)(()=>{if(0===H.size)return;let a=window.setTimeout(()=>I(new Set),1500);return()=>window.clearTimeout(a)},[H]);let cv=x?.parentConversationId?k.find(a=>a.id===x.parentConversationId):void 0;(0,aG.useEffect)(()=>{let a=x?.id;if(!(a&&x?.status==="error")||!a)return void ai(null);let b=!1;return b0.O.getSubflowRecoveryOptions(a).then(a=>{b||ai(a.hasRecoverableFamily?a:null)}).catch(c=>{ij.warn("Could not load subflow recovery options",{conversationId:a,err:c}),b||ai(null)}),()=>{b=!0}},[x?.id,x?.parentConversationId,x?.status,cv?.status,cv?.updatedAt,cv?.recovery?.updatedAt]),(0,aG.useEffect)(()=>{x&&ao(x.requireApproval??!1)},[x?.id]);let cy=(0,aG.useCallback)(async a=>{if(ao(a),D)try{await b0.O.updateConversationApproval(D,a)}catch(a){ij.warn("Failed to persist requireApproval setting",{conversationId:D,err:a})}},[D]),cz=k.find(a=>a.id===D)||null,cA=(0,aG.useMemo)(()=>{let a={};for(let b of al)b.id&&(a[b.id]=b.name);return a},[al]),cB=(0,aG.useMemo)(()=>al.find(a=>a.id===x?.flowId)||null,[al,x?.flowId]),cC=(0,aG.useCallback)(a=>{if("chat-message"===a.target.kind&&a.target.id&&"highlight"===a.type){let b=[...document.querySelectorAll("[data-ask-flujo-message-id]")].find(b=>b.getAttribute("data-ask-flujo-message-id")===a.target.id)??null,c=(0,h7.g_)(b);return{success:c,message:c?"Highlighted the conversation message.":"That message is not currently visible."}}if("chat-field"===a.target.kind&&"title"===a.target.field){if("highlight"===a.type){let a=(0,h7.g_)(document.querySelector("[data-ask-flujo-chat-title]"));return{success:a,message:a?"Highlighted the conversation title.":"The title is not currently visible."}}return"string"==typeof a.value&&a.value.trim()?(as(a.value),aq(!0),{success:!0,message:"Updated the title field. Confirm it with the normal save control."}):{success:!1,message:"The conversation title must be non-empty text."}}return{success:!1,message:"That conversation UI target is not supported."}},[]);(0,h6.qz)({scopeId:x?`chat:${x.id}`:"chat:none",pageType:"chat",route:"/chat",title:x?.title??e("nav.talk"),identifiers:{conversationId:x?.id??D,flowId:x?.flowId??null},data:{conversation:x,selectedFlow:cB,requireApproval:an,executeInDebugger:at},capabilities:{highlightTargets:[...(x?.messages??[]).map(a=>({kind:"chat-message",id:a.id,role:a.role,processNodeId:a.processNodeId})),{kind:"chat-field",field:"title"}],editableTargets:[{kind:"chat-field",field:"title"}],notes:["The conversation id and flow id are always supplied explicitly."]}},cC,100);let cD=(0,aG.useMemo)(()=>cB?.nodes?.map(a=>({id:a.id,label:a.data.label||a.id}))||[],[cB]),cE=(0,aG.useMemo)(()=>{var a;let b;return a={messages:x?.messages,nodeExecutionTracker:bh?.trackingInfo?.nodeExecutionTracker,executionTrace:bh?.executionTrace,sseVisitedIds:bY},b=new Set,a.messages?.forEach(a=>{a?.processNodeId&&b.add(a.processNodeId)}),a.nodeExecutionTracker?.forEach(a=>{a?.nodeId&&b.add(a.nodeId)}),a.executionTrace?.forEach(a=>{a?.nodeId&&b.add(a.nodeId)}),a.sseVisitedIds?.forEach(a=>{a&&b.add(a)}),Array.from(b)},[x?.messages,bh,bY]);(0,aG.useEffect)(()=>{bZ(new Set),bR([])},[x?.id]);let cF=(0,aG.useMemo)(()=>{let a=a=>!!a&&cD.some(b=>b.id===a);if(a(aD))return aD;if(a(x?.currentNodeId))return x.currentNodeId;let b=x?.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 cD[0]?.id??null},[aD,x,cD]),cG=async a=>{ij.debug("Attempting to create new conversation"),ae(null),ag(null);let b="string"!=typeof a||bM(a)?void 0:al.find(b=>b.id===a),c=V&&!bM(V)?al.find(a=>a.id===V):void 0,d=(b??c??al.find(a=>a.favorite)??al[0])?.id||null;if(!d){ij.error("Cannot create conversation: No flows available or first flow has no ID."),ae(e("chat.page.noAgents"));return}let f=(0,ek.A)(),g=Date.now(),h={id:f,title:e("chat.page.newTitle"),flowId:d,createdAt:g,updatedAt:g};try{ij.info("Sending request to create conversation on backend",{payload:JSON.stringify(h)});let a=await b0.O.createConversation(h);ij.info("Successfully created conversation on backend",{conversationId:a.id}),l(b=>[a,...b].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(a.id),y({id:a.id,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,messages:[]}),A(!1),C(null)}catch(b){ij.error("Error creating conversation on backend:",b);let a=e("chat.page.createFailed");b instanceof b0.b?a+=` (${b.body?.error||b.message})`:b instanceof Error&&(a+=` (${b.message})`),ae(a)}};(0,h8.R)({param:"flow",ready:al.length>0,exists:a=>al.some(b=>b.id===a)&&!bM(a),onResolve:a=>cG(a),consume:!0,replacePath:"/chat"});let cH=ik(()=>{cG()});(0,h8.R)({param:ia.AW,ready:al.length>0,exists:a=>(0,ia.k2)(a),onResolve:a=>{(0,ia.pP)(a)&&cH()},consume:!0,replacePath:"/chat"}),(0,aG.useEffect)(()=>(0,ia.lP)(a=>{(0,ia.pP)(a)&&cH()}),[cH]);let[cI,cJ]=(0,aG.useState)(null),cK=(0,aG.useRef)(0),cL=(0,aG.useCallback)(a=>{cK.current+=1,cJ({id:a,requestKey:cK.current})},[]),cM=(0,aG.useRef)(null),cN=(0,aG.useRef)(!1),cO=(0,aG.useCallback)(a=>{if(cM.current=a,k.some(b=>b.id===a)){U(a),cL(a);return}!u.current.hasMore||cN.current?ij.warn("Conversation deep link target does not exist, ignoring",{id:a}):(cN.current=!0,ct().then(b=>{if(cM.current===a){if(!b.some(b=>b.id===a))return void ij.warn("Conversation deep link target does not exist, ignoring",{id:a});U(a),cL(a)}}).catch(b=>{ij.warn("Could not materialize conversation deep link target",{id:a,error:b})}).finally(()=>{cN.current=!1}))},[k,ct,cL,U]);(0,h8.R)({param:"conversation",ready:!m,exists:a=>k.some(b=>b.id===a)||u.current.hasMore,onResolve:a=>cO(a)});let[cQ,cR]=(0,aG.useState)(null);(0,h8.R)({param:"message",ready:!z&&!!x&&x.id===D,exists:a=>!!x?.messages?.some(b=>b.id===a),onResolve:a=>cR(a),consume:!0,replacePath:D?(0,h9.F)({kind:"conversation",id:D}):"/chat"}),(0,aG.useEffect)(()=>{},[D,k,m,c]),(0,aG.useEffect)(()=>{if(!cQ)return;let a=window.setTimeout(()=>cR(null),4e3);return()=>window.clearTimeout(a)},[cQ]),(0,aG.useEffect)(()=>{cR(null)},[D]);let[cS,cU]=(0,aG.useState)(!1),cV=async a=>{ae(null),ag(null);let b=(0,ek.A)(),{flow:c}=await b0.O.synthesizeQuickChat({conversationId:b,modelId:a.modelId,servers:a.servers,systemPrompt:a.systemPrompt}),d=Date.now(),f=await b0.O.createConversation({id:b,title:e("chat.page.quickChat"),flowId:c.id,flowSnapshot:c,createdAt:d,updatedAt:d});l(a=>[f,...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(f.id),y({id:f.id,title:f.title,flowId:f.flowId,createdAt:f.createdAt,updatedAt:f.updatedAt,messages:[]}),A(!1),C(null),cU(!1)},cW=(0,aG.useCallback)(a=>{ij.debug("Updating detailed conversation state locally",{conversationId:a.id});let b={...a,updatedAt:Date.now()};y(b),l(a=>a.map(a=>a.id===b.id?{...a,title:b.title,updatedAt:b.updatedAt}:a).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))},[]),cX=(0,aG.useCallback)(()=>{b5.current&&(ij.debug("Closing execution event stream"),b5.current.close(),b5.current=null)},[]),cY=(0,aG.useCallback)((a,b)=>{l(c=>{let d=c.findIndex(b=>b.id===a);if(-1===d||c[d].status===b)return c;let e=[...c];return e[d]={...e[d],status:b},e})},[]),cZ=(0,aG.useCallback)(a=>{if("number"==typeof a.seq){if(a.seq<=b7.current)return;b7.current=a.seq}("run:start"===a.type||"run:done"===a.type||"run:paused"===a.type||"breakpoint:hit"===a.type||"subflow:start"===a.type||"subflow:done"===a.type||"node:enter"===a.type||"node:exit"===a.type||"resource:read"===a.type||"resource:write"===a.type||"error"===a.type)&&bR(b=>{if("run:start"===a.type)return[a];let c=[...b,a];return c.length>2e3?c.slice(c.length-2e3):c}),"recovery:retry"!==a.type&&bN(b=>b&&(!a.conversationId||b.conversationId===a.conversationId)?null:b);let b=a=>bK(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()})),c=a=>bP(b=>{let c,d=Date.now(),e={byNode:{...b.byNode},byResource:{...b.byResource},byResourceName:{...b.byResourceName},resourceVersion:b.resourceVersion};return a(e),{byNode:(c=a=>{let b={};for(let[c,e]of Object.entries(a))d-e.ts<4e3&&(b[c]=e);return b})(e.byNode),byResource:c(e.byResource),byResourceName:c(e.byResourceName),resourceVersion:e.resourceVersion}});if(null!=a.laneIndex)switch(bV(b=>(function(a,b,c=Date.now()){let d=b.laneIndex,e=b.laneCount;if(null==d||null==e)return a;let f=("subflow:start"===b.type||"subflow:done"===b.type)&&1===b.depth;if(f&&"subflow:start"===b.type){let f,g=b.node?.nodeId,h=a.ownerNodeId&&g&&a.ownerNodeId!==g?{}:{...a.byIndex};return cx(h,e,c),h[d]={laneIndex:d,laneCount:e,label:b.laneTitle||((f=b.subflowName||b.subflowId)?`${f} ${d+1}/${e}`:`Lane ${d+1}/${e}`),laneConversationId:b.laneConversationId??h[d]?.laneConversationId,status:"running",lastEventAt:c},{ownerNodeId:g??a.ownerNodeId,byIndex:h}}if(f&&"subflow:done"===b.type){let f={...a.byIndex};cx(f,e,c);let g=f[d];return f[d]={...g,label:g.label&&"pending"!==g.status?g.label:b.laneTitle||g.label,laneConversationId:g.laneConversationId??b.laneConversationId,status:"capped"===b.status?"completed":b.status,activity:void 0,lastEventAt:c},{ownerNodeId:a.ownerNodeId??b.node?.nodeId,byIndex:f}}let g=function(a){switch(a.type){case"node:enter":return a.node?.nodeName||a.node?.nodeId||void 0;case"tool:call":return a.name;case"tool:progress":return a.message?`${a.name} — ${a.message}`:a.name;case"subflow:start":return`↳ ${a.subflowName||a.subflowId}`;case"handoff":return`→ ${a.toNodeId}`;default:return}}(b);if(void 0===g)return a;let h=a.byIndex[d];if(h&&h.activity===g&&"pending"!==h.status||h&&("completed"===h.status||"error"===h.status))return a;let i={...a.byIndex};cx(i,e,c);let j=i[d];return i[d]={...j,status:"pending"===j.status?"running":j.status,activity:g,lastEventAt:c},{ownerNodeId:a.ownerNodeId,byIndex:i}})(b,a)),a.type){case"node:enter":if(a.node?.nodeId){let b=a.node.nodeId;c(a=>{a.byNode[b]={kind:"active",ts:Date.now()}}),bZ(a=>a.has(b)?a:new Set(a).add(b))}b({});return;case"tool:call":case"tool:progress":case"subflow:start":case"handoff":b({});return}switch(a.type){case"run:start":bK({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),bP(dv),bV(cw),bX([]),a.conversationId&&(cY(a.conversationId,"running"),cj(a.conversationId,!1));break;case"model:delta":b({}),y(b=>{if(!b||b.id!==a.conversationId)return b;let c=b.messages.findIndex(b=>b.id===a.messageId),d=c>=0?b.messages[c]:{id:a.messageId,role:"assistant",content:"",timestamp:a.timestamp,processNodeId:a.node?.nodeId};if("assistant"!==d.role)return b;let e=[...d.tool_calls??[]],f=a.toolCallDelta;if(f){let b=e[f.index];e[f.index]={id:f.id??b?.id??`pending_${a.messageId}_${f.index}`,type:"function",function:{name:`${b?.function.name??""}${f.nameDelta??""}`,arguments:`${b?.function.arguments??""}${f.argumentsDelta??""}`}}}let g={...d,content:`${"string"==typeof d.content?d.content:""}${a.delta??""}`,...a.mediaPart?{media:[...d.media??[],...(d.media??[]).some(b=>b.type===a.mediaPart?.type&&b.url===a.mediaPart?.url&&b.resourceUri===a.mediaPart?.resourceUri)?[]:[a.mediaPart]]}:{},...e.length>0?{tool_calls:e}:{}},h=[...b.messages];return c>=0?h[c]=g:h.push(g),{...b,messages:h}});break;case"model:end":b({}),a.discard&&a.messageId&&y(b=>{if(!b||b.id!==a.conversationId)return b;let c=b.messages.filter(b=>b.id!==a.messageId);return c.length===b.messages.length?b:{...b,messages:c}});break;case"message":{let c=a.message;b({}),y(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"node:changed-files":{b({});let c=a.node?.nodeId;if(!c||0===a.changedFiles.length)break;y(b=>{if(!b||b.id!==a.conversationId)return b;let d=b.messages.findLastIndex(a=>a.processNodeId===c);if(d<0)return b;let e=[...b.messages];return e[d]={...e[d],changedFiles:a.changedFiles.map(({path:a,status:b})=>({path:a,status:b}))},{...b,messages:e}});break}case"usage":bK(b=>({totalTokens:(b?.totalTokens??0)+Math.max(0,(a.totalTokens||0)-(a.cacheReadTokens||0)),activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));break;case"node:enter":if(b({activeNode:a.node?.nodeName||a.node?.nodeId||null}),a.node?.nodeId){let b=a.node.nodeId;c(a=>{a.byNode[b]={kind:"active",ts:Date.now()}}),bZ(a=>a.has(b)?a:new Set(a).add(b))}break;case"resource:read":case"resource:write":{let d="resource:read"===a.type?"read":"write";if("resource:write"===a.type&&"snapshot"===a.source&&a.snapshot&&a.node?.nodeId&&a.conversationId===F.current){let b=a.node.nodeId,c=a.snapshot.root;dh(a.conversationId),df(d=>(0,cq.aE)(d,{serverName:"filesystem",uri:"ui://devcanvas/diff",instanceKey:`snapshot::${b}::${c}`,toolName:"snapshot_diff",resultContent:JSON.stringify({snapshotDiff:{nodeId:b,nodeName:a.node?.nodeName,root:c,startSnapshot:a.snapshot?.startSnapshot,endSnapshot:a.snapshot?.endSnapshot,changedFiles:a.snapshot?.changedFiles,resourceUri:a.uri}}),updateId:a.seq},Date.now(),Number.MAX_SAFE_INTEGER).state)}c(b=>{var c,e;let f=Date.now();a.node?.nodeId&&(b.byNode[a.node.nodeId]={kind:"read"===d?"resource-read":"resource-write",ts:f}),a.server&&a.uri&&(b.byResource[c=a.server,e=a.uri,`${c} ${e}`]={kind:d,ts:f}),a.name&&(b.byResourceName[a.name]={kind:d,ts:f}),"write"===d&&(b.resourceVersion=b.resourceVersion+1)}),b({});break}case"todo:update":bX(a.todos??[]),b({});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===F.current&&aw(a.pendingToolCalls||[]),a.conversationId&&cY(a.conversationId,"awaiting_tool_approval");break;case"run:awaiting_elicitation":a.conversationId&&a.conversationId===F.current&&ay({elicitationId:a.elicitationId,message:a.message,requestedSchema:a.requestedSchema});break;case"run:awaiting_question":a.conversationId&&a.conversationId===F.current&&aA({questionId:a.questionId,questions:a.questions});break;case"breakpoint:hit":case"run:paused":Y(!1),a.conversationId&&(_(a.conversationId,!1),cY(a.conversationId,"paused_debug")),bg(!0);break;case"run:done":if(a.conversationId&&(_(a.conversationId,!1),cY(a.conversationId,a.status)),"error"===a.status&&a.error&&a.conversationId===F.current&&ag(a.error),a.conversationId===F.current&&(ay(null),aA(null)),a.conversationId&&cm.current&&a.conversationId!==cm.current)break;bK(null),bP(dv),bV(cw),Y(!1),b2(null),cX(),a.conversationId&&a.conversationId===F.current?cu(a.conversationId):cn(void 0,{silent:!0});break;case"recovery:retry":a.conversationId&&(bN({conversationId:a.conversationId,attempt:a.attempt,maxAttempts:a.maxAttempts,retryAt:a.retryAt}),cY(a.conversationId,"running")),b({});break;case"error":ae(a.message||e("chat.page.executionError")),ag(a.error??{message:a.message||e("chat.page.executionError")});break;default:b({})}},[cX,cu,cn,_,cY,cj,e]),c$=(0,aG.useCallback)((a,b)=>(cX(),b7.current=void 0!==b?b-1:-1,bV(cw),new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};try{b5.current=b0.O.subscribeToEvents(a,{onEvent:cZ,onOpen:e},b),setTimeout(e,1500)}catch(b){ij.error("Failed to open execution event stream",{conversationId:a,err:b}),e()}})),[cZ,cX]);(0,aG.useEffect)(()=>{if(D&&cz?.status==="running"&&cm.current!==D){if(cg.current.has(D))return void ij.debug("Skipping re-attach to a conversation the user just stopped",{conversationId:D});ij.info("Re-attaching to in-progress run",{conversationId:D}),cm.current=D,Y(!0),b2(D),_(D,!0),bK(a=>a??{totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),c$(D,0)}},[D,cz?.status,c$]);let c_=async a=>{ij.debug("Attempting to delete conversation",{conversationId:a}),ae(null),ag(null),cf.current.add(a);let b=cc.current.delete(a);cm.current===a&&(cX(),Y(!1),b2(null),bK(null),bV(cw),bN(null)),_(a,!1),ab(b=>cr(b,a));let c=k.filter(b=>b.id!==a);l(c);let d=D;D===a&&(c.length>0?(d=c[0].id,ij.debug("Deleted current conversation, selecting next most recent",{nextSelectionId:d})):(d=null,ij.debug("Deleted last conversation, clearing selection")),U(d));try{await b0.O.deleteConversation(a),ij.info("Successfully deleted conversation on backend",{conversationId:a}),b||(v.current=Math.max(0,v.current-1),w({...u.current,total:Math.max(0,u.current.total-1)}))}catch(c){ij.error("Error deleting conversation:",{conversationId:a,err:c}),ae(e("chat.page.deleteFailed",{id:a})),cf.current.delete(a),b&&cc.current.add(a),l(k),U(D)}},c0=async a=>{if(!a.length)return;ae(null),ag(null);let b=new Set(a),c=new Set(a.filter(a=>cc.current.has(a))),d=k.filter(a=>b.has(a.id)&&!c.has(a.id)).length;a.forEach(a=>cf.current.add(a)),a.forEach(a=>cc.current.delete(a));let f=F.current;f&&b.has(f)&&cm.current===f&&(cX(),Y(!1),b2(null),bK(null),bV(cw),bN(null)),a.forEach(a=>{_(a,!1),ab(b=>cr(b,a))}),l(a=>a.filter(a=>!b.has(a.id))),f&&b.has(f)&&U(null);try{let b=await b0.O.deleteConversations(a);ij.info("Bulk delete succeeded",{requested:a.length,...b}),v.current=Math.max(0,v.current-d);let e=a.length-c.size;w({...u.current,total:Math.max(0,u.current.total-Math.min(b.deleted,e))})}catch(b){ij.error("Bulk delete failed",{err:b}),ae(e("chat.page.bulkDeleteFailed")),a.forEach(a=>cf.current.delete(a)),c.forEach(a=>cc.current.add(a)),l(k),U(D)}},c3=async a=>{if(ij.debug("Flow selected, attempting to update",{flowId:a,currentConversationId:D}),ae(null),ag(null),!D){ij.warn("Cannot update flow: No conversation selected."),ae(e("chat.page.selectFirst"));return}x&&x.id===D&&y({...x,flowId:a,updatedAt:Date.now()}),l(b=>b.map(b=>b.id===D?{...b,flowId:a,updatedAt:Date.now()}:b).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)));try{let b=await b0.O.updateConversationFlow(D,a);ij.info("Successfully updated flowId on backend",{conversationId:D,flowId:a}),y(a=>a&&a.id===D?(ij.debug("Confirming detailedConversation update from server response",{conversationId:D,flowId:b.flowId}),{...a,flowId:b.flowId,updatedAt:b.updatedAt}):(ij.debug("Skipping detailedConversation update, ID mismatch or null state",{currentDetailedId:a?.id,targetId:D}),a)),l(a=>a.map(a=>a.id===D?b:a).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))}catch(c){ij.error("Error updating flowId on backend:",{conversationId:D,flowId:a,err:c});let b=e("chat.page.updateAgentFailed");c instanceof b0.b?b+=` (${c.body?.error||c.message})`:c instanceof Error&&(b+=` (${c.message})`),ae(b),y(x),l(k)}},c4=()=>{as(x?.title??cz?.title??""),aq(!0)},c5=async()=>{if(aq(!1),!D)return;let a=x?.title??cz?.title??"",b=ar.trim().slice(0,200);if(b&&b!==a){y(a=>a&&a.id===D?{...a,title:b}:a),l(a=>a.map(a=>a.id===D?{...a,title:b}:a));try{let a=await b0.O.updateConversationTitle(D,b);y(b=>b&&b.id===D?{...b,title:a.title}:b),l(b=>b.map(b=>b.id===D?{...b,title:a.title}:b))}catch(b){ij.warn("Failed to rename conversation",{conversationId:D,err:b}),y(b=>b&&b.id===D?{...b,title:a}:b),l(b=>b.map(b=>b.id===D?{...b,title:a}:b)),ae(e("chat.page.renameFailed"))}}},c6=async(a,b=[],c)=>{let d;if(!a.trim()&&0===b.length)return;if(!x){ij.error("Cannot send message, detailed conversation not loaded."),ae(e("chat.page.detailsMissing"));return}if(!c?.fromQueue&&Z.has(x.id)){let c=x.id;if(0!==b.length||aD){let d={id:(0,ek.A)(),content:a,attachments:b,nodeOverride:aD??null,timestamp:Date.now()};ab(a=>{var b,e,f;return b=a,e=c,f=d,{...b,[e]:[...b[e]??[],f]}}),aE(null),ij.debug("Run in progress — queued message (not steerable)",{conversationId:c,queuedId:d.id,reason:b.length>0?"attachments":"node-override"});return}{let b=(0,ek.A)(),{delivered:d}=await b0.O.injectMessage(c,a,b);if(d){let d={id:b,role:"user",content:a,timestamp:Date.now()};cW({...x,messages:[...x.messages,d]}),ij.debug("Run in progress — injected steering message into the live run",{conversationId:c,messageId:b});return}ij.debug("Steering rejected (run no longer live) — sending as a normal turn",{conversationId:c})}}ij.debug("Sending message",{conversationId:x.id,contentLength:a.length,attachmentsCount:b.length});let f=x.messages,g=!f.some(a=>"user"===a.role),h=x.flowId,i=c?.fromQueue?c.nodeOverride??null:aD;if(i)d=i,c?.fromQueue||aE(null),ij.debug(`Assigning manually picked node ID to user message: ${d}`);else if(g){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`Assigning start node ID to first user message: ${d}`)):ij.warn(`Could not find start node for flow ${h}. User message will not have a processNodeId.`)}else if(cz?.status==="error"){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`Post-error message: re-driving turn from start node ID: ${d}`)):ij.warn(`Could not find start node for post-error message in flow ${h}. User message will not have a processNodeId.`)}else{for(let a=f.length-1;a>=0;a--){let b=f[a];if("assistant"===b.role&&b.processNodeId){d=b.processNodeId,ij.debug(`Assigning last assistant node ID to user message: ${d}`);break}}if(!d){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`No prior assistant node ID found, falling back to start node ID: ${d}`)):ij.warn(`Could not find start node for fallback in flow ${h}. User message will not have a processNodeId.`)}}let j={id:(0,ek.A)(),role:"user",content:a,timestamp:Date.now(),attachments:b.length>0?b:void 0,processNodeId:d},k={...x,messages:[...x.messages,j]};cW(k),k.flowId?await c9(k):(ae(e("chat.page.chooseAgent")),y(x))},c7=(0,aG.useCallback)((a,b)=>{ij.verbose("Handling API response data",JSON.stringify(a)),_(b,"running"===a.status);let c=cm.current===b,d=F.current===b;if("paused_debug"===a.status&&a.debugState)return(ij.info("API Response: Paused for debugging",{conversationId:b}),d)?(bi(a.debugState),bg(!0),bk(!0),Y(!1),b2(null),cX(),c8(),y(c=>c?.id===b&&a.debugState.messages&&JSON.stringify(c.messages)!==JSON.stringify(a.debugState.messages)?(ij.debug("Updating detailed conversation messages from debug state"),{...c,messages:a.debugState.messages,updatedAt:a.debugState.updatedAt}):c),l(c=>c.map(c=>c.id===b?{...c,title:a.debugState.title??c.title,flowId:a.debugState.flowId??c.flowId,status:"paused_debug",updatedAt:a.debugState.updatedAt}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))):(cY(b,"paused_debug"),c&&(Y(!1),b2(null),cX(),c8())),!0;if(("completed"===a.status||"error"===a.status)&&d?(ij.info(`API Response: Execution completed or errored (Status: ${a.status}). Hiding debugger panel.`,{conversationId:b}),bm(!1),bo(!1),au(!1),bg(!1),bi(null),bk(!1),b_([])):ij.debug(`API Response: Status is '${a.status}'. Debugger panel visibility unchanged (currently ${a7?"visible":"hidden"}).`,{conversationId:b}),a.messages&&a.conversation_id===b){let c=a.messages.map((a,c)=>"number"!=typeof a.timestamp||isNaN(a.timestamp)?(ij.warn(`Invalid timestamp found in message index ${c} from API response. Defaulting to Date.now().`,{conversationId:b,messageId:a.id,invalidTimestamp:a.timestamp}),{...a,timestamp:Date.now()}):a);y(d=>{let e=d;return d?.id===b&&JSON.stringify(d.messages)!==JSON.stringify(c)&&(ij.info("API Response/Polling: Updating detailed conversation messages",{conversationId:b,newMessageCount:c.length}),e={...d,messages:c,updatedAt:a.updatedAt||d.updatedAt}),ij.debug("Polling: setDetailedConversation callback executed.",{conversationId:b,messagesChanged:e!==d,newMessageCount:e?.messages?.length??"N/A"}),e})}if("awaiting_tool_approval"===a.status)ij.info("API Response/Polling: Pausing for tool approval",{conversationId:b}),d&&aw(a.pendingToolCalls||[]),c&&(Y(!1),b2(null),cX(),c8());else if("completed"===a.status||"error"===a.status){if(ij.info("API Response/Polling: Stopping due to final status",{conversationId:b,status:a.status}),c&&(c8(),Y(!1),b2(null),cX()),"error"===a.status){let f=a.error?.message||a.lastResponse?.error||e("chat.page.unknownExecutionError");io.test(f)||cg.current.has(b)?(cj(b,!0),(c||d)&&ae(null),ag(null),ij.info("API Response/Polling: Execution cancelled by user",{conversationId:b})):(ae(f),ij.error("API Response/Polling: Execution resulted in error",{conversationId:b,error:a.error||a.lastResponse}))}cu(b)}else"running"!==a.status||a7?d&&aw(null):(d&&aw(null),c&&!b4.current&&Y(!0));return a.conversation_id===b&&l(c=>c.map(c=>c.id===b?{...c,title:a.title??c.title,flowId:a.flowId??c.flowId,status:a.status??c.status,updatedAt:a.updatedAt||c.updatedAt}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),!1},[y,aw,Y,ae,bg,bi,l,cu,cX,_,cY,cj,e]),c8=()=>{b4.current&&(ij.debug("Stopping polling interval"),clearInterval(b4.current),b4.current=null)};(0,aG.useEffect)(()=>()=>{cX()},[cX]);let c9=async a=>{if(!a?.id||!a.flowId||!b3.current)return ij.error("Cannot send to completions: Missing conversation ID or flow ID.",{id:a?.id,flowId:a?.flowId}),ae(e("chat.page.agentMissing")),!1;aw(null),ae(null),ag(null),Y(!0),b2(a.id),_(a.id,!0),cY(a.id,"running"),cj(a.id,!1);let b=cc.current.delete(a.id);bK({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await c$(a.id);let c=!1;try{let b,d,e,f;if(bM(a.flowId))b="flow-Quick Chat",ij.debug("Sending quick chat to completions",{flowId:a.flowId,conversationId:a.id});else{let c=await ds.g.getFlow(a.flowId);if(!c)throw Error(`Flow with ID ${a.flowId} not found`);b=`flow-${c.name}`,ij.debug("Sending to chat completions",{flowId:a.flowId,flowName:c.name,conversationId:a.id})}let g=a.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=il(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,toolPayloads:a.toolPayloads,...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,toolPayloads:a.toolPayloads,...d,processNodeId:c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...d,processNodeId:c}:{role:"user",content:b,...d,processNodeId:c}}),h=await b3.current.chat.completions.create({model:b,messages:g,stream:!1,metadata:(d=cb.current.get(a.id),e={flujo:"true",requireApproval:an?"true":void 0,flujodebug:at?"true":void 0,conversationId:a.id,compactToolPayloads:"true",mcpAppContexts:void 0===d?void 0:JSON.stringify(d)},f={},e.flujo&&(f.flujo=e.flujo),e.requireApproval&&(f.requireApproval=e.requireApproval),e.flujodebug&&(f.flujodebug=e.flujodebug),e.conversationId&&(f.conversationId=e.conversationId),e.compactToolPayloads&&(f.compactToolPayloads=e.compactToolPayloads),void 0!==e.mcpAppContexts&&(f.mcpAppContexts=e.mcpAppContexts),f)});ij.debug("Chat completion initial response received",{completionId:h.id}),c=!0;let i={...h,status:h.status||"completed",conversation_id:a.id,messages:h.messages||a.messages,pendingToolCalls:h.pendingToolCalls,debugState:h.debugState,error:h.error,lastResponse:h.lastResponse,updatedAt:h.updatedAt||Date.now()},j=c7(i,a.id);j||b4.current?j&&ij.debug("Debug state handled, polling remains stopped."):ij.debug("Starting polling after initial non-debug response.")}catch(e){if(ip(e)||cg.current.has(a.id))return ij.info("Chat completion cancelled by user",{conversationId:a.id}),c=!1,_(a.id,!1),cj(a.id,!0),cm.current===a.id&&(c8(),Y(!1),b2(null),cX(),ae(null),ag(null)),c;ij.error("Error calling chat completions API:",e),c=!1;let d="An error occurred while sending the message.";if(e instanceof er)d=`API Error: ${e.message} (Status: ${e.status})`,e.code&&(d+=` (Code: ${e.code})`),e.type&&(d+=` [Type: ${e.type}]`),ij.verbose("APIError details",JSON.stringify(e));else if(e instanceof eq){d=`OpenAI Error: ${e.message}`;let a=e.error;a&&"object"==typeof a&&(a.code&&(d+=` (Code: ${a.code})`),a.type&&(d+=` [Type: ${a.type}]`)),ij.verbose("OpenAIError details",JSON.stringify(e))}else e instanceof b0.b?(d=`Error: ${e.body?.error||e.message}`,e.status&&(d+=` (Status: ${e.status})`),ij.verbose("ChatApiError details",JSON.stringify(e.body))):e instanceof Error&&(d=e.message);ae(d),_(a.id,!1),cm.current===a.id&&(c8(),Y(!1),b2(null),cX()),b&&cc.current.add(a.id)}finally{}return c},da=(0,aG.useRef)(c6);da.current=c6;let dc=(0,aG.useCallback)(a=>!!D&&F.current===D&&(da.current(a),!0),[D]),dd=(0,aG.useCallback)((a,b)=>{if(!D||F.current!==D)return!1;let c={...cb.current.get(D)??{}};return(void 0===b.content&&void 0===b.structuredContent?delete c[a]:c[a]=b,(0,cl.Yw)(c)>cl.uJ)?(ij.warn("Rejected oversized aggregate MCP App model context",{conversationId:D,appKey:a}),!1):(cb.current.set(D,c),!0)},[D]),[de,df]=(0,aG.useState)(cq.zs),[dg,dh]=(0,aG.useState)(D),[di,dj]=(0,aG.useState)({placement:"bottom",reservedWidth:0,reservedHeight:0}),dk=(0,aG.useCallback)(a=>{dj(b=>b.placement===a.placement&&b.reservedWidth===a.reservedWidth&&b.reservedHeight===a.reservedHeight?b:a)},[]),dl=(0,aG.useRef)(new Set),dm=(0,aG.useCallback)((a,b,c)=>{let d=`${a}\u0000${b}`;c?S.current.set(d,c):S.current.delete(d)},[]),dn=(0,aG.useCallback)((a,b)=>{D&&dm(D,a,b)},[D,dm]),dp=(0,aG.useCallback)(a=>{let b=F.current;if(!b)return;let c=(0,cq.cb)(a.serverName,a.uri);(0,cq.h)({automatic:!!a.automatic,dismissed:ie(b).includes(c),suppressed:ii(b),healthy:a.healthy})&&(a.automatic||(M(b,c,!1),R(b,!1)),dh(b),df(b=>{let{state:c}=(0,cq.aE)(b,a,Date.now(),Number.MAX_SAFE_INTEGER);return c}))},[R,M]),dq=(0,aG.useCallback)(a=>{let b=F.current;b&&(a?(ig(b,(0,cq.dd)(de).map(a=>a.key),!0),R(b,!0)):R(b,!1))},[de,R]),dr=(0,aG.useCallback)(()=>{let a=F.current;if(!a)return;let b=(0,cq.dd)(de).map(a=>a.key);0===b.length||(ig(a,b,!0),R(a,!0),Promise.allSettled(b.map(b=>{let c=S.current.get(`${a}\0${b}`);return c?c():Promise.resolve()})).finally(()=>{F.current===a&&df(a=>{let c=a;for(let a of b)c=(0,cq.o4)(c,a);return c})}))},[de,R]),dt=(0,aG.useCallback)(a=>{df(b=>(0,cq.Az)(b,a))},[]),du=(0,aG.useCallback)(a=>{if(!D)return;M(D,a,!0);let b=S.current.get(`${D}\u0000${a}`),c=()=>{F.current===D&&df(b=>(0,cq.o4)(b,a))};b?b().finally(c):c()},[D,M]);(0,aG.useEffect)(()=>{dh(D),df(cq.zs),dj({placement:"bottom",reservedWidth:0,reservedHeight:0})},[D]);let dw=de.order.join("|");(0,aG.useEffect)(()=>{let a=x?.messages;if(!a||!x||x.id!==D||dg!==D)return;let b=new Map;for(let c of a)if("assistant"===c.role&&Array.isArray(c.tool_calls))for(let a of c.tool_calls)"function"===a.type&&a.id&&b.set(a.id,a);let c=new Map;for(let d of a){let a=d.ui;if("tool"===d.role&&a?.uri&&a?.serverName&&"string"==typeof d.content){let e="string"==typeof d.tool_call_id?b.get(d.tool_call_id):void 0,f={serverName:a.serverName,uri:a.uri,toolName:a.toolName??(e?.type==="function"?e.function.name:void 0),toolArgs:a.toolArgs??(e?.type==="function"?e.function.arguments:void 0),resultContent:d.content,cancelledReason:a.cancelledReason,isError:a.isError,updateId:d.id};c.set(`${a.serverName}::${a.uri}`,f)}}df(a=>{let b=a;for(let a of b.order){let d=b.entries[a],e=c.get(a);d&&e&&(e.updateId!==d.latestToolUpdateId||e.toolArgs!==d.latestToolArgs||void 0===e.cancelledReason&&e.resultContent!==d.latestResultContent||e.cancelledReason!==d.latestToolCancelledReason||e.isError!==d.latestToolIsError)&&(b=(0,cq.hx)(b,e))}return b})},[dw,dg,D,x?.id,x?.messages]),(0,aG.useEffect)(()=>{if(!D||dg!==D||de.order.length<=cq.Yb)return;let{evicted:a}=(0,cq.lR)(de,cq.Yb,de.activeKey??void 0);for(let b of a){let a=`${D}\u0000${b}`;if(dl.current.has(a))continue;dl.current.add(a),ij.info(`Canvas tab cap reached — gracefully evicting (LRU): ${b}`);let c=S.current.get(a);(c?c():Promise.resolve()).finally(()=>{dl.current.delete(a),F.current===D&&df(a=>(0,cq.o4)(a,b))})}},[de,dg,D]);let dx=async(a,b,c)=>{if(!x)return;ij.debug("Editing message",{messageId:a,contentLength:b.length,processNodeId:c});let d=x.messages.findIndex(b=>b.id===a);if(-1===d)return;let f={...x.messages[d],content:b,timestamp:Date.now(),processNodeId:c||void 0},g=[...x.messages.slice(0,d),f],h={...x,messages:g};if(cW(h),h.flowId){let a=cb.current.get(h.id),b={flujo:"true",requireApproval:an?"true":void 0,flujodebug:at?"true":void 0,conversationId:h.id,processNodeId:c||void 0,mcpAppContexts:void 0===a?void 0:JSON.stringify(a)};if(!b3.current)return;ae(null),ag(null),Y(!0),b2(h.id),_(h.id,!0),cj(h.id,!1),bK({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await c$(h.id);try{let a,c=await ds.g.getFlow(h.flowId);if(!c)throw Error(`Flow with ID ${h.flowId} not found`);let d=h.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=il(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,toolPayloads:a.toolPayloads,...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,toolPayloads:a.toolPayloads,...c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...c}:{role:"user",content:b,...c}}),e=await b3.current.chat.completions.create({model:`flow-${c.name}`,messages:d,stream:!1,metadata:(a={},b.flujo&&(a.flujo=b.flujo),b.requireApproval&&(a.requireApproval=b.requireApproval),b.flujodebug&&(a.flujodebug=b.flujodebug),b.conversationId&&(a.conversationId=b.conversationId),a.compactToolPayloads="true",b.processNodeId&&(a.processNodeId=b.processNodeId),void 0!==b.mcpAppContexts&&(a.mcpAppContexts=b.mcpAppContexts),a)}),f={...e,status:e.status||"completed",conversation_id:h.id,messages:e.messages||h.messages,pendingToolCalls:e.pendingToolCalls,debugState:e.debugState,error:e.error,updatedAt:e.updatedAt||Date.now()};c7(f,h.id)}catch(a){ip(a)||cg.current.has(h.id)?(ij.info("Edited-message run cancelled by user",{conversationId:h.id}),cj(h.id,!0)):(ij.error("Error sending edited message:",a),ae(a instanceof Error?a.message:e("chat.page.sendEditedFailed"))),_(h.id,!1),cm.current===h.id&&(Y(!1),b2(null),cX())}}},dy=(0,aG.useCallback)(a=>{let b=x?.messages.find(b=>b.id===a);b&&"user"===b.role&&"string"==typeof b.content&&aI({messageId:a,content:b.content,nodeId:b.processNodeId??cD[0]?.id??null})},[x,cD]),dz=(0,aG.useCallback)(a=>{aI(b=>b?{...b,content:a}:b)},[]),dA=(0,aG.useCallback)(a=>{aI(b=>b?{...b,nodeId:a}:b)},[]),dB=(0,aG.useCallback)(()=>aI(null),[]),dC=(a,b="head")=>{var c;if(!x)return;ij.debug("Splitting conversation at message",{messageId:a,half:b});let d=x.messages.findIndex(b=>b.id===a);if(-1===d)return;let f=(c=x.messages,"head"===b?c.slice(0,d+1):function(a,b){let c=a.slice(0,b).filter(a=>"system"===a.role),d=new Set,e=[];for(let c of a.slice(b)){if("assistant"===c.role&&Array.isArray(c.tool_calls))for(let a of c.tool_calls)a?.id&&d.add(a.id);("tool"!==c.role||!c.tool_call_id||d.has(c.tool_call_id))&&e.push(c)}return[...c,...e]}(c,d));if(0===f.length)return void ij.debug("Split produced no messages — ignoring",{messageId:a,half:b});let g=(0,ek.A)(),h={id:g,title:e("head"===b?"chat.page.splitTitle":"chat.page.splitTailTitle",{title:x.title}),messages:f,flowId:x.flowId,createdAt:Date.now(),updatedAt:Date.now()},i={id:g,title:h.title,flowId:h.flowId,createdAt:h.createdAt,updatedAt:h.updatedAt};cc.current.add(g),l(a=>[i,...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(g),y(h),A(!1),C(null)},dD=async(a,b,c,d)=>{if(D){ij.info(`Handling tool response: ${a}`,{conversationId:D,toolCallId:b,always:c}),aw(null),Y(!0),b2(D),_(D,!0),cY(D,"running"),ae(null),ag(null),await c$(D);try{let e=await b0.O.respondToToolCall(D,a,b,c,d);ij.debug("Tool response successful",{conversationId:D,action:a,toolCallId:b}),c7(e,D)}catch(d){if(ip(d)||cg.current.has(D)){ij.info("Tool-response resume cancelled by user",{conversationId:D}),cj(D,!0),cm.current===D&&Y(!1),_(D,!1);return}ij.error(`Error sending tool response (${a})`,{conversationId:D,toolCallId:b,err:d});let c="approve"===a?e("chat.page.approveFailed"):e("chat.page.rejectFailed");d instanceof b0.b?c+=` (${d.body?.error||d.message})`:d instanceof Error&&(c+=` (${d.message})`),ae(c),cm.current===D&&Y(!1),_(D,!1)}}},dE=async a=>{if(D){ij.info("Cancelling single tool call",{conversationId:D,toolCallId:a});try{await b0.O.cancelToolCall(D,a)}catch(b){ij.warn("Failed to cancel tool call",{conversationId:D,toolCallId:a,err:b})}}},dF=async(a,b)=>{if(D){ij.info("Submitting elicitation form",{conversationId:D,elicitationId:a}),ay(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"elicitation-submit",elicitationId:a,content:b})})}catch(b){ij.error("Failed to submit elicitation",{conversationId:D,elicitationId:a,err:b})}}},dG=async a=>{if(D){ij.info("Cancelling elicitation",{conversationId:D,elicitationId:a}),ay(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"elicitation-cancel",elicitationId:a})})}catch(b){ij.error("Failed to cancel elicitation",{conversationId:D,elicitationId:a,err:b})}}},dH=async(a,b)=>{if(D){ij.info("Answering question",{conversationId:D,questionId:a}),aA(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"question-answer",questionId:a,answers:b})})}catch(b){ij.error("Failed to answer question",{conversationId:D,questionId:a,err:b})}}},dI=async a=>{if(D){ij.info("Declining question",{conversationId:D,questionId:a}),aA(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"question-decline",questionId:a})})}catch(b){ij.error("Failed to decline question",{conversationId:D,questionId:a,err:b})}}},dJ=async()=>{if(D&&a7){ij.info("Handling debug step request",{conversationId:D}),Y(!0),b2(D),_(D,!0),ae(null),ag(null),await c$(D);try{let a=await b0.O.debugStep(D);c7(a,D)}catch(a){ij.error("Error during debug step API call",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.debugStepFailed")),Y(!1),_(D,!1),bg(!1),bi(null)}finally{}}},dK=async()=>{if(D&&a7){ij.info("Handling debug continue request",{conversationId:D}),Y(!0),b2(D),_(D,!0),cY(D,"running"),ae(null),ag(null),bm(!1),bo(!1),au(!1),bg(!1),bi(null),bk(!1),b_([]),await c$(D);try{let a=await b0.O.debugContinue(D);c7(a,D)}catch(a){ij.error("Error during debug continue API call",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.debugContinueFailed")),Y(!1),_(D,!1)}finally{}}};(0,aG.useEffect)(()=>{bh&&b_(bh.breakpoints??[])},[bh]);let dL=(0,aG.useCallback)(async a=>{if(D){b_(a);try{await b0.O.setBreakpoints(D,a)}catch(a){ij.error("Failed to update breakpoints",{conversationId:D,err:a}),b_(b$)}}},[b$,D]),dM=(0,aG.useCallback)(async a=>{if(!D)return;let b=b$.includes(a)?b$.filter(b=>b!==a):[...b$,a];b_(b);try{await b0.O.setBreakpoints(D,b)}catch(a){ij.error("Failed to update breakpoints",{conversationId:D,err:a}),b_(b$)}},[b$,D]),dN=(0,aG.useCallback)(async()=>{if(D){ij.info("Attaching debugger to running conversation",{conversationId:D}),bo(!0);try{await b0.O.attachDebugger(D)}catch(a){ij.error("Failed to attach debugger",{conversationId:D,err:a}),bo(!1),ae(a instanceof Error?a.message:e("chat.page.attachDebuggerFailed"))}}},[D,e]),dO=(0,aG.useCallback)(()=>{bl||bj||a7?b6.current?.():(bm(!0),au(!0),(X&&b1===D||D&&Z.has(D)||cz?.status==="running")&&D&&(b5.current||c$(D),dN()))},[bl,bj,a7,X,b1,D,Z,cz?.status,dN,c$]),dP=async()=>{if(!D||!a7)return;let a=bh?.currentNodeId;Y(!0),b2(D),_(D,!0),ae(null),ag(null),await c$(D);try{for(let b=0;b<50;b++){let b=await b0.O.debugStep(D),c=b?.status??b?.debugState?.status,d=b?.debugState?.currentNodeId;if("paused_debug"!==c||d&&d!==a)return void c7(b,D)}ij.warn("Step Over hit iteration cap",{conversationId:D}),Y(!1),_(D,!1)}catch(a){ij.error("Error during step over",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.stepOverFailed")),Y(!1),_(D,!1)}},dQ=async()=>{if(D){ij.info("Cancelling request",{conversationId:D}),c8(),Y(!1),b2(null),_(D,!1),cj(D,!0),bm(!1),bo(!1),au(!1),bg(!1),bi(null),bk(!1),b_([]),cX(),aw(null),bN(null),ae(null),ag(null);try{await b0.O.cancel(D),ij.debug("Cancel request sent successfully",{conversationId:D}),await cu(D)}catch(a){ij.error("Error sending cancel request",{conversationId:D,err:a}),ae(e("chat.page.cancelFailed"))}}},dR=async a=>{if(a===D)return void await dQ();ij.info("Stopping background conversation",{conversationId:a}),cj(a,!0);try{await b0.O.cancel(a),_(a,!1),await cn(void 0,{silent:!0})}catch(b){ij.error("Error stopping background conversation",{conversationId:a,err:b}),ae(e("chat.page.cancelFailed"))}},dS=async a=>{if(D&&!aj){ak(a),ae(null),ag(null);try{let b=await b0.O.retrySubflowRecovery(D,a);b.failed.length>0?ae(b.failed.map(a=>a.error).join("\n")):cj(D,!1),await Promise.all([cu(D),cn(void 0,{silent:!0})]);try{ai(await b0.O.getSubflowRecoveryOptions(D))}catch{ai(null)}}catch(b){ij.error("Subflow recovery failed",{conversationId:D,scope:a,err:b}),ae(b instanceof Error?b.message:e("chat.page.recoveryFailed"))}finally{ak(null)}}},dT=(0,aG.useCallback)(async()=>{if(ij.info("Closing debugger panel (detach)",{conversationId:D,wasPaused:a7}),bm(!1),bo(!1),au(!1),bg(!1),bi(null),bk(!1),D){try{await b0.O.setBreakpoints(D,[]),b_([])}catch(a){ij.error("Failed to clear breakpoints while detaching",{conversationId:D,err:a})}if(a7){Y(!0),b2(D),_(D,!0),cY(D,"running"),await c$(D);try{let a=await b0.O.debugContinue(D);c7(a,D)}catch(a){ij.error("Failed to resume run while detaching the debugger",{conversationId:D,err:a}),Y(!1),_(D,!1),ae(a instanceof Error?a.message:e("chat.page.debugContinueFailed"))}}}},[D,a7,c$,c7,_,e]);(0,aG.useEffect)(()=>{b6.current=dT},[dT]),(0,aG.useEffect)(()=>{if(!D||!bl&&!bj||bh||!(a7||cz?.status==="paused_debug"))return;let a=!1;return(async()=>{try{let b=await b0.O.getDebugState(D);if(a||!b?.debugState)return;bi(b.debugState),bk(!0),bg(!0),bo(!1),b_(b.breakpoints??[])}catch(a){ij.error("Failed to hydrate debug state",{conversationId:D,err:a})}})(),()=>{a=!0}},[D,bl,bj,bh,a7,cz?.status]),ij.debug("Rendering Chat component",{currentConversationId:D,isHandleEditMessageDefined:!0});let dU=(bl||bj||a7)&&!!D,dV=bn?"attaching":"armed",dW=cz?.status==="awaiting_tool_approval"||!!av,dX=!(dW||cz?.status==="paused_debug")&&(X&&b1===D||!!D&&Z.has(D)||cz?.status==="running"),dY=!dX&&!!D&&ch.has(D);(0,aG.useEffect)(()=>{var a;if(!D||ac.current||!x||x.id!==D)return;let b=(aa[D]??[])[0];if(!b||!(!(a={running:Z.has(D),pendingApproval:!!av,debugPaused:a7,hasError:cz?.status==="error",stopped:dY}).running&&!a.pendingApproval&&!a.debugPaused&&!a.hasError&&!a.stopped))return;ac.current=!0;let c=setTimeout(async()=>{try{ab(a=>cs(a,D,b.id)),await c6(b.content,b.attachments,{fromQueue:!0,nodeOverride:b.nodeOverride,queuedId:b.id})}catch{ab(a=>{var c,d,e;let f;return c=a,d=D,e=b,f=(c[d]??[]).filter(a=>a.id!==e.id),{...c,[d]:[e,...f]}})}finally{ac.current=!1}},0);return()=>clearTimeout(c)},[D,x,aa,Z,av,a7,cz?.status,dY]);let dZ=ik(c_),d$=ik(c0),d_=ik(dR),d0=ik(cG),d1=(0,aG.useCallback)(()=>cU(!0),[]),d2=ah?(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:.5,flexWrap:"wrap",justifyContent:"flex-end"},children:[(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"branch"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(a4.A,{}),disabled:!!aj||!ah.canRetryBranch,onClick:()=>void dS("branch"),children:e("chat.page.recoverBranch")}),ah.canRetrySiblings&&(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"siblings"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(bc.A,{}),disabled:!!aj,onClick:()=>void dS("siblings"),children:e("chat.page.recoverLevel",{count:ah.incompleteSiblingCount})}),ah.canRetryDeepest&&ah.deepestFailedCount>1&&(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"deepest"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(bb.A,{}),disabled:!!aj,onClick:()=>void dS("deepest"),children:e("chat.page.recoverLeaves",{count:ah.deepestFailedCount})})]}):null,d3=m?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:2},children:(0,aF.jsx)(ej.default,{size:"medium",color:"primary"})}):q?(0,aF.jsx)(aO.A,{severity:"error",sx:{m:2},children:q}):(0,aF.jsx)(b8,{conversations:k,totalConversations:s.total+cc.current.size,hasMoreConversations:s.hasMore,isLoadingMore:o,onLoadMore:co,onLoadAll:ct,flowNames:cA,currentConversationId:D,revealRequest:cI,onSelectConversation:bH,onDeleteConversation:dZ,onBulkDelete:d$,onStopConversation:d_,onNewConversation:d0,onQuickChat:d1,onCollapse:bG,collapsed:bF});return(0,aF.jsxs)(aL.default,{sx:{display:"flex",height:`calc(
14
+ ${gj(a)}`);return{...h,id:g||`call_${en()}`,type:f,function:{...k,name:j,arguments:i}}})}}:{...g,message:{...m,...o,content:i,role:p,refusal:b.refusal??null},finish_reason:n,index:e,logprobs:f}}),created:g,model:h,object:"chat.completion",...i?{system_fingerprint:i}:{}},b&&f5(b)?f4(d,b):{...d,choices:d.choices.map(a=>(f6(a.message.tool_calls),{...a,message:{...a.message,parsed:null,...a.message.tool_calls?{tool_calls:a.message.tool_calls}:void 0}}))}}(a,em(this,K,"f"),b)},U=function(){let a=em(this,K,"f")?.response_format;return f2(a)?a:null},V=function(a){var b,c,d,e,f;let g=em(this,N,"f"),{choices:h,...i}=a;for(let{delta:h,finish_reason:j,index:k,logprobs:l=null,...m}of(g?a.id&&Object.assign(g,i):g=el(this,N,{...i,choices:[]},"f"),a.choices)){let a=g.choices[k];if(a||(a=g.choices[k]={finish_reason:j,index:k,message:{},logprobs:l,...m}),l)if(a.logprobs){let{content:d,refusal:e,...f}=l;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({},l);if(j&&(a.finish_reason=j,em(this,K,"f")&&f5(em(this,K,"f")))){if("length"===j)throw new eD;if("content_filter"===j)throw new eE}if(Object.assign(a,m),!h)continue;em(this,L,"f").delete(k);let{audio:i,content:n,refusal:o,function_call:p,role:q,tool_calls:r,...s}=h;if(Object.assign(a.message,s),i?.expires_at!=null&&null==i.id&&null==i.data&&null==i.transcript&&null==n&&null==o&&null==p&&null==q&&null==r&&0===Object.keys(s).length&&em(this,L,"f").add(k),o&&(a.message.refusal=(a.message.refusal||"")+o),q&&(a.message.role=q),i){let b=(d=a.message).audio??(d.audio={});null!=i.id&&(b.id=i.id),null!=i.data&&(b.data=(b.data??"")+i.data),null!=i.transcript&&(b.transcript=(b.transcript??"")+i.transcript),null!=i.expires_at&&(b.expires_at=i.expires_at)}if(p&&(a.message.function_call?(p.name&&(a.message.function_call.name=p.name),p.arguments&&((e=a.message.function_call).arguments??(e.arguments=""),a.message.function_call.arguments+=p.arguments)):a.message.function_call=p),n&&(a.message.content=(a.message.content||"")+n,!a.message.refusal&&em(this,J,"m",U).call(this)&&(a.message.parsed=a.message.content.trim()?gg(a.message.content):null)),r)for(let{index:b,id:c,type:d,function:e,...g}of(a.message.tool_calls||(a.message.tool_calls=[]),r)){let h=(f=a.message.tool_calls)[b]??(f[b]={});Object.assign(h,g),c&&(h.id=c),d&&(h.type=d),e&&(h.function??(h.function={name:e.name??"",arguments:""})),e?.name&&(h.function.name=e.name),e?.arguments&&(h.function.arguments+=e.arguments,function(a,b){if(!a||!("tools"in a)||!a.tools)return!1;let c=a.tools?.find(a=>f1(a)&&a.function?.name===b.function.name);return f1(c)&&(f3(c)||c?.function.strict||!1)}(em(this,K,"f"),h)&&(h.function.parsed_arguments=gg(h.function.arguments)))}}return g},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 fh(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function gj(a){return JSON.stringify(a)}class gk extends gi{static fromReadableStream(a){let b=new gk(null);return b._run(()=>b._fromReadableStream(a)),b}toReadableStream(){let a,b,c=[],d=[],e=!1,f=a=>{let b=d.shift();b?b.resolve(a):c.push(a)};return this.on("chunk",b=>{a=b,f(b)}),this.on("message",c=>{if(f7(c)){b=c.tool_calls?.map(a=>a.id);return}if(f8(c)){var d,e;let g;if(!a)throw new eq("cannot serialize a tool message before receiving any chunks");f((d=a,g={type:"message",message:c,...(e=b)?{tool_call_ids:e}:{}},{id:d.id,choices:[],created:d.created,model:d.model,object:`${gh}${JSON.stringify(g)}`}))}}),this.on("end",()=>{for(let a of(e=!0,d))a.resolve(void 0);d.length=0}),this.on("abort",a=>{for(let b of(e=!0,d))b.reject(a);d.length=0}),this.on("error",a=>{for(let b of(e=!0,d))b.reject(a);d.length=0}),new fh(()=>({next:async()=>{if(!c.length)return e?{value:void 0,done:!0}:new Promise((a,b)=>d.push({resolve:a,reject:b})).then(a=>a?{value:a,done:!1}:{value:void 0,done:!0});let a=c.shift();return a?{value:a,done:!1}:{value:void 0,done:!0}},return:async()=>(this.abort(),{value:void 0,done:!0})}),this.controller).toReadableStream()}static runTools(a,b,c){let d=new gk(b),e={...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"runTools"}};return d._run(()=>d._runTools(a,b,d,e)),d}}class gl extends fY{constructor(){super(...arguments),this.messages=new f0(this._client)}create(a,b){return this._client.post("/chat/completions",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/chat/completions/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/chat/completions/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/chat/completions",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/chat/completions/${a}`,{...b,__security:{bearerAuth:!0}})}parse(a,b){for(let b of a.tools??[]){if("function"!==b.type)throw new eq(`Currently only \`function\` tool types support auto-parsing; Received \`${b.type}\``);if(!0!==b.function.strict)throw new eq(`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":"chat.completions.parse"}})._thenUnwrap(b=>f4(b,a))}runTools(a,b){return a.stream?gk.runTools(this._client,a,b):gc.runTools(this._client,a,b)}stream(a,b){return gi.createChatCompletion(this._client,a,b)}}gl.Messages=f0;class gm extends fY{constructor(){super(...arguments),this.completions=new gl(this._client)}}gm.Completions=gl;class gn extends fY{create(a,b){return this._client.post("/organization/admin_api_keys",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/admin_api_keys/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/admin_api_keys",fr,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/admin_api_keys/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class go extends fY{list(a={},b){return this._client.getAPIList("/organization/audit_logs",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gp extends fY{create(a,b){return this._client.post("/organization/certificates",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b={},c){return this._client.get(f_`/organization/certificates/${a}`,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/certificates/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/certificates",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/certificates/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}activate(a,b){return this._client.getAPIList("/organization/certificates/activate",fq,{body:a,method:"post",...b,__security:{adminAPIKeyAuth:!0}})}deactivate(a,b){return this._client.getAPIList("/organization/certificates/deactivate",fq,{body:a,method:"post",...b,__security:{adminAPIKeyAuth:!0}})}}class gq extends fY{retrieve(a){return this._client.get("/organization/data_retention",{...a,__security:{adminAPIKeyAuth:!0}})}update(a,b){return this._client.post("/organization/data_retention",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gr extends fY{create(a,b){return this._client.post("/organization/invites",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/invites/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/invites",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/invites/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gs extends fY{create(a,b){return this._client.post("/organization/roles",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/roles/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/roles/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/roles",ft,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/roles/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gt extends fY{create(a,b){return this._client.post("/organization/spend_alerts",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/spend_alerts/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/spend_alerts/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/spend_alerts",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/spend_alerts/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gu extends fY{retrieve(a){return this._client.get("/organization/spend_limit",{...a,__security:{adminAPIKeyAuth:!0}})}update(a,b){return this._client.post("/organization/spend_limit",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a){return this._client.delete("/organization/spend_limit",{...a,__security:{adminAPIKeyAuth:!0}})}}class gv extends fY{audioSpeeches(a,b){return this._client.get("/organization/usage/audio_speeches",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}audioTranscriptions(a,b){return this._client.get("/organization/usage/audio_transcriptions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}codeInterpreterSessions(a,b){return this._client.get("/organization/usage/code_interpreter_sessions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}completions(a,b){return this._client.get("/organization/usage/completions",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}costs(a,b){return this._client.get("/organization/costs",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}embeddings(a,b){return this._client.get("/organization/usage/embeddings",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}fileSearchCalls(a,b){return this._client.get("/organization/usage/file_search_calls",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}images(a,b){return this._client.get("/organization/usage/images",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}moderations(a,b){return this._client.get("/organization/usage/moderations",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}vectorStores(a,b){return this._client.get("/organization/usage/vector_stores",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}webSearchCalls(a,b){return this._client.get("/organization/usage/web_search_calls",{query:a,...b,__security:{adminAPIKeyAuth:!0}})}}class gw extends fY{create(a,b,c){return this._client.post(f_`/organization/groups/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{group_id:d}=b;return this._client.get(f_`/organization/groups/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/groups/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{group_id:d}=b;return this._client.delete(f_`/organization/groups/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gx extends fY{create(a,b,c){return this._client.post(f_`/organization/groups/${a}/users`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{group_id:d}=b;return this._client.get(f_`/organization/groups/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/groups/${a}/users`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{group_id:d}=b;return this._client.delete(f_`/organization/groups/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gy extends fY{constructor(){super(...arguments),this.users=new gx(this._client),this.roles=new gw(this._client)}create(a,b){return this._client.post("/organization/groups",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/groups/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/groups/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/groups",ft,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/groups/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}gy.Users=gx,gy.Roles=gw;class gz extends fY{retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/api_keys/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/api_keys`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/api_keys/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gA extends fY{list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}activate(a,b,c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates/activate`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}deactivate(a,b,c){return this._client.getAPIList(f_`/organization/projects/${a}/certificates/deactivate`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}}class gB extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/data_retention`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/data_retention`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}}class gC extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/hosted_tool_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/hosted_tool_permissions`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}}class gD extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/model_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/model_permissions`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/projects/${a}/model_permissions`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gE extends fY{listRateLimits(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/rate_limits`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}updateRateLimit(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/rate_limits/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}}class gF extends fY{create(a,b,c){return this._client.post(f_`/projects/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/projects/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/roles/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/projects/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/projects/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gG extends fY{create(a,b,c){return this._client.post(f_`/organization/projects/${a}/spend_alerts`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/spend_alerts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/spend_alerts/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/spend_alerts`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/spend_alerts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gH extends fY{retrieve(a,b){return this._client.get(f_`/organization/projects/${a}/spend_limit`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}/spend_limit`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/projects/${a}/spend_limit`,{...b,__security:{adminAPIKeyAuth:!0}})}}class gI extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/groups/${a}/roles`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,group_id:e}=b;return this._client.get(f_`/projects/${d}/groups/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b,c){let{project_id:d,...e}=b;return this._client.getAPIList(f_`/projects/${d}/groups/${a}/roles`,ft,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d,group_id:e}=b;return this._client.delete(f_`/projects/${d}/groups/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gJ extends fY{constructor(){super(...arguments),this.roles=new gI(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/groups`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,...e}=b;return this._client.get(f_`/organization/projects/${d}/groups/${a}`,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/groups`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/groups/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gJ.Roles=gI;class gK extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/service_accounts/${a}/api_keys`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}}class gL extends fY{constructor(){super(...arguments),this.apiKeys=new gK(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/service_accounts`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/service_accounts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/service_accounts/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/service_accounts`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/service_accounts/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gL.APIKeys=gK;class gM extends fY{create(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/projects/${d}/users/${a}/roles`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d,user_id:e}=b;return this._client.get(f_`/projects/${d}/users/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b,c){let{project_id:d,...e}=b;return this._client.getAPIList(f_`/projects/${d}/users/${a}/roles`,ft,{query:e,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d,user_id:e}=b;return this._client.delete(f_`/projects/${d}/users/${e}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gN extends fY{constructor(){super(...arguments),this.roles=new gM(this._client)}create(a,b,c){return this._client.post(f_`/organization/projects/${a}/users`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{project_id:d}=b;return this._client.get(f_`/organization/projects/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){let{project_id:d,...e}=b;return this._client.post(f_`/organization/projects/${d}/users/${a}`,{body:e,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/projects/${a}/users`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{project_id:d}=b;return this._client.delete(f_`/organization/projects/${d}/users/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}gN.Roles=gM;class gO extends fY{constructor(){super(...arguments),this.users=new gN(this._client),this.serviceAccounts=new gL(this._client),this.apiKeys=new gz(this._client),this.rateLimits=new gE(this._client),this.modelPermissions=new gD(this._client),this.hostedToolPermissions=new gC(this._client),this.groups=new gJ(this._client),this.roles=new gF(this._client),this.dataRetention=new gB(this._client),this.spendLimit=new gH(this._client),this.spendAlerts=new gG(this._client),this.certificates=new gA(this._client)}create(a,b){return this._client.post("/organization/projects",{body:a,...b,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b){return this._client.get(f_`/organization/projects/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/projects/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/projects",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}archive(a,b){return this._client.post(f_`/organization/projects/${a}/archive`,{...b,__security:{adminAPIKeyAuth:!0}})}}gO.Users=gN,gO.ServiceAccounts=gL,gO.APIKeys=gz,gO.RateLimits=gE,gO.ModelPermissions=gD,gO.HostedToolPermissions=gC,gO.Groups=gJ,gO.Roles=gF,gO.DataRetention=gB,gO.SpendLimit=gH,gO.SpendAlerts=gG,gO.Certificates=gA;class gP extends fY{create(a,b,c){return this._client.post(f_`/organization/users/${a}/roles`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b,c){let{user_id:d}=b;return this._client.get(f_`/organization/users/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/organization/users/${a}/roles`,ft,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{user_id:d}=b;return this._client.delete(f_`/organization/users/${d}/roles/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class gQ extends fY{constructor(){super(...arguments),this.roles=new gP(this._client)}retrieve(a,b){return this._client.get(f_`/organization/users/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}update(a,b,c){return this._client.post(f_`/organization/users/${a}`,{body:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a={},b){return this._client.getAPIList("/organization/users",fs,{query:a,...b,__security:{adminAPIKeyAuth:!0}})}delete(a,b){return this._client.delete(f_`/organization/users/${a}`,{...b,__security:{adminAPIKeyAuth:!0}})}}gQ.Roles=gP;class gR extends fY{constructor(){super(...arguments),this.auditLogs=new go(this._client),this.adminAPIKeys=new gn(this._client),this.usage=new gv(this._client),this.invites=new gr(this._client),this.users=new gQ(this._client),this.groups=new gy(this._client),this.roles=new gs(this._client),this.dataRetention=new gq(this._client),this.spendLimit=new gu(this._client),this.spendAlerts=new gt(this._client),this.certificates=new gp(this._client),this.projects=new gO(this._client)}}gR.AuditLogs=go,gR.AdminAPIKeys=gn,gR.Usage=gv,gR.Invites=gr,gR.Users=gQ,gR.Groups=gy,gR.Roles=gs,gR.DataRetention=gq,gR.SpendLimit=gu,gR.SpendAlerts=gt,gR.Certificates=gp,gR.Projects=gO;class gS extends fY{constructor(){super(...arguments),this.organization=new gR(this._client)}}gS.Organization=gR;class gT extends fY{create(a,b){return this._client.post("/audio/speech",{body:a,...b,headers:fy([{Accept:"application/octet-stream"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class gU extends fY{create(a,b){return this._client.post("/audio/transcriptions",fF({body:a,...b,stream:a.stream??!1,__metadata:{model:a.model},__security:{bearerAuth:!0}},this._client))}}class gV extends fY{create(a,b){return this._client.post("/audio/translations",fF({body:a,...b,__metadata:{model:a.model},__security:{bearerAuth:!0}},this._client))}}class gW extends fY{constructor(){super(...arguments),this.transcriptions=new gU(this._client),this.translations=new gV(this._client),this.speech=new gT(this._client)}}gW.Transcriptions=gU,gW.Translations=gV,gW.Speech=gT;class gX extends fY{create(a,b){return this._client.post("/batches",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/batches/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/batches",fr,{query:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/batches/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}}class gY extends fY{create(a,b){return this._client.post("/assistants",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/assistants/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/assistants/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/assistants",fr,{query:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/assistants/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class gZ extends fY{create(a,b){return this._client.post("/realtime/sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class g$ extends fY{create(a,b){return this._client.post("/realtime/transcription_sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}}class g_ extends fY{constructor(){super(...arguments),this.sessions=new gZ(this._client),this.transcriptionSessions=new g$(this._client)}}g_.Sessions=gZ,g_.TranscriptionSessions=g$;class g0 extends fY{create(a,b){return this._client.post("/chatkit/sessions",{body:a,...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/chatkit/sessions/${a}/cancel`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}}class g1 extends fY{retrieve(a,b){return this._client.get(f_`/chatkit/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/chatkit/threads",fs,{query:a,...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/chatkit/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},b?.headers]),__security:{bearerAuth:!0}})}listItems(a,b={},c){return this._client.getAPIList(f_`/chatkit/threads/${a}/items`,fs,{query:b,...c,headers:fy([{"OpenAI-Beta":"chatkit_beta=v1"},c?.headers]),__security:{bearerAuth:!0}})}}class g2 extends fY{constructor(){super(...arguments),this.sessions=new g0(this._client),this.threads=new g1(this._client)}}g2.Sessions=g0,g2.Threads=g1;class g3 extends fY{list(a,b={},c){let{betas:d,...e}=b??{};return this._client.getAPIList(f_`/responses/${a}/input_items?beta=true`,fr,{query:e,...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}}class g4 extends fY{count(a={},b){let{betas:c,...d}=a??{};return this._client.post("/responses/input_tokens?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),__security:{bearerAuth:!0}})}}class g5 extends fY{constructor(){super(...arguments),this.inputItems=new g3(this._client),this.inputTokens=new g4(this._client)}create(a,b){let{betas:c,...d}=a;return this._client.post("/responses?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),stream:a.stream??!1,__security:{bearerAuth:!0}})}retrieve(a,b={},c){let{betas:d,...e}=b??{};return this._client.get(f_`/responses/${a}?beta=true`,{query:e,...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),stream:b?.stream??!1,__security:{bearerAuth:!0}})}delete(a,b={},c){let{betas:d}=b??{};return this._client.delete(f_`/responses/${a}?beta=true`,{...c,headers:fy([{Accept:"*/*",...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b={},c){let{betas:d}=b??{};return this._client.post(f_`/responses/${a}/cancel?beta=true`,{...c,headers:fy([{...d?.toString()!=null?{"openai-beta":d?.toString()}:void 0},c?.headers]),__security:{bearerAuth:!0}})}compact(a,b){let{betas:c,...d}=a;return this._client.post("/responses/compact?beta=true",{body:d,...b,headers:fy([{...c?.toString()!=null?{"openai-beta":c?.toString()}:void 0},b?.headers]),__security:{bearerAuth:!0}})}}g5.InputItems=g3,g5.InputTokens=g4;class g6 extends fY{create(a,b,c){return this._client.post(f_`/threads/${a}/messages`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(f_`/threads/${d}/messages/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/messages/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/threads/${a}/messages`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b,c){let{thread_id:d}=b;return this._client.delete(f_`/threads/${d}/messages/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}class g7 extends fY{retrieve(a,b,c){let{thread_id:d,run_id:e,...f}=b;return this._client.get(f_`/threads/${d}/runs/${e}/steps/${a}`,{query:f,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b,c){let{thread_id:d,...e}=b;return this._client.getAPIList(f_`/threads/${d}/runs/${a}/steps`,fr,{query:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}let g8=a=>void 0!==globalThis.process?globalThis.process.env?.[a]?.trim()||void 0:void 0!==globalThis.Deno&&globalThis.Deno.env?.get?.(a)?.trim()||void 0;class g9 extends f9{constructor(){super(...arguments),W.add(this),Y.set(this,[]),Z.set(this,{}),$.set(this,{}),_.set(this,void 0),aa.set(this,void 0),ab.set(this,void 0),ac.set(this,void 0),ad.set(this,void 0),ae.set(this,void 0),af.set(this,void 0),ag.set(this,void 0),ah.set(this,void 0)}[(Y=new WeakMap,Z=new WeakMap,$=new WeakMap,_=new WeakMap,aa=new WeakMap,ab=new WeakMap,ac=new WeakMap,ad=new WeakMap,ae=new WeakMap,af=new WeakMap,ag=new WeakMap,ah=new WeakMap,W=new WeakSet,Symbol.asyncIterator)](){let a=[],b=[],c=!1;return this.on("event",c=>{let d=structuredClone(c),e=b.shift();e?e.resolve(d):a.push(d)}),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 X;return b._run(()=>b._fromReadableStream(a)),b}async _fromReadableStream(a,b){this._listenForAbort(b?.signal),this._connected();let c=fh.fromReadableStream(a,this.controller);for await(let a of c)em(this,W,"m",ai).call(this,a);if(c.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}toReadableStream(){return new fh(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(a,b,c,d){let e=new X;return e._run(()=>e._runToolAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}async _createToolAssistantStream(a,b,c,d){this._listenForAbort(d?.signal);let e={...c,stream:!0},f=await a.submitToolOutputs(b,e,{...d,signal:this.controller.signal});for await(let a of(this._connected(),f))em(this,W,"m",ai).call(this,a);if(f.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}static createThreadAssistantStream(a,b,c){let d=new X;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 X;return e._run(()=>e._runAssistantStream(a,b,c,{...d,headers:{...d?.headers,"X-Stainless-Helper-Method":"stream"}})),e}currentEvent(){return em(this,af,"f")}currentRun(){return em(this,ag,"f")}currentMessageSnapshot(){return em(this,_,"f")}currentRunStepSnapshot(){return em(this,ah,"f")}async finalRunSteps(){return await this.done(),Object.values(em(this,Z,"f"))}async finalMessages(){return await this.done(),Object.values(em(this,$,"f"))}async finalRun(){if(await this.done(),!em(this,aa,"f"))throw Error("Final run was not received.");return em(this,aa,"f")}async _createThreadAssistantStream(a,b,c){this._listenForAbort(c?.signal);let d={...b,stream:!0},e=await a.createAndRun(d,{...c,signal:this.controller.signal});for await(let a of(this._connected(),e))em(this,W,"m",ai).call(this,a);if(e.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).call(this))}async _createAssistantStream(a,b,c,d){this._listenForAbort(d?.signal);let e={...c,stream:!0},f=await a.create(b,e,{...d,signal:this.controller.signal});for await(let a of(this._connected(),f))em(this,W,"m",ai).call(this,a);if(f.controller.signal?.aborted)throw new es;return this._addRun(em(this,W,"m",aj).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(eN(b)&&eN(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(!eN(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[c]=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){return await this._createToolAssistantStream(b,a,c,d)}}X=g9,ai=function(a){if(!this.ended)switch(el(this,af,a,"f"),em(this,W,"m",am).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":em(this,W,"m",aq).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":em(this,W,"m",al).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":em(this,W,"m",ak).call(this,a);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},aj=function(){if(this.ended)throw new eq("stream has ended, this shouldn't happen");if(!em(this,aa,"f"))throw Error("Final run has not been received");return em(this,aa,"f")},ak=function(a){let[b,c]=em(this,W,"m",ao).call(this,a,em(this,_,"f"));for(let a of(el(this,_,b,"f"),em(this,$,"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!=em(this,ab,"f")){if(em(this,ac,"f"))switch(em(this,ac,"f").type){case"text":this._emit("textDone",em(this,ac,"f").text,em(this,_,"f"));break;case"image_file":this._emit("imageFileDone",em(this,ac,"f").image_file,em(this,_,"f"))}el(this,ab,c.index,"f")}el(this,ac,b.content[c.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==em(this,ab,"f")){let b=a.data.content[em(this,ab,"f")];if(b)switch(b.type){case"image_file":this._emit("imageFileDone",b.image_file,em(this,_,"f"));break;case"text":this._emit("textDone",b.text,em(this,_,"f"))}}em(this,_,"f")&&this._emit("messageDone",a.data),el(this,_,void 0,"f")}},al=function(a){let b=em(this,W,"m",an).call(this,a);switch(el(this,ah,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==em(this,ad,"f")?this._emit("toolCallDelta",a,b.step_details.tool_calls[a.index]):(em(this,ae,"f")&&this._emit("toolCallDone",em(this,ae,"f")),el(this,ad,a.index,"f"),el(this,ae,b.step_details.tool_calls[a.index],"f"),em(this,ae,"f")&&this._emit("toolCallCreated",em(this,ae,"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":el(this,ah,void 0,"f"),"tool_calls"==a.data.step_details.type&&em(this,ae,"f")&&(this._emit("toolCallDone",em(this,ae,"f")),el(this,ae,void 0,"f")),this._emit("runStepDone",a.data,b)}},am=function(a){em(this,Y,"f").push(a),this._emit("event",a)},an=function(a){switch(a.event){case"thread.run.step.created":return em(this,Z,"f")[a.data.id]=a.data,a.data;case"thread.run.step.delta":let b=em(this,Z,"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=X.accumulateDelta(b,c.delta);em(this,Z,"f")[a.data.id]=d}return em(this,Z,"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":em(this,Z,"f")[a.data.id]=a.data}if(em(this,Z,"f")[a.data.id])return em(this,Z,"f")[a.data.id];throw Error("No snapshot available")},ao=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]=em(this,W,"m",ap).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")},ap=function(a,b){return X.accumulateDelta(b,a)},aq=function(a){switch(el(this,ag,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":case"thread.run.incomplete":el(this,aa,a.data,"f"),em(this,ae,"f")&&(this._emit("toolCallDone",em(this,ae,"f")),el(this,ae,void 0,"f"))}};class ha extends fY{constructor(){super(...arguments),this.steps=new g7(this._client)}create(a,b,c){let{include:d,...e}=b;return this._client.post(f_`/threads/${a}/runs`,{query:{include:d},body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{thread_id:d}=b;return this._client.get(f_`/threads/${d}/runs/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/runs/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/threads/${a}/runs`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b,c){let{thread_id:d}=b;return this._client.post(f_`/threads/${d}/runs/${a}/cancel`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(d.id,{thread_id:a},c)}createAndStream(a,b,c){return g9.createAssistantStream(a,this._client.beta.threads.runs,b,c)}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){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 eO(g);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return e}}}stream(a,b,c){return g9.createAssistantStream(a,this._client.beta.threads.runs,b,c)}submitToolOutputs(a,b,c){let{thread_id:d,...e}=b;return this._client.post(f_`/threads/${d}/runs/${a}/submit_tool_outputs`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),stream:b.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}async submitToolOutputsAndPoll(a,b,c){let d=await this.submitToolOutputs(a,b,c);return await this.poll(d.id,b,c)}submitToolOutputsStream(a,b,c){return g9.createToolAssistantStream(a,this._client.beta.threads.runs,b,c)}}ha.Steps=g7;class hb extends fY{constructor(){super(...arguments),this.runs=new ha(this._client),this.messages=new g6(this._client)}create(a={},b){return this._client.post("/threads",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/threads/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/threads/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}createAndRun(a,b){return this._client.post("/threads/runs",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),stream:a.stream??!1,__synthesizeEventData:!0,__security:{bearerAuth:!0}})}async createAndRunPoll(a,b){let c=await this.createAndRun(a,b);return await this.runs.poll(c.id,{thread_id:c.thread_id},b)}createAndRunStream(a,b){return g9.createThreadAssistantStream(a,this._client.beta.threads,b)}}hb.Runs=ha,hb.Messages=g6;class hc extends fY{constructor(){super(...arguments),this.realtime=new g_(this._client),this.responses=new g5(this._client),this.chatkit=new g2(this._client),this.assistants=new gY(this._client),this.threads=new hb(this._client)}}hc.Realtime=g_,hc.Responses=g5,hc.ChatKit=g2,hc.Assistants=gY,hc.Threads=hb;class hd extends fY{create(a,b){return this._client.post("/completions",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}}class he extends fY{retrieve(a,b,c){let{container_id:d}=b;return this._client.get(f_`/containers/${d}/files/${a}/content`,{...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hf extends fY{constructor(){super(...arguments),this.content=new he(this._client)}create(a,b,c){return this._client.post(f_`/containers/${a}/files`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}retrieve(a,b,c){let{container_id:d}=b;return this._client.get(f_`/containers/${d}/files/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/containers/${a}/files`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{container_id:d}=b;return this._client.delete(f_`/containers/${d}/files/${a}`,{...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}}hf.Content=he;class hg extends fY{constructor(){super(...arguments),this.files=new hf(this._client)}create(a,b){return this._client.post("/containers",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/containers/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/containers",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/containers/${a}`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}}hg.Files=hf;class hh extends fY{create(a,b){return this._client.post("/content_provenance_checks",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}}class hi extends fY{create(a,b,c){let{include:d,...e}=b;return this._client.post(f_`/conversations/${a}/items`,{query:{include:d},body:e,...c,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{conversation_id:d,...e}=b;return this._client.get(f_`/conversations/${d}/items/${a}`,{query:e,...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/conversations/${a}/items`,fs,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{conversation_id:d}=b;return this._client.delete(f_`/conversations/${d}/items/${a}`,{...c,__security:{bearerAuth:!0}})}}class hj extends fY{constructor(){super(...arguments),this.items=new hi(this._client)}create(a={},b){return this._client.post("/conversations",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/conversations/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/conversations/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/conversations/${a}`,{...b,__security:{bearerAuth:!0}})}}hj.Items=hi;class hk extends fY{create(a,b){let c=!!a.encoding_format,d=c?a.encoding_format:"base64";c&&ff(this._client).debug("embeddings/user defined encoding_format:",a.encoding_format);let e=this._client.post("/embeddings",{body:{...a,encoding_format:d},...b,__security:{bearerAuth:!0}});return c?e:(ff(this._client).debug("embeddings/decoding base64 embeddings from base64"),e._thenUnwrap(a=>(a&&a.data&&a.data.forEach(a=>{let b=a.embedding;a.embedding=(a=>{if("u">typeof Buffer){let b=Buffer.from(a,"base64");return Array.from(new Float32Array(b.buffer,b.byteOffset,b.length/Float32Array.BYTES_PER_ELEMENT))}{let b=atob(a),c=b.length,d=new Uint8Array(c);for(let a=0;a<c;a++)d[a]=b.charCodeAt(a);return Array.from(new Float32Array(d.buffer))}})(b)}),a)))}}class hl extends fY{retrieve(a,b,c){let{eval_id:d,run_id:e}=b;return this._client.get(f_`/evals/${d}/runs/${e}/output_items/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b,c){let{eval_id:d,...e}=b;return this._client.getAPIList(f_`/evals/${d}/runs/${a}/output_items`,fr,{query:e,...c,__security:{bearerAuth:!0}})}}class hm extends fY{constructor(){super(...arguments),this.outputItems=new hl(this._client)}create(a,b,c){return this._client.post(f_`/evals/${a}/runs`,{body:b,...c,__security:{bearerAuth:!0}})}retrieve(a,b,c){let{eval_id:d}=b;return this._client.get(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/evals/${a}/runs`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{eval_id:d}=b;return this._client.delete(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}cancel(a,b,c){let{eval_id:d}=b;return this._client.post(f_`/evals/${d}/runs/${a}`,{...c,__security:{bearerAuth:!0}})}}hm.OutputItems=hl;class hn extends fY{constructor(){super(...arguments),this.runs=new hm(this._client)}create(a,b){return this._client.post("/evals",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/evals/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/evals/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/evals",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/evals/${a}`,{...b,__security:{bearerAuth:!0}})}}hn.Runs=hm;class ho extends fY{create(a,b){return this._client.post("/files",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/files/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/files",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/files/${a}`,{...b,__security:{bearerAuth:!0}})}content(a,b){return this._client.get(f_`/files/${a}/content`,{...b,headers:fy([{Accept:"application/binary"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}async waitForProcessing(a,{pollInterval:b=5e3,maxWait:c=18e5}={}){let d=new Set(["processed","error","deleted"]),e=Date.now(),f=await this.retrieve(a);for(;!f.status||!d.has(f.status);)if(await eO(b),f=await this.retrieve(a),Date.now()-e>c)throw new eu({message:`Giving up on waiting for file ${a} to finish processing after ${c} milliseconds.`});return f}}class hp extends fY{}class hq extends fY{run(a,b){return this._client.post("/fine_tuning/alpha/graders/run",{body:a,...b,__security:{bearerAuth:!0}})}validate(a,b){return this._client.post("/fine_tuning/alpha/graders/validate",{body:a,...b,__security:{bearerAuth:!0}})}}class hr extends fY{constructor(){super(...arguments),this.graders=new hq(this._client)}}hr.Graders=hq;class hs extends fY{create(a,b,c){return this._client.getAPIList(f_`/fine_tuning/checkpoints/${a}/permissions`,fq,{body:b,method:"post",...c,__security:{adminAPIKeyAuth:!0}})}retrieve(a,b={},c){return this._client.get(f_`/fine_tuning/checkpoints/${a}/permissions`,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/checkpoints/${a}/permissions`,fs,{query:b,...c,__security:{adminAPIKeyAuth:!0}})}delete(a,b,c){let{fine_tuned_model_checkpoint:d}=b;return this._client.delete(f_`/fine_tuning/checkpoints/${d}/permissions/${a}`,{...c,__security:{adminAPIKeyAuth:!0}})}}class ht extends fY{constructor(){super(...arguments),this.permissions=new hs(this._client)}}ht.Permissions=hs;class hu extends fY{list(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/jobs/${a}/checkpoints`,fr,{query:b,...c,__security:{bearerAuth:!0}})}}class hv extends fY{constructor(){super(...arguments),this.checkpoints=new hu(this._client)}create(a,b){return this._client.post("/fine_tuning/jobs",{body:a,...b,__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/fine_tuning/jobs/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/fine_tuning/jobs",fr,{query:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}listEvents(a,b={},c){return this._client.getAPIList(f_`/fine_tuning/jobs/${a}/events`,fr,{query:b,...c,__security:{bearerAuth:!0}})}pause(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/pause`,{...b,__security:{bearerAuth:!0}})}resume(a,b){return this._client.post(f_`/fine_tuning/jobs/${a}/resume`,{...b,__security:{bearerAuth:!0}})}}hv.Checkpoints=hu;class hw extends fY{constructor(){super(...arguments),this.methods=new hp(this._client),this.jobs=new hv(this._client),this.checkpoints=new ht(this._client),this.alpha=new hr(this._client)}}hw.Methods=hp,hw.Jobs=hv,hw.Checkpoints=ht,hw.Alpha=hr;class hx extends fY{}class hy extends fY{constructor(){super(...arguments),this.graderModels=new hx(this._client)}}hy.GraderModels=hx;class hz extends fY{createVariation(a,b){return this._client.post("/images/variations",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}edit(a,b){return this._client.post("/images/edits",fF({body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}},this._client))}generate(a,b){return this._client.post("/images/generations",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})}}class hA extends fY{retrieve(a,b){return this._client.get(f_`/models/${a}`,{...b,__security:{bearerAuth:!0}})}list(a){return this._client.getAPIList("/models",fq,{...a,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/models/${a}`,{...b,__security:{bearerAuth:!0}})}}class hB extends fY{create(a,b){return this._client.post("/moderations",{body:a,...b,__security:{bearerAuth:!0}})}}class hC extends fY{accept(a,b,c){return this._client.post(f_`/realtime/calls/${a}/accept`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}hangup(a,b){return this._client.post(f_`/realtime/calls/${a}/hangup`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}refer(a,b,c){return this._client.post(f_`/realtime/calls/${a}/refer`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}reject(a,b={},c){return this._client.post(f_`/realtime/calls/${a}/reject`,{body:b,...c,headers:fy([{Accept:"*/*"},c?.headers]),__security:{bearerAuth:!0}})}}class hD extends fY{create(a,b){return this._client.post("/realtime/client_secrets",{body:a,...b,__security:{bearerAuth:!0}})}}class hE extends fY{constructor(){super(...arguments),this.clientSecrets=new hD(this._client),this.calls=new hC(this._client)}}function hF(a,b){let c=!a.status||"completed"===a.status,d=a.output.map(a=>{if("function_call"===a.type){var d,e,f,g;let h;return c?(d=b,e=a,h=(f=d.tools??[],g=e.name,f.find(a=>"function"===a.type&&a.name===g)),{...e,...e,parsed_arguments:hG(h)?h.$parseRaw(e.arguments):h?.strict?JSON.parse(e.arguments):null}):{...a,parsed_arguments:null}}if("message"===a.type){let d=a.content.map(a=>{var d,e;return"output_text"===a.type?{...a,parsed:c?(d=b,e=a.text,d.text?.format?.type!=="json_schema"?null:"$parseRaw"in d.text?.format?(d.text?.format).$parseRaw(e):JSON.parse(e)):null}:a});return{...a,content:d}}return a}),e=Object.assign({},a,{output:d});return hH(a,e)&&hI(e),Object.defineProperty(e,"output_parsed",{enumerable:!0,get(){for(let a of e.output)if("message"===a.type){for(let b of a.content)if("output_text"===b.type&&null!==b.parsed)return b.parsed}return null}}),e}function hG(a){return a?.$brand==="auto-parseable-tool"}function hH(a,b){return!Object.getOwnPropertyDescriptor(a,"output_text")||null==b.output_text}function hI(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("")}function hJ(a){let b=structuredClone(a);return Object.getOwnPropertyDescriptor(b,"output_text")&&null!=b.output_text||hI(b),b}function hK(a,b){let c=a.output[b];if(!c)throw new eq(`missing output at index ${b}`);return c}function hL(a,b){let c=a[b];if(!c)throw new eq(`missing content at index ${b}`);return c}hE.ClientSecrets=hD,hE.Calls=hC;class hM extends f9{constructor(a){super(),ar.add(this),as.set(this,void 0),at.set(this,void 0),au.set(this,void 0),el(this,as,a,"f")}static createResponse(a,b,c){let d=new hM(b);return d._run(()=>d._createOrRetrieveResponse(a,b,{...c,headers:{...c?.headers,"X-Stainless-Helper-Method":"stream"}})),d}static fromReadableStream(a){let b=new hM(null);return b._run(()=>b._fromReadableStream(a)),b}async _createOrRetrieveResponse(a,b,c){let d;this._listenForAbort(c?.signal),em(this,ar,"m",av).call(this);let e=null;for await(let f of("response_id"in b?(d=await a.responses.retrieve(b.response_id,{stream:!0},{...c,signal:this.controller.signal,stream:!0}),e=b.starting_after??null):d=await a.responses.create({...b,stream:!0},{...c,signal:this.controller.signal}),this._connected(),d))em(this,ar,"m",aw).call(this,f,e);if(d.controller.signal?.aborted)throw new es;return em(this,ar,"m",ax).call(this)}async _fromReadableStream(a,b){this._listenForAbort(b?.signal),em(this,ar,"m",av).call(this),this._connected();let c=fh.fromReadableStream(a,this.controller);for await(let a of c)em(this,ar,"m",aw).call(this,a,null);if(c.controller.signal?.aborted)throw new es;return em(this,ar,"m",ax).call(this)}[(as=new WeakMap,at=new WeakMap,au=new WeakMap,ar=new WeakSet,av=function(){this.ended||el(this,at,void 0,"f")},aw=function(a,b){if(this.ended)return;let c=(a,c)=>{(null==b||c.sequence_number>b)&&this._emit(a,c)},d=function(a,b){if(!b){if("response.created"!==a.type)throw new eq(`When snapshot hasn't been set yet, expected 'response.created' event, got ${a.type}`);return hJ(a.response)}switch(a.type){case"response.output_item.added":b.output.push(structuredClone(a.item)),"message"===a.item.type&&hI(b);break;case"response.output_item.done":hK(b,a.output_index),b.output[a.output_index]=structuredClone(a.item),"message"===a.item.type&&hI(b);break;case"response.content_part.added":{let c=hK(b,a.output_index),d=c.type,e=a.part;"message"===d&&"reasoning_text"!==e.type?(c.content.push(structuredClone(e)),"output_text"===e.type&&hI(b)):"reasoning"===d&&"reasoning_text"===e.type&&(c.content||(c.content=[]),c.content.push(structuredClone(e)));break}case"response.content_part.done":{let c=hK(b,a.output_index),d=a.part;if("message"===c.type&&"reasoning_text"!==d.type)hL(c.content,a.content_index),c.content[a.content_index]=structuredClone(d),"output_text"===d.type&&hI(b);else if("reasoning"===c.type&&"reasoning_text"===d.type){let b=c.content;if(!b)throw new eq(`missing content at index ${a.content_index}`);hL(b,a.content_index),b[a.content_index]=structuredClone(d)}break}case"response.output_text.delta":{let c=hK(b,a.output_index);if("message"===c.type){let d=hL(c.content,a.content_index);if("output_text"!==d.type)throw new eq(`expected content to be 'output_text', got ${d.type}`);d.text+=a.delta,b.output_text+=a.delta}break}case"response.output_text.done":{let c=hK(b,a.output_index);if("message"===c.type){let d=hL(c.content,a.content_index);if("output_text"!==d.type)throw new eq(`expected content to be 'output_text', got ${d.type}`);d.text=a.text,hI(b)}break}case"response.output_text.annotation.added":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("output_text"!==b.type)throw new eq(`expected content to be 'output_text', got ${b.type}`);b.annotations[a.annotation_index]=structuredClone(a.annotation)}break}case"response.refusal.delta":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("refusal"!==b.type)throw new eq(`expected content to be 'refusal', got ${b.type}`);b.refusal+=a.delta}break}case"response.refusal.done":{let c=hK(b,a.output_index);if("message"===c.type){let b=hL(c.content,a.content_index);if("refusal"!==b.type)throw new eq(`expected content to be 'refusal', got ${b.type}`);b.refusal=a.refusal}break}case"response.function_call_arguments.delta":{let c=hK(b,a.output_index);"function_call"===c.type&&(c.arguments+=a.delta);break}case"response.function_call_arguments.done":{let c=hK(b,a.output_index);"function_call"===c.type&&(c.arguments=a.arguments);break}case"response.reasoning_text.delta":{let c=hK(b,a.output_index);if("reasoning"===c.type){if(!c.content)throw new eq(`missing content at index ${a.content_index}`);let b=hL(c.content,a.content_index);if("reasoning_text"!==b.type)throw new eq(`expected content to be 'reasoning_text', got ${b.type}`);b.text+=a.delta}break}case"response.reasoning_text.done":{let c=hK(b,a.output_index);if("reasoning"===c.type){if(!c.content)throw new eq(`missing content at index ${a.content_index}`);let b=hL(c.content,a.content_index);if("reasoning_text"!==b.type)throw new eq(`expected content to be 'reasoning_text', got ${b.type}`);b.text=a.text}break}case"response.reasoning_summary_part.added":{let c=hK(b,a.output_index);"reasoning"===c.type&&c.summary.push(structuredClone(a.part));break}case"response.reasoning_summary_part.done":{let c=hK(b,a.output_index);"reasoning"===c.type&&(hL(c.summary,a.summary_index),c.summary[a.summary_index]=structuredClone(a.part));break}case"response.reasoning_summary_text.delta":{let c=hK(b,a.output_index);if("reasoning"===c.type){let b=hL(c.summary,a.summary_index);b.text+=a.delta}break}case"response.reasoning_summary_text.done":{let c=hK(b,a.output_index);"reasoning"===c.type&&(hL(c.summary,a.summary_index).text=a.text);break}case"response.custom_tool_call_input.delta":{let c=hK(b,a.output_index);"custom_tool_call"===c.type&&(c.input+=a.delta);break}case"response.custom_tool_call_input.done":{let c=hK(b,a.output_index);"custom_tool_call"===c.type&&(c.input=a.input);break}case"response.mcp_call_arguments.delta":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.arguments+=a.delta);break}case"response.mcp_call_arguments.done":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.arguments=a.arguments);break}case"response.code_interpreter_call_code.delta":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.code=(c.code??"")+a.delta);break}case"response.code_interpreter_call_code.done":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.code=a.code);break}case"response.code_interpreter_call.in_progress":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="in_progress");break}case"response.code_interpreter_call.interpreting":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="interpreting");break}case"response.code_interpreter_call.completed":{let c=hK(b,a.output_index);"code_interpreter_call"===c.type&&(c.status="completed");break}case"response.file_search_call.in_progress":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="in_progress");break}case"response.file_search_call.searching":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="searching");break}case"response.file_search_call.completed":{let c=hK(b,a.output_index);"file_search_call"===c.type&&(c.status="completed");break}case"response.web_search_call.in_progress":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="in_progress");break}case"response.web_search_call.searching":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="searching");break}case"response.web_search_call.completed":{let c=hK(b,a.output_index);"web_search_call"===c.type&&(c.status="completed");break}case"response.image_generation_call.in_progress":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="in_progress");break}case"response.image_generation_call.generating":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="generating");break}case"response.image_generation_call.completed":{let c=hK(b,a.output_index);"image_generation_call"===c.type&&(c.status="completed");break}case"response.mcp_call.in_progress":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="in_progress");break}case"response.mcp_call.completed":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="completed");break}case"response.mcp_call.failed":{let c=hK(b,a.output_index);"mcp_call"===c.type&&(c.status="failed");break}case"response.created":case"response.queued":case"response.in_progress":case"response.completed":case"response.failed":case"response.incomplete":b=hJ(a.response);break;case"response.audio.delta":case"response.audio.done":case"response.audio.transcript.delta":case"response.audio.transcript.done":case"response.image_generation_call.partial_image":case"response.mcp_list_tools.in_progress":case"response.mcp_list_tools.completed":case"response.mcp_list_tools.failed":case"keepalive":case"error":break;default:var c=a;throw new eq(`Unhandled response stream event: ${JSON.stringify(c)}`)}return b}(a,em(this,at,"f"));switch(el(this,at,d,"f"),c("event",a),a.type){case"response.output_text.delta":{let b=d.output[a.output_index];if(!b)throw new eq(`missing output at index ${a.output_index}`);if("message"===b.type){let d=b.content[a.content_index];if(!d)throw new eq(`missing content at index ${a.content_index}`);if("output_text"!==d.type)throw new eq(`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 eq(`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)}},ax=function(){if(this.ended)throw new eq("stream has ended, this shouldn't happen");let a=em(this,at,"f");if(!a)throw new eq("request ended without sending any events");el(this,at,void 0,"f");let b=function(a,b){var c;if(!b||(c=b,!(f2(c.text?.format)||Array.isArray(c.tools)&&c.tools.some(a=>hG(a)||"function"===a.type&&!0===a.strict)))){let 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)};return hH(a,b)&&hI(b),b}return hF(a,b)}(a,em(this,as,"f"));return el(this,au,b,"f"),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=em(this,au,"f");if(!a)throw new eq("stream ended without producing a ChatCompletion");return a}}class hN extends fY{list(a,b={},c){return this._client.getAPIList(f_`/responses/${a}/input_items`,fr,{query:b,...c,__security:{bearerAuth:!0}})}}class hO extends fY{count(a={},b){return this._client.post("/responses/input_tokens",{body:a,...b,__security:{bearerAuth:!0}})}}class hP extends fY{constructor(){super(...arguments),this.inputItems=new hN(this._client),this.inputTokens=new hO(this._client)}create(a,b){return this._client.post("/responses",{body:a,...b,stream:a.stream??!1,__security:{bearerAuth:!0}})._thenUnwrap(a=>("object"in a&&"response"===a.object&&hI(a),a))}retrieve(a,b={},c){return this._client.get(f_`/responses/${a}`,{query:b,...c,stream:b?.stream??!1,__security:{bearerAuth:!0}})._thenUnwrap(a=>("object"in a&&"response"===a.object&&hI(a),a))}delete(a,b){return this._client.delete(f_`/responses/${a}`,{...b,headers:fy([{Accept:"*/*"},b?.headers]),__security:{bearerAuth:!0}})}parse(a,b){return this._client.responses.create(a,b)._thenUnwrap(b=>hF(b,a))}stream(a,b){return hM.createResponse(this._client,a,b)}cancel(a,b){return this._client.post(f_`/responses/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}compact(a,b){return this._client.post("/responses/compact",{body:a,...b,__security:{bearerAuth:!0}})}}hP.InputItems=hN,hP.InputTokens=hO;class hQ extends fY{retrieve(a,b){return this._client.get(f_`/skills/${a}/content`,{...b,headers:fy([{Accept:"application/binary"},b?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hR extends fY{retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(f_`/skills/${d}/versions/${a}/content`,{...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}}class hS extends fY{constructor(){super(...arguments),this.content=new hR(this._client)}create(a,b={},c){return this._client.post(f_`/skills/${a}/versions`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}retrieve(a,b,c){let{skill_id:d}=b;return this._client.get(f_`/skills/${d}/versions/${a}`,{...c,__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/skills/${a}/versions`,fr,{query:b,...c,__security:{bearerAuth:!0}})}delete(a,b,c){let{skill_id:d}=b;return this._client.delete(f_`/skills/${d}/versions/${a}`,{...c,__security:{bearerAuth:!0}})}}hS.Content=hR;class hT extends fY{constructor(){super(...arguments),this.content=new hQ(this._client),this.versions=new hS(this._client)}create(a={},b){return this._client.post("/skills",fE({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/skills/${a}`,{...b,__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/skills/${a}`,{body:b,...c,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/skills",fr,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/skills/${a}`,{...b,__security:{bearerAuth:!0}})}}hT.Content=hQ,hT.Versions=hS;class hU extends fY{create(a,b,c){return this._client.post(f_`/uploads/${a}/parts`,fF({body:b,...c,__security:{bearerAuth:!0}},this._client))}}class hV extends fY{constructor(){super(...arguments),this.parts=new hU(this._client)}create(a,b){return this._client.post("/uploads",{body:a,...b,__security:{bearerAuth:!0}})}cancel(a,b){return this._client.post(f_`/uploads/${a}/cancel`,{...b,__security:{bearerAuth:!0}})}complete(a,b,c){return this._client.post(f_`/uploads/${a}/complete`,{body:b,...c,__security:{bearerAuth:!0}})}}hV.Parts=hU;let hW=async a=>{let b=await Promise.allSettled(a),c=b.filter(a=>"rejected"===a.status);if(c.length){for(let a of c)console.error(a.reason);throw Error(`${c.length} promise(s) failed - see the above errors`)}let d=[];for(let a of b)"fulfilled"===a.status&&d.push(a.value);return d};class hX extends fY{create(a,b,c){return this._client.post(f_`/vector_stores/${a}/file_batches`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(f_`/vector_stores/${d}/file_batches/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}cancel(a,b,c){let{vector_store_id:d}=b;return this._client.post(f_`/vector_stores/${d}/file_batches/${a}/cancel`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b);return await this.poll(a,d.id,c)}listFiles(a,b,c){let{vector_store_id:d,...e}=b;return this._client.getAPIList(f_`/vector_stores/${d}/file_batches/${a}/files`,fr,{query:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let{data:e,response:f}=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse();switch(e.status){case"in_progress":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 eO(g);break;case"failed":case"cancelled":case"completed":return e}}}async uploadAndPoll(a,{files:b,fileIds:c=[]},d){if(null==b||0==b.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let e=Math.min(d?.maxConcurrency??5,b.length),f=this._client,g=b.values(),h=[...c];async function i(a){for(let b of a){let a=await f.files.create({file:b,purpose:"assistants"},d);h.push(a.id)}}let j=Array(e).fill(g).map(i);return await hW(j),await this.createAndPoll(a,{file_ids:h})}}class hY extends fY{create(a,b,c){return this._client.post(f_`/vector_stores/${a}/files`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b,c){let{vector_store_id:d}=b;return this._client.get(f_`/vector_stores/${d}/files/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){let{vector_store_id:d,...e}=b;return this._client.post(f_`/vector_stores/${d}/files/${a}`,{body:e,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a,b={},c){return this._client.getAPIList(f_`/vector_stores/${a}/files`,fr,{query:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}delete(a,b,c){let{vector_store_id:d}=b;return this._client.delete(f_`/vector_stores/${d}/files/${a}`,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}async createAndPoll(a,b,c){let d=await this.create(a,b,c);return await this.poll(a,d.id,c)}async poll(a,b,c){let d=fy([c?.headers,{"X-Stainless-Poll-Helper":"true","X-Stainless-Custom-Poll-Interval":c?.pollIntervalMs?.toString()??void 0}]);for(;;){let e=await this.retrieve(b,{vector_store_id:a},{...c,headers:d}).withResponse(),f=e.data;switch(f.status){case"in_progress":let g=5e3;if(c?.pollIntervalMs)g=c.pollIntervalMs;else{let a=e.response.headers.get("openai-poll-after-ms");if(a){let b=parseInt(a);isNaN(b)||(g=b)}}await eO(g);break;case"failed":case"completed":return f}}}async upload(a,b,c){let d=await this._client.files.create({file:b,purpose:"assistants"},c);return this.create(a,{file_id:d.id},c)}async uploadAndPoll(a,b,c){let d=await this.upload(a,b,c);return await this.poll(a,d.id,c)}content(a,b,c){let{vector_store_id:d}=b;return this._client.getAPIList(f_`/vector_stores/${d}/files/${a}/content`,fq,{...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}class hZ extends fY{constructor(){super(...arguments),this.files=new hY(this._client),this.fileBatches=new hX(this._client)}create(a,b){return this._client.post("/vector_stores",{body:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}retrieve(a,b){return this._client.get(f_`/vector_stores/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}update(a,b,c){return this._client.post(f_`/vector_stores/${a}`,{body:b,...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/vector_stores",fr,{query:a,...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/vector_stores/${a}`,{...b,headers:fy([{"OpenAI-Beta":"assistants=v2"},b?.headers]),__security:{bearerAuth:!0}})}search(a,b,c){return this._client.getAPIList(f_`/vector_stores/${a}/search`,fq,{body:b,method:"post",...c,headers:fy([{"OpenAI-Beta":"assistants=v2"},c?.headers]),__security:{bearerAuth:!0}})}}hZ.Files=hY,hZ.FileBatches=hX;class h$ extends fY{create(a,b){return this._client.post("/videos",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}retrieve(a,b){return this._client.get(f_`/videos/${a}`,{...b,__security:{bearerAuth:!0}})}list(a={},b){return this._client.getAPIList("/videos",fs,{query:a,...b,__security:{bearerAuth:!0}})}delete(a,b){return this._client.delete(f_`/videos/${a}`,{...b,__security:{bearerAuth:!0}})}createCharacter(a,b){return this._client.post("/videos/characters",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}downloadContent(a,b={},c){return this._client.get(f_`/videos/${a}/content`,{query:b,...c,headers:fy([{Accept:"application/binary"},c?.headers]),__security:{bearerAuth:!0},__binaryResponse:!0})}edit(a,b){return this._client.post("/videos/edits",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}extend(a,b){return this._client.post("/videos/extensions",fF({body:a,...b,__security:{bearerAuth:!0}},this._client))}getCharacter(a,b){return this._client.get(f_`/videos/characters/${a}`,{...b,__security:{bearerAuth:!0}})}remix(a,b,c){return this._client.post(f_`/videos/${a}/remix`,fE({body:b,...c,__security:{bearerAuth:!0}},this._client))}}class h_ extends fY{constructor(){super(...arguments),ay.add(this)}async unwrap(a,b,c=this._client.webhookSecret,d=300){return await this.verifySignature(a,b,c,d),JSON.parse(a)}async verifySignature(a,b,c=this._client.webhookSecret,d=300){if("u"<typeof crypto||"function"!=typeof crypto.subtle.importKey||"function"!=typeof crypto.subtle.verify)throw Error("Webhook signature verification is only supported when the `crypto` global is defined");em(this,ay,"m",az).call(this,c);let e=fy([b]).values,f=em(this,ay,"m",aA).call(this,e,"webhook-signature"),g=em(this,ay,"m",aA).call(this,e,"webhook-timestamp"),h=em(this,ay,"m",aA).call(this,e,"webhook-id"),i=parseInt(g,10);if(isNaN(i))throw new eF("Invalid webhook timestamp format");let j=Math.floor(Date.now()/1e3);if(j-i>d)throw new eF("Webhook timestamp is too old");if(i>j+d)throw new eF("Webhook timestamp is too new");let k=f.split(" ").map(a=>a.startsWith("v1,")?a.substring(3):a),l=c.startsWith("whsec_")?Buffer.from(c.replace("whsec_",""),"base64"):Buffer.from(c,"utf-8"),m=h?`${h}.${g}.${a}`:`${g}.${a}`,n=await crypto.subtle.importKey("raw",l,{name:"HMAC",hash:"SHA-256"},!1,["verify"]);for(let a of k)try{let b=Buffer.from(a,"base64");if(await crypto.subtle.verify("HMAC",n,b,new TextEncoder().encode(m)))return}catch{continue}throw new eF("The given webhook signature does not match the expected signature")}}ay=new WeakSet,az=function(a){if("string"!=typeof a||0===a.length)throw Error("The webhook secret must either be set using the env var, OPENAI_WEBHOOK_SECRET, on the client class, OpenAI({ webhookSecret: '123' }), or passed to this function")},aA=function(a,b){if(!a)throw Error("Headers are required");let c=a.get(b);if(null==c)throw Error(`Missing required header: ${b}`);return c};let h0=Symbol.for("openai.node.providerDefinitions.v1"),h1=globalThis,h2=h1[h0],h3=h2??new WeakMap;h2||Object.defineProperty(h1,h0,{value:h3});class h4{constructor(a={}){aB.add(this),aD.set(this,void 0),this.completions=new hd(this),this.chat=new gm(this),this.embeddings=new hk(this),this.files=new ho(this),this.images=new hz(this),this.contentProvenanceChecks=new hh(this),this.audio=new gW(this),this.moderations=new hB(this),this.models=new hA(this),this.fineTuning=new hw(this),this.graders=new hy(this),this.vectorStores=new hZ(this),this.webhooks=new h_(this),this.beta=new hc(this),this.batches=new gX(this),this.uploads=new hV(this),this.admin=new gS(this),this.responses=new hP(this),this.realtime=new hE(this),this.conversations=new hj(this),this.evals=new hn(this),this.containers=new hg(this),this.skills=new hT(this),this.videos=new h$(this);const b=a.provider;if(b){const b=["apiKey","adminAPIKey","workloadIdentity","baseURL"].filter(b=>null!=a[b]);if(b.length)throw new eq(`The \`provider\` option cannot be used with ${b.map(a=>`\`${a}\``).join(", ")}. Configure authentication and the base URL through the provider instead.`)}const{baseURL:c=b?null:g8("OPENAI_BASE_URL"),apiKey:d=b?null:g8("OPENAI_API_KEY")??null,adminAPIKey:e=b?null:g8("OPENAI_ADMIN_KEY")??null,organization:f=b?null:g8("OPENAI_ORG_ID")??null,project:g=b?null:g8("OPENAI_PROJECT_ID")??null,webhookSecret:h=g8("OPENAI_WEBHOOK_SECRET")??null,workloadIdentity:i,...j}=a,k=b?function(a){let b=h3.get(a);if(!b)throw Error("Invalid provider. Providers must be created with createProvider().");return b.configure()}(b):void 0,l={apiKey:d,adminAPIKey:e,organization:f,project:g,webhookSecret:h,workloadIdentity:i,provider:b,...j,baseURL:k?.baseURL??(c||"https://api.openai.com/v1")};if(d&&i)throw new eq("The `apiKey` and `workloadIdentity` options are mutually exclusive");if(!k&&!d&&!e&&!i)throw new eq("Missing credentials. Please pass an `apiKey`, `workloadIdentity`, `adminAPIKey`, or set the `OPENAI_API_KEY` or `OPENAI_ADMIN_KEY` environment variable.");if(!l.dangerouslyAllowBrowser&&"u">typeof window&&void 0!==window.document&&"u">typeof navigator)throw new eq("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");this.baseURL=l.baseURL,this.timeout=l.timeout??aC.DEFAULT_TIMEOUT,this.logger=l.logger??console;const m="warn";this.logLevel=m,this.logLevel=fa(l.logLevel,"ClientOptions.logLevel",this)??fa(g8("OPENAI_LOG"),"process.env['OPENAI_LOG']",this)??m,this.fetchOptions=l.fetchOptions,this.maxRetries=l.maxRetries??2,this.fetch=l.fetch??eS(),el(this,aD,eX,"f");const n=b?void 0:g8("OPENAI_CUSTOM_HEADERS");if(n){const a={};for(const b of n.split("\n")){const c=b.indexOf(":");c>=0&&(a[b.substring(0,c).trim()]=b.substring(c+1).trim())}l.defaultHeaders=fy([a,l.defaultHeaders])}this._options=l,this._provider=k,i&&(this._workloadIdentityAuth=new fv(i,this.fetch)),this.apiKey="string"==typeof d?d:null,this.adminAPIKey=e,this.organization=f,this.project=g,this.webhookSecret=h}withOptions(a){let b=this._options.provider,c=a.provider??b,d={...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this._options.apiKey,adminAPIKey:this.adminAPIKey,workloadIdentity:this._options.workloadIdentity,organization:this.organization,project:this.project,webhookSecret:this.webhookSecret};return c&&(delete d.apiKey,delete d.adminAPIKey,delete d.workloadIdentity,delete d.baseURL,c!==b&&(delete d.organization,delete d.project,delete d.defaultHeaders)),new this.constructor({...d,...a,provider:c})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:a,nulls:b},c={bearerAuth:!0,adminAPIKeyAuth:!0}){if(!(a.get("authorization")||a.get("api-key")||b.has("authorization")||b.has("api-key"))&&(!this._workloadIdentityAuth||!c.bearerAuth))throw Error('Could not resolve authentication method. Expected either apiKey or adminAPIKey to be set. Or for one of the "Authorization" or "api-key" headers to be explicitly omitted')}async authHeaders(a,b={bearerAuth:!0,adminAPIKeyAuth:!0}){return fy([b.bearerAuth?await this.bearerAuth(a):null,b.adminAPIKeyAuth?await this.adminAPIKeyAuth(a):null])}async bearerAuth(a){return this._workloadIdentityAuth?fy([{Authorization:`Bearer ${await this._workloadIdentityAuth.getToken()}`}]):null!=this.apiKey?fy([{Authorization:`Bearer ${this.apiKey}`}]):void 0}async adminAPIKeyAuth(a){if(null!=this.adminAPIKey)return fy([{Authorization:`Bearer ${this.adminAPIKey}`}])}stringifyQuery(a){return function(a,b={}){let c,d=a,e=function(a=e4){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||e4.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=eY;if(void 0!==a.format){if(!e_(e$,a.format))throw TypeError("Unknown format option provided.");d=a.format}let e=e$[d],f=e4.filter;if(("function"==typeof a.filter||eJ(a.filter))&&(f=a.filter),b=a.arrayFormat&&a.arrayFormat in e2?a.arrayFormat:"indices"in a?a.indices?"indices":"repeat":e4.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||e4.allowDots:!!a.allowDots;return{addQueryPrefix:"boolean"==typeof a.addQueryPrefix?a.addQueryPrefix:e4.addQueryPrefix,allowDots:g,allowEmptyArrays:"boolean"==typeof a.allowEmptyArrays?!!a.allowEmptyArrays:e4.allowEmptyArrays,arrayFormat:b,charset:c,charsetSentinel:"boolean"==typeof a.charsetSentinel?a.charsetSentinel:e4.charsetSentinel,commaRoundTrip:!!a.commaRoundTrip,delimiter:void 0===a.delimiter?e4.delimiter:a.delimiter,encode:"boolean"==typeof a.encode?a.encode:e4.encode,encodeDotInKeys:"boolean"==typeof a.encodeDotInKeys?a.encodeDotInKeys:e4.encodeDotInKeys,encoder:"function"==typeof a.encoder?a.encoder:e4.encoder,encodeValuesOnly:"boolean"==typeof a.encodeValuesOnly?a.encodeValuesOnly:e4.encodeValuesOnly,filter:f,format:d,formatter:e,serializeDate:"function"==typeof a.serializeDate?a.serializeDate:e4.serializeDate,skipNulls:"boolean"==typeof a.skipNulls?a.skipNulls:e4.skipNulls,sort:"function"==typeof a.sort?a.sort:null,strictNullHandling:"boolean"==typeof a.strictNullHandling?a.strictNullHandling:e4.strictNullHandling}}(b);"function"==typeof e.filter?d=(0,e.filter)("",d):eJ(e.filter)&&(c=e.filter);let f=[];if("object"!=typeof d||null===d)return"";let g=e2[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]||e3(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(e5))&&!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(e5)&&(y=0)}if("function"==typeof k?w=k(c,w):w instanceof Date?w=n?.(w):"comma"===d&&eJ(w)&&(w=e1(w,function(a){return a instanceof Date?n?.(a):a})),null===w){if(g)return j&&!q?j(c,e4.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,e4.encoder,r,"key",o);return[p?.(a)+"="+p?.(j(w,e4.encoder,r,"value",o))]}return[p?.(c)+"="+p?.(String(w))]}let A=[];if(void 0===w)return A;if("comma"===d&&eJ(w))q&&j&&(w=e1(w,j)),v=[{value:w.length>0?w.join(",")||null:void 0}];else if(eJ(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&&eJ(w)&&1===w.length?B+"[]":B;if(f&&eJ(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=eJ(w)?"function"==typeof d?d(C,x):C:C+(m?"."+x:"["+x+"]");s.set(b,y);let B=new WeakMap;B.set(e5,s),e3(A,a(u,z,d,e,f,g,h,i,"comma"===d&&q&&eJ(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"})}getUserAgent(){return`${this.constructor.name}/JS ${eP}`}defaultIdempotencyKey(){return`stainless-node-retry-${en()}`}makeStatusError(a,b,c,d){return er.generate(a,b,c,d)}async _callApiKey(){let a;if(this._provider)return!1;let b=this._options.apiKey;if("function"!=typeof b)return!1;try{a=await b()}catch(a){if(a instanceof eq)throw a;throw new eq(`Failed to get token from 'apiKey' function: ${a.message}`,{cause:a})}if("string"!=typeof a||!a)throw new eq(`Expected 'apiKey' function argument to return a string but it returned ${a}`);return this.apiKey=a,!0}buildURL(a,b,c){let d=!em(this,aB,"m",aE).call(this)&&c||this.baseURL,e=new URL(eI.test(a)?a:d+(d.endsWith("/")&&a.startsWith("/")?a.slice(1):a)),f=this.defaultQuery(),g=Object.fromEntries(e.searchParams);return eM(f)&&eM(g)||(b={...g,...f,...b}),"object"==typeof b&&b&&!Array.isArray(b)&&(e.search=this.stringifyQuery(b)),e.toString()}async prepareOptions(a){this._provider||(a.__security??{bearerAuth:!0}).bearerAuth&&await this._callApiKey()}async prepareRequest(a,{url:b,options:c}){}get(a,b){return this.methodRequest("get",a,b)}post(a,b){return this.methodRequest("post",a,b)}patch(a,b){return this.methodRequest("patch",a,b)}put(a,b){return this.methodRequest("put",a,b)}delete(a,b){return this.methodRequest("delete",a,b)}methodRequest(a,b,c){return this.request(Promise.resolve(c).then(c=>({method:a,path:b,...c})))}request(a,b=null){return new fn(this,this.makeRequest(a,b,void 0))}async makeRequest(a,b,c){let d=await a,e=d.maxRetries??this.maxRetries;null==b&&(b=e),await this.prepareOptions(d);let{req:f,url:g,timeout:h}=await this.buildRequest(d,{retryCount:e-b}),i=d.__metadata?.hasStreamingBody===!0;await this.prepareRequest(f,{url:g,options:d}),await this._provider?.prepareRequest?.(f,{url:g,options:d});let j="log_"+(0x1000000*Math.random()|0).toString(16).padStart(6,"0"),k=void 0===c?"":`, retryOf: ${c}`,l=Date.now();if(ff(this).debug(`[${j}] sending request`,fg({retryOfRequestLogID:c,method:d.method,url:g,options:d,headers:f.headers})),d.signal?.aborted)throw new es;let m=d.__security??{bearerAuth:!0},n=new AbortController,o=await this.fetchWithAuth(g,f,h,n,m).catch(ep),p=Date.now();if(o instanceof globalThis.Error){let a=`retrying, ${b} attempts remaining`;if(d.signal?.aborted)throw new es;let e=eo(o)||/timed? ?out/i.test(String(o)+("cause"in o?String(o.cause):""));if(b&&!i)return ff(this).info(`[${j}] connection ${e?"timed out":"failed"} - ${a}`),ff(this).debug(`[${j}] connection ${e?"timed out":"failed"} (${a})`,fg({retryOfRequestLogID:c,url:g,durationMs:p-l,message:o.message})),this.retryRequest(d,b,c??j);let f=i?"error; streaming body cannot be retried":"error; no more retries left";if(ff(this).info(`[${j}] connection ${e?"timed out":"failed"} - ${f}`),ff(this).debug(`[${j}] connection ${e?"timed out":"failed"} (${f})`,fg({retryOfRequestLogID:c,url:g,durationMs:p-l,message:o.message})),o instanceof eG||o instanceof eH)throw o;if(e)throw new eu;throw new et({message:function(a){if(function(a){let b=a;for(let a=0;a<8&&b&&"object"==typeof b;a++){let a=b;if("UND_ERR_INVALID_ARG"===a.code&&"string"==typeof a.message&&a.message.includes("invalid onRequestStart method"))return!0;b=a.cause}return!1}(a))return"Connection error. This may be caused by passing an undici dispatcher, such as ProxyAgent, that is incompatible with the fetch implementation. If you are using undici's ProxyAgent, pass the fetch implementation from the same undici package: import { fetch, ProxyAgent } from 'undici'; new OpenAI({ fetch, fetchOptions: { dispatcher: new ProxyAgent(...) } });"}(o),cause:o})}let q=[...o.headers.entries()].filter(([a])=>"x-request-id"===a).map(([a,b])=>", "+a+": "+JSON.stringify(b)).join(""),r=`[${j}${k}${q}] ${f.method} ${g} ${o.ok?"succeeded":"failed"} with status ${o.status} in ${p-l}ms`;if(!o.ok){if(401===o.status&&this._workloadIdentityAuth&&m.bearerAuth&&!d.__metadata?.hasStreamingBody&&!d.__metadata?.workloadIdentityTokenRefreshed)return await eW(o.body),this._workloadIdentityAuth.invalidateToken(),this.makeRequest({...d,__metadata:{...d.__metadata,workloadIdentityTokenRefreshed:!0}},b,c??j);let a=await this.shouldRetry(o);if(b&&a&&!i){let a=`retrying, ${b} attempts remaining`;return await eW(o.body),ff(this).info(`${r} - ${a}`),ff(this).debug(`[${j}] response error (${a})`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,durationMs:p-l})),this.retryRequest(d,b,c??j,o.headers)}let e=a?i?"error; streaming body cannot be retried":"error; no more retries left":"error; not retryable";ff(this).info(`${r} - ${e}`);let f=await o.text().catch(a=>ep(a).message),g=(a=>{try{return JSON.parse(a)}catch(a){return}})(f),h=g?void 0:f;throw ff(this).debug(`[${j}] response error (${e})`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,message:h,durationMs:Date.now()-l})),this.makeStatusError(o.status,g,h,o.headers)}return ff(this).info(r),ff(this).debug(`[${j}] response start`,fg({retryOfRequestLogID:c,url:o.url,status:o.status,headers:o.headers,durationMs:p-l})),{response:o,options:d,controller:n,requestLogID:j,retryOfRequestLogID:c,startTime:l}}getAPIList(a,b,c){return this.requestAPIList(b,c&&"then"in c?c.then(b=>({method:"get",path:a,...b})):{method:"get",path:a,...c})}requestAPIList(a,b){return new fp(this,this.makeRequest(b,null,void 0),a)}async fetchWithAuth(a,b,c,d,e={bearerAuth:!0,adminAPIKeyAuth:!0}){if(this._workloadIdentityAuth&&e.bearerAuth){let a=b.headers,c=a.get("Authorization");if(!c||"Bearer workload-identity-auth"===c){let b=await this._workloadIdentityAuth.getToken();a.set("Authorization",`Bearer ${b}`)}}return await this.fetchWithTimeout(a,b,c,d)}async fetchWithTimeout(a,b,c,d){let{signal:e,method:f,...g}=b||{},h=this._makeAbort(d);e&&e.addEventListener("abort",h,{once:!0});let i=setTimeout(h,c),j=globalThis.ReadableStream&&g.body instanceof globalThis.ReadableStream||"object"==typeof g.body&&null!==g.body&&Symbol.asyncIterator in g.body,k={signal:d.signal,...j?{duplex:"half"}:{},method:"GET",...g};f&&(k.method=f.toUpperCase());try{return await this.fetch.call(void 0,a,k)}finally{clearTimeout(i)}}async shouldRetry(a){let b=a.headers.get("x-should-retry");return"true"===b||"false"!==b&&(408===a.status||409===a.status||429===a.status||!!(a.status>=500))}async retryRequest(a,b,c,d){let e,f=d?.get("retry-after-ms");if(f){let a=parseFloat(f);Number.isNaN(a)||(e=a)}let g=d?.get("retry-after");if(g&&!e){let a=parseFloat(g);e=Number.isNaN(a)?Date.parse(g)-Date.now():1e3*a}if(void 0===e){let c=a.maxRetries??this.maxRetries;e=this.calculateDefaultRetryTimeoutMillis(b,c)}return await eO(e),this.makeRequest(a,b-1,c)}calculateDefaultRetryTimeoutMillis(a,b){return Math.min(.5*Math.pow(2,b-a),8)*(1-.25*Math.random())*1e3}async buildRequest(a,{retryCount:b=0}={}){let c={...a},{method:d,path:e,query:f,defaultBaseURL:g}=c,h=this.buildURL(e,f,g);"timeout"in c&&((a,b)=>{if("number"!=typeof b||!Number.isInteger(b))throw new eq(`${a} must be an integer`);if(b<0)throw new eq(`${a} must be a positive integer`)})("timeout",c.timeout),c.timeout=c.timeout??this.timeout;let{bodyHeaders:i,body:j,isStreamingBody:k}=this.buildBody({options:c});k&&(a.__metadata={...a.__metadata,hasStreamingBody:!0});let l=await this.buildHeaders({options:a,method:d,bodyHeaders:i,retryCount:b});return{req:{method:d,headers:l,...c.signal&&{signal:c.signal},...globalThis.ReadableStream&&j instanceof globalThis.ReadableStream&&{duplex:"half"},...j&&{body:j},...this.fetchOptions??{},...c.fetchOptions??{}},url:h,timeout:c.timeout}}async buildHeaders({options:a,method:b,bodyHeaders:c,retryCount:e}){let f={};this.idempotencyHeader&&"get"!==b&&(a.idempotencyKey||(a.idempotencyKey=this.defaultIdempotencyKey()),f[this.idempotencyHeader]=a.idempotencyKey);let g=fy([f,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(e),...a.timeout?{"X-Stainless-Timeout":String(Math.trunc(a.timeout/1e3))}:{},...d??(d=(()=>{let a="u">typeof Deno&&null!=Deno.build?"deno":"u">typeof EdgeRuntime?"edge":"[object process]"===Object.prototype.toString.call(void 0!==globalThis.process?globalThis.process:0)?"node":"unknown";if("deno"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":eR(Deno.build.os),"X-Stainless-Arch":eQ(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("u">typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if("node"===a)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":eR(globalThis.process.platform??"unknown"),"X-Stainless-Arch":eQ(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let b=function(){if("u"<typeof navigator||!navigator)return null;for(let{key:a,pattern:b}of[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}]){let c=b.exec(navigator.userAgent);if(c){let b=c[1]||0,d=c[2]||0,e=c[3]||0;return{browser:a,version:`${b}.${d}.${e}`}}}return null}();return b?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${b.browser}`,"X-Stainless-Runtime-Version":b.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":eP,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})()),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project},this._provider?void 0:await this.authHeaders(a,a.__security??{bearerAuth:!0}),this._options.defaultHeaders,c,a.headers]);return this._provider||this.validateHeaders(g,a.__security??{bearerAuth:!0}),g.values}_makeAbort(a){return()=>a.abort()}buildBody({options:a}){let{body:b,headers:c}=a;if(!b)return void 0===b&&"body"in a?{...em(this,aD,"f").call(this,{body:b,headers:fy([c])}),isStreamingBody:!1}:{bodyHeaders:void 0,body:void 0,isStreamingBody:!1};let d=fy([c]),e=void 0!==globalThis.ReadableStream&&b instanceof globalThis.ReadableStream,f=!e&&("string"==typeof b||b instanceof ArrayBuffer||ArrayBuffer.isView(b)||void 0!==globalThis.Blob&&b instanceof globalThis.Blob||b instanceof URLSearchParams||b instanceof FormData);return ArrayBuffer.isView(b)||b instanceof ArrayBuffer||b instanceof DataView||"string"==typeof b&&d.values.has("content-type")||globalThis.Blob&&b instanceof globalThis.Blob||b instanceof FormData||b instanceof URLSearchParams||e?{bodyHeaders:void 0,body:b,isStreamingBody:!f}:"object"==typeof b&&(Symbol.asyncIterator in b||Symbol.iterator in b&&"next"in b&&"function"==typeof b.next)?{bodyHeaders:void 0,body:eU(b),isStreamingBody:!0}:"object"==typeof b&&"application/x-www-form-urlencoded"===d.values.get("content-type")?{bodyHeaders:{"content-type":"application/x-www-form-urlencoded"},body:this.stringifyQuery(b),isStreamingBody:!1}:{...em(this,aD,"f").call(this,{body:b,headers:d}),isStreamingBody:!1}}}aC=h4,aD=new WeakMap,aB=new WeakSet,aE=function(){return void 0!==this._provider||"https://api.openai.com/v1"!==this.baseURL},h4.OpenAI=aC,h4.DEFAULT_TIMEOUT=6e5,h4.OpenAIError=eq,h4.APIError=er,h4.APIConnectionError=et,h4.APIConnectionTimeoutError=eu,h4.APIUserAbortError=es,h4.NotFoundError=ey,h4.ConflictError=ez,h4.RateLimitError=eB,h4.BadRequestError=ev,h4.AuthenticationError=ew,h4.InternalServerError=eC,h4.PermissionDeniedError=ex,h4.UnprocessableEntityError=eA,h4.InvalidWebhookSignatureError=eF,h4.toFile=fW,h4.toStreamingFile=function(a,b,c){if(!b)throw TypeError("toStreamingFile requires a non-empty file name");return{[fz]:!0,data:a,name:b,...c?.type?{type:c.type}:{}}},h4.Completions=hd,h4.Chat=gm,h4.Embeddings=hk,h4.Files=ho,h4.Images=hz,h4.ContentProvenanceChecks=hh,h4.Audio=gW,h4.Moderations=hB,h4.Models=hA,h4.FineTuning=hw,h4.Graders=hy,h4.VectorStores=hZ,h4.Webhooks=h_,h4.Beta=hc,h4.Batches=gX,h4.Uploads=hV,h4.Admin=gS,h4.Responses=hP,h4.Realtime=hE,h4.Conversations=hj,h4.Evals=hn,h4.Containers=hg,h4.Skills=hT,h4.Videos=h$;var h5=c(34159),h6=c(77275),h7=c(31846),h8=c(8897),h9=c(12853),ia=c(81562),ib=c(12952),ic=c(39361);function id(a){return(0,ic.BV)(`flujo-ui:mcp-canvas:dismissed:${a}`)}function ie(a){let b=(0,bX.Aq)(id(a),[]);return Array.isArray(b)?b.filter(a=>"string"==typeof a):[]}function ig(a,b,c){if(0===b.length)return;let d=new Set(ie(a));for(let a of b)c?d.add(a):d.delete(a);(0,bX.vi)(id(a),[...d])}function ih(a){return(0,ic.BV)(`flujo-ui:mcp-canvas:auto-open-suppressed:${a}`)}function ii(a){return!0===(0,bX.Aq)(ih(a),!1)}let ij=(0,de.h)("frontend/components/Chat/index");function ik(a){let b=(0,aG.useRef)(a);return b.current=a,(0,aG.useCallback)((...a)=>b.current(...a),[])}function il(a){if(Array.isArray(a.content))return a.content;let b="string"==typeof a.content?a.content:"",c=a.attachments??[],d=c.filter(a=>"document"===a.type&&!a.content.startsWith("data:")),e=c.filter(a=>"image"===a.type),f=c.filter(a=>"image"!==a.type&&!d.includes(a));if(d.length>0&&(b+="\n\n"+d.map(a=>`[DOCUMENT]: ${a.content}`).join("\n\n")),0===e.length&&0===f.length)return b;let g=[];for(let a of(b.trim()&&g.push({type:"text",text:b}),e))g.push({type:"image_url",image_url:{url:a.content}});for(let a of f)if("audio"===a.type){let b=/^data:([^;,]+);base64,([\s\S]*)$/.exec(a.content),c=a.mimeType??b?.[1];b&&("audio/wav"===c||"audio/mpeg"===c)?g.push({type:"input_audio",input_audio:{data:b[2],format:"audio/mpeg"===c?"mp3":"wav"}}):g.push({type:"audio_url",audio_url:{url:a.content,mime_type:c}}),a.transcript&&g.push({type:"text",text:`[Audio transcript]: ${a.transcript}`})}else"video"===a.type?g.push({type:"video_url",video_url:{url:a.content,mime_type:a.mimeType}}):g.push({type:"file",file:{file_data:a.content,filename:a.originalName,mime_type:a.mimeType}});return g}let im=(a,b)=>a.length===b.length&&a.every((a,c)=>{let d=b[c];return a.id===d.id&&a.title===d.title&&a.flowId===d.flowId&&a.status===d.status&&a.recovery?.classification===d.recovery?.classification&&a.recovery?.updatedAt===d.recovery?.updatedAt&&a.plannedExecutionId===d.plannedExecutionId&&a.source===d.source&&a.parentConversationId===d.parentConversationId&&a.rootConversationId===d.rootConversationId&&a.createdAt===d.createdAt&&a.updatedAt===d.updatedAt&&a.lastUserMessageAt===d.lastUserMessageAt}),io=/cancelled by user|execution cancelled/i,ip=a=>a?.code==="cancelled"||a?.error?.code==="cancelled"||[a?.message,"string"==typeof a?.body?.error?a.body.error:void 0].some(a=>"string"==typeof a&&io.test(a)),iq=()=>{var a;let b,c=(0,aJ.useRouter)(),d=(0,a0.A)(),{t:e,tp:f}=(0,bZ.s9)(),{settings:g}=(0,h5.rX)(),h=g?.experimental?.requireMcpAppLaunchClick!==!0,i=(0,aK.A)(d.breakpoints.down("lg"),{noSsr:!0}),j=(0,aK.A)(d.breakpoints.down("sm"),{noSsr:!0}),[k,l]=(0,aG.useState)([]),[m,n]=(0,aG.useState)(!0),[o,p]=(0,aG.useState)(!1),[q,r]=(0,aG.useState)(null),[s,t]=(0,aG.useState)({total:0,hasMore:!1}),u=(0,aG.useRef)(s),v=(0,aG.useRef)(0),w=(0,aG.useCallback)(a=>{u.current=a,t(a)},[]),[x,y]=(0,aG.useState)(null),[z,A]=(0,aG.useState)(!1),[B,C]=(0,aG.useState)(null),[D,E]=(0,bl.Mj)(bl.Zg.CURRENT_CONVERSATION_ID,null),F=(0,aG.useRef)(D),G=(0,aG.useRef)(new Map),[H,I]=(0,aG.useState)(()=>new Set),[J,K]=(0,aG.useState)(0),L=(0,aG.useMemo)(()=>D?new Set(ie(D)):new Set,[D,J]),M=(0,aG.useCallback)((a,b,c)=>{let d;d=new Set(ie(a)),c?d.add(b):d.delete(b),(0,bX.vi)(id(a),[...d]),K(a=>a+1)},[]),N=(0,aG.useCallback)(a=>{let b=F.current;b&&M(b,a,!1)},[M]),[O,P]=(0,aG.useState)(0),Q=(0,aG.useMemo)(()=>!!D&&ii(D),[D,O]),R=(0,aG.useCallback)((a,b)=>{(0,bX.vi)(ih(a),b),P(a=>a+1)},[]),S=(0,aG.useRef)(new Map),T=(0,aG.useRef)(0),U=(0,aG.useCallback)(a=>{let b=T.current+1;T.current=b;let c=F.current;if(c===a)return void E(a);let d=c?`${c}\u0000`:null,e=d?[...S.current.entries()].filter(([a])=>a.startsWith(d)).map(([,a])=>a):[];if(0===e.length){F.current=a,E(a);return}Promise.allSettled(e.map(a=>a())).then(()=>{T.current===b&&(F.current=a,E(a))})},[E]),[V,W]=(0,bl.Mj)(bl.Zg.LAST_PICKED_FLOW_ID,null),[X,Y]=(0,aG.useState)(!1),[Z,$]=(0,aG.useState)(new Set),_=(0,aG.useCallback)((a,b)=>{a&&$(c=>{if(b===c.has(a))return c;let d=new Set(c);return b?d.add(a):d.delete(a),d})},[]),[aa,ab]=(0,aG.useState)({}),ac=(0,aG.useRef)(!1),[ad,ae]=(0,aG.useState)(null),[af,ag]=(0,aG.useState)(null),[ah,ai]=(0,aG.useState)(null),[aj,ak]=(0,aG.useState)(null),[al,am]=(0,aG.useState)([]),[an,ao]=(0,aG.useState)(!1),[ap,aq]=(0,aG.useState)(!1),[ar,as]=(0,aG.useState)(""),[at,au]=(0,aG.useState)(!1),[av,aw]=(0,aG.useState)(null),[ax,ay]=(0,aG.useState)(null),[az,aA]=(0,aG.useState)(null),[aB,aC]=(0,aG.useState)(null),[aD,aE]=(0,aG.useState)(null),[aH,aI]=(0,aG.useState)(null),[a9,bm]=(0,aG.useState)(!1),[bn,bo]=(0,aG.useState)(null),[bp,bq]=(0,aG.useState)(-1),[br,bs]=(0,aG.useState)(0),[bt,bu]=(0,aG.useState)("chat"),[bv,bw]=(0,aG.useState)(!1),[bx,by]=(0,aG.useState)(!1),[bz,bA]=(0,aG.useState)(!1),[bB,bC]=(0,aG.useState)(()=>0),[bD,bE]=(0,aG.useState)(()=>!1);(0,aG.useEffect)(()=>{},[bD]),(0,aG.useEffect)(()=>{bu("chat"),bq(-1),bs(0)},[D]),(0,aG.useEffect)(()=>{bn||(bu("chat"),bq(-1),bs(0))},[bn]);let[bF,bG]=(0,aG.useState)(()=>!1);(0,aG.useEffect)(()=>{},[bF]);let[bH,bI]=(0,aG.useState)(()=>320),bJ=(0,aG.useCallback)(a=>{a.preventDefault();let b=a.clientX,c=0;bI(a=>(c=a,a));let d=document.body.style.userSelect,e=document.body.style.cursor;document.body.style.userSelect="none",document.body.style.cursor="col-resize";let f=a=>{bI(Math.min(Math.max(c+(b-a.clientX),240),Math.round(.7*window.innerWidth)))},g=()=>{window.removeEventListener("pointermove",f),window.removeEventListener("pointerup",g),document.body.style.userSelect=d,document.body.style.cursor=e,bI(a=>(a>0&&window.localStorage.setItem("flujo-workflow-panel-width",String(Math.round(a))),a))};window.addEventListener("pointermove",f),window.addEventListener("pointerup",g)},[]),bK=(0,aG.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=>{bC(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,bC(a=>(a>0&&window.localStorage.setItem("flujo-debugger-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[bL,bM]=(0,aG.useState)(()=>300),[bN,bO]=(0,aG.useState)(()=>!1),[bP,bQ]=(0,aG.useState)(!1),bS=i?!bP:bN,bT=(0,aG.useCallback)(()=>{i?bQ(a=>!a):bO(a=>!a)},[i]),bU=ik(a=>{U(a),i&&bQ(!1)}),bV=(0,aG.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=>{bM(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,bM(a=>(a>0&&window.localStorage.setItem("flujo-chat-sidebar-width",String(Math.round(a))),a))};window.addEventListener("pointermove",d),window.addEventListener("pointerup",e)},[]),[bW,bY]=(0,aG.useState)(null),[b$,b_]=(0,aG.useState)(null),[b0,b1]=(0,aG.useState)(dx),[b2,b3]=(0,aG.useState)([]),[b4,b6]=(0,aG.useState)(cB),[b7,b8]=(0,aG.useState)([]),[b9,ca]=(0,aG.useState)(new Set),[cb,cc]=(0,aG.useState)([]),[cg,ch]=(0,aG.useState)(null),ci=(0,aG.useRef)(null),cj=(0,aG.useRef)(null),ck=(0,aG.useRef)(null),cl=(0,aG.useRef)(null),cm=(0,aG.useRef)(-1),cn=(0,aG.useRef)(new Map);(0,aG.useEffect)(()=>{F.current=D},[D]);let co=(0,aG.useRef)(new Set),cp=(0,aG.useRef)(null),cr=(0,aG.useRef)(!1),cs=(0,aG.useRef)(new Set),ct=(0,aG.useRef)(new Set),[cy,cz]=(0,aG.useState)(new Set),cA=(0,aG.useCallback)((a,b)=>{a&&(b?ct.current.add(a):ct.current.delete(a),cz(new Set(ct.current)))},[]),cD=function(a={}){let{conversationId:b,messages:c,autoHideEnabled:d,idleMs:e}=a,f=(0,a0.A)(),g=(0,aK.A)(f.breakpoints.down("sm")),h=function({enabled:a,idleMs:b=2500}){let[c,d]=(0,aG.useState)(!1),e=(0,aG.useRef)(null),f=(0,aG.useCallback)(()=>{e.current&&(clearTimeout(e.current),e.current=null)},[]),g=(0,aG.useCallback)(()=>{f(),e.current=setTimeout(()=>{e.current=null,d(!0)},b)},[f,b]),h=(0,aG.useCallback)(()=>{(d(!1),a)?g():f()},[g,f,a]);return{visible:!a||!c,poke:h}}({enabled:d??g,...void 0===e?{}:{idleMs:e}}),i=(0,a2.Q)({bottomThreshold:80,anchorSelector:"[data-ask-flujo-message-id]",deps:[b,c]}),j=i.ref,k=(0,aG.useRef)(!0),l=(0,aG.useCallback)((a="auto")=>{let b=j.current;b&&(b.scrollTo({top:b.scrollHeight,behavior:(0,a3.ik)(a)}),i.measure())},[j,i]),m=(0,aG.useCallback)(()=>{let a=j.current;a&&(k.current=a.scrollHeight-a.scrollTop-a.clientHeight<80),i.onScroll(),h.poke()},[j,i,h]),n=(0,aG.useCallback)(()=>{h.poke()},[h]),o=(0,aG.useCallback)(()=>{k.current=!1;let a=j.current;a&&a.scrollTo({top:0,behavior:(0,a3.ik)("smooth")}),i.measure()},[j,i]),p=(0,aG.useCallback)(()=>{k.current=!1,i.scrollToPreviousAnchor()},[i]),q=(0,aG.useCallback)(()=>{k.current=!0,l("smooth")},[l]),r=(0,aG.useCallback)(a=>{h.poke(),"top"===a?o():"up"===a?p():"bottom"===a&&q()},[h,o,p,q]),s=(0,aG.useMemo)(()=>({top:i.atTop,up:i.atTop,bottom:i.atBottom}),[i.atTop,i.atBottom]);return{containerProps:{ref:j,onScroll:m,onPointerDown:n},scrollRef:j,show:i.scrollable&&h.visible,actions:a4,disabled:s,onAction:r,jumpToLatest:q,isPinnedToBottom:()=>k.current}}({conversationId:D,messages:x?.messages}),cE=(0,aG.useRef)(null);(0,aG.useEffect)(()=>{cE.current=cg},[cg]),(0,aG.useEffect)(()=>{ci.current=new h4({baseURL:window.location.origin+"/v1",apiKey:"FLUJO",dangerouslyAllowBrowser:!0,maxRetries:0,timeout:18e6})},[]),(0,aG.useEffect)(()=>{(async()=>{ij.debug("Loading flows");try{let a=await du.g.loadFlows();am(a)}catch(a){ij.error("Error loading flows:",a)}})()},[]);let cF=(0,aG.useCallback)((a,b)=>{let c=b?.silent??!1,d=async()=>{ij.debug("Fetching conversation list from backend",{silent:c}),c||(n(!0),r(null));let b=[],d=!1;try{let a=c?Math.max(50,v.current):50,d=await b5.O.listConversationPage({limit:Math.min(200,a)}),e=[...d.items];for(;e.length<a&&d.nextCursor;)d=await b5.O.listConversationPage({limit:Math.min(200,a-e.length),cursor:d.nextCursor}),e.push(...d.items);for(let a of(v.current=(b=e.filter(a=>!cs.current.has(a.id)).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))).length,w({total:d.total,hasMore:d.hasMore,nextCursor:d.nextCursor}),b))co.current.delete(a.id);l(a=>{let c=a.filter(a=>co.current.has(a.id)),d=a.find(a=>a.id===F.current&&!co.current.has(a.id)&&!b.some(b=>b.id===a.id)),e=[...c,...b,...d?[d]:[]].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return im(a,e)?a:e}),ij.info(`Fetched ${b.length} conversations for the list`)}catch(a){d=!0,ij.error("Error fetching conversation list:",a),c||(r(e("chat.page.historyLoadFailed")),l([]),v.current=0,w({total:0,hasMore:!1}))}finally{if(c||n(!1),c||d)return;let e=void 0!==a?a:F.current,f=F.current;if(e&&(b.some(a=>a.id===e)||co.current.has(e)||void 0===a))e!==f&&(ij.debug(`Setting currentConversationId to ${e} after fetch/operation.`),U(e));else if(b.length>0){let a=b[0].id;a!==f&&(ij.debug(`Selecting most recent conversation ${a} after fetch/operation.`),U(a))}else null===f||co.current.has(f)||(ij.debug("No conversations available after fetch/operation, clearing selection."),U(null))}};if(!c)return d();if(cp.current)return cr.current=!0,cp.current;let f=(async()=>{do cr.current=!1,await d();while(cr.current)})().finally(()=>{cp.current===f&&(cp.current=null)});return cp.current=f,f},[U,e,w]),cG=(0,aG.useCallback)(async()=>{let a=u.current.nextCursor;if(a&&!o){p(!0);try{let b=await b5.O.listConversationPage({limit:50,cursor:a}),c=b.items.filter(a=>!cs.current.has(a.id));l(a=>{let b=new Map(a.map(a=>[a.id,a]));for(let a of c)b.set(a.id,a);let d=[...b.values()].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return im(a,d)?a:d}),v.current+=c.filter(a=>!co.current.has(a.id)).length,w({total:b.total,hasMore:b.hasMore,nextCursor:b.nextCursor})}catch(a){ij.error("Could not load the next conversation page",a),r(e("chat.page.historyLoadFailed"))}finally{p(!1)}}},[o,e,w]),cH=(0,aG.useCallback)(async()=>{let a=(await b5.O.listAllConversationPages()).filter(a=>!cs.current.has(a.id)).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));v.current=a.length,w({total:a.length,hasMore:!1});let b=[...k.filter(a=>co.current.has(a.id)),...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt));return l(a=>im(a,b)?a:b),b},[k,w]);(0,aG.useEffect)(()=>{cF()},[]),(0,aG.useEffect)(()=>{let a=null,b=null,c=null,d=!1,e=0,f=()=>{a&&clearTimeout(a),b&&clearTimeout(b),a=null,b=null},g=()=>{a&&clearTimeout(a),d||"visible"!==document.visibilityState||(a=setTimeout(()=>{a=null,e=Date.now(),cF(void 0,{silent:!0}).finally(g)},3e4))},h=()=>{d||"visible"!==document.visibilityState||b||(b=setTimeout(()=>{b=null,e=Date.now(),cF(void 0,{silent:!0}).finally(g)},Math.max(200,5e3-(Date.now()-e))))},i=()=>{c||d||"visible"!==document.visibilityState||(c=b5.O.subscribeToSidebarEvents({onEvent:h}))},j=()=>{c?.close(),c=null},k=()=>{if("visible"!==document.visibilityState){f(),j();return}i(),e=Date.now(),cF(void 0,{silent:!0}).finally(g)};return e=Date.now(),i(),g(),document.addEventListener("visibilitychange",k),()=>{d=!0,f(),j(),document.removeEventListener("visibilitychange",k)}},[cF]);let cI=(0,aG.useCallback)(async a=>{if(co.current.has(a))return void ij.debug("Skipping detail fetch for client-only conversation",{conversationId:a});if(F.current!==a){ij.debug("Detail fetch requested for non-viewed conversation; refreshing list instead",{conversationId:a}),cF(void 0,{silent:!0});return}ij.debug("Fetching detailed conversation",{conversationId:a}),A(!0),C(null);try{let b=await b5.O.getConversation(a);if(F.current!==a)return void ij.debug("Discarding stale detailed conversation response",{fetchedId:a,currentId:F.current});void 0===b.mcpAppContexts||cn.current.has(a)||cn.current.set(a,{...b.mcpAppContexts}),y(b),"error"===b.status&&b.lastError?ag(b.lastError):"error"!==b.status&&ag(null),l(c=>c.map(c=>c.id===a?{...c,title:b.title,flowId:b.flowId,updatedAt:b.updatedAt,status:b.status??c.status}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),ij.info("Fetched detailed conversation successfully",{conversationId:a})}catch(b){if(ij.error("Error fetching detailed conversation:",{conversationId:a,err:b}),F.current!==a)return;b instanceof b5.b&&404===b.status?(C(e("chat.page.conversationNotFound",{id:a})),U(null),cF()):C(e("chat.page.detailsLoadFailed",{id:a})),y(null)}finally{F.current===a&&A(!1)}},[cF,U,e]);(0,aG.useEffect)(()=>{aw(null),aE(null),D?cI(D):(y(null),A(!1),C(null))},[D,cI]),(0,aG.useEffect)(()=>{let a=x?.id;if(!a||a!==D)return void I(a=>0===a.size?a:new Set);let b=(0,ib.fT)(G.current,a,x.messages);0!==b.length&&I(new Set((0,ib.pv)(x.messages,b)))},[D,x?.id,x?.messages]),(0,aG.useEffect)(()=>{if(0===H.size)return;let a=window.setTimeout(()=>I(new Set),1500);return()=>window.clearTimeout(a)},[H]);let cJ=x?.parentConversationId?k.find(a=>a.id===x.parentConversationId):void 0;(0,aG.useEffect)(()=>{let a=x?.id;if(!(a&&x?.status==="error")||!a)return void ai(null);let b=!1;return b5.O.getSubflowRecoveryOptions(a).then(a=>{b||ai(a.hasRecoverableFamily?a:null)}).catch(c=>{ij.warn("Could not load subflow recovery options",{conversationId:a,err:c}),b||ai(null)}),()=>{b=!0}},[x?.id,x?.parentConversationId,x?.status,cJ?.status,cJ?.updatedAt,cJ?.recovery?.updatedAt]),(0,aG.useEffect)(()=>{x&&ao(x.requireApproval??!1)},[x?.id]);let cK=(0,aG.useCallback)(async a=>{if(ao(a),D)try{await b5.O.updateConversationApproval(D,a)}catch(a){ij.warn("Failed to persist requireApproval setting",{conversationId:D,err:a})}},[D]),cL=k.find(a=>a.id===D)||null,cM=(0,aG.useMemo)(()=>{let a={};for(let b of al)b.id&&(a[b.id]=b.name);return a},[al]),cN=(0,aG.useMemo)(()=>al.find(a=>a.id===x?.flowId)||null,[al,x?.flowId]),cO=(0,aG.useCallback)(a=>{if("chat-message"===a.target.kind&&a.target.id&&"highlight"===a.type){let b=[...document.querySelectorAll("[data-ask-flujo-message-id]")].find(b=>b.getAttribute("data-ask-flujo-message-id")===a.target.id)??null,c=(0,h7.g_)(b);return{success:c,message:c?"Highlighted the conversation message.":"That message is not currently visible."}}if("chat-field"===a.target.kind&&"title"===a.target.field){if("highlight"===a.type){let a=(0,h7.g_)(document.querySelector("[data-ask-flujo-chat-title]"));return{success:a,message:a?"Highlighted the conversation title.":"The title is not currently visible."}}return"string"==typeof a.value&&a.value.trim()?(as(a.value),aq(!0),{success:!0,message:"Updated the title field. Confirm it with the normal save control."}):{success:!1,message:"The conversation title must be non-empty text."}}return{success:!1,message:"That conversation UI target is not supported."}},[]);(0,h6.qz)({scopeId:x?`chat:${x.id}`:"chat:none",pageType:"chat",route:"/chat",title:x?.title??e("nav.talk"),identifiers:{conversationId:x?.id??D,flowId:x?.flowId??null},data:{conversation:x,selectedFlow:cN,requireApproval:an,executeInDebugger:at},capabilities:{highlightTargets:[...(x?.messages??[]).map(a=>({kind:"chat-message",id:a.id,role:a.role,processNodeId:a.processNodeId})),{kind:"chat-field",field:"title"}],editableTargets:[{kind:"chat-field",field:"title"}],notes:["The conversation id and flow id are always supplied explicitly."]}},cO,100);let cP=(0,aG.useMemo)(()=>cN?.nodes?.map(a=>({id:a.id,label:a.data.label||a.id}))||[],[cN]),cQ=(0,aG.useMemo)(()=>{var a;let b;return a={messages:x?.messages,nodeExecutionTracker:bn?.trackingInfo?.nodeExecutionTracker,executionTrace:bn?.executionTrace,sseVisitedIds:b9},b=new Set,a.messages?.forEach(a=>{a?.processNodeId&&b.add(a.processNodeId)}),a.nodeExecutionTracker?.forEach(a=>{a?.nodeId&&b.add(a.nodeId)}),a.executionTrace?.forEach(a=>{a?.nodeId&&b.add(a.nodeId)}),a.sseVisitedIds?.forEach(a=>{a&&b.add(a)}),Array.from(b)},[x?.messages,bn,b9]);(0,aG.useEffect)(()=>{ca(new Set),b3([])},[x?.id]);let cR=(0,aG.useMemo)(()=>{let a=a=>!!a&&cP.some(b=>b.id===a);if(a(aD))return aD;if(a(x?.currentNodeId))return x.currentNodeId;let b=x?.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 cP[0]?.id??null},[aD,x,cP]),cS=async a=>{ij.debug("Attempting to create new conversation"),ae(null),ag(null);let b="string"!=typeof a||bR(a)?void 0:al.find(b=>b.id===a),c=V&&!bR(V)?al.find(a=>a.id===V):void 0,d=(b??c??al.find(a=>a.favorite)??al[0])?.id||null;if(!d){ij.error("Cannot create conversation: No flows available or first flow has no ID."),ae(e("chat.page.noAgents"));return}let f=(0,ek.A)(),g=Date.now(),h={id:f,title:e("chat.page.newTitle"),flowId:d,createdAt:g,updatedAt:g};try{ij.info("Sending request to create conversation on backend",{payload:JSON.stringify(h)});let a=await b5.O.createConversation(h);ij.info("Successfully created conversation on backend",{conversationId:a.id}),l(b=>[a,...b].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(a.id),y({id:a.id,title:a.title,flowId:a.flowId,createdAt:a.createdAt,updatedAt:a.updatedAt,messages:[]}),A(!1),C(null)}catch(b){ij.error("Error creating conversation on backend:",b);let a=e("chat.page.createFailed");b instanceof b5.b?a+=` (${b.body?.error||b.message})`:b instanceof Error&&(a+=` (${b.message})`),ae(a)}};(0,h8.R)({param:"flow",ready:al.length>0,exists:a=>al.some(b=>b.id===a)&&!bR(a),onResolve:a=>cS(a),consume:!0,replacePath:"/chat"});let cT=ik(()=>{cS()});(0,h8.R)({param:ia.AW,ready:al.length>0,exists:a=>(0,ia.k2)(a),onResolve:a=>{(0,ia.pP)(a)&&cT()},consume:!0,replacePath:"/chat"}),(0,aG.useEffect)(()=>(0,ia.lP)(a=>{(0,ia.pP)(a)&&cT()}),[cT]);let[cV,cW]=(0,aG.useState)(null),cX=(0,aG.useRef)(0),cZ=(0,aG.useCallback)(a=>{cX.current+=1,cW({id:a,requestKey:cX.current})},[]),c$=(0,aG.useRef)(null),c_=(0,aG.useRef)(!1),c0=(0,aG.useCallback)(a=>{if(c$.current=a,k.some(b=>b.id===a)){U(a),cZ(a);return}!u.current.hasMore||c_.current?ij.warn("Conversation deep link target does not exist, ignoring",{id:a}):(c_.current=!0,cH().then(b=>{if(c$.current===a){if(!b.some(b=>b.id===a))return void ij.warn("Conversation deep link target does not exist, ignoring",{id:a});U(a),cZ(a)}}).catch(b=>{ij.warn("Could not materialize conversation deep link target",{id:a,error:b})}).finally(()=>{c_.current=!1}))},[k,cH,cZ,U]);(0,h8.R)({param:"conversation",ready:!m,exists:a=>k.some(b=>b.id===a)||u.current.hasMore,onResolve:a=>c0(a)});let[c1,c2]=(0,aG.useState)(null);(0,h8.R)({param:"message",ready:!z&&!!x&&x.id===D,exists:a=>!!x?.messages?.some(b=>b.id===a),onResolve:a=>c2(a),consume:!0,replacePath:D?(0,h9.F)({kind:"conversation",id:D}):"/chat"}),(0,aG.useEffect)(()=>{},[D,k,m,c]),(0,aG.useEffect)(()=>{if(!c1)return;let a=window.setTimeout(()=>c2(null),4e3);return()=>window.clearTimeout(a)},[c1]),(0,aG.useEffect)(()=>{c2(null)},[D]);let[c3,c4]=(0,aG.useState)(!1),c5=async a=>{ae(null),ag(null);let b=(0,ek.A)(),{flow:c}=await b5.O.synthesizeQuickChat({conversationId:b,modelId:a.modelId,servers:a.servers,systemPrompt:a.systemPrompt}),d=Date.now(),f=await b5.O.createConversation({id:b,title:e("chat.page.quickChat"),flowId:c.id,flowSnapshot:c,createdAt:d,updatedAt:d});l(a=>[f,...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(f.id),y({id:f.id,title:f.title,flowId:f.flowId,createdAt:f.createdAt,updatedAt:f.updatedAt,messages:[]}),A(!1),C(null),c4(!1)},c8=(0,aG.useCallback)(a=>{ij.debug("Updating detailed conversation state locally",{conversationId:a.id});let b={...a,updatedAt:Date.now()};y(b),l(a=>a.map(a=>a.id===b.id?{...a,title:b.title,updatedAt:b.updatedAt}:a).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))},[]),c9=(0,aG.useCallback)(()=>{ck.current&&(ij.debug("Closing execution event stream"),ck.current.close(),ck.current=null)},[]),da=(0,aG.useCallback)((a,b)=>{l(c=>{let d=c.findIndex(b=>b.id===a);if(-1===d||c[d].status===b)return c;let e=[...c];return e[d]={...e[d],status:b},e})},[]),db=(0,aG.useCallback)(a=>{if("number"==typeof a.seq){if(a.seq<=cm.current)return;cm.current=a.seq}("run:start"===a.type||"run:done"===a.type||"run:paused"===a.type||"breakpoint:hit"===a.type||"subflow:start"===a.type||"subflow:done"===a.type||"node:enter"===a.type||"node:exit"===a.type||"resource:read"===a.type||"resource:write"===a.type||"error"===a.type)&&b3(b=>{if("run:start"===a.type)return[a];let c=[...b,a];return c.length>2e3?c.slice(c.length-2e3):c}),"recovery:retry"!==a.type&&b_(b=>b&&(!a.conversationId||b.conversationId===a.conversationId)?null:b);let b=a=>bY(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()})),c=a=>b1(b=>{let c,d=Date.now(),e={byNode:{...b.byNode},byResource:{...b.byResource},byResourceName:{...b.byResourceName},resourceVersion:b.resourceVersion};return a(e),{byNode:(c=a=>{let b={};for(let[c,e]of Object.entries(a))d-e.ts<4e3&&(b[c]=e);return b})(e.byNode),byResource:c(e.byResource),byResourceName:c(e.byResourceName),resourceVersion:e.resourceVersion}});if(null!=a.laneIndex)switch(b6(b=>(function(a,b,c=Date.now()){let d=b.laneIndex,e=b.laneCount;if(null==d||null==e)return a;let f=("subflow:start"===b.type||"subflow:done"===b.type)&&1===b.depth;if(f&&"subflow:start"===b.type){let f,g=b.node?.nodeId,h=a.ownerNodeId&&g&&a.ownerNodeId!==g?{}:{...a.byIndex};return cC(h,e,c),h[d]={laneIndex:d,laneCount:e,label:b.laneTitle||((f=b.subflowName||b.subflowId)?`${f} ${d+1}/${e}`:`Lane ${d+1}/${e}`),laneConversationId:b.laneConversationId??h[d]?.laneConversationId,status:"running",lastEventAt:c},{ownerNodeId:g??a.ownerNodeId,byIndex:h}}if(f&&"subflow:done"===b.type){let f={...a.byIndex};cC(f,e,c);let g=f[d];return f[d]={...g,label:g.label&&"pending"!==g.status?g.label:b.laneTitle||g.label,laneConversationId:g.laneConversationId??b.laneConversationId,status:"capped"===b.status?"completed":b.status,activity:void 0,lastEventAt:c},{ownerNodeId:a.ownerNodeId??b.node?.nodeId,byIndex:f}}let g=function(a){switch(a.type){case"node:enter":return a.node?.nodeName||a.node?.nodeId||void 0;case"tool:call":return a.name;case"tool:progress":return a.message?`${a.name} — ${a.message}`:a.name;case"subflow:start":return`↳ ${a.subflowName||a.subflowId}`;case"handoff":return`→ ${a.toNodeId}`;default:return}}(b);if(void 0===g)return a;let h=a.byIndex[d];if(h&&h.activity===g&&"pending"!==h.status||h&&("completed"===h.status||"error"===h.status))return a;let i={...a.byIndex};cC(i,e,c);let j=i[d];return i[d]={...j,status:"pending"===j.status?"running":j.status,activity:g,lastEventAt:c},{ownerNodeId:a.ownerNodeId,byIndex:i}})(b,a)),a.type){case"node:enter":if(a.node?.nodeId){let b=a.node.nodeId;c(a=>{a.byNode[b]={kind:"active",ts:Date.now()}}),ca(a=>a.has(b)?a:new Set(a).add(b))}b({});return;case"tool:call":case"tool:progress":case"subflow:start":case"handoff":b({});return}switch(a.type){case"run:start":bY({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),b1(dx),b6(cB),b8([]),a.conversationId&&(da(a.conversationId,"running"),cA(a.conversationId,!1));break;case"model:delta":b({}),y(b=>{if(!b||b.id!==a.conversationId)return b;let c=b.messages.findIndex(b=>b.id===a.messageId),d=c>=0?b.messages[c]:{id:a.messageId,role:"assistant",content:"",timestamp:a.timestamp,processNodeId:a.node?.nodeId};if("assistant"!==d.role)return b;let e=[...d.tool_calls??[]],f=a.toolCallDelta;if(f){let b=e[f.index];e[f.index]={id:f.id??b?.id??`pending_${a.messageId}_${f.index}`,type:"function",function:{name:`${b?.function.name??""}${f.nameDelta??""}`,arguments:`${b?.function.arguments??""}${f.argumentsDelta??""}`}}}let g={...d,content:`${"string"==typeof d.content?d.content:""}${a.delta??""}`,...a.mediaPart?{media:[...d.media??[],...(d.media??[]).some(b=>b.type===a.mediaPart?.type&&b.url===a.mediaPart?.url&&b.resourceUri===a.mediaPart?.resourceUri)?[]:[a.mediaPart]]}:{},...e.length>0?{tool_calls:e}:{}},h=[...b.messages];return c>=0?h[c]=g:h.push(g),{...b,messages:h}});break;case"model:end":b({}),a.discard&&a.messageId&&y(b=>{if(!b||b.id!==a.conversationId)return b;let c=b.messages.filter(b=>b.id!==a.messageId);return c.length===b.messages.length?b:{...b,messages:c}});break;case"message":{let c=a.message;b({}),y(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"node:changed-files":{b({});let c=a.node?.nodeId;if(!c||0===a.changedFiles.length)break;y(b=>{if(!b||b.id!==a.conversationId)return b;let d=b.messages.findLastIndex(a=>a.processNodeId===c);if(d<0)return b;let e=[...b.messages];return e[d]={...e[d],changedFiles:a.changedFiles.map(({path:a,status:b})=>({path:a,status:b}))},{...b,messages:e}});break}case"usage":bY(b=>({totalTokens:(b?.totalTokens??0)+Math.max(0,(a.totalTokens||0)-(a.cacheReadTokens||0)),activeNode:b?.activeNode??null,startedAt:b?.startedAt??Date.now(),lastEventAt:Date.now()}));break;case"node:enter":if(b({activeNode:a.node?.nodeName||a.node?.nodeId||null}),a.node?.nodeId){let b=a.node.nodeId;c(a=>{a.byNode[b]={kind:"active",ts:Date.now()}}),ca(a=>a.has(b)?a:new Set(a).add(b))}break;case"resource:read":case"resource:write":{let d="resource:read"===a.type?"read":"write";if("resource:write"===a.type&&"snapshot"===a.source&&a.snapshot&&a.node?.nodeId&&a.conversationId===F.current){let b=a.node.nodeId,c=a.snapshot.root;dv(a.conversationId),ds(d=>(0,cv.aE)(d,{serverName:"filesystem",uri:"ui://devcanvas/diff",instanceKey:`snapshot::${b}::${c}`,toolName:"snapshot_diff",resultContent:JSON.stringify({snapshotDiff:{nodeId:b,nodeName:a.node?.nodeName,root:c,startSnapshot:a.snapshot?.startSnapshot,endSnapshot:a.snapshot?.endSnapshot,changedFiles:a.snapshot?.changedFiles,resourceUri:a.uri}}),updateId:a.seq},Date.now(),Number.MAX_SAFE_INTEGER).state)}c(b=>{var c,e;let f=Date.now();a.node?.nodeId&&(b.byNode[a.node.nodeId]={kind:"read"===d?"resource-read":"resource-write",ts:f}),a.server&&a.uri&&(b.byResource[c=a.server,e=a.uri,`${c} ${e}`]={kind:d,ts:f}),a.name&&(b.byResourceName[a.name]={kind:d,ts:f}),"write"===d&&(b.resourceVersion=b.resourceVersion+1)}),b({});break}case"todo:update":b8(a.todos??[]),b({});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===F.current&&aw(a.pendingToolCalls||[]),a.conversationId&&da(a.conversationId,"awaiting_tool_approval");break;case"run:awaiting_elicitation":a.conversationId&&a.conversationId===F.current&&ay({elicitationId:a.elicitationId,message:a.message,requestedSchema:a.requestedSchema});break;case"run:awaiting_question":a.conversationId&&a.conversationId===F.current&&aA({questionId:a.questionId,questions:a.questions});break;case"breakpoint:hit":case"run:paused":Y(!1),a.conversationId&&(_(a.conversationId,!1),da(a.conversationId,"paused_debug")),bm(!0);break;case"run:done":if(a.conversationId&&(_(a.conversationId,!1),da(a.conversationId,a.status)),"error"===a.status&&a.error&&a.conversationId===F.current&&ag(a.error),a.conversationId===F.current&&(ay(null),aA(null)),a.conversationId&&cE.current&&a.conversationId!==cE.current)break;bY(null),b1(dx),b6(cB),Y(!1),ch(null),c9(),a.conversationId&&a.conversationId===F.current?cI(a.conversationId):cF(void 0,{silent:!0});break;case"recovery:retry":a.conversationId&&(b_({conversationId:a.conversationId,attempt:a.attempt,maxAttempts:a.maxAttempts,retryAt:a.retryAt}),da(a.conversationId,"running")),b({});break;case"error":ae(a.message||e("chat.page.executionError")),ag(a.error??{message:a.message||e("chat.page.executionError")});break;default:b({})}},[c9,cI,cF,_,da,cA,e]),dc=(0,aG.useCallback)((a,b)=>(c9(),cm.current=void 0!==b?b-1:-1,b6(cB),new Promise(c=>{let d=!1,e=()=>{d||(d=!0,c())};try{ck.current=b5.O.subscribeToEvents(a,{onEvent:db,onOpen:e},b),setTimeout(e,1500)}catch(b){ij.error("Failed to open execution event stream",{conversationId:a,err:b}),e()}})),[db,c9]);(0,aG.useEffect)(()=>{if(D&&cL?.status==="running"&&cE.current!==D){if(ct.current.has(D))return void ij.debug("Skipping re-attach to a conversation the user just stopped",{conversationId:D});ij.info("Re-attaching to in-progress run",{conversationId:D}),cE.current=D,Y(!0),ch(D),_(D,!0),bY(a=>a??{totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),dc(D,0)}},[D,cL?.status,dc]);let dd=async a=>{ij.debug("Attempting to delete conversation",{conversationId:a}),ae(null),ag(null),cs.current.add(a);let b=co.current.delete(a);cE.current===a&&(c9(),Y(!1),ch(null),bY(null),b6(cB),b_(null)),_(a,!1),ab(b=>cw(b,a));let c=k.filter(b=>b.id!==a);l(c);let d=D;D===a&&(c.length>0?(d=c[0].id,ij.debug("Deleted current conversation, selecting next most recent",{nextSelectionId:d})):(d=null,ij.debug("Deleted last conversation, clearing selection")),U(d));try{await b5.O.deleteConversation(a),ij.info("Successfully deleted conversation on backend",{conversationId:a}),b||(v.current=Math.max(0,v.current-1),w({...u.current,total:Math.max(0,u.current.total-1)}))}catch(c){ij.error("Error deleting conversation:",{conversationId:a,err:c}),ae(e("chat.page.deleteFailed",{id:a})),cs.current.delete(a),b&&co.current.add(a),l(k),U(D)}},de=async a=>{if(!a.length)return;ae(null),ag(null);let b=new Set(a),c=new Set(a.filter(a=>co.current.has(a))),d=k.filter(a=>b.has(a.id)&&!c.has(a.id)).length;a.forEach(a=>cs.current.add(a)),a.forEach(a=>co.current.delete(a));let f=F.current;f&&b.has(f)&&cE.current===f&&(c9(),Y(!1),ch(null),bY(null),b6(cB),b_(null)),a.forEach(a=>{_(a,!1),ab(b=>cw(b,a))}),l(a=>a.filter(a=>!b.has(a.id))),f&&b.has(f)&&U(null);try{let b=await b5.O.deleteConversations(a);ij.info("Bulk delete succeeded",{requested:a.length,...b}),v.current=Math.max(0,v.current-d);let e=a.length-c.size;w({...u.current,total:Math.max(0,u.current.total-Math.min(b.deleted,e))})}catch(b){ij.error("Bulk delete failed",{err:b}),ae(e("chat.page.bulkDeleteFailed")),a.forEach(a=>cs.current.delete(a)),c.forEach(a=>co.current.add(a)),l(k),U(D)}},df=async a=>{if(ij.debug("Flow selected, attempting to update",{flowId:a,currentConversationId:D}),ae(null),ag(null),!D){ij.warn("Cannot update flow: No conversation selected."),ae(e("chat.page.selectFirst"));return}x&&x.id===D&&y({...x,flowId:a,updatedAt:Date.now()}),l(b=>b.map(b=>b.id===D?{...b,flowId:a,updatedAt:Date.now()}:b).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)));try{let b=await b5.O.updateConversationFlow(D,a);ij.info("Successfully updated flowId on backend",{conversationId:D,flowId:a}),y(a=>a&&a.id===D?(ij.debug("Confirming detailedConversation update from server response",{conversationId:D,flowId:b.flowId}),{...a,flowId:b.flowId,updatedAt:b.updatedAt}):(ij.debug("Skipping detailedConversation update, ID mismatch or null state",{currentDetailedId:a?.id,targetId:D}),a)),l(a=>a.map(a=>a.id===D?b:a).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))}catch(c){ij.error("Error updating flowId on backend:",{conversationId:D,flowId:a,err:c});let b=e("chat.page.updateAgentFailed");c instanceof b5.b?b+=` (${c.body?.error||c.message})`:c instanceof Error&&(b+=` (${c.message})`),ae(b),y(x),l(k)}},dh=()=>{as(x?.title??cL?.title??""),aq(!0)},di=async()=>{if(aq(!1),!D)return;let a=x?.title??cL?.title??"",b=ar.trim().slice(0,200);if(b&&b!==a){y(a=>a&&a.id===D?{...a,title:b}:a),l(a=>a.map(a=>a.id===D?{...a,title:b}:a));try{let a=await b5.O.updateConversationTitle(D,b);y(b=>b&&b.id===D?{...b,title:a.title}:b),l(b=>b.map(b=>b.id===D?{...b,title:a.title}:b))}catch(b){ij.warn("Failed to rename conversation",{conversationId:D,err:b}),y(b=>b&&b.id===D?{...b,title:a}:b),l(b=>b.map(b=>b.id===D?{...b,title:a}:b)),ae(e("chat.page.renameFailed"))}}},dj=async(a,b=[],c)=>{let d;if(!a.trim()&&0===b.length)return;if(!x){ij.error("Cannot send message, detailed conversation not loaded."),ae(e("chat.page.detailsMissing"));return}if(!c?.fromQueue&&Z.has(x.id)){let c=x.id;if(0!==b.length||aD){let d={id:(0,ek.A)(),content:a,attachments:b,nodeOverride:aD??null,timestamp:Date.now()};ab(a=>{var b,e,f;return b=a,e=c,f=d,{...b,[e]:[...b[e]??[],f]}}),aE(null),ij.debug("Run in progress — queued message (not steerable)",{conversationId:c,queuedId:d.id,reason:b.length>0?"attachments":"node-override"});return}{let b=(0,ek.A)(),{delivered:d}=await b5.O.injectMessage(c,a,b);if(d){let d={id:b,role:"user",content:a,timestamp:Date.now()};c8({...x,messages:[...x.messages,d]}),ij.debug("Run in progress — injected steering message into the live run",{conversationId:c,messageId:b});return}ij.debug("Steering rejected (run no longer live) — sending as a normal turn",{conversationId:c})}}ij.debug("Sending message",{conversationId:x.id,contentLength:a.length,attachmentsCount:b.length});let f=x.messages,g=!f.some(a=>"user"===a.role),h=x.flowId,i=c?.fromQueue?c.nodeOverride??null:aD;if(i)d=i,c?.fromQueue||aE(null),ij.debug(`Assigning manually picked node ID to user message: ${d}`);else if(g){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`Assigning start node ID to first user message: ${d}`)):ij.warn(`Could not find start node for flow ${h}. User message will not have a processNodeId.`)}else if(cL?.status==="error"){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`Post-error message: re-driving turn from start node ID: ${d}`)):ij.warn(`Could not find start node for post-error message in flow ${h}. User message will not have a processNodeId.`)}else{for(let a=f.length-1;a>=0;a--){let b=f[a];if("assistant"===b.role&&b.processNodeId){d=b.processNodeId,ij.debug(`Assigning last assistant node ID to user message: ${d}`);break}}if(!d){let a=ei(al.find(a=>a.id===h));a?(d=a.id,ij.debug(`No prior assistant node ID found, falling back to start node ID: ${d}`)):ij.warn(`Could not find start node for fallback in flow ${h}. User message will not have a processNodeId.`)}}let j={id:(0,ek.A)(),role:"user",content:a,timestamp:Date.now(),attachments:b.length>0?b:void 0,processNodeId:d},k={...x,messages:[...x.messages,j]};c8(k),k.flowId?await dm(k):(ae(e("chat.page.chooseAgent")),y(x))},dk=(0,aG.useCallback)((a,b)=>{ij.verbose("Handling API response data",JSON.stringify(a)),_(b,"running"===a.status);let c=cE.current===b,d=F.current===b;if("paused_debug"===a.status&&a.debugState)return(ij.info("API Response: Paused for debugging",{conversationId:b}),d)?(bo(a.debugState),bm(!0),bw(!0),Y(!1),ch(null),c9(),dl(),y(c=>c?.id===b&&a.debugState.messages&&JSON.stringify(c.messages)!==JSON.stringify(a.debugState.messages)?(ij.debug("Updating detailed conversation messages from debug state"),{...c,messages:a.debugState.messages,updatedAt:a.debugState.updatedAt}):c),l(c=>c.map(c=>c.id===b?{...c,title:a.debugState.title??c.title,flowId:a.debugState.flowId??c.flowId,status:"paused_debug",updatedAt:a.debugState.updatedAt}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt)))):(da(b,"paused_debug"),c&&(Y(!1),ch(null),c9(),dl())),!0;if(("completed"===a.status||"error"===a.status)&&d?(ij.info(`API Response: Execution completed or errored (Status: ${a.status}). Hiding debugger panel.`,{conversationId:b}),by(!1),bA(!1),au(!1),bm(!1),bo(null),bw(!1),cc([])):ij.debug(`API Response: Status is '${a.status}'. Debugger panel visibility unchanged (currently ${a9?"visible":"hidden"}).`,{conversationId:b}),a.messages&&a.conversation_id===b){let c=a.messages.map((a,c)=>"number"!=typeof a.timestamp||isNaN(a.timestamp)?(ij.warn(`Invalid timestamp found in message index ${c} from API response. Defaulting to Date.now().`,{conversationId:b,messageId:a.id,invalidTimestamp:a.timestamp}),{...a,timestamp:Date.now()}):a);y(d=>{let e=d;return d?.id===b&&JSON.stringify(d.messages)!==JSON.stringify(c)&&(ij.info("API Response/Polling: Updating detailed conversation messages",{conversationId:b,newMessageCount:c.length}),e={...d,messages:c,updatedAt:a.updatedAt||d.updatedAt}),ij.debug("Polling: setDetailedConversation callback executed.",{conversationId:b,messagesChanged:e!==d,newMessageCount:e?.messages?.length??"N/A"}),e})}if("awaiting_tool_approval"===a.status)ij.info("API Response/Polling: Pausing for tool approval",{conversationId:b}),d&&aw(a.pendingToolCalls||[]),c&&(Y(!1),ch(null),c9(),dl());else if("completed"===a.status||"error"===a.status){if(ij.info("API Response/Polling: Stopping due to final status",{conversationId:b,status:a.status}),c&&(dl(),Y(!1),ch(null),c9()),"error"===a.status){let f=a.error?.message||a.lastResponse?.error||e("chat.page.unknownExecutionError");io.test(f)||ct.current.has(b)?(cA(b,!0),(c||d)&&ae(null),ag(null),ij.info("API Response/Polling: Execution cancelled by user",{conversationId:b})):(ae(f),ij.error("API Response/Polling: Execution resulted in error",{conversationId:b,error:a.error||a.lastResponse}))}cI(b)}else"running"!==a.status||a9?d&&aw(null):(d&&aw(null),c&&!cj.current&&Y(!0));return a.conversation_id===b&&l(c=>c.map(c=>c.id===b?{...c,title:a.title??c.title,flowId:a.flowId??c.flowId,status:a.status??c.status,updatedAt:a.updatedAt||c.updatedAt}:c).sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),!1},[y,aw,Y,ae,bm,bo,l,cI,c9,_,da,cA,e]),dl=()=>{cj.current&&(ij.debug("Stopping polling interval"),clearInterval(cj.current),cj.current=null)};(0,aG.useEffect)(()=>()=>{c9()},[c9]);let dm=async a=>{if(!a?.id||!a.flowId||!ci.current)return ij.error("Cannot send to completions: Missing conversation ID or flow ID.",{id:a?.id,flowId:a?.flowId}),ae(e("chat.page.agentMissing")),!1;aw(null),ae(null),ag(null),Y(!0),ch(a.id),_(a.id,!0),da(a.id,"running"),cA(a.id,!1);let b=co.current.delete(a.id);bY({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await dc(a.id);let c=!1;try{let b,d,e,f;if(bR(a.flowId))b="flow-Quick Chat",ij.debug("Sending quick chat to completions",{flowId:a.flowId,conversationId:a.id});else{let c=await du.g.getFlow(a.flowId);if(!c)throw Error(`Flow with ID ${a.flowId} not found`);b=`flow-${c.name}`,ij.debug("Sending to chat completions",{flowId:a.flowId,flowName:c.name,conversationId:a.id})}let g=a.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=il(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,toolPayloads:a.toolPayloads,...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,toolPayloads:a.toolPayloads,...d,processNodeId:c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...d,processNodeId:c}:{role:"user",content:b,...d,processNodeId:c}}),h=await ci.current.chat.completions.create({model:b,messages:g,stream:!1,metadata:(d=cn.current.get(a.id),e={flujo:"true",requireApproval:an?"true":void 0,flujodebug:at?"true":void 0,conversationId:a.id,compactToolPayloads:"true",mcpAppContexts:void 0===d?void 0:JSON.stringify(d)},f={},e.flujo&&(f.flujo=e.flujo),e.requireApproval&&(f.requireApproval=e.requireApproval),e.flujodebug&&(f.flujodebug=e.flujodebug),e.conversationId&&(f.conversationId=e.conversationId),e.compactToolPayloads&&(f.compactToolPayloads=e.compactToolPayloads),void 0!==e.mcpAppContexts&&(f.mcpAppContexts=e.mcpAppContexts),f)});ij.debug("Chat completion initial response received",{completionId:h.id}),c=!0;let i={...h,status:h.status||"completed",conversation_id:a.id,messages:h.messages||a.messages,pendingToolCalls:h.pendingToolCalls,debugState:h.debugState,error:h.error,lastResponse:h.lastResponse,updatedAt:h.updatedAt||Date.now()},j=dk(i,a.id);j||cj.current?j&&ij.debug("Debug state handled, polling remains stopped."):ij.debug("Starting polling after initial non-debug response.")}catch(e){if(ip(e)||ct.current.has(a.id))return ij.info("Chat completion cancelled by user",{conversationId:a.id}),c=!1,_(a.id,!1),cA(a.id,!0),cE.current===a.id&&(dl(),Y(!1),ch(null),c9(),ae(null),ag(null)),c;ij.error("Error calling chat completions API:",e),c=!1;let d="An error occurred while sending the message.";if(e instanceof er)d=`API Error: ${e.message} (Status: ${e.status})`,e.code&&(d+=` (Code: ${e.code})`),e.type&&(d+=` [Type: ${e.type}]`),ij.verbose("APIError details",JSON.stringify(e));else if(e instanceof eq){d=`OpenAI Error: ${e.message}`;let a=e.error;a&&"object"==typeof a&&(a.code&&(d+=` (Code: ${a.code})`),a.type&&(d+=` [Type: ${a.type}]`)),ij.verbose("OpenAIError details",JSON.stringify(e))}else e instanceof b5.b?(d=`Error: ${e.body?.error||e.message}`,e.status&&(d+=` (Status: ${e.status})`),ij.verbose("ChatApiError details",JSON.stringify(e.body))):e instanceof Error&&(d=e.message);ae(d),_(a.id,!1),cE.current===a.id&&(dl(),Y(!1),ch(null),c9()),b&&co.current.add(a.id)}finally{}return c},dn=(0,aG.useRef)(dj);dn.current=dj;let dp=(0,aG.useCallback)(a=>!!D&&F.current===D&&(dn.current(a),!0),[D]),dq=(0,aG.useCallback)((a,b)=>{if(!D||F.current!==D)return!1;let c={...cn.current.get(D)??{}};return(void 0===b.content&&void 0===b.structuredContent?delete c[a]:c[a]=b,(0,cq.Yw)(c)>cq.uJ)?(ij.warn("Rejected oversized aggregate MCP App model context",{conversationId:D,appKey:a}),!1):(cn.current.set(D,c),!0)},[D]),[dr,ds]=(0,aG.useState)(cv.zs),[dt,dv]=(0,aG.useState)(D),[dw,dy]=(0,aG.useState)({placement:"bottom",reservedWidth:0,reservedHeight:0}),dz=(0,aG.useCallback)(a=>{dy(b=>b.placement===a.placement&&b.reservedWidth===a.reservedWidth&&b.reservedHeight===a.reservedHeight?b:a)},[]),dA=(0,aG.useRef)(new Set),dB=(0,aG.useCallback)((a,b,c)=>{let d=`${a}\u0000${b}`;c?S.current.set(d,c):S.current.delete(d)},[]),dC=(0,aG.useCallback)((a,b)=>{D&&dB(D,a,b)},[D,dB]),dD=(0,aG.useCallback)(a=>{let b=F.current;if(!b)return;let c=(0,cv.cb)(a.serverName,a.uri);(0,cv.h)({automatic:!!a.automatic,dismissed:ie(b).includes(c),suppressed:ii(b),healthy:a.healthy})&&(a.automatic||(M(b,c,!1),R(b,!1)),dv(b),ds(b=>{let{state:c}=(0,cv.aE)(b,a,Date.now(),Number.MAX_SAFE_INTEGER);return c}))},[R,M]),dE=(0,aG.useCallback)(a=>{let b=F.current;b&&(a?(ig(b,(0,cv.dd)(dr).map(a=>a.key),!0),R(b,!0)):R(b,!1))},[dr,R]),dF=(0,aG.useCallback)(()=>{let a=F.current;if(!a)return;let b=(0,cv.dd)(dr).map(a=>a.key);0===b.length||(ig(a,b,!0),R(a,!0),Promise.allSettled(b.map(b=>{let c=S.current.get(`${a}\0${b}`);return c?c():Promise.resolve()})).finally(()=>{F.current===a&&ds(a=>{let c=a;for(let a of b)c=(0,cv.o4)(c,a);return c})}))},[dr,R]),dG=(0,aG.useCallback)(a=>{ds(b=>(0,cv.Az)(b,a))},[]),dH=(0,aG.useCallback)(a=>{if(!D)return;M(D,a,!0);let b=S.current.get(`${D}\u0000${a}`),c=()=>{F.current===D&&ds(b=>(0,cv.o4)(b,a))};b?b().finally(c):c()},[D,M]);(0,aG.useEffect)(()=>{dv(D),ds(cv.zs),dy({placement:"bottom",reservedWidth:0,reservedHeight:0})},[D]);let dI=dr.order.join("|");(0,aG.useEffect)(()=>{let a=x?.messages;if(!a||!x||x.id!==D||dt!==D)return;let b=new Map;for(let c of a)if("assistant"===c.role&&Array.isArray(c.tool_calls))for(let a of c.tool_calls)"function"===a.type&&a.id&&b.set(a.id,a);let c=new Map;for(let d of a){let a=d.ui;if("tool"===d.role&&a?.uri&&a?.serverName&&"string"==typeof d.content){let e="string"==typeof d.tool_call_id?b.get(d.tool_call_id):void 0,f={serverName:a.serverName,uri:a.uri,toolName:a.toolName??(e?.type==="function"?e.function.name:void 0),toolArgs:a.toolArgs??(e?.type==="function"?e.function.arguments:void 0),resultContent:d.content,cancelledReason:a.cancelledReason,isError:a.isError,updateId:d.id};c.set(`${a.serverName}::${a.uri}`,f)}}ds(a=>{let b=a;for(let a of b.order){let d=b.entries[a],e=c.get(a);d&&e&&(e.updateId!==d.latestToolUpdateId||e.toolArgs!==d.latestToolArgs||void 0===e.cancelledReason&&e.resultContent!==d.latestResultContent||e.cancelledReason!==d.latestToolCancelledReason||e.isError!==d.latestToolIsError)&&(b=(0,cv.hx)(b,e))}return b})},[dI,dt,D,x?.id,x?.messages]),(0,aG.useEffect)(()=>{if(!D||dt!==D||dr.order.length<=cv.Yb)return;let{evicted:a}=(0,cv.lR)(dr,cv.Yb,dr.activeKey??void 0);for(let b of a){let a=`${D}\u0000${b}`;if(dA.current.has(a))continue;dA.current.add(a),ij.info(`Canvas tab cap reached — gracefully evicting (LRU): ${b}`);let c=S.current.get(a);(c?c():Promise.resolve()).finally(()=>{dA.current.delete(a),F.current===D&&ds(a=>(0,cv.o4)(a,b))})}},[dr,dt,D]);let dJ=async(a,b,c)=>{if(!x)return;ij.debug("Editing message",{messageId:a,contentLength:b.length,processNodeId:c});let d=x.messages.findIndex(b=>b.id===a);if(-1===d)return;let f={...x.messages[d],content:b,timestamp:Date.now(),processNodeId:c||void 0},g=[...x.messages.slice(0,d),f],h={...x,messages:g};if(c8(h),h.flowId){let a=cn.current.get(h.id),b={flujo:"true",requireApproval:an?"true":void 0,flujodebug:at?"true":void 0,conversationId:h.id,processNodeId:c||void 0,mcpAppContexts:void 0===a?void 0:JSON.stringify(a)};if(!ci.current)return;ae(null),ag(null),Y(!0),ch(h.id),_(h.id,!0),cA(h.id,!1),bY({totalTokens:0,activeNode:null,startedAt:Date.now(),lastEventAt:Date.now()}),await dc(h.id);try{let a,c=await du.g.getFlow(h.flowId);if(!c)throw Error(`Flow with ID ${h.flowId} not found`);let d=h.messages.filter(a=>!a.disabled&&!((a.depth??0)>0)).map(a=>{let b=il(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,toolPayloads:a.toolPayloads,...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,toolPayloads:a.toolPayloads,...c}:{role:"user",content:"string"==typeof b?`Tool result: ${b}`:b,...c}:{role:"user",content:b,...c}}),e=await ci.current.chat.completions.create({model:`flow-${c.name}`,messages:d,stream:!1,metadata:(a={},b.flujo&&(a.flujo=b.flujo),b.requireApproval&&(a.requireApproval=b.requireApproval),b.flujodebug&&(a.flujodebug=b.flujodebug),b.conversationId&&(a.conversationId=b.conversationId),a.compactToolPayloads="true",b.processNodeId&&(a.processNodeId=b.processNodeId),void 0!==b.mcpAppContexts&&(a.mcpAppContexts=b.mcpAppContexts),a)}),f={...e,status:e.status||"completed",conversation_id:h.id,messages:e.messages||h.messages,pendingToolCalls:e.pendingToolCalls,debugState:e.debugState,error:e.error,updatedAt:e.updatedAt||Date.now()};dk(f,h.id)}catch(a){ip(a)||ct.current.has(h.id)?(ij.info("Edited-message run cancelled by user",{conversationId:h.id}),cA(h.id,!0)):(ij.error("Error sending edited message:",a),ae(a instanceof Error?a.message:e("chat.page.sendEditedFailed"))),_(h.id,!1),cE.current===h.id&&(Y(!1),ch(null),c9())}}},dK=(0,aG.useCallback)(a=>{let b=x?.messages.find(b=>b.id===a);b&&"user"===b.role&&"string"==typeof b.content&&aI({messageId:a,content:b.content,nodeId:b.processNodeId??cP[0]?.id??null})},[x,cP]),dL=(0,aG.useCallback)(a=>{aI(b=>b?{...b,content:a}:b)},[]),dM=(0,aG.useCallback)(a=>{aI(b=>b?{...b,nodeId:a}:b)},[]),dN=(0,aG.useCallback)(()=>aI(null),[]),dO=(a,b="head")=>{var c;if(!x)return;ij.debug("Splitting conversation at message",{messageId:a,half:b});let d=x.messages.findIndex(b=>b.id===a);if(-1===d)return;let f=(c=x.messages,"head"===b?c.slice(0,d+1):function(a,b){let c=a.slice(0,b).filter(a=>"system"===a.role),d=new Set,e=[];for(let c of a.slice(b)){if("assistant"===c.role&&Array.isArray(c.tool_calls))for(let a of c.tool_calls)a?.id&&d.add(a.id);("tool"!==c.role||!c.tool_call_id||d.has(c.tool_call_id))&&e.push(c)}return[...c,...e]}(c,d));if(0===f.length)return void ij.debug("Split produced no messages — ignoring",{messageId:a,half:b});let g=(0,ek.A)(),h={id:g,title:e("head"===b?"chat.page.splitTitle":"chat.page.splitTailTitle",{title:x.title}),messages:f,flowId:x.flowId,createdAt:Date.now(),updatedAt:Date.now()},i={id:g,title:h.title,flowId:h.flowId,createdAt:h.createdAt,updatedAt:h.updatedAt};co.current.add(g),l(a=>[i,...a].sort((a,b)=>(b.lastUserMessageAt??b.updatedAt)-(a.lastUserMessageAt??a.updatedAt))),U(g),y(h),A(!1),C(null)},dP=async(a,b,c,d)=>{if(D){ij.info(`Handling tool response: ${a}`,{conversationId:D,toolCallId:b,always:c}),aw(null),Y(!0),ch(D),_(D,!0),da(D,"running"),ae(null),ag(null),await dc(D);try{let e=await b5.O.respondToToolCall(D,a,b,c,d);ij.debug("Tool response successful",{conversationId:D,action:a,toolCallId:b}),dk(e,D)}catch(d){if(ip(d)||ct.current.has(D)){ij.info("Tool-response resume cancelled by user",{conversationId:D}),cA(D,!0),cE.current===D&&Y(!1),_(D,!1);return}ij.error(`Error sending tool response (${a})`,{conversationId:D,toolCallId:b,err:d});let c="approve"===a?e("chat.page.approveFailed"):e("chat.page.rejectFailed");d instanceof b5.b?c+=` (${d.body?.error||d.message})`:d instanceof Error&&(c+=` (${d.message})`),ae(c),cE.current===D&&Y(!1),_(D,!1)}}},dQ=async a=>{if(D){ij.info("Cancelling single tool call",{conversationId:D,toolCallId:a});try{await b5.O.cancelToolCall(D,a)}catch(b){ij.warn("Failed to cancel tool call",{conversationId:D,toolCallId:a,err:b})}}},dR=async(a,b)=>{if(D){ij.info("Submitting elicitation form",{conversationId:D,elicitationId:a}),ay(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"elicitation-submit",elicitationId:a,content:b})})}catch(b){ij.error("Failed to submit elicitation",{conversationId:D,elicitationId:a,err:b})}}},dS=async a=>{if(D){ij.info("Cancelling elicitation",{conversationId:D,elicitationId:a}),ay(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"elicitation-cancel",elicitationId:a})})}catch(b){ij.error("Failed to cancel elicitation",{conversationId:D,elicitationId:a,err:b})}}},dT=async(a,b)=>{if(D){ij.info("Answering question",{conversationId:D,questionId:a}),aA(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"question-answer",questionId:a,answers:b})})}catch(b){ij.error("Failed to answer question",{conversationId:D,questionId:a,err:b})}}},dU=async a=>{if(D){ij.info("Declining question",{conversationId:D,questionId:a}),aA(null);try{await fetch(`/v1/chat/conversations/${D}/respond`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"question-decline",questionId:a})})}catch(b){ij.error("Failed to decline question",{conversationId:D,questionId:a,err:b})}}},dV=async()=>{if(D&&a9){ij.info("Handling debug step request",{conversationId:D}),Y(!0),ch(D),_(D,!0),ae(null),ag(null),await dc(D);try{let a=await b5.O.debugStep(D);dk(a,D)}catch(a){ij.error("Error during debug step API call",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.debugStepFailed")),Y(!1),_(D,!1),bm(!1),bo(null)}finally{}}},dW=async()=>{if(D&&a9){ij.info("Handling debug continue request",{conversationId:D}),Y(!0),ch(D),_(D,!0),da(D,"running"),ae(null),ag(null),by(!1),bA(!1),au(!1),bm(!1),bo(null),bw(!1),cc([]),await dc(D);try{let a=await b5.O.debugContinue(D);dk(a,D)}catch(a){ij.error("Error during debug continue API call",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.debugContinueFailed")),Y(!1),_(D,!1)}finally{}}};(0,aG.useEffect)(()=>{bn&&cc(bn.breakpoints??[])},[bn]);let dX=(0,aG.useCallback)(async a=>{if(D){cc(a);try{await b5.O.setBreakpoints(D,a)}catch(a){ij.error("Failed to update breakpoints",{conversationId:D,err:a}),cc(cb)}}},[cb,D]),dY=(0,aG.useCallback)(async a=>{if(!D)return;let b=cb.includes(a)?cb.filter(b=>b!==a):[...cb,a];cc(b);try{await b5.O.setBreakpoints(D,b)}catch(a){ij.error("Failed to update breakpoints",{conversationId:D,err:a}),cc(cb)}},[cb,D]),dZ=(0,aG.useCallback)(async()=>{if(D){ij.info("Attaching debugger to running conversation",{conversationId:D}),bA(!0);try{await b5.O.attachDebugger(D)}catch(a){ij.error("Failed to attach debugger",{conversationId:D,err:a}),bA(!1),ae(a instanceof Error?a.message:e("chat.page.attachDebuggerFailed"))}}},[D,e]),d$=(0,aG.useCallback)(()=>{bx||bv||a9?cl.current?.():(by(!0),au(!0),(X&&cg===D||D&&Z.has(D)||cL?.status==="running")&&D&&(ck.current||dc(D),dZ()))},[bx,bv,a9,X,cg,D,Z,cL?.status,dZ,dc]),d_=async()=>{if(!D||!a9)return;let a=bn?.currentNodeId;Y(!0),ch(D),_(D,!0),ae(null),ag(null),await dc(D);try{for(let b=0;b<50;b++){let b=await b5.O.debugStep(D),c=b?.status??b?.debugState?.status,d=b?.debugState?.currentNodeId;if("paused_debug"!==c||d&&d!==a)return void dk(b,D)}ij.warn("Step Over hit iteration cap",{conversationId:D}),Y(!1),_(D,!1)}catch(a){ij.error("Error during step over",{conversationId:D,err:a}),ae(a instanceof Error?a.message:e("chat.page.stepOverFailed")),Y(!1),_(D,!1)}},d1=async()=>{if(D){ij.info("Cancelling request",{conversationId:D}),dl(),Y(!1),ch(null),_(D,!1),cA(D,!0),by(!1),bA(!1),au(!1),bm(!1),bo(null),bw(!1),cc([]),c9(),aw(null),b_(null),ae(null),ag(null);try{await b5.O.cancel(D),ij.debug("Cancel request sent successfully",{conversationId:D}),await cI(D)}catch(a){ij.error("Error sending cancel request",{conversationId:D,err:a}),ae(e("chat.page.cancelFailed"))}}},d2=async a=>{if(a===D)return void await d1();ij.info("Stopping background conversation",{conversationId:a}),cA(a,!0);try{await b5.O.cancel(a),_(a,!1),await cF(void 0,{silent:!0})}catch(b){ij.error("Error stopping background conversation",{conversationId:a,err:b}),ae(e("chat.page.cancelFailed"))}},d3=async a=>{if(D&&!aj){ak(a),ae(null),ag(null);try{let b=await b5.O.retrySubflowRecovery(D,a);b.failed.length>0?ae(b.failed.map(a=>a.error).join("\n")):cA(D,!1),await Promise.all([cI(D),cF(void 0,{silent:!0})]);try{ai(await b5.O.getSubflowRecoveryOptions(D))}catch{ai(null)}}catch(b){ij.error("Subflow recovery failed",{conversationId:D,scope:a,err:b}),ae(b instanceof Error?b.message:e("chat.page.recoveryFailed"))}finally{ak(null)}}},d4=(0,aG.useCallback)(async()=>{if(ij.info("Closing debugger panel (detach)",{conversationId:D,wasPaused:a9}),by(!1),bA(!1),au(!1),bm(!1),bo(null),bw(!1),D){try{await b5.O.setBreakpoints(D,[]),cc([])}catch(a){ij.error("Failed to clear breakpoints while detaching",{conversationId:D,err:a})}if(a9){Y(!0),ch(D),_(D,!0),da(D,"running"),await dc(D);try{let a=await b5.O.debugContinue(D);dk(a,D)}catch(a){ij.error("Failed to resume run while detaching the debugger",{conversationId:D,err:a}),Y(!1),_(D,!1),ae(a instanceof Error?a.message:e("chat.page.debugContinueFailed"))}}}},[D,a9,dc,dk,_,e]);(0,aG.useEffect)(()=>{cl.current=d4},[d4]),(0,aG.useEffect)(()=>{if(!D||!bx&&!bv||bn||!(a9||cL?.status==="paused_debug"))return;let a=!1;return(async()=>{try{let b=await b5.O.getDebugState(D);if(a||!b?.debugState)return;bo(b.debugState),bw(!0),bm(!0),bA(!1),cc(b.breakpoints??[])}catch(a){ij.error("Failed to hydrate debug state",{conversationId:D,err:a})}})(),()=>{a=!0}},[D,bx,bv,bn,a9,cL?.status]),ij.debug("Rendering Chat component",{currentConversationId:D,isHandleEditMessageDefined:!0});let d5=(bx||bv||a9)&&!!D,d7=bz?"attaching":"armed",d9=(0,aG.useCallback)(a=>{bq(a),bs(0)},[]),ea=bn?.executionTrace??[],eb=0===ea.length?-1:bp>=0&&bp<ea.length?bp:ea.length-1,ed=eb>=0?ea[eb]:void 0,ee=ed?.modelInputs?.length?ed.modelInputs:ed?.modelInput?[ed.modelInput]:[],ef=ee.length>0?Math.min(br,ee.length-1):0,eg=ee[ef],el=d5&&!!bn&&eb>=0,em="wire"===bt&&el,en=cL?.status==="awaiting_tool_approval"||!!av,eo=!(en||cL?.status==="paused_debug")&&(X&&cg===D||!!D&&Z.has(D)||cL?.status==="running"),ep=!eo&&!!D&&cy.has(D);(0,aG.useEffect)(()=>{var a;if(!D||ac.current||!x||x.id!==D)return;let b=(aa[D]??[])[0];if(!b||!(!(a={running:Z.has(D),pendingApproval:!!av,debugPaused:a9,hasError:cL?.status==="error",stopped:ep}).running&&!a.pendingApproval&&!a.debugPaused&&!a.hasError&&!a.stopped))return;ac.current=!0;let c=setTimeout(async()=>{try{ab(a=>cx(a,D,b.id)),await dj(b.content,b.attachments,{fromQueue:!0,nodeOverride:b.nodeOverride,queuedId:b.id})}catch{ab(a=>{var c,d,e;let f;return c=a,d=D,e=b,f=(c[d]??[]).filter(a=>a.id!==e.id),{...c,[d]:[e,...f]}})}finally{ac.current=!1}},0);return()=>clearTimeout(c)},[D,x,aa,Z,av,a9,cL?.status,ep]);let es=ik(dd),et=ik(de),eu=ik(d2),ev=ik(cS),ew=(0,aG.useCallback)(()=>c4(!0),[]),ex=ah?(0,aF.jsxs)(aL.default,{sx:{display:"flex",gap:.5,flexWrap:"wrap",justifyContent:"flex-end"},children:[(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"branch"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(a6.A,{}),disabled:!!aj||!ah.canRetryBranch,onClick:()=>void d3("branch"),children:e("chat.page.recoverBranch")}),ah.canRetrySiblings&&(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"siblings"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(bg.A,{}),disabled:!!aj,onClick:()=>void d3("siblings"),children:e("chat.page.recoverLevel",{count:ah.incompleteSiblingCount})}),ah.canRetryDeepest&&ah.deepestFailedCount>1&&(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:"deepest"===aj?(0,aF.jsx)(aN.default,{color:"inherit",size:14}):(0,aF.jsx)(bf.A,{}),disabled:!!aj,onClick:()=>void d3("deepest"),children:e("chat.page.recoverLeaves",{count:ah.deepestFailedCount})})]}):null,ey=m?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%",p:2},children:(0,aF.jsx)(ej.default,{size:"medium",color:"primary"})}):q?(0,aF.jsx)(aO.A,{severity:"error",sx:{m:2},children:q}):(0,aF.jsx)(cd,{conversations:k,totalConversations:s.total+co.current.size,hasMoreConversations:s.hasMore,isLoadingMore:o,onLoadMore:cG,onLoadAll:cH,flowNames:cM,currentConversationId:D,revealRequest:cV,onSelectConversation:bU,onDeleteConversation:es,onBulkDelete:et,onStopConversation:eu,onNewConversation:ev,onQuickChat:ew,onCollapse:bT,collapsed:bS});return(0,aF.jsxs)(aL.default,{sx:{display:"flex",height:`calc(
15
15
  100dvh
16
16
  - var(--app-bar-height)
17
17
  - var(--active-subnav-height)
18
18
  - var(--global-mcp-dock-top)
19
19
  - var(--global-mcp-dock-bottom)
20
- )`,minHeight:0,overflow:"hidden",position:"relative",bgcolor:"transparent"},children:[(0,aF.jsx)(aP.A,{component:"h1",className:"sr-only",children:e("chat.title")}),bF&&!j&&(0,aF.jsx)(aL.default,{sx:{width:40,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",justifyContent:"center",alignItems:"flex-start",pt:1.4,bgcolor:"var(--surface-glass)",backdropFilter:"blur(18px)"},children:(0,aF.jsx)(aQ.A,{title:e("chat.page.showSidebar"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:bG,"aria-label":e("chat.page.showSidebar"),children:(0,aF.jsx)(a9,{fontSize:"small"})})})}),i&&(0,aF.jsx)(aS.Ay,{anchor:"left",open:bD,onClose:()=>bE(!1),ModalProps:{keepMounted:!0},PaperProps:{sx:{width:"min(86vw, 340px)",maxWidth:"calc(100vw - 28px)",display:"flex",flexDirection:"column",bgcolor:"var(--surface-glass)",backgroundImage:"none",backdropFilter:"blur(22px) saturate(140%)",boxShadow:"24px 0 70px rgba(0,0,0,.45)"}},children:d3}),!i&&!bB&&(0,aF.jsx)(aL.default,{sx:{width:bz,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"var(--surface-glass)",backdropFilter:"blur(18px) saturate(135%)"},children:d3}),!i&&!bB&&(0,aF.jsx)(aL.default,{onPointerDown:bI,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bA(b=>{let c=Math.min(560,Math.max(220,b+("ArrowRight"===a.key?16:-16)));return window.localStorage.setItem("flujo-chat-sidebar-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":220,"aria-valuemax":560,"aria-valuenow":Math.round(bz),sx:{position:"relative",width:"8px",flexShrink:0,cursor:"col-resize",bgcolor:"transparent",transition:"background-color 120ms","&::after":{position:"absolute",top:0,bottom:0,left:"50%",width:1,content:'""',bgcolor:"divider",transition:"width 120ms, background-color 120ms"},"&:hover::after":{width:2,bgcolor:"primary.main"},"&:focus-visible::after":{width:3,bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeSidebar")}),(0,aF.jsxs)(aL.default,{sx:{flex:1,height:"100%",display:"flex",minWidth:0,minHeight:0},children:[(0,aF.jsxs)(aL.default,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",height:"100%",position:"relative",boxSizing:"border-box",pl:"left"===di.placement&&di.reservedWidth>0?`min(${di.reservedWidth}px, calc(100% - 320px))`:0,pr:"right"===di.placement&&di.reservedWidth>0?`min(${di.reservedWidth}px, calc(100% - 320px))`:0,pt:"top"===di.placement&&di.reservedHeight>0?`min(${di.reservedHeight}px, calc(100% - 240px))`:0},children:[D&&(0,aF.jsxs)(aL.default,{sx:{px:{xs:1,sm:1.5,md:2},py:{xs:.5,sm:.75},display:"flex",alignItems:"center",gap:1,minWidth:0,borderBottom:1,borderColor:"divider",bgcolor:"var(--surface-glass)",backdropFilter:"blur(16px)"},children:[j&&(0,aF.jsx)(aQ.A,{title:e("chat.page.showSidebar"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:bG,"aria-label":e("chat.page.showSidebar"),children:(0,aF.jsx)(a9,{fontSize:"small"})})}),ap?(0,aF.jsx)(aT.A,{"data-ask-flujo-chat-title":!0,value:ar,onChange:a=>as(a.target.value),onBlur:c5,onKeyDown:a=>{"Enter"===a.key?(a.preventDefault(),c5()):"Escape"===a.key&&aq(!1)},size:"small",autoFocus:!0,fullWidth:!0,inputProps:{maxLength:200,"aria-label":e("chat.page.conversationTitle")}}):(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aP.A,{"data-ask-flujo-chat-title":!0,variant:"subtitle1",noWrap:!0,onClick:c4,title:x?.title||cz?.title||"",sx:{flex:1,minWidth:0,cursor:"text"},children:x?.title||cz?.title||e("chat.page.untitled")}),(0,aF.jsx)(aQ.A,{title:e("chat.page.rename"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:c4,"aria-label":e("chat.page.rename"),children:(0,aF.jsx)(ba.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:bt?e("chat.page.hideExecuted"):e("chat.page.showExecuted"),children:(0,aF.jsx)(aR.A,{size:"small",color:bt?"primary":"default",onClick:()=>bu(a=>!a),"aria-label":e("chat.page.toggleExecuted"),children:(0,aF.jsx)(bc.A,{fontSize:"small"})})})]})]}),D&&(0,aF.jsxs)(aL.default,{sx:{px:{xs:1,sm:1.5,md:2},py:{xs:.5,sm:.75},borderBottom:1,borderColor:"divider",display:"flex",alignItems:"center",gap:1,bgcolor:"var(--surface-glass)",backdropFilter:"blur(16px)"},children:[(0,aF.jsx)(aL.default,{sx:{flex:1,minWidth:0},children:bM(cz?.flowId||x?.flowId)?(0,aF.jsx)(aU.A,{color:"primary",variant:"outlined",icon:(0,aF.jsx)(a3.A,{}),label:e("chat.page.quickChat")}):(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(c2.A,{selectedFlowId:cz?.flowId||x?.flowId||null,onSelectFlow:a=>{if(!D){ij.warn("Cannot update flow: No conversation selected."),ae(e("chat.page.selectFirst"));return}bM(a)||W(a);let b=x?.flowId??cz?.flowId??null;if((x?.messages?.length??0)>0&&b&&a!==b){ij.debug("Flow switch on executed conversation — asking for confirmation",{flowId:a,currentFlowId:b}),aC(a);return}c3(a)},disabled:a7,hideLabel:!0,compact:!0,fullScreenPicker:j}),(b=cz?.flowId||x?.flowId||null)?(0,aF.jsx)(aQ.A,{title:e("chat.page.openAgent"),children:(0,aF.jsx)(aR.A,{size:"small",color:"primary",onClick:()=>c.push(`/flows?flow=${encodeURIComponent(b)}`),children:(0,aF.jsx)(bb.A,{fontSize:"small"})})}):null]})}),(0,aF.jsx)(c1,{usage:x?.usage,contextInfo:x?.contextInfo,availableNodes:cD,compact:j})]}),(0,aF.jsxs)(aL.default,{sx:{flex:1,minHeight:0,position:"relative",display:"flex",flexDirection:"column"},children:[(0,aF.jsx)(aL.default,{...ck.containerProps,sx:{flex:1,overflow:"auto",px:{xs:1.5,sm:2.5,lg:4},py:{xs:1.25,sm:2.5},"& > *":{width:"100%",maxWidth:{xs:960,lg:"none"},mx:"auto"}},children:z?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(ej.default,{size:"medium",color:"primary"})}):B?(0,aF.jsx)(aO.A,{severity:"error",sx:{m:2},children:B}):x?(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(b9.Ay,{messages:x.messages,pendingToolCalls:av,pendingElicitation:ax,availableNodes:cD,conversationId:x.id,editingMessageId:aH?.messageId??null,onToggleDisabled:a=>{if(!x)return;ij.debug("Toggling message disabled state",{messageId:a});let b=x.messages.map(b=>b.id===a?{...b,disabled:!b.disabled}:b);cW({...x,messages:b})},onSplitConversation:dC,onSplitConversationFromHere:a=>dC(a,"tail"),onRevertToHere:()=>cu(x.id),onBeginEditMessage:dy,onApproveToolCall:(a,b)=>{dD("approve",a,b)},onRejectToolCall:(a,b,c)=>{dD("reject",a,b,c)},onCancelToolCall:dE,onSubmitElicitation:dF,onCancelElicitation:dG,pendingQuestion:az,onAnswerQuestion:dH,onDeclineQuestion:dI,onAppMessage:dc,onUpdateModelContext:dd,onRegisterAppTeardown:dn,onOpenInCanvas:dp,autoOpenMcpApps:h,autoOpenMcpAppResultIds:H,dismissedMcpAppKeys:L,autoOpenSuppressed:Q,onMcpAppManualOpen:N,anchorMessageId:cQ,queuedMessages:aa[x.id]??[],queueHoldReason:(a=>{switch(a){case"Held — you stopped this run. Send again to continue.":return e("chat.page.queueStopped");case"Held — the last run failed. Retry or send again to continue.":return e("chat.page.queueFailed");case"Held — waiting for tool approval.":return e("chat.page.queueApproval");case"Held — paused in the debugger.":return e("chat.page.queueDebugger");default:return a}})((a={running:Z.has(x.id),pendingApproval:!!av,debugPaused:a7,hasError:cz?.status==="error",stopped:dY}).stopped?"Held — you stopped this run. Send again to continue.":a.hasError?"Held — the last run failed. Retry or send again to continue.":a.pendingApproval?"Held — waiting for tool approval.":a.debugPaused?"Held — paused in the debugger.":null)}),!X&&!a7&&x.messages.length>0&&cz?.status==="completed"&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(a5.A,{fontSize:"inherit"}),severity:"success",variant:"filled",sx:{borderRadius:2,py:.5},children:e("chat.page.completed")})}),!X&&!a7&&dY&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(a8,{fontSize:"inherit"}),severity:"info",variant:"outlined",sx:{borderRadius:2,py:.5,alignItems:"center"},action:d2??(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a4.A,{}),onClick:()=>c9(x),children:e("chat.page.resume")}),children:e("chat.page.stopped")})}),!X&&!a7&&!dY&&x?.recovery&&("interrupted"===x.recovery.classification||x.recovery.manualActionRequired)&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsxs)(aO.A,{icon:(0,aF.jsx)(a6.A,{fontSize:"inherit"}),severity:"warning",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center",maxWidth:760},action:(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a4.A,{}),onClick:()=>c9(x),children:e("chat.page.restartTurn")}),children:[(0,aF.jsx)(aP.A,{variant:"body2",fontWeight:600,children:x.recovery.currentCheckpoint?.nodeId?e("chat.page.recoveryAtNode",{node:x.recovery.currentCheckpoint.nodeId}):e("chat.page.recovery")}),x.recovery.sideEffectWarning&&(0,aF.jsx)(aP.A,{variant:"caption",component:"div",children:x.recovery.sideEffectWarning})]})}),!X&&!a7&&!ad&&!dY&&x?.recovery?.classification!=="interrupted"&&!x?.recovery?.manualActionRequired&&cz?.status==="error"&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(a6.A,{fontSize:"inherit"}),severity:"error",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center"},action:d2??(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a4.A,{}),onClick:()=>{c9(x)},children:e("chat.page.retry")}),children:(0,aF.jsx)(eh,{error:x?.lastError??af,fallbackMessage:e("chat.page.endedError")})})}),dX&&bW.length>0&&(0,aF.jsx)(cT,{todos:bW}),dX&&!a7&&!j&&(0,aF.jsx)(cP,{liveStats:bJ,lanes:bT,onOpenLane:U,onStop:dQ,stopDisabled:!D,retryWait:bL&&bL.conversationId===D?bL:null}),!dX&&dW&&!a7&&!j&&(0,aF.jsx)(cP,{liveStats:bJ,lanes:bT,onOpenLane:U,awaitingApproval:!0,onStop:dQ,stopDisabled:!D}),ad&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mt:2},action:(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a4.A,{}),onClick:()=>{x&&c9(x)},children:e("chat.page.retry")}),children:(0,aF.jsx)(eh,{error:af,fallbackMessage:ad,compact:!0})})]}):j?(0,aF.jsxs)(aL.default,{sx:{minHeight:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:1.5,px:2,textAlign:"center"},children:[(0,aF.jsx)(aP.A,{variant:"body1",color:"text.secondary",children:k.length>0?e("chat.page.selectOrCreate"):e("chat.page.createToStart")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"large",startIcon:(0,aF.jsx)(be,{}),onClick:()=>cG(),disabled:0===al.length,sx:{minHeight:48,borderRadius:999,px:2.5},children:e("chat.page.newTitle")}),k.length>0&&(0,aF.jsx)(aM.A,{variant:"text",startIcon:(0,aF.jsx)(a9,{}),onClick:bG,children:e("chat.page.showSidebar")})]}):(0,aF.jsx)(aP.A,{variant:"body1",color:"textSecondary",align:"center",sx:{mt:4},children:k.length>0?e("chat.page.selectOrCreate"):e("chat.page.createToStart")})}),(0,aF.jsx)(a_.A,{show:ck.show,actions:ck.actions,disabled:ck.disabled,onAction:ck.onAction,positionMode:"absolute",labels:{top:e("chat.page.scrollTop"),up:e("chat.page.scrollLastMessage"),bottom:e("chat.page.scrollLatest")},sx:{bottom:16,right:24,zIndex:2}})]}),D&&(0,aF.jsx)(cp,{conversationId:D,entries:dg===D?(0,cq.dd)(de):[],activeKey:de.activeKey,onSelectTab:dt,onCloseTab:du,onAppMessage:dc,onUpdateModelContext:dd,onRegisterTeardown:dm,onLayoutChange:dk,onCollapseChange:dq,onCloseAll:dr},D),j&&dX&&!a7&&(0,aF.jsx)(cP,{compact:!0,liveStats:bJ,lanes:bT,onOpenLane:U,onStop:dQ,stopDisabled:!D,retryWait:bL&&bL.conversationId===D?bL:null}),j&&!dX&&dW&&!a7&&(0,aF.jsx)(cP,{compact:!0,liveStats:bJ,lanes:bT,onOpenLane:U,awaitingApproval:!0,onStop:dQ,stopDisabled:!D}),(!j||!!D)&&(0,aF.jsxs)(aL.default,{sx:{p:0,borderTop:1,borderColor:"divider",background:"linear-gradient(to top, var(--background) 35%, transparent)"},children:[D&&(aa[D]??[]).length>0&&(0,aF.jsxs)(aL.default,{"data-testid":"queued-messages",sx:{mb:1,display:"flex",flexWrap:"wrap",gap:1,alignItems:"center"},children:[(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(bd.A,{fontSize:"inherit"})," ",e("chat.page.queued")]}),(aa[D]??[]).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:a.content.trim().slice(0,40)||(a.attachments.length?f("chat.messages.attachment",a.attachments.length):e("chat.page.queuedMessage")),onDelete:()=>ab(b=>cs(b,D,a.id))},a.id))]}),(0,aF.jsx)(ca.A,{onSendMessage:c6,disabled:z||!(x?.flowId||cz?.flowId)||!!av||a7,requireApproval:an,onRequireApprovalChange:cy,debuggerOpen:dU,onToggleDebugger:dO,availableNodes:cD,flow:cB,currentNodeId:cF,nodeOverrideActive:!!aD,onSelectNode:aE,editing:aH,onEditingContentChange:dz,onEditingNodeChange:dA,onSaveEdit:()=>{aH&&aH.content.trim()&&(dx(aH.messageId,aH.content,aH.nodeId||""),aI(null))},onCancelEdit:dB})]})]})," ",bt&&D&&!i&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aL.default,{onPointerDown:bx,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bw(b=>{let c=Math.min(Math.max(240,Math.round(.7*window.innerWidth)),Math.max(240,b+("ArrowRight"===a.key?-16:16)));return window.localStorage.setItem("flujo-workflow-panel-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":240,"aria-valuemax":Math.max(240,Math.round(1440*.7)),"aria-valuenow":Math.min(Math.max(240,Math.round(1440*.7)),Math.round(bv)),sx:{width:"6px",flexShrink:0,display:{xs:"none",lg:"block"},cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},"&:focus-visible":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeExecuted")}),(0,aF.jsx)(aL.default,{sx:{width:{xs:"100%",lg:`${bv}px`},minWidth:{xs:0,lg:240},maxWidth:{xs:"none",lg:"70vw"},flexShrink:0,display:"flex",flexDirection:"column",height:"100%",position:{xs:"absolute",lg:"static"},inset:{xs:0,lg:"auto"},zIndex:{xs:36,lg:"auto"},bgcolor:"background.default"},children:(0,aF.jsx)(ec,{flowId:x?.flowId||cz?.flowId||null,flowSnapshot:bh?.flowSnapshot??null,executedNodeIds:cE,liveActivity:bO,onClose:()=>bu(!1)})})]}),dU&&D&&!br&&!i&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aL.default,{onPointerDown:by,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bq(b=>{let c=Math.min(Math.max(360,Math.round(.85*window.innerWidth)),Math.max(360,(b||Math.round(.5*window.innerWidth))+("ArrowRight"===a.key?-16:16)));return window.localStorage.setItem("flujo-debugger-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":360,"aria-valuemax":Math.max(360,Math.round(1224)),"aria-valuenow":Math.min(Math.max(360,Math.round(1224)),Math.round(bp||720)),sx:{width:"6px",flexShrink:0,display:{xs:"none",lg:"block"},cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},"&:focus-visible":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeDebugger")}),(0,aF.jsx)(aL.default,{sx:{width:{xs:"100%",lg:bp?`${bp}px`:"50%"},minWidth:{xs:0,lg:360},maxWidth:{xs:"none",lg:"85vw"},flexShrink:0,display:"flex",flexDirection:"column",height:"100%",position:{xs:"absolute",lg:"static"},inset:{xs:0,lg:"auto"},zIndex:{xs:40,lg:"auto"},bgcolor:"background.default"},children:bh?(0,aF.jsx)(d6,{debugState:bh,conversationId:D,liveActivity:bO,executionEvents:bQ,onStep:dJ,onStepOver:dP,onContinue:dK,onCancel:dQ,isLoading:X,breakpoints:b$,onToggleBreakpoint:dM,onSetBreakpoints:dL,onClose:dT,isExpanded:br,onToggleExpand:()=>bs(a=>!a)}):(0,aF.jsx)(d8,{mode:dV,onClose:dT,isExpanded:br,onToggleExpand:()=>bs(a=>!a)})})]})]})," ",bt&&D&&i&&!dU&&(0,aF.jsx)(aV.A,{fullScreen:!0,open:!0,onClose:()=>bu(!1),"aria-label":e("chat.page.executedDialog"),children:(0,aF.jsx)(aL.default,{sx:{height:"100%",display:"flex",flexDirection:"column",bgcolor:"background.default"},children:(0,aF.jsx)(ec,{flowId:x?.flowId||cz?.flowId||null,flowSnapshot:bh?.flowSnapshot??null,executedNodeIds:cE,liveActivity:bO,onClose:()=>bu(!1)})})}),dU&&D&&(br||i)&&(0,aF.jsx)(aV.A,{fullScreen:!0,open:!0,onClose:()=>{i?dT():bs(!1)},"aria-label":e("chat.page.debuggerDialog"),children:(0,aF.jsx)(aL.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:bh?(0,aF.jsx)(d6,{debugState:bh,conversationId:D,liveActivity:bO,executionEvents:bQ,onStep:dJ,onStepOver:dP,onContinue:dK,onCancel:dQ,isLoading:X,breakpoints:b$,onToggleBreakpoint:dM,onSetBreakpoints:dL,onClose:dT,isExpanded:br||i,onToggleExpand:()=>{i?dT():bs(a=>!a)}}):(0,aF.jsx)(d8,{mode:dV,onClose:dT,isExpanded:br||i,onToggleExpand:()=>{i?dT():bs(a=>!a)}})})}),(0,aF.jsxs)(aV.A,{open:!!aB,onClose:()=>aC(null),children:[(0,aF.jsx)(aW.A,{children:e("chat.page.switchTitle")}),(0,aF.jsx)(aX.A,{children:(0,aF.jsx)(aY.A,{children:e("chat.page.switchHelp",{agent:al.find(a=>a.id===aB)?.name||e("chat.page.selectedAgent")})})}),(0,aF.jsxs)(aZ.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>aC(null),children:e("chat.page.cancel")}),(0,aF.jsx)(aM.A,{variant:"contained",onClick:()=>{aC(null),aB&&c3(aB)},children:e("chat.page.switch")})]})]}),(0,aF.jsx)(db,{open:cS,onClose:()=>cU(!1),onStart:cV})]})};var ir=c(14108);let is=(0,c9.h)("app/chat/page");function it(){return is.debug("Rendering ChatPage"),(0,aF.jsx)(aI.A,{maxWidth:!1,disableGutters:!0,children:(0,aF.jsx)(ir.A,{children:(0,aF.jsx)(iq,{})})})}},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31972:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline")},33873:a=>{"use strict";a.exports=require("path")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41489:(a,b,c)=>{"use strict";c.d(b,{A:()=>p});var d=c(48249),e=c(67484),f=c(29184),g=c(55784),h=c(52454),i=c(77217),j=c(82391),k=c(2642),l=c(78465),m=c(78930),n=c(59988),o=c(32166);let p=({selectedFlowId:a,onSelectFlow:b,disabled:c=!1,hideLabel:p=!1,compact:q=!1,fullScreenPicker:r})=>{let{t:s}=(0,o.s9)(),[t,u]=(0,e.useState)([]),[v,w]=(0,e.useState)(!0),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1);(0,e.useEffect)(()=>{(async()=>{w(!0),y(null);try{let a=await k.g.loadFlows();u(a)}catch(a){console.error("Error loading flows:",a),y(s("chat.selector.loadFailed"))}finally{w(!1)}})()},[s]);let B=a=>{b(a),A(!1)},C=async a=>{let b=t.find(b=>b.id===a);if(!b)return;let c=!b.favorite,d={...b,favorite:c||void 0};try{(await k.g.updateFlow(d)).success&&u(b=>b.map(b=>b.id===a?d:b))}catch(a){console.error("Error toggling flow favorite:",a)}},D=(0,n.E)("flows",t),E=b=>({key:b.id,content:(0,d.jsx)(m.A,{flow:b,selected:b.id===a,onSelect:B,onToggleFavorite:C,pickerMode:!0})}),F=D.items.map(E),G=D.groups?D.groups.map(a=>({...a,items:a.items.map(E)})):null,H=(()=>{if(!a)return"";let b=t.find(b=>b.id===a);return b?b.name:""})();return(0,d.jsxs)(f.default,{sx:{minWidth:0},children:[!p&&!q&&(0,d.jsx)(g.A,{variant:"subtitle1",gutterBottom:!0,children:s("chat.selector.title")}),v?(0,d.jsxs)(f.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(h.default,{size:20}),(0,d.jsx)(g.A,{variant:"body2",color:"text.secondary",children:s("chat.selector.loading")})]}):x?(0,d.jsx)(g.A,{color:"error",variant:"body2",children:x}):0===t.length?(0,d.jsx)(g.A,{variant:"body2",color:"text.secondary",children:s("chat.selector.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{variant:"outlined",size:q?"small":"medium",startIcon:(0,d.jsx)(j.A,{}),onClick:()=>A(!0),disabled:c,sx:{textTransform:"none",maxWidth:"100%",minWidth:0,...q&&{minHeight:36,px:1.25}},children:(0,d.jsx)(f.default,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a&&H||s("chat.selector.title")})}),!q&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",display:"block",sx:{mt:.5},children:a?s("chat.selector.using",{agent:H}):s("chat.selector.help")}),(0,d.jsx)(l.A,{open:z,onClose:()=>A(!1),fullScreen:r??q,title:s("chat.selector.title"),description:s("chat.selector.dialogHelp"),skeleton:(0,d.jsx)(m.o,{}),emptyMessage:s("chat.selector.empty"),searchable:!0,searchPlaceholder:s("flows.dashboard.search"),searchTerm:D.searchTerm,onSearchChange:D.setSearchTerm,items:F,groups:G,collapsedKeys:D.collapsedKeys,onToggleGroup:D.toggleGroup})]})]})}},43155:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\chat\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx","default")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44440:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},44607:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,43155)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/chat/page",pathname:"/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/chat/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
21
- see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},53937:(a,b,c)=>{"use strict";c.d(b,{mO:()=>f,oO:()=>g});var d=c(80128);let e=["stdio","websocket","sse","streamable"];function f(a,b){switch(b){case"name-asc":case"name-desc":return(0,d.po)(a.name);case"status-connected":case"status-disconnected":{let b=a.status;if("connected"===b)return{key:"status:connected",label:"Connected"};if("error"===b)return{key:"status:error",label:"Error"};if("requires_authentication"===b)return{key:"status:auth",label:"Requires authentication"};return{key:"status:disconnected",label:"Disconnected"}}case"transport":{let b=a.transport||"unknown";return{key:`transport:${b}`,label:({stdio:"Stdio",websocket:"WebSocket",sse:"SSE",streamable:"Streamable HTTP"})[b]||b}}default:return{key:"all",label:"All servers"}}}function g(a,b){let c=(a,c)=>{switch(b){case"name-asc":return a.name.localeCompare(c.name);case"name-desc":return c.name.localeCompare(a.name);case"status-connected":if("connected"===a.status&&"connected"!==c.status)return -1;if("connected"!==a.status&&"connected"===c.status)return 1;return a.name.localeCompare(c.name);case"status-disconnected":if("disconnected"===a.status&&"disconnected"!==c.status)return -1;if("disconnected"!==a.status&&"disconnected"===c.status)return 1;return a.name.localeCompare(c.name);case"transport":{let b=e.indexOf(a.transport??""),d=e.indexOf(c.transport??"");if(b!==d)return b-d;return a.name.localeCompare(c.name)}default:return 0}};return[...a].sort((a,b)=>{let d=Number(!!b.favorite)-Number(!!a.favorite);return 0!==d?d:c(a,b)})}},60314:(a,b,c)=>{"use strict";function d(a){let b=new Map;for(let c of a)b.set(c.id,c);let c=new Map,d=[],e=new Set,f=a=>a.parentConversationId&&a.parentConversationId!==a.id?a.parentConversationId:null,g=a=>a.rootConversationId&&a.rootConversationId!==a.id?a.rootConversationId:null,h=(a,b)=>{let d=c.get(a)??[];d.push(b),c.set(a,d)};for(let c of a){let a=f(c);if(a&&b.has(a)){h(a,c);continue}if(!a){d.push(c);continue}let i=g(c),j=i?b.get(i):void 0;e.add(c.id),j&&i!==a&&!f(j)?h(j.id,c):d.push(c)}let i=new Set,j=[...d];for(;j.length;){let a=j.pop();if(!i.has(a.id))for(let b of(i.add(a.id),c.get(a.id)??[]))j.push(b)}let k=new Set(d.map(a=>a.id));for(let b of a)i.has(b.id)||k.has(b.id)||(d.push(b),k.add(b.id),e.add(b.id));return{roots:d,childrenByParent:c,detachedIds:e}}c.d(b,{C:()=>d})},60333:(a,b,c)=>{"use strict";c.d(b,{A:()=>s});var d=c(67484),e=c(99314),f=c(65236),g=c(8918),h=c(26234),i=c(5300),j=c(39328),k=c(85099),l=c(48249);let m=(0,k.A)(),n=(0,j.A)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`maxWidth${(0,h.A)(String(c.maxWidth))}`],c.fixed&&b.fixed,c.disableGutters&&b.disableGutters]}}),o=a=>(0,i.A)({props:a,name:"MuiContainer",defaultTheme:m});var p=c(40015),q=c(72139),r=c(25511);let s=function(a={}){let{createStyledComponent:b=n,useThemeProps:c=o,componentName:i="MuiContainer"}=a,j=b(({theme:a,ownerState:b})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!b.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:b})=>b.fixed&&Object.keys(a.breakpoints.values).reduce((b,c)=>{let d=a.breakpoints.values[c];return 0!==d&&(b[a.breakpoints.up(c)]={maxWidth:`${d}${a.breakpoints.unit}`}),b},{}),({theme:a,ownerState:b})=>({..."xs"===b.maxWidth&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...b.maxWidth&&"xs"!==b.maxWidth&&{[a.breakpoints.up(b.maxWidth)]:{maxWidth:`${a.breakpoints.values[b.maxWidth]}${a.breakpoints.unit}`}}}));return d.forwardRef(function(a,b){let d=c(a),{className:k,component:m="div",disableGutters:n=!1,fixed:o=!1,maxWidth:p="lg",classes:q,...r}=d,s={...d,component:m,disableGutters:n,fixed:o,maxWidth:p},t=((a,b)=>{let{classes:c,fixed:d,disableGutters:e,maxWidth:i}=a,j={root:["root",i&&`maxWidth${(0,h.A)(String(i))}`,d&&"fixed",e&&"disableGutters"]};return(0,g.A)(j,a=>(0,f.Ay)(b,a),c)})(s,i);return(0,l.jsx)(j,{as:m,ownerState:s,className:(0,e.A)(t.root,k),ref:b,...r})})}({createStyledComponent:(0,q.Ay)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`maxWidth${(0,p.A)(String(c.maxWidth))}`],c.fixed&&b.fixed,c.disableGutters&&b.disableGutters]}}),useThemeProps:a=>(0,r.b)({props:a,name:"MuiContainer"})})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63734:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M2 16c0-1.84 1-3.45 2.48-4.32.67-.39 1.52.08 1.52.86 0 .36-.19.68-.5.86-.9.52-1.5 1.49-1.5 2.6 0 1.85 1.68 3.31 3.6 2.94 1.42-.28 2.4-1.61 2.4-3.06 0-.49.39-.88.88-.88h5c.27-.31.67-.5 1.12-.5.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5c-.44 0-.84-.19-1.12-.5H11.9c-.46 2.28-2.48 4-4.9 4-2.76 0-5-2.24-5-5m14.37-9c.65 0 1.14-.62.97-1.25C16.79 3.59 14.83 2 12.5 2c-2.76 0-5 2.24-5 5 0 1.43.6 2.71 1.55 3.62l-2.35 3.9c-.68.14-1.2.75-1.2 1.48 0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5c0-.16-.02-.31-.07-.45l2.86-4.75c.25-.41.13-.95-.28-1.19-.9-.53-1.51-1.5-1.51-2.61 0-1.65 1.35-3 3-3 1.38 0 2.54.93 2.89 2.2.13.46.51.8.98.8m.63 6c-.38 0-.75.07-1.09.2-.4.16-.86-.04-1.08-.41l-2.6-4.32C11.53 8.35 11 7.74 11 7c0-.83.67-1.5 1.5-1.5S14 6.17 14 7c0 .15-.02.29-.06.43l2.19 3.65c.28-.05.57-.08.87-.08 2.76 0 5 2.24 5 5s-2.24 5-5 5c-.86 0-1.68-.22-2.39-.61-.92-.5-.58-1.89.47-1.89.17 0 .34.05.49.14.42.23.91.36 1.43.36 1.65 0 3-1.35 3-3s-1.35-3-3-3"}),"WebhookRounded")},65462:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(67484);let e=a=>{let b=d.useRef({});return d.useEffect(()=>{b.current=a}),b.current}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73136:a=>{"use strict";a.exports=require("node:url")},74948:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16),e=[];for(let a=0;a<256;++a)e.push((a+256).toString(16).slice(1));let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return function(a,b=0){return(e[a[b+0]]+e[a[b+1]]+e[a[b+2]]+e[a[b+3]]+"-"+e[a[b+4]]+e[a[b+5]]+"-"+e[a[b+6]]+e[a[b+7]]+"-"+e[a[b+8]]+e[a[b+9]]+"-"+e[a[b+10]]+e[a[b+11]]+e[a[b+12]]+e[a[b+13]]+e[a[b+14]]+e[a[b+15]]).toLowerCase()}(f)}(a,b,c):crypto.randomUUID()}},75640:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M9 16h2V8H9zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m1-4h2V8h-2z"}),"PauseCircleOutline")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},81353:(a,b,c)=>{Promise.resolve().then(c.bind(c,43155))},81562:(a,b,c)=>{"use strict";c.d(b,{AW:()=>d,HV:()=>e,gr:()=>f,k2:()=>j,lP:()=>l,lp:()=>g,pP:()=>k,s3:()=>m});let d="new",e="app",f="appUri",g="appToken",h=new Set,i=[];function j(a){return"string"==typeof a&&a.length>0&&!h.has(a)}function k(a){if(!j(a))return!1;for(h.add(a),i.push(a);i.length>100;){let a=i.shift();a&&h.delete(a)}return!0}function l(a){return()=>void 0}function m(a){return()=>void 0}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87977:(a,b,c)=>{Promise.resolve().then(c.bind(c,28336))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,4490,3727,437,8458,1269,1990,9345,6024,7393,5409,7911,7476,9050,5851,4340,7927,4222,4998,3184,4291,2922,387,8767,3761,5434,2642,8601,75,8542,2474],()=>b(b.s=44607));module.exports=c})();
20
+ )`,minHeight:0,overflow:"hidden",position:"relative",bgcolor:"transparent"},children:[(0,aF.jsx)(aP.A,{component:"h1",className:"sr-only",children:e("chat.title")}),bS&&!j&&(0,aF.jsx)(aL.default,{sx:{width:40,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",justifyContent:"center",alignItems:"flex-start",pt:1.4,bgcolor:"var(--surface-glass)",backdropFilter:"blur(18px)"},children:(0,aF.jsx)(aQ.A,{title:e("chat.page.showSidebar"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:bT,"aria-label":e("chat.page.showSidebar"),children:(0,aF.jsx)(bd,{fontSize:"small"})})})}),i&&(0,aF.jsx)(aS.Ay,{anchor:"left",open:bP,onClose:()=>bQ(!1),ModalProps:{keepMounted:!0},PaperProps:{sx:{width:"min(86vw, 340px)",maxWidth:"calc(100vw - 28px)",display:"flex",flexDirection:"column",bgcolor:"var(--surface-glass)",backgroundImage:"none",backdropFilter:"blur(22px) saturate(140%)",boxShadow:"24px 0 70px rgba(0,0,0,.45)"}},children:ey}),!i&&!bN&&(0,aF.jsx)(aL.default,{sx:{width:bL,flexShrink:0,borderRight:1,borderColor:"divider",display:"flex",flexDirection:"column",bgcolor:"var(--surface-glass)",backdropFilter:"blur(18px) saturate(135%)"},children:ey}),!i&&!bN&&(0,aF.jsx)(aL.default,{onPointerDown:bV,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bM(b=>{let c=Math.min(560,Math.max(220,b+("ArrowRight"===a.key?16:-16)));return window.localStorage.setItem("flujo-chat-sidebar-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":220,"aria-valuemax":560,"aria-valuenow":Math.round(bL),sx:{position:"relative",width:"8px",flexShrink:0,cursor:"col-resize",bgcolor:"transparent",transition:"background-color 120ms","&::after":{position:"absolute",top:0,bottom:0,left:"50%",width:1,content:'""',bgcolor:"divider",transition:"width 120ms, background-color 120ms"},"&:hover::after":{width:2,bgcolor:"primary.main"},"&:focus-visible::after":{width:3,bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeSidebar")}),(0,aF.jsxs)(aL.default,{sx:{flex:1,height:"100%",display:"flex",minWidth:0,minHeight:0},children:[(0,aF.jsxs)(aL.default,{sx:{flex:1,minWidth:0,display:"flex",flexDirection:"column",height:"100%",position:"relative",boxSizing:"border-box",pl:"left"===dw.placement&&dw.reservedWidth>0?`min(${dw.reservedWidth}px, calc(100% - 320px))`:0,pr:"right"===dw.placement&&dw.reservedWidth>0?`min(${dw.reservedWidth}px, calc(100% - 320px))`:0,pt:"top"===dw.placement&&dw.reservedHeight>0?`min(${dw.reservedHeight}px, calc(100% - 240px))`:0},children:[D&&(0,aF.jsxs)(aL.default,{sx:{px:{xs:1,sm:1.5,md:2},py:{xs:.5,sm:.75},display:"flex",alignItems:"center",gap:1,minWidth:0,borderBottom:1,borderColor:"divider",bgcolor:"var(--surface-glass)",backdropFilter:"blur(16px)"},children:[j&&(0,aF.jsx)(aQ.A,{title:e("chat.page.showSidebar"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:bT,"aria-label":e("chat.page.showSidebar"),children:(0,aF.jsx)(bd,{fontSize:"small"})})}),ap?(0,aF.jsx)(aT.A,{"data-ask-flujo-chat-title":!0,value:ar,onChange:a=>as(a.target.value),onBlur:di,onKeyDown:a=>{"Enter"===a.key?(a.preventDefault(),di()):"Escape"===a.key&&aq(!1)},size:"small",autoFocus:!0,fullWidth:!0,inputProps:{maxLength:200,"aria-label":e("chat.page.conversationTitle")}}):(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aP.A,{"data-ask-flujo-chat-title":!0,variant:"subtitle1",noWrap:!0,onClick:dh,title:x?.title||cL?.title||"",sx:{flex:1,minWidth:0,cursor:"text"},children:x?.title||cL?.title||e("chat.page.untitled")}),(0,aF.jsx)(aQ.A,{title:e("chat.page.rename"),children:(0,aF.jsx)(aR.A,{size:"small",onClick:dh,"aria-label":e("chat.page.rename"),children:(0,aF.jsx)(be.A,{fontSize:"small"})})}),(0,aF.jsx)(aQ.A,{title:bF?e("chat.page.hideExecuted"):e("chat.page.showExecuted"),children:(0,aF.jsx)(aR.A,{size:"small",color:bF?"primary":"default",onClick:()=>bG(a=>!a),"aria-label":e("chat.page.toggleExecuted"),children:(0,aF.jsx)(bg.A,{fontSize:"small"})})})]})]}),D&&(0,aF.jsxs)(aL.default,{sx:{px:{xs:1,sm:1.5,md:2},py:{xs:.5,sm:.75},borderBottom:1,borderColor:"divider",display:"flex",alignItems:"center",gap:1,bgcolor:"var(--surface-glass)",backdropFilter:"blur(16px)"},children:[(0,aF.jsx)(aL.default,{sx:{flex:1,minWidth:0},children:bR(cL?.flowId||x?.flowId)?(0,aF.jsx)(aU.A,{color:"primary",variant:"outlined",icon:(0,aF.jsx)(a5.A,{}),label:e("chat.page.quickChat")}):(0,aF.jsxs)(aL.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(c7.A,{selectedFlowId:cL?.flowId||x?.flowId||null,onSelectFlow:a=>{if(!D){ij.warn("Cannot update flow: No conversation selected."),ae(e("chat.page.selectFirst"));return}bR(a)||W(a);let b=x?.flowId??cL?.flowId??null;if((x?.messages?.length??0)>0&&b&&a!==b){ij.debug("Flow switch on executed conversation — asking for confirmation",{flowId:a,currentFlowId:b}),aC(a);return}df(a)},disabled:a9,hideLabel:!0,compact:!0,fullScreenPicker:j}),(b=cL?.flowId||x?.flowId||null)?(0,aF.jsx)(aQ.A,{title:e("chat.page.openAgent"),children:(0,aF.jsx)(aR.A,{size:"small",color:"primary",onClick:()=>c.push(`/flows?flow=${encodeURIComponent(b)}`),children:(0,aF.jsx)(bf.A,{fontSize:"small"})})}):null]})}),el&&(0,aF.jsxs)(aV.A,{exclusive:!0,size:"small",value:bt,onChange:(a,b)=>{b&&bu(b)},"aria-label":e("chat.page.transcriptView"),sx:{flexShrink:0,p:"3px",gap:"2px",borderRadius:999,bgcolor:"action.hover","& .MuiToggleButton-root":{gap:.5,minWidth:{xs:36,sm:"auto"},px:{xs:.75,sm:1.25},py:.35,border:0,borderRadius:"999px !important",textTransform:"none",color:"text.secondary","&.Mui-selected":{bgcolor:"background.paper",color:"primary.main",boxShadow:1}}},children:[(0,aF.jsxs)(aW.A,{value:"chat","aria-label":e("chat.page.chatView"),children:[(0,aF.jsx)(bj.A,{fontSize:"small"}),(0,aF.jsx)(aL.default,{component:"span",sx:{display:{xs:"none",sm:"inline"}},children:e("chat.page.chatView")})]}),(0,aF.jsxs)(aW.A,{value:"wire","aria-label":e("chat.page.modelInputView"),children:[(0,aF.jsx)(bk.A,{fontSize:"small"}),(0,aF.jsx)(aL.default,{component:"span",sx:{display:{xs:"none",sm:"inline"}},children:e("chat.page.modelInputView")})]})]}),(0,aF.jsx)(c6,{usage:x?.usage,contextInfo:x?.contextInfo,availableNodes:cP,compact:j})]}),(0,aF.jsxs)(aL.default,{sx:{flex:1,minHeight:0,position:"relative",display:"flex",flexDirection:"column"},children:[(0,aF.jsx)(aL.default,{...cD.containerProps,sx:{flex:1,overflow:"auto",px:{xs:1.5,sm:2.5,lg:4},py:{xs:1.25,sm:2.5},"& > *":{width:"100%",maxWidth:{xs:960,lg:"none"},mx:"auto"}},children:z?(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",alignItems:"center",height:"100%"},children:(0,aF.jsx)(ej.default,{size:"medium",color:"primary"})}):B?(0,aF.jsx)(aO.A,{severity:"error",sx:{m:2},children:B}):x?(0,aF.jsx)(aF.Fragment,{children:em?(0,aF.jsxs)(aL.default,{"data-testid":"model-input-conversation",sx:{minHeight:"100%"},children:[ee.length>1&&(0,aF.jsxs)(aL.default,{sx:{position:"sticky",top:0,zIndex:2,display:"flex",alignItems:"center",justifyContent:"center",gap:.5,width:"fit-content",mx:"auto",mb:1,px:.5,py:.25,border:1,borderColor:"divider",borderRadius:999,bgcolor:"background.paper",boxShadow:1},children:[(0,aF.jsx)(aQ.A,{title:e("chat.debug.previousModelCall"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>bs(Math.max(0,ef-1)),disabled:ef<=0,"aria-label":e("chat.debug.previousModelCall"),children:(0,aF.jsx)(bb,{fontSize:"small"})})})}),(0,aF.jsx)(aP.A,{variant:"caption",color:"text.secondary",children:e("chat.debug.modelCall",{current:ef+1,total:ee.length})}),(0,aF.jsx)(aQ.A,{title:e("chat.debug.nextModelCall"),children:(0,aF.jsx)("span",{children:(0,aF.jsx)(aR.A,{size:"small",onClick:()=>bs(Math.min(ee.length-1,ef+1)),disabled:ef>=ee.length-1,"aria-label":e("chat.debug.nextModelCall"),children:(0,aF.jsx)(bc,{fontSize:"small"})})})})]}),eg?(0,aF.jsx)(d6,{modelInput:eg,conversationId:`${x.id}-step-${eb}-call-${ef}`}):(0,aF.jsx)(aO.A,{severity:"info",variant:"outlined",sx:{mx:"auto",mt:2,maxWidth:720},children:e("chat.debug.noModelCall")})]}):(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(ce.Ay,{messages:x.messages,pendingToolCalls:av,pendingElicitation:ax,availableNodes:cP,conversationId:x.id,editingMessageId:aH?.messageId??null,onToggleDisabled:a=>{if(!x)return;ij.debug("Toggling message disabled state",{messageId:a});let b=x.messages.map(b=>b.id===a?{...b,disabled:!b.disabled}:b);c8({...x,messages:b})},onSplitConversation:dO,onSplitConversationFromHere:a=>dO(a,"tail"),onRevertToHere:()=>cI(x.id),onBeginEditMessage:dK,onApproveToolCall:(a,b)=>{dP("approve",a,b)},onRejectToolCall:(a,b,c)=>{dP("reject",a,b,c)},onCancelToolCall:dQ,onSubmitElicitation:dR,onCancelElicitation:dS,pendingQuestion:az,onAnswerQuestion:dT,onDeclineQuestion:dU,onAppMessage:dp,onUpdateModelContext:dq,onRegisterAppTeardown:dC,onOpenInCanvas:dD,autoOpenMcpApps:h,autoOpenMcpAppResultIds:H,dismissedMcpAppKeys:L,autoOpenSuppressed:Q,onMcpAppManualOpen:N,anchorMessageId:c1,queuedMessages:aa[x.id]??[],queueHoldReason:(a=>{switch(a){case"Held — you stopped this run. Send again to continue.":return e("chat.page.queueStopped");case"Held — the last run failed. Retry or send again to continue.":return e("chat.page.queueFailed");case"Held — waiting for tool approval.":return e("chat.page.queueApproval");case"Held — paused in the debugger.":return e("chat.page.queueDebugger");default:return a}})((a={running:Z.has(x.id),pendingApproval:!!av,debugPaused:a9,hasError:cL?.status==="error",stopped:ep}).stopped?"Held — you stopped this run. Send again to continue.":a.hasError?"Held — the last run failed. Retry or send again to continue.":a.pendingApproval?"Held — waiting for tool approval.":a.debugPaused?"Held — paused in the debugger.":null)}),!X&&!a9&&x.messages.length>0&&cL?.status==="completed"&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(a7.A,{fontSize:"inherit"}),severity:"success",variant:"filled",sx:{borderRadius:2,py:.5},children:e("chat.page.completed")})}),!X&&!a9&&ep&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(ba,{fontSize:"inherit"}),severity:"info",variant:"outlined",sx:{borderRadius:2,py:.5,alignItems:"center"},action:ex??(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a6.A,{}),onClick:()=>dm(x),children:e("chat.page.resume")}),children:e("chat.page.stopped")})}),!X&&!a9&&!ep&&x?.recovery&&("interrupted"===x.recovery.classification||x.recovery.manualActionRequired)&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsxs)(aO.A,{icon:(0,aF.jsx)(a8.A,{fontSize:"inherit"}),severity:"warning",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center",maxWidth:760},action:(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a6.A,{}),onClick:()=>dm(x),children:e("chat.page.restartTurn")}),children:[(0,aF.jsx)(aP.A,{variant:"body2",fontWeight:600,children:x.recovery.currentCheckpoint?.nodeId?e("chat.page.recoveryAtNode",{node:x.recovery.currentCheckpoint.nodeId}):e("chat.page.recovery")}),x.recovery.sideEffectWarning&&(0,aF.jsx)(aP.A,{variant:"caption",component:"div",children:x.recovery.sideEffectWarning})]})}),!X&&!a9&&!ad&&!ep&&x?.recovery?.classification!=="interrupted"&&!x?.recovery?.manualActionRequired&&cL?.status==="error"&&(0,aF.jsx)(aL.default,{sx:{display:"flex",justifyContent:"center",my:2},children:(0,aF.jsx)(aO.A,{icon:(0,aF.jsx)(a8.A,{fontSize:"inherit"}),severity:"error",variant:"filled",sx:{borderRadius:2,py:.5,alignItems:"center"},action:ex??(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a6.A,{}),onClick:()=>{dm(x)},children:e("chat.page.retry")}),children:(0,aF.jsx)(eh,{error:x?.lastError??af,fallbackMessage:e("chat.page.endedError")})})}),eo&&b7.length>0&&(0,aF.jsx)(cY,{todos:b7}),eo&&!a9&&!j&&(0,aF.jsx)(cU,{liveStats:bW,lanes:b4,onOpenLane:U,onStop:d1,stopDisabled:!D,retryWait:b$&&b$.conversationId===D?b$:null}),!eo&&en&&!a9&&!j&&(0,aF.jsx)(cU,{liveStats:bW,lanes:b4,onOpenLane:U,awaitingApproval:!0,onStop:d1,stopDisabled:!D}),ad&&(0,aF.jsx)(aO.A,{severity:"error",sx:{mt:2},action:(0,aF.jsx)(aM.A,{color:"inherit",size:"small",startIcon:(0,aF.jsx)(a6.A,{}),onClick:()=>{x&&dm(x)},children:e("chat.page.retry")}),children:(0,aF.jsx)(eh,{error:af,fallbackMessage:ad,compact:!0})})]})}):j?(0,aF.jsxs)(aL.default,{sx:{minHeight:"100%",display:"flex",flexDirection:"column",alignItems:"center",justifyContent:"center",gap:1.5,px:2,textAlign:"center"},children:[(0,aF.jsx)(aP.A,{variant:"body1",color:"text.secondary",children:k.length>0?e("chat.page.selectOrCreate"):e("chat.page.createToStart")}),(0,aF.jsx)(aM.A,{variant:"contained",size:"large",startIcon:(0,aF.jsx)(bi,{}),onClick:()=>cS(),disabled:0===al.length,sx:{minHeight:48,borderRadius:999,px:2.5},children:e("chat.page.newTitle")}),k.length>0&&(0,aF.jsx)(aM.A,{variant:"text",startIcon:(0,aF.jsx)(bd,{}),onClick:bT,children:e("chat.page.showSidebar")})]}):(0,aF.jsx)(aP.A,{variant:"body1",color:"textSecondary",align:"center",sx:{mt:4},children:k.length>0?e("chat.page.selectOrCreate"):e("chat.page.createToStart")})}),(0,aF.jsx)(a1.A,{show:cD.show,actions:cD.actions,disabled:cD.disabled,onAction:cD.onAction,positionMode:"absolute",labels:{top:e("chat.page.scrollTop"),up:e("chat.page.scrollLastMessage"),bottom:e("chat.page.scrollLatest")},sx:{bottom:16,right:24,zIndex:2}})]}),D&&(0,aF.jsx)(cu,{conversationId:D,entries:dt===D?(0,cv.dd)(dr):[],activeKey:dr.activeKey,onSelectTab:dG,onCloseTab:dH,onAppMessage:dp,onUpdateModelContext:dq,onRegisterTeardown:dB,onLayoutChange:dz,onCollapseChange:dE,onCloseAll:dF},D),j&&eo&&!a9&&(0,aF.jsx)(cU,{compact:!0,liveStats:bW,lanes:b4,onOpenLane:U,onStop:d1,stopDisabled:!D,retryWait:b$&&b$.conversationId===D?b$:null}),j&&!eo&&en&&!a9&&(0,aF.jsx)(cU,{compact:!0,liveStats:bW,lanes:b4,onOpenLane:U,awaitingApproval:!0,onStop:d1,stopDisabled:!D}),(!j||!!D)&&(0,aF.jsxs)(aL.default,{sx:{p:0,borderTop:1,borderColor:"divider",background:"linear-gradient(to top, var(--background) 35%, transparent)"},children:[D&&(aa[D]??[]).length>0&&(0,aF.jsxs)(aL.default,{"data-testid":"queued-messages",sx:{mb:1,display:"flex",flexWrap:"wrap",gap:1,alignItems:"center"},children:[(0,aF.jsxs)(aP.A,{variant:"caption",color:"text.secondary",sx:{display:"flex",alignItems:"center",gap:.5},children:[(0,aF.jsx)(bh.A,{fontSize:"inherit"})," ",e("chat.page.queued")]}),(aa[D]??[]).map(a=>(0,aF.jsx)(aU.A,{size:"small",variant:"outlined",label:a.content.trim().slice(0,40)||(a.attachments.length?f("chat.messages.attachment",a.attachments.length):e("chat.page.queuedMessage")),onDelete:()=>ab(b=>cx(b,D,a.id))},a.id))]}),(0,aF.jsx)(cf.A,{onSendMessage:dj,disabled:z||!(x?.flowId||cL?.flowId)||!!av||a9,requireApproval:an,onRequireApprovalChange:cK,debuggerOpen:d5,onToggleDebugger:d$,availableNodes:cP,flow:cN,currentNodeId:cR,nodeOverrideActive:!!aD,onSelectNode:aE,editing:aH,onEditingContentChange:dL,onEditingNodeChange:dM,onSaveEdit:()=>{aH&&aH.content.trim()&&(dJ(aH.messageId,aH.content,aH.nodeId||""),aI(null))},onCancelEdit:dN})]})]})," ",bF&&D&&!i&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aL.default,{onPointerDown:bJ,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bI(b=>{let c=Math.min(Math.max(240,Math.round(.7*window.innerWidth)),Math.max(240,b+("ArrowRight"===a.key?-16:16)));return window.localStorage.setItem("flujo-workflow-panel-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":240,"aria-valuemax":Math.max(240,Math.round(1440*.7)),"aria-valuenow":Math.min(Math.max(240,Math.round(1440*.7)),Math.round(bH)),sx:{width:"6px",flexShrink:0,display:{xs:"none",lg:"block"},cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},"&:focus-visible":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeExecuted")}),(0,aF.jsx)(aL.default,{sx:{width:{xs:"100%",lg:`${bH}px`},minWidth:{xs:0,lg:240},maxWidth:{xs:"none",lg:"70vw"},flexShrink:0,display:"flex",flexDirection:"column",height:"100%",position:{xs:"absolute",lg:"static"},inset:{xs:0,lg:"auto"},zIndex:{xs:36,lg:"auto"},bgcolor:"background.default"},children:(0,aF.jsx)(ec,{flowId:x?.flowId||cL?.flowId||null,flowSnapshot:bn?.flowSnapshot??null,executedNodeIds:cQ,liveActivity:b0,onClose:()=>bG(!1)})})]}),d5&&D&&!bD&&!i&&(0,aF.jsxs)(aF.Fragment,{children:[(0,aF.jsx)(aL.default,{onPointerDown:bK,onKeyDown:a=>{("ArrowLeft"===a.key||"ArrowRight"===a.key)&&(a.preventDefault(),bC(b=>{let c=Math.min(Math.max(360,Math.round(.85*window.innerWidth)),Math.max(360,(b||Math.round(.5*window.innerWidth))+("ArrowRight"===a.key?-16:16)));return window.localStorage.setItem("flujo-debugger-width",String(c)),c}))},role:"separator",tabIndex:0,"aria-orientation":"vertical","aria-valuemin":360,"aria-valuemax":Math.max(360,Math.round(1224)),"aria-valuenow":Math.min(Math.max(360,Math.round(1224)),Math.round(bB||720)),sx:{width:"6px",flexShrink:0,display:{xs:"none",lg:"block"},cursor:"col-resize",bgcolor:"divider",transition:"background-color 120ms","&:hover":{bgcolor:"primary.main"},"&:focus-visible":{bgcolor:"primary.main"},touchAction:"none"},"aria-label":e("chat.page.resizeDebugger")}),(0,aF.jsx)(aL.default,{sx:{width:{xs:"100%",lg:bB?`${bB}px`:"50%"},minWidth:{xs:0,lg:360},maxWidth:{xs:"none",lg:"85vw"},flexShrink:0,display:"flex",flexDirection:"column",height:"100%",position:{xs:"absolute",lg:"static"},inset:{xs:0,lg:"auto"},zIndex:{xs:40,lg:"auto"},bgcolor:"background.default"},children:bn?(0,aF.jsx)(d0,{debugState:bn,conversationId:D,liveActivity:b0,executionEvents:b2,onStepSelectionChange:d9,onStep:dV,onStepOver:d_,onContinue:dW,onCancel:d1,isLoading:X,breakpoints:cb,onToggleBreakpoint:dY,onSetBreakpoints:dX,onClose:d4,isExpanded:bD,onToggleExpand:()=>bE(a=>!a)}):(0,aF.jsx)(d8,{mode:d7,onClose:d4,isExpanded:bD,onToggleExpand:()=>bE(a=>!a)})})]})]})," ",bF&&D&&i&&!d5&&(0,aF.jsx)(aX.A,{fullScreen:!0,open:!0,onClose:()=>bG(!1),"aria-label":e("chat.page.executedDialog"),children:(0,aF.jsx)(aL.default,{sx:{height:"100%",display:"flex",flexDirection:"column",bgcolor:"background.default"},children:(0,aF.jsx)(ec,{flowId:x?.flowId||cL?.flowId||null,flowSnapshot:bn?.flowSnapshot??null,executedNodeIds:cQ,liveActivity:b0,onClose:()=>bG(!1)})})}),d5&&D&&(bD||i)&&(0,aF.jsx)(aX.A,{fullScreen:!0,open:!0,onClose:()=>{i?d4():bE(!1)},"aria-label":e("chat.page.debuggerDialog"),children:(0,aF.jsx)(aL.default,{sx:{height:"100%",display:"flex",flexDirection:"column"},children:bn?(0,aF.jsx)(d0,{debugState:bn,conversationId:D,liveActivity:b0,executionEvents:b2,onStepSelectionChange:d9,onStep:dV,onStepOver:d_,onContinue:dW,onCancel:d1,isLoading:X,breakpoints:cb,onToggleBreakpoint:dY,onSetBreakpoints:dX,onClose:d4,isExpanded:bD||i,onToggleExpand:()=>{i?d4():bE(a=>!a)}}):(0,aF.jsx)(d8,{mode:d7,onClose:d4,isExpanded:bD||i,onToggleExpand:()=>{i?d4():bE(a=>!a)}})})}),(0,aF.jsxs)(aX.A,{open:!!aB,onClose:()=>aC(null),children:[(0,aF.jsx)(aY.A,{children:e("chat.page.switchTitle")}),(0,aF.jsx)(aZ.A,{children:(0,aF.jsx)(a$.A,{children:e("chat.page.switchHelp",{agent:al.find(a=>a.id===aB)?.name||e("chat.page.selectedAgent")})})}),(0,aF.jsxs)(a_.A,{children:[(0,aF.jsx)(aM.A,{onClick:()=>aC(null),children:e("chat.page.cancel")}),(0,aF.jsx)(aM.A,{variant:"contained",onClick:()=>{aC(null),aB&&df(aB)},children:e("chat.page.switch")})]})]}),(0,aF.jsx)(dg,{open:c3,onClose:()=>c4(!1),onStart:c5})]})};var ir=c(14108);let is=(0,de.h)("app/chat/page");function it(){return is.debug("Rendering ChatPage"),(0,aF.jsx)(aI.A,{maxWidth:!1,disableGutters:!0,children:(0,aF.jsx)(ir.A,{children:(0,aF.jsx)(iq,{})})})}},28354:a=>{"use strict";a.exports=require("util")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},31972:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M7 11v2h10v-2zm5-9C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8"}),"RemoveCircleOutline")},33873:a=>{"use strict";a.exports=require("path")},35866:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M4 7v2c0 .55-.45 1-1 1s-1 .45-1 1v2c0 .55.45 1 1 1s1 .45 1 1v2c0 1.66 1.34 3 3 3h2c.55 0 1-.45 1-1s-.45-1-1-1H7c-.55 0-1-.45-1-1v-2c0-1.3-.84-2.42-2-2.83v-.34C5.16 11.42 6 10.3 6 9V7c0-.55.45-1 1-1h2c.55 0 1-.45 1-1s-.45-1-1-1H7C5.34 4 4 5.34 4 7m17 3c-.55 0-1-.45-1-1V7c0-1.66-1.34-3-3-3h-2c-.55 0-1 .45-1 1s.45 1 1 1h2c.55 0 1 .45 1 1v2c0 1.3.84 2.42 2 2.83v.34c-1.16.41-2 1.52-2 2.83v2c0 .55-.45 1-1 1h-2c-.55 0-1 .45-1 1s.45 1 1 1h2c1.66 0 3-1.34 3-3v-2c0-.55.45-1 1-1s1-.45 1-1v-2c0-.55-.45-1-1-1"}),"DataObjectRounded")},41025:a=>{"use strict";a.exports=require("next/dist/server/app-render/dynamic-access-async-storage.external.js")},41489:(a,b,c)=>{"use strict";c.d(b,{A:()=>p});var d=c(48249),e=c(67484),f=c(29184),g=c(55784),h=c(52454),i=c(77217),j=c(82391),k=c(2642),l=c(78465),m=c(78930),n=c(59988),o=c(32166);let p=({selectedFlowId:a,onSelectFlow:b,disabled:c=!1,hideLabel:p=!1,compact:q=!1,fullScreenPicker:r})=>{let{t:s}=(0,o.s9)(),[t,u]=(0,e.useState)([]),[v,w]=(0,e.useState)(!0),[x,y]=(0,e.useState)(null),[z,A]=(0,e.useState)(!1);(0,e.useEffect)(()=>{(async()=>{w(!0),y(null);try{let a=await k.g.loadFlows();u(a)}catch(a){console.error("Error loading flows:",a),y(s("chat.selector.loadFailed"))}finally{w(!1)}})()},[s]);let B=a=>{b(a),A(!1)},C=async a=>{let b=t.find(b=>b.id===a);if(!b)return;let c=!b.favorite,d={...b,favorite:c||void 0};try{(await k.g.updateFlow(d)).success&&u(b=>b.map(b=>b.id===a?d:b))}catch(a){console.error("Error toggling flow favorite:",a)}},D=(0,n.E)("flows",t),E=b=>({key:b.id,content:(0,d.jsx)(m.A,{flow:b,selected:b.id===a,onSelect:B,onToggleFavorite:C,pickerMode:!0})}),F=D.items.map(E),G=D.groups?D.groups.map(a=>({...a,items:a.items.map(E)})):null,H=(()=>{if(!a)return"";let b=t.find(b=>b.id===a);return b?b.name:""})();return(0,d.jsxs)(f.default,{sx:{minWidth:0},children:[!p&&!q&&(0,d.jsx)(g.A,{variant:"subtitle1",gutterBottom:!0,children:s("chat.selector.title")}),v?(0,d.jsxs)(f.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,d.jsx)(h.default,{size:20}),(0,d.jsx)(g.A,{variant:"body2",color:"text.secondary",children:s("chat.selector.loading")})]}):x?(0,d.jsx)(g.A,{color:"error",variant:"body2",children:x}):0===t.length?(0,d.jsx)(g.A,{variant:"body2",color:"text.secondary",children:s("chat.selector.empty")}):(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(i.A,{variant:"outlined",size:q?"small":"medium",startIcon:(0,d.jsx)(j.A,{}),onClick:()=>A(!0),disabled:c,sx:{textTransform:"none",maxWidth:"100%",minWidth:0,...q&&{minHeight:36,px:1.25}},children:(0,d.jsx)(f.default,{component:"span",sx:{overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},children:a&&H||s("chat.selector.title")})}),!q&&(0,d.jsx)(g.A,{variant:"caption",color:"text.secondary",display:"block",sx:{mt:.5},children:a?s("chat.selector.using",{agent:H}):s("chat.selector.help")}),(0,d.jsx)(l.A,{open:z,onClose:()=>A(!1),fullScreen:r??q,title:s("chat.selector.title"),description:s("chat.selector.dialogHelp"),skeleton:(0,d.jsx)(m.o,{}),emptyMessage:s("chat.selector.empty"),searchable:!0,searchPlaceholder:s("flows.dashboard.search"),searchTerm:D.searchTerm,onSearchChange:D.setSearchTerm,items:F,groups:G,collapsedKeys:D.collapsedKeys,onToggleGroup:D.toggleGroup})]})]})}},43155:(a,b,c)=>{"use strict";c.r(b),c.d(b,{default:()=>d});let d=(0,c(77943).registerClientReference)(function(){throw Error("Attempted to call the default export of \"C:\\\\Users\\\\Moe\\\\Documents\\\\GitHub\\\\FLUJO\\\\src\\\\app\\\\chat\\\\page.tsx\" from the server, but it's on the client. It's not possible to invoke a client function from the server, it can only be rendered as a Component or passed to props of a Client Component.")},"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx","default")},43954:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/interception-routes")},44440:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M3.9 12c0-1.71 1.39-3.1 3.1-3.1h4V7H7c-2.76 0-5 2.24-5 5s2.24 5 5 5h4v-1.9H7c-1.71 0-3.1-1.39-3.1-3.1M8 13h8v-2H8zm9-6h-4v1.9h4c1.71 0 3.1 1.39 3.1 3.1s-1.39 3.1-3.1 3.1h-4V17h4c2.76 0 5-2.24 5-5s-2.24-5-5-5"}),"Link")},44607:(a,b,c)=>{"use strict";c.r(b),c.d(b,{__next_app__:()=>O,handler:()=>Q,routeModule:()=>P});var d=c(7553),e=c(84006),f=c(67798),g=c(34775),h=c(99373),i=c(73461),j=c(1020),k=c(26349),l=c(54365),m=c(16023),n=c(14965),o=c(63747),p=c(24235),q=c(23938),r=c(261),s=c(66758),t=c(77243),u=c(26713),v=c(37527),w=c(22820),x=c(88216),y=c(47929),z=c(79551),A=c(71797),B=c(89125),C=c(86439),D=c(77068),E=c(27269),F=c(37525),G=c(61287),H=c(81494),I=c(70722),J=c(70753),K=c(43954),L=c(17891),M={};for(let a in G)0>["default","__next_app__","routeModule","handler"].indexOf(a)&&(M[a]=()=>G[a]);c.d(b,M);let N={children:["",{children:["chat",{children:["__PAGE__",{},{page:[()=>Promise.resolve().then(c.bind(c,43155)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\chat\\page.tsx"]}]},{"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"]},[]]},{layout:[()=>Promise.resolve().then(c.bind(c,76537)),"C:\\Users\\Moe\\Documents\\GitHub\\FLUJO\\src\\app\\layout.tsx"],"global-error":[()=>Promise.resolve().then(c.t.bind(c,95547,23)),"next/dist/client/components/builtin/global-error.js"],"not-found":[()=>Promise.resolve().then(c.t.bind(c,55091,23)),"next/dist/client/components/builtin/not-found.js"],forbidden:[()=>Promise.resolve().then(c.t.bind(c,45270,23)),"next/dist/client/components/builtin/forbidden.js"],unauthorized:[()=>Promise.resolve().then(c.t.bind(c,28193,23)),"next/dist/client/components/builtin/unauthorized.js"]},[]]}.children,O={require:c,loadChunk:()=>Promise.resolve()},P=new d.AppPageRouteModule({definition:{kind:e.RouteKind.APP_PAGE,page:"/chat/page",pathname:"/chat",bundlePath:"",filename:"",appPaths:[]},userland:{loaderTree:N},distDir:".next",relativeProjectDir:""});async function Q(a,b,d){var M,R,S,T,U;d.requestMeta&&(0,h.setRequestMeta)(a,d.requestMeta),P.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let V=!!(0,h.getRequestMeta)(a,"minimalMode"),W="/chat/page";"/index"===W&&(W="/");let X=await P.prepare(a,b,{srcPage:W,multiZoneDraftMode:!1});if(!X)return b.statusCode=400,b.end("Bad Request"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let{buildId:Y,query:Z,params:$,pageIsDynamic:_,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,serverActionsManifest:ad,clientReferenceManifest:ae,subresourceIntegrityManifest:af,prerenderManifest:ag,isDraftMode:ah,resolvedPathname:ai,revalidateOnlyGenerated:aj,routerServerContext:ak,nextConfig:al,parsedUrl:am,interceptionRoutePatterns:an,deploymentId:ao,clientAssetToken:ap}=X,aq=(0,r.normalizeAppPath)(W),{isOnDemandRevalidate:ar}=X,as=al.experimental.ppr&&!al.cacheComponents&&(0,K.isInterceptionRouteAppPath)(ai)?null:P.match(ai,ag),at=(null==as?void 0:as.route)??null,au=!!ag.routes[ai],av=a.headers["user-agent"]||"",aw=(0,u.getBotType)(av),ax=(0,q.isHtmlBotRequest)(a),ay=(0,h.getRequestMeta)(a,"isPrefetchRSCRequest")??"1"===a.headers[t.NEXT_ROUTER_PREFETCH_HEADER],az=(0,h.getRequestMeta)(a,"isRSCRequest")??(0,n.f)(a.headers[t.RSC_HEADER]),aA=(0,s.getIsPossibleServerAction)(a),aB=(0,m.checkIsAppPPREnabled)(al.experimental.ppr),aC=a.headers[y.NEXT_RESUME_STATE_LENGTH_HEADER];if(!(0,h.getRequestMeta)(a,"postponed")&&V&&aB&&aA&&aC&&"string"==typeof aC){let e=parseInt(aC,10),{maxPostponedStateSize:f,maxPostponedStateSizeBytes:g}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize);if(!isNaN(e)&&e>0){if(e>g)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(f)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let i="1 MB",j=(null==(U=al.experimental.serverActions)?void 0:U.bodySizeLimit)??i,k=e+(j!==i?c(95726).parse(j):1048576),l=await (0,E.readBodyWithSizeLimit)(a,k);if(null===l)return b.statusCode=413,b.end("Request body exceeded limit. To configure the body size limit for Server Actions, see: https://nextjs.org/docs/app/api-reference/next-config-js/serverActions#bodysizelimit"),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;if(l.length>=e){let b=l.subarray(0,e).toString("utf8");(0,h.addRequestMeta)(a,"postponed",b);let c=l.subarray(e);(0,h.addRequestMeta)(a,"actionBody",c)}else throw Object.defineProperty(Error(`invariant: expected ${e} bytes of postponed state but only received ${l.length} bytes`),"__NEXT_ERROR_CODE",{value:"E979",enumerable:!1,configurable:!0})}}if(!(0,h.getRequestMeta)(a,"postponed")&&aB&&"1"===a.headers[y.NEXT_RESUME_HEADER]&&"POST"===a.method){let{maxPostponedStateSize:c,maxPostponedStateSizeBytes:e}=(0,E.getMaxPostponedStateSize)(al.experimental.maxPostponedStateSize),f=await (0,E.readBodyWithSizeLimit)(a,e);if(null===f)return b.statusCode=413,b.end((0,E.getPostponedStateExceededErrorMessage)(c)),null==d.waitUntil||d.waitUntil.call(d,Promise.resolve()),null;let g=f.toString("utf8");(0,h.addRequestMeta)(a,"postponed",g)}let aD=!0===P.isDev||!0===al.experimental.exposeTestingApiInProductionBuild,aE=aD&&("1"===a.headers[t.NEXT_INSTANT_PREFETCH_HEADER]||!(0,n.f)(a.headers[t.RSC_HEADER])&&"string"==typeof a.headers.cookie&&a.headers.cookie.includes(t.NEXT_INSTANT_TEST_COOKIE+"=")),aF=(aB||aE)&&((null==(M=ag.routes[aq]??ag.dynamicRoutes[aq])?void 0:M.renderingMode)==="PARTIALLY_STATIC"||aE&&(aD||(null==ak?void 0:ak.experimentalTestProxy)===!0)),aG=aE&&aF,aH=aG&&!0===P.isDev,aI=!1,aJ=aF?(0,h.getRequestMeta)(a,"postponed"):void 0,aK=null==(R=ag.routes[ai])?void 0:R.prefetchDataRoute,aL=aF&&az&&!ay&&!aK;V&&(aL=aL&&!!aJ);let aM=(0,h.getRequestMeta)(a,"segmentPrefetchRSCRequest"),aN=(!aw||!aF)&&(!av||(0,q.shouldServeStreamingMetadata)(av,al.htmlLimitedBots)),aO=!!((at||au||ag.routes[aq])&&!(aw&&aF)),aP=aF&&!0===al.cacheComponents,aQ=!0===P.isDev||!aO||"string"==typeof aJ||(aP&&(0,h.getRequestMeta)(a,"onCacheEntryV2")?aL&&!V:aL),aR=!!aw&&aF,aS=(null==at?void 0:at.remainingPrerenderableParams)??[],aT=(null==at?void 0:at.fallback)===null&&((null==(S=at.fallbackRootParams)?void 0:S.length)??0)>0,aU=null;if(!ah&&aO&&!aQ&&!aA&&!aJ&&!aL){let a=as?"string"==typeof(null==at?void 0:at.fallback)?at.fallback:as.source:null;if(!0===al.experimental.partialFallbacks&&a&&(null==at?void 0:at.fallbackRouteParams)&&!aT){if(aS.length>0){let b,c=(b=new Map(aS.map(a=>[a.paramName,a])),a.split("/").map(a=>{let c=(0,L.getSegmentParam)(a);if(!c)return a;let d=b.get(c.paramName);if(!d)return a;let e=null==$?void 0:$[d.paramName];if(!e)return a;let f=Array.isArray(e)?e.map(a=>encodeURIComponent(a)).join("/"):encodeURIComponent(e);return a.replace((0,o.buildDynamicSegmentPlaceholder)(d),f)}).join("/")||"/");aU=c!==a?c:null}}else aU=ai}let aV=aU;!aV&&(P.isDev||aO&&_&&(null==at?void 0:at.fallbackRouteParams)&&!aA)&&(aV=ai),P.isDev||ah||!aO||!az||aL||(0,k.d)(a.headers);let aW={...G,tree:N,handler:Q,routeModule:P,__next_app__:O};ad&&ae&&(0,p.setManifestsSingleton)({page:W,clientReferenceManifest:ae,serverActionsManifest:ad});let aX=a.method||"GET",aY=(0,g.getTracer)(),aZ=aY.getActiveScopeSpan(),a$=!!(null==ak?void 0:ak.isWrappedByNextServer),a_=!0===al.experimental.partialFallbacks&&aS.length>0?(null==at||null==(T=at.fallbackRouteParams)?void 0:T.filter(a=>!aS.some(b=>b.paramName===a.paramName)))??[]:[],a0=async()=>((null==ak?void 0:ak.render404)?await ak.render404(a,b,am,!1):b.end("This page could not be found"),null);try{let k,m=P.getVaryHeader(ai,an);b.setHeader("Vary",m);let n=async(c,d)=>{let e=new l.NodeNextRequest(a),f=new l.NodeNextResponse(b);return P.render(e,f,d).finally(()=>{if(!c)return;c.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let a=aY.getRootSpanAttributes();if(!a)return;if(a.get("next.span_type")!==i.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${a.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let d=a.get("next.route");if(d){let a=`${aX} ${d}`;c.setAttributes({"next.route":d,"http.route":d,"next.span_name":a}),c.updateName(a),k&&k!==c&&(k.setAttribute("http.route",d),k.updateName(a))}else c.updateName(`${aX} ${W}`)})},p=(0,h.getRequestMeta)(a,"incrementalCache")||await P.getIncrementalCache(a,al,ag,V);null==p||p.resetRequestCache(),globalThis.__incrementalCache=p;let q=async({span:e,postponed:f,fallbackRouteParams:g,forceStaticRender:i})=>{let k={query:Z,params:$,page:aq,sharedContext:{buildId:Y,deploymentId:ao,clientAssetToken:ap},serverComponentsHmrCache:(0,h.getRequestMeta)(a,"serverComponentsHmrCache"),fallbackRouteParams:g,renderOpts:{App:()=>null,Document:()=>null,pageConfig:{},ComponentMod:aW,Component:(0,j.T)(aW),params:$,routeModule:P,page:W,postponed:f,shouldWaitOnAllReady:aR,serveStreamingMetadata:aN,supportsDynamicResponse:"string"==typeof f||aQ,buildManifest:aa,nextFontManifest:ab,reactLoadableManifest:ac,subresourceIntegrityManifest:af,setCacheStatus:null==ak?void 0:ak.setCacheStatus,setIsrStatus:null==ak?void 0:ak.setIsrStatus,setReactDebugChannel:null==ak?void 0:ak.setReactDebugChannel,sendErrorsToBrowser:null==ak?void 0:ak.sendErrorsToBrowser,dir:c(33873).join(process.cwd(),P.relativeProjectDir),isDraftMode:ah,botType:aw,isOnDemandRevalidate:ar,isPossibleServerAction:aA,assetPrefix:al.assetPrefix,nextConfigOutput:al.output,crossOrigin:al.crossOrigin,trailingSlash:al.trailingSlash,images:al.images,previewProps:ag.preview,enableTainting:al.experimental.taint,htmlLimitedBots:al.htmlLimitedBots,reactMaxHeadersLength:al.reactMaxHeadersLength,multiZoneDraftMode:!1,incrementalCache:p,cacheLifeProfiles:al.cacheLife,basePath:al.basePath,serverActions:al.experimental.serverActions,logServerFunctions:"object"==typeof al.logging&&!!al.logging.serverFunctions,...aG||aH||aI?{isBuildTimePrerendering:!0,supportsDynamicResponse:!1,isStaticGeneration:!0,isDebugDynamicAccesses:aH}:{},cacheComponents:!!al.cacheComponents,experimental:{isRoutePPREnabled:aF,expireTime:al.expireTime,staleTimes:al.experimental.staleTimes,dynamicOnHover:!!al.experimental.dynamicOnHover,optimisticRouting:!!al.experimental.optimisticRouting,inlineCss:!!al.experimental.inlineCss,prefetchInlining:al.experimental.prefetchInlining??!1,authInterrupts:!!al.experimental.authInterrupts,cachedNavigations:!!al.experimental.cachedNavigations,clientTraceMetadata:al.experimental.clientTraceMetadata||[],clientParamParsingOrigins:al.experimental.clientParamParsingOrigins,maxPostponedStateSizeBytes:(0,D.parseMaxPostponedStateSize)(al.experimental.maxPostponedStateSize)},waitUntil:d.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:()=>{},onInstrumentationRequestError:(b,c,d,e)=>P.onRequestError(a,b,d,e,ak),err:(0,h.getRequestMeta)(a,"invokeError")}};i&&(k.renderOpts.supportsDynamicResponse=!1);let l=await n(e,k),{metadata:m}=l,{cacheControl:o,headers:q={},fetchTags:r,fetchMetrics:s}=m;if(r&&(q[y.NEXT_CACHE_TAGS_HEADER]=r),a.fetchMetrics=s,aO&&(null==o?void 0:o.revalidate)===0&&!P.isDev&&!aF){let a=m.staticBailoutInfo,b=Object.defineProperty(Error(`Page changed from static to dynamic at runtime ${ai}${(null==a?void 0:a.description)?`, reason: ${a.description}`:""}
21
+ see more here https://nextjs.org/docs/messages/app-static-to-dynamic-error`),"__NEXT_ERROR_CODE",{value:"E132",enumerable:!1,configurable:!0});if(null==a?void 0:a.stack){let c=a.stack;b.stack=b.message+c.substring(c.indexOf("\n"))}throw b}return{value:{kind:v.CachedRouteKind.APP_PAGE,html:l,headers:q,rscData:m.flightData,postponed:m.postponed,status:m.statusCode,segmentData:m.segmentData},cacheControl:o}},r=async({hasResolved:c,previousCacheEntry:g,isRevalidating:i,span:j,forceStaticRender:k=!1})=>{let l=!1===P.isDev,m=c||b.writableEnded;try{var n;let f;if(ar&&aj&&!g&&!V)return(null==ak?void 0:ak.render404)?await ak.render404(a,b):(b.statusCode=404,b.end("This page could not be found")),null;if(at&&(f=(0,w.parseFallbackField)(at.fallback)),!0===al.experimental.partialFallbacks&&(null==at?void 0:at.fallback)===null&&!aT&&aS.length>0&&(f=w.FallbackMode.PRERENDER),f===w.FallbackMode.PRERENDER&&(0,u.isBot)(av)&&(!aF||ax)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),(null==g?void 0:g.isStale)===-1&&(ar=!0),ar&&(f!==w.FallbackMode.NOT_FOUND||g)&&(f=w.FallbackMode.BLOCKING_STATIC_RENDER),!V&&f!==w.FallbackMode.BLOCKING_STATIC_RENDER&&aV&&!m&&!ah&&_&&(l||!au)){if((l||at)&&f===w.FallbackMode.NOT_FOUND){if(al.adapterPath)return await a0();throw new C.NoFallbackError}if(aF&&(al.cacheComponents?!aL:!az)){let b=l&&"string"==typeof(null==at?void 0:at.fallback)?at.fallback:aq,f=(l||aG)&&(null==at?void 0:at.fallbackRouteParams)?(0,o.createOpaqueFallbackRouteParams)(at.fallbackRouteParams):aI?(0,o.getFallbackRouteParams)(aq,P):null;aG&&f&&(0,h.addRequestMeta)(a,"fallbackParams",f);let g=await P.handleResponse({cacheKey:b,req:a,nextConfig:al,routeKind:e.RouteKind.APP_PAGE,isFallback:!0,prerenderManifest:ag,isRoutePPREnabled:aF,responseGenerator:async()=>q({span:j,postponed:void 0,fallbackRouteParams:f,forceStaticRender:!0}),waitUntil:d.waitUntil,isMinimalMode:V});if(null===g)return null;if(g)return V||!aF||!(aS.length>0)||!0!==al.experimental.partialFallbacks||!aU||!p||ar||aI||aD||aE||ay||(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(aU,p,aF,!1,a=>q({span:a.span,postponed:void 0,fallbackRouteParams:a_.length>0?(0,o.createOpaqueFallbackRouteParams)(a_):null,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}),delete g.cacheControl,g}}let s=ar||i||!aJ?void 0:aJ;if(aP&&!V&&p&&(aL||aA)&&!k){let b=await p.get(ai,{kind:v.IncrementalCacheKind.APP_PAGE,isRoutePPREnabled:!0,isFallback:!1});b&&b.value&&b.value.kind===v.CachedRouteKind.APP_PAGE&&(s=b.value.postponed,b&&(-1===b.isStale||!0===b.isStale)&&(0,J.scheduleOnNextTick)(async()=>{let b=P.getResponseCache(a);try{await b.revalidate(ai,p,aF,!1,a=>r({...a,forceStaticRender:!0}),null,c,d.waitUntil)}catch(a){console.error("Error revalidating the page in the background",a)}}))}if((aG||aH)&&void 0!==s)return{cacheControl:{revalidate:1,expire:void 0},value:{kind:v.CachedRouteKind.PAGES,html:x.default.EMPTY,pageData:{},headers:void 0,status:void 0}};let t=!P.isDev&&_&&(null==at?void 0:at.fallbackRouteParams)?(0,o.getPlaceholderFallbackRouteParams)($,at.fallbackRouteParams):null,y=t&&t.length>0?t:null==at?void 0:at.fallbackRouteParams,z=null!=t&&t.length>0,A=null;if(al.cacheComponents&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,h.getRequestMeta)(a,"resolvedRouteParamKeys");b&&b.size>0&&(A=at.fallbackRouteParams.filter(a=>!b.has(a.paramName)))}let B=(l&&(0,h.getRequestMeta)(a,"renderFallbackShell")||z||aG&&!au)&&y?(0,o.createOpaqueFallbackRouteParams)(y):A&&A.length>0&&A.length<((null==at||null==(n=at.fallbackRouteParams)?void 0:n.length)??0)?(0,o.createOpaqueFallbackRouteParams)(A):aI?(0,o.getFallbackRouteParams)(aq,P):null;if((l||aG)&&al.cacheComponents&&!au&&(null==at?void 0:at.fallbackRouteParams)){let b=(0,o.createOpaqueFallbackRouteParams)(y??at.fallbackRouteParams);b&&(0,h.addRequestMeta)(a,"fallbackParams",b)}return q({span:j,postponed:s,fallbackRouteParams:B,forceStaticRender:k})}catch(b){throw(null==g?void 0:g.isStale)&&await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}},s=async c=>{var f,g,i,j,k,l;let m,n=await P.handleResponse({cacheKey:aU,responseGenerator:a=>r({span:c,...a}),routeKind:e.RouteKind.APP_PAGE,isOnDemandRevalidate:ar,isRoutePPREnabled:aF,req:a,nextConfig:al,prerenderManifest:ag,waitUntil:d.waitUntil,isMinimalMode:V});if(ah&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate"),P.isDev&&b.setHeader("Cache-Control","no-cache, must-revalidate"),!n){if(aU)throw Object.defineProperty(Error("invariant: cache entry required but not generated"),"__NEXT_ERROR_CODE",{value:"E62",enumerable:!1,configurable:!0});return null}if((null==(f=n.value)?void 0:f.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant app-page handler received invalid cache entry ${null==(i=n.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E707",enumerable:!1,configurable:!0});let o="string"==typeof n.value.postponed;az&&!aA&&ao&&b.setHeader(y.NEXT_NAV_DEPLOYMENT_ID_HEADER,ao),aO&&!aL&&(!o||ay)&&(V||b.setHeader("x-nextjs-cache",ar?"REVALIDATED":n.isMiss?"MISS":n.isStale?"STALE":"HIT"),b.setHeader(t.NEXT_IS_PRERENDER_HEADER,"1"));let{value:p}=n;if(aJ)m={revalidate:0,expire:void 0};else if(aL)m={revalidate:0,expire:void 0};else if(!P.isDev)if(ah)m={revalidate:0,expire:void 0};else if(aO){if(n.cacheControl)if("number"==typeof n.cacheControl.revalidate){if(n.cacheControl.revalidate<1)throw Object.defineProperty(Error(`Invalid revalidate configuration provided: ${n.cacheControl.revalidate} < 1`),"__NEXT_ERROR_CODE",{value:"E22",enumerable:!1,configurable:!0});m={revalidate:n.cacheControl.revalidate,expire:(null==(j=n.cacheControl)?void 0:j.expire)??al.expireTime}}else m={revalidate:y.CACHE_ONE_YEAR_SECONDS,expire:void 0}}else b.getHeader("Cache-Control")||(m={revalidate:0,expire:void 0});if(n.cacheControl=m,"string"==typeof aM&&(null==p?void 0:p.kind)===v.CachedRouteKind.APP_PAGE&&p.segmentData){b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"2");let c=null==(k=p.headers)?void 0:k[y.NEXT_CACHE_TAGS_HEADER];V&&aO&&c&&"string"==typeof c&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,c);let d=p.segmentData.get(aM);return void 0!==d?(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(d,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl}):(b.statusCode=204,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl}))}let s=aP?(0,h.getRequestMeta)(a,"onCacheEntryV2")??(0,h.getRequestMeta)(a,"onCacheEntry"):(0,h.getRequestMeta)(a,"onCacheEntry");if(s){let b=(0,h.getRequestMeta)(a,"initURL")??a.url,c=b?(null==(l=(0,F.parseUrl)(b))?void 0:l.pathname)??b:void 0;if(await s(n,{url:c}))return null}if(p.headers){let a={...p.headers};for(let[c,d]of(V&&aO||delete a[y.NEXT_CACHE_TAGS_HEADER],Object.entries(a)))if(void 0!==d)if(Array.isArray(d))for(let a of d)b.appendHeader(c,a);else"number"==typeof d&&(d=d.toString()),b.appendHeader(c,d)}let u=null==(g=p.headers)?void 0:g[y.NEXT_CACHE_TAGS_HEADER];if(V&&aO&&u&&"string"==typeof u&&b.setHeader(y.NEXT_CACHE_TAGS_HEADER,u),!p.status||az&&aF||(b.statusCode=p.status),!V&&p.status&&H.RedirectStatusCode[p.status]&&az&&(b.statusCode=200),o&&!aL&&b.setHeader(t.NEXT_DID_POSTPONE_HEADER,"1"),az&&!ah){if(void 0===p.rscData){if(p.html.contentType!==t.RSC_CONTENT_TYPE_HEADER)if(al.cacheComponents)return b.statusCode=404,(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.EMPTY,cacheControl:n.cacheControl});else throw Object.defineProperty(new I.InvariantError(`Expected RSC response, got ${p.html.contentType}`),"__NEXT_ERROR_CODE",{value:"E789",enumerable:!1,configurable:!0});return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:p.html,cacheControl:n.cacheControl})}return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:x.default.fromStatic(p.rscData,t.RSC_CONTENT_TYPE_HEADER),cacheControl:n.cacheControl})}let w=p.html;if(aE&&aG){let c=!0===P.isDev?crypto.randomUUID():null;return w.pipeThrough(await (0,A.createInstantTestScriptInsertionTransformStream)(c)),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})}if(!o||V||az)return(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:n.cacheControl});if(aG||aH)return w.push(new ReadableStream({start(a){a.enqueue(z.ENCODED_TAGS.CLOSED.BODY_AND_HTML),a.close()}})),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}});let C=new TransformStream;return w.push(C.readable),q({span:c,postponed:p.postponed,fallbackRouteParams:null,forceStaticRender:!1}).then(async a=>{var b,c;if(!a)throw Object.defineProperty(Error("Invariant: expected a result to be returned"),"__NEXT_ERROR_CODE",{value:"E463",enumerable:!1,configurable:!0});if((null==(b=a.value)?void 0:b.kind)!==v.CachedRouteKind.APP_PAGE)throw Object.defineProperty(Error(`Invariant: expected a page response, got ${null==(c=a.value)?void 0:c.kind}`),"__NEXT_ERROR_CODE",{value:"E305",enumerable:!1,configurable:!0});await a.value.html.pipeTo(C.writable)}).catch(a=>{C.writable.abort(a).catch(a=>{console.error("couldn't abort transformer",a)})}),(0,B.sendRenderResult)({req:a,res:b,generateEtags:al.generateEtags,poweredByHeader:al.poweredByHeader,result:w,cacheControl:{revalidate:0,expire:void 0}})};if(!a$||!aZ)return k=aY.getActiveScopeSpan(),await aY.withPropagatedContext(a.headers,()=>aY.trace(i.BaseServerSpan.handleRequest,{spanName:`${aX} ${W}`,kind:g.SpanKind.SERVER,attributes:{"http.method":aX,"http.target":a.url}},s),void 0,!a$);await s(aZ)}catch(b){throw b instanceof C.NoFallbackError||await P.onRequestError(a,b,{routerKind:"App Router",routePath:W,routeType:"render",revalidateReason:(0,f.c)({isStaticGeneration:aO,isOnDemandRevalidate:ar})},!1,ak),b}}},53937:(a,b,c)=>{"use strict";c.d(b,{mO:()=>f,oO:()=>g});var d=c(80128);let e=["stdio","websocket","sse","streamable"];function f(a,b){switch(b){case"name-asc":case"name-desc":return(0,d.po)(a.name);case"status-connected":case"status-disconnected":{let b=a.status;if("connected"===b)return{key:"status:connected",label:"Connected"};if("error"===b)return{key:"status:error",label:"Error"};if("requires_authentication"===b)return{key:"status:auth",label:"Requires authentication"};return{key:"status:disconnected",label:"Disconnected"}}case"transport":{let b=a.transport||"unknown";return{key:`transport:${b}`,label:({stdio:"Stdio",websocket:"WebSocket",sse:"SSE",streamable:"Streamable HTTP"})[b]||b}}default:return{key:"all",label:"All servers"}}}function g(a,b){let c=(a,c)=>{switch(b){case"name-asc":return a.name.localeCompare(c.name);case"name-desc":return c.name.localeCompare(a.name);case"status-connected":if("connected"===a.status&&"connected"!==c.status)return -1;if("connected"!==a.status&&"connected"===c.status)return 1;return a.name.localeCompare(c.name);case"status-disconnected":if("disconnected"===a.status&&"disconnected"!==c.status)return -1;if("disconnected"!==a.status&&"disconnected"===c.status)return 1;return a.name.localeCompare(c.name);case"transport":{let b=e.indexOf(a.transport??""),d=e.indexOf(c.transport??"");if(b!==d)return b-d;return a.name.localeCompare(c.name)}default:return 0}};return[...a].sort((a,b)=>{let d=Number(!!b.favorite)-Number(!!a.favorite);return 0!==d?d:c(a,b)})}},60314:(a,b,c)=>{"use strict";function d(a){let b=new Map;for(let c of a)b.set(c.id,c);let c=new Map,d=[],e=new Set,f=a=>a.parentConversationId&&a.parentConversationId!==a.id?a.parentConversationId:null,g=a=>a.rootConversationId&&a.rootConversationId!==a.id?a.rootConversationId:null,h=(a,b)=>{let d=c.get(a)??[];d.push(b),c.set(a,d)};for(let c of a){let a=f(c);if(a&&b.has(a)){h(a,c);continue}if(!a){d.push(c);continue}let i=g(c),j=i?b.get(i):void 0;e.add(c.id),j&&i!==a&&!f(j)?h(j.id,c):d.push(c)}let i=new Set,j=[...d];for(;j.length;){let a=j.pop();if(!i.has(a.id))for(let b of(i.add(a.id),c.get(a.id)??[]))j.push(b)}let k=new Set(d.map(a=>a.id));for(let b of a)i.has(b.id)||k.has(b.id)||(d.push(b),k.add(b.id),e.add(b.id));return{roots:d,childrenByParent:c,detachedIds:e}}c.d(b,{C:()=>d})},60333:(a,b,c)=>{"use strict";c.d(b,{A:()=>s});var d=c(67484),e=c(99314),f=c(65236),g=c(8918),h=c(26234),i=c(5300),j=c(39328),k=c(85099),l=c(48249);let m=(0,k.A)(),n=(0,j.A)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`maxWidth${(0,h.A)(String(c.maxWidth))}`],c.fixed&&b.fixed,c.disableGutters&&b.disableGutters]}}),o=a=>(0,i.A)({props:a,name:"MuiContainer",defaultTheme:m});var p=c(40015),q=c(72139),r=c(25511);let s=function(a={}){let{createStyledComponent:b=n,useThemeProps:c=o,componentName:i="MuiContainer"}=a,j=b(({theme:a,ownerState:b})=>({width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!b.disableGutters&&{paddingLeft:a.spacing(2),paddingRight:a.spacing(2),[a.breakpoints.up("sm")]:{paddingLeft:a.spacing(3),paddingRight:a.spacing(3)}}}),({theme:a,ownerState:b})=>b.fixed&&Object.keys(a.breakpoints.values).reduce((b,c)=>{let d=a.breakpoints.values[c];return 0!==d&&(b[a.breakpoints.up(c)]={maxWidth:`${d}${a.breakpoints.unit}`}),b},{}),({theme:a,ownerState:b})=>({..."xs"===b.maxWidth&&{[a.breakpoints.up("xs")]:{maxWidth:Math.max(a.breakpoints.values.xs,444)}},...b.maxWidth&&"xs"!==b.maxWidth&&{[a.breakpoints.up(b.maxWidth)]:{maxWidth:`${a.breakpoints.values[b.maxWidth]}${a.breakpoints.unit}`}}}));return d.forwardRef(function(a,b){let d=c(a),{className:k,component:m="div",disableGutters:n=!1,fixed:o=!1,maxWidth:p="lg",classes:q,...r}=d,s={...d,component:m,disableGutters:n,fixed:o,maxWidth:p},t=((a,b)=>{let{classes:c,fixed:d,disableGutters:e,maxWidth:i}=a,j={root:["root",i&&`maxWidth${(0,h.A)(String(i))}`,d&&"fixed",e&&"disableGutters"]};return(0,g.A)(j,a=>(0,f.Ay)(b,a),c)})(s,i);return(0,l.jsx)(j,{as:m,ownerState:s,className:(0,e.A)(t.root,k),ref:b,...r})})}({createStyledComponent:(0,q.Ay)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(a,b)=>{let{ownerState:c}=a;return[b.root,b[`maxWidth${(0,p.A)(String(c.maxWidth))}`],c.fixed&&b.fixed,c.disableGutters&&b.disableGutters]}}),useThemeProps:a=>(0,r.b)({props:a,name:"MuiContainer"})})},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},63734:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M2 16c0-1.84 1-3.45 2.48-4.32.67-.39 1.52.08 1.52.86 0 .36-.19.68-.5.86-.9.52-1.5 1.49-1.5 2.6 0 1.85 1.68 3.31 3.6 2.94 1.42-.28 2.4-1.61 2.4-3.06 0-.49.39-.88.88-.88h5c.27-.31.67-.5 1.12-.5.83 0 1.5.67 1.5 1.5s-.67 1.5-1.5 1.5c-.44 0-.84-.19-1.12-.5H11.9c-.46 2.28-2.48 4-4.9 4-2.76 0-5-2.24-5-5m14.37-9c.65 0 1.14-.62.97-1.25C16.79 3.59 14.83 2 12.5 2c-2.76 0-5 2.24-5 5 0 1.43.6 2.71 1.55 3.62l-2.35 3.9c-.68.14-1.2.75-1.2 1.48 0 .83.67 1.5 1.5 1.5s1.5-.67 1.5-1.5c0-.16-.02-.31-.07-.45l2.86-4.75c.25-.41.13-.95-.28-1.19-.9-.53-1.51-1.5-1.51-2.61 0-1.65 1.35-3 3-3 1.38 0 2.54.93 2.89 2.2.13.46.51.8.98.8m.63 6c-.38 0-.75.07-1.09.2-.4.16-.86-.04-1.08-.41l-2.6-4.32C11.53 8.35 11 7.74 11 7c0-.83.67-1.5 1.5-1.5S14 6.17 14 7c0 .15-.02.29-.06.43l2.19 3.65c.28-.05.57-.08.87-.08 2.76 0 5 2.24 5 5s-2.24 5-5 5c-.86 0-1.68-.22-2.39-.61-.92-.5-.58-1.89.47-1.89.17 0 .34.05.49.14.42.23.91.36 1.43.36 1.65 0 3-1.35 3-3s-1.35-3-3-3"}),"WebhookRounded")},65462:(a,b,c)=>{"use strict";c.d(b,{A:()=>e});var d=c(67484);let e=a=>{let b=d.useRef({});return d.useEffect(()=>{b.current=a}),b.current}},70722:a=>{"use strict";a.exports=require("next/dist/shared/lib/invariant-error")},73136:a=>{"use strict";a.exports=require("node:url")},74948:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});let d=new Uint8Array(16),e=[];for(let a=0;a<256;++a)e.push((a+256).toString(16).slice(1));let f=function(a,b,c){return b||a||!crypto.randomUUID?function(a,b,c){let f=(a=a||{}).random??a.rng?.()??crypto.getRandomValues(d);if(f.length<16)throw Error("Random bytes length must be >= 16");if(f[6]=15&f[6]|64,f[8]=63&f[8]|128,b){if((c=c||0)<0||c+16>b.length)throw RangeError(`UUID byte range ${c}:${c+15} is out of buffer bounds`);for(let a=0;a<16;++a)b[c+a]=f[a];return b}return function(a,b=0){return(e[a[b+0]]+e[a[b+1]]+e[a[b+2]]+e[a[b+3]]+"-"+e[a[b+4]]+e[a[b+5]]+"-"+e[a[b+6]]+e[a[b+7]]+"-"+e[a[b+8]]+e[a[b+9]]+"-"+e[a[b+10]]+e[a[b+11]]+e[a[b+12]]+e[a[b+13]]+e[a[b+14]]+e[a[b+15]]).toLowerCase()}(f)}(a,b,c):crypto.randomUUID()}},75640:(a,b,c)=>{"use strict";c.d(b,{A:()=>f});var d=c(32586),e=c(48249);let f=(0,d.A)((0,e.jsx)("path",{d:"M9 16h2V8H9zm3-14C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m1-4h2V8h-2z"}),"PauseCircleOutline")},76760:a=>{"use strict";a.exports=require("node:path")},77068:a=>{"use strict";a.exports=require("next/dist/shared/lib/size-limit")},81353:(a,b,c)=>{Promise.resolve().then(c.bind(c,43155))},81562:(a,b,c)=>{"use strict";c.d(b,{AW:()=>d,HV:()=>e,gr:()=>f,k2:()=>j,lP:()=>l,lp:()=>g,pP:()=>k,s3:()=>m});let d="new",e="app",f="appUri",g="appToken",h=new Set,i=[];function j(a){return"string"==typeof a&&a.length>0&&!h.has(a)}function k(a){if(!j(a))return!1;for(h.add(a),i.push(a);i.length>100;){let a=i.shift();a&&h.delete(a)}return!0}function l(a){return()=>void 0}function m(a){return()=>void 0}},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},87977:(a,b,c)=>{Promise.resolve().then(c.bind(c,28336))}};var b=require("../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,319,4490,3727,437,8458,1269,1990,9345,6024,7393,5409,7911,7476,9050,5851,4340,7927,4222,4998,3184,4291,2922,4779,8767,3761,5434,2642,8601,75,8542,2474],()=>b(b.s=44607));module.exports=c})();