flujo-ai 3.31.0 → 3.34.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (707) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-build-manifest.json +384 -342
  3. package/.next/app-path-routes-manifest.json +23 -19
  4. package/.next/build-manifest.json +5 -5
  5. package/.next/prerender-manifest.json +24 -24
  6. package/.next/react-loadable-manifest.json +29 -14
  7. package/.next/server/app/_not-found/page.js +1 -1
  8. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  9. package/.next/server/app/_not-found.html +1 -1
  10. package/.next/server/app/_not-found.rsc +2 -2
  11. package/.next/server/app/api/approvals/[id]/route.js +1 -1
  12. package/.next/server/app/api/approvals/[id]/route.js.nft.json +1 -1
  13. package/.next/server/app/api/approvals/[id]/route_client-reference-manifest.js +1 -1
  14. package/.next/server/app/api/approvals/route.js +2 -2
  15. package/.next/server/app/api/approvals/route.js.nft.json +1 -1
  16. package/.next/server/app/api/approvals/route_client-reference-manifest.js +1 -1
  17. package/.next/server/app/api/backup/route.js +1 -1
  18. package/.next/server/app/api/backup/route.js.nft.json +1 -1
  19. package/.next/server/app/api/backup/route_client-reference-manifest.js +1 -1
  20. package/.next/server/app/api/browse/route.js +1 -1
  21. package/.next/server/app/api/browse/route.js.nft.json +1 -1
  22. package/.next/server/app/api/browse/route_client-reference-manifest.js +1 -1
  23. package/.next/server/app/api/bugs/enhance/route.js +3 -3
  24. package/.next/server/app/api/bugs/enhance/route.js.nft.json +1 -1
  25. package/.next/server/app/api/bugs/enhance/route_client-reference-manifest.js +1 -1
  26. package/.next/server/app/api/cwd/route.js +1 -1
  27. package/.next/server/app/api/cwd/route.js.nft.json +1 -1
  28. package/.next/server/app/api/cwd/route_client-reference-manifest.js +1 -1
  29. package/.next/server/app/api/encryption/secure/route.js +1 -1
  30. package/.next/server/app/api/encryption/secure/route.js.nft.json +1 -1
  31. package/.next/server/app/api/encryption/secure/route_client-reference-manifest.js +1 -1
  32. package/.next/server/app/api/env/route.js +2 -2
  33. package/.next/server/app/api/env/route.js.nft.json +1 -1
  34. package/.next/server/app/api/env/route_client-reference-manifest.js +1 -1
  35. package/.next/server/app/api/flow/[id]/route.js +1 -1
  36. package/.next/server/app/api/flow/[id]/route.js.nft.json +1 -1
  37. package/.next/server/app/api/flow/[id]/route_client-reference-manifest.js +1 -1
  38. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js +1 -1
  39. package/.next/server/app/api/flow/[id]/versions/[versionId]/route.js.nft.json +1 -1
  40. package/.next/server/app/api/flow/[id]/versions/[versionId]/route_client-reference-manifest.js +1 -1
  41. package/.next/server/app/api/flow/[id]/versions/route.js +1 -1
  42. package/.next/server/app/api/flow/[id]/versions/route.js.nft.json +1 -1
  43. package/.next/server/app/api/flow/[id]/versions/route_client-reference-manifest.js +1 -1
  44. package/.next/server/app/api/flow/compile/route.js +1 -1
  45. package/.next/server/app/api/flow/compile/route.js.nft.json +1 -1
  46. package/.next/server/app/api/flow/compile/route_client-reference-manifest.js +1 -1
  47. package/.next/server/app/api/flow/generate/route.js +1 -1
  48. package/.next/server/app/api/flow/generate/route.js.nft.json +1 -1
  49. package/.next/server/app/api/flow/generate/route_client-reference-manifest.js +1 -1
  50. package/.next/server/app/api/flow/generator/route.js +28 -0
  51. package/.next/server/app/api/flow/generator/route.js.nft.json +1 -0
  52. package/.next/server/app/api/flow/generator/route_client-reference-manifest.js +1 -0
  53. package/.next/server/app/api/flow/improve/route.js +1 -1
  54. package/.next/server/app/api/flow/improve/route.js.nft.json +1 -1
  55. package/.next/server/app/api/flow/improve/route_client-reference-manifest.js +1 -1
  56. package/.next/server/app/api/flow/prompt-renderer/route.js +2 -2
  57. package/.next/server/app/api/flow/prompt-renderer/route.js.nft.json +1 -1
  58. package/.next/server/app/api/flow/prompt-renderer/route_client-reference-manifest.js +1 -1
  59. package/.next/server/app/api/flow/quick-chat/route.js +1 -1
  60. package/.next/server/app/api/flow/quick-chat/route.js.nft.json +1 -1
  61. package/.next/server/app/api/flow/quick-chat/route_client-reference-manifest.js +1 -1
  62. package/.next/server/app/api/flow/repair/route.js +1 -1
  63. package/.next/server/app/api/flow/repair/route.js.nft.json +1 -1
  64. package/.next/server/app/api/flow/repair/route_client-reference-manifest.js +1 -1
  65. package/.next/server/app/api/flow/route.js +1 -1
  66. package/.next/server/app/api/flow/route.js.nft.json +1 -1
  67. package/.next/server/app/api/flow/route_client-reference-manifest.js +1 -1
  68. package/.next/server/app/api/git/route.js +1 -1
  69. package/.next/server/app/api/git/route.js.nft.json +1 -1
  70. package/.next/server/app/api/git/route_client-reference-manifest.js +1 -1
  71. package/.next/server/app/api/init/route.js +1 -1
  72. package/.next/server/app/api/init/route.js.nft.json +1 -1
  73. package/.next/server/app/api/init/route_client-reference-manifest.js +1 -1
  74. package/.next/server/app/api/local-models/capability/route_client-reference-manifest.js +1 -1
  75. package/.next/server/app/api/local-models/pull/route_client-reference-manifest.js +1 -1
  76. package/.next/server/app/api/local-models/suggest/route_client-reference-manifest.js +1 -1
  77. package/.next/server/app/api/mcp/app-sandbox/route.js +1 -1
  78. package/.next/server/app/api/mcp/app-sandbox/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/app-sandbox/route_client-reference-manifest.js +1 -1
  80. package/.next/server/app/api/mcp/cancel/route.js +2 -2
  81. package/.next/server/app/api/mcp/cancel/route.js.nft.json +1 -1
  82. package/.next/server/app/api/mcp/cancel/route_client-reference-manifest.js +1 -1
  83. package/.next/server/app/api/mcp/oauth-capability/route.js +1 -1
  84. package/.next/server/app/api/mcp/oauth-capability/route.js.nft.json +1 -1
  85. package/.next/server/app/api/mcp/oauth-capability/route_client-reference-manifest.js +1 -1
  86. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js +1 -1
  87. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route.js.nft.json +1 -1
  88. package/.next/server/app/api/mcp/servers/[name]/prompts/get/route_client-reference-manifest.js +1 -1
  89. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js +1 -1
  90. package/.next/server/app/api/mcp/servers/[name]/prompts/route.js.nft.json +1 -1
  91. package/.next/server/app/api/mcp/servers/[name]/prompts/route_client-reference-manifest.js +1 -1
  92. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js +1 -1
  93. package/.next/server/app/api/mcp/servers/[name]/resources/read/route.js.nft.json +1 -1
  94. package/.next/server/app/api/mcp/servers/[name]/resources/read/route_client-reference-manifest.js +1 -1
  95. package/.next/server/app/api/mcp/servers/[name]/resources/route.js +1 -1
  96. package/.next/server/app/api/mcp/servers/[name]/resources/route.js.nft.json +1 -1
  97. package/.next/server/app/api/mcp/servers/[name]/resources/route_client-reference-manifest.js +1 -1
  98. package/.next/server/app/api/mcp/servers/[name]/route.js +1 -1
  99. package/.next/server/app/api/mcp/servers/[name]/route.js.nft.json +1 -1
  100. package/.next/server/app/api/mcp/servers/[name]/route_client-reference-manifest.js +1 -1
  101. package/.next/server/app/api/mcp/servers/[name]/status/route.js +1 -1
  102. package/.next/server/app/api/mcp/servers/[name]/status/route.js.nft.json +1 -1
  103. package/.next/server/app/api/mcp/servers/[name]/status/route_client-reference-manifest.js +1 -1
  104. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js +1 -1
  105. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route.js.nft.json +1 -1
  106. package/.next/server/app/api/mcp/servers/[name]/tools/[toolName]/route_client-reference-manifest.js +1 -1
  107. package/.next/server/app/api/mcp/servers/[name]/tools/route.js +1 -1
  108. package/.next/server/app/api/mcp/servers/[name]/tools/route.js.nft.json +1 -1
  109. package/.next/server/app/api/mcp/servers/[name]/tools/route_client-reference-manifest.js +1 -1
  110. package/.next/server/app/api/mcp/servers/route.js +1 -1
  111. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  112. package/.next/server/app/api/mcp/servers/route_client-reference-manifest.js +1 -1
  113. package/.next/server/app/api/mcp/test-connection/route.js +1 -1
  114. package/.next/server/app/api/mcp/test-connection/route.js.nft.json +1 -1
  115. package/.next/server/app/api/mcp/test-connection/route_client-reference-manifest.js +1 -1
  116. package/.next/server/app/api/mcp/test-connection/stream/route.js +1 -1
  117. package/.next/server/app/api/mcp/test-connection/stream/route.js.nft.json +1 -1
  118. package/.next/server/app/api/mcp/test-connection/stream/route_client-reference-manifest.js +1 -1
  119. package/.next/server/app/api/mcp-registry/route.js +2 -2
  120. package/.next/server/app/api/mcp-registry/route.js.nft.json +1 -1
  121. package/.next/server/app/api/mcp-registry/route_client-reference-manifest.js +1 -1
  122. package/.next/server/app/api/mcp-registry/spotlight/route.js +1 -1
  123. package/.next/server/app/api/mcp-registry/spotlight/route.js.nft.json +1 -1
  124. package/.next/server/app/api/mcp-registry/spotlight/route_client-reference-manifest.js +1 -1
  125. package/.next/server/app/api/model/[id]/route.js +1 -1
  126. package/.next/server/app/api/model/[id]/route.js.nft.json +1 -1
  127. package/.next/server/app/api/model/[id]/route_client-reference-manifest.js +1 -1
  128. package/.next/server/app/api/model/provider/route.js +2 -2
  129. package/.next/server/app/api/model/provider/route.js.nft.json +1 -1
  130. package/.next/server/app/api/model/provider/route_client-reference-manifest.js +1 -1
  131. package/.next/server/app/api/model/route.js +1 -1
  132. package/.next/server/app/api/model/route.js.nft.json +1 -1
  133. package/.next/server/app/api/model/route_client-reference-manifest.js +1 -1
  134. package/.next/server/app/api/model/test/route.js +2 -2
  135. package/.next/server/app/api/model/test/route.js.nft.json +1 -1
  136. package/.next/server/app/api/model/test/route_client-reference-manifest.js +1 -1
  137. package/.next/server/app/api/oauth/callback/route.js +2 -2
  138. package/.next/server/app/api/oauth/callback/route.js.nft.json +1 -1
  139. package/.next/server/app/api/oauth/callback/route_client-reference-manifest.js +1 -1
  140. package/.next/server/app/api/oauth/initiate/route.js +2 -2
  141. package/.next/server/app/api/oauth/initiate/route.js.nft.json +1 -1
  142. package/.next/server/app/api/oauth/initiate/route_client-reference-manifest.js +1 -1
  143. package/.next/server/app/api/oauth/reset/route.js +2 -2
  144. package/.next/server/app/api/oauth/reset/route.js.nft.json +1 -1
  145. package/.next/server/app/api/oauth/reset/route_client-reference-manifest.js +1 -1
  146. package/.next/server/app/api/packages/build/route.js +1 -1
  147. package/.next/server/app/api/packages/build/route.js.nft.json +1 -1
  148. package/.next/server/app/api/packages/build/route_client-reference-manifest.js +1 -1
  149. package/.next/server/app/api/packages/derive-secrets/route.js +1 -1
  150. package/.next/server/app/api/packages/derive-secrets/route.js.nft.json +1 -1
  151. package/.next/server/app/api/packages/derive-secrets/route_client-reference-manifest.js +1 -1
  152. package/.next/server/app/api/packages/install/route.js +1 -1
  153. package/.next/server/app/api/packages/install/route.js.nft.json +1 -1
  154. package/.next/server/app/api/packages/install/route_client-reference-manifest.js +1 -1
  155. package/.next/server/app/api/packages/install/status/route.js +1 -1
  156. package/.next/server/app/api/packages/install/status/route.js.nft.json +1 -1
  157. package/.next/server/app/api/packages/install/status/route_client-reference-manifest.js +1 -1
  158. package/.next/server/app/api/packages/installed/route.js +1 -1
  159. package/.next/server/app/api/packages/installed/route.js.nft.json +1 -1
  160. package/.next/server/app/api/packages/installed/route_client-reference-manifest.js +1 -1
  161. package/.next/server/app/api/packages/resolve/route.js +1 -1
  162. package/.next/server/app/api/packages/resolve/route.js.nft.json +1 -1
  163. package/.next/server/app/api/packages/resolve/route_client-reference-manifest.js +1 -1
  164. package/.next/server/app/api/packages/scan-targets/route.js +1 -1
  165. package/.next/server/app/api/packages/scan-targets/route.js.nft.json +1 -1
  166. package/.next/server/app/api/packages/scan-targets/route_client-reference-manifest.js +1 -1
  167. package/.next/server/app/api/packages/search/route.js +1 -1
  168. package/.next/server/app/api/packages/search/route.js.nft.json +1 -1
  169. package/.next/server/app/api/packages/search/route_client-reference-manifest.js +1 -1
  170. package/.next/server/app/api/packages/uninstall/route.js +1 -1
  171. package/.next/server/app/api/packages/uninstall/route.js.nft.json +1 -1
  172. package/.next/server/app/api/packages/uninstall/route_client-reference-manifest.js +1 -1
  173. package/.next/server/app/api/planned-executions/[id]/route.js +2 -2
  174. package/.next/server/app/api/planned-executions/[id]/route.js.nft.json +1 -1
  175. package/.next/server/app/api/planned-executions/[id]/route_client-reference-manifest.js +1 -1
  176. package/.next/server/app/api/planned-executions/[id]/run/route.js +2 -2
  177. package/.next/server/app/api/planned-executions/[id]/run/route.js.nft.json +1 -1
  178. package/.next/server/app/api/planned-executions/[id]/run/route_client-reference-manifest.js +1 -1
  179. package/.next/server/app/api/planned-executions/[id]/runs/route.js +2 -2
  180. package/.next/server/app/api/planned-executions/[id]/runs/route.js.nft.json +1 -1
  181. package/.next/server/app/api/planned-executions/[id]/runs/route_client-reference-manifest.js +1 -1
  182. package/.next/server/app/api/planned-executions/preview-schedule/route.js +1 -1
  183. package/.next/server/app/api/planned-executions/preview-schedule/route.js.nft.json +1 -1
  184. package/.next/server/app/api/planned-executions/preview-schedule/route_client-reference-manifest.js +1 -1
  185. package/.next/server/app/api/planned-executions/reconcile/route.js +1 -1
  186. package/.next/server/app/api/planned-executions/reconcile/route.js.nft.json +1 -1
  187. package/.next/server/app/api/planned-executions/reconcile/route_client-reference-manifest.js +1 -1
  188. package/.next/server/app/api/planned-executions/route.js +1 -1
  189. package/.next/server/app/api/planned-executions/route.js.nft.json +1 -1
  190. package/.next/server/app/api/planned-executions/route_client-reference-manifest.js +1 -1
  191. package/.next/server/app/api/registry/auth/resend/route.js +1 -1
  192. package/.next/server/app/api/registry/auth/resend/route.js.nft.json +1 -1
  193. package/.next/server/app/api/registry/auth/resend/route_client-reference-manifest.js +1 -1
  194. package/.next/server/app/api/registry/auth/reset/route.js +1 -1
  195. package/.next/server/app/api/registry/auth/reset/route.js.nft.json +1 -1
  196. package/.next/server/app/api/registry/auth/reset/route_client-reference-manifest.js +1 -1
  197. package/.next/server/app/api/registry/auth/route.js +1 -1
  198. package/.next/server/app/api/registry/auth/route.js.nft.json +1 -1
  199. package/.next/server/app/api/registry/auth/route_client-reference-manifest.js +1 -1
  200. package/.next/server/app/api/registry/feedback/route.js +1 -0
  201. package/.next/server/app/api/registry/feedback/route.js.nft.json +1 -0
  202. package/.next/server/app/api/registry/feedback/route_client-reference-manifest.js +1 -0
  203. package/.next/server/app/api/registry/oauth/callback/route.js +1 -1
  204. package/.next/server/app/api/registry/oauth/callback/route.js.nft.json +1 -1
  205. package/.next/server/app/api/registry/oauth/callback/route_client-reference-manifest.js +1 -1
  206. package/.next/server/app/api/registry/oauth/initiate/route.js +1 -1
  207. package/.next/server/app/api/registry/oauth/initiate/route.js.nft.json +1 -1
  208. package/.next/server/app/api/registry/oauth/initiate/route_client-reference-manifest.js +1 -1
  209. package/.next/server/app/api/registry/packages/route.js +1 -0
  210. package/.next/server/app/api/registry/packages/route.js.nft.json +1 -0
  211. package/.next/server/app/api/registry/packages/route_client-reference-manifest.js +1 -0
  212. package/.next/server/app/api/registry/publish/route.js +1 -1
  213. package/.next/server/app/api/registry/publish/route.js.nft.json +1 -1
  214. package/.next/server/app/api/registry/publish/route_client-reference-manifest.js +1 -1
  215. package/.next/server/app/api/registry/settings/route.js +1 -1
  216. package/.next/server/app/api/registry/settings/route.js.nft.json +1 -1
  217. package/.next/server/app/api/registry/settings/route_client-reference-manifest.js +1 -1
  218. package/.next/server/app/api/restore/route.js +1 -1
  219. package/.next/server/app/api/restore/route.js.nft.json +1 -1
  220. package/.next/server/app/api/restore/route_client-reference-manifest.js +1 -1
  221. package/.next/server/app/api/runs/active/route.js +2 -2
  222. package/.next/server/app/api/runs/active/route.js.nft.json +1 -1
  223. package/.next/server/app/api/runs/active/route_client-reference-manifest.js +1 -1
  224. package/.next/server/app/api/storage/route.js +1 -1
  225. package/.next/server/app/api/storage/route.js.nft.json +1 -1
  226. package/.next/server/app/api/storage/route_client-reference-manifest.js +1 -1
  227. package/.next/server/app/api/telemetry/daily-active/route.js +1 -0
  228. package/.next/server/app/api/telemetry/daily-active/route.js.nft.json +1 -0
  229. package/.next/server/app/api/telemetry/daily-active/route_client-reference-manifest.js +1 -0
  230. package/.next/server/app/api/update/route.js +1 -1
  231. package/.next/server/app/api/update/route.js.nft.json +1 -1
  232. package/.next/server/app/api/update/route_client-reference-manifest.js +1 -1
  233. package/.next/server/app/api/waves/route.js +1 -1
  234. package/.next/server/app/api/waves/route.js.nft.json +1 -1
  235. package/.next/server/app/api/waves/route_client-reference-manifest.js +1 -1
  236. package/.next/server/app/api/webhooks/[id]/route.js +1 -1
  237. package/.next/server/app/api/webhooks/[id]/route.js.nft.json +1 -1
  238. package/.next/server/app/api/webhooks/[id]/route_client-reference-manifest.js +1 -1
  239. package/.next/server/app/chat/page.js +58 -10
  240. package/.next/server/app/chat/page.js.nft.json +1 -1
  241. package/.next/server/app/chat/page_client-reference-manifest.js +1 -1
  242. package/.next/server/app/chat.html +1 -1
  243. package/.next/server/app/chat.rsc +3 -3
  244. package/.next/server/app/docs/page.js +4 -5
  245. package/.next/server/app/docs/page.js.nft.json +1 -1
  246. package/.next/server/app/docs/page_client-reference-manifest.js +1 -1
  247. package/.next/server/app/docs.html +1 -1
  248. package/.next/server/app/docs.rsc +3 -3
  249. package/.next/server/app/executions/page.js +3 -2
  250. package/.next/server/app/executions/page.js.nft.json +1 -1
  251. package/.next/server/app/executions/page_client-reference-manifest.js +1 -1
  252. package/.next/server/app/executions.html +1 -1
  253. package/.next/server/app/executions.rsc +3 -3
  254. package/.next/server/app/flows/page.js +3 -3
  255. package/.next/server/app/flows/page.js.nft.json +1 -1
  256. package/.next/server/app/flows/page_client-reference-manifest.js +1 -1
  257. package/.next/server/app/flows.html +1 -1
  258. package/.next/server/app/flows.rsc +3 -3
  259. package/.next/server/app/index.html +1 -1
  260. package/.next/server/app/index.rsc +3 -3
  261. package/.next/server/app/mcp/page.js +56 -5
  262. package/.next/server/app/mcp/page.js.nft.json +1 -1
  263. package/.next/server/app/mcp/page_client-reference-manifest.js +1 -1
  264. package/.next/server/app/mcp-flows/route.js +1 -1
  265. package/.next/server/app/mcp-flows/route.js.nft.json +1 -1
  266. package/.next/server/app/mcp-flows/route_client-reference-manifest.js +1 -1
  267. package/.next/server/app/mcp-proxy/[server]/route.js +1 -1
  268. package/.next/server/app/mcp-proxy/[server]/route.js.nft.json +1 -1
  269. package/.next/server/app/mcp-proxy/[server]/route_client-reference-manifest.js +1 -1
  270. package/.next/server/app/mcp.html +1 -1
  271. package/.next/server/app/mcp.rsc +3 -3
  272. package/.next/server/app/models/page.js +2 -2
  273. package/.next/server/app/models/page.js.nft.json +1 -1
  274. package/.next/server/app/models/page_client-reference-manifest.js +1 -1
  275. package/.next/server/app/packages/page.js +2 -2
  276. package/.next/server/app/packages/page.js.nft.json +1 -1
  277. package/.next/server/app/packages/page_client-reference-manifest.js +1 -1
  278. package/.next/server/app/packages.html +1 -1
  279. package/.next/server/app/packages.rsc +3 -3
  280. package/.next/server/app/page.js +5 -3
  281. package/.next/server/app/page.js.nft.json +1 -1
  282. package/.next/server/app/page_client-reference-manifest.js +1 -1
  283. package/.next/server/app/settings/page.js +2 -2
  284. package/.next/server/app/settings/page.js.nft.json +1 -1
  285. package/.next/server/app/settings/page_client-reference-manifest.js +1 -1
  286. package/.next/server/app/settings.html +1 -1
  287. package/.next/server/app/settings.rsc +3 -3
  288. package/.next/server/app/v1/chat/completions/route.js +1 -1
  289. package/.next/server/app/v1/chat/completions/route.js.nft.json +1 -1
  290. package/.next/server/app/v1/chat/completions/route_client-reference-manifest.js +1 -1
  291. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js +2 -2
  292. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route.js.nft.json +1 -1
  293. package/.next/server/app/v1/chat/conversations/[conversationId]/breakpoints/route_client-reference-manifest.js +1 -1
  294. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js +2 -2
  295. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route.js.nft.json +1 -1
  296. package/.next/server/app/v1/chat/conversations/[conversationId]/cancel/route_client-reference-manifest.js +1 -1
  297. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js +1 -1
  298. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route.js.nft.json +1 -1
  299. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/continue/route_client-reference-manifest.js +1 -1
  300. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js +1 -1
  301. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route.js.nft.json +1 -1
  302. package/.next/server/app/v1/chat/conversations/[conversationId]/debug/step/route_client-reference-manifest.js +1 -1
  303. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js +2 -2
  304. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route.js.nft.json +1 -1
  305. package/.next/server/app/v1/chat/conversations/[conversationId]/edit-state/route_client-reference-manifest.js +1 -1
  306. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js +2 -2
  307. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route.js.nft.json +1 -1
  308. package/.next/server/app/v1/chat/conversations/[conversationId]/events/route_client-reference-manifest.js +1 -1
  309. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js +2 -2
  310. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route.js.nft.json +1 -1
  311. package/.next/server/app/v1/chat/conversations/[conversationId]/inject/route_client-reference-manifest.js +1 -1
  312. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js +1 -1
  313. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route.js.nft.json +1 -1
  314. package/.next/server/app/v1/chat/conversations/[conversationId]/resources/route_client-reference-manifest.js +1 -1
  315. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js +1 -1
  316. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route.js.nft.json +1 -1
  317. package/.next/server/app/v1/chat/conversations/[conversationId]/respond/route_client-reference-manifest.js +1 -1
  318. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js +2 -2
  319. package/.next/server/app/v1/chat/conversations/[conversationId]/route.js.nft.json +1 -1
  320. package/.next/server/app/v1/chat/conversations/[conversationId]/route_client-reference-manifest.js +1 -1
  321. package/.next/server/app/v1/chat/conversations/route.js +2 -2
  322. package/.next/server/app/v1/chat/conversations/route.js.nft.json +1 -1
  323. package/.next/server/app/v1/chat/conversations/route_client-reference-manifest.js +1 -1
  324. package/.next/server/app/v1/chat/events/route.js +3 -3
  325. package/.next/server/app/v1/chat/events/route.js.nft.json +1 -1
  326. package/.next/server/app/v1/chat/events/route_client-reference-manifest.js +1 -1
  327. package/.next/server/app/v1/models/route.js +2 -2
  328. package/.next/server/app/v1/models/route.js.nft.json +1 -1
  329. package/.next/server/app/v1/models/route_client-reference-manifest.js +1 -1
  330. package/.next/server/app/waves/page.js +3 -3
  331. package/.next/server/app/waves/page.js.nft.json +1 -1
  332. package/.next/server/app/waves/page_client-reference-manifest.js +1 -1
  333. package/.next/server/app/waves.html +1 -1
  334. package/.next/server/app/waves.rsc +3 -3
  335. package/.next/server/app-paths-manifest.json +23 -19
  336. package/.next/server/chunks/1114.js +1 -1
  337. package/.next/server/chunks/1226.js +1 -1
  338. package/.next/server/chunks/1227.js +1 -0
  339. package/.next/server/chunks/1314.js +1 -1
  340. package/.next/server/chunks/1439.js +1 -0
  341. package/.next/server/chunks/1578.js +1 -1
  342. package/.next/server/chunks/1634.js +1 -1
  343. package/.next/server/chunks/166.js +5 -5
  344. package/.next/server/chunks/1664.js +2 -0
  345. package/.next/server/chunks/180.js +12 -0
  346. package/.next/server/chunks/227.js +1 -5
  347. package/.next/server/chunks/2273.js +2 -2
  348. package/.next/server/chunks/2372.js +2 -0
  349. package/.next/server/chunks/2859.js +1 -1
  350. package/.next/server/chunks/3128.js +4 -4
  351. package/.next/server/chunks/3653.js +2 -0
  352. package/.next/server/chunks/3717.js +1 -0
  353. package/.next/server/chunks/3855.js +1 -0
  354. package/.next/server/chunks/4013.js +1 -0
  355. package/.next/server/chunks/4308.js +4 -0
  356. package/.next/server/chunks/{4685.js → 4466.js} +1 -1
  357. package/.next/server/chunks/4551.js +1 -1
  358. package/.next/server/chunks/4663.js +1 -0
  359. package/.next/server/chunks/4771.js +1 -1
  360. package/.next/server/chunks/4822.js +1 -0
  361. package/.next/server/chunks/5067.js +1 -1
  362. package/.next/server/chunks/519.js +2 -0
  363. package/.next/server/chunks/5285.js +1 -0
  364. package/.next/server/chunks/5309.js +78 -0
  365. package/.next/server/chunks/544.js +28 -27
  366. package/.next/server/chunks/5463.js +1 -1
  367. package/.next/server/chunks/5544.js +5 -5
  368. package/.next/server/chunks/5703.js +2 -0
  369. package/.next/server/chunks/6034.js +1 -1
  370. package/.next/server/chunks/{5708.js → 6041.js} +3 -4
  371. package/.next/server/chunks/6226.js +1 -1
  372. package/.next/server/chunks/6747.js +435 -0
  373. package/.next/server/chunks/6967.js +82 -0
  374. package/.next/server/chunks/{5548.js → 7058.js} +2 -2
  375. package/.next/server/chunks/{4566.js → 7069.js} +3 -3
  376. package/.next/server/chunks/{2388.js → 7104.js} +1 -1
  377. package/.next/server/chunks/7519.js +1 -0
  378. package/.next/server/chunks/7628.js +1 -0
  379. package/.next/server/chunks/7630.js +11 -0
  380. package/.next/server/chunks/{3030.js → 7674.js} +1 -1
  381. package/.next/server/chunks/{2866.js → 7891.js} +2 -2
  382. package/.next/server/chunks/793.js +3 -3
  383. package/.next/server/chunks/7965.js +39 -0
  384. package/.next/server/chunks/{6404.js → 7993.js} +2 -2
  385. package/.next/server/chunks/8284.js +42 -0
  386. package/.next/server/chunks/8645.js +1 -1
  387. package/.next/server/chunks/87.js +1 -0
  388. package/.next/server/chunks/8739.js +1 -2
  389. package/.next/server/chunks/{3912.js → 9085.js} +2 -2
  390. package/.next/server/chunks/9235.js +29 -0
  391. package/.next/server/chunks/9724.js +3 -3
  392. package/.next/server/chunks/9983.js +1 -1
  393. package/.next/server/functions-config-manifest.json +1 -1
  394. package/.next/server/instrumentation.js +1 -1
  395. package/.next/server/instrumentation.js.nft.json +1 -1
  396. package/.next/server/middleware-build-manifest.js +1 -1
  397. package/.next/server/middleware-manifest.json +5 -5
  398. package/.next/server/middleware-react-loadable-manifest.js +1 -1
  399. package/.next/server/pages/404.html +1 -1
  400. package/.next/server/pages/500.html +1 -1
  401. package/.next/server/server-reference-manifest.js +1 -1
  402. package/.next/server/server-reference-manifest.json +1 -1
  403. package/.next/static/Zz_Vh59XdtLIPcf-PxCpo/_buildManifest.js +1 -0
  404. package/.next/static/chunks/1675-773454288de4309d.js +1 -0
  405. package/.next/static/chunks/2005.4eea65c00d9a29cd.js +1 -0
  406. package/.next/static/chunks/2318-13ef0d3048e97834.js +1 -0
  407. package/.next/static/chunks/3429-34fb1a84aed96703.js +1 -0
  408. package/.next/static/chunks/361.bb75b03b740930cd.js +1 -0
  409. package/.next/static/chunks/3772-20197853c04a6993.js +1 -0
  410. package/.next/static/chunks/422-61b173ba64cf0c94.js +1 -0
  411. package/.next/static/chunks/{3189-fa8ec6d719d5e72b.js → 4386-e9621d3c94969a68.js} +1 -1
  412. package/.next/static/chunks/4555-c9070f8c79bccfad.js +39 -0
  413. package/.next/static/chunks/4919-6c8a48e3cc642349.js +1 -0
  414. package/.next/static/chunks/4929-150b03595474c9d8.js +1 -0
  415. package/.next/static/chunks/5733-1419095a28c1ddc3.js +1 -0
  416. package/.next/static/chunks/639-90ed75d402dc872b.js +1 -0
  417. package/.next/static/chunks/{3452-a639f121f2953f50.js → 6428-951188daa6f74b86.js} +3 -3
  418. package/.next/static/chunks/6430-8c6dac4a758119f2.js +1 -0
  419. package/.next/static/chunks/6539-118a0084e0bfae34.js +1 -0
  420. package/.next/static/chunks/6733-c9029143901e62e9.js +1 -0
  421. package/.next/static/chunks/7264-91d1fa99abcd91ad.js +1 -0
  422. package/.next/static/chunks/7328-c8a51bb8c7470d77.js +1 -0
  423. package/.next/static/chunks/7391-5a0abd837ba241f5.js +1 -0
  424. package/.next/static/chunks/7561-2b366ddcbc3cc0ec.js +1 -0
  425. package/.next/static/chunks/8124-4a80e3201b8e51b0.js +1 -0
  426. package/.next/static/chunks/{2969.eb9ff8cd2a5034b0.js → 8345.bc5534ec13abc9ee.js} +1 -1
  427. package/.next/static/chunks/8404-5aa8ea49197b98b8.js +1 -0
  428. package/.next/static/chunks/{8405.73e8be2c8e5b55c5.js → 8405.a425f94b6b13d2be.js} +1 -1
  429. package/.next/static/chunks/8551-a28272acfda62ac9.js +1 -0
  430. package/.next/static/chunks/8650-5294c6ed1173b014.js +1 -0
  431. package/.next/static/chunks/{9164-840f056a0e11d979.js → 9164-de1d167d87614a6d.js} +1 -1
  432. package/.next/static/chunks/9203-786f457ecf60b49c.js +1 -0
  433. package/.next/static/chunks/9345-11d6e48d892b1862.js +8 -0
  434. package/.next/static/chunks/9562-f8371be653010627.js +1 -0
  435. package/.next/static/chunks/981-dd289e60d81da0d1.js +1 -0
  436. package/.next/static/chunks/9951-566fc6b05c12209e.js +1 -0
  437. package/.next/static/chunks/app/api/approvals/[id]/route-9ea2990be4b67136.js +1 -0
  438. package/.next/static/chunks/app/api/approvals/route-9ea2990be4b67136.js +1 -0
  439. package/.next/static/chunks/app/api/backup/route-9ea2990be4b67136.js +1 -0
  440. package/.next/static/chunks/app/api/browse/route-9ea2990be4b67136.js +1 -0
  441. package/.next/static/chunks/app/api/bugs/enhance/route-9ea2990be4b67136.js +1 -0
  442. package/.next/static/chunks/app/api/cwd/route-9ea2990be4b67136.js +1 -0
  443. package/.next/static/chunks/app/api/encryption/secure/route-9ea2990be4b67136.js +1 -0
  444. package/.next/static/chunks/app/api/env/route-9ea2990be4b67136.js +1 -0
  445. package/.next/static/chunks/app/api/flow/[id]/route-9ea2990be4b67136.js +1 -0
  446. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-9ea2990be4b67136.js +1 -0
  447. package/.next/static/chunks/app/api/flow/[id]/versions/route-9ea2990be4b67136.js +1 -0
  448. package/.next/static/chunks/app/api/flow/compile/route-9ea2990be4b67136.js +1 -0
  449. package/.next/static/chunks/app/api/flow/generate/route-9ea2990be4b67136.js +1 -0
  450. package/.next/static/chunks/app/api/flow/generator/route-9ea2990be4b67136.js +1 -0
  451. package/.next/static/chunks/app/api/flow/improve/route-9ea2990be4b67136.js +1 -0
  452. package/.next/static/chunks/app/api/flow/prompt-renderer/route-9ea2990be4b67136.js +1 -0
  453. package/.next/static/chunks/app/api/flow/quick-chat/route-9ea2990be4b67136.js +1 -0
  454. package/.next/static/chunks/app/api/flow/repair/route-9ea2990be4b67136.js +1 -0
  455. package/.next/static/chunks/app/api/flow/route-9ea2990be4b67136.js +1 -0
  456. package/.next/static/chunks/app/api/git/route-9ea2990be4b67136.js +1 -0
  457. package/.next/static/chunks/app/api/init/route-9ea2990be4b67136.js +1 -0
  458. package/.next/static/chunks/app/api/local-models/capability/route-9ea2990be4b67136.js +1 -0
  459. package/.next/static/chunks/app/api/local-models/pull/route-9ea2990be4b67136.js +1 -0
  460. package/.next/static/chunks/app/api/local-models/suggest/route-9ea2990be4b67136.js +1 -0
  461. package/.next/static/chunks/app/api/mcp/app-sandbox/route-9ea2990be4b67136.js +1 -0
  462. package/.next/static/chunks/app/api/mcp/cancel/route-9ea2990be4b67136.js +1 -0
  463. package/.next/static/chunks/app/api/mcp/oauth-capability/route-9ea2990be4b67136.js +1 -0
  464. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-9ea2990be4b67136.js +1 -0
  465. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-9ea2990be4b67136.js +1 -0
  466. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-9ea2990be4b67136.js +1 -0
  467. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-9ea2990be4b67136.js +1 -0
  468. package/.next/static/chunks/app/api/mcp/servers/[name]/route-9ea2990be4b67136.js +1 -0
  469. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-9ea2990be4b67136.js +1 -0
  470. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-9ea2990be4b67136.js +1 -0
  471. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-9ea2990be4b67136.js +1 -0
  472. package/.next/static/chunks/app/api/mcp/servers/route-9ea2990be4b67136.js +1 -0
  473. package/.next/static/chunks/app/api/mcp/test-connection/route-9ea2990be4b67136.js +1 -0
  474. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-9ea2990be4b67136.js +1 -0
  475. package/.next/static/chunks/app/api/mcp-registry/route-9ea2990be4b67136.js +1 -0
  476. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-9ea2990be4b67136.js +1 -0
  477. package/.next/static/chunks/app/api/model/[id]/route-9ea2990be4b67136.js +1 -0
  478. package/.next/static/chunks/app/api/model/provider/route-9ea2990be4b67136.js +1 -0
  479. package/.next/static/chunks/app/api/model/route-9ea2990be4b67136.js +1 -0
  480. package/.next/static/chunks/app/api/model/test/route-9ea2990be4b67136.js +1 -0
  481. package/.next/static/chunks/app/api/oauth/callback/route-9ea2990be4b67136.js +1 -0
  482. package/.next/static/chunks/app/api/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  483. package/.next/static/chunks/app/api/oauth/reset/route-9ea2990be4b67136.js +1 -0
  484. package/.next/static/chunks/app/api/packages/build/route-9ea2990be4b67136.js +1 -0
  485. package/.next/static/chunks/app/api/packages/derive-secrets/route-9ea2990be4b67136.js +1 -0
  486. package/.next/static/chunks/app/api/packages/install/route-9ea2990be4b67136.js +1 -0
  487. package/.next/static/chunks/app/api/packages/install/status/route-9ea2990be4b67136.js +1 -0
  488. package/.next/static/chunks/app/api/packages/installed/route-9ea2990be4b67136.js +1 -0
  489. package/.next/static/chunks/app/api/packages/resolve/route-9ea2990be4b67136.js +1 -0
  490. package/.next/static/chunks/app/api/packages/scan-targets/route-9ea2990be4b67136.js +1 -0
  491. package/.next/static/chunks/app/api/packages/search/route-9ea2990be4b67136.js +1 -0
  492. package/.next/static/chunks/app/api/packages/uninstall/route-9ea2990be4b67136.js +1 -0
  493. package/.next/static/chunks/app/api/planned-executions/[id]/route-9ea2990be4b67136.js +1 -0
  494. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-9ea2990be4b67136.js +1 -0
  495. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-9ea2990be4b67136.js +1 -0
  496. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-9ea2990be4b67136.js +1 -0
  497. package/.next/static/chunks/app/api/planned-executions/reconcile/route-9ea2990be4b67136.js +1 -0
  498. package/.next/static/chunks/app/api/planned-executions/route-9ea2990be4b67136.js +1 -0
  499. package/.next/static/chunks/app/api/registry/auth/resend/route-9ea2990be4b67136.js +1 -0
  500. package/.next/static/chunks/app/api/registry/auth/reset/route-9ea2990be4b67136.js +1 -0
  501. package/.next/static/chunks/app/api/registry/auth/route-9ea2990be4b67136.js +1 -0
  502. package/.next/static/chunks/app/api/registry/feedback/route-9ea2990be4b67136.js +1 -0
  503. package/.next/static/chunks/app/api/registry/oauth/callback/route-9ea2990be4b67136.js +1 -0
  504. package/.next/static/chunks/app/api/registry/oauth/initiate/route-9ea2990be4b67136.js +1 -0
  505. package/.next/static/chunks/app/api/registry/packages/route-9ea2990be4b67136.js +1 -0
  506. package/.next/static/chunks/app/api/registry/publish/route-9ea2990be4b67136.js +1 -0
  507. package/.next/static/chunks/app/api/registry/settings/route-9ea2990be4b67136.js +1 -0
  508. package/.next/static/chunks/app/api/restore/route-9ea2990be4b67136.js +1 -0
  509. package/.next/static/chunks/app/api/runs/active/route-9ea2990be4b67136.js +1 -0
  510. package/.next/static/chunks/app/api/storage/route-9ea2990be4b67136.js +1 -0
  511. package/.next/static/chunks/app/api/telemetry/daily-active/route-9ea2990be4b67136.js +1 -0
  512. package/.next/static/chunks/app/api/update/route-9ea2990be4b67136.js +1 -0
  513. package/.next/static/chunks/app/api/waves/route-9ea2990be4b67136.js +1 -0
  514. package/.next/static/chunks/app/api/webhooks/[id]/route-9ea2990be4b67136.js +1 -0
  515. package/.next/static/chunks/app/chat/page-bc7807593b8b7394.js +1 -0
  516. package/.next/static/chunks/app/docs/page-3b9ce48854b2147d.js +1 -0
  517. package/.next/static/chunks/app/executions/page-8296fd69c439ccee.js +1 -0
  518. package/.next/static/chunks/app/flows/page-87fb466e491fc068.js +1 -0
  519. package/.next/static/chunks/app/layout-abed1f211e03152f.js +1 -0
  520. package/.next/static/chunks/app/mcp/page-1648e6fde0c41461.js +1 -0
  521. package/.next/static/chunks/app/mcp-flows/route-9ea2990be4b67136.js +1 -0
  522. package/.next/static/chunks/app/mcp-proxy/[server]/route-9ea2990be4b67136.js +1 -0
  523. package/.next/static/chunks/app/models/page-a5e2437356b06db8.js +1 -0
  524. package/.next/static/chunks/app/packages/page-fba5696f33d9cdfb.js +1 -0
  525. package/.next/static/chunks/app/page-2f9da78a4891731a.js +1 -0
  526. package/.next/static/chunks/app/settings/page-2fc3a70bfd25c48b.js +1 -0
  527. package/.next/static/chunks/app/v1/chat/completions/route-9ea2990be4b67136.js +1 -0
  528. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-9ea2990be4b67136.js +1 -0
  529. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-9ea2990be4b67136.js +1 -0
  530. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-9ea2990be4b67136.js +1 -0
  531. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-9ea2990be4b67136.js +1 -0
  532. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-9ea2990be4b67136.js +1 -0
  533. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-9ea2990be4b67136.js +1 -0
  534. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-9ea2990be4b67136.js +1 -0
  535. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-9ea2990be4b67136.js +1 -0
  536. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-9ea2990be4b67136.js +1 -0
  537. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-9ea2990be4b67136.js +1 -0
  538. package/.next/static/chunks/app/v1/chat/conversations/route-9ea2990be4b67136.js +1 -0
  539. package/.next/static/chunks/app/v1/chat/events/route-9ea2990be4b67136.js +1 -0
  540. package/.next/static/chunks/app/v1/models/route-9ea2990be4b67136.js +1 -0
  541. package/.next/static/chunks/app/waves/{page-3cf4b47b12662196.js → page-dc99a16141dd902b.js} +1 -1
  542. package/.next/static/chunks/webpack-d5d737ff6a86674f.js +1 -0
  543. package/.next/trace +10 -10
  544. package/.next/types/app/api/flow/generator/route.ts +347 -0
  545. package/.next/types/app/api/registry/feedback/route.ts +347 -0
  546. package/.next/types/app/api/registry/packages/route.ts +347 -0
  547. package/.next/types/app/api/telemetry/daily-active/route.ts +347 -0
  548. package/.next/types/routes.d.ts +5 -1
  549. package/.next/types/validator.ts +36 -0
  550. package/README.md +58 -18
  551. package/next.config.mjs +2 -2
  552. package/package.json +3 -2
  553. package/.next/server/chunks/2180.js +0 -1
  554. package/.next/server/chunks/237.js +0 -1
  555. package/.next/server/chunks/3392.js +0 -82
  556. package/.next/server/chunks/3570.js +0 -372
  557. package/.next/server/chunks/4366.js +0 -2
  558. package/.next/server/chunks/4961.js +0 -2
  559. package/.next/server/chunks/5040.js +0 -53
  560. package/.next/server/chunks/510.js +0 -1
  561. package/.next/server/chunks/5150.js +0 -1
  562. package/.next/server/chunks/5561.js +0 -1
  563. package/.next/server/chunks/5705.js +0 -1
  564. package/.next/server/chunks/5829.js +0 -1
  565. package/.next/server/chunks/694.js +0 -3
  566. package/.next/server/chunks/7579.js +0 -83
  567. package/.next/server/chunks/7724.js +0 -1
  568. package/.next/server/chunks/8034.js +0 -1
  569. package/.next/server/chunks/8037.js +0 -1
  570. package/.next/server/chunks/8192.js +0 -12
  571. package/.next/server/chunks/826.js +0 -2
  572. package/.next/server/chunks/8366.js +0 -90
  573. package/.next/server/chunks/848.js +0 -39
  574. package/.next/server/chunks/8615.js +0 -1
  575. package/.next/server/chunks/8851.js +0 -1
  576. package/.next/server/chunks/9313.js +0 -1
  577. package/.next/server/chunks/9537.js +0 -39
  578. package/.next/server/chunks/9576.js +0 -2
  579. package/.next/server/chunks/9632.js +0 -1
  580. package/.next/server/chunks/9671.js +0 -1
  581. package/.next/server/chunks/9857.js +0 -1
  582. package/.next/static/chunks/1496-d478bce7d7c85080.js +0 -1
  583. package/.next/static/chunks/1572-b663a83bba28a0a1.js +0 -8
  584. package/.next/static/chunks/1641-e5ff8f112da0a335.js +0 -1
  585. package/.next/static/chunks/1988-bd73f26184e930c1.js +0 -1
  586. package/.next/static/chunks/2266-d812473724cc6643.js +0 -1
  587. package/.next/static/chunks/3089.a0856f8093b90939.js +0 -1
  588. package/.next/static/chunks/3560-5bdceef09b50e1c3.js +0 -1
  589. package/.next/static/chunks/3672-cd86ace43288da79.js +0 -1
  590. package/.next/static/chunks/3711-0050bb4d345c2c9c.js +0 -1
  591. package/.next/static/chunks/4147-20897d83b3cd3978.js +0 -39
  592. package/.next/static/chunks/435-17c79f3b9f8dd38d.js +0 -1
  593. package/.next/static/chunks/469-1f043fe082d9f475.js +0 -1
  594. package/.next/static/chunks/4740-62814d07b2b7f760.js +0 -1
  595. package/.next/static/chunks/5441-cb0c31de8bce65c3.js +0 -1
  596. package/.next/static/chunks/7111-44538f8a64241b74.js +0 -1
  597. package/.next/static/chunks/8041-05830e887c133085.js +0 -1
  598. package/.next/static/chunks/812-dfe7ba07ddb7a565.js +0 -1
  599. package/.next/static/chunks/8401-0f39d91810180a88.js +0 -1
  600. package/.next/static/chunks/8404-14ef0345dc401ac5.js +0 -1
  601. package/.next/static/chunks/8678-c6c6be2672f337f6.js +0 -1
  602. package/.next/static/chunks/8834-faf121e257b517d5.js +0 -1
  603. package/.next/static/chunks/8855-f802599c4af81cca.js +0 -1
  604. package/.next/static/chunks/9562-5494feecd8c6f7a3.js +0 -1
  605. package/.next/static/chunks/app/api/approvals/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  606. package/.next/static/chunks/app/api/approvals/route-1a4c9e7a416ccbcf.js +0 -1
  607. package/.next/static/chunks/app/api/backup/route-1a4c9e7a416ccbcf.js +0 -1
  608. package/.next/static/chunks/app/api/browse/route-1a4c9e7a416ccbcf.js +0 -1
  609. package/.next/static/chunks/app/api/bugs/enhance/route-1a4c9e7a416ccbcf.js +0 -1
  610. package/.next/static/chunks/app/api/cwd/route-1a4c9e7a416ccbcf.js +0 -1
  611. package/.next/static/chunks/app/api/encryption/secure/route-1a4c9e7a416ccbcf.js +0 -1
  612. package/.next/static/chunks/app/api/env/route-1a4c9e7a416ccbcf.js +0 -1
  613. package/.next/static/chunks/app/api/flow/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  614. package/.next/static/chunks/app/api/flow/[id]/versions/[versionId]/route-1a4c9e7a416ccbcf.js +0 -1
  615. package/.next/static/chunks/app/api/flow/[id]/versions/route-1a4c9e7a416ccbcf.js +0 -1
  616. package/.next/static/chunks/app/api/flow/compile/route-1a4c9e7a416ccbcf.js +0 -1
  617. package/.next/static/chunks/app/api/flow/generate/route-1a4c9e7a416ccbcf.js +0 -1
  618. package/.next/static/chunks/app/api/flow/improve/route-1a4c9e7a416ccbcf.js +0 -1
  619. package/.next/static/chunks/app/api/flow/prompt-renderer/route-1a4c9e7a416ccbcf.js +0 -1
  620. package/.next/static/chunks/app/api/flow/quick-chat/route-1a4c9e7a416ccbcf.js +0 -1
  621. package/.next/static/chunks/app/api/flow/repair/route-1a4c9e7a416ccbcf.js +0 -1
  622. package/.next/static/chunks/app/api/flow/route-1a4c9e7a416ccbcf.js +0 -1
  623. package/.next/static/chunks/app/api/git/route-1a4c9e7a416ccbcf.js +0 -1
  624. package/.next/static/chunks/app/api/init/route-1a4c9e7a416ccbcf.js +0 -1
  625. package/.next/static/chunks/app/api/local-models/capability/route-1a4c9e7a416ccbcf.js +0 -1
  626. package/.next/static/chunks/app/api/local-models/pull/route-1a4c9e7a416ccbcf.js +0 -1
  627. package/.next/static/chunks/app/api/local-models/suggest/route-1a4c9e7a416ccbcf.js +0 -1
  628. package/.next/static/chunks/app/api/mcp/app-sandbox/route-1a4c9e7a416ccbcf.js +0 -1
  629. package/.next/static/chunks/app/api/mcp/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  630. package/.next/static/chunks/app/api/mcp/oauth-capability/route-1a4c9e7a416ccbcf.js +0 -1
  631. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/get/route-1a4c9e7a416ccbcf.js +0 -1
  632. package/.next/static/chunks/app/api/mcp/servers/[name]/prompts/route-1a4c9e7a416ccbcf.js +0 -1
  633. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/read/route-1a4c9e7a416ccbcf.js +0 -1
  634. package/.next/static/chunks/app/api/mcp/servers/[name]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  635. package/.next/static/chunks/app/api/mcp/servers/[name]/route-1a4c9e7a416ccbcf.js +0 -1
  636. package/.next/static/chunks/app/api/mcp/servers/[name]/status/route-1a4c9e7a416ccbcf.js +0 -1
  637. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/[toolName]/route-1a4c9e7a416ccbcf.js +0 -1
  638. package/.next/static/chunks/app/api/mcp/servers/[name]/tools/route-1a4c9e7a416ccbcf.js +0 -1
  639. package/.next/static/chunks/app/api/mcp/servers/route-1a4c9e7a416ccbcf.js +0 -1
  640. package/.next/static/chunks/app/api/mcp/test-connection/route-1a4c9e7a416ccbcf.js +0 -1
  641. package/.next/static/chunks/app/api/mcp/test-connection/stream/route-1a4c9e7a416ccbcf.js +0 -1
  642. package/.next/static/chunks/app/api/mcp-registry/route-1a4c9e7a416ccbcf.js +0 -1
  643. package/.next/static/chunks/app/api/mcp-registry/spotlight/route-1a4c9e7a416ccbcf.js +0 -1
  644. package/.next/static/chunks/app/api/model/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  645. package/.next/static/chunks/app/api/model/provider/route-1a4c9e7a416ccbcf.js +0 -1
  646. package/.next/static/chunks/app/api/model/route-1a4c9e7a416ccbcf.js +0 -1
  647. package/.next/static/chunks/app/api/model/test/route-1a4c9e7a416ccbcf.js +0 -1
  648. package/.next/static/chunks/app/api/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  649. package/.next/static/chunks/app/api/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  650. package/.next/static/chunks/app/api/oauth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  651. package/.next/static/chunks/app/api/packages/build/route-1a4c9e7a416ccbcf.js +0 -1
  652. package/.next/static/chunks/app/api/packages/derive-secrets/route-1a4c9e7a416ccbcf.js +0 -1
  653. package/.next/static/chunks/app/api/packages/install/route-1a4c9e7a416ccbcf.js +0 -1
  654. package/.next/static/chunks/app/api/packages/install/status/route-1a4c9e7a416ccbcf.js +0 -1
  655. package/.next/static/chunks/app/api/packages/installed/route-1a4c9e7a416ccbcf.js +0 -1
  656. package/.next/static/chunks/app/api/packages/resolve/route-1a4c9e7a416ccbcf.js +0 -1
  657. package/.next/static/chunks/app/api/packages/scan-targets/route-1a4c9e7a416ccbcf.js +0 -1
  658. package/.next/static/chunks/app/api/packages/search/route-1a4c9e7a416ccbcf.js +0 -1
  659. package/.next/static/chunks/app/api/packages/uninstall/route-1a4c9e7a416ccbcf.js +0 -1
  660. package/.next/static/chunks/app/api/planned-executions/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  661. package/.next/static/chunks/app/api/planned-executions/[id]/run/route-1a4c9e7a416ccbcf.js +0 -1
  662. package/.next/static/chunks/app/api/planned-executions/[id]/runs/route-1a4c9e7a416ccbcf.js +0 -1
  663. package/.next/static/chunks/app/api/planned-executions/preview-schedule/route-1a4c9e7a416ccbcf.js +0 -1
  664. package/.next/static/chunks/app/api/planned-executions/reconcile/route-1a4c9e7a416ccbcf.js +0 -1
  665. package/.next/static/chunks/app/api/planned-executions/route-1a4c9e7a416ccbcf.js +0 -1
  666. package/.next/static/chunks/app/api/registry/auth/resend/route-1a4c9e7a416ccbcf.js +0 -1
  667. package/.next/static/chunks/app/api/registry/auth/reset/route-1a4c9e7a416ccbcf.js +0 -1
  668. package/.next/static/chunks/app/api/registry/auth/route-1a4c9e7a416ccbcf.js +0 -1
  669. package/.next/static/chunks/app/api/registry/oauth/callback/route-1a4c9e7a416ccbcf.js +0 -1
  670. package/.next/static/chunks/app/api/registry/oauth/initiate/route-1a4c9e7a416ccbcf.js +0 -1
  671. package/.next/static/chunks/app/api/registry/publish/route-1a4c9e7a416ccbcf.js +0 -1
  672. package/.next/static/chunks/app/api/registry/settings/route-1a4c9e7a416ccbcf.js +0 -1
  673. package/.next/static/chunks/app/api/restore/route-1a4c9e7a416ccbcf.js +0 -1
  674. package/.next/static/chunks/app/api/runs/active/route-1a4c9e7a416ccbcf.js +0 -1
  675. package/.next/static/chunks/app/api/storage/route-1a4c9e7a416ccbcf.js +0 -1
  676. package/.next/static/chunks/app/api/update/route-1a4c9e7a416ccbcf.js +0 -1
  677. package/.next/static/chunks/app/api/waves/route-1a4c9e7a416ccbcf.js +0 -1
  678. package/.next/static/chunks/app/api/webhooks/[id]/route-1a4c9e7a416ccbcf.js +0 -1
  679. package/.next/static/chunks/app/chat/page-558edb21321a32d0.js +0 -1
  680. package/.next/static/chunks/app/docs/page-fc30f613607b8a26.js +0 -1
  681. package/.next/static/chunks/app/executions/page-e71689c7256af1e8.js +0 -1
  682. package/.next/static/chunks/app/flows/page-e90e8d7b4c1bd1c8.js +0 -1
  683. package/.next/static/chunks/app/layout-038b35b382eef11d.js +0 -1
  684. package/.next/static/chunks/app/mcp/page-6041156fc67ef361.js +0 -1
  685. package/.next/static/chunks/app/mcp-flows/route-1a4c9e7a416ccbcf.js +0 -1
  686. package/.next/static/chunks/app/mcp-proxy/[server]/route-1a4c9e7a416ccbcf.js +0 -1
  687. package/.next/static/chunks/app/models/page-d16f2721e7a93b43.js +0 -1
  688. package/.next/static/chunks/app/packages/page-c6b0e7aa95bc1064.js +0 -1
  689. package/.next/static/chunks/app/page-5c7fccd019942d46.js +0 -1
  690. package/.next/static/chunks/app/settings/page-e3d9ffd69d16873a.js +0 -1
  691. package/.next/static/chunks/app/v1/chat/completions/route-1a4c9e7a416ccbcf.js +0 -1
  692. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/breakpoints/route-1a4c9e7a416ccbcf.js +0 -1
  693. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/cancel/route-1a4c9e7a416ccbcf.js +0 -1
  694. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/continue/route-1a4c9e7a416ccbcf.js +0 -1
  695. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/debug/step/route-1a4c9e7a416ccbcf.js +0 -1
  696. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/edit-state/route-1a4c9e7a416ccbcf.js +0 -1
  697. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/events/route-1a4c9e7a416ccbcf.js +0 -1
  698. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/inject/route-1a4c9e7a416ccbcf.js +0 -1
  699. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/resources/route-1a4c9e7a416ccbcf.js +0 -1
  700. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/respond/route-1a4c9e7a416ccbcf.js +0 -1
  701. package/.next/static/chunks/app/v1/chat/conversations/[conversationId]/route-1a4c9e7a416ccbcf.js +0 -1
  702. package/.next/static/chunks/app/v1/chat/conversations/route-1a4c9e7a416ccbcf.js +0 -1
  703. package/.next/static/chunks/app/v1/chat/events/route-1a4c9e7a416ccbcf.js +0 -1
  704. package/.next/static/chunks/app/v1/models/route-1a4c9e7a416ccbcf.js +0 -1
  705. package/.next/static/chunks/webpack-2d8e0c13c0b865fe.js +0 -1
  706. package/.next/static/eaxwKaaFHlA1_FLDIyFGi/_buildManifest.js +0 -1
  707. /package/.next/static/{eaxwKaaFHlA1_FLDIyFGi → Zz_Vh59XdtLIPcf-PxCpo}/_ssgManifest.js +0 -0
@@ -0,0 +1 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9203],{748:(e,t,r)=>{r.d(t,{kY:()=>s,Ic:()=>l});var a=r(26796),o=r(87021);let s={light:{background:"#FFFFFF",foreground:"#2C3E50",surface:"#F5F6FA",surfaceRaised:"#FFFFFF",paperBackground:"#F5F6FA",textSecondary:"#7F8C8D",textDisabled:"#9CA3AF",border:"#e5e7eb",heading:"#111",text:"#333",secondaryText:"#666",error:{background:"#fef2f2",border:"#fecaca",text:"#dc2626"},domain:{resource:"#009688",resourceSoft:"#4DB6AC",signal:"#7E57C2",startNode:"#795548",codeBackground:"#f5f5f5",http:{get:"#2e7d32",post:"#1565c0",put:"#e65100",patch:"#6a1b9a",delete:"#c62828"},transport:{stdio:{fg:"#1976d2",bg:"#e3f2fd"},websocket:{fg:"#2e7d32",bg:"#e8f5e8"},sse:{fg:"#f57c00",bg:"#fff3e0"},streamable:{fg:"#00796b",bg:"#e0f2f1"},default:{fg:"#757575",bg:"#f5f5f5"}}}},dark:{background:"#0f1319",foreground:"#eef1f5",surface:"#1a212b",surfaceRaised:"#242d3a",paperBackground:"#1a212b",textSecondary:"#b4bdca",textDisabled:"#6b7280",border:"#37404e",heading:"#f5f7fa",text:"#eef1f5",secondaryText:"#b4bdca",error:{background:"#2a1618",border:"#5a2a2e",text:"#ff6b6b"},domain:{resource:"#26a69a",resourceSoft:"#4DB6AC",signal:"#9575CD",startNode:"#a1887f",codeBackground:"#242d3a",http:{get:"#66bb6a",post:"#5b9dff",put:"#ffa726",patch:"#ba68c8",delete:"#ef5350"},transport:{stdio:{fg:"#90caf9",bg:"#1e2a3a"},websocket:{fg:"#a5d6a7",bg:"#1e2e22"},sse:{fg:"#ffcc80",bg:"#33281a"},streamable:{fg:"#80cbc4",bg:"#17322e"},default:{fg:"#b4bdca",bg:"#242d3a"}}}}},n=(0,o.h)("frontend/utils/theme");function l(){let{isDarkMode:e}=(0,a.useTheme)();return n.debug("useThemeUtils called with isDarkMode: ".concat(e)),{getThemeValue:(t,r)=>e?r:t,getThemeColor:t=>{let r=t.split("."),a=s[e?"dark":"light"];for(let e of r)if(!a||"object"!=typeof a||!(e in a))return n.warn("Theme color path not found: ".concat(t)),"";else a=a[e];return a},colors:e?s.dark:s.light,isDarkMode:e}}},17427:(e,t,r)=>{r.d(t,{A:()=>f});var a=r(95155),o=r(12115),s=r(25635),n=r(94049),l=r(99944),i=r(9957),c=r(52641),d=r(95436),u=r(55606),p=r(86973),h=r(9562);let f=e=>{var t;let{schema:r,values:f,onChange:m,size:x="small"}=e,[g,b]=(0,o.useState)({}),y=null!=(t=null==r?void 0:r.properties)?t:{},v=Array.isArray(null==r?void 0:r.required)?r.required:[],j=Object.keys(y);if(0===j.length)return(0,a.jsx)(s.default,{variant:"body2",color:"text.secondary",children:"This tool takes no parameters."});let A=(e,t)=>{let r={...f};void 0===t?delete r[e]:r[e]=t,m(r)};return(0,a.jsx)(n.default,{sx:{display:"flex",flexDirection:"column",gap:2},children:j.map(e=>{var t,r;let o=null!=(t=y[e])?t:{},m=v.includes(e)?"".concat(e," *"):e,j="string"==typeof o.description?o.description:"";if("boolean"===o.type)return(0,a.jsx)(l.A,{control:(0,a.jsx)(i.A,{size:x,checked:!0===f[e],onChange:t=>A(e,t.target.checked)}),label:(0,a.jsxs)(n.default,{children:[(0,a.jsx)(s.default,{variant:"body2",children:m}),j&&(0,a.jsx)(s.default,{variant:"caption",color:"text.secondary",children:j})]})},e);if(Array.isArray(o.enum)&&o.enum.length>0){let t=f[e];return(0,a.jsxs)(c.A,{size:x,fullWidth:!0,children:[(0,a.jsx)(d.A,{id:"schema-param-".concat(e),children:m}),(0,a.jsx)(u.A,{labelId:"schema-param-".concat(e),label:m,value:o.enum.includes(t)?t:"",onChange:t=>A(e,t.target.value),children:o.enum.map(e=>(0,a.jsx)(p.A,{value:e,children:String(e)},String(e)))}),j&&(0,a.jsx)(s.default,{variant:"caption",color:"text.secondary",sx:{mt:.5,mx:1.75},children:j})]},e)}if("number"===o.type||"integer"===o.type)return(0,a.jsx)(h.A,{fullWidth:!0,size:x,type:"number",label:m,value:void 0!==f[e]?String(f[e]):"",onChange:t=>{let r=t.target.value;if(""===r)return void A(e,void 0);let a="integer"===o.type?parseInt(r,10):parseFloat(r);A(e,Number.isNaN(a)?void 0:a)},helperText:j},e);if("object"===o.type||"array"===o.type){let t=null!=(r=g[e])?r:void 0!==f[e]?JSON.stringify(f[e],null,2):"",s=null;if(t.trim())try{JSON.parse(t)}catch(e){s="Not valid JSON yet"}return(0,a.jsx)(h.A,{fullWidth:!0,size:x,multiline:!0,minRows:2,label:"".concat(m," (JSON ").concat(o.type,")"),value:t,error:!!s,helperText:null!=s?s:j,onChange:t=>{let r=t.target.value;if(b(t=>({...t,[e]:r})),!r.trim())return void A(e,void 0);try{A(e,JSON.parse(r))}catch(e){}},slotProps:{input:{sx:{fontFamily:"monospace",fontSize:13}}}},e)}return(0,a.jsx)(h.A,{fullWidth:!0,size:x,label:m,value:void 0!==f[e]?String(f[e]):"",onChange:t=>A(e,""===t.target.value?void 0:t.target.value),helperText:j},e)})})}},22573:(e,t,r)=>{r.d(t,{A:()=>p});var a=r(95155);r(12115);var o=r(33567),s=r(94049),n=r(41983),l=r(25635),i=r(28548),c=r(50430),d=r(63186),u=r(91665);let p=e=>{let{label:t,count:r,expanded:p,onToggle:h,showFolderIcon:f=!1,children:m}=e,x=(0,o.A)();return(0,a.jsxs)(s.default,{sx:{mb:1.5},children:[(0,a.jsxs)(s.default,{role:"button",tabIndex:0,"aria-expanded":p,onClick:h,onKeyDown:e=>{("Enter"===e.key||" "===e.key)&&(e.preventDefault(),h())},sx:{display:"flex",alignItems:"center",gap:1,px:1,py:.75,borderRadius:1,cursor:"pointer",userSelect:"none",backgroundColor:x.palette.background.default,border:"1px solid ".concat(x.palette.divider),"&:hover":{backgroundColor:x.palette.action.hover}},children:[(0,a.jsx)(n.A,{size:"small","aria-label":p?"Collapse section":"Expand section",onClick:e=>{e.stopPropagation(),h()},sx:{transition:"transform 0.2s",transform:p?"rotate(0deg)":"rotate(-90deg)"},children:(0,a.jsx)(d.A,{fontSize:"small"})}),f&&(0,a.jsx)(u.A,{fontSize:"small",sx:{color:"text.secondary"}}),(0,a.jsx)(l.default,{variant:"subtitle2",sx:{fontWeight:600},children:t}),(0,a.jsx)(i.A,{label:r,size:"small",sx:{height:20,fontSize:"0.7rem"}})]}),(0,a.jsx)(c.A,{in:p,unmountOnExit:!0,children:(0,a.jsx)(s.default,{sx:{pt:1.5},children:m})})]})}},26796:(e,t,r)=>{r.r(t),r.d(t,{ThemeProvider:()=>h,useTheme:()=>f});var a=r(95155),o=r(12115),s=r(87021),n=r(7160),l=r(29197),i=r(748),c=r(84563),d=r(29692);let u=(0,s.h)("frontend/contexts/ThemeContext"),p=(0,o.createContext)(void 0),h=e=>{let{children:t}=e,[r,s]=(0,o.useState)(!1),[h,f]=(0,o.useState)(!1);(0,o.useEffect)(()=>{(async()=>{u.debug("Loading theme preference from storage");let e=await (0,d.YM)(d.Zg.THEME,"light");u.info("Theme loaded from storage: ".concat(e));let t="dark"===e;f(t),t?document.documentElement.classList.add("dark-theme"):document.documentElement.classList.remove("dark-theme"),s(!0)})()},[]);let m=(0,o.useMemo)(()=>(function(e){let t="dark"===e?i.kY.dark:i.kY.light,r="dark"===e;return(0,l.A)({palette:{mode:e,primary:{main:r?"#4f93f5":"#007bff",light:r?"#6aa6f7":"#3395ff",dark:r?"#3a7ad4":"#0056b3"},secondary:{main:r?"#a3adba":"#6c757d"},error:{main:r?"#ff6b6b":"#dc2626",light:r?"#5a2a2e":"#fecaca",dark:r?"#2a1618":"#b91c1c"},warning:{main:r?"#e0a23c":"#f59e0b"},info:{main:r?"#56b6d6":"#3b82f6"},success:{main:r?"#3fae72":"#16a34a"},divider:t.border,background:{default:t.background,paper:t.surface},text:{primary:t.foreground,secondary:t.textSecondary,disabled:t.textDisabled}},typography:{fontFamily:"var(--font-geist-sans), Arial, sans-serif",h1:{fontWeight:700},h2:{fontWeight:700},h3:{fontWeight:600},h4:{fontWeight:600},h5:{fontWeight:600},h6:{fontWeight:600}},components:{MuiButton:{styleOverrides:{root:{textTransform:"none",borderRadius:"0.375rem"}}},MuiPaper:{styleOverrides:{root:{borderRadius:"0.5rem",backgroundImage:"none"}}},MuiTextField:{styleOverrides:{root:{"& .MuiOutlinedInput-root":{borderRadius:"0.375rem"}}}},MuiCard:{styleOverrides:{root:{borderRadius:"0.5rem",border:r?"1px solid ".concat(t.border):void 0,boxShadow:r?"0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3)":"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)"}}},MuiMenu:{styleOverrides:{paper:{backgroundColor:t.surfaceRaised,backgroundImage:"none"}}},MuiPopover:{styleOverrides:{paper:{backgroundColor:t.surfaceRaised,backgroundImage:"none"}}},MuiTooltip:{styleOverrides:{tooltip:r?{backgroundColor:t.surfaceRaised,border:"1px solid ".concat(t.border),color:t.foreground}:void 0}}}})})(h?"dark":"light"),[h]);return u.debug("Rendering ThemeProvider with isDarkMode: ".concat(h)),(0,a.jsx)(p.Provider,{value:{toggleTheme:()=>{f(e=>{let t=!e,r=t?"dark":"light";return u.info("Toggling theme to: ".concat(r)),t?document.documentElement.classList.add("dark-theme"):document.documentElement.classList.remove("dark-theme"),(0,d.VH)(d.Zg.THEME,r),t})},isDarkMode:h},children:(0,a.jsxs)(n.A,{theme:m,children:[(0,a.jsx)(c.Ay,{}),t]})})},f=()=>{let e=(0,o.useContext)(p);if(!e)throw u.error("useTheme hook used outside of ThemeProvider"),Error("useTheme must be used within a ThemeProvider");return u.debug("useTheme hook accessed"),e}},27156:(e,t,r)=>{r.d(t,{Z:()=>a});var a=function(e){return e.MODELS="models",e.FLOWS="flows",e.CHAT_HISTORY="history",e.THEME="theme",e.ENCRYPTION_KEY="encryption_key",e.MCP_SERVERS="mcp_servers",e.GLOBAL_ENV_VARS="global_env_vars",e.CURRENT_CONVERSATION_ID="current_conversation_id",e.SELECTED_FLOW_ID="selected_flow_id",e.LAST_PICKED_FLOW_ID="last_picked_flow_id",e.SPEECH_SETTINGS="speech_settings",e.SPOTLIGHT_SERVERS="spotlight_servers",e.PLANNED_EXECUTIONS="planned_executions",e.MCP_AUTO_INSTALL_SETTINGS="mcp_auto_install_settings",e.MCP_QUALITY_SETTINGS="mcp_quality_settings",e.RUN_RESOURCE_SETTINGS="run_resource_settings",e.KV_STORE_SETTINGS="kv_store_settings",e.PENDING_APPROVALS="pending_approvals",e.MCP_INTERNAL_OVERRIDES="mcp_internal_overrides",e.PACKAGE_INSTALLS="package_installs",e.EXPERIMENTAL_SETTINGS="experimental_settings",e.REGISTRY_ACCOUNT="registry_account",e.REGISTRY_SETTINGS="registry_settings",e.TELEMETRY_STATE="telemetry_state",e}({})},29692:(e,t,r)=>{r.d(t,{Zg:()=>a.Z,YM:()=>i,VH:()=>l,Mj:()=>n});var a=r(27156),o=r(12115);let s=(0,r(87021).h)("utils/storage/frontend.ts");function n(e,t){s.verbose("useLocalStorage: Entering method");let[r,a]=(0,o.useState)(t),[n,l]=(0,o.useState)(!0),i=(0,o.useRef)(r);return(0,o.useEffect)(()=>{i.current=r},[r]),(0,o.useEffect)(()=>{(async()=>{s.verbose("loadValue: Entering method");try{let r=await fetch("/api/storage?key=".concat(encodeURIComponent(e),"&defaultValue=").concat(encodeURIComponent(JSON.stringify(t)))),o=await r.json();r.ok&&a(o.value)}catch(t){s.warn('Error reading storage key "'.concat(e,'":'),t)}finally{l(!1)}})()},[e]),[r,(0,o.useCallback)(async t=>{s.verbose("setValue: Entering method");try{let r=t instanceof Function?t(i.current):t;if(a(r),!(await fetch("/api/storage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:r})})).ok)throw Error("Failed to save value")}catch(t){s.warn('Error setting storage key "'.concat(e,'":'),t)}},[e]),n]}let l=async(e,t)=>{s.verbose("saveItem: Entering method");try{if(!(await fetch("/api/storage",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({key:e,value:t})})).ok)throw Error("Failed to save item")}catch(e){throw s.error("Error saving to storage:",e),e}},i=async(e,t)=>{s.verbose("loadItem: Entering method");try{let r=await fetch("/api/storage?key=".concat(encodeURIComponent(e),"&defaultValue=").concat(encodeURIComponent(JSON.stringify(t))));if(!r.ok)throw Error("Failed to load item");return(await r.json()).value}catch(e){return s.error("Error loading from storage:",e),t}}},38459:(e,t,r)=>{r.d(t,{Az:()=>o,FM:()=>a,Je:()=>n,po:()=>s,yF:()=>l});let a="folder";function o(e,t){let r=[],a=new Map;for(let o of e){let{key:e,label:s}=t(o),n=a.get(e);n||(n={key:e,label:s,items:[]},a.set(e,n),r.push(n)),n.items.push(o)}return r}function s(e){let t=(null!=e?e:"").trim().charAt(0).toUpperCase();return t>="A"&&t<="Z"?{key:"letter:".concat(t),label:t}:{key:"letter:#",label:"#"}}function n(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"Ungrouped",a=new Map,o=[];for(let r of e){var s;let e=null==(s=t(r))?void 0:s.trim();if(e){let t=a.get(e);t?t.push(r):a.set(e,[r])}else o.push(r)}let n=Array.from(a.keys()).sort((e,t)=>e.localeCompare(t)).map(e=>({key:"folder:".concat(e),label:e,items:a.get(e)}));return o.length>0&&n.push({key:"folder:__ungrouped__",label:r,items:o}),n}function l(e,t){let r=new Set;for(let o of e){var a;let e=null==(a=t(o))?void 0:a.trim();e&&r.add(e)}return Array.from(r).sort((e,t)=>e.localeCompare(t))}},40962:(e,t,r)=>{r.d(t,{A:()=>ef});var a=r(95155),o=r(12115),s=r(87021),n=r(748),l=r(36741),i=r(12857),c=r(48563),d=r(76530),u=r(14915),p=r(4484),h=r(80412),f=r(13548),m=r(20099),x=r(11414),g=r(26188),b=r(52277),y=r(59652),v=r(89296),j=r(97714),A=r(62291),S=r(47529),k=r(94929),C=r(81956),w=r(17897),E=r(70272),O=r(79299),T=r(28548),z=r(67891),_=r(84318),P=r(4543),F=r(8415);let R=e=>{let{transport:t,size:r="small"}=e,{colors:o}=(0,n.Ic)(),s=o.domain.transport,l=(()=>{switch(t){case"stdio":return{label:"STDIO",icon:(0,a.jsx)(z.A,{fontSize:"small"}),color:s.stdio.fg,bgColor:s.stdio.bg};case"websocket":return{label:"WebSocket",icon:(0,a.jsx)(_.A,{fontSize:"small"}),color:s.websocket.fg,bgColor:s.websocket.bg};case"sse":return{label:"SSE",icon:(0,a.jsx)(P.A,{fontSize:"small"}),color:s.sse.fg,bgColor:s.sse.bg};case"streamable":return{label:"HTTP Stream",icon:(0,a.jsx)(F.A,{fontSize:"small"}),color:s.streamable.fg,bgColor:s.streamable.bg};default:return{label:"UNKNOWN",icon:(0,a.jsx)(z.A,{fontSize:"small"}),color:s.default.fg,bgColor:s.default.bg}}})();return(0,a.jsx)(T.A,{icon:l.icon,label:l.label,size:r,sx:{backgroundColor:l.bgColor,color:l.color,fontWeight:500,fontSize:"small"===r?"0.75rem":"0.875rem",height:"small"===r?24:32,"& .MuiChip-icon":{color:l.color}}})};var N=r(2778),I=r(52363),U=r(65036),M=r(75912),W=r(91871),D=r(94049),L=r(25635),J=r(22003),B=r(99944),H=r(22822),V=r(41602),Y=r(23820),q=r(49501),G=r(17681),K=r(16186),Z=r(80411),$=r(86631);let Q=(0,s.h)("frontend/components/mcp/MCPServerManager/ServerUpdateDialog"),X=e=>{let{open:t,onClose:r,serverName:s,rootPath:n,installCommand:i,buildCommand:d,enabled:u,updateInfo:p,onToggle:h,onUpdated:f}=e,[m,x]=(0,o.useState)(null),[g,b]=(0,o.useState)(!1),[y,v]=(0,o.useState)(!1),[A,S]=(0,o.useState)(!1),[C,w]=(0,o.useState)(null),[E,O]=(0,o.useState)({}),[z,_]=(0,o.useState)(""),P=!!(i&&i.trim()),F=!!(d&&d.trim()),R=[{key:"stop",label:"Stop server",active:u},{key:"pull",label:"Pull latest changes",active:!0},{key:"install",label:"Install dependencies (".concat(i,")"),active:P},{key:"build",label:"Build (".concat(d,")"),active:F},{key:"restart",label:"Restart server",active:u}];(0,o.useEffect)(()=>{t&&(b(!1),v(!1),S(!1),w(null),O({}),_(""))},[t,s]),(0,o.useEffect)(()=>{if(t&&p.remoteUrl&&p.localSha&&p.remoteSha){let e=!1;return(0,Z.Qz)(p.remoteUrl,p.localSha,p.remoteSha).then(t=>{e||x(t)}),()=>{e=!0}}x(null)},[t,p.remoteUrl,p.localSha,p.remoteSha]);let X=(0,o.useCallback)((e,t)=>{O(r=>({...r,[e]:t}))},[]),ee=(0,o.useCallback)((e,t)=>{_(r=>r+(r?"\n":"")+"--- ".concat(e," ---\n")+(t||"").trim()+"\n")},[]),et=async()=>{v(!0),w(null),Q.info("Starting update for server ".concat(s));let e=(e,t)=>{X(e,"error"),w(t),v(!1)};try{u&&(X("stop","running"),await Promise.resolve(h(!1)),X("stop","done")),X("pull","running");let t=await (0,Z.Qv)(n);if(!t.success)return void e("pull",t.error||"Failed to pull updates");if(ee("Pull","Updated ".concat((0,Z.Fu)(t.oldSha)," -> ").concat((0,Z.Fu)(t.newSha))),X("pull","done"),P){X("install","running");let t=await (0,$.b)(n,i.trim());if(ee("Install",t.output),!t.success)return void e("install",t.message.text);X("install","done")}if(F){X("build","running");let t=await (0,$.c)(n,d.trim());if(ee("Build",t.output),!t.success)return void e("build",t.message.text);X("build","done")}u&&(X("restart","running"),await Promise.resolve(h(!0)),X("restart","done")),Q.info("Update completed for server ".concat(s)),S(!0),v(!1),null==f||f()}catch(e){Q.error("Update failed for server ".concat(s),e),w(e.message||"Update failed"),v(!1)}},er=y||A||Object.keys(E).length>0,ea=p.hasLocalChanges&&!g;return(0,a.jsxs)(N.A,{open:t,onClose:y?void 0:r,maxWidth:"sm",fullWidth:!0,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(I.A,{component:"div",sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(j.A,{color:"primary"}),"Update ",s]}),(0,a.jsxs)(U.A,{children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center",gap:1,mb:1,flexWrap:"wrap"},children:[(0,a.jsx)(T.A,{size:"small",label:(0,Z.Fu)(p.localSha),sx:{fontFamily:"monospace"}}),(0,a.jsx)(L.default,{variant:"body2",color:"text.secondary",children:"→"}),(0,a.jsx)(T.A,{size:"small",color:"primary",label:(0,Z.Fu)(p.remoteSha),sx:{fontFamily:"monospace"}}),p.branch&&"HEAD"!==p.branch&&(0,a.jsxs)(L.default,{variant:"body2",color:"text.secondary",children:["on ",(0,a.jsx)("code",{children:p.branch})]}),(null==m?void 0:m.behindBy)!=null&&(0,a.jsxs)(L.default,{variant:"body2",color:"text.secondary",children:["(",m.behindBy," commit",1===m.behindBy?"":"s"," behind)"]})]}),p.repoRoot&&p.repoRoot.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()!==n.replace(/\\/g,"/").replace(/\/+$/,"").toLowerCase()&&(0,a.jsxs)(L.default,{variant:"body2",color:"text.secondary",sx:{mb:1},children:["This server lives inside a larger repository — the update pulls"," ",(0,a.jsx)("code",{children:p.repoRoot})," as a whole (other servers from the same repository are updated along with it)."]}),m&&m.commits.length>0&&!er&&(0,a.jsx)(D.default,{sx:{mb:2,p:1,borderRadius:1,border:"1px solid",borderColor:"divider",maxHeight:160,overflow:"auto"},children:m.commits.map(e=>(0,a.jsxs)(L.default,{variant:"body2",sx:{fontSize:"0.8rem"},noWrap:!0,title:e.message,children:[(0,a.jsx)("code",{children:e.sha})," ",e.message]},e.sha))}),p.hasLocalChanges&&!er&&(0,a.jsxs)(J.A,{severity:"warning",sx:{mb:2},children:[(0,a.jsxs)(L.default,{variant:"body2",sx:{mb:1},children:["This repository has local changes to tracked files. Updating will ",(0,a.jsx)("strong",{children:"discard"})," them. Untracked files (e.g. a ",(0,a.jsx)("code",{children:".env"})," you created) and all FLUJO settings for this server are kept."]}),(0,a.jsx)(D.default,{component:"ul",sx:{m:0,pl:3,maxHeight:100,overflow:"auto"},children:p.dirtyFiles.map(e=>(0,a.jsx)("li",{children:(0,a.jsx)(L.default,{variant:"body2",component:"span",sx:{fontFamily:"monospace",fontSize:"0.8rem"},children:e})},e))}),(0,a.jsx)(B.A,{sx:{mt:1},control:(0,a.jsx)(H.A,{size:"small",checked:g,onChange:e=>b(e.target.checked)}),label:(0,a.jsx)(L.default,{variant:"body2",children:"Discard my local changes and update"})})]}),(0,a.jsx)(V.A,{dense:!0,disablePadding:!0,children:R.filter(e=>e.active).map(e=>(0,a.jsxs)(Y.Ay,{disableGutters:!0,sx:{py:.25},children:[(0,a.jsx)(q.A,{sx:{minWidth:32},children:(e=>{switch(e){case"running":return(0,a.jsx)(k.default,{size:"small",color:"primary"});case"done":return(0,a.jsx)(l.A,{color:"success",fontSize:"small"});case"error":return(0,a.jsx)(c.A,{color:"error",fontSize:"small"});default:return(0,a.jsx)(K.A,{color:"disabled",fontSize:"small"})}})(E[e.key])}),(0,a.jsx)(G.A,{primary:e.label,primaryTypographyProps:{variant:"body2",noWrap:!0,title:e.label}})]},e.key))}),C&&(0,a.jsxs)(J.A,{severity:"error",sx:{mt:2,whiteSpace:"pre-wrap"},children:[C,u&&(0,a.jsx)(L.default,{variant:"body2",sx:{mt:1},children:"The server was left stopped. Adjust the install/build commands via Edit, then re-enable it."})]}),A&&(0,a.jsxs)(J.A,{severity:"success",sx:{mt:2},children:["Server updated successfully",u?" and restarted":"","."]}),z&&(0,a.jsx)(D.default,{sx:{mt:2,p:1,borderRadius:1,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",fontFamily:"monospace",fontSize:"0.75rem",whiteSpace:"pre-wrap",overflow:"auto",maxHeight:200},children:z})]}),(0,a.jsxs)(M.A,{children:[(0,a.jsx)(W.A,{onClick:r,disabled:y,children:A?"Close":"Cancel"}),!A&&(0,a.jsx)(W.A,{variant:"contained",color:"primary",startIcon:(0,a.jsx)(j.A,{}),onClick:et,disabled:y||ea,children:y?"Updating…":C?"Retry Update":"Update"})]})]})};var ee=r(9562),et=r(41983),er=r(86946);let ea=(0,s.h)("frontend/components/mcp/MCPServerManager/FilesystemRootsModal"),eo=e=>{let{open:t,serverName:r,initialRoots:s,onClose:n,onSaved:l}=e,[i,c]=(0,o.useState)([]),[d,u]=(0,o.useState)(""),[h,f]=(0,o.useState)(!1),[m,x]=(0,o.useState)(null),g="bash"===r;(0,o.useEffect)(()=>{t&&(c(Array.isArray(s)?[...s]:[]),u(""),x(null))},[t,s]);let b=()=>{let e=d.trim();if(e){if(i.includes(e))return void x("That root is already in the list.");c(t=>[...t,e]),u(""),x(null)}},y=async()=>{f(!0),x(null);try{let e=await w.S.updateServerConfig(r,{roots:i});if(e&&"error"in e&&e.error)return void x("string"==typeof e.error?e.error:"Failed to save roots.");ea.info("Saved ".concat(i.length," root(s) for ").concat(r)),null==l||l(i),n()}catch(e){ea.warn("Failed to save filesystem roots",e),x(e instanceof Error?e.message:"Failed to save roots.")}finally{f(!1)}};return(0,a.jsxs)(N.A,{open:t,onClose:n,maxWidth:"sm",fullWidth:!0,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(I.A,{children:["Configure ",r," roots"]}),(0,a.jsxs)(U.A,{children:[(0,a.jsxs)(L.default,{variant:"body2",color:"text.secondary",sx:{mb:2},children:["Confine the built-in ",(0,a.jsx)("b",{children:r})," server to these folders. Leave the list empty for full host access (unless the ",(0,a.jsx)("code",{children:g?"FLUJO_BASH_ROOTS":"FLUJO_FS_ROOTS"})," environment variable is set, which always acts as a hard ceiling)."]}),g&&(0,a.jsxs)(J.A,{severity:"info",sx:{mb:2},children:["The bash ",(0,a.jsx)("code",{children:"cwd"})," fence is best-effort: a shell can still ",(0,a.jsx)("code",{children:"cd"})," elsewhere or use absolute paths, so ",(0,a.jsx)("code",{children:"FLUJO_FS_ROOTS"}),"/",(0,a.jsx)("code",{children:"FLUJO_BASH_ROOTS"})," and OS permissions remain the real boundary."]}),m&&(0,a.jsx)(J.A,{severity:"error",sx:{mb:2},onClose:()=>x(null),children:m}),(0,a.jsxs)(D.default,{sx:{display:"flex",gap:1,mb:1},children:[(0,a.jsx)(ee.A,{fullWidth:!0,size:"small",label:"Add a root folder (absolute path)",value:d,onChange:e=>u(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),b())},placeholder:"e.g. C:\\\\Users\\\\me\\\\project or /home/me/project"}),(0,a.jsx)(W.A,{variant:"outlined",startIcon:(0,a.jsx)(er.A,{}),onClick:b,disabled:!d.trim(),children:"Add"})]}),0===i.length?(0,a.jsx)(L.default,{variant:"body2",color:"text.secondary",sx:{mt:1},children:"No roots configured — the server has full host access."}):(0,a.jsx)(V.A,{dense:!0,children:i.map((e,t)=>(0,a.jsx)(Y.Ay,{secondaryAction:(0,a.jsx)(et.A,{edge:"end","aria-label":"remove root",onClick:()=>{c(e=>e.filter((e,r)=>r!==t))},children:(0,a.jsx)(p.A,{fontSize:"small"})}),children:(0,a.jsx)(L.default,{variant:"body2",sx:{wordBreak:"break-all"},children:e})},"".concat(e,"-").concat(t)))})]}),(0,a.jsxs)(M.A,{children:[(0,a.jsx)(W.A,{onClick:n,disabled:h,children:"Cancel"}),(0,a.jsx)(W.A,{onClick:y,variant:"contained",disabled:h,children:h?"Saving…":"Save"})]})]})};var es=r(80422),en=r(33567),el=r(29767),ei=r(78470),ec=r(8532),ed=r(84578),eu=r(9957),ep=r(1702);let eh=(0,s.h)("frontend/components/mcp/MCPServerManager/ServerCard"),ef=e=>{let{name:t,status:s,path:z,enabled:_,transport:P,onToggle:F=()=>{},onRetry:B=()=>{},onDelete:V=()=>{},onClick:Y,onEdit:q=()=>{},onAuthenticate:G,pickerMode:K=!1,error:$,stderrOutput:Q,authorizationUrl:ee,selected:er=!1,onSelect:ea,selectionMode:ef=!1,hasOAuthTokens:em=!1,exposeAsMcpServer:ex=!1,enableMcpApps:eg=!1,updateInfo:eb,installCommand:ey,buildCommand:ev,onUpdated:ej,folder:eA,folders:eS=[],onSetFolder:ek,favorite:eC=!1,onToggleFavorite:ew,builtIn:eE=!1,serverConfig:eO}=e,[eT,ez]=(0,o.useState)(!1),[e_,eP]=(0,o.useState)(null),[eF,eR]=(0,o.useState)(!1),[eN,eI]=(0,o.useState)(!1),[eU,eM]=(0,o.useState)(""),[eW,eD]=(0,o.useState)("success"),[eL,eJ]=(0,o.useState)(!1),[eB,eH]=(0,o.useState)(!1),[eV,eY]=(0,o.useState)(!1),[eq,eG]=(0,o.useState)(null==eO?void 0:eO.roots);(0,o.useEffect)(()=>{eG(null==eO?void 0:eO.roots)},[null==eO?void 0:eO.roots]);let[eK,eZ]=(0,o.useState)(ex),[e$,eQ]=(0,o.useState)(eg),eX=(0,en.A)();(0,o.useEffect)(()=>{eZ(ex)},[ex]),(0,o.useEffect)(()=>{eQ(eg)},[eg]);let e0="".concat(window.location.origin,"/mcp-proxy/").concat(encodeURIComponent(t)),e1=async e=>{eZ(e);let r=await w.S.updateServerConfig(t,{exposeAsMcpServer:e});"success"in r&&r.success?(eM(e?"Server is now exposed to external apps.":"Server is no longer exposed."),eD("success")):(eZ(!e),eM("Failed to update exposure setting."),eD("error")),eI(!0)},e2=async e=>{eQ(e);let r=await w.S.updateServerConfig(t,{enableMcpApps:e});"success"in r&&r.success?(eM(e?"This server may now render interactive apps in chat (sandboxed).":"Interactive apps disabled for this server."),eD("success")):(eQ(!e),eM("Failed to update the MCP Apps setting."),eD("error")),eI(!0)},e5=()=>{navigator.clipboard.writeText(e0),eM("Endpoint URL copied to clipboard."),eD("success"),eI(!0)},e6=()=>{let e=window.location.origin;navigator.clipboard.writeText((0,E.CZ)(t,eO,e)),eM("Server JSON copied to clipboard."),eD("success"),eI(!0)},e7={connected:"success.main",disconnected:"text.secondary",error:"error.main",connecting:"info.main",initialization:"info.main",requires_authentication:"warning.main"}[s];(0,o.useEffect)(()=>{if(("connecting"===s||"initialization"===s)&&_&&!K){eJ(!0);let e=setTimeout(()=>{eh.debug("Polling status for server: ".concat(t)),B()},2e3);return()=>{clearTimeout(e),eJ(!1)}}"connecting"!==s&&"initialization"!==s&&eJ(!1)},[s,_,t,B]);let[e9,e4]=(0,o.useState)(null);(0,o.useEffect)(()=>()=>{e9&&clearTimeout(e9)},[e9]);let e8=async e=>{e.stopPropagation(),eh.debug("Reset OAuth tokens button clicked for server: ".concat(t)),eH(!0);try{let e=await fetch("/api/oauth/reset",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverName:t})});if(!e.ok){let t=await e.json();throw Error(t.error||"Failed to reset OAuth tokens")}let r=await e.json();eh.info("OAuth tokens reset successfully for ".concat(t),r),eM("OAuth tokens reset successfully. Server will require re-authentication."),eD("success"),eI(!0),setTimeout(()=>{B()},500)}catch(e){eh.error("Failed to reset OAuth tokens for ".concat(t),e),eM("Failed to reset OAuth tokens: ".concat(e instanceof Error?e.message:"Unknown error")),eD("error"),eI(!0)}finally{eH(!1)}},{getThemeValue:e3,getThemeColor:te,colors:tt}=(0,n.Ic)(),tr=()=>{eh.debug("Server restart initiated for: ".concat(t)),F(!1),setTimeout(()=>{F(!0),eh.info("Server ".concat(t," restarted"))},1e3)};return(0,a.jsxs)(el.A,{role:K?"button":void 0,"aria-pressed":K?er:void 0,sx:{cursor:"pointer",position:"relative",height:K?"100%":void 0,transition:"box-shadow 0.3s ease, border-color 0.12s ease",border:e=>K&&er?"2px solid ".concat(e.palette.primary.main):"2px solid transparent","&:hover":{boxShadow:3}},onClick:()=>{eh.debug("Server card clicked: ".concat(t)),Y()},children:[ew&&!eE&&(0,a.jsx)(ei.A,{title:eC?"Remove from favorites":"Add to favorites",arrow:!0,placement:"top",children:(0,a.jsx)(et.A,{size:"small","aria-label":eC?"remove from favorites":"add to favorites",onClick:e=>{e.stopPropagation(),ew()},sx:{position:"absolute",top:4,left:4,zIndex:2,color:eC?eX.palette.warning.main:eX.palette.text.secondary,backgroundColor:(0,ec.X4)(eX.palette.background.paper,.6),"&:hover":{backgroundColor:(0,ec.X4)(eX.palette.background.paper,.9)}},children:eC?(0,a.jsx)(A.A,{fontSize:"small"}):(0,a.jsx)(S.A,{fontSize:"small"})})}),(0,a.jsxs)(ed.A,{sx:{pb:1},children:[(0,a.jsxs)(D.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"flex-start",mb:1},children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center",flex:1},children:[ef&&ea&&(0,a.jsx)(H.A,{checked:er,onClick:e=>e.stopPropagation(),onChange:e=>ea(e.target.checked),size:"small",sx:{mr:1,p:.5}}),(0,a.jsx)(L.default,{variant:"h6",component:"h3",sx:{flex:1},children:t})]}),(0,a.jsxs)(D.default,{sx:{display:"flex",flexDirection:"column",alignItems:"flex-end",gap:.5},children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center",gap:.5},children:[(null==eb?void 0:eb.updateAvailable)&&(0,a.jsx)(ei.A,{title:"Update available: ".concat((0,Z.Fu)(eb.localSha)," → ").concat((0,Z.Fu)(eb.remoteSha),". Click to update."),children:(0,a.jsx)(T.A,{icon:(0,a.jsx)(j.A,{}),label:"Update",color:"warning",size:"small",onClick:e=>{e.stopPropagation(),eh.debug("Update badge clicked for server: ".concat(t)),eR(!0)}})}),eE?(0,a.jsx)(ei.A,{title:"FLUJO's built-in server — can be enabled or disabled below, but not edited or removed.",children:(0,a.jsx)(T.A,{label:"Built-in",color:"primary",size:"small"})}):(0,a.jsx)(R,{transport:P,size:"small"})]}),(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:["connected"===s&&(0,a.jsx)(l.A,{color:"success",sx:{mr:.5},fontSize:"small"}),"disconnected"===s&&(0,a.jsx)(i.A,{color:"action",sx:{mr:.5},fontSize:"small"}),"error"===s&&(0,a.jsx)(c.A,{color:"error",sx:{mr:.5},fontSize:"small"}),"requires_authentication"===s&&(0,a.jsx)(h.A,{color:"warning",sx:{mr:.5},fontSize:"small"}),("connecting"===s||"initialization"===s)&&(0,a.jsx)(k.default,{size:"small",color:"primary",sx:{mr:.5}}),(0,a.jsx)(L.default,{variant:"body2",color:e7,children:"requires_authentication"===s?"Requires Authentication":s})]})]})]}),(0,a.jsx)(L.default,{variant:"body2",color:"text.secondary",sx:{mb:1,fontSize:"0.875rem"},noWrap:!0,title:eE?void 0:z,children:eE?"FLUJO's own backend API — flow authoring, execution and server management as MCP tools.":z}),eE&&!K&&(0,a.jsxs)(D.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(x.A,{fontSize:"small",sx:{mr:.5,color:"primary.main"}}),(0,a.jsx)(ei.A,{title:"External MCP clients (Claude Code, Claude Desktop, Cursor, …) can drive FLUJO through this local endpoint.",children:(0,a.jsx)(L.default,{variant:"body2",sx:{fontWeight:500},children:"Exposed to external apps"})})]}),(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center",mt:.5},children:[(0,a.jsx)(L.default,{variant:"caption",sx:{flex:1,fontFamily:"monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e0,children:e0}),(0,a.jsx)(ei.A,{title:"Copy endpoint URL",children:(0,a.jsx)(et.A,{size:"small",onClick:e5,children:(0,a.jsx)(b.A,{fontSize:"small"})})}),(0,a.jsx)(ei.A,{title:"Copy MCP server JSON",children:(0,a.jsx)(et.A,{size:"small",onClick:e6,children:(0,a.jsx)(y.A,{fontSize:"small"})})})]})]}),!eE&&!K&&(0,a.jsxs)(D.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(x.A,{fontSize:"small",sx:{mr:.5,color:eK?"primary.main":"text.disabled"}}),(0,a.jsx)(eu.A,{checked:eK,onChange:e=>e1(e.target.checked),size:"small"}),(0,a.jsx)(ei.A,{title:"Re-expose this server's tools to external MCP clients (Claude Desktop, Cursor, …) at a local URL.",children:(0,a.jsx)(L.default,{variant:"body2",sx:{fontWeight:500},children:"Expose to external apps"})})]}),eK&&(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center",mt:.5},children:[(0,a.jsx)(L.default,{variant:"caption",sx:{flex:1,fontFamily:"monospace",overflow:"hidden",textOverflow:"ellipsis",whiteSpace:"nowrap"},title:e0,children:e0}),(0,a.jsx)(ei.A,{title:"Copy endpoint URL",children:(0,a.jsx)(et.A,{size:"small",onClick:e5,children:(0,a.jsx)(b.A,{fontSize:"small"})})}),(0,a.jsx)(ei.A,{title:"Copy MCP server JSON",children:(0,a.jsx)(et.A,{size:"small",onClick:e6,children:(0,a.jsx)(y.A,{fontSize:"small"})})})]})]}),!eE&&!K&&(0,a.jsx)(D.default,{sx:{mt:1,mb:1,p:1,borderRadius:1,border:"1px solid",borderColor:"divider"},onClick:e=>e.stopPropagation(),children:(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(g.A,{fontSize:"small",sx:{mr:.5,color:e$?"primary.main":"text.disabled"}}),(0,a.jsx)(eu.A,{checked:e$,onChange:e=>e2(e.target.checked),size:"small"}),(0,a.jsx)(ei.A,{title:"Allow this server's tools to render isolated interactive apps (MCP Apps / ui:// resources) and broker same-server tool/resource requests. Only enable for servers you trust.",children:(0,a.jsx)(L.default,{variant:"body2",sx:{fontWeight:500},children:"Render interactive apps"})})]})}),"error"===s&&(0,a.jsxs)(D.default,{sx:{mt:1,mb:1},children:[(0,a.jsxs)(D.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:.5},children:[(0,a.jsx)(L.default,{variant:"body2",fontWeight:"medium",color:"error",children:"Error:"}),(0,a.jsx)(W.A,{size:"small",color:"primary",onClick:e=>{e.stopPropagation(),eh.debug("View full error clicked for server: ".concat(t)),ez(!0)},children:"View Full Error"})]}),(0,a.jsx)(D.default,{sx:{maxHeight:"80px",overflow:"auto",p:1,borderRadius:1,bgcolor:e=>te("error.background"),color:e=>te("error.text"),border:"1px solid",borderColor:e=>te("error.border"),fontSize:"0.75rem",fontWeight:500,whiteSpace:"pre-wrap"},children:$||"Unknown error"})]}),"requires_authentication"===s&&!K&&(0,a.jsxs)(D.default,{sx:{mt:1,mb:1},children:[(0,a.jsx)(D.default,{sx:{display:"flex",justifyContent:"space-between",alignItems:"center",mb:1},children:(0,a.jsx)(L.default,{variant:"body2",fontWeight:"medium",color:"warning.main",children:"Authentication Required"})}),(0,a.jsxs)(W.A,{variant:"contained",color:"warning",size:"small",startIcon:(0,a.jsx)(f.A,{}),onClick:async e=>{if(e.stopPropagation(),eh.debug("Authenticate button clicked for server: ".concat(t)),G)G();else try{let e=await fetch("/api/oauth/initiate",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({serverName:t})});if(!e.ok){let t=await e.json();throw Error(t.error||"Failed to initiate OAuth")}let{authorizationUrl:a,alreadyAuthorized:o}=await e.json();if(o||!a){eh.info("Server ".concat(t," already authorized, no popup needed")),tr();return}let{openOAuthPopup:s}=await r.e(8198).then(r.bind(r,68198));await s({url:a,windowName:"oauth_".concat(t),onSuccess:e=>{eh.info("OAuth authentication successful for ".concat(t),e),eh.info("Automatically restarting server ".concat(t," after OAuth completion")),tr()},onError:e=>{eh.error("OAuth authentication failed for ".concat(t),e),eM("OAuth authentication failed"),eD("error"),eI(!0)}})}catch(e){eh.error("Failed to start OAuth authentication for ".concat(t),e),eM("Failed to start OAuth authentication"),eD("error"),eI(!0)}},sx:{width:"100%"},children:["Authenticate with ",t]})]})]}),eE&&!K&&F&&(0,a.jsx)(ep.A,{sx:{justifyContent:"flex-start",px:2,py:1},onClick:e=>e.stopPropagation(),children:(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(eu.A,{checked:_,onClick:e=>e.stopPropagation(),onChange:e=>{eh.debug("Built-in server ".concat(t," toggle changed to: ").concat(e.target.checked)),F(e.target.checked)},color:"primary",size:"small"}),(0,a.jsx)(L.default,{variant:"body2",sx:{ml:.5,fontWeight:500,color:_?"primary.main":"text.secondary"},children:_?"Enabled":"Disabled"}),("filesystem"===t||"bash"===t)&&(0,a.jsx)(ei.A,{title:"Configure ".concat(t," roots"),children:(0,a.jsxs)(W.A,{size:"small",variant:"text",startIcon:(0,a.jsx)(O.A,{fontSize:"small"}),sx:{ml:1.5,textTransform:"none"},onClick:e=>{e.stopPropagation(),eY(!0)},children:["Configure roots",eq&&eq.length?" (".concat(eq.length,")"):""]})})]})}),("filesystem"===t||"bash"===t)&&(0,a.jsx)(eo,{open:eV,serverName:t,initialRoots:eq,onClose:()=>eY(!1),onSaved:e=>eG(e)}),!eE&&!K&&(0,a.jsxs)(ep.A,{sx:{justifyContent:"space-between",px:2,py:1},children:[(0,a.jsxs)(D.default,{sx:{display:"flex",alignItems:"center"},children:[(0,a.jsx)(eu.A,{checked:_,onClick:e=>e.stopPropagation(),onChange:e=>{eh.debug("Server ".concat(t," toggle changed to: ").concat(e.target.checked)),F(e.target.checked)},color:"primary",size:"small"}),(0,a.jsx)(L.default,{variant:"body2",sx:{ml:.5,fontWeight:500,color:_?"primary.main":"text.secondary"},children:_?"Enabled":"Disabled"}),_&&(0,a.jsx)(ei.A,{title:"Restart server",children:(0,a.jsx)(et.A,{size:"small",onClick:e=>{e.stopPropagation(),eh.debug("Restart button clicked for server: ".concat(t)),tr()},sx:{ml:1},children:(0,a.jsx)(d.A,{fontSize:"small"})})})]}),(0,a.jsxs)(D.default,{children:[(0,a.jsx)(ei.A,{title:"Retry connection",children:(0,a.jsx)(et.A,{color:"primary",onClick:e=>{e.stopPropagation(),eh.debug("Retry button clicked for server: ".concat(t)),e9&&clearTimeout(e9),eJ(!0),B();let r=setTimeout(()=>{"connecting"!==s&&"initialization"!==s&&eJ(!1),e4(null)},1e4);e4(r)},disabled:eL,size:"small",children:eL?(0,a.jsx)(k.default,{size:"small",color:"primary"}):(0,a.jsx)(d.A,{})})}),"streamable"===P&&em&&(0,a.jsx)(ei.A,{title:"Reset OAuth tokens",children:(0,a.jsx)(et.A,{color:"warning",onClick:e8,disabled:eB,size:"small",children:eB?(0,a.jsx)(k.default,{size:"small",color:"primary"}):(0,a.jsx)(m.A,{})})}),ek&&(0,a.jsx)(ei.A,{title:eA?"Folder: ".concat(eA):"Move to folder",children:(0,a.jsx)(et.A,{color:eA?"primary":"default",onClick:e=>{e.stopPropagation(),eP(e.currentTarget)},size:"small",children:(0,a.jsx)(v.A,{})})}),(0,a.jsx)(ei.A,{title:"Edit server",children:(0,a.jsx)(et.A,{color:"primary",onClick:e=>{e.stopPropagation(),q()},size:"small",children:(0,a.jsx)(u.A,{})})}),(0,a.jsx)(ei.A,{title:"Delete server",children:(0,a.jsx)(et.A,{color:"error",onClick:e=>{e.stopPropagation(),V()},size:"small",children:(0,a.jsx)(p.A,{})})})]})]}),ek&&(0,a.jsx)(C.A,{anchorEl:e_,open:!!e_,currentFolder:eA,folders:eS,onClose:()=>eP(null),onAssign:e=>ek(e)}),(0,a.jsxs)(N.A,{open:eT,onClose:()=>{eh.debug("Error modal closed for server: ".concat(t)),ez(!1)},maxWidth:"md",fullWidth:!0,onClick:e=>e.stopPropagation(),children:[(0,a.jsxs)(I.A,{component:"div",children:["Error Details for ",t]}),(0,a.jsxs)(U.A,{children:[(0,a.jsx)(D.default,{sx:{p:2,borderRadius:1,bgcolor:e=>te("error.background"),color:e=>te("error.text"),border:"1px solid",borderColor:e=>te("error.border"),fontFamily:"monospace",fontSize:"0.875rem",fontWeight:500,whiteSpace:"pre-wrap",overflow:"auto",maxHeight:"300px",mb:2},children:$||"Unknown error"}),Q&&(0,a.jsxs)(D.default,{sx:{mt:2},children:[(0,a.jsx)(L.default,{variant:"h6",gutterBottom:!0,children:"Stderr Output:"}),(0,a.jsx)(D.default,{sx:{p:2,borderRadius:1,bgcolor:"background.paper",border:"1px solid",borderColor:"divider",fontFamily:"monospace",fontSize:"0.875rem",whiteSpace:"pre-wrap",overflow:"auto",maxHeight:"300px"},children:Q})]})]}),(0,a.jsxs)(M.A,{children:[(0,a.jsx)(W.A,{onClick:()=>ez(!1),children:"Close"}),(0,a.jsx)(W.A,{onClick:()=>{let e=[$||"Unknown error",Q?"\n\nStderr Output:\n".concat(Q):""].join("");navigator.clipboard.writeText(e),eh.debug("Error copied to clipboard for server: ".concat(t)),eM("Error message copied to clipboard"),eD("success"),eI(!0)},color:"primary",children:"Copy to Clipboard"})]})]}),eb&&(0,a.jsx)(X,{open:eF,onClose:()=>eR(!1),serverName:t,rootPath:z,installCommand:ey,buildCommand:ev,enabled:_,updateInfo:eb,onToggle:F,onUpdated:ej}),(0,a.jsx)(es.A,{open:eN,autoHideDuration:3e3,onClose:()=>eI(!1),anchorOrigin:{vertical:"bottom",horizontal:"center"},children:(0,a.jsx)(J.A,{onClose:()=>eI(!1),severity:eW,sx:{width:"100%"},children:eU||"Error message copied to clipboard"})})]})}},62640:(e,t,r)=>{r.d(t,{A:()=>E});var a=r(95155),o=r(12115),s=r(2778),n=r(52363),l=r(65036),i=r(94049),c=r(78470),d=r(41983),u=r(9562),p=r(28548),h=r(22003),f=r(4474),m=r(25635),x=r(41602),g=r(73707),b=r(49501),y=r(17681),v=r(75912),j=r(91871),A=r(80007),S=r(74482),k=r(40171),C=r(36944);let w=(0,r(87021).h)("frontend/components/shared/FolderPickerDialog"),E=e=>{let{open:t,title:r="Choose a folder",selectFiles:E=!1,initialPath:O,onClose:T,onSelect:z}=e,[_,P]=(0,o.useState)(null),[F,R]=(0,o.useState)(""),[N,I]=(0,o.useState)(!1),[U,M]=(0,o.useState)(null),W=(0,o.useCallback)(async e=>{I(!0),M(null);try{let t=e?"?path=".concat(encodeURIComponent(e)):"",r=await fetch("/api/browse".concat(t)),a=await r.json();if(!r.ok||a.error)return void M(a.error||"HTTP ".concat(r.status));P(a),R(a.path)}catch(e){w.warn("Browse failed",e),M("Could not reach the backend to browse folders.")}finally{I(!1)}},[]);(0,o.useEffect)(()=>{t?W(O||void 0):(P(null),M(null))},[t,O,W]);let D=e=>{z(e),T()};return(0,a.jsxs)(s.A,{open:t,onClose:T,maxWidth:"sm",fullWidth:!0,children:[(0,a.jsx)(n.A,{children:r}),(0,a.jsxs)(l.A,{dividers:!0,sx:{display:"flex",flexDirection:"column",gap:1.5},children:[(0,a.jsxs)(i.default,{sx:{display:"flex",alignItems:"center",gap:1},children:[(0,a.jsx)(c.A,{title:"Up one folder",children:(0,a.jsx)("span",{children:(0,a.jsx)(d.A,{size:"small",disabled:!(null==_?void 0:_.parent)||N,onClick:()=>(null==_?void 0:_.parent)&&void W(_.parent),children:(0,a.jsx)(k.A,{fontSize:"small"})})})}),(0,a.jsx)(c.A,{title:"Home folder",children:(0,a.jsx)("span",{children:(0,a.jsx)(d.A,{size:"small",disabled:N,onClick:()=>void W(),children:(0,a.jsx)(C.A,{fontSize:"small"})})})}),(0,a.jsx)(u.A,{fullWidth:!0,size:"small",value:F,onChange:e=>R(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),W(F))},placeholder:"Type a path and press Enter"})]}),_&&_.drives.length>0&&(0,a.jsx)(i.default,{sx:{display:"flex",gap:.75,flexWrap:"wrap"},children:_.drives.map(e=>(0,a.jsx)(p.A,{label:e,size:"small",variant:_.path.toLowerCase().startsWith(e.toLowerCase())?"filled":"outlined",onClick:()=>void W(e)},e))}),U&&(0,a.jsx)(h.A,{severity:"error",children:U}),(0,a.jsxs)(i.default,{sx:{minHeight:240,maxHeight:"45vh",overflow:"auto",border:1,borderColor:"divider",borderRadius:1},children:[N&&(0,a.jsx)(i.default,{sx:{display:"flex",justifyContent:"center",py:4},children:(0,a.jsx)(f.default,{size:24})}),!N&&_&&0===_.entries.length&&(0,a.jsx)(m.default,{variant:"body2",color:"text.secondary",sx:{p:2},children:"This folder is empty."}),!N&&(0,a.jsx)(x.A,{dense:!0,disablePadding:!0,children:null==_?void 0:_.entries.map(e=>(0,a.jsxs)(g.A,{disabled:!e.isDirectory&&!E,onClick:()=>e.isDirectory?void W(e.path):D(e.path),children:[(0,a.jsx)(b.A,{sx:{minWidth:34},children:e.isDirectory?(0,a.jsx)(A.A,{fontSize:"small",color:"primary"}):(0,a.jsx)(S.A,{fontSize:"small"})}),(0,a.jsx)(y.A,{primary:e.name,primaryTypographyProps:{noWrap:!0}})]},e.path))})]})]}),(0,a.jsxs)(v.A,{children:[(0,a.jsx)(j.A,{onClick:T,children:"Cancel"}),(0,a.jsx)(j.A,{variant:"contained",disabled:!_||N,onClick:()=>_&&D(_.path),children:"Select this folder"})]})]})}},65818:(e,t,r)=>{r.d(t,{mO:()=>s,oO:()=>n});var a=r(38459);let o=["stdio","websocket","sse","streamable"];function s(e,t){switch(t){case"name-asc":case"name-desc":return(0,a.po)(e.name);case"status-connected":case"status-disconnected":{let t=e.status;if("connected"===t)return{key:"status:connected",label:"Connected"};if("error"===t)return{key:"status:error",label:"Error"};if("requires_authentication"===t)return{key:"status:auth",label:"Requires authentication"};return{key:"status:disconnected",label:"Disconnected"}}case"transport":{let t=e.transport||"unknown";return{key:"transport:".concat(t),label:({stdio:"Stdio",websocket:"WebSocket",sse:"SSE",streamable:"Streamable HTTP"})[t]||t}}default:return{key:"all",label:"All servers"}}}function n(e,t){let r=(e,r)=>{switch(t){case"name-asc":return e.name.localeCompare(r.name);case"name-desc":return r.name.localeCompare(e.name);case"status-connected":if("connected"===e.status&&"connected"!==r.status)return -1;if("connected"!==e.status&&"connected"===r.status)return 1;return e.name.localeCompare(r.name);case"status-disconnected":if("disconnected"===e.status&&"disconnected"!==r.status)return -1;if("disconnected"!==e.status&&"disconnected"===r.status)return 1;return e.name.localeCompare(r.name);case"transport":{var a,s;let t=o.indexOf(null!=(a=e.transport)?a:""),n=o.indexOf(null!=(s=r.transport)?s:"");if(t!==n)return t-n;return e.name.localeCompare(r.name)}default:return 0}};return[...e].sort((e,t)=>{let a=Number(!!t.favorite)-Number(!!e.favorite);return 0!==a?a:r(e,t)})}},70272:(e,t,r)=>{function a(e){let t={};if(!e)return t;for(let[r,a]of Object.entries(e))t[r]=a&&"object"==typeof a&&"value"in a?a.value:"string"==typeof a?a:"";return t}function o(e){let t,r=[],a=[];if("string"==typeof e)try{t=JSON.parse(e)}catch(e){return{servers:a,errors:["Invalid JSON: ".concat(e.message)]}}else t=e;if(!t||"object"!=typeof t)return{servers:a,errors:["Expected a JSON object."]};let o=t,s=o.mcpServers&&"object"==typeof o.mcpServers?o.mcpServers:o;if(0===Object.keys(s).length)return{servers:a,errors:['No servers found. Expected an "mcpServers" object.']};for(let[e,t]of Object.entries(s)){var n;if(!t||"object"!=typeof t){r.push('"'.concat(e,'": entry is not an object.'));continue}let o=function(e){let t=(e.transport||e.type||"").toString().toLowerCase().trim();if(!t)return"stdio";switch(t){case"stdio":return"stdio";case"http":case"streamable-http":case"streamable":case"streamablehttp":return"streamable";case"sse":return"sse";case"ws":case"websocket":return"websocket";default:return null}}(t);if(!o){r.push('"'.concat(e,'": unknown transport type "').concat(t.type||t.transport,'".'));continue}let s={};if(t.env&&"object"==typeof t.env)for(let[e,r]of Object.entries(t.env))s[e]="string"==typeof r?r:String(null!=r?r:"");let l={name:e,env:s,disabled:null!=(n=t.disabled)&&n,autoApprove:Array.isArray(t.autoApprove)?t.autoApprove:[],rootPath:"",_buildCommand:"",_installCommand:""};if("stdio"===o){if(!t.command||"string"!=typeof t.command){r.push('"'.concat(e,'": stdio server is missing a "command".'));continue}a.push({...l,transport:"stdio",command:t.command,args:Array.isArray(t.args)?t.args:[]})}else if("websocket"===o){let o=t.url||t.websocketUrl;if(!o){r.push('"'.concat(e,'": websocket server is missing a "url".'));continue}a.push({...l,transport:"websocket",websocketUrl:o})}else{let s=t.url||t.serverUrl;if(!s){r.push('"'.concat(e,'": ').concat(o,' server is missing a "url".'));continue}let n=t.headers&&"object"==typeof t.headers?t.headers:void 0;a.push({...l,transport:o,serverUrl:s,...n?{headers:n}:{}})}}return{servers:a,errors:r}}r.d(t,{_i:()=>s,CZ:()=>l,Kt:()=>n});let s=[{id:"claude",label:"Claude",fileName:"mcp_config.json",export:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t.proxyBaseUrl||"").replace(/\/$/,""),o={};for(let t of e){if(t.exposeAsMcpServer){o[t.name]={type:"http",url:"".concat(r,"/mcp-proxy/").concat(t.name)};continue}let e={},s=a(t.env);switch(t.transport){case"stdio":e.command=t.command,e.args=t.args||[],Object.keys(s).length>0&&(e.env=s);break;case"streamable":e.type="http",e.url=t.serverUrl,t.headers&&Object.keys(t.headers).length>0&&(e.headers=a(t.headers)),Object.keys(s).length>0&&(e.env=s);break;case"sse":e.type="sse",e.url=t.serverUrl,t.headers&&Object.keys(t.headers).length>0&&(e.headers=a(t.headers)),Object.keys(s).length>0&&(e.env=s);break;case"websocket":e.type="ws",e.url=t.websocketUrl,Object.keys(s).length>0&&(e.env=s);break;default:Object.keys(s).length>0&&(e.env=s)}o[t.name]=e}return{mcpServers:o}},import:o},{id:"cline",label:"Cline",fileName:"cline_mcp_settings.json",export:function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},r=(t.proxyBaseUrl||"").replace(/\/$/,""),o={};for(let t of e){var s,n;let e={disabled:null!=(s=t.disabled)&&s,autoApprove:null!=(n=t.autoApprove)?n:[],timeout:60};if(t.exposeAsMcpServer){o[t.name]={...e,type:"streamableHttp",url:"".concat(r,"/mcp-proxy/").concat(t.name)};continue}let l=a(t.env),i={...e};switch(t.transport){case"stdio":i.command=t.command,i.args=t.args||[],Object.keys(l).length>0&&(i.env=l);break;case"streamable":i.type="streamableHttp",i.url=t.serverUrl,t.headers&&Object.keys(t.headers).length>0&&(i.headers=a(t.headers));break;case"sse":i.type="sse",i.url=t.serverUrl,t.headers&&Object.keys(t.headers).length>0&&(i.headers=a(t.headers));break;case"websocket":i.type="ws",i.url=t.websocketUrl;break;default:Object.keys(l).length>0&&(i.env=l)}o[t.name]=i}return{mcpServers:o}},import:function(e){return o(e)}}];function n(e){var t;return null!=(t=s.find(t=>t.id===e))?t:s[0]}function l(e,t,r){let a=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"claude",o=(r||"").replace(/\/$/,"");return JSON.stringify(t?n(a).export([t],{proxyBaseUrl:o}):{mcpServers:{[e]:{type:"http",url:"".concat(o,"/mcp-proxy/").concat(e)}}},null,2)}},80411:(e,t,r)=>{r.d(t,{Fu:()=>i,M8:()=>s,Qv:()=>n,Qz:()=>l});let a=(0,r(87021).h)("frontend/components/mcp/MCPServerManager/utils/serverUpdates"),o=new Map;async function s(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=Date.now(),s={},n=[];for(let a of new Set(e.filter(Boolean))){let e=o.get(a);!t&&e&&r-e.at<6e5?s[a]=e.info:n.push(a)}if(n.length>0)try{let e=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"checkUpdatesBatch",paths:n})}),t=await e.json();if(e.ok&&t.results)for(let[e,a]of Object.entries(t.results))o.set(e,{at:r,info:a}),s[e]=a;else a.warn("Batch update check failed",t.error)}catch(e){a.warn("Batch update check request failed",e)}return s}async function n(e){try{let t=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"pullUpdates",savePath:e})}),r=await t.json();if(!t.ok)return{success:!1,error:r.error||"Failed to pull updates"};return{success:!0,oldSha:r.oldSha,newSha:r.newSha,updated:r.updated}}catch(e){return{success:!1,error:e.message||"Failed to pull updates"}}}async function l(e,t,r){let o=e.match(/github\.com[:/]([^/]+)\/([^/]+?)(?:\.git)?\/?$/i);if(!o)return null;try{let e=await fetch("https://api.github.com/repos/".concat(o[1],"/").concat(o[2],"/compare/").concat(t,"...").concat(r));if(!e.ok)return null;let a=await e.json(),s=Array.isArray(a.commits)?a.commits:[];return{behindBy:"number"==typeof a.total_commits?a.total_commits:null,commits:s.slice(-10).reverse().map(e=>{var t;return{sha:(e.sha||"").slice(0,7),message:((null==(t=e.commit)?void 0:t.message)||"").split("\n")[0]}})}}catch(e){return a.debug("GitHub compare preview failed (non-fatal)",e),null}}function i(e){return e?e.slice(0,7):""}},81956:(e,t,r)=>{r.d(t,{A:()=>v});var a=r(95155),o=r(12115),s=r(36314),n=r(86973),l=r(49501),i=r(17681),c=r(21067),d=r(2778),u=r(52363),p=r(65036),h=r(9562),f=r(75912),m=r(91871),x=r(9693),g=r(91665),b=r(7517),y=r(8190);let v=e=>{let{anchorEl:t,open:r,currentFolder:v,folders:j,onClose:A,onAssign:S}=e,[k,C]=(0,o.useState)(!1),[w,E]=(0,o.useState)(""),O=e=>{S(e),A()},T=()=>{let e=w.trim();e&&(C(!1),O(e))};return(0,a.jsxs)(a.Fragment,{children:[(0,a.jsxs)(s.A,{anchorEl:t,open:r,onClose:A,children:[j.length>0&&j.map(e=>(0,a.jsxs)(n.A,{onClick:()=>O(e),selected:e===v,children:[(0,a.jsx)(l.A,{children:e===v?(0,a.jsx)(x.A,{fontSize:"small"}):(0,a.jsx)(g.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:e})]},e)),j.length>0&&(0,a.jsx)(c.A,{}),(0,a.jsxs)(n.A,{onClick:()=>{E(""),C(!0)},children:[(0,a.jsx)(l.A,{children:(0,a.jsx)(b.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:"New folder…"})]}),v&&(0,a.jsxs)(n.A,{onClick:()=>O(void 0),children:[(0,a.jsx)(l.A,{children:(0,a.jsx)(y.A,{fontSize:"small"})}),(0,a.jsx)(i.A,{primary:"Remove from folder"})]})]}),(0,a.jsxs)(d.A,{open:k,onClose:()=>C(!1),maxWidth:"xs",fullWidth:!0,children:[(0,a.jsx)(u.A,{children:"New folder"}),(0,a.jsx)(p.A,{children:(0,a.jsx)(h.A,{autoFocus:!0,margin:"dense",label:"Folder name",fullWidth:!0,value:w,onChange:e=>E(e.target.value),onKeyDown:e=>{"Enter"===e.key&&(e.preventDefault(),T())}})}),(0,a.jsxs)(f.A,{children:[(0,a.jsx)(m.A,{onClick:()=>C(!1),children:"Cancel"}),(0,a.jsx)(m.A,{variant:"contained",disabled:!w.trim(),onClick:T,children:"Create"})]})]})]})}},86631:(e,t,r)=>{r.d(t,{b:()=>s,c:()=>n});var a=r(56290);async function o(e,t){try{let r=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(e)});if(!r.ok||!r.body)return null;let o=null;return await (0,a.z)(r,e=>{if("stdout"===e.type||"stderr"===e.type)t(e.data);else if("result"===e.type){var r;o={success:e.success,output:null!=(r=e.commandOutput)?r:""}}}),o}catch(e){return console.error("Error streaming git command:",e),null}}let s=async(e,t,r)=>{if(r){let a=await o({action:"installStream",savePath:e,installCommand:t},r);if(a)return{success:a.success,message:a.success?{type:"success",text:"Dependencies installed successfully. You can now build the server."}:{type:"error",text:"Error installing dependencies. You can still try to build the server."},output:a.output||"No output was returned from the installation process."}}try{let r=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"install",savePath:e,installCommand:t})}),a=await r.json();if(!r.ok)throw Error(a.error||"Failed to install dependencies");return{success:!0,message:{type:"success",text:"Dependencies installed successfully. You can now build the server."},output:a.commandOutput||"No output was returned from the installation process."}}catch(e){return console.error("Error installing dependencies:",e),{success:!1,message:{type:"error",text:"Error installing dependencies: ".concat(e.message||"Unknown error",". You can still try to build the server.")},output:e instanceof Response?await e.text():(null==e?void 0:e.message)||"Unknown error"}}},n=async(e,t,r)=>{if(r){let a=await o({action:"buildStream",savePath:e,buildCommand:t},r);if(a)return{success:a.success,message:a.success?{type:"success",text:"Server built successfully."}:{type:"error",text:"Error building server."},output:a.output||"No output was returned from the build process."}}try{let r=await fetch("/api/git",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({action:"build",savePath:e,buildCommand:t})}),a=await r.json();if(!r.ok)throw Error(a.error||"Failed to build repository");return{success:!0,message:{type:"success",text:"Server built successfully."},output:a.commandOutput||"No output was returned from the build process."}}catch(e){return console.error("Error building server:",e),{success:!1,message:{type:"error",text:"Error building server: ".concat(e.message||"Unknown error",".")},output:e instanceof Response?await e.text():(null==e?void 0:e.message)||"Unknown error"}}}},97104:(e,t,r)=>{r.d(t,{Aq:()=>o,Xk:()=>n,vi:()=>s});var a=r(12115);function o(e,t){try{let r=window.localStorage.getItem(e);if(null===r)return t;return JSON.parse(r)}catch(e){return t}}function s(e,t){try{window.localStorage.setItem(e,JSON.stringify(t))}catch(e){}}function n(e,t){let[r,n]=(0,a.useState)(()=>o(e,t));return[r,(0,a.useCallback)(t=>{n(r=>{let a="function"==typeof t?t(r):t;return s(e,a),a})},[e])]}}}]);
@@ -0,0 +1,8 @@
1
+ "use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9345],{2456:(e,t,s)=>{s.d(t,{A:()=>g});var r=s(12115),n=s(2821),a=s(57001),i=s(96574),o=s(48116),l=s(16625),c=s(85795),u=s(95195);function h(e){return(0,u.Ay)("MuiTableHead",e)}(0,c.A)("MuiTableHead",["root"]);var d=s(95155);let p=(0,o.Ay)("thead",{name:"MuiTableHead",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-header-group"}),f={variant:"head"},m="thead",g=r.forwardRef(function(e,t){let s=(0,l.b)({props:e,name:"MuiTableHead"}),{className:r,component:o=m,...c}=s,u={...s,component:o},g=(e=>{let{classes:t}=e;return(0,a.A)({root:["root"]},h,t)})(u);return(0,d.jsx)(i.A.Provider,{value:f,children:(0,d.jsx)(p,{as:o,className:(0,n.A)(g.root,r),ref:t,role:o===m?null:"rowgroup",ownerState:u,...c})})})},2457:(e,t,s)=>{s.d(t,{A:()=>n});var r=s(12115);let n=e=>{let t=r.useRef({});return r.useEffect(()=>{t.current=e}),t.current}},3339:(e,t,s)=>{s.d(t,{A:()=>h});var r=s(12115),n=s(9488),a=s(12549),i=s(33567),o=s(47250),l=s(69582),c=s(95155);let u={entering:{transform:"none"},entered:{transform:"none"}},h=r.forwardRef(function(e,t){let s=(0,i.A)(),h={enter:s.transitions.duration.enteringScreen,exit:s.transitions.duration.leavingScreen},{addEndListener:d,appear:p=!0,children:f,easing:m,in:g,onEnter:y,onEntered:w,onEntering:v,onExit:_,onExited:b,onExiting:x,style:A,timeout:S=h,TransitionComponent:R=n.Ay,...P}=e,O=r.useRef(null),$=(0,l.A)(O,(0,a.A)(f),t),C=e=>t=>{if(e){let s=O.current;void 0===t?e(s):e(s,t)}},I=C(v),E=C((e,t)=>{(0,o.q)(e);let r=(0,o.c)({style:A,timeout:S,easing:m},{mode:"enter"});e.style.webkitTransition=s.transitions.create("transform",r),e.style.transition=s.transitions.create("transform",r),y&&y(e,t)}),k=C(w),M=C(x),T=C(e=>{let t=(0,o.c)({style:A,timeout:S,easing:m},{mode:"exit"});e.style.webkitTransition=s.transitions.create("transform",t),e.style.transition=s.transitions.create("transform",t),_&&_(e)}),j=C(b);return(0,c.jsx)(R,{appear:p,in:g,nodeRef:O,onEnter:E,onEntered:k,onEntering:I,onExit:T,onExited:j,onExiting:M,addEndListener:e=>{d&&d(O.current,e)},timeout:S,...P,children:(e,t)=>{let{ownerState:s,...n}=t;return r.cloneElement(f,{style:{transform:"scale(0)",visibility:"exited"!==e||g?void 0:"hidden",...u[e],...A,...f.props.style},ref:$,...n})}})})},6422:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},11305:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},11665:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")},12140:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Clear")},12761:(e,t,s)=>{let r,n,a,i,o,l,c,u,h;s.d(t,{ZH:()=>i,fS:()=>a,ZY:()=>o,hd:()=>n,gR:()=>u,RK:()=>c,Gg:()=>l,Ts:()=>f,u9:()=>h,fM:()=>r});let d=!1;class p{constructor(e){this.body=e}get[Symbol.toStringTag](){return"MultipartBody"}}let f=()=>{r||function(e,t={auto:!1}){if(d)throw Error(`you must \`import 'openai/shims/${e.kind}'\` before importing anything else from openai`);if(r)throw Error(`can't \`import 'openai/shims/${e.kind}'\` after \`import 'openai/shims/${r}'\``);d=t.auto,r=e.kind,n=e.fetch,e.Request,e.Response,e.Headers,a=e.FormData,e.Blob,i=e.File,o=e.ReadableStream,l=e.getMultipartRequestOptions,c=e.getDefaultAgent,u=e.fileFromPath,h=e.isFsReadStream}(function({manuallyImported:e}={}){let t,s,r,n,a=e?"You may need to use polyfills":`Add one of these imports before your first \`import … from 'openai'\`:
2
+ - \`import 'openai/shims/node'\` (if you're running on Node)
3
+ - \`import 'openai/shims/web'\` (otherwise)
4
+ `;try{t=fetch,s=Request,r=Response,n=Headers}catch(e){throw Error(`this environment is missing the following Web Fetch API type: ${e.message}. ${a}`)}return{kind:"web",fetch:t,Request:s,Response:r,Headers:n,FormData:"undefined"!=typeof FormData?FormData:class{constructor(){throw Error(`file uploads aren't supported in this environment yet as 'FormData' is undefined. ${a}`)}},Blob:"undefined"!=typeof Blob?Blob:class{constructor(){throw Error(`file uploads aren't supported in this environment yet as 'Blob' is undefined. ${a}`)}},File:"undefined"!=typeof File?File:class{constructor(){throw Error(`file uploads aren't supported in this environment yet as 'File' is undefined. ${a}`)}},ReadableStream:"undefined"!=typeof ReadableStream?ReadableStream:class{constructor(){throw Error(`streaming isn't supported in this environment yet as 'ReadableStream' is undefined. ${a}`)}},getMultipartRequestOptions:async(e,t)=>({...t,body:new p(e)}),getDefaultAgent:e=>void 0,fileFromPath:()=>{throw Error("The `fileFromPath` function is only supported in Node. See the README for more details: https://www.github.com/openai/openai-node#file-uploads")},isFsReadStream:e=>!1}}(),{auto:!0})};f()},16963:(e,t,s)=>{s.d(t,{A:()=>g});var r=s(12115),n=s(2821),a=s(57001),i=s(59938),o=s(48116),l=s(66964),c=s(16625),u=s(85795),h=s(95195);function d(e){return(0,h.Ay)("MuiTable",e)}(0,u.A)("MuiTable",["root","stickyHeader"]);var p=s(95155);let f=(0,o.Ay)("table",{name:"MuiTable",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:s}=e;return[t.root,s.stickyHeader&&t.stickyHeader]}})((0,l.A)(e=>{let{theme:t}=e;return{display:"table",width:"100%",borderCollapse:"collapse",borderSpacing:0,"& caption":{...t.typography.body2,padding:t.spacing(2),color:(t.vars||t).palette.text.secondary,textAlign:"left",captionSide:"bottom"},variants:[{props:e=>{let{ownerState:t}=e;return t.stickyHeader},style:{borderCollapse:"separate"}}]}})),m="table",g=r.forwardRef(function(e,t){let s=(0,c.b)({props:e,name:"MuiTable"}),{className:o,component:l=m,padding:u="normal",size:h="medium",stickyHeader:g=!1,...y}=s,w={...s,component:l,padding:u,size:h,stickyHeader:g},v=(e=>{let{classes:t,stickyHeader:s}=e;return(0,a.A)({root:["root",s&&"stickyHeader"]},d,t)})(w),_=r.useMemo(()=>({padding:u,size:h,stickyHeader:g}),[u,h,g]);return(0,p.jsx)(i.A.Provider,{value:_,children:(0,p.jsx)(f,{as:l,role:l===m?null:"table",ref:t,className:(0,n.A)(v.root,o),ownerState:w,...y})})})},19219:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M15.41 7.41 14 6l-6 6 6 6 1.41-1.41L10.83 12z"}),"ChevronLeft")},20063:(e,t,s)=>{var r=s(47260);s.o(r,"usePathname")&&s.d(t,{usePathname:function(){return r.usePathname}}),s.o(r,"useRouter")&&s.d(t,{useRouter:function(){return r.useRouter}}),s.o(r,"useSearchParams")&&s.d(t,{useSearchParams:function(){return r.useSearchParams}})},21852:(e,t,s)=>{let r;s.d(t,{Q9:()=>y,wl:()=>w,rW:()=>E,KO:()=>_,Yz:()=>L,sA:()=>U,Os:()=>x,HF:()=>D,sx:()=>k,yy:()=>C,QZ:()=>F});let n="4.104.0";var a,i=s(47453),o=s(63650),l=s(12761),c=s(39262),u=s(81029).hp,h=s(87358),d=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s},p=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};async function f(e){let{response:t}=e;if(e.options.stream)return(L("response",t.status,t.url,t.headers,t.body),e.options.__streamClass)?e.options.__streamClass.fromSSEResponse(t,e.controller):i.Z.fromSSEResponse(t,e.controller);if(204===t.status)return null;if(e.options.__binaryResponse)return t;let s=t.headers.get("content-type"),r=s?.split(";")[0]?.trim();if(r?.includes("application/json")||r?.endsWith("+json")){let e=await t.json();return L("response",t.status,t.url,t.headers,e),m(e,t)}let n=await t.text();return L("response",t.status,t.url,t.headers,n),n}function m(e,t){return!e||"object"!=typeof e||Array.isArray(e)?e:Object.defineProperty(e,"_request_id",{value:t.headers.get("x-request-id"),enumerable:!1})}(0,l.Ts)();class g extends Promise{constructor(e,t=f){super(e=>{e(null)}),this.responsePromise=e,this.parseResponse=t}_thenUnwrap(e){return new g(this.responsePromise,async t=>m(e(await this.parseResponse(t),t),t.response))}asResponse(){return this.responsePromise.then(e=>e.response)}async withResponse(){let[e,t]=await Promise.all([this.parse(),this.asResponse()]);return{data:e,response:t,request_id:t.headers.get("x-request-id")}}parse(){return this.parsedPromise||(this.parsedPromise=this.responsePromise.then(this.parseResponse)),this.parsedPromise}then(e,t){return this.parse().then(e,t)}catch(e){return this.parse().catch(e)}finally(e){return this.parse().finally(e)}}class y{constructor({baseURL:e,maxRetries:t=2,timeout:s=6e5,httpAgent:r,fetch:n}){this.baseURL=e,this.maxRetries=I("maxRetries",t),this.timeout=I("timeout",s),this.httpAgent=r,this.fetch=n??l.hd}authHeaders(e){return{}}defaultHeaders(e){return{Accept:"application/json","Content-Type":"application/json","User-Agent":this.getUserAgent(),...R(),...this.authHeaders(e)}}validateHeaders(e,t){}defaultIdempotencyKey(){return`stainless-node-retry-${B()}`}get(e,t){return this.methodRequest("get",e,t)}post(e,t){return this.methodRequest("post",e,t)}patch(e,t){return this.methodRequest("patch",e,t)}put(e,t){return this.methodRequest("put",e,t)}delete(e,t){return this.methodRequest("delete",e,t)}methodRequest(e,t,s){return this.request(Promise.resolve(s).then(async s=>{let r=s&&(0,c.jF)(s?.body)?new DataView(await s.body.arrayBuffer()):s?.body instanceof DataView?s.body:s?.body instanceof ArrayBuffer?new DataView(s.body):s&&ArrayBuffer.isView(s?.body)?new DataView(s.body.buffer):s?.body;return{method:e,path:t,...s,body:r}}))}getAPIList(e,t,s){return this.requestAPIList(t,{method:"get",path:e,...s})}calculateContentLength(e){if("string"==typeof e){if(void 0!==u)return u.byteLength(e,"utf8").toString();if("undefined"!=typeof TextEncoder)return new TextEncoder().encode(e).length.toString()}else if(ArrayBuffer.isView(e))return e.byteLength.toString();return null}buildRequest(e,{retryCount:t=0}={}){let s={...e},{method:r,path:n,query:a,headers:i={}}=s,o=ArrayBuffer.isView(s.body)||s.__binaryRequest&&"string"==typeof s.body?s.body:(0,c.L6)(s.body)?s.body.body:s.body?JSON.stringify(s.body,null,2):null,u=this.calculateContentLength(o),h=this.buildURL(n,a);"timeout"in s&&I("timeout",s.timeout),s.timeout=s.timeout??this.timeout;let d=s.httpAgent??this.httpAgent??(0,l.RK)(h),p=s.timeout+1e3;"number"==typeof d?.options?.timeout&&p>(d.options.timeout??0)&&(d.options.timeout=p),this.idempotencyHeader&&"get"!==r&&(e.idempotencyKey||(e.idempotencyKey=this.defaultIdempotencyKey()),i[this.idempotencyHeader]=e.idempotencyKey);let f=this.buildHeaders({options:s,headers:i,contentLength:u,retryCount:t});return{req:{method:r,...o&&{body:o},headers:f,...d&&{agent:d},signal:s.signal??null},url:h,timeout:s.timeout}}buildHeaders({options:e,headers:t,contentLength:s,retryCount:r}){let n={};s&&(n["content-length"]=s);let a=this.defaultHeaders(e);return j(n,a),j(n,t),(0,c.L6)(e.body)&&"node"!==l.fM&&delete n["content-type"],void 0===H(a,"x-stainless-retry-count")&&void 0===H(t,"x-stainless-retry-count")&&(n["x-stainless-retry-count"]=String(r)),void 0===H(a,"x-stainless-timeout")&&void 0===H(t,"x-stainless-timeout")&&e.timeout&&(n["x-stainless-timeout"]=String(Math.trunc(e.timeout/1e3))),this.validateHeaders(n,t),n}async prepareOptions(e){}async prepareRequest(e,{url:t,options:s}){}parseHeaders(e){return e?Symbol.iterator in e?Object.fromEntries(Array.from(e).map(e=>[...e])):{...e}:{}}makeStatusError(e,t,s,r){return o.LG.generate(e,t,s,r)}request(e,t=null){return new g(this.makeRequest(e,t))}async makeRequest(e,t){let s=await e,r=s.maxRetries??this.maxRetries;null==t&&(t=r),await this.prepareOptions(s);let{req:n,url:a,timeout:i}=this.buildRequest(s,{retryCount:r-t});if(await this.prepareRequest(n,{url:a,options:s}),L("request",a,s,n.headers),s.signal?.aborted)throw new o.cH;let l=new AbortController,c=await this.fetchWithTimeout(a,n,i,l).catch(E);if(c instanceof Error){if(s.signal?.aborted)throw new o.cH;if(t)return this.retryRequest(s,t);if("AbortError"===c.name)throw new o.qA;throw new o.xX({cause:c})}let u=_(c.headers);if(!c.ok){if(t&&this.shouldRetry(c)){let e=`retrying, ${t} attempts remaining`;return L(`response (error; ${e})`,c.status,a,u),this.retryRequest(s,t,u)}let e=await c.text().catch(e=>E(e).message),r=P(e),n=r?void 0:e,i=t?"(error; no more retries left)":"(error; not retryable)";throw L(`response (error; ${i})`,c.status,a,u,n),this.makeStatusError(c.status,r,n,u)}return{response:c,options:s,controller:l}}requestAPIList(e,t){return new v(this,this.makeRequest(t,null),e)}buildURL(e,t){let s=new URL($(e)?e:this.baseURL+(this.baseURL.endsWith("/")&&e.startsWith("/")?e.slice(1):e)),r=this.defaultQuery();return M(r)||(t={...r,...t}),"object"==typeof t&&t&&!Array.isArray(t)&&(s.search=this.stringifyQuery(t)),s.toString()}stringifyQuery(e){return Object.entries(e).filter(([e,t])=>void 0!==t).map(([e,t])=>{if("string"==typeof t||"number"==typeof t||"boolean"==typeof t)return`${encodeURIComponent(e)}=${encodeURIComponent(t)}`;if(null===t)return`${encodeURIComponent(e)}=`;throw new o.vc(`Cannot stringify type ${typeof t}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}async fetchWithTimeout(e,t,s,r){let{signal:n,...a}=t||{};n&&n.addEventListener("abort",()=>r.abort());let i=setTimeout(()=>r.abort(),s),o={signal:r.signal,...a};return o.method&&(o.method=o.method.toUpperCase()),this.fetch.call(void 0,e,o).finally(()=>{clearTimeout(i)})}shouldRetry(e){let t=e.headers.get("x-should-retry");return"true"===t||"false"!==t&&(408===e.status||409===e.status||429===e.status||!!(e.status>=500))}async retryRequest(e,t,s){let r,n=s?.["retry-after-ms"];if(n){let e=parseFloat(n);Number.isNaN(e)||(r=e)}let a=s?.["retry-after"];if(a&&!r){let e=parseFloat(a);r=Number.isNaN(e)?Date.parse(a)-Date.now():1e3*e}if(!(r&&0<=r&&r<6e4)){let s=e.maxRetries??this.maxRetries;r=this.calculateDefaultRetryTimeoutMillis(t,s)}return await C(r),this.makeRequest(e,t-1)}calculateDefaultRetryTimeoutMillis(e,t){return Math.min(.5*Math.pow(2,t-e),8)*(1-.25*Math.random())*1e3}getUserAgent(){return`${this.constructor.name}/JS ${n}`}}class w{constructor(e,t,s,r){a.set(this,void 0),d(this,a,e,"f"),this.options=r,this.response=t,this.body=s}hasNextPage(){return!!this.getPaginatedItems().length&&null!=this.nextPageInfo()}async getNextPage(){let e=this.nextPageInfo();if(!e)throw new o.vc("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");let t={...this.options};if("params"in e&&"object"==typeof t.query)t.query={...t.query,...e.params};else if("url"in e){for(let[s,r]of[...Object.entries(t.query||{}),...e.url.searchParams.entries()])e.url.searchParams.set(s,r);t.query=void 0,t.path=e.url.toString()}return await p(this,a,"f").requestAPIList(this.constructor,t)}async *iterPages(){let e=this;for(yield e;e.hasNextPage();)e=await e.getNextPage(),yield e}async *[(a=new WeakMap,Symbol.asyncIterator)](){for await(let e of this.iterPages())for(let t of e.getPaginatedItems())yield t}}class v extends g{constructor(e,t,s){super(t,async t=>new s(e,t.response,await f(t),t.options))}async *[Symbol.asyncIterator](){for await(let e of(await this))yield e}}let _=e=>new Proxy(Object.fromEntries(e.entries()),{get(e,t){let s=t.toString();return e[s.toLowerCase()]||e[s]}}),b={method:!0,path:!0,query:!0,body:!0,headers:!0,maxRetries:!0,stream:!0,timeout:!0,httpAgent:!0,signal:!0,idempotencyKey:!0,__metadata:!0,__binaryRequest:!0,__binaryResponse:!0,__streamClass:!0},x=e=>"object"==typeof e&&null!==e&&!M(e)&&Object.keys(e).every(e=>T(b,e)),A=e=>"x32"===e?"x32":"x86_64"===e||"x64"===e?"x64":"arm"===e?"arm":"aarch64"===e||"arm64"===e?"arm64":e?`other:${e}`:"unknown",S=e=>(e=e.toLowerCase()).includes("ios")?"iOS":"android"===e?"Android":"darwin"===e?"MacOS":"win32"===e?"Windows":"freebsd"===e?"FreeBSD":"openbsd"===e?"OpenBSD":"linux"===e?"Linux":e?`Other:${e}`:"Unknown",R=()=>r??(r=(()=>{if("undefined"!=typeof Deno&&null!=Deno.build)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n,"X-Stainless-OS":S(Deno.build.os),"X-Stainless-Arch":A(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":"string"==typeof Deno.version?Deno.version:Deno.version?.deno??"unknown"};if("undefined"!=typeof EdgeRuntime)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":h.version};if("[object process]"===Object.prototype.toString.call(void 0!==h?h:0))return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n,"X-Stainless-OS":S(h.platform),"X-Stainless-Arch":A(h.arch),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":h.version};let e=function(){if("undefined"==typeof navigator||!navigator)return null;for(let{key:e,pattern:t}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 s=t.exec(navigator.userAgent);if(s){let t=s[1]||0,r=s[2]||0,n=s[3]||0;return{browser:e,version:`${t}.${r}.${n}`}}}return null}();return e?{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${e.browser}`,"X-Stainless-Runtime-Version":e.version}:{"X-Stainless-Lang":"js","X-Stainless-Package-Version":n,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}})()),P=e=>{try{return JSON.parse(e)}catch(e){return}},O=/^[a-z][a-z0-9+.-]*:/i,$=e=>O.test(e),C=e=>new Promise(t=>setTimeout(t,e)),I=(e,t)=>{if("number"!=typeof t||!Number.isInteger(t))throw new o.vc(`${e} must be an integer`);if(t<0)throw new o.vc(`${e} must be a positive integer`);return t},E=e=>{if(e instanceof Error)return e;if("object"==typeof e&&null!==e)try{return Error(JSON.stringify(e))}catch{}return Error(e)},k=e=>void 0!==h?h.env?.[e]?.trim()??void 0:"undefined"!=typeof Deno?Deno.env?.get?.(e)?.trim():void 0;function M(e){if(!e)return!0;for(let t in e)return!1;return!0}function T(e,t){return Object.prototype.hasOwnProperty.call(e,t)}function j(e,t){for(let s in t){if(!T(t,s))continue;let r=s.toLowerCase();if(!r)continue;let n=t[s];null===n?delete e[r]:void 0!==n&&(e[r]=n)}}let N=new Set(["authorization","api-key"]);function L(e,...t){void 0!==h&&h?.env?.DEBUG==="true"&&console.log(`OpenAI:DEBUG:${e}`,...t.map(e=>{if(!e)return e;if(e.headers){let t={...e,headers:{...e.headers}};for(let s in e.headers)N.has(s.toLowerCase())&&(t.headers[s]="REDACTED");return t}let t=null;for(let s in e)N.has(s.toLowerCase())&&(t??(t={...e}),t[s]="REDACTED");return t??e}))}let B=()=>"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,e=>{let t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}),D=()=>"undefined"!=typeof window&&void 0!==window.document&&"undefined"!=typeof navigator,H=(e,t)=>{let s=t.toLowerCase();if("function"==typeof e?.get){let r=t[0]?.toUpperCase()+t.substring(1).replace(/([^\w])(\w)/g,(e,t,s)=>t+s.toUpperCase());for(let n of[t,s,t.toUpperCase(),r]){let t=e.get(n);if(t)return t}}for(let[r,n]of Object.entries(e))if(r.toLowerCase()===s){if(Array.isArray(n)){if(n.length<=1)return n[0];return console.warn(`Received ${n.length} entries for the ${t} header, using the first entry.`),n[0]}return n}},F=e=>{if(void 0!==u){let t=u.from(e,"base64");return Array.from(new Float32Array(t.buffer,t.byteOffset,t.length/Float32Array.BYTES_PER_ELEMENT))}{let t=atob(e),s=t.length,r=new Uint8Array(s);for(let e=0;e<s;e++)r[e]=t.charCodeAt(e);return Array.from(new Float32Array(r.buffer))}};function U(e){return null!=e&&"object"==typeof e&&!Array.isArray(e)}},22719:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M7.41 8.59 12 13.17l4.59-4.58L18 10l-6 6-6-6z"}),"KeyboardArrowDown")},25731:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},29155:(e,t,s)=>{s.d(t,{Ay:()=>sc});let r="RFC3986",n={RFC1738:e=>String(e).replace(/%20/g,"+"),RFC3986:e=>String(e)};Object.prototype.hasOwnProperty;let a=Array.isArray,i=(()=>{let e=[];for(let t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e})();function o(e,t){if(a(e)){let s=[];for(let r=0;r<e.length;r+=1)s.push(t(e[r]));return s}return t(e)}let l=Object.prototype.hasOwnProperty,c={brackets:e=>String(e)+"[]",comma:"comma",indices:(e,t)=>String(e)+"["+t+"]",repeat:e=>String(e)},u=Array.isArray,h=Array.prototype.push,d=function(e,t){h.apply(e,u(t)?t:[t])},p=Date.prototype.toISOString,f={addQueryPrefix:!1,allowDots:!1,allowEmptyArrays:!1,arrayFormat:"indices",charset:"utf-8",charsetSentinel:!1,delimiter:"&",encode:!0,encodeDotInKeys:!1,encoder:(e,t,s,r,n)=>{if(0===e.length)return e;let a=e;if("symbol"==typeof e?a=Symbol.prototype.toString.call(e):"string"!=typeof e&&(a=String(e)),"iso-8859-1"===s)return escape(a).replace(/%u[0-9a-f]{4}/gi,function(e){return"%26%23"+parseInt(e.slice(2),16)+"%3B"});let o="";for(let e=0;e<a.length;e+=1024){let t=a.length>=1024?a.slice(e,e+1024):a,s=[];for(let e=0;e<t.length;++e){let r=t.charCodeAt(e);if(45===r||46===r||95===r||126===r||r>=48&&r<=57||r>=65&&r<=90||r>=97&&r<=122||"RFC1738"===n&&(40===r||41===r)){s[s.length]=t.charAt(e);continue}if(r<128){s[s.length]=i[r];continue}if(r<2048){s[s.length]=i[192|r>>6]+i[128|63&r];continue}if(r<55296||r>=57344){s[s.length]=i[224|r>>12]+i[128|r>>6&63]+i[128|63&r];continue}e+=1,r=65536+((1023&r)<<10|1023&t.charCodeAt(e)),s[s.length]=i[240|r>>18]+i[128|r>>12&63]+i[128|r>>6&63]+i[128|63&r]}o+=s.join("")}return o},encodeValuesOnly:!1,format:r,formatter:n[r],indices:!1,serializeDate:e=>p.call(e),skipNulls:!1,strictNullHandling:!1},m={};var g,y,w,v,_,b,x,A,S,R,P,O,$,C,I,E,k,M,T,j,N,L,B,D,H,F,U,W,q,z,V,X,J,K,G,Q,Z,Y,ee,et,es,er,en,ea,ei,eo,el,ec,eu,eh,ed,ep,ef,em,eg,ey,ew,ev,e_,eb,ex,eA,eS,eR=s(21852),eP=s(63650),eO=s(39262),e$=s(12761);class eC{constructor(e){this._client=e}}class eI extends eC{create(e,t){return this._client.post("/completions",{body:e,...t,stream:e.stream??!1})}}class eE extends eC{list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/chat/completions/${e}/messages`,eN,{query:t,...s})}}class ek extends eR.wl{constructor(e,t,s,r){super(e,t,s,r),this.data=s.data||[],this.object=s.object}getPaginatedItems(){return this.data??[]}nextPageParams(){return null}nextPageInfo(){return null}}class eM extends eR.wl{constructor(e,t,s,r){super(e,t,s,r),this.data=s.data||[],this.has_more=s.has_more||!1}getPaginatedItems(){return this.data??[]}hasNextPage(){return!1!==this.has_more&&super.hasNextPage()}nextPageParams(){let e=this.nextPageInfo();if(!e)return null;if("params"in e)return e.params;let t=Object.fromEntries(e.url.searchParams);return Object.keys(t).length?t:null}nextPageInfo(){let e=this.getPaginatedItems();if(!e.length)return null;let t=e[e.length-1]?.id;return t?{params:{after:t}}:null}}class eT extends eC{constructor(){super(...arguments),this.messages=new eE(this._client)}create(e,t){return this._client.post("/chat/completions",{body:e,...t,stream:e.stream??!1})}retrieve(e,t){return this._client.get(`/chat/completions/${e}`,t)}update(e,t,s){return this._client.post(`/chat/completions/${e}`,{body:t,...s})}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/chat/completions",ej,{query:e,...t})}del(e,t){return this._client.delete(`/chat/completions/${e}`,t)}}class ej extends eM{}class eN extends eM{}eT.ChatCompletionsPage=ej,eT.Messages=eE;class eL extends eC{constructor(){super(...arguments),this.completions=new eT(this._client)}}eL.Completions=eT,eL.ChatCompletionsPage=ej;class eB extends eC{create(e,t){let s=!!e.encoding_format,r=s?e.encoding_format:"base64";s&&eR.Yz("Request","User defined encoding_format:",e.encoding_format);let n=this._client.post("/embeddings",{body:{...e,encoding_format:r},...t});return s?n:(eR.Yz("response","Decoding base64 embeddings to float32 array"),n._thenUnwrap(e=>(e&&e.data&&e.data.forEach(e=>{let t=e.embedding;e.embedding=eR.QZ(t)}),e)))}}class eD extends eC{create(e,t){return this._client.post("/files",eO.gB({body:e,...t}))}retrieve(e,t){return this._client.get(`/files/${e}`,t)}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/files",eH,{query:e,...t})}del(e,t){return this._client.delete(`/files/${e}`,t)}content(e,t){return this._client.get(`/files/${e}/content`,{...t,headers:{Accept:"application/binary",...t?.headers},__binaryResponse:!0})}retrieveContent(e,t){return this._client.get(`/files/${e}/content`,t)}async waitForProcessing(e,{pollInterval:t=5e3,maxWait:s=18e5}={}){let r=new Set(["processed","error","deleted"]),n=Date.now(),a=await this.retrieve(e);for(;!a.status||!r.has(a.status);)if(await (0,eR.yy)(t),a=await this.retrieve(e),Date.now()-n>s)throw new eP.qA({message:`Giving up on waiting for file ${e} to finish processing after ${s} milliseconds.`});return a}}class eH extends eM{}eD.FileObjectsPage=eH;class eF extends eC{createVariation(e,t){return this._client.post("/images/variations",eO.gB({body:e,...t}))}edit(e,t){return this._client.post("/images/edits",eO.gB({body:e,...t}))}generate(e,t){return this._client.post("/images/generations",{body:e,...t})}}class eU extends eC{create(e,t){return this._client.post("/audio/speech",{body:e,...t,headers:{Accept:"application/octet-stream",...t?.headers},__binaryResponse:!0})}}class eW extends eC{create(e,t){return this._client.post("/audio/transcriptions",eO.gB({body:e,...t,stream:e.stream??!1,__metadata:{model:e.model}}))}}class eq extends eC{create(e,t){return this._client.post("/audio/translations",eO.gB({body:e,...t,__metadata:{model:e.model}}))}}class ez extends eC{constructor(){super(...arguments),this.transcriptions=new eW(this._client),this.translations=new eq(this._client),this.speech=new eU(this._client)}}ez.Transcriptions=eW,ez.Translations=eq,ez.Speech=eU;class eV extends eC{create(e,t){return this._client.post("/moderations",{body:e,...t})}}class eX extends eC{retrieve(e,t){return this._client.get(`/models/${e}`,t)}list(e){return this._client.getAPIList("/models",eJ,e)}del(e,t){return this._client.delete(`/models/${e}`,t)}}class eJ extends ek{}eX.ModelsPage=eJ;class eK extends eC{}class eG extends eC{run(e,t){return this._client.post("/fine_tuning/alpha/graders/run",{body:e,...t})}validate(e,t){return this._client.post("/fine_tuning/alpha/graders/validate",{body:e,...t})}}class eQ extends eC{constructor(){super(...arguments),this.graders=new eG(this._client)}}eQ.Graders=eG;class eZ extends eC{create(e,t,s){return this._client.getAPIList(`/fine_tuning/checkpoints/${e}/permissions`,eY,{body:t,method:"post",...s})}retrieve(e,t={},s){return(0,eR.Os)(t)?this.retrieve(e,{},t):this._client.get(`/fine_tuning/checkpoints/${e}/permissions`,{query:t,...s})}del(e,t,s){return this._client.delete(`/fine_tuning/checkpoints/${e}/permissions/${t}`,s)}}class eY extends ek{}eZ.PermissionCreateResponsesPage=eY;class e1 extends eC{constructor(){super(...arguments),this.permissions=new eZ(this._client)}}e1.Permissions=eZ,e1.PermissionCreateResponsesPage=eY;class e0 extends eC{list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/fine_tuning/jobs/${e}/checkpoints`,e2,{query:t,...s})}}class e2 extends eM{}e0.FineTuningJobCheckpointsPage=e2;class e5 extends eC{constructor(){super(...arguments),this.checkpoints=new e0(this._client)}create(e,t){return this._client.post("/fine_tuning/jobs",{body:e,...t})}retrieve(e,t){return this._client.get(`/fine_tuning/jobs/${e}`,t)}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/fine_tuning/jobs",e4,{query:e,...t})}cancel(e,t){return this._client.post(`/fine_tuning/jobs/${e}/cancel`,t)}listEvents(e,t={},s){return(0,eR.Os)(t)?this.listEvents(e,{},t):this._client.getAPIList(`/fine_tuning/jobs/${e}/events`,e8,{query:t,...s})}pause(e,t){return this._client.post(`/fine_tuning/jobs/${e}/pause`,t)}resume(e,t){return this._client.post(`/fine_tuning/jobs/${e}/resume`,t)}}class e4 extends eM{}class e8 extends eM{}e5.FineTuningJobsPage=e4,e5.FineTuningJobEventsPage=e8,e5.Checkpoints=e0,e5.FineTuningJobCheckpointsPage=e2;class e6 extends eC{constructor(){super(...arguments),this.methods=new eK(this._client),this.jobs=new e5(this._client),this.checkpoints=new e1(this._client),this.alpha=new eQ(this._client)}}e6.Methods=eK,e6.Jobs=e5,e6.FineTuningJobsPage=e4,e6.FineTuningJobEventsPage=e8,e6.Checkpoints=e1,e6.Alpha=eQ;class e9 extends eC{}class e3 extends eC{constructor(){super(...arguments),this.graderModels=new e9(this._client)}}e3.GraderModels=e9;let e7=async e=>{let t=await Promise.allSettled(e),s=t.filter(e=>"rejected"===e.status);if(s.length){for(let e of s)console.error(e.reason);throw Error(`${s.length} promise(s) failed - see the above errors`)}let r=[];for(let e of t)"fulfilled"===e.status&&r.push(e.value);return r};class te extends eC{create(e,t,s){return this._client.post(`/vector_stores/${e}/files`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,t,s){return this._client.get(`/vector_stores/${e}/files/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,t,s,r){return this._client.post(`/vector_stores/${e}/files/${t}`,{body:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers}})}list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/vector_stores/${e}/files`,tt,{query:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,t,s){return this._client.delete(`/vector_stores/${e}/files/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,t,s){let r=await this.create(e,t,s);return await this.poll(e,r.id,s)}async poll(e,t,s){let r={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(r["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let n=await this.retrieve(e,t,{...s,headers:r}).withResponse(),a=n.data;switch(a.status){case"in_progress":let i=5e3;if(s?.pollIntervalMs)i=s.pollIntervalMs;else{let e=n.response.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(i=t)}}await (0,eR.yy)(i);break;case"failed":case"completed":return a}}}async upload(e,t,s){let r=await this._client.files.create({file:t,purpose:"assistants"},s);return this.create(e,{file_id:r.id},s)}async uploadAndPoll(e,t,s){let r=await this.upload(e,t,s);return await this.poll(e,r.id,s)}content(e,t,s){return this._client.getAPIList(`/vector_stores/${e}/files/${t}/content`,ts,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}}class tt extends eM{}class ts extends ek{}te.VectorStoreFilesPage=tt,te.FileContentResponsesPage=ts;class tr extends eC{create(e,t,s){return this._client.post(`/vector_stores/${e}/file_batches`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,t,s){return this._client.get(`/vector_stores/${e}/file_batches/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,t,s){return this._client.post(`/vector_stores/${e}/file_batches/${t}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,t,s){let r=await this.create(e,t);return await this.poll(e,r.id,s)}listFiles(e,t,s={},r){return(0,eR.Os)(s)?this.listFiles(e,t,{},s):this._client.getAPIList(`/vector_stores/${e}/file_batches/${t}/files`,tt,{query:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers}})}async poll(e,t,s){let r={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(r["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:n,response:a}=await this.retrieve(e,t,{...s,headers:r}).withResponse();switch(n.status){case"in_progress":let i=5e3;if(s?.pollIntervalMs)i=s.pollIntervalMs;else{let e=a.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(i=t)}}await (0,eR.yy)(i);break;case"failed":case"cancelled":case"completed":return n}}}async uploadAndPoll(e,{files:t,fileIds:s=[]},r){if(null==t||0==t.length)throw Error("No `files` provided to process. If you've already uploaded files you should use `.createAndPoll()` instead");let n=Math.min(r?.maxConcurrency??5,t.length),a=this._client,i=t.values(),o=[...s];async function l(e){for(let t of e){let e=await a.files.create({file:t,purpose:"assistants"},r);o.push(e.id)}}let c=Array(n).fill(i).map(l);return await e7(c),await this.createAndPoll(e,{file_ids:o})}}class tn extends eC{constructor(){super(...arguments),this.files=new te(this._client),this.fileBatches=new tr(this._client)}create(e,t){return this._client.post("/vector_stores",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}retrieve(e,t){return this._client.get(`/vector_stores/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}update(e,t,s){return this._client.post(`/vector_stores/${e}`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/vector_stores",ta,{query:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}del(e,t){return this._client.delete(`/vector_stores/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}search(e,t,s){return this._client.getAPIList(`/vector_stores/${e}/search`,ti,{body:t,method:"post",...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}}class ta extends eM{}class ti extends ek{}tn.VectorStoresPage=ta,tn.VectorStoreSearchResponsesPage=ti,tn.Files=te,tn.VectorStoreFilesPage=tt,tn.FileContentResponsesPage=ts,tn.FileBatches=tr;class to extends eC{create(e,t){return this._client.post("/assistants",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}retrieve(e,t){return this._client.get(`/assistants/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}update(e,t,s){return this._client.post(`/assistants/${e}`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/assistants",tl,{query:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}del(e,t){return this._client.delete(`/assistants/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}}class tl extends eM{}function tc(e){return"function"==typeof e.parse}to.AssistantsPage=tl;let tu=e=>e?.role==="assistant",th=e=>e?.role==="function",td=e=>e?.role==="tool";var tp=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s},tf=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};class tm{constructor(){g.add(this),this.controller=new AbortController,y.set(this,void 0),w.set(this,()=>{}),v.set(this,()=>{}),_.set(this,void 0),b.set(this,()=>{}),x.set(this,()=>{}),A.set(this,{}),S.set(this,!1),R.set(this,!1),P.set(this,!1),O.set(this,!1),tp(this,y,new Promise((e,t)=>{tp(this,w,e,"f"),tp(this,v,t,"f")}),"f"),tp(this,_,new Promise((e,t)=>{tp(this,b,e,"f"),tp(this,x,t,"f")}),"f"),tf(this,y,"f").catch(()=>{}),tf(this,_,"f").catch(()=>{})}_run(e){setTimeout(()=>{e().then(()=>{this._emitFinal(),this._emit("end")},tf(this,g,"m",$).bind(this))},0)}_connected(){this.ended||(tf(this,w,"f").call(this),this._emit("connect"))}get ended(){return tf(this,S,"f")}get errored(){return tf(this,R,"f")}get aborted(){return tf(this,P,"f")}abort(){this.controller.abort()}on(e,t){return(tf(this,A,"f")[e]||(tf(this,A,"f")[e]=[])).push({listener:t}),this}off(e,t){let s=tf(this,A,"f")[e];if(!s)return this;let r=s.findIndex(e=>e.listener===t);return r>=0&&s.splice(r,1),this}once(e,t){return(tf(this,A,"f")[e]||(tf(this,A,"f")[e]=[])).push({listener:t,once:!0}),this}emitted(e){return new Promise((t,s)=>{tp(this,O,!0,"f"),"error"!==e&&this.once("error",s),this.once(e,t)})}async done(){tp(this,O,!0,"f"),await tf(this,_,"f")}_emit(e,...t){if(tf(this,S,"f"))return;"end"===e&&(tp(this,S,!0,"f"),tf(this,b,"f").call(this));let s=tf(this,A,"f")[e];if(s&&(tf(this,A,"f")[e]=s.filter(e=>!e.once),s.forEach(({listener:e})=>e(...t))),"abort"===e){let e=t[0];tf(this,O,"f")||s?.length||Promise.reject(e),tf(this,v,"f").call(this,e),tf(this,x,"f").call(this,e),this._emit("end");return}if("error"===e){let e=t[0];tf(this,O,"f")||s?.length||Promise.reject(e),tf(this,v,"f").call(this,e),tf(this,x,"f").call(this,e),this._emit("end")}}_emitFinal(){}}function tg(e){return e?.$brand==="auto-parseable-response-format"}function ty(e){return e?.$brand==="auto-parseable-tool"}function tw(e,t){let s=e.choices.map(e=>{var s,r;if("length"===e.finish_reason)throw new eP.k5;if("content_filter"===e.finish_reason)throw new eP.pf;return{...e,message:{...e.message,...e.message.tool_calls?{tool_calls:e.message.tool_calls?.map(e=>(function(e,t){let s=e.tools?.find(e=>e.function?.name===t.function.name);return{...t,function:{...t.function,parsed_arguments:ty(s)?s.$parseRaw(t.function.arguments):s?.function.strict?JSON.parse(t.function.arguments):null}}})(t,e))??void 0}:void 0,parsed:e.message.content&&!e.message.refusal?(s=t,r=e.message.content,s.response_format?.type!=="json_schema"?null:s.response_format?.type==="json_schema"?"$parseRaw"in s.response_format?s.response_format.$parseRaw(r):JSON.parse(r):null):null}}});return{...e,choices:s}}function tv(e){return!!tg(e.response_format)||(e.tools?.some(e=>ty(e)||"function"===e.type&&!0===e.function.strict)??!1)}y=new WeakMap,w=new WeakMap,v=new WeakMap,_=new WeakMap,b=new WeakMap,x=new WeakMap,A=new WeakMap,S=new WeakMap,R=new WeakMap,P=new WeakMap,O=new WeakMap,g=new WeakSet,$=function(e){if(tp(this,R,!0,"f"),e instanceof Error&&"AbortError"===e.name&&(e=new eP.cH),e instanceof eP.cH)return tp(this,P,!0,"f"),this._emit("abort",e);if(e instanceof eP.vc)return this._emit("error",e);if(e instanceof Error){let t=new eP.vc(e.message);return t.cause=e,this._emit("error",t)}return this._emit("error",new eP.vc(String(e)))};var t_=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};class tb extends tm{constructor(){super(...arguments),C.add(this),this._chatCompletions=[],this.messages=[]}_addChatCompletion(e){this._chatCompletions.push(e),this._emit("chatCompletion",e);let t=e.choices[0]?.message;return t&&this._addMessage(t),e}_addMessage(e,t=!0){if("content"in e||(e.content=null),this.messages.push(e),t){if(this._emit("message",e),(th(e)||td(e))&&e.content)this._emit("functionCallResult",e.content);else if(tu(e)&&e.function_call)this._emit("functionCall",e.function_call);else if(tu(e)&&e.tool_calls)for(let t of e.tool_calls)"function"===t.type&&this._emit("functionCall",t.function)}}async finalChatCompletion(){await this.done();let e=this._chatCompletions[this._chatCompletions.length-1];if(!e)throw new eP.vc("stream ended without producing a ChatCompletion");return e}async finalContent(){return await this.done(),t_(this,C,"m",I).call(this)}async finalMessage(){return await this.done(),t_(this,C,"m",E).call(this)}async finalFunctionCall(){return await this.done(),t_(this,C,"m",k).call(this)}async finalFunctionCallResult(){return await this.done(),t_(this,C,"m",M).call(this)}async totalUsage(){return await this.done(),t_(this,C,"m",T).call(this)}allChatCompletions(){return[...this._chatCompletions]}_emitFinal(){let e=this._chatCompletions[this._chatCompletions.length-1];e&&this._emit("finalChatCompletion",e);let t=t_(this,C,"m",E).call(this);t&&this._emit("finalMessage",t);let s=t_(this,C,"m",I).call(this);s&&this._emit("finalContent",s);let r=t_(this,C,"m",k).call(this);r&&this._emit("finalFunctionCall",r);let n=t_(this,C,"m",M).call(this);null!=n&&this._emit("finalFunctionCallResult",n),this._chatCompletions.some(e=>e.usage)&&this._emit("totalUsage",t_(this,C,"m",T).call(this))}async _createChatCompletion(e,t,s){let r=s?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),t_(this,C,"m",j).call(this,t);let n=await e.chat.completions.create({...t,stream:!1},{...s,signal:this.controller.signal});return this._connected(),this._addChatCompletion(tw(n,t))}async _runChatCompletion(e,t,s){for(let e of t.messages)this._addMessage(e,!1);return await this._createChatCompletion(e,t,s)}async _runFunctions(e,t,s){let r="function",{function_call:n="auto",stream:a,...i}=t,o="string"!=typeof n&&n?.name,{maxChatCompletions:l=10}=s||{},c={};for(let e of t.functions)c[e.name||e.function.name]=e;let u=t.functions.map(e=>({name:e.name||e.function.name,parameters:e.parameters,description:e.description}));for(let e of t.messages)this._addMessage(e,!1);for(let t=0;t<l;++t){let t,a=await this._createChatCompletion(e,{...i,function_call:n,functions:u,messages:[...this.messages]},s),l=a.choices[0]?.message;if(!l)throw new eP.vc("missing message in ChatCompletion response");if(!l.function_call)return;let{name:h,arguments:d}=l.function_call,p=c[h];if(p){if(o&&o!==h){let e=`Invalid function_call: ${JSON.stringify(h)}. ${JSON.stringify(o)} requested. Please try again`;this._addMessage({role:r,name:h,content:e});continue}}else{let e=`Invalid function_call: ${JSON.stringify(h)}. Available options are: ${u.map(e=>JSON.stringify(e.name)).join(", ")}. Please try again`;this._addMessage({role:r,name:h,content:e});continue}try{t=tc(p)?await p.parse(d):d}catch(e){this._addMessage({role:r,name:h,content:e instanceof Error?e.message:String(e)});continue}let f=await p.function(t,this),m=t_(this,C,"m",N).call(this,f);if(this._addMessage({role:r,name:h,content:m}),o)return}}async _runTools(e,t,s){let r="tool",{tool_choice:n="auto",stream:a,...i}=t,o="string"!=typeof n&&n?.function?.name,{maxChatCompletions:l=10}=s||{},c=t.tools.map(e=>{if(ty(e)){if(!e.$callback)throw new eP.vc("Tool given to `.runTools()` that does not have an associated function");return{type:"function",function:{function:e.$callback,name:e.function.name,description:e.function.description||"",parameters:e.function.parameters,parse:e.$parseRaw,strict:!0}}}return e}),u={};for(let e of c)"function"===e.type&&(u[e.function.name||e.function.function.name]=e.function);let h="tools"in t?c.map(e=>"function"===e.type?{type:"function",function:{name:e.function.name||e.function.function.name,parameters:e.function.parameters,description:e.function.description,strict:e.function.strict}}:e):void 0;for(let e of t.messages)this._addMessage(e,!1);for(let t=0;t<l;++t){let t=await this._createChatCompletion(e,{...i,tool_choice:n,tools:h,messages:[...this.messages]},s),a=t.choices[0]?.message;if(!a)throw new eP.vc("missing message in ChatCompletion response");if(!a.tool_calls?.length)break;for(let e of a.tool_calls){let t;if("function"!==e.type)continue;let s=e.id,{name:n,arguments:a}=e.function,i=u[n];if(i){if(o&&o!==n){let e=`Invalid tool_call: ${JSON.stringify(n)}. ${JSON.stringify(o)} requested. Please try again`;this._addMessage({role:r,tool_call_id:s,content:e});continue}}else{let e=`Invalid tool_call: ${JSON.stringify(n)}. Available options are: ${Object.keys(u).map(e=>JSON.stringify(e)).join(", ")}. Please try again`;this._addMessage({role:r,tool_call_id:s,content:e});continue}try{t=tc(i)?await i.parse(a):a}catch(t){let e=t instanceof Error?t.message:String(t);this._addMessage({role:r,tool_call_id:s,content:e});continue}let l=await i.function(t,this),c=t_(this,C,"m",N).call(this,l);if(this._addMessage({role:r,tool_call_id:s,content:c}),o)return}}}}C=new WeakSet,I=function(){return t_(this,C,"m",E).call(this).content??null},E=function(){let e=this.messages.length;for(;e-- >0;){let t=this.messages[e];if(tu(t)){let{function_call:e,...s}=t,r={...s,content:t.content??null,refusal:t.refusal??null};return e&&(r.function_call=e),r}}throw new eP.vc("stream ended without producing a ChatCompletionMessage with role=assistant")},k=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(tu(t)&&t?.function_call)return t.function_call;if(tu(t)&&t?.tool_calls?.length)return t.tool_calls.at(-1)?.function}},M=function(){for(let e=this.messages.length-1;e>=0;e--){let t=this.messages[e];if(th(t)&&null!=t.content||td(t)&&null!=t.content&&"string"==typeof t.content&&this.messages.some(e=>"assistant"===e.role&&e.tool_calls?.some(e=>"function"===e.type&&e.id===t.tool_call_id)))return t.content}},T=function(){let e={completion_tokens:0,prompt_tokens:0,total_tokens:0};for(let{usage:t}of this._chatCompletions)t&&(e.completion_tokens+=t.completion_tokens,e.prompt_tokens+=t.prompt_tokens,e.total_tokens+=t.total_tokens);return e},j=function(e){if(null!=e.n&&e.n>1)throw new eP.vc("ChatCompletion convenience helpers only support n=1 at this time. To use n>1, please use chat.completions.create() directly.")},N=function(e){return"string"==typeof e?e:void 0===e?"undefined":JSON.stringify(e)};class tx extends tb{static runFunctions(e,t,s){let r=new tx,n={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return r._run(()=>r._runFunctions(e,t,n)),r}static runTools(e,t,s){let r=new tx,n={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return r._run(()=>r._runTools(e,t,n)),r}_addMessage(e,t=!0){super._addMessage(e,t),tu(e)&&e.content&&this._emit("content",e.content)}}var tA=s(47453);let tS={STR:1,NUM:2,ARR:4,OBJ:8,NULL:16,BOOL:32,NAN:64,INFINITY:128,MINUS_INFINITY:256,INF:384,ALL:511};class tR extends Error{}class tP extends Error{}let tO=e=>(function(e,t=tS.ALL){if("string"!=typeof e)throw TypeError(`expecting str, got ${typeof e}`);if(!e.trim())throw Error(`${e} is empty`);return((e,t)=>{let s=e.length,r=0,n=e=>{throw new tR(`${e} at position ${r}`)},a=e=>{throw new tP(`${e} at position ${r}`)},i=()=>(h(),r>=s&&n("Unexpected end of input"),'"'===e[r])?o():"{"===e[r]?l():"["===e[r]?c():"null"===e.substring(r,r+4)||tS.NULL&t&&s-r<4&&"null".startsWith(e.substring(r))?(r+=4,null):"true"===e.substring(r,r+4)||tS.BOOL&t&&s-r<4&&"true".startsWith(e.substring(r))?(r+=4,!0):"false"===e.substring(r,r+5)||tS.BOOL&t&&s-r<5&&"false".startsWith(e.substring(r))?(r+=5,!1):"Infinity"===e.substring(r,r+8)||tS.INFINITY&t&&s-r<8&&"Infinity".startsWith(e.substring(r))?(r+=8,1/0):"-Infinity"===e.substring(r,r+9)||tS.MINUS_INFINITY&t&&1<s-r&&s-r<9&&"-Infinity".startsWith(e.substring(r))?(r+=9,-1/0):"NaN"===e.substring(r,r+3)||tS.NAN&t&&s-r<3&&"NaN".startsWith(e.substring(r))?(r+=3,NaN):u(),o=()=>{let i=r,o=!1;for(r++;r<s&&('"'!==e[r]||o&&"\\"===e[r-1]);)o="\\"===e[r]&&!o,r++;if('"'==e.charAt(r))try{return JSON.parse(e.substring(i,++r-Number(o)))}catch(e){a(String(e))}else if(tS.STR&t)try{return JSON.parse(e.substring(i,r-Number(o))+'"')}catch(t){return JSON.parse(e.substring(i,e.lastIndexOf("\\"))+'"')}n("Unterminated string literal")},l=()=>{r++,h();let a={};try{for(;"}"!==e[r];){if(h(),r>=s&&tS.OBJ&t)return a;let n=o();h(),r++;try{let e=i();Object.defineProperty(a,n,{value:e,writable:!0,enumerable:!0,configurable:!0})}catch(e){if(tS.OBJ&t)return a;throw e}h(),","===e[r]&&r++}}catch(e){if(tS.OBJ&t)return a;n("Expected '}' at end of object")}return r++,a},c=()=>{r++;let s=[];try{for(;"]"!==e[r];)s.push(i()),h(),","===e[r]&&r++}catch(e){if(tS.ARR&t)return s;n("Expected ']' at end of array")}return r++,s},u=()=>{if(0===r){"-"===e&&tS.NUM&t&&n("Not sure what '-' is");try{return JSON.parse(e)}catch(s){if(tS.NUM&t)try{if("."===e[e.length-1])return JSON.parse(e.substring(0,e.lastIndexOf(".")));return JSON.parse(e.substring(0,e.lastIndexOf("e")))}catch(e){}a(String(s))}}let i=r;for("-"===e[r]&&r++;e[r]&&!",]}".includes(e[r]);)r++;r!=s||tS.NUM&t||n("Unterminated number literal");try{return JSON.parse(e.substring(i,r))}catch(s){"-"===e.substring(i,r)&&tS.NUM&t&&n("Not sure what '-' is");try{return JSON.parse(e.substring(i,e.lastIndexOf("e")))}catch(e){a(String(e))}}},h=()=>{for(;r<s&&" \n\r ".includes(e[r]);)r++};return i()})(e.trim(),t)})(e,tS.ALL^tS.NUM);var t$=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s},tC=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};class tI extends tb{constructor(e){super(),L.add(this),B.set(this,void 0),D.set(this,void 0),H.set(this,void 0),t$(this,B,e,"f"),t$(this,D,[],"f")}get currentChatCompletionSnapshot(){return tC(this,H,"f")}static fromReadableStream(e){let t=new tI(null);return t._run(()=>t._fromReadableStream(e)),t}static createChatCompletion(e,t,s){let r=new tI(t);return r._run(()=>r._runChatCompletion(e,{...t,stream:!0},{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}async _createChatCompletion(e,t,s){super._createChatCompletion;let r=s?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),tC(this,L,"m",F).call(this);let n=await e.chat.completions.create({...t,stream:!0},{...s,signal:this.controller.signal});for await(let e of(this._connected(),n))tC(this,L,"m",W).call(this,e);if(n.controller.signal?.aborted)throw new eP.cH;return this._addChatCompletion(tC(this,L,"m",V).call(this))}async _fromReadableStream(e,t){let s,r=t?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort())),tC(this,L,"m",F).call(this),this._connected();let n=tA.Z.fromReadableStream(e,this.controller);for await(let e of n)s&&s!==e.id&&this._addChatCompletion(tC(this,L,"m",V).call(this)),tC(this,L,"m",W).call(this,e),s=e.id;if(n.controller.signal?.aborted)throw new eP.cH;return this._addChatCompletion(tC(this,L,"m",V).call(this))}[(B=new WeakMap,D=new WeakMap,H=new WeakMap,L=new WeakSet,F=function(){this.ended||t$(this,H,void 0,"f")},U=function(e){let t=tC(this,D,"f")[e.index];return t||(t={content_done:!1,refusal_done:!1,logprobs_content_done:!1,logprobs_refusal_done:!1,done_tool_calls:new Set,current_tool_call_index:null},tC(this,D,"f")[e.index]=t),t},W=function(e){if(this.ended)return;let t=tC(this,L,"m",J).call(this,e);for(let s of(this._emit("chunk",e,t),e.choices)){let e=t.choices[s.index];null!=s.delta.content&&e.message?.role==="assistant"&&e.message?.content&&(this._emit("content",s.delta.content,e.message.content),this._emit("content.delta",{delta:s.delta.content,snapshot:e.message.content,parsed:e.message.parsed})),null!=s.delta.refusal&&e.message?.role==="assistant"&&e.message?.refusal&&this._emit("refusal.delta",{delta:s.delta.refusal,snapshot:e.message.refusal}),s.logprobs?.content!=null&&e.message?.role==="assistant"&&this._emit("logprobs.content.delta",{content:s.logprobs?.content,snapshot:e.logprobs?.content??[]}),s.logprobs?.refusal!=null&&e.message?.role==="assistant"&&this._emit("logprobs.refusal.delta",{refusal:s.logprobs?.refusal,snapshot:e.logprobs?.refusal??[]});let r=tC(this,L,"m",U).call(this,e);for(let t of(e.finish_reason&&(tC(this,L,"m",z).call(this,e),null!=r.current_tool_call_index&&tC(this,L,"m",q).call(this,e,r.current_tool_call_index)),s.delta.tool_calls??[]))r.current_tool_call_index!==t.index&&(tC(this,L,"m",z).call(this,e),null!=r.current_tool_call_index&&tC(this,L,"m",q).call(this,e,r.current_tool_call_index)),r.current_tool_call_index=t.index;for(let t of s.delta.tool_calls??[]){let s=e.message.tool_calls?.[t.index];s?.type&&(s?.type==="function"?this._emit("tool_calls.function.arguments.delta",{name:s.function?.name,index:t.index,arguments:s.function.arguments,parsed_arguments:s.function.parsed_arguments,arguments_delta:t.function?.arguments??""}):s?.type)}}},q=function(e,t){if(tC(this,L,"m",U).call(this,e).done_tool_calls.has(t))return;let s=e.message.tool_calls?.[t];if(!s)throw Error("no tool call snapshot");if(!s.type)throw Error("tool call snapshot missing `type`");if("function"===s.type){let e=tC(this,B,"f")?.tools?.find(e=>"function"===e.type&&e.function.name===s.function.name);this._emit("tool_calls.function.arguments.done",{name:s.function.name,index:t,arguments:s.function.arguments,parsed_arguments:ty(e)?e.$parseRaw(s.function.arguments):e?.function.strict?JSON.parse(s.function.arguments):null})}else s.type},z=function(e){let t=tC(this,L,"m",U).call(this,e);if(e.message.content&&!t.content_done){t.content_done=!0;let s=tC(this,L,"m",X).call(this);this._emit("content.done",{content:e.message.content,parsed:s?s.$parseRaw(e.message.content):null})}e.message.refusal&&!t.refusal_done&&(t.refusal_done=!0,this._emit("refusal.done",{refusal:e.message.refusal})),e.logprobs?.content&&!t.logprobs_content_done&&(t.logprobs_content_done=!0,this._emit("logprobs.content.done",{content:e.logprobs.content})),e.logprobs?.refusal&&!t.logprobs_refusal_done&&(t.logprobs_refusal_done=!0,this._emit("logprobs.refusal.done",{refusal:e.logprobs.refusal}))},V=function(){if(this.ended)throw new eP.vc("stream has ended, this shouldn't happen");let e=tC(this,H,"f");if(!e)throw new eP.vc("request ended without sending any chunks");return t$(this,H,void 0,"f"),t$(this,D,[],"f"),function(e,t){var s;let{id:r,choices:n,created:a,model:i,system_fingerprint:o,...l}=e;return s={...l,id:r,choices:n.map(({message:t,finish_reason:s,index:r,logprobs:n,...a})=>{if(!s)throw new eP.vc(`missing finish_reason for choice ${r}`);let{content:i=null,function_call:o,tool_calls:l,...c}=t,u=t.role;if(!u)throw new eP.vc(`missing role for choice ${r}`);if(o){let{arguments:e,name:l}=o;if(null==e)throw new eP.vc(`missing function_call.arguments for choice ${r}`);if(!l)throw new eP.vc(`missing function_call.name for choice ${r}`);return{...a,message:{content:i,function_call:{arguments:e,name:l},role:u,refusal:t.refusal??null},finish_reason:s,index:r,logprobs:n}}return l?{...a,index:r,finish_reason:s,logprobs:n,message:{...c,role:u,content:i,refusal:t.refusal??null,tool_calls:l.map((t,s)=>{let{function:n,type:a,id:i,...o}=t,{arguments:l,name:c,...u}=n||{};if(null==i)throw new eP.vc(`missing choices[${r}].tool_calls[${s}].id
5
+ ${tE(e)}`);if(null==a)throw new eP.vc(`missing choices[${r}].tool_calls[${s}].type
6
+ ${tE(e)}`);if(null==c)throw new eP.vc(`missing choices[${r}].tool_calls[${s}].function.name
7
+ ${tE(e)}`);if(null==l)throw new eP.vc(`missing choices[${r}].tool_calls[${s}].function.arguments
8
+ ${tE(e)}`);return{...o,id:i,type:a,function:{...u,name:c,arguments:l}}})}}:{...a,message:{...c,content:i,role:u,refusal:t.refusal??null},finish_reason:s,index:r,logprobs:n}}),created:a,model:i,object:"chat.completion",...o?{system_fingerprint:o}:{}},t&&tv(t)?tw(s,t):{...s,choices:s.choices.map(e=>({...e,message:{...e.message,parsed:null,...e.message.tool_calls?{tool_calls:e.message.tool_calls}:void 0}}))}}(e,tC(this,B,"f"))},X=function(){let e=tC(this,B,"f")?.response_format;return tg(e)?e:null},J=function(e){var t,s,r,n;let a=tC(this,H,"f"),{choices:i,...o}=e;for(let{delta:i,finish_reason:l,index:c,logprobs:u=null,...h}of(a?Object.assign(a,o):a=t$(this,H,{...o,choices:[]},"f"),e.choices)){let e=a.choices[c];if(e||(e=a.choices[c]={finish_reason:l,index:c,message:{},logprobs:u,...h}),u)if(e.logprobs){let{content:r,refusal:n,...a}=u;Object.assign(e.logprobs,a),r&&((t=e.logprobs).content??(t.content=[]),e.logprobs.content.push(...r)),n&&((s=e.logprobs).refusal??(s.refusal=[]),e.logprobs.refusal.push(...n))}else e.logprobs=Object.assign({},u);if(l&&(e.finish_reason=l,tC(this,B,"f")&&tv(tC(this,B,"f")))){if("length"===l)throw new eP.k5;if("content_filter"===l)throw new eP.pf}if(Object.assign(e,h),!i)continue;let{content:o,refusal:d,function_call:p,role:f,tool_calls:m,...g}=i;if(Object.assign(e.message,g),d&&(e.message.refusal=(e.message.refusal||"")+d),f&&(e.message.role=f),p&&(e.message.function_call?(p.name&&(e.message.function_call.name=p.name),p.arguments&&((r=e.message.function_call).arguments??(r.arguments=""),e.message.function_call.arguments+=p.arguments)):e.message.function_call=p),o&&(e.message.content=(e.message.content||"")+o,!e.message.refusal&&tC(this,L,"m",X).call(this)&&(e.message.parsed=tO(e.message.content))),m)for(let{index:t,id:s,type:r,function:a,...i}of(e.message.tool_calls||(e.message.tool_calls=[]),m)){let o=(n=e.message.tool_calls)[t]??(n[t]={});Object.assign(o,i),s&&(o.id=s),r&&(o.type=r),a&&(o.function??(o.function={name:a.name??"",arguments:""})),a?.name&&(o.function.name=a.name),a?.arguments&&(o.function.arguments+=a.arguments,function(e,t){if(!e)return!1;let s=e.tools?.find(e=>e.function?.name===t.function.name);return ty(s)||s?.function.strict||!1}(tC(this,B,"f"),o)&&(o.function.parsed_arguments=tO(o.function.arguments)))}}return a},Symbol.asyncIterator)](){let e=[],t=[],s=!1;return this.on("chunk",s=>{let r=t.shift();r?r.resolve(s):e.push(s)}),this.on("end",()=>{for(let e of(s=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((e,s)=>t.push({resolve:e,reject:s})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}toReadableStream(){return new tA.Z(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function tE(e){return JSON.stringify(e)}class tk extends tI{static fromReadableStream(e){let t=new tk(null);return t._run(()=>t._fromReadableStream(e)),t}static runFunctions(e,t,s){let r=new tk(null),n={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runFunctions"}};return r._run(()=>r._runFunctions(e,t,n)),r}static runTools(e,t,s){let r=new tk(t),n={...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"runTools"}};return r._run(()=>r._runTools(e,t,n)),r}}class tM extends eC{parse(e,t){for(let t of e.tools??[]){if("function"!==t.type)throw new eP.vc(`Currently only \`function\` tool types support auto-parsing; Received \`${t.type}\``);if(!0!==t.function.strict)throw new eP.vc(`The \`${t.function.name}\` tool is not marked with \`strict: true\`. Only strict function tools can be auto-parsed`)}return this._client.chat.completions.create(e,{...t,headers:{...t?.headers,"X-Stainless-Helper-Method":"beta.chat.completions.parse"}})._thenUnwrap(t=>tw(t,e))}runFunctions(e,t){return e.stream?tk.runFunctions(this._client,e,t):tx.runFunctions(this._client,e,t)}runTools(e,t){return e.stream?tk.runTools(this._client,e,t):tx.runTools(this._client,e,t)}stream(e,t){return tI.createChatCompletion(this._client,e,t)}}class tT extends eC{constructor(){super(...arguments),this.completions=new tM(this._client)}}(tT||(tT={})).Completions=tM;class tj extends eC{create(e,t){return this._client.post("/realtime/sessions",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}}class tN extends eC{create(e,t){return this._client.post("/realtime/transcription_sessions",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}}class tL extends eC{constructor(){super(...arguments),this.sessions=new tj(this._client),this.transcriptionSessions=new tN(this._client)}}tL.Sessions=tj,tL.TranscriptionSessions=tN;var tB=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)},tD=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s};class tH extends tm{constructor(){super(...arguments),K.add(this),G.set(this,[]),Q.set(this,{}),Z.set(this,{}),Y.set(this,void 0),ee.set(this,void 0),et.set(this,void 0),es.set(this,void 0),er.set(this,void 0),en.set(this,void 0),ea.set(this,void 0),ei.set(this,void 0),eo.set(this,void 0)}[(G=new WeakMap,Q=new WeakMap,Z=new WeakMap,Y=new WeakMap,ee=new WeakMap,et=new WeakMap,es=new WeakMap,er=new WeakMap,en=new WeakMap,ea=new WeakMap,ei=new WeakMap,eo=new WeakMap,K=new WeakSet,Symbol.asyncIterator)](){let e=[],t=[],s=!1;return this.on("event",s=>{let r=t.shift();r?r.resolve(s):e.push(s)}),this.on("end",()=>{for(let e of(s=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((e,s)=>t.push({resolve:e,reject:s})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}static fromReadableStream(e){let t=new tH;return t._run(()=>t._fromReadableStream(e)),t}async _fromReadableStream(e,t){let s=t?.signal;s&&(s.aborted&&this.controller.abort(),s.addEventListener("abort",()=>this.controller.abort())),this._connected();let r=tA.Z.fromReadableStream(e,this.controller);for await(let e of r)tB(this,K,"m",el).call(this,e);if(r.controller.signal?.aborted)throw new eP.cH;return this._addRun(tB(this,K,"m",ec).call(this))}toReadableStream(){return new tA.Z(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}static createToolAssistantStream(e,t,s,r,n){let a=new tH;return a._run(()=>a._runToolAssistantStream(e,t,s,r,{...n,headers:{...n?.headers,"X-Stainless-Helper-Method":"stream"}})),a}async _createToolAssistantStream(e,t,s,r,n){let a=n?.signal;a&&(a.aborted&&this.controller.abort(),a.addEventListener("abort",()=>this.controller.abort()));let i={...r,stream:!0},o=await e.submitToolOutputs(t,s,i,{...n,signal:this.controller.signal});for await(let e of(this._connected(),o))tB(this,K,"m",el).call(this,e);if(o.controller.signal?.aborted)throw new eP.cH;return this._addRun(tB(this,K,"m",ec).call(this))}static createThreadAssistantStream(e,t,s){let r=new tH;return r._run(()=>r._threadAssistantStream(e,t,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}static createAssistantStream(e,t,s,r){let n=new tH;return n._run(()=>n._runAssistantStream(e,t,s,{...r,headers:{...r?.headers,"X-Stainless-Helper-Method":"stream"}})),n}currentEvent(){return tB(this,ea,"f")}currentRun(){return tB(this,ei,"f")}currentMessageSnapshot(){return tB(this,Y,"f")}currentRunStepSnapshot(){return tB(this,eo,"f")}async finalRunSteps(){return await this.done(),Object.values(tB(this,Q,"f"))}async finalMessages(){return await this.done(),Object.values(tB(this,Z,"f"))}async finalRun(){if(await this.done(),!tB(this,ee,"f"))throw Error("Final run was not received.");return tB(this,ee,"f")}async _createThreadAssistantStream(e,t,s){let r=s?.signal;r&&(r.aborted&&this.controller.abort(),r.addEventListener("abort",()=>this.controller.abort()));let n={...t,stream:!0},a=await e.createAndRun(n,{...s,signal:this.controller.signal});for await(let e of(this._connected(),a))tB(this,K,"m",el).call(this,e);if(a.controller.signal?.aborted)throw new eP.cH;return this._addRun(tB(this,K,"m",ec).call(this))}async _createAssistantStream(e,t,s,r){let n=r?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort()));let a={...s,stream:!0},i=await e.create(t,a,{...r,signal:this.controller.signal});for await(let e of(this._connected(),i))tB(this,K,"m",el).call(this,e);if(i.controller.signal?.aborted)throw new eP.cH;return this._addRun(tB(this,K,"m",ec).call(this))}static accumulateDelta(e,t){for(let[s,r]of Object.entries(t)){if(!e.hasOwnProperty(s)){e[s]=r;continue}let t=e[s];if(null==t||"index"===s||"type"===s){e[s]=r;continue}if("string"==typeof t&&"string"==typeof r)t+=r;else if("number"==typeof t&&"number"==typeof r)t+=r;else if(eR.sA(t)&&eR.sA(r))t=this.accumulateDelta(t,r);else if(Array.isArray(t)&&Array.isArray(r)){if(t.every(e=>"string"==typeof e||"number"==typeof e)){t.push(...r);continue}for(let e of r){if(!eR.sA(e))throw Error(`Expected array delta entry to be an object but got: ${e}`);let s=e.index;if(null==s)throw console.error(e),Error("Expected array delta entry to have an `index` property");if("number"!=typeof s)throw Error(`Expected array delta entry \`index\` property to be a number but got ${s}`);let r=t[s];null==r?t.push(e):t[s]=this.accumulateDelta(r,e)}continue}else throw Error(`Unhandled record type: ${s}, deltaValue: ${r}, accValue: ${t}`);e[s]=t}return e}_addRun(e){return e}async _threadAssistantStream(e,t,s){return await this._createThreadAssistantStream(t,e,s)}async _runAssistantStream(e,t,s,r){return await this._createAssistantStream(t,e,s,r)}async _runToolAssistantStream(e,t,s,r,n){return await this._createToolAssistantStream(s,e,t,r,n)}}el=function(e){if(!this.ended)switch(tD(this,ea,e,"f"),tB(this,K,"m",ed).call(this,e),e.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":tB(this,K,"m",eg).call(this,e);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":tB(this,K,"m",eh).call(this,e);break;case"thread.message.created":case"thread.message.in_progress":case"thread.message.delta":case"thread.message.completed":case"thread.message.incomplete":tB(this,K,"m",eu).call(this,e);break;case"error":throw Error("Encountered an error event in event processing - errors should be processed earlier")}},ec=function(){if(this.ended)throw new eP.vc("stream has ended, this shouldn't happen");if(!tB(this,ee,"f"))throw Error("Final run has not been received");return tB(this,ee,"f")},eu=function(e){let[t,s]=tB(this,K,"m",ef).call(this,e,tB(this,Y,"f"));for(let e of(tD(this,Y,t,"f"),tB(this,Z,"f")[t.id]=t,s)){let s=t.content[e.index];s?.type=="text"&&this._emit("textCreated",s.text)}switch(e.event){case"thread.message.created":this._emit("messageCreated",e.data);break;case"thread.message.in_progress":break;case"thread.message.delta":if(this._emit("messageDelta",e.data.delta,t),e.data.delta.content)for(let s of e.data.delta.content){if("text"==s.type&&s.text){let e=s.text,r=t.content[s.index];if(r&&"text"==r.type)this._emit("textDelta",e,r.text);else throw Error("The snapshot associated with this text delta is not text or missing")}if(s.index!=tB(this,et,"f")){if(tB(this,es,"f"))switch(tB(this,es,"f").type){case"text":this._emit("textDone",tB(this,es,"f").text,tB(this,Y,"f"));break;case"image_file":this._emit("imageFileDone",tB(this,es,"f").image_file,tB(this,Y,"f"))}tD(this,et,s.index,"f")}tD(this,es,t.content[s.index],"f")}break;case"thread.message.completed":case"thread.message.incomplete":if(void 0!==tB(this,et,"f")){let t=e.data.content[tB(this,et,"f")];if(t)switch(t.type){case"image_file":this._emit("imageFileDone",t.image_file,tB(this,Y,"f"));break;case"text":this._emit("textDone",t.text,tB(this,Y,"f"))}}tB(this,Y,"f")&&this._emit("messageDone",e.data),tD(this,Y,void 0,"f")}},eh=function(e){let t=tB(this,K,"m",ep).call(this,e);switch(tD(this,eo,t,"f"),e.event){case"thread.run.step.created":this._emit("runStepCreated",e.data);break;case"thread.run.step.delta":let s=e.data.delta;if(s.step_details&&"tool_calls"==s.step_details.type&&s.step_details.tool_calls&&"tool_calls"==t.step_details.type)for(let e of s.step_details.tool_calls)e.index==tB(this,er,"f")?this._emit("toolCallDelta",e,t.step_details.tool_calls[e.index]):(tB(this,en,"f")&&this._emit("toolCallDone",tB(this,en,"f")),tD(this,er,e.index,"f"),tD(this,en,t.step_details.tool_calls[e.index],"f"),tB(this,en,"f")&&this._emit("toolCallCreated",tB(this,en,"f")));this._emit("runStepDelta",e.data.delta,t);break;case"thread.run.step.completed":case"thread.run.step.failed":case"thread.run.step.cancelled":case"thread.run.step.expired":tD(this,eo,void 0,"f"),"tool_calls"==e.data.step_details.type&&tB(this,en,"f")&&(this._emit("toolCallDone",tB(this,en,"f")),tD(this,en,void 0,"f")),this._emit("runStepDone",e.data,t)}},ed=function(e){tB(this,G,"f").push(e),this._emit("event",e)},ep=function(e){switch(e.event){case"thread.run.step.created":return tB(this,Q,"f")[e.data.id]=e.data,e.data;case"thread.run.step.delta":let t=tB(this,Q,"f")[e.data.id];if(!t)throw Error("Received a RunStepDelta before creation of a snapshot");let s=e.data;if(s.delta){let r=tH.accumulateDelta(t,s.delta);tB(this,Q,"f")[e.data.id]=r}return tB(this,Q,"f")[e.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":tB(this,Q,"f")[e.data.id]=e.data}if(tB(this,Q,"f")[e.data.id])return tB(this,Q,"f")[e.data.id];throw Error("No snapshot available")},ef=function(e,t){let s=[];switch(e.event){case"thread.message.created":return[e.data,s];case"thread.message.delta":if(!t)throw Error("Received a delta with no existing snapshot (there should be one from message creation)");let r=e.data;if(r.delta.content)for(let e of r.delta.content)if(e.index in t.content){let s=t.content[e.index];t.content[e.index]=tB(this,K,"m",em).call(this,e,s)}else t.content[e.index]=e,s.push(e);return[t,s];case"thread.message.in_progress":case"thread.message.completed":case"thread.message.incomplete":if(t)return[t,s];throw Error("Received thread message event with no existing snapshot")}throw Error("Tried to accumulate a non-message event")},em=function(e,t){return tH.accumulateDelta(t,e)},eg=function(e){switch(tD(this,ei,e.data,"f"),e.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":tD(this,ee,e.data,"f"),tB(this,en,"f")&&(this._emit("toolCallDone",tB(this,en,"f")),tD(this,en,void 0,"f"))}};class tF extends eC{create(e,t,s){return this._client.post(`/threads/${e}/messages`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}retrieve(e,t,s){return this._client.get(`/threads/${e}/messages/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,t,s,r){return this._client.post(`/threads/${e}/messages/${t}`,{body:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers}})}list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/threads/${e}/messages`,tU,{query:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,t,s){return this._client.delete(`/threads/${e}/messages/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}}class tU extends eM{}tF.MessagesPage=tU;class tW extends eC{retrieve(e,t,s,r={},n){return(0,eR.Os)(r)?this.retrieve(e,t,s,{},r):this._client.get(`/threads/${e}/runs/${t}/steps/${s}`,{query:r,...n,headers:{"OpenAI-Beta":"assistants=v2",...n?.headers}})}list(e,t,s={},r){return(0,eR.Os)(s)?this.list(e,t,{},s):this._client.getAPIList(`/threads/${e}/runs/${t}/steps`,tq,{query:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers}})}}class tq extends eM{}tW.RunStepsPage=tq;class tz extends eC{constructor(){super(...arguments),this.steps=new tW(this._client)}create(e,t,s){let{include:r,...n}=t;return this._client.post(`/threads/${e}/runs`,{query:{include:r},body:n,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers},stream:t.stream??!1})}retrieve(e,t,s){return this._client.get(`/threads/${e}/runs/${t}`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}update(e,t,s,r){return this._client.post(`/threads/${e}/runs/${t}`,{body:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers}})}list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/threads/${e}/runs`,tV,{query:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}cancel(e,t,s){return this._client.post(`/threads/${e}/runs/${t}/cancel`,{...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}async createAndPoll(e,t,s){let r=await this.create(e,t,s);return await this.poll(e,r.id,s)}createAndStream(e,t,s){return tH.createAssistantStream(e,this._client.beta.threads.runs,t,s)}async poll(e,t,s){let r={...s?.headers,"X-Stainless-Poll-Helper":"true"};for(s?.pollIntervalMs&&(r["X-Stainless-Custom-Poll-Interval"]=s.pollIntervalMs.toString());;){let{data:n,response:a}=await this.retrieve(e,t,{...s,headers:{...s?.headers,...r}}).withResponse();switch(n.status){case"queued":case"in_progress":case"cancelling":let i=5e3;if(s?.pollIntervalMs)i=s.pollIntervalMs;else{let e=a.headers.get("openai-poll-after-ms");if(e){let t=parseInt(e);isNaN(t)||(i=t)}}await (0,eR.yy)(i);break;case"requires_action":case"incomplete":case"cancelled":case"completed":case"failed":case"expired":return n}}}stream(e,t,s){return tH.createAssistantStream(e,this._client.beta.threads.runs,t,s)}submitToolOutputs(e,t,s,r){return this._client.post(`/threads/${e}/runs/${t}/submit_tool_outputs`,{body:s,...r,headers:{"OpenAI-Beta":"assistants=v2",...r?.headers},stream:s.stream??!1})}async submitToolOutputsAndPoll(e,t,s,r){let n=await this.submitToolOutputs(e,t,s,r);return await this.poll(e,n.id,r)}submitToolOutputsStream(e,t,s,r){return tH.createToolAssistantStream(e,t,this._client.beta.threads.runs,s,r)}}class tV extends eM{}tz.RunsPage=tV,tz.Steps=tW,tz.RunStepsPage=tq;class tX extends eC{constructor(){super(...arguments),this.runs=new tz(this._client),this.messages=new tF(this._client)}create(e={},t){return(0,eR.Os)(e)?this.create({},e):this._client.post("/threads",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}retrieve(e,t){return this._client.get(`/threads/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}update(e,t,s){return this._client.post(`/threads/${e}`,{body:t,...s,headers:{"OpenAI-Beta":"assistants=v2",...s?.headers}})}del(e,t){return this._client.delete(`/threads/${e}`,{...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers}})}createAndRun(e,t){return this._client.post("/threads/runs",{body:e,...t,headers:{"OpenAI-Beta":"assistants=v2",...t?.headers},stream:e.stream??!1})}async createAndRunPoll(e,t){let s=await this.createAndRun(e,t);return await this.runs.poll(s.thread_id,s.id,t)}createAndRunStream(e,t){return tH.createThreadAssistantStream(e,this._client.beta.threads,t)}}tX.Runs=tz,tX.RunsPage=tV,tX.Messages=tF,tX.MessagesPage=tU;class tJ extends eC{constructor(){super(...arguments),this.realtime=new tL(this._client),this.chat=new tT(this._client),this.assistants=new to(this._client),this.threads=new tX(this._client)}}tJ.Realtime=tL,tJ.Assistants=to,tJ.AssistantsPage=tl,tJ.Threads=tX;class tK extends eC{create(e,t){return this._client.post("/batches",{body:e,...t})}retrieve(e,t){return this._client.get(`/batches/${e}`,t)}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/batches",tG,{query:e,...t})}cancel(e,t){return this._client.post(`/batches/${e}/cancel`,t)}}class tG extends eM{}tK.BatchesPage=tG;class tQ extends eC{create(e,t,s){return this._client.post(`/uploads/${e}/parts`,eO.gB({body:t,...s}))}}class tZ extends eC{constructor(){super(...arguments),this.parts=new tQ(this._client)}create(e,t){return this._client.post("/uploads",{body:e,...t})}cancel(e,t){return this._client.post(`/uploads/${e}/cancel`,t)}complete(e,t,s){return this._client.post(`/uploads/${e}/complete`,{body:t,...s})}}function tY(e,t){let s=e.output.map(e=>{if("function_call"===e.type)return{...e,parsed_arguments:function(e,t){var s,r;let n=(s=e.tools??[],r=t.name,s.find(e=>"function"===e.type&&e.name===r));return{...t,...t,parsed_arguments:n?.$brand==="auto-parseable-tool"?n.$parseRaw(t.arguments):n?.strict?JSON.parse(t.arguments):null}}(t,e)};if("message"===e.type){let s=e.content.map(e=>{var s,r;return"output_text"===e.type?{...e,parsed:(s=t,r=e.text,s.text?.format?.type!=="json_schema"?null:"$parseRaw"in s.text?.format?(s.text?.format).$parseRaw(r):JSON.parse(r))}:e});return{...e,content:s}}return e}),r=Object.assign({},e,{output:s});return Object.getOwnPropertyDescriptor(e,"output_text")||t1(r),Object.defineProperty(r,"output_parsed",{enumerable:!0,get(){for(let e of r.output)if("message"===e.type){for(let t of e.content)if("output_text"===t.type&&null!==t.parsed)return t.parsed}return null}}),r}function t1(e){let t=[];for(let s of e.output)if("message"===s.type)for(let e of s.content)"output_text"===e.type&&t.push(e.text);e.output_text=t.join("")}tZ.Parts=tQ;class t0 extends eC{list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/responses/${e}/input_items`,t6,{query:t,...s})}}var t2=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s},t5=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};class t4 extends tm{constructor(e){super(),ey.add(this),ew.set(this,void 0),ev.set(this,void 0),e_.set(this,void 0),t2(this,ew,e,"f")}static createResponse(e,t,s){let r=new t4(t);return r._run(()=>r._createOrRetrieveResponse(e,t,{...s,headers:{...s?.headers,"X-Stainless-Helper-Method":"stream"}})),r}async _createOrRetrieveResponse(e,t,s){let r,n=s?.signal;n&&(n.aborted&&this.controller.abort(),n.addEventListener("abort",()=>this.controller.abort())),t5(this,ey,"m",eb).call(this);let a=null;for await(let n of("response_id"in t?(r=await e.responses.retrieve(t.response_id,{stream:!0},{...s,signal:this.controller.signal,stream:!0}),a=t.starting_after??null):r=await e.responses.create({...t,stream:!0},{...s,signal:this.controller.signal}),this._connected(),r))t5(this,ey,"m",ex).call(this,n,a);if(r.controller.signal?.aborted)throw new eP.cH;return t5(this,ey,"m",eA).call(this)}[(ew=new WeakMap,ev=new WeakMap,e_=new WeakMap,ey=new WeakSet,eb=function(){this.ended||t2(this,ev,void 0,"f")},ex=function(e,t){if(this.ended)return;let s=(e,s)=>{(null==t||s.sequence_number>t)&&this._emit(e,s)},r=t5(this,ey,"m",eS).call(this,e);switch(s("event",e),e.type){case"response.output_text.delta":{let t=r.output[e.output_index];if(!t)throw new eP.vc(`missing output at index ${e.output_index}`);if("message"===t.type){let r=t.content[e.content_index];if(!r)throw new eP.vc(`missing content at index ${e.content_index}`);if("output_text"!==r.type)throw new eP.vc(`expected content to be 'output_text', got ${r.type}`);s("response.output_text.delta",{...e,snapshot:r.text})}break}case"response.function_call_arguments.delta":{let t=r.output[e.output_index];if(!t)throw new eP.vc(`missing output at index ${e.output_index}`);"function_call"===t.type&&s("response.function_call_arguments.delta",{...e,snapshot:t.arguments});break}default:s(e.type,e)}},eA=function(){if(this.ended)throw new eP.vc("stream has ended, this shouldn't happen");let e=t5(this,ev,"f");if(!e)throw new eP.vc("request ended without sending any events");t2(this,ev,void 0,"f");let t=function(e,t){var s;return t&&(s=t,tg(s.text?.format))?tY(e,t):{...e,output_parsed:null,output:e.output.map(e=>"function_call"===e.type?{...e,parsed_arguments:null}:"message"===e.type?{...e,content:e.content.map(e=>({...e,parsed:null}))}:e)}}(e,t5(this,ew,"f"));return t2(this,e_,t,"f"),t},eS=function(e){let t=t5(this,ev,"f");if(!t){if("response.created"!==e.type)throw new eP.vc(`When snapshot hasn't been set yet, expected 'response.created' event, got ${e.type}`);return t2(this,ev,e.response,"f")}switch(e.type){case"response.output_item.added":t.output.push(e.item);break;case"response.content_part.added":{let s=t.output[e.output_index];if(!s)throw new eP.vc(`missing output at index ${e.output_index}`);"message"===s.type&&s.content.push(e.part);break}case"response.output_text.delta":{let s=t.output[e.output_index];if(!s)throw new eP.vc(`missing output at index ${e.output_index}`);if("message"===s.type){let t=s.content[e.content_index];if(!t)throw new eP.vc(`missing content at index ${e.content_index}`);if("output_text"!==t.type)throw new eP.vc(`expected content to be 'output_text', got ${t.type}`);t.text+=e.delta}break}case"response.function_call_arguments.delta":{let s=t.output[e.output_index];if(!s)throw new eP.vc(`missing output at index ${e.output_index}`);"function_call"===s.type&&(s.arguments+=e.delta);break}case"response.completed":t2(this,ev,e.response,"f")}return t},Symbol.asyncIterator)](){let e=[],t=[],s=!1;return this.on("event",s=>{let r=t.shift();r?r.resolve(s):e.push(s)}),this.on("end",()=>{for(let e of(s=!0,t))e.resolve(void 0);t.length=0}),this.on("abort",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),this.on("error",e=>{for(let r of(s=!0,t))r.reject(e);t.length=0}),{next:async()=>e.length?{value:e.shift(),done:!1}:s?{value:void 0,done:!0}:new Promise((e,s)=>t.push({resolve:e,reject:s})).then(e=>e?{value:e,done:!1}:{value:void 0,done:!0}),return:async()=>(this.abort(),{value:void 0,done:!0})}}async finalResponse(){await this.done();let e=t5(this,e_,"f");if(!e)throw new eP.vc("stream ended without producing a ChatCompletion");return e}}class t8 extends eC{constructor(){super(...arguments),this.inputItems=new t0(this._client)}create(e,t){return this._client.post("/responses",{body:e,...t,stream:e.stream??!1})._thenUnwrap(e=>("object"in e&&"response"===e.object&&t1(e),e))}retrieve(e,t={},s){return this._client.get(`/responses/${e}`,{query:t,...s,stream:t?.stream??!1})}del(e,t){return this._client.delete(`/responses/${e}`,{...t,headers:{Accept:"*/*",...t?.headers}})}parse(e,t){return this._client.responses.create(e,t)._thenUnwrap(t=>tY(t,e))}stream(e,t){return t4.createResponse(this._client,e,t)}cancel(e,t){return this._client.post(`/responses/${e}/cancel`,{...t,headers:{Accept:"*/*",...t?.headers}})}}class t6 extends eM{}t8.InputItems=t0;class t9 extends eC{retrieve(e,t,s,r){return this._client.get(`/evals/${e}/runs/${t}/output_items/${s}`,r)}list(e,t,s={},r){return(0,eR.Os)(s)?this.list(e,t,{},s):this._client.getAPIList(`/evals/${e}/runs/${t}/output_items`,t3,{query:s,...r})}}class t3 extends eM{}t9.OutputItemListResponsesPage=t3;class t7 extends eC{constructor(){super(...arguments),this.outputItems=new t9(this._client)}create(e,t,s){return this._client.post(`/evals/${e}/runs`,{body:t,...s})}retrieve(e,t,s){return this._client.get(`/evals/${e}/runs/${t}`,s)}list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/evals/${e}/runs`,se,{query:t,...s})}del(e,t,s){return this._client.delete(`/evals/${e}/runs/${t}`,s)}cancel(e,t,s){return this._client.post(`/evals/${e}/runs/${t}`,s)}}class se extends eM{}t7.RunListResponsesPage=se,t7.OutputItems=t9,t7.OutputItemListResponsesPage=t3;class st extends eC{constructor(){super(...arguments),this.runs=new t7(this._client)}create(e,t){return this._client.post("/evals",{body:e,...t})}retrieve(e,t){return this._client.get(`/evals/${e}`,t)}update(e,t,s){return this._client.post(`/evals/${e}`,{body:t,...s})}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/evals",ss,{query:e,...t})}del(e,t){return this._client.delete(`/evals/${e}`,t)}}class ss extends eM{}st.EvalListResponsesPage=ss,st.Runs=t7,st.RunListResponsesPage=se;class sr extends eC{retrieve(e,t,s){return this._client.get(`/containers/${e}/files/${t}/content`,{...s,headers:{Accept:"application/binary",...s?.headers},__binaryResponse:!0})}}class sn extends eC{constructor(){super(...arguments),this.content=new sr(this._client)}create(e,t,s){return this._client.post(`/containers/${e}/files`,eO.gB({body:t,...s}))}retrieve(e,t,s){return this._client.get(`/containers/${e}/files/${t}`,s)}list(e,t={},s){return(0,eR.Os)(t)?this.list(e,{},t):this._client.getAPIList(`/containers/${e}/files`,sa,{query:t,...s})}del(e,t,s){return this._client.delete(`/containers/${e}/files/${t}`,{...s,headers:{Accept:"*/*",...s?.headers}})}}class sa extends eM{}sn.FileListResponsesPage=sa,sn.Content=sr;class si extends eC{constructor(){super(...arguments),this.files=new sn(this._client)}create(e,t){return this._client.post("/containers",{body:e,...t})}retrieve(e,t){return this._client.get(`/containers/${e}`,t)}list(e={},t){return(0,eR.Os)(e)?this.list({},e):this._client.getAPIList("/containers",so,{query:e,...t})}del(e,t){return this._client.delete(`/containers/${e}`,{...t,headers:{Accept:"*/*",...t?.headers}})}}class so extends eM{}si.ContainerListResponsesPage=so,si.Files=sn,si.FileListResponsesPage=sa,s(87358);class sl extends eR.Q9{constructor({baseURL:e=eR.sx("OPENAI_BASE_URL"),apiKey:t=eR.sx("OPENAI_API_KEY"),organization:s=eR.sx("OPENAI_ORG_ID")??null,project:r=eR.sx("OPENAI_PROJECT_ID")??null,...n}={}){if(void 0===t)throw new eP.vc("The OPENAI_API_KEY environment variable is missing or empty; either provide it, or instantiate the OpenAI client with an apiKey option, like new OpenAI({ apiKey: 'My API Key' }).");let a={apiKey:t,organization:s,project:r,...n,baseURL:e||"https://api.openai.com/v1"};if(!a.dangerouslyAllowBrowser&&eR.HF())throw new eP.vc("It looks like you're running in a browser-like environment.\n\nThis is disabled by default, as it risks exposing your secret API credentials to attackers.\nIf you understand the risks and have appropriate mitigations in place,\nyou can set the `dangerouslyAllowBrowser` option to `true`, e.g.,\n\nnew OpenAI({ apiKey, dangerouslyAllowBrowser: true });\n\nhttps://help.openai.com/en/articles/5112595-best-practices-for-api-key-safety\n");super({baseURL:a.baseURL,timeout:a.timeout??6e5,httpAgent:a.httpAgent,maxRetries:a.maxRetries,fetch:a.fetch}),this.completions=new eI(this),this.chat=new eL(this),this.embeddings=new eB(this),this.files=new eD(this),this.images=new eF(this),this.audio=new ez(this),this.moderations=new eV(this),this.models=new eX(this),this.fineTuning=new e6(this),this.graders=new e3(this),this.vectorStores=new tn(this),this.beta=new tJ(this),this.batches=new tK(this),this.uploads=new tZ(this),this.responses=new t8(this),this.evals=new st(this),this.containers=new si(this),this._options=a,this.apiKey=t,this.organization=s,this.project=r}defaultQuery(){return this._options.defaultQuery}defaultHeaders(e){return{...super.defaultHeaders(e),"OpenAI-Organization":this.organization,"OpenAI-Project":this.project,...this._options.defaultHeaders}}authHeaders(e){return{Authorization:`Bearer ${this.apiKey}`}}stringifyQuery(e){return function(e,t={}){let s,a=e,i=function(e=f){let t;if(void 0!==e.allowEmptyArrays&&"boolean"!=typeof e.allowEmptyArrays)throw TypeError("`allowEmptyArrays` option can only be `true` or `false`, when provided");if(void 0!==e.encodeDotInKeys&&"boolean"!=typeof e.encodeDotInKeys)throw TypeError("`encodeDotInKeys` option can only be `true` or `false`, when provided");if(null!==e.encoder&&void 0!==e.encoder&&"function"!=typeof e.encoder)throw TypeError("Encoder has to be a function.");let s=e.charset||f.charset;if(void 0!==e.charset&&"utf-8"!==e.charset&&"iso-8859-1"!==e.charset)throw TypeError("The charset option must be either utf-8, iso-8859-1, or undefined");let a=r;if(void 0!==e.format){if(!l.call(n,e.format))throw TypeError("Unknown format option provided.");a=e.format}let i=n[a],o=f.filter;if(("function"==typeof e.filter||u(e.filter))&&(o=e.filter),t=e.arrayFormat&&e.arrayFormat in c?e.arrayFormat:"indices"in e?e.indices?"indices":"repeat":f.arrayFormat,"commaRoundTrip"in e&&"boolean"!=typeof e.commaRoundTrip)throw TypeError("`commaRoundTrip` must be a boolean, or absent");let h=void 0===e.allowDots?!0==!!e.encodeDotInKeys||f.allowDots:!!e.allowDots;return{addQueryPrefix:"boolean"==typeof e.addQueryPrefix?e.addQueryPrefix:f.addQueryPrefix,allowDots:h,allowEmptyArrays:"boolean"==typeof e.allowEmptyArrays?!!e.allowEmptyArrays:f.allowEmptyArrays,arrayFormat:t,charset:s,charsetSentinel:"boolean"==typeof e.charsetSentinel?e.charsetSentinel:f.charsetSentinel,commaRoundTrip:!!e.commaRoundTrip,delimiter:void 0===e.delimiter?f.delimiter:e.delimiter,encode:"boolean"==typeof e.encode?e.encode:f.encode,encodeDotInKeys:"boolean"==typeof e.encodeDotInKeys?e.encodeDotInKeys:f.encodeDotInKeys,encoder:"function"==typeof e.encoder?e.encoder:f.encoder,encodeValuesOnly:"boolean"==typeof e.encodeValuesOnly?e.encodeValuesOnly:f.encodeValuesOnly,filter:o,format:a,formatter:i,serializeDate:"function"==typeof e.serializeDate?e.serializeDate:f.serializeDate,skipNulls:"boolean"==typeof e.skipNulls?e.skipNulls:f.skipNulls,sort:"function"==typeof e.sort?e.sort:null,strictNullHandling:"boolean"==typeof e.strictNullHandling?e.strictNullHandling:f.strictNullHandling}}(t);"function"==typeof i.filter?a=(0,i.filter)("",a):u(i.filter)&&(s=i.filter);let h=[];if("object"!=typeof a||null===a)return"";let p=c[i.arrayFormat],g="comma"===p&&i.commaRoundTrip;s||(s=Object.keys(a)),i.sort&&s.sort(i.sort);let y=new WeakMap;for(let e=0;e<s.length;++e){let t=s[e];i.skipNulls&&null===a[t]||d(h,function e(t,s,r,n,a,i,l,c,h,p,g,y,w,v,_,b,x,A){var S,R;let P,O=t,$=A,C=0,I=!1;for(;void 0!==($=$.get(m))&&!I;){let e=$.get(t);if(C+=1,void 0!==e)if(e===C)throw RangeError("Cyclic object value");else I=!0;void 0===$.get(m)&&(C=0)}if("function"==typeof p?O=p(s,O):O instanceof Date?O=w?.(O):"comma"===r&&u(O)&&(O=o(O,function(e){return e instanceof Date?w?.(e):e})),null===O){if(i)return h&&!b?h(s,f.encoder,x,"key",v):s;O=""}if("string"==typeof(S=O)||"number"==typeof S||"boolean"==typeof S||"symbol"==typeof S||"bigint"==typeof S||(R=O)&&"object"==typeof R&&R.constructor&&R.constructor.isBuffer&&R.constructor.isBuffer(R)){if(h){let e=b?s:h(s,f.encoder,x,"key",v);return[_?.(e)+"="+_?.(h(O,f.encoder,x,"value",v))]}return[_?.(s)+"="+_?.(String(O))]}let E=[];if(void 0===O)return E;if("comma"===r&&u(O))b&&h&&(O=o(O,h)),P=[{value:O.length>0?O.join(",")||null:void 0}];else if(u(p))P=p;else{let e=Object.keys(O);P=g?e.sort(g):e}let k=c?String(s).replace(/\./g,"%2E"):String(s),M=n&&u(O)&&1===O.length?k+"[]":k;if(a&&u(O)&&0===O.length)return M+"[]";for(let s=0;s<P.length;++s){let o=P[s],f="object"==typeof o&&void 0!==o.value?o.value:O[o];if(l&&null===f)continue;let S=y&&c?o.replace(/\./g,"%2E"):o,R=u(O)?"function"==typeof r?r(M,S):M:M+(y?"."+S:"["+S+"]");A.set(t,C);let $=new WeakMap;$.set(m,A),d(E,e(f,R,r,n,a,i,l,c,"comma"===r&&b&&u(O)?null:h,p,g,y,w,v,_,b,x,$))}return E}(a[t],t,p,g,i.allowEmptyArrays,i.strictNullHandling,i.skipNulls,i.encodeDotInKeys,i.encode?i.encoder:null,i.filter,i.sort,i.allowDots,i.serializeDate,i.format,i.formatter,i.encodeValuesOnly,i.charset,y))}let w=h.join(i.delimiter),v=!0===i.addQueryPrefix?"?":"";return i.charsetSentinel&&("iso-8859-1"===i.charset?v+="utf8=%26%2310003%3B&":v+="utf8=%E2%9C%93&"),w.length>0?v+w:""}(e,{arrayFormat:"brackets"})}}sl.OpenAI=sl,sl.DEFAULT_TIMEOUT=6e5,sl.OpenAIError=eP.vc,sl.APIError=eP.LG,sl.APIConnectionError=eP.xX,sl.APIConnectionTimeoutError=eP.qA,sl.APIUserAbortError=eP.cH,sl.NotFoundError=eP.m_,sl.ConflictError=eP.fK,sl.RateLimitError=eP.OE,sl.BadRequestError=eP.v7,sl.AuthenticationError=eP.v3,sl.InternalServerError=eP.PO,sl.PermissionDeniedError=eP.Ll,sl.UnprocessableEntityError=eP.Is,sl.toFile=eO.eZ,sl.fileFromPath=e$.gR,sl.Completions=eI,sl.Chat=eL,sl.ChatCompletionsPage=ej,sl.Embeddings=eB,sl.Files=eD,sl.FileObjectsPage=eH,sl.Images=eF,sl.Audio=ez,sl.Moderations=eV,sl.Models=eX,sl.ModelsPage=eJ,sl.FineTuning=e6,sl.Graders=e3,sl.VectorStores=tn,sl.VectorStoresPage=ta,sl.VectorStoreSearchResponsesPage=ti,sl.Beta=tJ,sl.Batches=tK,sl.BatchesPage=tG,sl.Uploads=tZ,sl.Responses=t8,sl.Evals=st,sl.EvalListResponsesPage=ss,sl.Containers=si,sl.ContainerListResponsesPage=so;let sc=sl},37596:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M14.67 5v14H9.33V5zm1 14H21V5h-5.33zm-7.34 0V5H3v14z"}),"ViewColumn")},39262:(e,t,s)=>{s.d(t,{L6:()=>p,eZ:()=>c,gB:()=>f,jF:()=>o});var r=s(12761),n=s(81029).hp;let a=e=>null!=e&&"object"==typeof e&&"string"==typeof e.url&&"function"==typeof e.blob,i=e=>null!=e&&"object"==typeof e&&"string"==typeof e.name&&"number"==typeof e.lastModified&&o(e),o=e=>null!=e&&"object"==typeof e&&"number"==typeof e.size&&"string"==typeof e.type&&"function"==typeof e.text&&"function"==typeof e.slice&&"function"==typeof e.arrayBuffer,l=e=>i(e)||a(e)||(0,r.u9)(e);async function c(e,t,s){var n;if(i(e=await e))return e;if(a(e)){let n=await e.blob();t||(t=new URL(e.url).pathname.split(/[\\/]/).pop()??"unknown_file");let a=o(n)?[await n.arrayBuffer()]:[n];return new r.ZH(a,t,s)}let l=await u(e);if(t||(t=(h((n=e).name)||h(n.filename)||h(n.path)?.split(/[\\/]/).pop())??"unknown_file"),!s?.type){let e=l[0]?.type;"string"==typeof e&&(s={...s,type:e})}return new r.ZH(l,t,s)}async function u(e){let t=[];if("string"==typeof e||ArrayBuffer.isView(e)||e instanceof ArrayBuffer)t.push(e);else if(o(e))t.push(await e.arrayBuffer());else if(d(e))for await(let s of e)t.push(s);else throw Error(`Unexpected data type: ${typeof e}; constructor: ${e?.constructor?.name}; props: ${function(e){let t=Object.getOwnPropertyNames(e);return`[${t.map(e=>`"${e}"`).join(", ")}]`}(e)}`);return t}let h=e=>"string"==typeof e?e:void 0!==n&&e instanceof n?String(e):void 0,d=e=>null!=e&&"object"==typeof e&&"function"==typeof e[Symbol.asyncIterator],p=e=>e&&"object"==typeof e&&e.body&&"MultipartBody"===e[Symbol.toStringTag],f=async e=>{let t=await m(e.body);return(0,r.Gg)(t,e)},m=async e=>{let t=new r.fS;return await Promise.all(Object.entries(e||{}).map(([e,s])=>y(t,e,s))),t},g=e=>{if(l(e))return!0;if(Array.isArray(e))return e.some(g);if(e&&"object"==typeof e){for(let t in e)if(g(e[t]))return!0}return!1},y=async(e,t,s)=>{if(void 0!==s){if(null==s)throw TypeError(`Received null for "${t}"; to pass null in FormData, you must use the string 'null'`);if("string"==typeof s||"number"==typeof s||"boolean"==typeof s)e.append(t,String(s));else if(l(s)){let r=await c(s);e.append(t,r)}else if(Array.isArray(s))await Promise.all(s.map(s=>y(e,t+"[]",s)));else if("object"==typeof s)await Promise.all(Object.entries(s).map(([s,r])=>y(e,`${t}[${s}]`,r)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${s} instead`)}}},45202:(e,t,s)=>{s.d(t,{A:()=>g});var r=s(12115),n=s(2821),a=s(57001),i=s(96574),o=s(48116),l=s(16625),c=s(85795),u=s(95195);function h(e){return(0,u.Ay)("MuiTableBody",e)}(0,c.A)("MuiTableBody",["root"]);var d=s(95155);let p=(0,o.Ay)("tbody",{name:"MuiTableBody",slot:"Root",overridesResolver:(e,t)=>t.root})({display:"table-row-group"}),f={variant:"body"},m="tbody",g=r.forwardRef(function(e,t){let s=(0,l.b)({props:e,name:"MuiTableBody"}),{className:r,component:o=m,...c}=s,u={...s,component:o},g=(e=>{let{classes:t}=e;return(0,a.A)({root:["root"]},h,t)})(u);return(0,d.jsx)(i.A.Provider,{value:f,children:(0,d.jsx)(p,{className:(0,n.A)(g.root,r),as:o,ref:t,role:o===m?null:"rowgroup",ownerState:u,...c})})})},47419:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},47453:(e,t,s)=>{s.d(t,{Z:()=>d});var r,n=s(12761),a=s(63650),i=s(81029).hp,o=function(e,t,s,r,n){if("m"===r)throw TypeError("Private method is not writable");if("a"===r&&!n)throw TypeError("Private accessor was defined without a setter");if("function"==typeof t?e!==t||!n:!t.has(e))throw TypeError("Cannot write private member to an object whose class did not declare it");return"a"===r?n.call(e,s):n?n.value=s:t.set(e,s),s},l=function(e,t,s,r){if("a"===s&&!r)throw TypeError("Private accessor was defined without a getter");if("function"==typeof t?e!==t||!r:!t.has(e))throw TypeError("Cannot read private member from an object whose class did not declare it");return"m"===s?r:"a"===s?r.call(e):r?r.value:t.get(e)};class c{constructor(){r.set(this,void 0),this.buffer=new Uint8Array,o(this,r,null,"f")}decode(e){let t;if(null==e)return[];let s=e instanceof ArrayBuffer?new Uint8Array(e):"string"==typeof e?new TextEncoder().encode(e):e,n=new Uint8Array(this.buffer.length+s.length);n.set(this.buffer),n.set(s,this.buffer.length),this.buffer=n;let a=[];for(;null!=(t=function(e,t){for(let s=t??0;s<e.length;s++){if(10===e[s])return{preceding:s,index:s+1,carriage:!1};if(13===e[s])return{preceding:s,index:s+1,carriage:!0}}return null}(this.buffer,l(this,r,"f")));){if(t.carriage&&null==l(this,r,"f")){o(this,r,t.index,"f");continue}if(null!=l(this,r,"f")&&(t.index!==l(this,r,"f")+1||t.carriage)){a.push(this.decodeText(this.buffer.slice(0,l(this,r,"f")-1))),this.buffer=this.buffer.slice(l(this,r,"f")),o(this,r,null,"f");continue}let e=null!==l(this,r,"f")?t.preceding-1:t.preceding,s=this.decodeText(this.buffer.slice(0,e));a.push(s),this.buffer=this.buffer.slice(t.index),o(this,r,null,"f")}return a}decodeText(e){if(null==e)return"";if("string"==typeof e)return e;if(void 0!==i){if(e instanceof i)return e.toString();if(e instanceof Uint8Array)return i.from(e).toString();throw new a.vc(`Unexpected: received non-Uint8Array (${e.constructor.name}) stream chunk in an environment with a global "Buffer" defined, which this library assumes to be Node. Please report this error.`)}if("undefined"!=typeof TextDecoder){if(e instanceof Uint8Array||e instanceof ArrayBuffer)return this.textDecoder??(this.textDecoder=new TextDecoder("utf8")),this.textDecoder.decode(e);throw new a.vc(`Unexpected: received non-Uint8Array/ArrayBuffer (${e.constructor.name}) in a web platform. Please report this error.`)}throw new a.vc("Unexpected: neither Buffer nor TextDecoder are available as globals. Please report this error.")}flush(){return this.buffer.length?this.decode("\n"):[]}}function u(e){if(e[Symbol.asyncIterator])return e;let t=e.getReader();return{async next(){try{let e=await t.read();return e?.done&&t.releaseLock(),e}catch(e){throw t.releaseLock(),e}},async return(){let e=t.cancel();return t.releaseLock(),await e,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}r=new WeakMap,c.NEWLINE_CHARS=new Set(["\n","\r"]),c.NEWLINE_REGEXP=/\r\n|[\n\r]/g;var h=s(21852);class d{constructor(e,t){this.iterator=e,this.controller=t}static fromSSEResponse(e,t){let s=!1;async function*r(){if(s)throw Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let r=!1;try{for await(let s of p(e,t))if(!r){if(s.data.startsWith("[DONE]")){r=!0;continue}if(null===s.event||s.event.startsWith("response.")||s.event.startsWith("transcript.")){let t;try{t=JSON.parse(s.data)}catch(e){throw console.error("Could not parse message into JSON:",s.data),console.error("From chunk:",s.raw),e}if(t&&t.error)throw new a.LG(void 0,t.error,void 0,(0,h.KO)(e.headers));yield t}else{let e;try{e=JSON.parse(s.data)}catch(e){throw console.error("Could not parse message into JSON:",s.data),console.error("From chunk:",s.raw),e}if("error"==s.event)throw new a.LG(void 0,e.error,e.message,void 0);yield{event:s.event,data:e}}}r=!0}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;throw e}finally{r||t.abort()}}return new d(r,t)}static fromReadableStream(e,t){let s=!1;async function*r(){let t=new c;for await(let s of u(e))for(let e of t.decode(s))yield e;for(let e of t.flush())yield e}return new d(async function*(){if(s)throw Error("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");s=!0;let e=!1;try{for await(let t of r())!e&&t&&(yield JSON.parse(t));e=!0}catch(e){if(e instanceof Error&&"AbortError"===e.name)return;throw e}finally{e||t.abort()}},t)}[Symbol.asyncIterator](){return this.iterator()}tee(){let e=[],t=[],s=this.iterator(),r=r=>({next:()=>{if(0===r.length){let r=s.next();e.push(r),t.push(r)}return r.shift()}});return[new d(()=>r(e),this.controller),new d(()=>r(t),this.controller)]}toReadableStream(){let e,t=this,s=new TextEncoder;return new n.ZY({async start(){e=t[Symbol.asyncIterator]()},async pull(t){try{let{value:r,done:n}=await e.next();if(n)return t.close();let a=s.encode(JSON.stringify(r)+"\n");t.enqueue(a)}catch(e){t.error(e)}},async cancel(){await e.return?.()}})}}async function*p(e,t){if(!e.body)throw t.abort(),new a.vc("Attempted to iterate over a response with no body");let s=new m,r=new c;for await(let t of f(u(e.body)))for(let e of r.decode(t)){let t=s.decode(e);t&&(yield t)}for(let e of r.flush()){let t=s.decode(e);t&&(yield t)}}async function*f(e){let t=new Uint8Array;for await(let s of e){let e;if(null==s)continue;let r=s instanceof ArrayBuffer?new Uint8Array(s):"string"==typeof s?new TextEncoder().encode(s):s,n=new Uint8Array(t.length+r.length);for(n.set(t),n.set(r,t.length),t=n;-1!==(e=function(e){for(let t=0;t<e.length-1;t++){if(10===e[t]&&10===e[t+1]||13===e[t]&&13===e[t+1])return t+2;if(13===e[t]&&10===e[t+1]&&t+3<e.length&&13===e[t+2]&&10===e[t+3])return t+4}return -1}(t));)yield t.slice(0,e),t=t.slice(e)}t.length>0&&(yield t)}class m{constructor(){this.event=null,this.data=[],this.chunks=[]}decode(e){if(e.endsWith("\r")&&(e=e.substring(0,e.length-1)),!e){if(!this.event&&!this.data.length)return null;let e={event:this.event,data:this.data.join("\n"),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],e}if(this.chunks.push(e),e.startsWith(":"))return null;let[t,s,r]=function(e,t){let s=e.indexOf(":");return -1!==s?[e.substring(0,s),t,e.substring(s+t.length)]:[e,"",""]}(e,":");return r.startsWith(" ")&&(r=r.substring(1)),"event"===t?this.event=r:"data"===t&&this.data.push(r),null}}},48363:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},49692:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")},51331:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},54121:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},59938:(e,t,s)=>{s.d(t,{A:()=>r});let r=s(12115).createContext()},62617:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M20 8h-2.81c-.45-.78-1.07-1.45-1.82-1.96L17 4.41 15.59 3l-2.17 2.17C12.96 5.06 12.49 5 12 5s-.96.06-1.41.17L8.41 3 7 4.41l1.62 1.63C7.88 6.55 7.26 7.22 6.81 8H4v2h2.09c-.05.33-.09.66-.09 1v1H4v2h2v1c0 .34.04.67.09 1H4v2h2.81c1.04 1.79 2.97 3 5.19 3s4.15-1.21 5.19-3H20v-2h-2.09c.05-.33.09-.66.09-1v-1h2v-2h-2v-1c0-.34-.04-.67-.09-1H20zm-6 8h-4v-2h4zm0-4h-4v-2h4z"}),"BugReport")},63650:(e,t,s)=>{s.d(t,{Is:()=>f,LG:()=>a,Ll:()=>h,OE:()=>m,PO:()=>g,cH:()=>i,fK:()=>p,k5:()=>y,m_:()=>d,pf:()=>w,qA:()=>l,v3:()=>u,v7:()=>c,vc:()=>n,xX:()=>o});var r=s(21852);class n extends Error{}class a extends n{constructor(e,t,s,r){super(`${a.makeMessage(e,t,s)}`),this.status=e,this.headers=r,this.request_id=r?.["x-request-id"],this.error=t,this.code=t?.code,this.param=t?.param,this.type=t?.type}static makeMessage(e,t,s){let r=t?.message?"string"==typeof t.message?t.message:JSON.stringify(t.message):t?JSON.stringify(t):s;return e&&r?`${e} ${r}`:e?`${e} status code (no body)`:r||"(no status code or body)"}static generate(e,t,s,n){if(!e||!n)return new o({message:s,cause:(0,r.rW)(t)});let i=t?.error;return 400===e?new c(e,i,s,n):401===e?new u(e,i,s,n):403===e?new h(e,i,s,n):404===e?new d(e,i,s,n):409===e?new p(e,i,s,n):422===e?new f(e,i,s,n):429===e?new m(e,i,s,n):e>=500?new g(e,i,s,n):new a(e,i,s,n)}}class i extends a{constructor({message:e}={}){super(void 0,void 0,e||"Request was aborted.",void 0)}}class o extends a{constructor({message:e,cause:t}){super(void 0,void 0,e||"Connection error.",void 0),t&&(this.cause=t)}}class l extends o{constructor({message:e}={}){super({message:e??"Request timed out."})}}class c extends a{}class u extends a{}class h extends a{}class d extends a{}class p extends a{}class f extends a{}class m extends a{}class g extends a{}class y extends n{constructor(){super("Could not parse response content as the length limit was reached")}}class w extends n{constructor(){super("Could not parse response content as the request was rejected by the content filter")}}},64792:(e,t,s)=>{s.d(t,{A:()=>y});var r=s(12115),n=s(2821),a=s(57001),i=s(8532),o=s(96574),l=s(48116),c=s(66964),u=s(16625),h=s(85795),d=s(95195);function p(e){return(0,d.Ay)("MuiTableRow",e)}let f=(0,h.A)("MuiTableRow",["root","selected","hover","head","footer"]);var m=s(95155);let g=(0,l.Ay)("tr",{name:"MuiTableRow",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:s}=e;return[t.root,s.head&&t.head,s.footer&&t.footer]}})((0,c.A)(e=>{let{theme:t}=e;return{color:"inherit",display:"table-row",verticalAlign:"middle",outline:0,["&.".concat(f.hover,":hover")]:{backgroundColor:(t.vars||t).palette.action.hover},["&.".concat(f.selected)]:{backgroundColor:t.vars?"rgba(".concat(t.vars.palette.primary.mainChannel," / ").concat(t.vars.palette.action.selectedOpacity,")"):(0,i.X4)(t.palette.primary.main,t.palette.action.selectedOpacity),"&:hover":{backgroundColor:t.vars?"rgba(".concat(t.vars.palette.primary.mainChannel," / calc(").concat(t.vars.palette.action.selectedOpacity," + ").concat(t.vars.palette.action.hoverOpacity,"))"):(0,i.X4)(t.palette.primary.main,t.palette.action.selectedOpacity+t.palette.action.hoverOpacity)}}}})),y=r.forwardRef(function(e,t){let s=(0,u.b)({props:e,name:"MuiTableRow"}),{className:i,component:l="tr",hover:c=!1,selected:h=!1,...d}=s,f=r.useContext(o.A),y={...s,component:l,hover:c,selected:h,head:f&&"head"===f.variant,footer:f&&"footer"===f.variant},w=(e=>{let{classes:t,selected:s,hover:r,head:n,footer:i}=e;return(0,a.A)({root:["root",s&&"selected",r&&"hover",n&&"head",i&&"footer"]},p,t)})(y);return(0,m.jsx)(g,{as:l,ref:t,className:(0,n.A)(w.root,i),role:"tr"===l?null:"row",ownerState:y,...d})})},71356:(e,t,s)=>{s.d(t,{A:()=>v});var r=s(12115),n=s(2821),a=s(57001),i=s(8532),o=s(81852),l=s(59938),c=s(96574),u=s(48116),h=s(66964),d=s(16625),p=s(85795),f=s(95195);function m(e){return(0,f.Ay)("MuiTableCell",e)}let g=(0,p.A)("MuiTableCell",["root","head","body","footer","sizeSmall","sizeMedium","paddingCheckbox","paddingNone","alignLeft","alignCenter","alignRight","alignJustify","stickyHeader"]);var y=s(95155);let w=(0,u.Ay)("td",{name:"MuiTableCell",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:s}=e;return[t.root,t[s.variant],t["size".concat((0,o.A)(s.size))],"normal"!==s.padding&&t["padding".concat((0,o.A)(s.padding))],"inherit"!==s.align&&t["align".concat((0,o.A)(s.align))],s.stickyHeader&&t.stickyHeader]}})((0,h.A)(e=>{let{theme:t}=e;return{...t.typography.body2,display:"table-cell",verticalAlign:"inherit",borderBottom:t.vars?"1px solid ".concat(t.vars.palette.TableCell.border):"1px solid\n ".concat("light"===t.palette.mode?(0,i.a)((0,i.X4)(t.palette.divider,1),.88):(0,i.e$)((0,i.X4)(t.palette.divider,1),.68)),textAlign:"left",padding:16,variants:[{props:{variant:"head"},style:{color:(t.vars||t).palette.text.primary,lineHeight:t.typography.pxToRem(24),fontWeight:t.typography.fontWeightMedium}},{props:{variant:"body"},style:{color:(t.vars||t).palette.text.primary}},{props:{variant:"footer"},style:{color:(t.vars||t).palette.text.secondary,lineHeight:t.typography.pxToRem(21),fontSize:t.typography.pxToRem(12)}},{props:{size:"small"},style:{padding:"6px 16px",["&.".concat(g.paddingCheckbox)]:{width:24,padding:"0 12px 0 16px","& > *":{padding:0}}}},{props:{padding:"checkbox"},style:{width:48,padding:"0 0 0 4px"}},{props:{padding:"none"},style:{padding:0}},{props:{align:"left"},style:{textAlign:"left"}},{props:{align:"center"},style:{textAlign:"center"}},{props:{align:"right"},style:{textAlign:"right",flexDirection:"row-reverse"}},{props:{align:"justify"},style:{textAlign:"justify"}},{props:e=>{let{ownerState:t}=e;return t.stickyHeader},style:{position:"sticky",top:0,zIndex:2,backgroundColor:(t.vars||t).palette.background.default}}]}})),v=r.forwardRef(function(e,t){let s,i=(0,d.b)({props:e,name:"MuiTableCell"}),{align:u="inherit",className:h,component:p,padding:f,scope:g,size:v,sortDirection:_,variant:b,...x}=i,A=r.useContext(l.A),S=r.useContext(c.A),R=S&&"head"===S.variant,P=g;"td"===(s=p||(R?"th":"td"))?P=void 0:!P&&R&&(P="col");let O=b||S&&S.variant,$={...i,align:u,component:s,padding:f||(A&&A.padding?A.padding:"normal"),size:v||(A&&A.size?A.size:"medium"),sortDirection:_,stickyHeader:"head"===O&&A&&A.stickyHeader,variant:O},C=(e=>{let{classes:t,variant:s,align:r,padding:n,size:i,stickyHeader:l}=e,c={root:["root",s,l&&"stickyHeader","inherit"!==r&&"align".concat((0,o.A)(r)),"normal"!==n&&"padding".concat((0,o.A)(n)),"size".concat((0,o.A)(i))]};return(0,a.A)(c,m,t)})($),I=null;return _&&(I="asc"===_?"ascending":"descending"),(0,y.jsx)(w,{as:s,ref:t,className:(0,n.A)(C.root,h),"aria-sort":I,scope:P,ownerState:$,...x})})},72308:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},74879:(e,t,s)=>{let r;s.d(t,{A:()=>o});let n={randomUUID:"undefined"!=typeof crypto&&crypto.randomUUID&&crypto.randomUUID.bind(crypto)},a=new Uint8Array(16),i=[];for(let e=0;e<256;++e)i.push((e+256).toString(16).slice(1));let o=function(e,t,s){if(n.randomUUID&&!t&&!e)return n.randomUUID();let o=(e=e||{}).random??e.rng?.()??function(){if(!r){if("undefined"==typeof crypto||!crypto.getRandomValues)throw Error("crypto.getRandomValues() not supported. See https://github.com/uuidjs/uuid#getrandomvalues-not-supported");r=crypto.getRandomValues.bind(crypto)}return r(a)}();if(o.length<16)throw Error("Random bytes length must be >= 16");if(o[6]=15&o[6]|64,o[8]=63&o[8]|128,t){if((s=s||0)<0||s+16>t.length)throw RangeError(`UUID byte range ${s}:${s+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[s+e]=o[e];return t}return function(e,t=0){return(i[e[t+0]]+i[e[t+1]]+i[e[t+2]]+i[e[t+3]]+"-"+i[e[t+4]]+i[e[t+5]]+"-"+i[e[t+6]]+i[e[t+7]]+"-"+i[e[t+8]]+i[e[t+9]]+"-"+i[e[t+10]]+i[e[t+11]]+i[e[t+12]]+i[e[t+13]]+i[e[t+14]]+i[e[t+15]]).toLowerCase()}(o)}},77998:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")},78410:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.jsx)("path",{d:"M16 20H2V4h14zm2-12h4V4h-4zm0 12h4v-4h-4zm0-6h4v-4h-4z"}),"ViewSidebar")},96574:(e,t,s)=>{s.d(t,{A:()=>r});let r=s(12115).createContext()},97322:(e,t,s)=>{s.d(t,{A:()=>w});var r=s(12115),n=s(2821),a=s(95195),i=s(57001),o=s(88133),l=s(11947),c=s(78831),u=s(41934),h=s(95155);let d=(0,u.A)(),p=(0,c.A)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:s}=e;return[t.root,t["maxWidth".concat((0,o.A)(String(s.maxWidth)))],s.fixed&&t.fixed,s.disableGutters&&t.disableGutters]}}),f=e=>(0,l.A)({props:e,name:"MuiContainer",defaultTheme:d});var m=s(81852),g=s(48116),y=s(16625);let w=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},{createStyledComponent:t=p,useThemeProps:s=f,componentName:l="MuiContainer"}=e,c=t(e=>{let{theme:t,ownerState:s}=e;return{width:"100%",marginLeft:"auto",boxSizing:"border-box",marginRight:"auto",...!s.disableGutters&&{paddingLeft:t.spacing(2),paddingRight:t.spacing(2),[t.breakpoints.up("sm")]:{paddingLeft:t.spacing(3),paddingRight:t.spacing(3)}}}},e=>{let{theme:t,ownerState:s}=e;return s.fixed&&Object.keys(t.breakpoints.values).reduce((e,s)=>{let r=t.breakpoints.values[s];return 0!==r&&(e[t.breakpoints.up(s)]={maxWidth:"".concat(r).concat(t.breakpoints.unit)}),e},{})},e=>{let{theme:t,ownerState:s}=e;return{..."xs"===s.maxWidth&&{[t.breakpoints.up("xs")]:{maxWidth:Math.max(t.breakpoints.values.xs,444)}},...s.maxWidth&&"xs"!==s.maxWidth&&{[t.breakpoints.up(s.maxWidth)]:{maxWidth:"".concat(t.breakpoints.values[s.maxWidth]).concat(t.breakpoints.unit)}}}});return r.forwardRef(function(e,t){let r=s(e),{className:u,component:d="div",disableGutters:p=!1,fixed:f=!1,maxWidth:m="lg",classes:g,...y}=r,w={...r,component:d,disableGutters:p,fixed:f,maxWidth:m},v=((e,t)=>{let{classes:s,fixed:r,disableGutters:n,maxWidth:l}=e,c={root:["root",l&&"maxWidth".concat((0,o.A)(String(l))),r&&"fixed",n&&"disableGutters"]};return(0,i.A)(c,e=>(0,a.Ay)(t,e),s)})(w,l);return(0,h.jsx)(c,{as:d,ownerState:w,className:(0,n.A)(v.root,u),ref:t,...y})})}({createStyledComponent:(0,g.Ay)("div",{name:"MuiContainer",slot:"Root",overridesResolver:(e,t)=>{let{ownerState:s}=e;return[t.root,t["maxWidth".concat((0,m.A)(String(s.maxWidth)))],s.fixed&&t.fixed,s.disableGutters&&t.disableGutters]}}),useThemeProps:e=>(0,y.b)({props:e,name:"MuiContainer"})})},97736:(e,t,s)=>{s.d(t,{A:()=>a});var r=s(15485),n=s(95155);let a=(0,r.A)((0,n.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")}}]);