@whxway/loom 1.0.2 → 1.1.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 (353) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/build/56416d4ae4ce586f.js +6 -0
  3. package/.next/build/56416d4ae4ce586f.js.map +5 -0
  4. package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js +206 -0
  5. package/.next/build/chunks/[root-of-the-server]__0oj80bi._.js.map +8 -0
  6. package/.next/build/chunks/[root-of-the-server]__1f933tp._.js +500 -0
  7. package/.next/build/chunks/[root-of-the-server]__1f933tp._.js.map +11 -0
  8. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js +13 -0
  9. package/.next/build/chunks/[turbopack-node]_transforms_postcss_ts_0b7xl6g._.js.map +5 -0
  10. package/.next/build/chunks/[turbopack]_runtime.js +890 -0
  11. package/.next/build/chunks/[turbopack]_runtime.js.map +11 -0
  12. package/.next/build/chunks/node_modules_20v-8wl._.js +6824 -0
  13. package/.next/build/chunks/node_modules_20v-8wl._.js.map +47 -0
  14. package/.next/build/package.json +1 -0
  15. package/.next/build-manifest.json +3 -3
  16. package/.next/cache/.previewinfo +1 -0
  17. package/.next/cache/.rscinfo +1 -0
  18. package/.next/cache/.tsbuildinfo +1 -0
  19. package/.next/diagnostics/build-diagnostics.json +6 -0
  20. package/.next/diagnostics/framework.json +1 -0
  21. package/.next/diagnostics/route-bundle-stats.json +488 -0
  22. package/.next/fallback-build-manifest.json +3 -3
  23. package/.next/prerender-manifest.json +3 -3
  24. package/.next/server/app/(auth)/login/page_client-reference-manifest.js +1 -1
  25. package/.next/server/app/(dashboard)/logs/page_client-reference-manifest.js +1 -1
  26. package/.next/server/app/(dashboard)/mcp/page.js.nft.json +1 -1
  27. package/.next/server/app/(dashboard)/mcp/page_client-reference-manifest.js +1 -1
  28. package/.next/server/app/(dashboard)/mcp/presets/page_client-reference-manifest.js +1 -1
  29. package/.next/server/app/(dashboard)/models/[name]/page_client-reference-manifest.js +1 -1
  30. package/.next/server/app/(dashboard)/page_client-reference-manifest.js +1 -1
  31. package/.next/server/app/(dashboard)/playground/audio/speech/page_client-reference-manifest.js +1 -1
  32. package/.next/server/app/(dashboard)/playground/audio/transcription/page_client-reference-manifest.js +1 -1
  33. package/.next/server/app/(dashboard)/playground/chat/page.js.nft.json +1 -1
  34. package/.next/server/app/(dashboard)/playground/chat/page_client-reference-manifest.js +1 -1
  35. package/.next/server/app/(dashboard)/playground/embedding/page_client-reference-manifest.js +1 -1
  36. package/.next/server/app/(dashboard)/playground/image/page_client-reference-manifest.js +1 -1
  37. package/.next/server/app/(dashboard)/playground/page_client-reference-manifest.js +1 -1
  38. package/.next/server/app/(dashboard)/playground/video/page_client-reference-manifest.js +1 -1
  39. package/.next/server/app/(dashboard)/providers/[name]/page.js.nft.json +1 -1
  40. package/.next/server/app/(dashboard)/providers/[name]/page_client-reference-manifest.js +1 -1
  41. package/.next/server/app/(dashboard)/providers/page.js.nft.json +1 -1
  42. package/.next/server/app/(dashboard)/providers/page_client-reference-manifest.js +1 -1
  43. package/.next/server/app/(dashboard)/settings/api-keys/page_client-reference-manifest.js +1 -1
  44. package/.next/server/app/(dashboard)/settings/page.js.nft.json +1 -1
  45. package/.next/server/app/(dashboard)/settings/page_client-reference-manifest.js +1 -1
  46. package/.next/server/app/(dashboard)/settings/users/page.js.nft.json +1 -1
  47. package/.next/server/app/(dashboard)/settings/users/page_client-reference-manifest.js +1 -1
  48. package/.next/server/app/_global-error.html +1 -1
  49. package/.next/server/app/_global-error.rsc +1 -1
  50. package/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  51. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  52. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  53. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  54. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  55. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  56. package/.next/server/app/_not-found.html +2 -2
  57. package/.next/server/app/_not-found.rsc +3 -3
  58. package/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  59. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  60. package/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  61. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  62. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  63. package/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
  64. package/.next/server/app/api/adapters/route.js.nft.json +1 -1
  65. package/.next/server/app/api/apikeys/[id]/route.js.nft.json +1 -1
  66. package/.next/server/app/api/apikeys/route.js.nft.json +1 -1
  67. package/.next/server/app/api/capabilities/route.js.nft.json +1 -1
  68. package/.next/server/app/api/conversations/[id]/messages/route.js.nft.json +1 -1
  69. package/.next/server/app/api/conversations/[id]/route.js.nft.json +1 -1
  70. package/.next/server/app/api/conversations/route.js.nft.json +1 -1
  71. package/.next/server/app/api/health/route.js.nft.json +1 -1
  72. package/.next/server/app/api/login/route.js.nft.json +1 -1
  73. package/.next/server/app/api/logout/route.js.nft.json +1 -1
  74. package/.next/server/app/api/logs/generations/[id]/images/[idx]/route.js.nft.json +1 -1
  75. package/.next/server/app/api/logs/generations/[id]/route.js.nft.json +1 -1
  76. package/.next/server/app/api/logs/generations/route.js.nft.json +1 -1
  77. package/.next/server/app/api/mcp/presets/route.js.nft.json +1 -1
  78. package/.next/server/app/api/mcp/servers/[id]/check/route.js.nft.json +1 -1
  79. package/.next/server/app/api/mcp/servers/[id]/route.js.nft.json +1 -1
  80. package/.next/server/app/api/mcp/servers/[id]/tools/route.js.nft.json +1 -1
  81. package/.next/server/app/api/mcp/servers/route.js.nft.json +1 -1
  82. package/.next/server/app/api/messages/[id]/rate/route.js.nft.json +1 -1
  83. package/.next/server/app/api/models/[id]/route.js.nft.json +1 -1
  84. package/.next/server/app/api/models/route.js.nft.json +1 -1
  85. package/.next/server/app/api/ping/route.js.nft.json +1 -1
  86. package/.next/server/app/api/playground/chat/route.js.nft.json +1 -1
  87. package/.next/server/app/api/playground/embedding/route.js.nft.json +1 -1
  88. package/.next/server/app/api/providers/[id]/check/route.js.nft.json +1 -1
  89. package/.next/server/app/api/providers/[id]/models/route.js.nft.json +1 -1
  90. package/.next/server/app/api/providers/[id]/route.js.nft.json +1 -1
  91. package/.next/server/app/api/providers/probe/route.js.nft.json +1 -1
  92. package/.next/server/app/api/providers/reload/route.js.nft.json +1 -1
  93. package/.next/server/app/api/providers/route.js.nft.json +1 -1
  94. package/.next/server/app/api/stats/models/[name]/route.js.nft.json +1 -1
  95. package/.next/server/app/api/stats/route.js.nft.json +1 -1
  96. package/.next/server/app/api/tools/[id]/route.js.nft.json +1 -1
  97. package/.next/server/app/api/tools/route.js.nft.json +1 -1
  98. package/.next/server/app/api/users/[username]/route.js.nft.json +1 -1
  99. package/.next/server/app/api/users/me/preferences/route.js.nft.json +1 -1
  100. package/.next/server/app/api/users/me/route.js.nft.json +1 -1
  101. package/.next/server/app/api/users/route.js.nft.json +1 -1
  102. package/.next/server/app/api/v1/audio/speech/route.js.nft.json +1 -1
  103. package/.next/server/app/api/v1/audio/transcriptions/route.js.nft.json +1 -1
  104. package/.next/server/app/api/v1/chat/completions/route.js.nft.json +1 -1
  105. package/.next/server/app/api/v1/embeddings/route.js.nft.json +1 -1
  106. package/.next/server/app/api/v1/images/generations/route.js.nft.json +1 -1
  107. package/.next/server/app/api/v1/models/route.js.nft.json +1 -1
  108. package/.next/server/app/api/v1/rerank/route.js.nft.json +1 -1
  109. package/.next/server/app/api/v1/videos/[id]/content/route.js.nft.json +1 -1
  110. package/.next/server/app/api/v1/videos/[id]/route.js.nft.json +1 -1
  111. package/.next/server/app/api/v1/videos/route.js.nft.json +1 -1
  112. package/.next/server/app/api/variants/route.js.nft.json +1 -1
  113. package/.next/server/app/index.html +2 -2
  114. package/.next/server/app/index.rsc +3 -3
  115. package/.next/server/app/index.segments/!KGRhc2hib2FyZCk/__PAGE__.segment.rsc +1 -1
  116. package/.next/server/app/index.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  117. package/.next/server/app/index.segments/_full.segment.rsc +3 -3
  118. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  119. package/.next/server/app/index.segments/_index.segment.rsc +2 -2
  120. package/.next/server/app/index.segments/_tree.segment.rsc +2 -2
  121. package/.next/server/app/login.html +2 -2
  122. package/.next/server/app/login.rsc +3 -3
  123. package/.next/server/app/login.segments/!KGF1dGgp/login/__PAGE__.segment.rsc +1 -1
  124. package/.next/server/app/login.segments/!KGF1dGgp/login.segment.rsc +1 -1
  125. package/.next/server/app/login.segments/!KGF1dGgp.segment.rsc +1 -1
  126. package/.next/server/app/login.segments/_full.segment.rsc +3 -3
  127. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  128. package/.next/server/app/login.segments/_index.segment.rsc +2 -2
  129. package/.next/server/app/login.segments/_tree.segment.rsc +2 -2
  130. package/.next/server/app/logs.html +2 -2
  131. package/.next/server/app/logs.rsc +3 -3
  132. package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk/logs/__PAGE__.segment.rsc +1 -1
  133. package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk/logs.segment.rsc +1 -1
  134. package/.next/server/app/logs.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  135. package/.next/server/app/logs.segments/_full.segment.rsc +3 -3
  136. package/.next/server/app/logs.segments/_head.segment.rsc +1 -1
  137. package/.next/server/app/logs.segments/_index.segment.rsc +2 -2
  138. package/.next/server/app/logs.segments/_tree.segment.rsc +2 -2
  139. package/.next/server/app/mcp/presets.html +2 -2
  140. package/.next/server/app/mcp/presets.rsc +5 -5
  141. package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp/presets/__PAGE__.segment.rsc +2 -2
  142. package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp/presets.segment.rsc +1 -1
  143. package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk/mcp.segment.rsc +1 -1
  144. package/.next/server/app/mcp/presets.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  145. package/.next/server/app/mcp/presets.segments/_full.segment.rsc +5 -5
  146. package/.next/server/app/mcp/presets.segments/_head.segment.rsc +1 -1
  147. package/.next/server/app/mcp/presets.segments/_index.segment.rsc +2 -2
  148. package/.next/server/app/mcp/presets.segments/_tree.segment.rsc +2 -2
  149. package/.next/server/app/mcp.html +2 -2
  150. package/.next/server/app/mcp.rsc +5 -5
  151. package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk/mcp/__PAGE__.segment.rsc +2 -2
  152. package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk/mcp.segment.rsc +1 -1
  153. package/.next/server/app/mcp.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  154. package/.next/server/app/mcp.segments/_full.segment.rsc +5 -5
  155. package/.next/server/app/mcp.segments/_head.segment.rsc +1 -1
  156. package/.next/server/app/mcp.segments/_index.segment.rsc +2 -2
  157. package/.next/server/app/mcp.segments/_tree.segment.rsc +2 -2
  158. package/.next/server/app/playground/audio/speech.html +2 -2
  159. package/.next/server/app/playground/audio/speech.rsc +3 -3
  160. package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio/speech/__PAGE__.segment.rsc +1 -1
  161. package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio/speech.segment.rsc +1 -1
  162. package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground/audio.segment.rsc +1 -1
  163. package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  164. package/.next/server/app/playground/audio/speech.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  165. package/.next/server/app/playground/audio/speech.segments/_full.segment.rsc +3 -3
  166. package/.next/server/app/playground/audio/speech.segments/_head.segment.rsc +1 -1
  167. package/.next/server/app/playground/audio/speech.segments/_index.segment.rsc +2 -2
  168. package/.next/server/app/playground/audio/speech.segments/_tree.segment.rsc +2 -2
  169. package/.next/server/app/playground/audio/transcription.html +2 -2
  170. package/.next/server/app/playground/audio/transcription.rsc +3 -3
  171. package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio/transcription/__PAGE__.segment.rsc +1 -1
  172. package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio/transcription.segment.rsc +1 -1
  173. package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground/audio.segment.rsc +1 -1
  174. package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  175. package/.next/server/app/playground/audio/transcription.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  176. package/.next/server/app/playground/audio/transcription.segments/_full.segment.rsc +3 -3
  177. package/.next/server/app/playground/audio/transcription.segments/_head.segment.rsc +1 -1
  178. package/.next/server/app/playground/audio/transcription.segments/_index.segment.rsc +2 -2
  179. package/.next/server/app/playground/audio/transcription.segments/_tree.segment.rsc +2 -2
  180. package/.next/server/app/playground/chat.html +2 -2
  181. package/.next/server/app/playground/chat.rsc +5 -5
  182. package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground/chat/__PAGE__.segment.rsc +2 -2
  183. package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground/chat.segment.rsc +1 -1
  184. package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  185. package/.next/server/app/playground/chat.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  186. package/.next/server/app/playground/chat.segments/_full.segment.rsc +5 -5
  187. package/.next/server/app/playground/chat.segments/_head.segment.rsc +1 -1
  188. package/.next/server/app/playground/chat.segments/_index.segment.rsc +2 -2
  189. package/.next/server/app/playground/chat.segments/_tree.segment.rsc +2 -2
  190. package/.next/server/app/playground/embedding.html +2 -2
  191. package/.next/server/app/playground/embedding.rsc +3 -3
  192. package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground/embedding/__PAGE__.segment.rsc +1 -1
  193. package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground/embedding.segment.rsc +1 -1
  194. package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  195. package/.next/server/app/playground/embedding.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  196. package/.next/server/app/playground/embedding.segments/_full.segment.rsc +3 -3
  197. package/.next/server/app/playground/embedding.segments/_head.segment.rsc +1 -1
  198. package/.next/server/app/playground/embedding.segments/_index.segment.rsc +2 -2
  199. package/.next/server/app/playground/embedding.segments/_tree.segment.rsc +2 -2
  200. package/.next/server/app/playground/image.html +2 -2
  201. package/.next/server/app/playground/image.rsc +3 -3
  202. package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground/image/__PAGE__.segment.rsc +1 -1
  203. package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground/image.segment.rsc +1 -1
  204. package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  205. package/.next/server/app/playground/image.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  206. package/.next/server/app/playground/image.segments/_full.segment.rsc +3 -3
  207. package/.next/server/app/playground/image.segments/_head.segment.rsc +1 -1
  208. package/.next/server/app/playground/image.segments/_index.segment.rsc +2 -2
  209. package/.next/server/app/playground/image.segments/_tree.segment.rsc +2 -2
  210. package/.next/server/app/playground/video.html +2 -2
  211. package/.next/server/app/playground/video.rsc +3 -3
  212. package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground/video/__PAGE__.segment.rsc +1 -1
  213. package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground/video.segment.rsc +1 -1
  214. package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  215. package/.next/server/app/playground/video.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  216. package/.next/server/app/playground/video.segments/_full.segment.rsc +3 -3
  217. package/.next/server/app/playground/video.segments/_head.segment.rsc +1 -1
  218. package/.next/server/app/playground/video.segments/_index.segment.rsc +2 -2
  219. package/.next/server/app/playground/video.segments/_tree.segment.rsc +2 -2
  220. package/.next/server/app/playground.html +2 -2
  221. package/.next/server/app/playground.rsc +3 -3
  222. package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk/playground/__PAGE__.segment.rsc +1 -1
  223. package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk/playground.segment.rsc +1 -1
  224. package/.next/server/app/playground.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  225. package/.next/server/app/playground.segments/_full.segment.rsc +3 -3
  226. package/.next/server/app/playground.segments/_head.segment.rsc +1 -1
  227. package/.next/server/app/playground.segments/_index.segment.rsc +2 -2
  228. package/.next/server/app/playground.segments/_tree.segment.rsc +2 -2
  229. package/.next/server/app/providers.html +2 -2
  230. package/.next/server/app/providers.rsc +5 -5
  231. package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk/providers/__PAGE__.segment.rsc +2 -2
  232. package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk/providers.segment.rsc +1 -1
  233. package/.next/server/app/providers.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  234. package/.next/server/app/providers.segments/_full.segment.rsc +5 -5
  235. package/.next/server/app/providers.segments/_head.segment.rsc +1 -1
  236. package/.next/server/app/providers.segments/_index.segment.rsc +2 -2
  237. package/.next/server/app/providers.segments/_tree.segment.rsc +2 -2
  238. package/.next/server/app/settings/api-keys.html +2 -2
  239. package/.next/server/app/settings/api-keys.rsc +3 -3
  240. package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings/api-keys/__PAGE__.segment.rsc +1 -1
  241. package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings/api-keys.segment.rsc +1 -1
  242. package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  243. package/.next/server/app/settings/api-keys.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  244. package/.next/server/app/settings/api-keys.segments/_full.segment.rsc +3 -3
  245. package/.next/server/app/settings/api-keys.segments/_head.segment.rsc +1 -1
  246. package/.next/server/app/settings/api-keys.segments/_index.segment.rsc +2 -2
  247. package/.next/server/app/settings/api-keys.segments/_tree.segment.rsc +2 -2
  248. package/.next/server/app/settings/users.html +2 -2
  249. package/.next/server/app/settings/users.rsc +5 -5
  250. package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings/users/__PAGE__.segment.rsc +2 -2
  251. package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings/users.segment.rsc +1 -1
  252. package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  253. package/.next/server/app/settings/users.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  254. package/.next/server/app/settings/users.segments/_full.segment.rsc +5 -5
  255. package/.next/server/app/settings/users.segments/_head.segment.rsc +1 -1
  256. package/.next/server/app/settings/users.segments/_index.segment.rsc +2 -2
  257. package/.next/server/app/settings/users.segments/_tree.segment.rsc +2 -2
  258. package/.next/server/app/settings.html +2 -2
  259. package/.next/server/app/settings.rsc +5 -5
  260. package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings/__PAGE__.segment.rsc +2 -2
  261. package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk/settings.segment.rsc +1 -1
  262. package/.next/server/app/settings.segments/!KGRhc2hib2FyZCk.segment.rsc +1 -1
  263. package/.next/server/app/settings.segments/_full.segment.rsc +5 -5
  264. package/.next/server/app/settings.segments/_head.segment.rsc +1 -1
  265. package/.next/server/app/settings.segments/_index.segment.rsc +2 -2
  266. package/.next/server/app/settings.segments/_tree.segment.rsc +2 -2
  267. package/.next/server/chunks/[root-of-the-server]__02sypva._.js +2 -2
  268. package/.next/server/chunks/[root-of-the-server]__02sypva._.js.map +1 -1
  269. package/.next/server/chunks/[root-of-the-server]__0g3mnim._.js +4 -1
  270. package/.next/server/chunks/[root-of-the-server]__0g3mnim._.js.map +1 -1
  271. package/.next/server/chunks/[root-of-the-server]__0myi8j1._.js +2 -2
  272. package/.next/server/chunks/[root-of-the-server]__0myi8j1._.js.map +1 -1
  273. package/.next/server/chunks/[root-of-the-server]__1qg3d87._.js +2 -2
  274. package/.next/server/chunks/[root-of-the-server]__1qg3d87._.js.map +1 -1
  275. package/.next/server/chunks/ssr/_001fhst._.js +3 -0
  276. package/.next/server/chunks/ssr/_001fhst._.js.map +1 -0
  277. package/.next/server/chunks/ssr/_02wtd-0._.js +3 -0
  278. package/.next/server/chunks/ssr/_02wtd-0._.js.map +1 -0
  279. package/.next/server/chunks/ssr/_05ufvn1._.js +9 -0
  280. package/.next/server/chunks/ssr/_05ufvn1._.js.map +1 -0
  281. package/.next/server/chunks/ssr/{_1fd20ju._.js → _066w-6f._.js} +2 -2
  282. package/.next/server/chunks/ssr/{_1fd20ju._.js.map → _066w-6f._.js.map} +1 -1
  283. package/.next/server/chunks/ssr/_0gd7kq_._.js +1 -1
  284. package/.next/server/chunks/ssr/_0gd7kq_._.js.map +1 -1
  285. package/.next/server/chunks/ssr/_0k-6auj._.js +3 -0
  286. package/.next/server/chunks/ssr/_0k-6auj._.js.map +1 -0
  287. package/.next/server/chunks/ssr/_0qo9tx1._.js +3 -0
  288. package/.next/server/chunks/ssr/_0qo9tx1._.js.map +1 -0
  289. package/.next/server/chunks/ssr/_0uom5g-._.js +9 -0
  290. package/.next/server/chunks/ssr/_0uom5g-._.js.map +1 -0
  291. package/.next/server/chunks/ssr/_1b09eqp._.js +1 -1
  292. package/.next/server/chunks/ssr/_1b09eqp._.js.map +1 -1
  293. package/.next/server/chunks/ssr/_1oi0iqt._.js +9 -0
  294. package/.next/server/chunks/ssr/_1oi0iqt._.js.map +1 -0
  295. package/.next/server/chunks/ssr/_1q3gglq._.js +3 -0
  296. package/.next/server/chunks/ssr/_1q3gglq._.js.map +1 -0
  297. package/.next/server/chunks/ssr/_1y5sreb._.js +3 -0
  298. package/.next/server/chunks/ssr/_1y5sreb._.js.map +1 -0
  299. package/.next/server/chunks/ssr/_1zlpzyk._.js +1 -1
  300. package/.next/server/chunks/ssr/_1zlpzyk._.js.map +1 -1
  301. package/.next/server/chunks/ssr/app_(dashboard)_mcp_page_tsx_0cg7pz9._.js +1 -1
  302. package/.next/server/chunks/ssr/app_(dashboard)_mcp_page_tsx_0cg7pz9._.js.map +1 -1
  303. package/.next/server/middleware-build-manifest.js +3 -3
  304. package/.next/server/pages/404.html +2 -2
  305. package/.next/server/pages/500.html +1 -1
  306. package/.next/server/server-reference-manifest.js +1 -1
  307. package/.next/server/server-reference-manifest.json +1 -1
  308. package/.next/static/chunks/0brzabhj3foow.js +1 -0
  309. package/.next/static/chunks/0cbg1vmtl84ae.css +1 -0
  310. package/.next/static/chunks/0hf0pedij0d6a.js +7 -0
  311. package/.next/static/chunks/1lo5yg9gvb9eg.js +7 -0
  312. package/.next/static/chunks/1s-rfyrjre6lb.js +1 -0
  313. package/.next/static/chunks/27siz43i4h5l7.js +9 -0
  314. package/.next/static/chunks/29p-wdja_cbgh.js +11 -0
  315. package/.next/static/chunks/396ikhrcofosq.js +7 -0
  316. package/.next/static/chunks/3m3fw3fmcc301.js +7 -0
  317. package/.next/trace +2 -0
  318. package/.next/trace-build +1 -1
  319. package/.next/types/cache-life.d.ts +145 -0
  320. package/.next/types/routes.d.ts +139 -0
  321. package/.next/types/validator.ts +682 -0
  322. package/bin/loom.mjs +1 -1
  323. package/package.json +1 -1
  324. package/.next/server/chunks/ssr/_0g6iz5n._.js +0 -3
  325. package/.next/server/chunks/ssr/_0g6iz5n._.js.map +0 -1
  326. package/.next/server/chunks/ssr/_0mim08o._.js +0 -3
  327. package/.next/server/chunks/ssr/_0mim08o._.js.map +0 -1
  328. package/.next/server/chunks/ssr/_0xm-krv._.js +0 -9
  329. package/.next/server/chunks/ssr/_0xm-krv._.js.map +0 -1
  330. package/.next/server/chunks/ssr/_0zxn_u0._.js +0 -3
  331. package/.next/server/chunks/ssr/_0zxn_u0._.js.map +0 -1
  332. package/.next/server/chunks/ssr/_151pht4._.js +0 -9
  333. package/.next/server/chunks/ssr/_151pht4._.js.map +0 -1
  334. package/.next/server/chunks/ssr/_18tl_0o._.js +0 -9
  335. package/.next/server/chunks/ssr/_18tl_0o._.js.map +0 -1
  336. package/.next/server/chunks/ssr/_19nuoa6._.js +0 -9
  337. package/.next/server/chunks/ssr/_19nuoa6._.js.map +0 -1
  338. package/.next/server/chunks/ssr/_1ax02l9._.js +0 -3
  339. package/.next/server/chunks/ssr/_1ax02l9._.js.map +0 -1
  340. package/.next/server/chunks/ssr/_1fze3ic._.js +0 -9
  341. package/.next/server/chunks/ssr/_1fze3ic._.js.map +0 -1
  342. package/.next/static/chunks/0zryggvaj_s87.js +0 -7
  343. package/.next/static/chunks/16bx44gr1d_ij.js +0 -7
  344. package/.next/static/chunks/172e7ymu9a3w9.js +0 -1
  345. package/.next/static/chunks/1_w-1rm5wy0l7.css +0 -1
  346. package/.next/static/chunks/2j_bpzzylp1un.js +0 -9
  347. package/.next/static/chunks/2r2pwisd9bptv.js +0 -11
  348. package/.next/static/chunks/3at-42v-_yh7y.js +0 -7
  349. package/.next/static/chunks/3bp0ieicfxx5n.js +0 -1
  350. package/.next/static/chunks/3et56kszc9f9a.js +0 -7
  351. /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_buildManifest.js +0 -0
  352. /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_clientMiddlewareManifest.js +0 -0
  353. /package/.next/static/{S-TxD5uw__EHY12mebgvS → wCZkC7ZaYrxG37d-e2tac}/_ssgManifest.js +0 -0
@@ -1,7 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,970065,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Card",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...s})}])},531278,e=>{"use strict";var t=e.i(717521);e.s(["Loader2",()=>t.default])},23750,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Input",0,function({className:e,type:s,...r}){return(0,t.jsx)("input",{type:s,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}])},10708,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(248425),r=a.forwardRef((e,a)=>(0,t.jsx)(s.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));r.displayName="Label";var i=e.i(647163);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)(r,{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}],10708)},999682,e=>{"use strict";var t=e.i(271645);e.s(["usePrevious",0,function(e){let a=t.useRef({value:e,previous:e});return t.useMemo(()=>(a.current.value!==e&&(a.current.previous=a.current.value,a.current.value=e),a.current.previous),[e])}])},733467,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/models",key:"models",listShape:"array",staleTime:6e4,invalidates:["providers"]});e.s(["models",0,t])},422758,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(647163);let r={openai:"/providers/openai.svg",claude:"/providers/claude.svg",anthropic:"/providers/claude.svg",gemini:"/providers/gemini.svg",google:"/providers/gemini.svg",vertexai:"/providers/vertexai.svg",vertex:"/providers/vertex.svg",deepseek:"/providers/deepseek.png",moonshot:"/providers/moonshot.png",zhipu:"/providers/zhipu.png",aliyun:"/providers/alibabacloud.png",alibabacloud:"/providers/alibabacloud.png",siliconflow:"/providers/siliconflow.svg",tei:"/providers/tei.svg",transformers:"/providers/transformers.svg",baichuan:"/providers/baichuan.png",volcengine:"/providers/volcengine.png",stepfun:"/providers/stepfun.png"},i=new Set(["openai","vertex","vertexai","siliconflow"]),n=(0,a.memo)(function({providerName:e,className:n,width:o=24,height:l=24}){let[d,c]=(0,a.useState)(!1),u=e.toLowerCase().replace(/[^a-z0-9_]/g,""),m=r[u],p=i.has(u);return m&&!d?(0,t.jsx)("img",{src:m,alt:"",width:o,height:l,loading:"lazy",className:(0,s.cn)("object-contain shrink-0",p&&"dark:invert",n),onError:()=>c(!0)}):(0,t.jsx)("span",{className:(0,s.cn)("rounded bg-muted flex items-center justify-center text-[8px] font-bold shrink-0",n),style:{width:o,height:l},children:e.substring(0,2).toUpperCase()})});e.s(["ProviderIcon",0,n])},727612,e=>{"use strict";let t=(0,e.i(475254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],727612)},878894,e=>{"use strict";var t=e.i(582458);e.s(["AlertTriangle",()=>t.default])},57559,e=>{"use strict";var t=e.i(843476),a=e.i(878894),s=e.i(531278),r=e.i(271645),i=e.i(30030),n=e.i(820783),o=e.i(326999),l=e.i(981140),d=e.i(991918),c="AlertDialog",[u,m]=(0,i.createContextScope)(c,[o.createDialogScope]),p=(0,o.createDialogScope)(),h=e=>{let{__scopeAlertDialog:a,...s}=e,r=p(a);return(0,t.jsx)(o.Root,{...r,...s,modal:!0})};h.displayName=c,r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,i=p(s);return(0,t.jsx)(o.Trigger,{...i,...r,ref:a})}).displayName="AlertDialogTrigger";var x=e=>{let{__scopeAlertDialog:a,...s}=e,r=p(a);return(0,t.jsx)(o.Portal,{...r,...s})};x.displayName="AlertDialogPortal";var f=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,i=p(s);return(0,t.jsx)(o.Overlay,{...i,...r,ref:a})});f.displayName="AlertDialogOverlay";var g="AlertDialogContent",[v,b]=u(g),y=(0,d.createSlottable)("AlertDialogContent"),j=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,children:i,...d}=e,c=p(s),u=r.useRef(null),m=(0,n.useComposedRefs)(a,u),h=r.useRef(null);return(0,t.jsx)(o.WarningProvider,{contentName:g,titleName:w,docsSlug:"alert-dialog",children:(0,t.jsx)(v,{scope:s,cancelRef:h,children:(0,t.jsxs)(o.Content,{role:"alertdialog",...c,...d,ref:m,onOpenAutoFocus:(0,l.composeEventHandlers)(d.onOpenAutoFocus,e=>{e.preventDefault(),h.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(y,{children:i}),(0,t.jsx)(_,{contentRef:u})]})})})});j.displayName=g;var w="AlertDialogTitle",N=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,i=p(s);return(0,t.jsx)(o.Title,{...i,...r,ref:a})});N.displayName=w;var k="AlertDialogDescription",C=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,i=p(s);return(0,t.jsx)(o.Description,{...i,...r,ref:a})});C.displayName=k;var T=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,i=p(s);return(0,t.jsx)(o.Close,{...i,...r,ref:a})});T.displayName="AlertDialogAction";var S="AlertDialogCancel",P=r.forwardRef((e,a)=>{let{__scopeAlertDialog:s,...r}=e,{cancelRef:i}=b(S,s),l=p(s),d=(0,n.useComposedRefs)(a,i);return(0,t.jsx)(o.Close,{...l,...r,ref:d})});P.displayName=S;var _=({contentRef:e})=>{let t=`\`${g}\` requires a description for the component to be accessible for screen reader users.
2
-
3
- You can add a description to the \`${g}\` by passing a \`${k}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
-
5
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${g}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
-
7
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return r.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},R=e.i(647163),D=e.i(167881);let M=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(f,{className:(0,R.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...a,ref:s}));M.displayName=f.displayName;let E=r.forwardRef(({className:e,...a},s)=>(0,t.jsxs)(x,{children:[(0,t.jsx)(M,{}),(0,t.jsx)(j,{ref:s,className:(0,R.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",e),...a})]}));E.displayName=j.displayName;let z=({className:e,...a})=>(0,t.jsx)("div",{className:(0,R.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...a});z.displayName="AlertDialogHeader";let L=({className:e,...a})=>(0,t.jsx)("div",{className:(0,R.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});L.displayName="AlertDialogFooter";let I=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(N,{ref:s,className:(0,R.cn)("text-lg font-semibold",e),...a}));I.displayName=N.displayName;let O=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(C,{ref:s,className:(0,R.cn)("text-sm text-muted-foreground",e),...a}));O.displayName=C.displayName;let H=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(T,{ref:s,className:(0,R.cn)((0,D.buttonVariants)(),e),...a}));H.displayName=T.displayName;let A=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(P,{ref:s,className:(0,R.cn)((0,D.buttonVariants)({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));A.displayName=P.displayName,e.s(["ConfirmDialog",0,function({open:e,onOpenChange:r,title:i,description:n,confirmLabel:o="Confirm",cancelLabel:l="Cancel",destructive:d,isLoading:c,onConfirm:u}){return(0,t.jsx)(h,{open:e,onOpenChange:r,children:(0,t.jsxs)(E,{children:[(0,t.jsx)(z,{children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[d&&(0,t.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-destructive/10 text-destructive",children:(0,t.jsx)(a.AlertTriangle,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5",children:[(0,t.jsx)(I,{className:(0,R.cn)(d&&"text-foreground"),children:i}),(0,t.jsx)(O,{children:n})]})]})}),(0,t.jsxs)(L,{children:[(0,t.jsx)(A,{disabled:c,children:l}),(0,t.jsxs)(H,{onClick:e=>{e.preventDefault(),u()},disabled:c,className:(0,R.cn)(d&&"bg-destructive text-white shadow-sm shadow-destructive/30 hover:bg-destructive/90 focus-visible:ring-destructive/40"),children:[c&&(0,t.jsx)(s.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),o]})]})]})})}],57559)},947627,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Table",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,a.cn)("w-full caption-bottom text-sm",e),...s})})},"TableBody",0,function({className:e,...s}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,a.cn)("[&_tr:last-child]:border-0",e),...s})},"TableCell",0,function({className:e,...s}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,a.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s})},"TableHead",0,function({className:e,...s}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,a.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s})},"TableHeader",0,function({className:e,...s}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,a.cn)("[&_tr]:border-b",e),...s})},"TableRow",0,function({className:e,...s}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,a.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...s})}])},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],107233)},137309,117089,e=>{"use strict";var t=e.i(843476);let a=(0,e.i(475254).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var s=e.i(947627),r=e.i(647163);e.s(["DataTableCell",0,function({className:e,...a}){return(0,t.jsx)(s.TableCell,{className:(0,r.cn)("py-2 first:pl-4 last:pr-4",e),...a})},"DataTableEmpty",0,function({colSpan:e,children:r}){return(0,t.jsx)(s.TableRow,{className:"hover:bg-transparent",children:(0,t.jsx)(s.TableCell,{colSpan:e,className:"h-48 text-center align-middle text-muted-foreground/40",children:(0,t.jsx)("div",{className:"flex items-center justify-center",children:(0,t.jsx)(a,{className:"h-8 w-8","aria-label":"empty"})})})})},"DataTableHead",0,function({className:e,...a}){return(0,t.jsx)(s.TableHead,{className:(0,r.cn)("h-10 text-xs font-semibold uppercase tracking-wide text-muted-foreground/80 first:pl-4 last:pr-4",e),...a})},"DataTableHeader",0,function({className:e,...a}){return(0,t.jsx)(s.TableHeader,{className:(0,r.cn)("bg-muted/40 sticky top-0 z-10",e),...a})},"DataTableHeaderRow",0,function({className:e,...a}){return(0,t.jsx)(s.TableRow,{className:(0,r.cn)("hover:bg-transparent border-b-muted/60 shadow-sm",e),...a})},"DataTableRow",0,function({className:e,interactive:a=!0,...i}){return(0,t.jsx)(s.TableRow,{className:(0,r.cn)("h-10 border-b-muted/20 even:bg-muted/50 group",a&&"cursor-pointer hover:bg-muted/90",e),...i})},"DataTableShell",0,function({className:e,...a}){return(0,t.jsx)("div",{className:"overflow-hidden",children:(0,t.jsx)(s.Table,{className:e,...a})})}],137309),e.s(["DataTableBody",()=>s.TableBody],117089)},630374,e=>{"use strict";var t=e.i(843476),a=e.i(326999),s=e.i(995926),r=e.i(647163);function i({...e}){return(0,t.jsx)(a.Portal,{"data-slot":"dialog-portal",...e})}function n({className:e,...s}){return(0,t.jsx)(a.Overlay,{"data-slot":"dialog-overlay",className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...s})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(a.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:o,showCloseButton:l=!0,...d}){return(0,t.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,t.jsx)(n,{}),(0,t.jsxs)(a.Content,{"data-slot":"dialog-content",className:(0,r.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...d,children:[o,l&&(0,t.jsxs)(a.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,t.jsx)(s.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"DialogDescription",0,function({className:e,...s}){return(0,t.jsx)(a.Description,{"data-slot":"dialog-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...s})},"DialogFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"dialog-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...a})},"DialogHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"dialog-header",className:(0,r.cn)("flex flex-col gap-2 text-center sm:text-left",e),...a})},"DialogTitle",0,function({className:e,...s}){return(0,t.jsx)(a.Title,{"data-slot":"dialog-title",className:(0,r.cn)("text-lg leading-none font-semibold",e),...s})}])},994179,e=>{"use strict";var t=e.i(843476),a=e.i(991918),s=e.i(225913),r=e.i(647163);let i=(0,s.cva)("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:s,asChild:n=!1,...o}){let l=n?a.Slot:"span";return(0,t.jsx)(l,{"data-slot":"badge",className:(0,r.cn)(i({variant:s}),e),...o})}])},282022,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/logs/generations",key:"logs",staleTime:3e4});e.s(["logs",0,t])},32506,e=>{"use strict";var t=e.i(954616),a=e.i(266027),s=e.i(718512),r=e.i(715760);let i=(0,s.defineResource)({path:"/providers",key:"providers",listShape:"array",staleTime:6e4,invalidates:["models"]}),n={...i,listModels:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/models`),reload:()=>(0,r.fetcher)("/providers/reload",{method:"POST"}),check:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/check`,{method:"POST"}),probe:e=>(0,r.fetcher)("/providers/probe",{method:"POST",body:JSON.stringify({health_check_url:e}),headers:{"Content-Type":"application/json"}}),useModels:e=>(0,a.useQuery)({queryKey:[...i.keys.one(e??""),"models"],queryFn:()=>n.listModels(e),enabled:!!e}),useReload:e=>{let a=i.useInvalidate();return(0,t.useMutation)({mutationFn:n.reload,...e,onSuccess:(t,s,r,i)=>{a(),e?.onSuccess?.(t,s,r,i)}})},useCheck:(e,a)=>{let s=i.useInvalidate();return(0,t.useMutation)({mutationFn:()=>n.check(e),...a,onSuccess:(e,t,r,i)=>{s(),a?.onSuccess?.(e,t,r,i)}})}};e.s(["providers",0,n])},511169,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/users",key:"users",staleTime:6e4});e.s(["users",0,t])},251383,402487,581445,778296,585381,e=>{"use strict";e.i(511169),e.i(32506),e.i(733467),e.i(518874),e.i(282022),e.i(777951);var t=e.i(718512);let a=(0,t.defineResource)({path:"/capabilities",key:"capabilities",listShape:"array",staleTime:6e4});e.s(["capabilities",0,a],402487);let s=(0,t.defineResource)({path:"/adapters",key:"adapters",listShape:"array",staleTime:6e4});e.s(["adapters",0,s],581445);let r=(0,t.defineResource)({path:"/variants",key:"variants",listShape:"array",staleTime:6e4});e.s(["variants",0,r],778296);let i=(0,t.defineResource)({path:"/tools",key:"tools",listShape:"array",staleTime:6e4});e.s(["tools",0,i],585381),e.i(281601),e.s([],251383)},777951,e=>{"use strict";var t=e.i(869230),a=e.i(992571),s=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:s}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:n,isError:o,isRefetchError:l}=r,d=s.fetchMeta?.fetchMore?.direction,c=o&&"forward"===d,u=i&&"forward"===d,m=o&&"backward"===d,p=i&&"backward"===d;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,a.hasNextPage)(t,s.data),hasPreviousPage:(0,a.hasPreviousPage)(t,s.data),isFetchNextPageError:c,isFetchingNextPage:u,isFetchPreviousPageError:m,isFetchingPreviousPage:p,isRefetchError:l&&!c&&!m,isRefetching:n&&!u&&!p}}},r=e.i(469637),i=e.i(912598),n=e.i(718512),o=e.i(715760);let l=(0,n.defineResource)({path:"/conversations",key:"conversations",paramsOf:e=>({page:e.page??1,page_size:e.page_size??20,sort:e.sort??"-updated_at",keyword:e.keyword}),staleTime:6e4}),d={...l,updateTitle:(e,t)=>l.update(e,{title:t}),messagesCacheKey:function(e,t){return[...l.keys.one(e),"messages-cache",t]},useInvalidateList:()=>{let e=(0,i.useQueryClient)();return()=>e.invalidateQueries({queryKey:l.keys.all(),predicate:e=>{let t=e.queryKey;return t.length>=2&&("list"===t[1]||"infinite"===t[1])}})},useInfinite:e=>{var t;let a=e?.pageSize??20,i=e?.keyword?.trim()||void 0;return t={queryKey:[...l.keys.all(),"infinite",e?.scope??"default",a,i??""],initialPageParam:1,queryFn:({pageParam:e=1})=>l.list({page:e,page_size:a,keyword:i}),getNextPageParam:e=>{if(e)return e.page*e.page_size<e.total?e.page+1:void 0}},(0,r.useBaseQuery)(t,s,void 0)},listMessages:(e,t)=>(0,o.fetcher)(`/conversations/${encodeURIComponent(e)}/messages?`+new URLSearchParams({page:String(t?.page??1),page_size:String(t?.page_size??50),sort:t?.sort??"-created_at"}).toString())},c=["messages"];e.s(["conversations",0,d,"messages",0,{keys:{all:()=>c},rate:(e,t,a)=>(0,o.fetcher)(`/messages/${encodeURIComponent(e)}/rate`,{method:"POST",body:JSON.stringify({rating:t,feedback:a})})}],777951)},281601,e=>{"use strict";var t=e.i(954616),a=e.i(266027),s=e.i(912598),r=e.i(718512),i=e.i(715760);let n=(0,r.defineResource)({path:"/mcp/servers",key:"mcp-servers",listShape:"array",staleTime:6e4}),o={...n,listPresets:()=>(0,i.fetcher)("/mcp/presets"),usePresets:()=>(0,a.useQuery)({queryKey:["mcp-presets"],queryFn:()=>o.listPresets(),staleTime:3e5}),check:e=>(0,i.fetcher)(`/mcp/servers/${encodeURIComponent(e)}/check`,{method:"POST"}),useCheck:e=>{let a=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:e=>o.check(e),onSuccess:t=>{a.invalidateQueries({queryKey:n.keys.all()}),e?.onSuccess?.(t)},onError:t=>e?.onError?.(t)})}};e.s(["mcpServers",0,o])},788699,e=>{"use strict";let t=(0,e.i(475254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],788699)},319036,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(981140),r=e.i(820783),i=e.i(30030),n=e.i(369340),o=e.i(999682),l=e.i(635804),d=e.i(248425),c="Switch",[u,m]=(0,i.createContextScope)(c),[p,h]=u(c);function x(e){let{__scopeSwitch:s,checked:r,children:i,defaultChecked:o,disabled:l,form:d,name:u,onCheckedChange:m,required:h,value:x="on",internal_do_not_use_render:f}=e,[g,v]=(0,n.useControllableState)({prop:r,defaultProp:o??!1,onChange:m,caller:c}),[b,y]=a.useState(null),[j,w]=a.useState(null),N=a.useRef(!1),k=!b||!!d||!!b.closest("form"),C={checked:g,setChecked:v,disabled:l,control:b,setControl:y,name:u,form:d,value:x,hasConsumerStoppedPropagationRef:N,required:h,defaultChecked:o,isFormControl:k,bubbleInput:j,setBubbleInput:w};return(0,t.jsx)(p,{scope:s,...C,children:"function"==typeof f?f(C):i})}var f="SwitchTrigger",g=a.forwardRef(({__scopeSwitch:e,onClick:a,...i},n)=>{let{value:o,disabled:l,checked:c,required:u,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:x,isFormControl:g,bubbleInput:v}=h(f,e),b=(0,r.useComposedRefs)(n,m);return(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":c,"aria-required":u,"data-state":N(c),"data-disabled":l?"":void 0,disabled:l,value:o,...i,ref:b,onClick:(0,s.composeEventHandlers)(a,e=>{p(e=>!e),v&&g&&(x.current=e.isPropagationStopped(),x.current||e.stopPropagation())})})});g.displayName=f;var v=a.forwardRef((e,a)=>{let{__scopeSwitch:s,name:r,checked:i,defaultChecked:n,required:o,disabled:l,value:d,onCheckedChange:c,form:u,...m}=e;return(0,t.jsx)(x,{__scopeSwitch:s,checked:i,defaultChecked:n,disabled:l,required:o,onCheckedChange:c,name:r,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{...m,ref:a,__scopeSwitch:s}),e&&(0,t.jsx)(w,{__scopeSwitch:s})]})})});v.displayName=c;var b="SwitchThumb",y=a.forwardRef((e,a)=>{let{__scopeSwitch:s,...r}=e,i=h(b,s);return(0,t.jsx)(d.Primitive.span,{"data-state":N(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:a})});y.displayName=b;var j="SwitchBubbleInput",w=a.forwardRef(({__scopeSwitch:e,...s},i)=>{let{control:n,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:m,required:p,disabled:x,name:f,value:g,form:v,bubbleInput:b,setBubbleInput:y}=h(j,e),w=(0,r.useComposedRefs)(i,y),N=(0,o.usePrevious)(u),k=(0,l.useSize)(n);a.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(N!==u&&e){let a=new Event("click",{bubbles:t});e.call(b,u),b.dispatchEvent(a)}},[b,N,u,c]);let C=a.useRef(u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??C.current,required:p,disabled:x,name:f,value:g,form:v,...s,tabIndex:-1,ref:w,style:{...s.style,...k,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function N(e){return e?"checked":"unchecked"}w.displayName=j;var k=e.i(647163);e.s(["Switch",0,function({className:e,...a}){return(0,t.jsx)(v,{"data-slot":"switch",className:(0,k.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...a,children:(0,t.jsx)(y,{"data-slot":"switch-thumb",className:(0,k.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}],319036)},184762,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Textarea",0,function({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...s})}])},671428,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Skeleton",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("bg-accent animate-pulse rounded-md",e),...s})}])},373375,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],373375)},790092,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);e.s(["RefreshCcw",0,t],790092)},728231,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(981140),r=e.i(820783),i=e.i(30030),n=e.i(726330),o=e.i(610772),l=e.i(853660),d=(e.i(774606),e.i(296626)),c=e.i(248425),u=e.i(991918),m=e.i(369340),p=e.i(959411),[h,x]=(0,i.createContextScope)("Tooltip",[l.createPopperScope]),f=(0,l.createPopperScope)(),g="TooltipProvider",v="tooltip.open",[b,y]=h(g),j=e=>{let{__scopeTooltip:s,delayDuration:r=700,skipDelayDuration:i=300,disableHoverableContent:n=!1,children:o}=e,l=a.useRef(!0),d=a.useRef(!1),c=a.useRef(0);return a.useEffect(()=>{let e=c.current;return()=>window.clearTimeout(e)},[]),(0,t.jsx)(b,{scope:s,isOpenDelayedRef:l,delayDuration:r,onOpen:a.useCallback(()=>{i<=0||(window.clearTimeout(c.current),l.current=!1)},[i]),onClose:a.useCallback(()=>{i<=0||(window.clearTimeout(c.current),c.current=window.setTimeout(()=>l.current=!0,i))},[i]),isPointerInTransitRef:d,onPointerInTransitChange:a.useCallback(e=>{d.current=e},[]),disableHoverableContent:n,children:o})};j.displayName=g;var w="Tooltip",[N,k]=h(w),C=e=>{let{__scopeTooltip:s,children:r,open:i,defaultOpen:n,onOpenChange:d,disableHoverableContent:c,delayDuration:u}=e,p=y(w,e.__scopeTooltip),h=f(s),[x,g]=a.useState(null),b=(0,o.useId)(),j=a.useRef(0),k=c??p.disableHoverableContent,C=u??p.delayDuration,T=a.useRef(!1),[S,P]=(0,m.useControllableState)({prop:i,defaultProp:n??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(v))):p.onClose(),d?.(e)},caller:w}),_=a.useMemo(()=>S?T.current?"delayed-open":"instant-open":"closed",[S]),R=a.useCallback(()=>{window.clearTimeout(j.current),j.current=0,T.current=!1,P(!0)},[P]),D=a.useCallback(()=>{window.clearTimeout(j.current),j.current=0,P(!1)},[P]),M=a.useCallback(()=>{window.clearTimeout(j.current),j.current=window.setTimeout(()=>{T.current=!0,P(!0),j.current=0},C)},[C,P]);return a.useEffect(()=>()=>{j.current&&(window.clearTimeout(j.current),j.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(N,{scope:s,contentId:b,open:S,stateAttribute:_,trigger:x,onTriggerChange:g,onTriggerEnter:a.useCallback(()=>{p.isOpenDelayedRef.current?M():R()},[p.isOpenDelayedRef,M,R]),onTriggerLeave:a.useCallback(()=>{k?D():(window.clearTimeout(j.current),j.current=0)},[D,k]),onOpen:R,onClose:D,disableHoverableContent:k,children:r})})};C.displayName=w;var T="TooltipTrigger",S=a.forwardRef((e,i)=>{let{__scopeTooltip:n,...o}=e,d=k(T,n),u=y(T,n),m=f(n),p=a.useRef(null),h=(0,r.useComposedRefs)(i,p,d.onTriggerChange),x=a.useRef(!1),g=a.useRef(!1),v=a.useCallback(()=>x.current=!1,[]);return a.useEffect(()=>()=>document.removeEventListener("pointerup",v),[v]),(0,t.jsx)(l.Anchor,{asChild:!0,...m,children:(0,t.jsx)(c.Primitive.button,{"aria-describedby":d.open?d.contentId:void 0,"data-state":d.stateAttribute,...o,ref:h,onPointerMove:(0,s.composeEventHandlers)(e.onPointerMove,e=>{"touch"!==e.pointerType&&(g.current||u.isPointerInTransitRef.current||(d.onTriggerEnter(),g.current=!0))}),onPointerLeave:(0,s.composeEventHandlers)(e.onPointerLeave,()=>{d.onTriggerLeave(),g.current=!1}),onPointerDown:(0,s.composeEventHandlers)(e.onPointerDown,()=>{d.open&&d.onClose(),x.current=!0,document.addEventListener("pointerup",v,{once:!0})}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{x.current||d.onOpen()}),onBlur:(0,s.composeEventHandlers)(e.onBlur,d.onClose),onClick:(0,s.composeEventHandlers)(e.onClick,d.onClose)})})});S.displayName=T;var[P,_]=h("TooltipPortal",{forceMount:void 0}),R="TooltipContent",D=a.forwardRef((e,a)=>{let s=_(R,e.__scopeTooltip),{forceMount:r=s.forceMount,side:i="top",...n}=e,o=k(R,e.__scopeTooltip);return(0,t.jsx)(d.Presence,{present:r||o.open,children:o.disableHoverableContent?(0,t.jsx)(I,{side:i,...n,ref:a}):(0,t.jsx)(M,{side:i,...n,ref:a})})}),M=a.forwardRef((e,s)=>{let i=k(R,e.__scopeTooltip),n=y(R,e.__scopeTooltip),o=a.useRef(null),l=(0,r.useComposedRefs)(s,o),[d,c]=a.useState(null),{trigger:u,onClose:m}=i,p=o.current,{onPointerInTransitChange:h}=n,x=a.useCallback(()=>{c(null),h(!1)},[h]),f=a.useCallback((e,t)=>{let a,s=e.currentTarget,r={x:e.clientX,y:e.clientY},i=function(e,t){let a=Math.abs(t.top-e.y),s=Math.abs(t.bottom-e.y),r=Math.abs(t.right-e.x),i=Math.abs(t.left-e.x);switch(Math.min(a,s,r,i)){case i:return"left";case r:return"right";case a:return"top";case s:return"bottom";default:throw Error("unreachable")}}(r,s.getBoundingClientRect());c(((a=[...function(e,t,a=5){let s=[];switch(t){case"top":s.push({x:e.x-a,y:e.y+a},{x:e.x+a,y:e.y+a});break;case"bottom":s.push({x:e.x-a,y:e.y-a},{x:e.x+a,y:e.y-a});break;case"left":s.push({x:e.x+a,y:e.y-a},{x:e.x+a,y:e.y+a});break;case"right":s.push({x:e.x-a,y:e.y-a},{x:e.x-a,y:e.y+a})}return s}(r,i),...function(e){let{top:t,right:a,bottom:s,left:r}=e;return[{x:r,y:t},{x:a,y:t},{x:a,y:s},{x:r,y:s}]}(t.getBoundingClientRect())].slice()).sort((e,t)=>e.x<t.x?-1:e.x>t.x?1:e.y<t.y?-1:1*!!(e.y>t.y)),function(e){if(e.length<=1)return e.slice();let t=[];for(let a=0;a<e.length;a++){let s=e[a];for(;t.length>=2;){let e=t[t.length-1],a=t[t.length-2];if((e.x-a.x)*(s.y-a.y)>=(e.y-a.y)*(s.x-a.x))t.pop();else break}t.push(s)}t.pop();let a=[];for(let t=e.length-1;t>=0;t--){let s=e[t];for(;a.length>=2;){let e=a[a.length-1],t=a[a.length-2];if((e.x-t.x)*(s.y-t.y)>=(e.y-t.y)*(s.x-t.x))a.pop();else break}a.push(s)}return(a.pop(),1===t.length&&1===a.length&&t[0].x===a[0].x&&t[0].y===a[0].y)?t:t.concat(a)}(a))),h(!0)},[h]);return a.useEffect(()=>()=>x(),[x]),a.useEffect(()=>{if(u&&p){let e=e=>f(e,p),t=e=>f(e,u);return u.addEventListener("pointerleave",e),p.addEventListener("pointerleave",t),()=>{u.removeEventListener("pointerleave",e),p.removeEventListener("pointerleave",t)}}},[u,p,f,x]),a.useEffect(()=>{if(d){let e=e=>{let t=e.target,a={x:e.clientX,y:e.clientY},s=u?.contains(t)||p?.contains(t),r=!function(e,t){let{x:a,y:s}=e,r=!1;for(let e=0,i=t.length-1;e<t.length;i=e++){let n=t[e],o=t[i],l=n.x,d=n.y,c=o.x,u=o.y;d>s!=u>s&&a<(c-l)*(s-d)/(u-d)+l&&(r=!r)}return r}(a,d);s?x():r&&(x(),m())};return document.addEventListener("pointermove",e),()=>document.removeEventListener("pointermove",e)}},[u,p,d,m,x]),(0,t.jsx)(I,{...e,ref:l})}),[E,z]=h(w,{isInside:!1}),L=(0,u.createSlottable)("TooltipContent"),I=a.forwardRef((e,s)=>{let{__scopeTooltip:r,children:i,"aria-label":o,onEscapeKeyDown:d,onPointerDownOutside:c,...u}=e,m=k(R,r),h=f(r),{onClose:x}=m;return a.useEffect(()=>(document.addEventListener(v,x),()=>document.removeEventListener(v,x)),[x]),a.useEffect(()=>{if(m.trigger){let e=e=>{e.target instanceof Node&&e.target.contains(m.trigger)&&x()};return window.addEventListener("scroll",e,{capture:!0}),()=>window.removeEventListener("scroll",e,{capture:!0})}},[m.trigger,x]),(0,t.jsx)(n.DismissableLayer,{asChild:!0,disableOutsidePointerEvents:!1,onEscapeKeyDown:d,onPointerDownOutside:c,onFocusOutside:e=>e.preventDefault(),onDismiss:x,children:(0,t.jsxs)(l.Content,{"data-state":m.stateAttribute,...h,...u,ref:s,style:{...u.style,"--radix-tooltip-content-transform-origin":"var(--radix-popper-transform-origin)","--radix-tooltip-content-available-width":"var(--radix-popper-available-width)","--radix-tooltip-content-available-height":"var(--radix-popper-available-height)","--radix-tooltip-trigger-width":"var(--radix-popper-anchor-width)","--radix-tooltip-trigger-height":"var(--radix-popper-anchor-height)"},children:[(0,t.jsx)(L,{children:i}),(0,t.jsx)(E,{scope:r,isInside:!0,children:(0,t.jsx)(p.Root,{id:m.contentId,role:"tooltip",children:o||i})})]})})});D.displayName=R;var O="TooltipArrow";a.forwardRef((e,a)=>{let{__scopeTooltip:s,...r}=e,i=f(s);return z(O,s).isInside?null:(0,t.jsx)(l.Arrow,{...i,...r,ref:a})}).displayName=O;var H=e.i(647163);let A=a.forwardRef(({className:e,sideOffset:a=4,...s},r)=>(0,t.jsx)(D,{ref:r,sideOffset:a,className:(0,H.cn)("z-50 overflow-hidden rounded-md border bg-popover px-3 py-1.5 text-sm text-popover-foreground shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2",e),...s}));A.displayName=D.displayName,e.s(["Tooltip",0,C,"TooltipContent",0,A,"TooltipProvider",0,j,"TooltipTrigger",0,S],728231)},871689,248256,e=>{"use strict";var t=e.i(475254);let a=(0,t.default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);e.s(["ArrowLeft",0,a],871689);let s=(0,t.default)("globe",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"M12 2a14.5 14.5 0 0 0 0 20 14.5 14.5 0 0 0 0-20",key:"13o1zl"}],["path",{d:"M2 12h20",key:"9i4pu4"}]]);e.s(["Globe",0,s],248256)},21218,e=>{"use strict";let t=(0,e.i(475254).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],21218)},535437,e=>{"use strict";var t=e.i(843476),a=e.i(630374),s=e.i(271645),r=e.i(846696),i=e.i(531278);e.i(251383);var n=e.i(402487),o=e.i(733467),l=e.i(32506),d=e.i(778296),c=e.i(167881),u=e.i(23750),m=e.i(10708),p=e.i(319036),h=e.i(184762),x=e.i(62870);function f({mode:e,model:a,defaultProviderId:v,onSaved:b,onCancel:y}){let{data:j}=l.providers.useList(),{data:w}=n.capabilities.useList(),{data:N}=d.variants.useList(),[k,C]=(0,s.useState)(""),[T,S]=(0,s.useState)(""),[P,_]=(0,s.useState)(""),[R,D]=(0,s.useState)("chat"),[M,E]=(0,s.useState)(""),[z,L]=(0,s.useState)(""),[I,O]=(0,s.useState)(""),[H,A]=(0,s.useState)(""),[B,F]=(0,s.useState)(""),[$,U]=(0,s.useState)("{}"),[q,V]=(0,s.useState)(!0),[K,Q]=(0,s.useState)(null),J=(0,s.useMemo)(()=>"create"===e&&!!a?.is_discovered,[e,a?.is_discovered]),X="edit"===e||J;(0,s.useEffect)(()=>{a?(C(a.name),S(a.provider_id??""),_(a.model_id??a.name),D(a.type??"chat"),E(a.api_variant_id??a.resolved_variant_id??""),L(a.context_window?.toString()??""),O(a.max_tokens?.toString()??""),A(a.output_dimension?.toString()??""),F(a.description??""),U(JSON.stringify(a.default_params??{},null,2)),V(!1!==a.enabled)):(C(""),S(v??""),_(""),D("chat"),E(""),L(""),O(""),A(""),F(""),U("{}"),V(!0)),Q(null)},[e,a,v]);let G=o.models.useCreate({onSuccess:e=>{r.toast.success("Saved"),b?.(e)},onError:e=>r.toast.error(e.message||"Save failed")}),Y=o.models.useUpdate({onSuccess:e=>{r.toast.success("Saved"),b?.(e??null)},onError:e=>r.toast.error(e.message||"Save failed")}),W=G.isPending||Y.isPending,Z=a||"edit"===e?"Save":"Create",ee=(0,s.useMemo)(()=>(N??[]).filter(e=>e.capability===R),[N,R]),et=(0,s.useMemo)(()=>(j??[]).find(e=>e.id===T),[j,T]);return(0,t.jsxs)("form",{onSubmit:t=>{if(t.preventDefault(),!k.trim())return r.toast.error("Name required");if(!T)return r.toast.error("Provider required");if(!P.trim())return r.toast.error("Upstream model id required");let s={};try{s=$.trim()?JSON.parse($):{},Q(null)}catch(e){Q(e instanceof Error?e.message:"Invalid JSON");return}let i={name:k.trim(),provider_id:T,upstream_model_id:P.trim(),type:R,api_variant_id:M||null,default_params:s,context_window:z?Number(z):null,max_tokens:I?Number(I):null,output_dimension:H?Number(H):null,description:B||null,enabled:q};J&&a?.meta?.raw!=null&&(i.discovered_metadata=a.meta.raw),"create"===e?G.mutate(i):a&&Y.mutate({id:a.id,data:i})},className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsx)(g,{label:"Display name",htmlFor:"m-name",children:(0,t.jsx)(u.Input,{id:"m-name",value:k,onChange:e=>C(e.target.value),placeholder:"gpt-4o-mini",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(g,{label:"Upstream model ID",htmlFor:"m-up",children:(0,t.jsx)(u.Input,{id:"m-up",value:P,onChange:e=>_(e.target.value),placeholder:"gpt-4o-mini",className:"h-9 text-sm font-mono"})})]}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsx)(g,{label:"Provider",children:X?(0,t.jsx)(u.Input,{value:et?.name??T,readOnly:!0,disabled:!0,className:"h-9 text-sm font-mono bg-muted/40"}):(0,t.jsxs)(x.Select,{value:T,onValueChange:S,children:[(0,t.jsx)(x.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(x.SelectValue,{placeholder:"Select provider"})}),(0,t.jsx)(x.SelectContent,{children:(j??[]).map(e=>(0,t.jsx)(x.SelectItem,{value:e.id,children:e.name},e.id))})]})}),(0,t.jsx)(g,{label:"Capability",children:(0,t.jsxs)(x.Select,{value:R,onValueChange:D,children:[(0,t.jsx)(x.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(x.SelectValue,{})}),(0,t.jsxs)(x.SelectContent,{children:[(w??[]).map(e=>(0,t.jsx)(x.SelectItem,{value:e.id,children:e.label},e.id)),R&&!(w??[]).some(e=>e.id===R)&&(0,t.jsx)(x.SelectItem,{value:R,children:R})]})]})})]}),ee.length>1&&M&&(0,t.jsx)(g,{label:"Upstream API",children:(0,t.jsxs)(x.Select,{value:M,onValueChange:E,children:[(0,t.jsx)(x.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(x.SelectValue,{})}),(0,t.jsxs)(x.SelectContent,{children:[ee.map(e=>(0,t.jsx)(x.SelectItem,{value:e.id,children:(0,t.jsx)("span",{className:"font-mono text-xs",children:e.id})},e.id)),!ee.some(e=>e.id===M)&&(0,t.jsx)(x.SelectItem,{value:M,children:(0,t.jsx)("span",{className:"font-mono text-xs",children:M})})]})]})}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-3 gap-3",children:[(0,t.jsx)(g,{label:"Context window",htmlFor:"m-ctx",children:(0,t.jsx)(u.Input,{id:"m-ctx",type:"number",value:z,onChange:e=>L(e.target.value),className:"h-9 text-sm"})}),(0,t.jsx)(g,{label:"Max tokens",htmlFor:"m-max",children:(0,t.jsx)(u.Input,{id:"m-max",type:"number",value:I,onChange:e=>O(e.target.value),className:"h-9 text-sm"})}),(0,t.jsx)(g,{label:"Output dim",htmlFor:"m-dim",children:(0,t.jsx)(u.Input,{id:"m-dim",type:"number",value:H,onChange:e=>A(e.target.value),className:"h-9 text-sm"})})]}),(0,t.jsx)(g,{label:"Description",htmlFor:"m-desc",children:(0,t.jsx)(u.Input,{id:"m-desc",value:B,onChange:e=>F(e.target.value),className:"h-9 text-sm"})}),(0,t.jsxs)(g,{label:"Default params (JSON)",htmlFor:"m-params",children:[(0,t.jsx)(h.Textarea,{id:"m-params",value:$,onChange:e=>U(e.target.value),rows:5,className:"text-xs font-mono"}),K&&(0,t.jsx)("span",{className:"text-xs text-destructive",children:K})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(m.Label,{htmlFor:"m-enabled",className:"text-xs",children:"Enabled"}),(0,t.jsx)(p.Switch,{id:"m-enabled",checked:q,onCheckedChange:V})]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2",children:[(0,t.jsx)(c.Button,{type:"button",variant:"outline",size:"sm",onClick:y,disabled:W,children:"Cancel"}),(0,t.jsxs)(c.Button,{type:"submit",size:"sm",disabled:W,children:[W&&(0,t.jsx)(i.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),Z]})]})]})}function g({label:e,htmlFor:a,children:s}){return(0,t.jsxs)("div",{className:"grid gap-1.5 min-w-0",children:[(0,t.jsx)(m.Label,{htmlFor:a,className:"text-xs",children:e}),s]})}e.s(["ModelFormDialog",0,function({open:e,onOpenChange:s,mode:r,model:i,defaultProviderId:n}){let o=i||"edit"===r?"Edit":"Add model";return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-[640px] max-h-[90vh] overflow-y-auto",onOpenAutoFocus:i?e=>e.preventDefault():void 0,children:[(0,t.jsx)(a.DialogHeader,{children:(0,t.jsx)(a.DialogTitle,{children:o})}),e&&(0,t.jsx)(f,{mode:r,model:i,defaultProviderId:n,onSaved:()=>s(!1),onCancel:()=>s(!1)})]})})}],535437)},421502,e=>{"use strict";let t={chat:"Chat",embedding:"Embedding",image:"Image","audio.speech":"Speech","audio.transcription":"Transcription",rerank:"Rerank"};e.s(["capabilityLabel",0,function(e){return e?t[e]?t[e]:(e.includes(".")?e.split(".").pop():e).replace(/[-_]/g," ").replace(/\b\w/g,e=>e.toUpperCase()):"—"}])},174886,e=>{"use strict";let t=(0,e.i(475254).default)("copy",[["rect",{width:"14",height:"14",x:"8",y:"8",rx:"2",ry:"2",key:"17jyea"}],["path",{d:"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2",key:"zix9uf"}]]);e.s(["Copy",0,t],174886)},178583,e=>{"use strict";let t=(0,e.i(475254).default)("file-text",[["path",{d:"M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z",key:"1oefj6"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10 9H8",key:"b1mrlr"}],["path",{d:"M16 13H8",key:"t4e002"}],["path",{d:"M16 17H8",key:"z1uh3a"}]]);e.s(["FileText",0,t],178583)},70878,e=>{"use strict";var t=e.i(843476),a=e.i(618566),s=e.i(846696),r=e.i(174886),i=e.i(788699),n=e.i(727612),o=e.i(994179),l=e.i(167881),d=e.i(137309),c=e.i(117089),u=e.i(728231),m=e.i(421502);e.s(["ModelsTable",0,function({models:e,onEdit:p,onDelete:h}){let x=(0,a.useRouter)(),f=!!p||!!h;return(0,t.jsxs)(d.DataTableShell,{children:[(0,t.jsx)(d.DataTableHeader,{children:(0,t.jsxs)(d.DataTableHeaderRow,{children:[(0,t.jsx)(d.DataTableHead,{children:"Model Name"}),(0,t.jsx)(d.DataTableHead,{children:"ID"}),(0,t.jsx)(d.DataTableHead,{children:"Provider"}),(0,t.jsx)(d.DataTableHead,{children:"Type"}),(0,t.jsx)(d.DataTableHead,{children:"Context"}),(0,t.jsx)(d.DataTableHead,{children:"Source"}),f&&(0,t.jsx)(d.DataTableHead,{className:"w-[88px] text-right",children:"Actions"})]})}),(0,t.jsx)(c.DataTableBody,{children:0===e.length?(0,t.jsx)(d.DataTableEmpty,{colSpan:f?7:6,children:"No models found."}):e.map(e=>(0,t.jsxs)(d.DataTableRow,{onClick:()=>x.push(`/models/${encodeURIComponent(e.name)}`),title:"Open model dashboard",children:[(0,t.jsx)(d.DataTableCell,{className:"font-mono max-w-[300px]",children:(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2 w-full",children:[(0,t.jsx)("span",{className:"truncate text-xs",title:e.name,children:e.name}),(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-6 w-6 opacity-0 group-hover:opacity-100 transition-opacity shrink-0",onClick:t=>{t.stopPropagation(),navigator.clipboard.writeText(e.name),s.toast.success("Model name copied to clipboard")},children:(0,t.jsx)(r.Copy,{className:"h-3 w-3 text-muted-foreground"})})]})}),(0,t.jsx)(d.DataTableCell,{className:"font-mono text-xs text-muted-foreground max-w-[260px]",children:(0,t.jsx)(u.TooltipProvider,{children:(0,t.jsxs)(u.Tooltip,{children:[(0,t.jsx)(u.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{className:"truncate block cursor-default",children:e.model_id})}),(0,t.jsx)(u.TooltipContent,{side:"top",children:(0,t.jsx)("p",{className:"font-mono text-xs",children:e.model_id})})]})})}),(0,t.jsx)(d.DataTableCell,{children:(0,t.jsx)(o.Badge,{variant:"outline",className:"font-normal text-[10px]",children:e.provider})}),(0,t.jsx)(d.DataTableCell,{children:(0,t.jsx)(o.Badge,{variant:"secondary",className:"font-normal text-[10px]",children:(0,m.capabilityLabel)(e.type)})}),(0,t.jsx)(d.DataTableCell,{children:(0,t.jsx)("span",{className:"font-mono text-xs text-muted-foreground",children:e.context_window?e.context_window>=1e3?`${Math.round(e.context_window/1e3)}k`:e.context_window.toLocaleString():"—"})}),(0,t.jsx)(d.DataTableCell,{children:(0,t.jsx)(o.Badge,{variant:e.is_discovered?"secondary":"default",className:"text-[10px] uppercase",children:e.is_discovered?"discovered":"override"})}),f&&(0,t.jsx)(d.DataTableCell,{className:"text-right",onClick:e=>e.stopPropagation(),children:(0,t.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[p&&(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",title:e.is_discovered?"Promote to override":"Edit",onClick:t=>{t.stopPropagation(),p(e)},children:(0,t.jsx)(i.Pencil,{className:"h-3.5 w-3.5"})}),h&&!e.is_discovered&&(0,t.jsx)(l.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-destructive hover:text-destructive",title:"Delete",onClick:t=>{t.stopPropagation(),h(e)},children:(0,t.jsx)(n.Trash2,{className:"h-3.5 w-3.5"})})]})})]},e.id||e.name))})]})}])},264319,e=>{"use strict";var t=e.i(843476),a=e.i(728231),s=e.i(647163);let r={ok:{label:"Operational",dot:"bg-green-500 ring-green-200",text:"text-green-600 dark:text-green-400"},down:{label:"Down",dot:"bg-red-500 ring-red-200",text:"text-red-600 dark:text-red-400"},unchecked:{label:"Unchecked",dot:"bg-muted-foreground/40 ring-muted-foreground/10",text:"text-muted-foreground"}};e.s(["ProviderHealthPill",0,function({provider:e,size:i="sm"}){var n;let o;if(!e.health_check_url)return null;let l=r[e.last_health_status??"unchecked"],d=(0,t.jsxs)("div",{className:"flex items-center gap-1.5",children:[(0,t.jsx)("span",{className:(0,s.cn)("rounded-full ring-1 ring-offset-1 transition-colors duration-300","sm"===i?"h-1 w-1":"h-1.5 w-1.5",l.dot)}),(0,t.jsx)("span",{className:(0,s.cn)("font-medium uppercase tracking-wide","sm"===i?"text-[10px]":"text-xs",l.text),children:l.label})]}),c=(o=(n=e).last_health_checked_at,"down"===n.last_health_status?(0,t.jsxs)("div",{className:"space-y-1 text-xs",children:[(0,t.jsx)("div",{className:"font-semibold",children:"Health check failed"}),n.last_health_error&&(0,t.jsx)("div",{className:"font-mono text-[11px] opacity-80",children:n.last_health_error}),o&&(0,t.jsxs)("div",{className:"opacity-60",children:["Last checked: ",new Date(o).toLocaleString()]})]}):"ok"===n.last_health_status&&o?(0,t.jsxs)("div",{className:"text-xs",children:["Last checked: ",new Date(o).toLocaleString()]}):n.last_health_status?null:(0,t.jsx)("div",{className:"text-xs",children:"Provider has a health-check URL but has not been probed yet."}));return c?(0,t.jsx)(a.TooltipProvider,{children:(0,t.jsxs)(a.Tooltip,{children:[(0,t.jsx)(a.TooltipTrigger,{asChild:!0,children:d}),(0,t.jsx)(a.TooltipContent,{side:"top",className:"max-w-[280px] break-words",children:c})]})}):d}])},522523,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(618566),r=e.i(21218),i=e.i(871689),n=e.i(373375),o=e.i(178583),l=e.i(248256),d=e.i(107233),c=e.i(790092),u=e.i(846696),m=e.i(733467),p=e.i(32506),h=e.i(138938),x=e.i(994179),f=e.i(167881),g=e.i(970065),v=e.i(57559),b=e.i(671428),y=e.i(422758),j=e.i(70878),w=e.i(535437),N=e.i(264319);function k(){return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"mx-auto w-full max-w-7xl space-y-4 p-4 md:p-6",children:[(0,t.jsx)(b.Skeleton,{className:"h-3 w-20"}),(0,t.jsx)(g.Card,{className:"p-4 md:p-5",children:(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsx)(b.Skeleton,{className:"h-10 w-10 rounded-lg"}),(0,t.jsxs)("div",{className:"flex-1 space-y-2",children:[(0,t.jsx)(b.Skeleton,{className:"h-5 w-48"}),(0,t.jsx)(b.Skeleton,{className:"h-3 w-72"})]})]})}),(0,t.jsx)(b.Skeleton,{className:"h-64 rounded-xl"})]})})}e.s(["default",0,function(){let e=(0,s.useParams)(),C=(0,s.useRouter)(),T=decodeURIComponent(String(e.name??"")),{user:S}=(0,h.useAuth)(),P=S?.role==="admin",{data:_,isLoading:R}=p.providers.useGet(T),{data:D,isLoading:M}=p.providers.useModels(T),[E,z]=a.useState(null),[L,I]=a.useState({open:!1,mode:"create",model:null}),O=p.providers.useReload({onSuccess:()=>u.toast.success("Refreshed model list"),onError:e=>u.toast.error(`Refresh failed: ${e.message}`)}),H=p.providers.useCheck(T,{onSuccess:e=>{e.ok?u.toast.success(`Healthy${null!=e.latency_ms?` (${e.latency_ms}ms)`:""}`):u.toast.error(`Down: ${e.error??"unknown"}`)},onError:e=>u.toast.error(`Health check failed: ${e.message}`)}),A=m.models.useDelete({onSuccess:()=>{u.toast.success("Model deleted"),z(null)},onError:e=>u.toast.error(e.message||"Delete failed")});if(R)return(0,t.jsx)(k,{});if(!_)return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-[50vh] gap-4",children:[(0,t.jsx)("h2",{className:"text-lg font-semibold",children:"Provider not found"}),(0,t.jsxs)(f.Button,{onClick:()=>C.push("/providers"),size:"sm",children:[(0,t.jsx)(i.ArrowLeft,{className:"mr-2 h-4 w-4"}),"Back to Providers"]})]});let B=D?.filter(e=>!e.is_discovered).length??0,F=D?.filter(e=>e.is_discovered).length??0,$=D?.length??0;return(0,t.jsx)("div",{className:"h-full overflow-y-auto",children:(0,t.jsxs)("div",{className:"mx-auto w-full max-w-7xl space-y-4 p-4 md:p-6",children:[(0,t.jsxs)("button",{onClick:()=>C.push("/providers"),className:"inline-flex items-center gap-1 text-xs text-muted-foreground hover:text-foreground",children:[(0,t.jsx)(n.ChevronLeft,{className:"h-3 w-3"}),"Providers"]}),(0,t.jsx)(g.Card,{className:"p-4 md:p-5",children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[(0,t.jsx)("div",{className:"flex h-10 w-10 items-center justify-center rounded-lg bg-muted shrink-0",children:(0,t.jsx)(y.ProviderIcon,{providerName:_.provider_name,className:"h-6 w-6",width:24,height:24})}),(0,t.jsxs)("div",{className:"min-w-0 flex-1 space-y-2",children:[(0,t.jsxs)("div",{className:"flex flex-wrap items-start justify-between gap-2",children:[(0,t.jsx)("h1",{className:"text-lg font-semibold tracking-tight truncate min-w-0",title:_.provider_name,children:_.provider_name}),(0,t.jsxs)("div",{className:"flex flex-wrap items-center gap-2 shrink-0",children:[_.model_page&&(0,t.jsx)(f.Button,{variant:"outline",size:"sm",asChild:!0,children:(0,t.jsxs)("a",{href:_.model_page,target:"_blank",rel:"noreferrer",children:[(0,t.jsx)(l.Globe,{className:"mr-1.5 h-3.5 w-3.5"}),"Models"]})}),_.document_page&&(0,t.jsx)(f.Button,{variant:"outline",size:"sm",asChild:!0,children:(0,t.jsxs)("a",{href:_.document_page,target:"_blank",rel:"noreferrer",children:[(0,t.jsx)(o.FileText,{className:"mr-1.5 h-3.5 w-3.5"}),"Docs"]})}),_.health_check_url&&(0,t.jsxs)(f.Button,{variant:"outline",size:"sm",onClick:()=>H.mutate(),disabled:H.isPending,title:"Run the configured health check now",children:[(0,t.jsx)(r.Activity,{className:`mr-1.5 h-3.5 w-3.5 ${H.isPending?"animate-pulse":""}`}),"Check"]}),(0,t.jsxs)(f.Button,{variant:"outline",size:"sm",onClick:()=>O.mutate(),disabled:O.isPending,children:[(0,t.jsx)(c.RefreshCcw,{className:`mr-1.5 h-3.5 w-3.5 ${O.isPending?"animate-spin":""}`}),"Refresh"]})]})]}),(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,t.jsx)(N.ProviderHealthPill,{provider:_,size:"sm"}),_.adapter_id&&"openai"!==_.adapter_id&&(0,t.jsx)(x.Badge,{variant:"outline",className:"text-[10px] uppercase tracking-wider font-semibold",children:_.adapter_id.replace(/^azure-/,"Azure ")}),(0,t.jsxs)("span",{className:"text-xs text-muted-foreground",children:[$," model",1===$?"":"s"," ·"," ",F," discovered ·"," ",B," override",1===B?"":"s"]})]}),_.proxy&&(0,t.jsxs)("div",{className:"pt-2 mt-1 border-t flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsx)("span",{className:"uppercase tracking-wider text-[10px] font-semibold shrink-0",children:"Endpoint"}),(0,t.jsx)("code",{className:"font-mono truncate min-w-0",children:_.proxy})]})]})]})}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between gap-2",children:[(0,t.jsx)("h2",{className:"text-sm font-semibold tracking-tight",children:"Models"}),P&&(0,t.jsxs)(f.Button,{size:"sm",variant:"secondary",onClick:()=>I({open:!0,mode:"create",model:null}),children:[(0,t.jsx)(d.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add model"]})]}),M?(0,t.jsx)("div",{className:"border rounded-xl bg-card overflow-hidden",children:(0,t.jsx)(b.Skeleton,{className:"h-64 rounded-none"})}):D&&D.length>0?(0,t.jsx)("div",{className:"border rounded-xl bg-card shadow-sm overflow-hidden",children:(0,t.jsx)(j.ModelsTable,{models:D,onEdit:P?e=>I({open:!0,mode:e.is_discovered?"create":"edit",model:e}):void 0,onDelete:P?z:void 0})}):(0,t.jsxs)("div",{className:"text-center py-12 border border-dashed rounded-lg",children:[(0,t.jsx)("p",{className:"text-sm text-muted-foreground mb-3",children:"No models exposed by this provider yet."}),(0,t.jsxs)(f.Button,{variant:"outline",size:"sm",onClick:()=>O.mutate(),disabled:O.isPending,children:[(0,t.jsx)(c.RefreshCcw,{className:`mr-2 h-3.5 w-3.5 ${O.isPending?"animate-spin":""}`}),"Refresh Models"]})]})]}),(0,t.jsx)(v.ConfirmDialog,{open:!!E,onOpenChange:e=>!e&&z(null),title:"Delete model?",description:(0,t.jsxs)(t.Fragment,{children:["This will permanently delete model ",(0,t.jsx)("b",{children:E?.name}),". This cannot be undone."]}),confirmLabel:"Delete",destructive:!0,isLoading:A.isPending,onConfirm:()=>E&&A.mutate(E.id)}),(0,t.jsx)(w.ModelFormDialog,{open:L.open,onOpenChange:e=>I(t=>({...t,open:e})),mode:L.mode,model:L.model,defaultProviderId:_.id})]})})}])}]);
@@ -1,7 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,531278,e=>{"use strict";var t=e.i(717521);e.s(["Loader2",()=>t.default])},23750,e=>{"use strict";var t=e.i(843476),s=e.i(647163);e.s(["Input",0,function({className:e,type:a,...r}){return(0,t.jsx)("input",{type:a,"data-slot":"input",className:(0,s.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}])},10708,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(248425),r=s.forwardRef((e,s)=>(0,t.jsx)(a.Primitive.label,{...e,ref:s,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));r.displayName="Label";var n=e.i(647163);e.s(["Label",0,function({className:e,...s}){return(0,t.jsx)(r,{"data-slot":"label",className:(0,n.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...s})}],10708)},999682,e=>{"use strict";var t=e.i(271645);e.s(["usePrevious",0,function(e){let s=t.useRef({value:e,previous:e});return t.useMemo(()=>(s.current.value!==e&&(s.current.previous=s.current.value,s.current.value=e),s.current.previous),[e])}])},733467,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/models",key:"models",listShape:"array",staleTime:6e4,invalidates:["providers"]});e.s(["models",0,t])},63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,t],63209)},283086,e=>{"use strict";let t=(0,e.i(475254).default)("sparkles",[["path",{d:"M11.017 2.814a1 1 0 0 1 1.966 0l1.051 5.558a2 2 0 0 0 1.594 1.594l5.558 1.051a1 1 0 0 1 0 1.966l-5.558 1.051a2 2 0 0 0-1.594 1.594l-1.051 5.558a1 1 0 0 1-1.966 0l-1.051-5.558a2 2 0 0 0-1.594-1.594l-5.558-1.051a1 1 0 0 1 0-1.966l5.558-1.051a2 2 0 0 0 1.594-1.594z",key:"1s2grr"}],["path",{d:"M20 2v4",key:"1rf3ol"}],["path",{d:"M22 4h-4",key:"gwowj6"}],["circle",{cx:"4",cy:"20",r:"2",key:"6kqj1y"}]]);e.s(["Sparkles",0,t],283086)},790092,e=>{"use strict";let t=(0,e.i(475254).default)("refresh-ccw",[["path",{d:"M21 12a9 9 0 0 0-9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"14sxne"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M3 12a9 9 0 0 0 9 9 9.75 9.75 0 0 0 6.74-2.74L21 16",key:"1hlbsb"}],["path",{d:"M16 16h5v5",key:"ccwih5"}]]);e.s(["RefreshCcw",0,t],790092)},727612,e=>{"use strict";let t=(0,e.i(475254).default)("trash-2",[["path",{d:"M10 11v6",key:"nco0om"}],["path",{d:"M14 11v6",key:"outv1u"}],["path",{d:"M19 6v14a2 2 0 0 1-2 2H7a2 2 0 0 1-2-2V6",key:"miytrc"}],["path",{d:"M3 6h18",key:"d0wm0j"}],["path",{d:"M8 6V4a2 2 0 0 1 2-2h4a2 2 0 0 1 2 2v2",key:"e791ji"}]]);e.s(["Trash2",0,t],727612)},878894,e=>{"use strict";var t=e.i(582458);e.s(["AlertTriangle",()=>t.default])},57559,e=>{"use strict";var t=e.i(843476),s=e.i(878894),a=e.i(531278),r=e.i(271645),n=e.i(30030),i=e.i(820783),l=e.i(326999),o=e.i(981140),d=e.i(991918),c="AlertDialog",[u,m]=(0,n.createContextScope)(c,[l.createDialogScope]),x=(0,l.createDialogScope)(),p=e=>{let{__scopeAlertDialog:s,...a}=e,r=x(s);return(0,t.jsx)(l.Root,{...r,...a,modal:!0})};p.displayName=c,r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,n=x(a);return(0,t.jsx)(l.Trigger,{...n,...r,ref:s})}).displayName="AlertDialogTrigger";var h=e=>{let{__scopeAlertDialog:s,...a}=e,r=x(s);return(0,t.jsx)(l.Portal,{...r,...a})};h.displayName="AlertDialogPortal";var f=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,n=x(a);return(0,t.jsx)(l.Overlay,{...n,...r,ref:s})});f.displayName="AlertDialogOverlay";var g="AlertDialogContent",[v,b]=u(g),j=(0,d.createSlottable)("AlertDialogContent"),y=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,children:n,...d}=e,c=x(a),u=r.useRef(null),m=(0,i.useComposedRefs)(s,u),p=r.useRef(null);return(0,t.jsx)(l.WarningProvider,{contentName:g,titleName:N,docsSlug:"alert-dialog",children:(0,t.jsx)(v,{scope:a,cancelRef:p,children:(0,t.jsxs)(l.Content,{role:"alertdialog",...c,...d,ref:m,onOpenAutoFocus:(0,o.composeEventHandlers)(d.onOpenAutoFocus,e=>{e.preventDefault(),p.current?.focus({preventScroll:!0})}),onPointerDownOutside:e=>e.preventDefault(),onInteractOutside:e=>e.preventDefault(),children:[(0,t.jsx)(j,{children:n}),(0,t.jsx)(P,{contentRef:u})]})})})});y.displayName=g;var N="AlertDialogTitle",k=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,n=x(a);return(0,t.jsx)(l.Title,{...n,...r,ref:s})});k.displayName=N;var w="AlertDialogDescription",C=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,n=x(a);return(0,t.jsx)(l.Description,{...n,...r,ref:s})});C.displayName=w;var T=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,n=x(a);return(0,t.jsx)(l.Close,{...n,...r,ref:s})});T.displayName="AlertDialogAction";var S="AlertDialogCancel",D=r.forwardRef((e,s)=>{let{__scopeAlertDialog:a,...r}=e,{cancelRef:n}=b(S,a),o=x(a),d=(0,i.useComposedRefs)(s,n);return(0,t.jsx)(l.Close,{...o,...r,ref:d})});D.displayName=S;var P=({contentRef:e})=>{let t=`\`${g}\` requires a description for the component to be accessible for screen reader users.
2
-
3
- You can add a description to the \`${g}\` by passing a \`${w}\` component as a child, which also benefits sighted users by adding visible context to the dialog.
4
-
5
- Alternatively, you can use your own component as a description by assigning it an \`id\` and passing the same value to the \`aria-describedby\` prop in \`${g}\`. If the description is confusing or duplicative for sighted users, you can use the \`@radix-ui/react-visually-hidden\` primitive as a wrapper around your description component.
6
-
7
- For more information, see https://radix-ui.com/primitives/docs/components/alert-dialog`;return r.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},R=e.i(647163),_=e.i(167881);let M=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(f,{className:(0,R.cn)("fixed inset-0 z-50 bg-black/50 data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0",e),...s,ref:a}));M.displayName=f.displayName;let A=r.forwardRef(({className:e,...s},a)=>(0,t.jsxs)(h,{children:[(0,t.jsx)(M,{}),(0,t.jsx)(y,{ref:a,className:(0,R.cn)("fixed left-[50%] top-[50%] z-50 grid w-full max-w-lg translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border bg-background p-6 shadow-lg duration-200 outline-none","data-[state=open]:animate-in data-[state=closed]:animate-out","data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0","data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95",e),...s})]}));A.displayName=y.displayName;let O=({className:e,...s})=>(0,t.jsx)("div",{className:(0,R.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...s});O.displayName="AlertDialogHeader";let E=({className:e,...s})=>(0,t.jsx)("div",{className:(0,R.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...s});E.displayName="AlertDialogFooter";let z=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(k,{ref:a,className:(0,R.cn)("text-lg font-semibold",e),...s}));z.displayName=k.displayName;let L=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(C,{ref:a,className:(0,R.cn)("text-sm text-muted-foreground",e),...s}));L.displayName=C.displayName;let F=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(T,{ref:a,className:(0,R.cn)((0,_.buttonVariants)(),e),...s}));F.displayName=T.displayName;let I=r.forwardRef(({className:e,...s},a)=>(0,t.jsx)(D,{ref:a,className:(0,R.cn)((0,_.buttonVariants)({variant:"outline"}),"mt-2 sm:mt-0",e),...s}));I.displayName=D.displayName,e.s(["ConfirmDialog",0,function({open:e,onOpenChange:r,title:n,description:i,confirmLabel:l="Confirm",cancelLabel:o="Cancel",destructive:d,isLoading:c,onConfirm:u}){return(0,t.jsx)(p,{open:e,onOpenChange:r,children:(0,t.jsxs)(A,{children:[(0,t.jsx)(O,{children:(0,t.jsxs)("div",{className:"flex items-start gap-3",children:[d&&(0,t.jsx)("div",{className:"mt-0.5 flex h-9 w-9 shrink-0 items-center justify-center rounded-full bg-destructive/10 text-destructive",children:(0,t.jsx)(s.AlertTriangle,{className:"h-4 w-4"})}),(0,t.jsxs)("div",{className:"flex-1 space-y-1.5",children:[(0,t.jsx)(z,{className:(0,R.cn)(d&&"text-foreground"),children:n}),(0,t.jsx)(L,{children:i})]})]})}),(0,t.jsxs)(E,{children:[(0,t.jsx)(I,{disabled:c,children:o}),(0,t.jsxs)(F,{onClick:e=>{e.preventDefault(),u()},disabled:c,className:(0,R.cn)(d&&"bg-destructive text-white shadow-sm shadow-destructive/30 hover:bg-destructive/90 focus-visible:ring-destructive/40"),children:[c&&(0,t.jsx)(a.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),l]})]})]})})}],57559)},947627,e=>{"use strict";var t=e.i(843476),s=e.i(647163);e.s(["Table",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"table-container",className:"relative w-full overflow-x-auto",children:(0,t.jsx)("table",{"data-slot":"table",className:(0,s.cn)("w-full caption-bottom text-sm",e),...a})})},"TableBody",0,function({className:e,...a}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,s.cn)("[&_tr:last-child]:border-0",e),...a})},"TableCell",0,function({className:e,...a}){return(0,t.jsx)("td",{"data-slot":"table-cell",className:(0,s.cn)("p-2 align-middle whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a})},"TableHead",0,function({className:e,...a}){return(0,t.jsx)("th",{"data-slot":"table-head",className:(0,s.cn)("text-foreground h-10 px-2 text-left align-middle font-medium whitespace-nowrap [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...a})},"TableHeader",0,function({className:e,...a}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,s.cn)("[&_tr]:border-b",e),...a})},"TableRow",0,function({className:e,...a}){return(0,t.jsx)("tr",{"data-slot":"table-row",className:(0,s.cn)("hover:bg-muted/50 data-[state=selected]:bg-muted border-b transition-colors",e),...a})}])},107233,e=>{"use strict";let t=(0,e.i(475254).default)("plus",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"M12 5v14",key:"s699le"}]]);e.s(["Plus",0,t],107233)},137309,117089,e=>{"use strict";var t=e.i(843476);let s=(0,e.i(475254).default)("inbox",[["polyline",{points:"22 12 16 12 14 15 10 15 8 12 2 12",key:"o97t9d"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}]]);var a=e.i(947627),r=e.i(647163);e.s(["DataTableCell",0,function({className:e,...s}){return(0,t.jsx)(a.TableCell,{className:(0,r.cn)("py-2 first:pl-4 last:pr-4",e),...s})},"DataTableEmpty",0,function({colSpan:e,children:r}){return(0,t.jsx)(a.TableRow,{className:"hover:bg-transparent",children:(0,t.jsx)(a.TableCell,{colSpan:e,className:"h-48 text-center align-middle text-muted-foreground/40",children:(0,t.jsx)("div",{className:"flex items-center justify-center",children:(0,t.jsx)(s,{className:"h-8 w-8","aria-label":"empty"})})})})},"DataTableHead",0,function({className:e,...s}){return(0,t.jsx)(a.TableHead,{className:(0,r.cn)("h-10 text-xs font-semibold uppercase tracking-wide text-muted-foreground/80 first:pl-4 last:pr-4",e),...s})},"DataTableHeader",0,function({className:e,...s}){return(0,t.jsx)(a.TableHeader,{className:(0,r.cn)("bg-muted/40 sticky top-0 z-10",e),...s})},"DataTableHeaderRow",0,function({className:e,...s}){return(0,t.jsx)(a.TableRow,{className:(0,r.cn)("hover:bg-transparent border-b-muted/60 shadow-sm",e),...s})},"DataTableRow",0,function({className:e,interactive:s=!0,...n}){return(0,t.jsx)(a.TableRow,{className:(0,r.cn)("h-10 border-b-muted/20 even:bg-muted/50 group",s&&"cursor-pointer hover:bg-muted/90",e),...n})},"DataTableShell",0,function({className:e,...s}){return(0,t.jsx)("div",{className:"overflow-hidden",children:(0,t.jsx)(a.Table,{className:e,...s})})}],137309),e.s(["DataTableBody",()=>a.TableBody],117089)},630374,e=>{"use strict";var t=e.i(843476),s=e.i(326999),a=e.i(995926),r=e.i(647163);function n({...e}){return(0,t.jsx)(s.Portal,{"data-slot":"dialog-portal",...e})}function i({className:e,...a}){return(0,t.jsx)(s.Overlay,{"data-slot":"dialog-overlay",className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...a})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(s.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:l,showCloseButton:o=!0,...d}){return(0,t.jsxs)(n,{"data-slot":"dialog-portal",children:[(0,t.jsx)(i,{}),(0,t.jsxs)(s.Content,{"data-slot":"dialog-content",className:(0,r.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...d,children:[l,o&&(0,t.jsxs)(s.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,t.jsx)(a.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"DialogDescription",0,function({className:e,...a}){return(0,t.jsx)(s.Description,{"data-slot":"dialog-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...a})},"DialogFooter",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"dialog-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...s})},"DialogHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"dialog-header",className:(0,r.cn)("flex flex-col gap-2 text-center sm:text-left",e),...s})},"DialogTitle",0,function({className:e,...a}){return(0,t.jsx)(s.Title,{"data-slot":"dialog-title",className:(0,r.cn)("text-lg leading-none font-semibold",e),...a})}])},994179,e=>{"use strict";var t=e.i(843476),s=e.i(991918),a=e.i(225913),r=e.i(647163);let n=(0,a.cva)("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:a,asChild:i=!1,...l}){let o=i?s.Slot:"span";return(0,t.jsx)(o,{"data-slot":"badge",className:(0,r.cn)(n({variant:a}),e),...l})}])},282022,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/logs/generations",key:"logs",staleTime:3e4});e.s(["logs",0,t])},511169,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/users",key:"users",staleTime:6e4});e.s(["users",0,t])},32506,e=>{"use strict";var t=e.i(954616),s=e.i(266027),a=e.i(718512),r=e.i(715760);let n=(0,a.defineResource)({path:"/providers",key:"providers",listShape:"array",staleTime:6e4,invalidates:["models"]}),i={...n,listModels:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/models`),reload:()=>(0,r.fetcher)("/providers/reload",{method:"POST"}),check:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/check`,{method:"POST"}),probe:e=>(0,r.fetcher)("/providers/probe",{method:"POST",body:JSON.stringify({health_check_url:e}),headers:{"Content-Type":"application/json"}}),useModels:e=>(0,s.useQuery)({queryKey:[...n.keys.one(e??""),"models"],queryFn:()=>i.listModels(e),enabled:!!e}),useReload:e=>{let s=n.useInvalidate();return(0,t.useMutation)({mutationFn:i.reload,...e,onSuccess:(t,a,r,n)=>{s(),e?.onSuccess?.(t,a,r,n)}})},useCheck:(e,s)=>{let a=n.useInvalidate();return(0,t.useMutation)({mutationFn:()=>i.check(e),...s,onSuccess:(e,t,r,n)=>{a(),s?.onSuccess?.(e,t,r,n)}})}};e.s(["providers",0,i])},251383,402487,581445,778296,585381,e=>{"use strict";e.i(511169),e.i(32506),e.i(733467),e.i(518874),e.i(282022),e.i(777951);var t=e.i(718512);let s=(0,t.defineResource)({path:"/capabilities",key:"capabilities",listShape:"array",staleTime:6e4});e.s(["capabilities",0,s],402487);let a=(0,t.defineResource)({path:"/adapters",key:"adapters",listShape:"array",staleTime:6e4});e.s(["adapters",0,a],581445);let r=(0,t.defineResource)({path:"/variants",key:"variants",listShape:"array",staleTime:6e4});e.s(["variants",0,r],778296);let n=(0,t.defineResource)({path:"/tools",key:"tools",listShape:"array",staleTime:6e4});e.s(["tools",0,n],585381),e.i(281601),e.s([],251383)},281601,e=>{"use strict";var t=e.i(954616),s=e.i(266027),a=e.i(912598),r=e.i(718512),n=e.i(715760);let i=(0,r.defineResource)({path:"/mcp/servers",key:"mcp-servers",listShape:"array",staleTime:6e4}),l={...i,listPresets:()=>(0,n.fetcher)("/mcp/presets"),usePresets:()=>(0,s.useQuery)({queryKey:["mcp-presets"],queryFn:()=>l.listPresets(),staleTime:3e5}),check:e=>(0,n.fetcher)(`/mcp/servers/${encodeURIComponent(e)}/check`,{method:"POST"}),useCheck:e=>{let s=(0,a.useQueryClient)();return(0,t.useMutation)({mutationFn:e=>l.check(e),onSuccess:t=>{s.invalidateQueries({queryKey:i.keys.all()}),e?.onSuccess?.(t)},onError:t=>e?.onError?.(t)})}};e.s(["mcpServers",0,l])},777951,e=>{"use strict";var t=e.i(869230),s=e.i(992571),a=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:a}=e,r=super.createResult(e,t),{isFetching:n,isRefetching:i,isError:l,isRefetchError:o}=r,d=a.fetchMeta?.fetchMore?.direction,c=l&&"forward"===d,u=n&&"forward"===d,m=l&&"backward"===d,x=n&&"backward"===d;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,s.hasNextPage)(t,a.data),hasPreviousPage:(0,s.hasPreviousPage)(t,a.data),isFetchNextPageError:c,isFetchingNextPage:u,isFetchPreviousPageError:m,isFetchingPreviousPage:x,isRefetchError:o&&!c&&!m,isRefetching:i&&!u&&!x}}},r=e.i(469637),n=e.i(912598),i=e.i(718512),l=e.i(715760);let o=(0,i.defineResource)({path:"/conversations",key:"conversations",paramsOf:e=>({page:e.page??1,page_size:e.page_size??20,sort:e.sort??"-updated_at",keyword:e.keyword}),staleTime:6e4}),d={...o,updateTitle:(e,t)=>o.update(e,{title:t}),messagesCacheKey:function(e,t){return[...o.keys.one(e),"messages-cache",t]},useInvalidateList:()=>{let e=(0,n.useQueryClient)();return()=>e.invalidateQueries({queryKey:o.keys.all(),predicate:e=>{let t=e.queryKey;return t.length>=2&&("list"===t[1]||"infinite"===t[1])}})},useInfinite:e=>{var t;let s=e?.pageSize??20,n=e?.keyword?.trim()||void 0;return t={queryKey:[...o.keys.all(),"infinite",e?.scope??"default",s,n??""],initialPageParam:1,queryFn:({pageParam:e=1})=>o.list({page:e,page_size:s,keyword:n}),getNextPageParam:e=>{if(e)return e.page*e.page_size<e.total?e.page+1:void 0}},(0,r.useBaseQuery)(t,a,void 0)},listMessages:(e,t)=>(0,l.fetcher)(`/conversations/${encodeURIComponent(e)}/messages?`+new URLSearchParams({page:String(t?.page??1),page_size:String(t?.page_size??50),sort:t?.sort??"-created_at"}).toString())},c=["messages"];e.s(["conversations",0,d,"messages",0,{keys:{all:()=>c},rate:(e,t,s)=>(0,l.fetcher)(`/messages/${encodeURIComponent(e)}/rate`,{method:"POST",body:JSON.stringify({rating:t,feedback:s})})}],777951)},788699,e=>{"use strict";let t=(0,e.i(475254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],788699)},319036,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(981140),r=e.i(820783),n=e.i(30030),i=e.i(369340),l=e.i(999682),o=e.i(635804),d=e.i(248425),c="Switch",[u,m]=(0,n.createContextScope)(c),[x,p]=u(c);function h(e){let{__scopeSwitch:a,checked:r,children:n,defaultChecked:l,disabled:o,form:d,name:u,onCheckedChange:m,required:p,value:h="on",internal_do_not_use_render:f}=e,[g,v]=(0,i.useControllableState)({prop:r,defaultProp:l??!1,onChange:m,caller:c}),[b,j]=s.useState(null),[y,N]=s.useState(null),k=s.useRef(!1),w=!b||!!d||!!b.closest("form"),C={checked:g,setChecked:v,disabled:o,control:b,setControl:j,name:u,form:d,value:h,hasConsumerStoppedPropagationRef:k,required:p,defaultChecked:l,isFormControl:w,bubbleInput:y,setBubbleInput:N};return(0,t.jsx)(x,{scope:a,...C,children:"function"==typeof f?f(C):n})}var f="SwitchTrigger",g=s.forwardRef(({__scopeSwitch:e,onClick:s,...n},i)=>{let{value:l,disabled:o,checked:c,required:u,setControl:m,setChecked:x,hasConsumerStoppedPropagationRef:h,isFormControl:g,bubbleInput:v}=p(f,e),b=(0,r.useComposedRefs)(i,m);return(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":c,"aria-required":u,"data-state":k(c),"data-disabled":o?"":void 0,disabled:o,value:l,...n,ref:b,onClick:(0,a.composeEventHandlers)(s,e=>{x(e=>!e),v&&g&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});g.displayName=f;var v=s.forwardRef((e,s)=>{let{__scopeSwitch:a,name:r,checked:n,defaultChecked:i,required:l,disabled:o,value:d,onCheckedChange:c,form:u,...m}=e;return(0,t.jsx)(h,{__scopeSwitch:a,checked:n,defaultChecked:i,disabled:o,required:l,onCheckedChange:c,name:r,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(g,{...m,ref:s,__scopeSwitch:a}),e&&(0,t.jsx)(N,{__scopeSwitch:a})]})})});v.displayName=c;var b="SwitchThumb",j=s.forwardRef((e,s)=>{let{__scopeSwitch:a,...r}=e,n=p(b,a);return(0,t.jsx)(d.Primitive.span,{"data-state":k(n.checked),"data-disabled":n.disabled?"":void 0,...r,ref:s})});j.displayName=b;var y="SwitchBubbleInput",N=s.forwardRef(({__scopeSwitch:e,...a},n)=>{let{control:i,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:m,required:x,disabled:h,name:f,value:g,form:v,bubbleInput:b,setBubbleInput:j}=p(y,e),N=(0,r.useComposedRefs)(n,j),k=(0,l.usePrevious)(u),w=(0,o.useSize)(i);s.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(k!==u&&e){let s=new Event("click",{bubbles:t});e.call(b,u),b.dispatchEvent(s)}},[b,k,u,c]);let C=s.useRef(u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??C.current,required:x,disabled:h,name:f,value:g,form:v,...a,tabIndex:-1,ref:N,style:{...a.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function k(e){return e?"checked":"unchecked"}N.displayName=y;var w=e.i(647163);e.s(["Switch",0,function({className:e,...s}){return(0,t.jsx)(v,{"data-slot":"switch",className:(0,w.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...s,children:(0,t.jsx)(j,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}],319036)},184762,e=>{"use strict";var t=e.i(843476),s=e.i(647163);e.s(["Textarea",0,function({className:e,...a}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,s.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...a})}])},373264,e=>{"use strict";let t=(0,e.i(475254).default)("layout-grid",[["rect",{width:"7",height:"7",x:"3",y:"3",rx:"1",key:"1g98yp"}],["rect",{width:"7",height:"7",x:"14",y:"3",rx:"1",key:"6d4xhi"}],["rect",{width:"7",height:"7",x:"14",y:"14",rx:"1",key:"nxv5o0"}],["rect",{width:"7",height:"7",x:"3",y:"14",rx:"1",key:"1bb6yr"}]]);e.s(["LayoutGrid",0,t],373264)},710924,e=>{"use strict";var t=e.i(843476),s=e.i(531278),a=e.i(647163);let r={sm:"h-3.5 w-3.5",md:"h-5 w-5",lg:"h-8 w-8"};e.s(["LoadingState",0,function({label:e="Loading…",size:n="md",variant:i="centered",className:l}){return"inline"===i?(0,t.jsxs)("div",{className:(0,a.cn)("flex items-center gap-2 text-sm text-muted-foreground",l),children:[(0,t.jsx)(s.Loader2,{className:(0,a.cn)(r[n],"animate-spin")}),e&&(0,t.jsx)("span",{children:e})]}):(0,t.jsxs)("div",{className:(0,a.cn)("flex flex-col items-center justify-center gap-3 py-12 text-muted-foreground",l),children:[(0,t.jsx)(s.Loader2,{className:(0,a.cn)(r[n],"animate-spin")}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])},127341,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(981140),r=e.i(30030),n=e.i(842727),i=e.i(296626),l=e.i(248425),o=e.i(586318),d=e.i(369340),c=e.i(610772),u="Tabs",[m,x]=(0,r.createContextScope)(u,[n.createRovingFocusGroupScope]),p=(0,n.createRovingFocusGroupScope)(),[h,f]=m(u),g=s.forwardRef((e,s)=>{let{__scopeTabs:a,value:r,onValueChange:n,defaultValue:i,orientation:m="horizontal",dir:x,activationMode:p="automatic",...f}=e,g=(0,o.useDirection)(x),[v,b]=(0,d.useControllableState)({prop:r,onChange:n,defaultProp:i??"",caller:u});return(0,t.jsx)(h,{scope:a,baseId:(0,c.useId)(),value:v,onValueChange:b,orientation:m,dir:g,activationMode:p,children:(0,t.jsx)(l.Primitive.div,{dir:g,"data-orientation":m,...f,ref:s})})});g.displayName=u;var v="TabsList",b=s.forwardRef((e,s)=>{let{__scopeTabs:a,loop:r=!0,...i}=e,o=f(v,a),d=p(a);return(0,t.jsx)(n.Root,{asChild:!0,...d,orientation:o.orientation,dir:o.dir,loop:r,children:(0,t.jsx)(l.Primitive.div,{role:"tablist","aria-orientation":o.orientation,...i,ref:s})})});b.displayName=v;var j="TabsTrigger",y=s.forwardRef((e,s)=>{let{__scopeTabs:r,value:i,disabled:o=!1,...d}=e,c=f(j,r),u=p(r),m=w(c.baseId,i),x=C(c.baseId,i),h=i===c.value;return(0,t.jsx)(n.Item,{asChild:!0,...u,focusable:!o,active:h,children:(0,t.jsx)(l.Primitive.button,{type:"button",role:"tab","aria-selected":h,"aria-controls":x,"data-state":h?"active":"inactive","data-disabled":o?"":void 0,disabled:o,id:m,...d,ref:s,onMouseDown:(0,a.composeEventHandlers)(e.onMouseDown,e=>{o||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(i)}),onKeyDown:(0,a.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(i)}),onFocus:(0,a.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;h||o||!e||c.onValueChange(i)})})})});y.displayName=j;var N="TabsContent",k=s.forwardRef((e,a)=>{let{__scopeTabs:r,value:n,forceMount:o,children:d,...c}=e,u=f(N,r),m=w(u.baseId,n),x=C(u.baseId,n),p=n===u.value,h=s.useRef(p);return s.useEffect(()=>{let e=requestAnimationFrame(()=>h.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(i.Presence,{present:o||p,children:({present:s})=>(0,t.jsx)(l.Primitive.div,{"data-state":p?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!s,id:x,tabIndex:0,...c,ref:a,style:{...e.style,animationDuration:h.current?"0s":void 0},children:s&&d})})});function w(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}k.displayName=N;var T=e.i(647163);e.s(["Tabs",0,function({className:e,...s}){return(0,t.jsx)(g,{"data-slot":"tabs",className:(0,T.cn)("flex flex-col gap-2",e),...s})},"TabsContent",0,function({className:e,...s}){return(0,t.jsx)(k,{"data-slot":"tabs-content",className:(0,T.cn)("flex-1 outline-none",e),...s})},"TabsList",0,function({className:e,...s}){return(0,t.jsx)(b,{"data-slot":"tabs-list",className:(0,T.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...s})},"TabsTrigger",0,function({className:e,...s}){return(0,t.jsx)(y,{"data-slot":"tabs-trigger",className:(0,T.cn)("data-[state=active]:bg-background dark:data-[state=active]:text-foreground focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:outline-ring dark:data-[state=active]:border-input dark:data-[state=active]:bg-input/30 text-foreground dark:text-muted-foreground inline-flex h-[calc(100%-1px)] flex-1 items-center justify-center gap-1.5 rounded-md border border-transparent px-2 py-1 text-sm font-medium whitespace-nowrap transition-[color,box-shadow] focus-visible:ring-[3px] focus-visible:outline-1 disabled:pointer-events-none disabled:opacity-50 data-[state=active]:shadow-sm [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",e),...s})}],127341)},916399,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(846696),r=e.i(63209),n=e.i(531278);e.i(251383);var i=e.i(281601),l=e.i(630374),o=e.i(167881),d=e.i(23750),c=e.i(319036),u=e.i(184762),m=e.i(10708),x=e.i(127341),p=e.i(647163);let h={command:"",args:"",env:"{}",cwd:""},f={url:"",headers:"{}"};function g(e){let t="string"==typeof e.command?e.command:"",s=Array.isArray(e.args)?e.args.join("\n"):"";return{command:t,args:s,env:e.env&&"object"==typeof e.env?JSON.stringify(e.env,null,2):"{}",cwd:"string"==typeof e.cwd?e.cwd:""}}function v(e){return{url:"string"==typeof e.url?e.url:"",headers:e.headers&&"object"==typeof e.headers?JSON.stringify(e.headers,null,2):"{}"}}function b(e){let t=e.trim();if(!t)return null;try{let e=JSON.parse(t);if(null===e||"object"!=typeof e||Array.isArray(e))return"Must be a JSON object";return null}catch(e){return e instanceof Error?e.message:"Invalid JSON"}}function j({label:e,htmlFor:s,children:a,required:n,error:i}){return(0,t.jsxs)("div",{className:"grid gap-1.5 min-w-0",children:[(0,t.jsxs)(m.Label,{htmlFor:s,className:"text-xs",children:[e,n&&(0,t.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),a,i&&(0,t.jsxs)("div",{className:"flex items-start gap-1 text-[11px] text-destructive",children:[(0,t.jsx)(r.AlertCircle,{className:"h-3 w-3 mt-0.5 shrink-0"}),(0,t.jsx)("span",{className:"font-mono break-all",children:i})]})]})}e.s(["McpFormDialog",0,function({open:e,onOpenChange:r,mode:m,server:y,preset:N,onSaved:k}){let[w,C]=s.useState(""),[T,S]=s.useState(""),[D,P]=s.useState("stdio"),[R,_]=s.useState(h),[M,A]=s.useState(f),[O,E]=s.useState(!0),z=s.useCallback(e=>{C(e.name),S(e.description??""),P(e.transport),E(!0),"stdio"===e.transport?(_(g(e.config??{})),A(f)):(A(v(e.config??{})),_(h))},[]);s.useEffect(()=>{e&&(y?(C(y.name),S(y.description??""),P(y.transport),E(!1!==y.enabled),"stdio"===y.transport?(_(g(y.config??{})),A(f)):(A(v(y.config??{})),_(h))):N?z(N):(C(""),S(""),P("stdio"),_(h),A(f),E(!0)))},[e,y,N,z]);let L=i.mcpServers.useCreate({onSuccess:e=>{a.toast.success("Saved"),r(!1),e&&k?.(e)},onError:e=>a.toast.error(e.message||"Save failed")}),F=i.mcpServers.useUpdate({onSuccess:e=>{a.toast.success("Saved"),r(!1),e&&k?.(e)},onError:e=>a.toast.error(e.message||"Save failed")}),I="stdio"===D?b(R.env):null,H="http"===D?b(M.headers):null,q=w.trim()?null:"Name is required",$="stdio"===D?R.command.trim()?null:"Command is required":M.url.trim()?null:"URL is required",B=q??$??I??H,U=L.isPending||F.isPending,V=!B&&!U,K=e=>{if(e.preventDefault(),!V)return;let t={};if("stdio"===D){let e=R.args.split("\n").map(e=>e.trim()).filter(Boolean),s=R.env.trim()?JSON.parse(R.env):{};t={command:R.command.trim(),args:e,env:s,...R.cwd.trim()?{cwd:R.cwd.trim()}:{}}}else{let e=M.headers.trim()?JSON.parse(M.headers):{};t={url:M.url.trim(),headers:e}}let s={name:w.trim(),description:T.trim(),transport:D,config:t,enabled:O};"create"===m?L.mutate(s):y&&F.mutate({id:y.id,data:s})},J="create"===m?"Add MCP server":`Edit ${y?.name??"server"}`;return(0,t.jsx)(l.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(l.DialogContent,{className:"sm:max-w-[560px] max-h-[90vh] overflow-y-auto",onOpenAutoFocus:"edit"===m?e=>e.preventDefault():void 0,children:[(0,t.jsxs)(l.DialogHeader,{children:[(0,t.jsx)(l.DialogTitle,{className:"text-base",children:J}),(0,t.jsx)(l.DialogDescription,{className:"sr-only",children:"Configure an MCP server."})]}),(0,t.jsxs)("form",{onSubmit:K,className:"space-y-4",children:[(0,t.jsx)(j,{label:"Name",htmlFor:"m-name",required:!0,children:(0,t.jsx)(d.Input,{id:"m-name",value:w,onChange:e=>C(e.target.value),placeholder:"filesystem",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(j,{label:"Description",htmlFor:"m-desc",children:(0,t.jsx)(d.Input,{id:"m-desc",value:T,onChange:e=>S(e.target.value),className:"h-9 text-sm"})}),(0,t.jsxs)(x.Tabs,{value:D,onValueChange:e=>P(e),children:[(0,t.jsxs)(x.TabsList,{className:"grid w-full grid-cols-2 h-9",children:[(0,t.jsx)(x.TabsTrigger,{value:"stdio",className:"text-xs",children:"stdio"}),(0,t.jsx)(x.TabsTrigger,{value:"http",className:"text-xs",children:"http"})]}),(0,t.jsxs)(x.TabsContent,{value:"stdio",className:"space-y-3 pt-3",children:[(0,t.jsx)(j,{label:"Command",htmlFor:"m-cmd",required:!0,children:(0,t.jsx)(d.Input,{id:"m-cmd",value:R.command,onChange:e=>_(t=>({...t,command:e.target.value})),placeholder:"npx",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(j,{label:"Args",htmlFor:"m-args",children:(0,t.jsx)(u.Textarea,{id:"m-args",value:R.args,onChange:e=>_(t=>({...t,args:e.target.value})),rows:3,placeholder:"-y\n@modelcontextprotocol/server-filesystem\n/path/to/dir",className:"text-xs font-mono leading-relaxed"})}),(0,t.jsx)(j,{label:"Env",htmlFor:"m-env",error:I,children:(0,t.jsx)(u.Textarea,{id:"m-env",value:R.env,onChange:e=>_(t=>({...t,env:e.target.value})),rows:3,className:(0,p.cn)("text-xs font-mono leading-relaxed",I&&"border-destructive focus-visible:ring-destructive/40"),spellCheck:!1})}),(0,t.jsx)(j,{label:"cwd",htmlFor:"m-cwd",children:(0,t.jsx)(d.Input,{id:"m-cwd",value:R.cwd,onChange:e=>_(t=>({...t,cwd:e.target.value})),className:"h-9 text-sm font-mono"})})]}),(0,t.jsxs)(x.TabsContent,{value:"http",className:"space-y-3 pt-3",children:[(0,t.jsx)(j,{label:"URL",htmlFor:"m-url",required:!0,children:(0,t.jsx)(d.Input,{id:"m-url",value:M.url,onChange:e=>A(t=>({...t,url:e.target.value})),placeholder:"https://example.com/mcp",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(j,{label:"Headers",htmlFor:"m-headers",error:H,children:(0,t.jsx)(u.Textarea,{id:"m-headers",value:M.headers,onChange:e=>A(t=>({...t,headers:e.target.value})),rows:3,className:(0,p.cn)("text-xs font-mono leading-relaxed",H&&"border-destructive focus-visible:ring-destructive/40"),spellCheck:!1})})]})]})]}),(0,t.jsxs)(l.DialogFooter,{className:"flex-row items-center !justify-between",children:[(0,t.jsxs)("label",{htmlFor:"m-enabled",className:"flex items-center gap-2 cursor-pointer text-xs",children:[(0,t.jsx)(c.Switch,{id:"m-enabled",checked:O,onCheckedChange:E}),"Enabled"]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(o.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>r(!1),disabled:U,children:"Cancel"}),(0,t.jsxs)(o.Button,{type:"button",size:"sm",onClick:K,disabled:!V,title:B??void 0,children:[U&&(0,t.jsx)(n.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Save"]})]})]})]})})}])},778917,e=>{"use strict";let t=(0,e.i(475254).default)("external-link",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]);e.s(["ExternalLink",0,t],778917)},303169,e=>{"use strict";var t=e.i(843476),s=e.i(271645),a=e.i(522016),r=e.i(618566),n=e.i(373264),i=e.i(107233),l=e.i(283086),o=e.i(846696),d=e.i(281601),c=e.i(138938),u=e.i(167881),m=e.i(57559),x=e.i(710924),p=e.i(127341),h=e.i(916399),f=e.i(123287),f=f,g=e.i(531278),v=e.i(788699),b=e.i(790092),j=e.i(727612);let y=(0,e.i(475254).default)("circle-x",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m15 9-6 6",key:"1uzhvr"}],["path",{d:"m9 9 6 6",key:"z0biqf"}]]);e.i(251383);var N=e.i(137309),k=e.i(117089),w=e.i(319036),C=e.i(647163);function T(e){let t=e.config??{};if("stdio"===e.transport){let e="string"==typeof t.command?t.command:"",s=Array.isArray(t.args)?t.args.join(" "):"";return`${e} ${s}`.trim()}return"string"==typeof t.url?t.url:""}function S({s:e}){if("ok"===e.last_check_status){let s=e.tools_cache?.length??0;return(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] text-emerald-600 dark:text-emerald-400",children:[(0,t.jsx)(f.default,{className:"h-3.5 w-3.5"}),s," tool",1===s?"":"s"]})}return"error"===e.last_check_status?(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] text-destructive",title:e.last_check_error??void 0,children:[(0,t.jsx)(y,{className:"h-3.5 w-3.5"}),"Failed"]}):(0,t.jsxs)("span",{className:"inline-flex items-center gap-1.5 text-[11px] text-muted-foreground",children:[(0,t.jsx)(g.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"Checking…"]})}function D({servers:e,onSelect:s,onEdit:a,onDelete:r,selectedId:n}){let i=!!a||!!r,l=d.mcpServers.useUpdate({onError:e=>o.toast.error(e.message||"Update failed")}),c=d.mcpServers.useCheck({onSuccess:e=>{if("ok"===e.last_check_status)o.toast.success(`${e.name}: ${e.tools_cache?.length??0} tools`);else{let t=(e.last_check_error??"check failed").split("\n",1)[0];o.toast.error(`${e.name}: ${t}`)}},onError:e=>o.toast.error(e.message||"Check failed")});return(0,t.jsxs)(N.DataTableShell,{children:[(0,t.jsx)(N.DataTableHeader,{children:(0,t.jsxs)(N.DataTableHeaderRow,{children:[(0,t.jsx)(N.DataTableHead,{children:"Name"}),(0,t.jsx)(N.DataTableHead,{children:"Transport"}),(0,t.jsx)(N.DataTableHead,{children:"Endpoint / Command"}),(0,t.jsx)(N.DataTableHead,{children:"Health"}),(0,t.jsx)(N.DataTableHead,{className:"w-[80px] text-center",children:"Enabled"}),i&&(0,t.jsx)(N.DataTableHead,{className:"w-[124px] text-right",children:"Actions"})]})}),(0,t.jsx)(k.DataTableBody,{children:0===e.length?(0,t.jsx)(N.DataTableEmpty,{colSpan:i?6:5}):e.map(e=>(0,t.jsxs)(N.DataTableRow,{className:(0,C.cn)("transition-colors",s&&"cursor-pointer hover:bg-muted/40",n===e.id&&"bg-muted/60",!e.enabled&&"opacity-60"),onClick:s?()=>s(e):void 0,children:[(0,t.jsx)(N.DataTableCell,{className:"font-mono text-xs max-w-[200px] truncate",title:e.name,children:e.name}),(0,t.jsx)(N.DataTableCell,{children:(0,t.jsx)("span",{className:"inline-flex items-center rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-wider text-muted-foreground",children:e.transport})}),(0,t.jsx)(N.DataTableCell,{className:"font-mono text-xs text-muted-foreground max-w-[360px] truncate",title:T(e),children:T(e)||(0,t.jsx)("span",{className:"italic",children:"—"})}),(0,t.jsx)(N.DataTableCell,{children:(0,t.jsx)(S,{s:e})}),(0,t.jsx)(N.DataTableCell,{className:"text-center",children:(0,t.jsx)(w.Switch,{checked:e.enabled,disabled:!a||l.isPending,onCheckedChange:t=>{l.mutate({id:e.id,data:{enabled:t}})},onClick:e=>e.stopPropagation(),title:e.enabled?"Disable":"Enable"})}),i&&(0,t.jsx)(N.DataTableCell,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex items-center justify-end gap-0.5",children:[a&&(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:t=>{t.stopPropagation(),c.mutate(e.id)},disabled:c.isPending&&c.variables===e.id,title:"Re-check connection",children:(0,t.jsx)(b.RefreshCcw,{className:(0,C.cn)("h-3.5 w-3.5",c.isPending&&c.variables===e.id&&"animate-spin")})}),a&&(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:t=>{t.stopPropagation(),a(e)},title:"Edit",children:(0,t.jsx)(v.Pencil,{className:"h-3.5 w-3.5"})}),r&&(0,t.jsx)(u.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-muted-foreground hover:text-destructive hover:bg-destructive/10",onClick:t=>{t.stopPropagation(),r(e)},title:"Delete",children:(0,t.jsx)(j.Trash2,{className:"h-3.5 w-3.5"})})]})})]},e.id))})]})}var P=e.i(195116),R=e.i(994179),_=e.i(852917),f=f,M=e.i(778917);function A(e){return/token|secret|key|password|auth/i.test(e)}function O({status:e}){return"ok"===e?(0,t.jsx)(f.default,{className:"h-4 w-4 text-emerald-500"}):"error"===e?(0,t.jsx)(y,{className:"h-4 w-4 text-destructive"}):(0,t.jsx)(g.Loader2,{className:"h-4 w-4 text-muted-foreground animate-spin"})}function E({children:e}){return(0,t.jsx)("div",{className:"rounded-md border border-dashed p-3 text-xs text-muted-foreground italic",children:e})}function z({children:e}){return(0,t.jsx)("span",{className:"not-italic inline-flex items-center rounded border border-border bg-muted/40 px-1 font-mono text-[10px] uppercase tracking-wider text-muted-foreground mx-0.5",children:e})}function L({server:e,onCheck:s,isChecking:a,isAdmin:r}){let n=e.last_check_status,i=e.last_check_at?(0,C.formatToLocal)(e.last_check_at):"never";return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Health"}),r&&(0,t.jsxs)(u.Button,{size:"sm",variant:"outline",onClick:s,disabled:a,className:"h-7 text-xs",children:[a?(0,t.jsx)(g.Loader2,{className:"h-3 w-3 mr-1.5 animate-spin"}):(0,t.jsx)(b.RefreshCcw,{className:"h-3 w-3 mr-1.5"}),"Re-check"]})]}),(0,t.jsxs)("div",{className:"rounded-md border p-3 text-sm space-y-1.5",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(O,{status:n}),(0,t.jsxs)("span",{className:"font-medium",children:["ok"===n&&"Connected","error"===n&&"Failed",null===n&&"Never checked"]})]}),(0,t.jsxs)("div",{className:"text-[11px] text-muted-foreground",children:["Last check: ",i]}),"error"===n&&e.last_check_error&&(0,t.jsx)("pre",{className:"mt-1.5 font-mono text-[11px] leading-snug whitespace-pre-wrap break-words bg-destructive/10 text-destructive rounded p-2 max-h-72 overflow-auto",children:e.last_check_error})]})]})}function F({info:e}){let s=!!(e.name||e.version),a=!!e.instructions?.trim(),r=e.capabilities?Object.keys(e.capabilities):[];return s||a||0!==r.length?(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"Server"}),(0,t.jsxs)("div",{className:"rounded-md border p-3 space-y-2 text-sm",children:[s&&(0,t.jsxs)("div",{className:"font-mono text-xs",children:[e.name??"<unnamed>",e.version&&(0,t.jsxs)("span",{className:"text-muted-foreground",children:[" @ ",e.version]})]}),r.length>0&&(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:r.map(e=>(0,t.jsx)("span",{className:"inline-flex items-center rounded border border-border bg-muted/40 px-1.5 py-0.5 font-mono text-[10px] uppercase tracking-wider text-muted-foreground",title:`Server advertises the "${e}" capability`,children:e},e))}),a&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:"Instructions"}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground leading-relaxed whitespace-pre-wrap",children:e.instructions})]})]})]}):null}function I({server:e,isAdmin:s}){let a=e.config??{};return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsx)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:"stdio"===e.transport?"Command":"Endpoint"}),(0,t.jsx)("div",{className:"rounded-md border p-3 space-y-2",children:"stdio"===e.transport?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsxs)("div",{className:"font-mono text-xs break-all",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:"$ "}),String(a.command??"")," ",Array.isArray(a.args)?a.args.join(" "):""]}),a.env&&s&&Object.keys(a.env).length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:"Env"}),(0,t.jsx)("ul",{className:"font-mono text-[11px] space-y-0.5",children:Object.entries(a.env).map(([e,s])=>(0,t.jsxs)("li",{className:"truncate",children:[(0,t.jsx)("span",{className:"text-muted-foreground",children:e}),"=",A(e)?"•••":s]},e))})]})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)("div",{className:"font-mono text-xs break-all",children:String(a.url??"")}),a.headers&&s&&Object.keys(a.headers).length>0&&(0,t.jsxs)("div",{children:[(0,t.jsx)("div",{className:"text-[10px] uppercase tracking-wide text-muted-foreground mb-1",children:"Headers"}),(0,t.jsx)("ul",{className:"font-mono text-[11px] space-y-0.5",children:Object.entries(a.headers).map(([e,s])=>(0,t.jsxs)("li",{className:"truncate",children:[(0,t.jsxs)("span",{className:"text-muted-foreground",children:[e,":"]})," ",A(e)?"•••":s]},e))})]})]})})]})}function H({tools:e,status:s}){return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsx)("div",{className:"flex items-center justify-between",children:(0,t.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:["Tools ",e.length>0&&(0,t.jsxs)("span",{className:"ml-1 text-foreground",children:["(",e.length,")"]})]})}),0===e.length?(0,t.jsx)("div",{className:"rounded-md border p-3 text-xs text-muted-foreground italic",children:"error"===s?"No tools cached — last check failed.":"No tools cached yet. Run a check to populate."}):(0,t.jsx)("ul",{className:"rounded-md border divide-y",children:e.map(e=>(0,t.jsx)(q,{tool:e},e.name))})]})}function q({tool:e}){let[a,r]=s.useState(!1),n=e.parameters,i=n?.properties?Object.entries(n.properties):[],l=new Set(n?.required??[]);return(0,t.jsxs)("li",{className:(0,C.cn)("p-3 text-xs space-y-1.5",a&&"bg-muted/30"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>r(e=>!e),className:"flex w-full items-center gap-2 text-left",children:[(0,t.jsx)(M.ExternalLink,{className:"h-3 w-3 text-muted-foreground rotate-90"}),(0,t.jsx)("span",{className:"font-mono text-foreground",children:e.name}),i.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[i.length," param",1===i.length?"":"s"]})]}),e.description&&(0,t.jsx)("p",{className:"text-muted-foreground pl-5 leading-snug",children:e.description}),a&&(0,t.jsx)("div",{className:"pl-5 pt-1",children:0===i.length?(0,t.jsx)("p",{className:"text-muted-foreground italic",children:"(no parameters)"}):(0,t.jsx)("ul",{className:"space-y-1",children:i.map(([e,s])=>(0,t.jsxs)("li",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-foreground",children:e}),s?.type&&(0,t.jsxs)("span",{className:"font-mono text-muted-foreground text-[10px]",children:[": ",s.type]}),l.has(e)&&(0,t.jsx)(R.Badge,{variant:"outline",className:"h-3.5 px-1 text-[9px]",children:"required"}),s?.description&&(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px] truncate",children:["— ",s.description]})]},e))})})]})}function $({snapshot:e,capabilityAdvertised:s,status:a}){let r=e?e.resources.length+e.templates.length:0;return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:["Resources ",r>0&&(0,t.jsxs)("span",{className:"ml-1 text-foreground",children:["(",r,")"]})]}),s?null===e?(0,t.jsx)(E,{children:"error"===a?"Last check failed — run another to populate.":"Server advertises resources but the list call did not complete."}):0===r?(0,t.jsx)(E,{children:"Server advertises resources but exposes none."}):(0,t.jsxs)("ul",{className:"rounded-md border divide-y",children:[e.resources.map(e=>(0,t.jsxs)("li",{className:"p-3 text-xs space-y-0.5",children:[(0,t.jsx)("div",{className:"font-mono text-foreground break-all",children:e.uri}),(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[e.name&&(0,t.jsx)("span",{className:"text-foreground",children:e.name}),e.mimeType&&(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e.mimeType})]}),e.description&&(0,t.jsx)("p",{className:"text-muted-foreground leading-snug",children:e.description})]},`r-${e.uri}`)),e.templates.map(e=>(0,t.jsxs)("li",{className:"p-3 text-xs space-y-0.5 bg-muted/10",children:[(0,t.jsxs)("div",{className:"flex items-baseline gap-2",children:[(0,t.jsx)("span",{className:"inline-flex items-center rounded border border-border bg-muted/40 px-1 font-mono text-[9px] uppercase tracking-wider text-muted-foreground",children:"template"}),(0,t.jsx)("span",{className:"font-mono text-foreground break-all",children:e.uriTemplate})]}),(e.name||e.mimeType)&&(0,t.jsxs)("div",{className:"flex items-baseline gap-2 pl-[60px]",children:[e.name&&(0,t.jsx)("span",{className:"text-foreground",children:e.name}),e.mimeType&&(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground",children:e.mimeType})]}),e.description&&(0,t.jsx)("p",{className:"text-muted-foreground leading-snug pl-[60px]",children:e.description})]},`t-${e.uriTemplate}`))]}):(0,t.jsxs)(E,{children:["This server does not advertise the ",(0,t.jsx)(z,{children:"resources"})," capability."]})]})}function B({prompts:e,capabilityAdvertised:s,status:a}){return(0,t.jsxs)("section",{className:"space-y-2",children:[(0,t.jsxs)("h3",{className:"text-xs font-semibold uppercase tracking-wide text-muted-foreground",children:["Prompts ",e&&e.length>0&&(0,t.jsxs)("span",{className:"ml-1 text-foreground",children:["(",e.length,")"]})]}),s?null===e?(0,t.jsx)(E,{children:"error"===a?"Last check failed — run another to populate.":"Server advertises prompts but the list call did not complete."}):0===e.length?(0,t.jsx)(E,{children:"Server advertises prompts but exposes none."}):(0,t.jsx)("ul",{className:"rounded-md border divide-y",children:e.map(e=>(0,t.jsx)(U,{prompt:e},e.name))}):(0,t.jsxs)(E,{children:["This server does not advertise the ",(0,t.jsx)(z,{children:"prompts"})," capability."]})]})}function U({prompt:e}){let[a,r]=s.useState(!1),n=e.arguments??[];return(0,t.jsxs)("li",{className:(0,C.cn)("p-3 text-xs space-y-1.5",a&&"bg-muted/30"),children:[(0,t.jsxs)("button",{type:"button",onClick:()=>r(e=>!e),className:"flex w-full items-center gap-2 text-left",children:[(0,t.jsx)(M.ExternalLink,{className:"h-3 w-3 text-muted-foreground rotate-90"}),(0,t.jsx)("span",{className:"font-mono text-foreground",children:e.name}),n.length>0&&(0,t.jsxs)("span",{className:"text-[10px] text-muted-foreground",children:[n.length," arg",1===n.length?"":"s"]})]}),e.description&&(0,t.jsx)("p",{className:"text-muted-foreground pl-5 leading-snug",children:e.description}),a&&n.length>0&&(0,t.jsx)("ul",{className:"pl-5 pt-1 space-y-1",children:n.map(e=>(0,t.jsxs)("li",{className:"flex gap-2",children:[(0,t.jsx)("span",{className:"font-mono text-foreground",children:e.name}),e.required&&(0,t.jsx)(R.Badge,{variant:"outline",className:"h-3.5 px-1 text-[9px]",children:"required"}),e.description&&(0,t.jsxs)("span",{className:"text-muted-foreground text-[11px] truncate",children:["— ",e.description]})]},e.name))})]})}function V({server:e,open:a,onOpenChange:r,isAdmin:n}){let i=d.mcpServers.useCheck({onSuccess:e=>{if("ok"===e.last_check_status)o.toast.success(`Check passed — ${e.tools_cache?.length??0} tools`);else{let t=(e.last_check_error??"unknown error").split("\n",1)[0];o.toast.error(`Check failed: ${t}`)}},onError:e=>o.toast.error(e.message||"Check failed")}),l=s.useCallback(()=>{e&&i.mutate(e.id)},[e,i]),c=s.useRef(null);return(s.useEffect(()=>{a&&e&&!e.server_info&&"ok"===e.last_check_status&&c.current!==e.id&&(c.current=e.id,i.mutate(e.id))},[a,e,i]),e)?(0,t.jsx)(_.Sheet,{open:a,onOpenChange:r,children:(0,t.jsxs)(_.SheetContent,{side:"right",className:"w-full sm:max-w-[640px] overflow-y-auto scrollbar-thin p-0",children:[(0,t.jsxs)(_.SheetHeader,{className:"px-6 py-4 border-b",children:[(0,t.jsxs)(_.SheetTitle,{className:"flex items-center gap-2 text-base",children:[(0,t.jsx)(P.Wrench,{className:"h-4 w-4 text-muted-foreground"}),(0,t.jsx)("span",{className:"font-mono",children:e.name}),(0,t.jsx)(R.Badge,{variant:"outline",className:"text-[10px] uppercase ml-2",children:e.transport}),!e.enabled&&(0,t.jsx)(R.Badge,{variant:"secondary",className:"text-[10px] uppercase",children:"disabled"})]}),(0,t.jsx)(_.SheetDescription,{className:"text-xs text-muted-foreground pt-1",children:e.description||"MCP server connection details, health, and discovered tools."})]}),(0,t.jsxs)("div",{className:"px-6 py-4 space-y-5",children:[(0,t.jsx)(L,{server:e,onCheck:l,isChecking:i.isPending,isAdmin:n}),e.server_info&&(0,t.jsx)(F,{info:e.server_info}),(0,t.jsx)(I,{server:e,isAdmin:n}),(0,t.jsx)(H,{tools:e.tools_cache??[],status:e.last_check_status}),(0,t.jsx)($,{snapshot:e.resources_cache,capabilityAdvertised:!!e.server_info?.capabilities?.resources,status:e.last_check_status}),(0,t.jsx)(B,{prompts:e.prompts_cache,capabilityAdvertised:!!e.server_info?.capabilities?.prompts,status:e.last_check_status})]})]})}):null}e.s(["default",0,function(){let{user:e}=(0,c.useAuth)(),f=e?.role==="admin",[g,v]=s.useState("mcp"),{data:b,isLoading:j}=d.mcpServers.useList(void 0,{enabled:"mcp"===g,refetchInterval:e=>{let t=e.state.data;return!!t&&!!t.some(e=>null===e.last_check_status)&&2e3}}),[y,N]=s.useState({open:!1,mode:"create"}),[k,w]=s.useState(null),C=(0,r.useSearchParams)(),[T,S]=s.useState(()=>C?.get("selected")??null),P=s.useMemo(()=>(b??[]).find(e=>e.id===T)??null,[b,T]),R=d.mcpServers.useDelete({onSuccess:()=>{o.toast.success("Server deleted"),w(null),T===k?.id&&S(null)},onError:e=>o.toast.error(e.message||"Delete failed")});return(0,t.jsxs)("div",{className:"h-full flex flex-col p-4 overflow-y-hidden",children:[(0,t.jsxs)(p.Tabs,{defaultValue:"mcp",className:"flex-1 flex flex-col min-h-0 w-full gap-4",onValueChange:v,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1 flex-wrap md:flex-nowrap",children:[(0,t.jsxs)(p.TabsList,{className:"h-8 p-0.5",children:[(0,t.jsx)(p.TabsTrigger,{value:"mcp",className:"h-7 px-3 text-xs",children:"MCP"}),(0,t.jsx)(p.TabsTrigger,{value:"skills",className:"h-7 px-3 text-xs",children:"Skills"})]}),"mcp"===g&&(0,t.jsxs)("div",{className:"flex items-center gap-1.5 ml-auto",children:[(0,t.jsx)(a.default,{href:"/mcp/presets",children:(0,t.jsxs)(u.Button,{size:"sm",variant:"secondary",className:"h-8 text-xs gap-1.5",children:[(0,t.jsx)(n.LayoutGrid,{className:"h-3.5 w-3.5"}),"Catalogue"]})}),f&&(0,t.jsx)(u.Button,{size:"icon",variant:"secondary",className:"h-8 w-8 shrink-0",onClick:()=>N({open:!0,mode:"create"}),title:"Add MCP server",children:(0,t.jsx)(i.Plus,{className:"h-3.5 w-3.5"})})]})]}),(0,t.jsx)(p.TabsContent,{value:"mcp",className:"flex-1 min-h-0 flex flex-col",children:(0,t.jsxs)("div",{className:"flex-1 border rounded-xl bg-card shadow-sm flex flex-col overflow-hidden relative",children:[j&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:(0,t.jsx)(x.LoadingState,{label:"Loading MCP servers…"})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(D,{servers:b??[],onSelect:e=>S(e.id),onEdit:f?e=>N({open:!0,mode:"edit",server:e}):void 0,onDelete:f?w:void 0,selectedId:T})})]})}),(0,t.jsxs)(p.TabsContent,{value:"skills",className:"flex-1 min-h-0 flex flex-col items-center justify-center text-center",children:[(0,t.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-2xl bg-gradient-to-br from-amber-500/20 to-orange-500/20",children:(0,t.jsx)(l.Sparkles,{className:"h-6 w-6 text-amber-500"})}),(0,t.jsx)("h2",{className:"mt-3 text-base font-semibold tracking-tight",children:"Skills"}),(0,t.jsx)("p",{className:"mt-1 text-xs text-muted-foreground",children:"Coming soon."})]})]}),(0,t.jsx)(h.McpFormDialog,{open:y.open,onOpenChange:e=>N(t=>({...t,open:e})),mode:y.mode,server:y.server}),(0,t.jsx)(V,{server:P,open:!!P,onOpenChange:e=>!e&&S(null),isAdmin:f}),(0,t.jsx)(m.ConfirmDialog,{open:!!k,onOpenChange:e=>!e&&w(null),title:"Delete MCP server?",description:(0,t.jsxs)(t.Fragment,{children:["This will delete ",(0,t.jsx)("b",{children:k?.name}),"."]}),confirmLabel:"Delete",destructive:!0,isLoading:R.isPending,onConfirm:()=>k&&R.mutate(k.id)})]})}],303169)}]);
@@ -1 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,63209,e=>{"use strict";let t=(0,e.i(475254).default)("circle-alert",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"12",x2:"12",y1:"8",y2:"12",key:"1pkeuh"}],["line",{x1:"12",x2:"12.01",y1:"16",y2:"16",key:"4dfq90"}]]);e.s(["AlertCircle",0,t],63209)},970065,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Card",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card",className:(0,a.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border py-6 shadow-sm",e),...s})},"CardContent",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...s})},"CardDescription",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...s})},"CardHeader",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-header",className:(0,a.cn)("@container/card-header grid auto-rows-min grid-rows-[auto_auto] items-start gap-2 px-6 has-data-[slot=card-action]:grid-cols-[1fr_auto] [.border-b]:pb-6",e),...s})},"CardTitle",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...s})}])},531278,e=>{"use strict";var t=e.i(717521);e.s(["Loader2",()=>t.default])},23750,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Input",0,function({className:e,type:s,...r}){return(0,t.jsx)("input",{type:s,"data-slot":"input",className:(0,a.cn)("file:text-foreground placeholder:text-muted-foreground selection:bg-primary selection:text-primary-foreground dark:bg-input/30 border-input h-9 w-full min-w-0 rounded-md border bg-transparent px-3 py-1 text-base shadow-xs transition-[color,box-shadow] outline-none file:inline-flex file:h-7 file:border-0 file:bg-transparent file:text-sm file:font-medium disabled:pointer-events-none disabled:cursor-not-allowed disabled:opacity-50 md:text-sm","focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px]","aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",e),...r})}])},10708,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(248425),r=a.forwardRef((e,a)=>(0,t.jsx)(s.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));r.displayName="Label";var i=e.i(647163);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)(r,{"data-slot":"label",className:(0,i.cn)("flex items-center gap-2 text-sm leading-none font-medium select-none group-data-[disabled=true]:pointer-events-none group-data-[disabled=true]:opacity-50 peer-disabled:cursor-not-allowed peer-disabled:opacity-50",e),...a})}],10708)},999682,e=>{"use strict";var t=e.i(271645);e.s(["usePrevious",0,function(e){let a=t.useRef({value:e,previous:e});return t.useMemo(()=>(a.current.value!==e&&(a.current.previous=a.current.value,a.current.value=e),a.current.previous),[e])}])},733467,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/models",key:"models",listShape:"array",staleTime:6e4,invalidates:["providers"]});e.s(["models",0,t])},422758,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(647163);let r={openai:"/providers/openai.svg",claude:"/providers/claude.svg",anthropic:"/providers/claude.svg",gemini:"/providers/gemini.svg",google:"/providers/gemini.svg",vertexai:"/providers/vertexai.svg",vertex:"/providers/vertex.svg",deepseek:"/providers/deepseek.png",moonshot:"/providers/moonshot.png",zhipu:"/providers/zhipu.png",aliyun:"/providers/alibabacloud.png",alibabacloud:"/providers/alibabacloud.png",siliconflow:"/providers/siliconflow.svg",tei:"/providers/tei.svg",transformers:"/providers/transformers.svg",baichuan:"/providers/baichuan.png",volcengine:"/providers/volcengine.png",stepfun:"/providers/stepfun.png"},i=new Set(["openai","vertex","vertexai","siliconflow"]),n=(0,a.memo)(function({providerName:e,className:n,width:o=24,height:l=24}){let[d,c]=(0,a.useState)(!1),u=e.toLowerCase().replace(/[^a-z0-9_]/g,""),p=r[u],m=i.has(u);return p&&!d?(0,t.jsx)("img",{src:p,alt:"",width:o,height:l,loading:"lazy",className:(0,s.cn)("object-contain shrink-0",m&&"dark:invert",n),onError:()=>c(!0)}):(0,t.jsx)("span",{className:(0,s.cn)("rounded bg-muted flex items-center justify-center text-[8px] font-bold shrink-0",n),style:{width:o,height:l},children:e.substring(0,2).toUpperCase()})});e.s(["ProviderIcon",0,n])},531245,e=>{"use strict";let t=(0,e.i(475254).default)("bot",[["path",{d:"M12 8V4H8",key:"hb8ula"}],["rect",{width:"16",height:"12",x:"4",y:"8",rx:"2",key:"enze0r"}],["path",{d:"M2 14h2",key:"vft8re"}],["path",{d:"M20 14h2",key:"4cs60a"}],["path",{d:"M15 13v2",key:"1xurst"}],["path",{d:"M9 13v2",key:"rq6x2g"}]]);e.s(["Bot",0,t],531245)},373375,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-left",[["path",{d:"m15 18-6-6 6-6",key:"1wnfg3"}]]);e.s(["ChevronLeft",0,t],373375)},503116,e=>{"use strict";let t=(0,e.i(475254).default)("clock",[["path",{d:"M12 6v6l4 2",key:"mmk7yg"}],["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}]]);e.s(["Clock",0,t],503116)},39312,e=>{"use strict";let t=(0,e.i(475254).default)("zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]);e.s(["Zap",0,t],39312)},630374,e=>{"use strict";var t=e.i(843476),a=e.i(326999),s=e.i(995926),r=e.i(647163);function i({...e}){return(0,t.jsx)(a.Portal,{"data-slot":"dialog-portal",...e})}function n({className:e,...s}){return(0,t.jsx)(a.Overlay,{"data-slot":"dialog-overlay",className:(0,r.cn)("data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50",e),...s})}e.s(["Dialog",0,function({...e}){return(0,t.jsx)(a.Root,{"data-slot":"dialog",...e})},"DialogContent",0,function({className:e,children:o,showCloseButton:l=!0,...d}){return(0,t.jsxs)(i,{"data-slot":"dialog-portal",children:[(0,t.jsx)(n,{}),(0,t.jsxs)(a.Content,{"data-slot":"dialog-content",className:(0,r.cn)("bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 outline-none sm:max-w-lg",e),...d,children:[o,l&&(0,t.jsxs)(a.Close,{"data-slot":"dialog-close",className:"ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",children:[(0,t.jsx)(s.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"DialogDescription",0,function({className:e,...s}){return(0,t.jsx)(a.Description,{"data-slot":"dialog-description",className:(0,r.cn)("text-muted-foreground text-sm",e),...s})},"DialogFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"dialog-footer",className:(0,r.cn)("flex flex-col-reverse gap-2 sm:flex-row sm:justify-end",e),...a})},"DialogHeader",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"dialog-header",className:(0,r.cn)("flex flex-col gap-2 text-center sm:text-left",e),...a})},"DialogTitle",0,function({className:e,...s}){return(0,t.jsx)(a.Title,{"data-slot":"dialog-title",className:(0,r.cn)("text-lg leading-none font-semibold",e),...s})}])},994179,e=>{"use strict";var t=e.i(843476),a=e.i(991918),s=e.i(225913),r=e.i(647163);let i=(0,s.cva)("inline-flex items-center justify-center rounded-full border px-2 py-0.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90",secondary:"border-transparent bg-secondary text-secondary-foreground [a&]:hover:bg-secondary/90",destructive:"border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground"}},defaultVariants:{variant:"default"}});e.s(["Badge",0,function({className:e,variant:s,asChild:n=!1,...o}){let l=n?a.Slot:"span";return(0,t.jsx)(l,{"data-slot":"badge",className:(0,r.cn)(i({variant:s}),e),...o})}])},282022,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/logs/generations",key:"logs",staleTime:3e4});e.s(["logs",0,t])},32506,e=>{"use strict";var t=e.i(954616),a=e.i(266027),s=e.i(718512),r=e.i(715760);let i=(0,s.defineResource)({path:"/providers",key:"providers",listShape:"array",staleTime:6e4,invalidates:["models"]}),n={...i,listModels:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/models`),reload:()=>(0,r.fetcher)("/providers/reload",{method:"POST"}),check:e=>(0,r.fetcher)(`/providers/${encodeURIComponent(e)}/check`,{method:"POST"}),probe:e=>(0,r.fetcher)("/providers/probe",{method:"POST",body:JSON.stringify({health_check_url:e}),headers:{"Content-Type":"application/json"}}),useModels:e=>(0,a.useQuery)({queryKey:[...i.keys.one(e??""),"models"],queryFn:()=>n.listModels(e),enabled:!!e}),useReload:e=>{let a=i.useInvalidate();return(0,t.useMutation)({mutationFn:n.reload,...e,onSuccess:(t,s,r,i)=>{a(),e?.onSuccess?.(t,s,r,i)}})},useCheck:(e,a)=>{let s=i.useInvalidate();return(0,t.useMutation)({mutationFn:()=>n.check(e),...a,onSuccess:(e,t,r,i)=>{s(),a?.onSuccess?.(e,t,r,i)}})}};e.s(["providers",0,n])},511169,e=>{"use strict";let t=(0,e.i(718512).defineResource)({path:"/users",key:"users",staleTime:6e4});e.s(["users",0,t])},251383,402487,581445,778296,585381,e=>{"use strict";e.i(511169),e.i(32506),e.i(733467),e.i(518874),e.i(282022),e.i(777951);var t=e.i(718512);let a=(0,t.defineResource)({path:"/capabilities",key:"capabilities",listShape:"array",staleTime:6e4});e.s(["capabilities",0,a],402487);let s=(0,t.defineResource)({path:"/adapters",key:"adapters",listShape:"array",staleTime:6e4});e.s(["adapters",0,s],581445);let r=(0,t.defineResource)({path:"/variants",key:"variants",listShape:"array",staleTime:6e4});e.s(["variants",0,r],778296);let i=(0,t.defineResource)({path:"/tools",key:"tools",listShape:"array",staleTime:6e4});e.s(["tools",0,i],585381),e.i(281601),e.s([],251383)},777951,e=>{"use strict";var t=e.i(869230),a=e.i(992571),s=class extends t.QueryObserver{constructor(e,t){super(e,t)}bindMethods(){super.bindMethods(),this.fetchNextPage=this.fetchNextPage.bind(this),this.fetchPreviousPage=this.fetchPreviousPage.bind(this)}setOptions(e){e._type="infinite",super.setOptions(e)}getOptimisticResult(e){return e._type="infinite",super.getOptimisticResult(e)}fetchNextPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"forward"}}})}fetchPreviousPage(e){return this.fetch({...e,meta:{fetchMore:{direction:"backward"}}})}createResult(e,t){let{state:s}=e,r=super.createResult(e,t),{isFetching:i,isRefetching:n,isError:o,isRefetchError:l}=r,d=s.fetchMeta?.fetchMore?.direction,c=o&&"forward"===d,u=i&&"forward"===d,p=o&&"backward"===d,m=i&&"backward"===d;return{...r,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,a.hasNextPage)(t,s.data),hasPreviousPage:(0,a.hasPreviousPage)(t,s.data),isFetchNextPageError:c,isFetchingNextPage:u,isFetchPreviousPageError:p,isFetchingPreviousPage:m,isRefetchError:l&&!c&&!p,isRefetching:n&&!u&&!m}}},r=e.i(469637),i=e.i(912598),n=e.i(718512),o=e.i(715760);let l=(0,n.defineResource)({path:"/conversations",key:"conversations",paramsOf:e=>({page:e.page??1,page_size:e.page_size??20,sort:e.sort??"-updated_at",keyword:e.keyword}),staleTime:6e4}),d={...l,updateTitle:(e,t)=>l.update(e,{title:t}),messagesCacheKey:function(e,t){return[...l.keys.one(e),"messages-cache",t]},useInvalidateList:()=>{let e=(0,i.useQueryClient)();return()=>e.invalidateQueries({queryKey:l.keys.all(),predicate:e=>{let t=e.queryKey;return t.length>=2&&("list"===t[1]||"infinite"===t[1])}})},useInfinite:e=>{var t;let a=e?.pageSize??20,i=e?.keyword?.trim()||void 0;return t={queryKey:[...l.keys.all(),"infinite",e?.scope??"default",a,i??""],initialPageParam:1,queryFn:({pageParam:e=1})=>l.list({page:e,page_size:a,keyword:i}),getNextPageParam:e=>{if(e)return e.page*e.page_size<e.total?e.page+1:void 0}},(0,r.useBaseQuery)(t,s,void 0)},listMessages:(e,t)=>(0,o.fetcher)(`/conversations/${encodeURIComponent(e)}/messages?`+new URLSearchParams({page:String(t?.page??1),page_size:String(t?.page_size??50),sort:t?.sort??"-created_at"}).toString())},c=["messages"];e.s(["conversations",0,d,"messages",0,{keys:{all:()=>c},rate:(e,t,a)=>(0,o.fetcher)(`/messages/${encodeURIComponent(e)}/rate`,{method:"POST",body:JSON.stringify({rating:t,feedback:a})})}],777951)},281601,e=>{"use strict";var t=e.i(954616),a=e.i(266027),s=e.i(912598),r=e.i(718512),i=e.i(715760);let n=(0,r.defineResource)({path:"/mcp/servers",key:"mcp-servers",listShape:"array",staleTime:6e4}),o={...n,listPresets:()=>(0,i.fetcher)("/mcp/presets"),usePresets:()=>(0,a.useQuery)({queryKey:["mcp-presets"],queryFn:()=>o.listPresets(),staleTime:3e5}),check:e=>(0,i.fetcher)(`/mcp/servers/${encodeURIComponent(e)}/check`,{method:"POST"}),useCheck:e=>{let a=(0,s.useQueryClient)();return(0,t.useMutation)({mutationFn:e=>o.check(e),onSuccess:t=>{a.invalidateQueries({queryKey:n.keys.all()}),e?.onSuccess?.(t)},onError:t=>e?.onError?.(t)})}};e.s(["mcpServers",0,o])},788699,e=>{"use strict";let t=(0,e.i(475254).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],788699)},319036,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(981140),r=e.i(820783),i=e.i(30030),n=e.i(369340),o=e.i(999682),l=e.i(635804),d=e.i(248425),c="Switch",[u,p]=(0,i.createContextScope)(c),[m,g]=u(c);function h(e){let{__scopeSwitch:s,checked:r,children:i,defaultChecked:o,disabled:l,form:d,name:u,onCheckedChange:p,required:g,value:h="on",internal_do_not_use_render:v}=e,[f,x]=(0,n.useControllableState)({prop:r,defaultProp:o??!1,onChange:p,caller:c}),[b,y]=a.useState(null),[S,j]=a.useState(null),k=a.useRef(!1),w=!b||!!d||!!b.closest("form"),N={checked:f,setChecked:x,disabled:l,control:b,setControl:y,name:u,form:d,value:h,hasConsumerStoppedPropagationRef:k,required:g,defaultChecked:o,isFormControl:w,bubbleInput:S,setBubbleInput:j};return(0,t.jsx)(m,{scope:s,...N,children:"function"==typeof v?v(N):i})}var v="SwitchTrigger",f=a.forwardRef(({__scopeSwitch:e,onClick:a,...i},n)=>{let{value:o,disabled:l,checked:c,required:u,setControl:p,setChecked:m,hasConsumerStoppedPropagationRef:h,isFormControl:f,bubbleInput:x}=g(v,e),b=(0,r.useComposedRefs)(n,p);return(0,t.jsx)(d.Primitive.button,{type:"button",role:"switch","aria-checked":c,"aria-required":u,"data-state":k(c),"data-disabled":l?"":void 0,disabled:l,value:o,...i,ref:b,onClick:(0,s.composeEventHandlers)(a,e=>{m(e=>!e),x&&f&&(h.current=e.isPropagationStopped(),h.current||e.stopPropagation())})})});f.displayName=v;var x=a.forwardRef((e,a)=>{let{__scopeSwitch:s,name:r,checked:i,defaultChecked:n,required:o,disabled:l,value:d,onCheckedChange:c,form:u,...p}=e;return(0,t.jsx)(h,{__scopeSwitch:s,checked:i,defaultChecked:n,disabled:l,required:o,onCheckedChange:c,name:r,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(f,{...p,ref:a,__scopeSwitch:s}),e&&(0,t.jsx)(j,{__scopeSwitch:s})]})})});x.displayName=c;var b="SwitchThumb",y=a.forwardRef((e,a)=>{let{__scopeSwitch:s,...r}=e,i=g(b,s);return(0,t.jsx)(d.Primitive.span,{"data-state":k(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:a})});y.displayName=b;var S="SwitchBubbleInput",j=a.forwardRef(({__scopeSwitch:e,...s},i)=>{let{control:n,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:p,required:m,disabled:h,name:v,value:f,form:x,bubbleInput:b,setBubbleInput:y}=g(S,e),j=(0,r.useComposedRefs)(i,y),k=(0,o.usePrevious)(u),w=(0,l.useSize)(n);a.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(k!==u&&e){let a=new Event("click",{bubbles:t});e.call(b,u),b.dispatchEvent(a)}},[b,k,u,c]);let N=a.useRef(u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:p??N.current,required:m,disabled:h,name:v,value:f,form:x,...s,tabIndex:-1,ref:j,style:{...s.style,...w,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function k(e){return e?"checked":"unchecked"}j.displayName=S;var w=e.i(647163);e.s(["Switch",0,function({className:e,...a}){return(0,t.jsx)(x,{"data-slot":"switch",className:(0,w.cn)("peer data-[state=checked]:bg-primary data-[state=unchecked]:bg-input focus-visible:border-ring focus-visible:ring-ring/50 dark:data-[state=unchecked]:bg-input/80 inline-flex h-[1.15rem] w-8 shrink-0 items-center rounded-full border border-transparent shadow-xs transition-all outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50",e),...a,children:(0,t.jsx)(y,{"data-slot":"switch-thumb",className:(0,w.cn)("bg-background dark:data-[state=unchecked]:bg-foreground dark:data-[state=checked]:bg-primary-foreground pointer-events-none block size-4 rounded-full ring-0 transition-transform data-[state=checked]:translate-x-[calc(100%-2px)] data-[state=unchecked]:translate-x-0")})})}],319036)},184762,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Textarea",0,function({className:e,...s}){return(0,t.jsx)("textarea",{"data-slot":"textarea",className:(0,a.cn)("border-input placeholder:text-muted-foreground focus-visible:border-ring focus-visible:ring-ring/50 aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive dark:bg-input/30 flex field-sizing-content min-h-16 w-full rounded-md border bg-transparent px-3 py-2 text-base shadow-xs transition-[color,box-shadow] outline-none focus-visible:ring-[3px] disabled:cursor-not-allowed disabled:opacity-50 md:text-sm",e),...s})}])},21218,e=>{"use strict";let t=(0,e.i(475254).default)("activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);e.s(["Activity",0,t],21218)},535437,e=>{"use strict";var t=e.i(843476),a=e.i(630374),s=e.i(271645),r=e.i(846696),i=e.i(531278);e.i(251383);var n=e.i(402487),o=e.i(733467),l=e.i(32506),d=e.i(778296),c=e.i(167881),u=e.i(23750),p=e.i(10708),m=e.i(319036),g=e.i(184762),h=e.i(62870);function v({mode:e,model:a,defaultProviderId:x,onSaved:b,onCancel:y}){let{data:S}=l.providers.useList(),{data:j}=n.capabilities.useList(),{data:k}=d.variants.useList(),[w,N]=(0,s.useState)(""),[C,P]=(0,s.useState)(""),[_,O]=(0,s.useState)(""),[R,T]=(0,s.useState)("chat"),[I,M]=(0,s.useState)(""),[z,D]=(0,s.useState)(""),[F,E]=(0,s.useState)(""),[L,q]=(0,s.useState)(""),[H,U]=(0,s.useState)(""),[A,K]=(0,s.useState)("{}"),[B,Q]=(0,s.useState)(!0),[V,J]=(0,s.useState)(null),$=(0,s.useMemo)(()=>"create"===e&&!!a?.is_discovered,[e,a?.is_discovered]),X="edit"===e||$;(0,s.useEffect)(()=>{a?(N(a.name),P(a.provider_id??""),O(a.model_id??a.name),T(a.type??"chat"),M(a.api_variant_id??a.resolved_variant_id??""),D(a.context_window?.toString()??""),E(a.max_tokens?.toString()??""),q(a.output_dimension?.toString()??""),U(a.description??""),K(JSON.stringify(a.default_params??{},null,2)),Q(!1!==a.enabled)):(N(""),P(x??""),O(""),T("chat"),M(""),D(""),E(""),q(""),U(""),K("{}"),Q(!0)),J(null)},[e,a,x]);let G=o.models.useCreate({onSuccess:e=>{r.toast.success("Saved"),b?.(e)},onError:e=>r.toast.error(e.message||"Save failed")}),Z=o.models.useUpdate({onSuccess:e=>{r.toast.success("Saved"),b?.(e??null)},onError:e=>r.toast.error(e.message||"Save failed")}),W=G.isPending||Z.isPending,Y=a||"edit"===e?"Save":"Create",ee=(0,s.useMemo)(()=>(k??[]).filter(e=>e.capability===R),[k,R]),et=(0,s.useMemo)(()=>(S??[]).find(e=>e.id===C),[S,C]);return(0,t.jsxs)("form",{onSubmit:t=>{if(t.preventDefault(),!w.trim())return r.toast.error("Name required");if(!C)return r.toast.error("Provider required");if(!_.trim())return r.toast.error("Upstream model id required");let s={};try{s=A.trim()?JSON.parse(A):{},J(null)}catch(e){J(e instanceof Error?e.message:"Invalid JSON");return}let i={name:w.trim(),provider_id:C,upstream_model_id:_.trim(),type:R,api_variant_id:I||null,default_params:s,context_window:z?Number(z):null,max_tokens:F?Number(F):null,output_dimension:L?Number(L):null,description:H||null,enabled:B};$&&a?.meta?.raw!=null&&(i.discovered_metadata=a.meta.raw),"create"===e?G.mutate(i):a&&Z.mutate({id:a.id,data:i})},className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsx)(f,{label:"Display name",htmlFor:"m-name",children:(0,t.jsx)(u.Input,{id:"m-name",value:w,onChange:e=>N(e.target.value),placeholder:"gpt-4o-mini",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(f,{label:"Upstream model ID",htmlFor:"m-up",children:(0,t.jsx)(u.Input,{id:"m-up",value:_,onChange:e=>O(e.target.value),placeholder:"gpt-4o-mini",className:"h-9 text-sm font-mono"})})]}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsx)(f,{label:"Provider",children:X?(0,t.jsx)(u.Input,{value:et?.name??C,readOnly:!0,disabled:!0,className:"h-9 text-sm font-mono bg-muted/40"}):(0,t.jsxs)(h.Select,{value:C,onValueChange:P,children:[(0,t.jsx)(h.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(h.SelectValue,{placeholder:"Select provider"})}),(0,t.jsx)(h.SelectContent,{children:(S??[]).map(e=>(0,t.jsx)(h.SelectItem,{value:e.id,children:e.name},e.id))})]})}),(0,t.jsx)(f,{label:"Capability",children:(0,t.jsxs)(h.Select,{value:R,onValueChange:T,children:[(0,t.jsx)(h.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(h.SelectValue,{})}),(0,t.jsxs)(h.SelectContent,{children:[(j??[]).map(e=>(0,t.jsx)(h.SelectItem,{value:e.id,children:e.label},e.id)),R&&!(j??[]).some(e=>e.id===R)&&(0,t.jsx)(h.SelectItem,{value:R,children:R})]})]})})]}),ee.length>1&&I&&(0,t.jsx)(f,{label:"Upstream API",children:(0,t.jsxs)(h.Select,{value:I,onValueChange:M,children:[(0,t.jsx)(h.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(h.SelectValue,{})}),(0,t.jsxs)(h.SelectContent,{children:[ee.map(e=>(0,t.jsx)(h.SelectItem,{value:e.id,children:(0,t.jsx)("span",{className:"font-mono text-xs",children:e.id})},e.id)),!ee.some(e=>e.id===I)&&(0,t.jsx)(h.SelectItem,{value:I,children:(0,t.jsx)("span",{className:"font-mono text-xs",children:I})})]})]})}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-3 gap-3",children:[(0,t.jsx)(f,{label:"Context window",htmlFor:"m-ctx",children:(0,t.jsx)(u.Input,{id:"m-ctx",type:"number",value:z,onChange:e=>D(e.target.value),className:"h-9 text-sm"})}),(0,t.jsx)(f,{label:"Max tokens",htmlFor:"m-max",children:(0,t.jsx)(u.Input,{id:"m-max",type:"number",value:F,onChange:e=>E(e.target.value),className:"h-9 text-sm"})}),(0,t.jsx)(f,{label:"Output dim",htmlFor:"m-dim",children:(0,t.jsx)(u.Input,{id:"m-dim",type:"number",value:L,onChange:e=>q(e.target.value),className:"h-9 text-sm"})})]}),(0,t.jsx)(f,{label:"Description",htmlFor:"m-desc",children:(0,t.jsx)(u.Input,{id:"m-desc",value:H,onChange:e=>U(e.target.value),className:"h-9 text-sm"})}),(0,t.jsxs)(f,{label:"Default params (JSON)",htmlFor:"m-params",children:[(0,t.jsx)(g.Textarea,{id:"m-params",value:A,onChange:e=>K(e.target.value),rows:5,className:"text-xs font-mono"}),V&&(0,t.jsx)("span",{className:"text-xs text-destructive",children:V})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(p.Label,{htmlFor:"m-enabled",className:"text-xs",children:"Enabled"}),(0,t.jsx)(m.Switch,{id:"m-enabled",checked:B,onCheckedChange:Q})]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2",children:[(0,t.jsx)(c.Button,{type:"button",variant:"outline",size:"sm",onClick:y,disabled:W,children:"Cancel"}),(0,t.jsxs)(c.Button,{type:"submit",size:"sm",disabled:W,children:[W&&(0,t.jsx)(i.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),Y]})]})]})}function f({label:e,htmlFor:a,children:s}){return(0,t.jsxs)("div",{className:"grid gap-1.5 min-w-0",children:[(0,t.jsx)(p.Label,{htmlFor:a,className:"text-xs",children:e}),s]})}e.s(["ModelFormDialog",0,function({open:e,onOpenChange:s,mode:r,model:i,defaultProviderId:n}){let o=i||"edit"===r?"Edit":"Add model";return(0,t.jsx)(a.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(a.DialogContent,{className:"sm:max-w-[640px] max-h-[90vh] overflow-y-auto",onOpenAutoFocus:i?e=>e.preventDefault():void 0,children:[(0,t.jsx)(a.DialogHeader,{children:(0,t.jsx)(a.DialogTitle,{children:o})}),e&&(0,t.jsx)(v,{mode:r,model:i,defaultProviderId:n,onSaved:()=>s(!1),onCancel:()=>s(!1)})]})})}],535437)},671428,e=>{"use strict";var t=e.i(843476),a=e.i(647163);e.s(["Skeleton",0,function({className:e,...s}){return(0,t.jsx)("div",{"data-slot":"skeleton",className:(0,a.cn)("bg-accent animate-pulse rounded-md",e),...s})}])},686659,e=>{"use strict";var t=e.i(768834),a=e.i(579473);let s=Object.freeze({}),r=(0,t.create)()((0,a.persist)((e,t)=>({settings:{},isHistorySidebarOpen:!0,getSettings:e=>t().settings[e]??s,updateSettings:(t,a)=>e(e=>({settings:{...e.settings,[t]:{...e.settings[t]??{},...a}}})),removeSettings:t=>e(e=>{if(!(t in e.settings))return e;let a={...e.settings};return delete a[t],{settings:a}}),toggleHistorySidebar:()=>e(e=>({isHistorySidebarOpen:!e.isHistorySidebarOpen})),setHistorySidebarOpen:t=>e({isHistorySidebarOpen:t})}),{name:"playground-storage",storage:(0,a.createJSONStorage)(()=>localStorage),partialize:e=>({settings:e.settings,isHistorySidebarOpen:e.isHistorySidebarOpen})}));e.s(["DEFAULT_MODEL_CONFIG",0,{},"isEmptyConfig",0,function(e){return void 0===e.temperature&&void 0===e.maxTokens&&void 0===e.topP&&void 0===e.frequencyPenalty&&void 0===e.presencePenalty&&void 0===e.reasoningEffort},"usePlaygroundStore",0,r])}]);