@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,11 +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,...r}){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),...r})},"CardContent",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-content",className:(0,a.cn)("px-6",e),...r})},"CardDescription",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-description",className:(0,a.cn)("text-muted-foreground text-sm",e),...r})},"CardHeader",0,function({className:e,...r}){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),...r})},"CardTitle",0,function({className:e,...r}){return(0,t.jsx)("div",{"data-slot":"card-title",className:(0,a.cn)("leading-none font-semibold",e),...r})}])},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:r,...s}){return(0,t.jsx)("input",{type:r,"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),...s})}])},10708,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(248425),s=a.forwardRef((e,a)=>(0,t.jsx)(r.Primitive.label,{...e,ref:a,onMouseDown:t=>{t.target.closest("button, input, select, textarea")||(e.onMouseDown?.(t),!t.defaultPrevented&&t.detail>1&&t.preventDefault())}}));s.displayName="Label";var i=e.i(647163);e.s(["Label",0,function({className:e,...a}){return(0,t.jsx)(s,{"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])},631171,e=>{"use strict";let t=(0,e.i(475254).default)("chevron-down",[["path",{d:"m6 9 6 6 6-6",key:"qrunsl"}]]);e.s(["default",0,t])},470152,e=>{"use strict";e.s(["clamp",0,function(e,[t,a]){return Math.min(a,Math.max(t,e))}])},422758,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(647163);let s={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=s[u],p=i.has(u);return m&&!d?(0,t.jsx)("img",{src:m,alt:"",width:o,height:l,loading:"lazy",className:(0,r.cn)("object-contain shrink-0",p&&"dark:invert",n),onError:()=>c(!0)}):(0,t.jsx)("span",{className:(0,r.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])},555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],555436)},664659,e=>{"use strict";var t=e.i(631171);e.s(["ChevronDown",()=>t.default])},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)},643531,e=>{"use strict";var t=e.i(678745);e.s(["Check",()=>t.default])},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),r=e.i(531278),s=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,...r}=e,s=p(a);return(0,t.jsx)(o.Root,{...s,...r,modal:!0})};h.displayName=c,s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,i=p(r);return(0,t.jsx)(o.Trigger,{...i,...s,ref:a})}).displayName="AlertDialogTrigger";var f=e=>{let{__scopeAlertDialog:a,...r}=e,s=p(a);return(0,t.jsx)(o.Portal,{...s,...r})};f.displayName="AlertDialogPortal";var x=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,i=p(r);return(0,t.jsx)(o.Overlay,{...i,...s,ref:a})});x.displayName="AlertDialogOverlay";var v="AlertDialogContent",[g,b]=u(v),y=(0,d.createSlottable)("AlertDialogContent"),j=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,children:i,...d}=e,c=p(r),u=s.useRef(null),m=(0,n.useComposedRefs)(a,u),h=s.useRef(null);return(0,t.jsx)(o.WarningProvider,{contentName:v,titleName:w,docsSlug:"alert-dialog",children:(0,t.jsx)(g,{scope:r,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)(T,{contentRef:u})]})})})});j.displayName=v;var w="AlertDialogTitle",N=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,i=p(r);return(0,t.jsx)(o.Title,{...i,...s,ref:a})});N.displayName=w;var k="AlertDialogDescription",S=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,i=p(r);return(0,t.jsx)(o.Description,{...i,...s,ref:a})});S.displayName=k;var C=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,i=p(r);return(0,t.jsx)(o.Close,{...i,...s,ref:a})});C.displayName="AlertDialogAction";var D="AlertDialogCancel",P=s.forwardRef((e,a)=>{let{__scopeAlertDialog:r,...s}=e,{cancelRef:i}=b(D,r),l=p(r),d=(0,n.useComposedRefs)(a,i);return(0,t.jsx)(o.Close,{...l,...s,ref:d})});P.displayName=D;var T=({contentRef:e})=>{let t=`\`${v}\` requires a description for the component to be accessible for screen reader users.
2
-
3
- You can add a description to the \`${v}\` 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 \`${v}\`. 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 s.useEffect(()=>{document.getElementById(e.current?.getAttribute("aria-describedby"))||console.warn(t)},[t,e]),null},R=e.i(647163),M=e.i(167881);let _=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(x,{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:r}));_.displayName=x.displayName;let E=s.forwardRef(({className:e,...a},r)=>(0,t.jsxs)(f,{children:[(0,t.jsx)(_,{}),(0,t.jsx)(j,{ref:r,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 A=({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});A.displayName="AlertDialogFooter";let O=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(N,{ref:r,className:(0,R.cn)("text-lg font-semibold",e),...a}));O.displayName=N.displayName;let H=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(S,{ref:r,className:(0,R.cn)("text-sm text-muted-foreground",e),...a}));H.displayName=S.displayName;let I=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(C,{ref:r,className:(0,R.cn)((0,M.buttonVariants)(),e),...a}));I.displayName=C.displayName;let L=s.forwardRef(({className:e,...a},r)=>(0,t.jsx)(P,{ref:r,className:(0,R.cn)((0,M.buttonVariants)({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));L.displayName=P.displayName,e.s(["ConfirmDialog",0,function({open:e,onOpenChange:s,title:i,description:n,confirmLabel:o="Confirm",cancelLabel:l="Cancel",destructive:d,isLoading:c,onConfirm:u}){return(0,t.jsx)(h,{open:e,onOpenChange:s,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)(O,{className:(0,R.cn)(d&&"text-foreground"),children:i}),(0,t.jsx)(H,{children:n})]})]})}),(0,t.jsxs)(A,{children:[(0,t.jsx)(L,{disabled:c,children:l}),(0,t.jsxs)(I,{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)(r.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,...r}){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),...r})})},"TableBody",0,function({className:e,...r}){return(0,t.jsx)("tbody",{"data-slot":"table-body",className:(0,a.cn)("[&_tr:last-child]:border-0",e),...r})},"TableCell",0,function({className:e,...r}){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),...r})},"TableHead",0,function({className:e,...r}){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),...r})},"TableHeader",0,function({className:e,...r}){return(0,t.jsx)("thead",{"data-slot":"table-header",className:(0,a.cn)("[&_tr]:border-b",e),...r})},"TableRow",0,function({className:e,...r}){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),...r})}])},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 r=e.i(947627),s=e.i(647163);e.s(["DataTableCell",0,function({className:e,...a}){return(0,t.jsx)(r.TableCell,{className:(0,s.cn)("py-2 first:pl-4 last:pr-4",e),...a})},"DataTableEmpty",0,function({colSpan:e,children:s}){return(0,t.jsx)(r.TableRow,{className:"hover:bg-transparent",children:(0,t.jsx)(r.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)(r.TableHead,{className:(0,s.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)(r.TableHeader,{className:(0,s.cn)("bg-muted/40 sticky top-0 z-10",e),...a})},"DataTableHeaderRow",0,function({className:e,...a}){return(0,t.jsx)(r.TableRow,{className:(0,s.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)(r.TableRow,{className:(0,s.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)(r.Table,{className:e,...a})})}],137309),e.s(["DataTableBody",()=>r.TableBody],117089)},630374,e=>{"use strict";var t=e.i(843476),a=e.i(326999),r=e.i(995926),s=e.i(647163);function i({...e}){return(0,t.jsx)(a.Portal,{"data-slot":"dialog-portal",...e})}function n({className:e,...r}){return(0,t.jsx)(a.Overlay,{"data-slot":"dialog-overlay",className:(0,s.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),...r})}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,s.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)(r.XIcon,{}),(0,t.jsx)("span",{className:"sr-only",children:"Close"})]})]})]})},"DialogDescription",0,function({className:e,...r}){return(0,t.jsx)(a.Description,{"data-slot":"dialog-description",className:(0,s.cn)("text-muted-foreground text-sm",e),...r})},"DialogFooter",0,function({className:e,...a}){return(0,t.jsx)("div",{"data-slot":"dialog-footer",className:(0,s.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,s.cn)("flex flex-col gap-2 text-center sm:text-left",e),...a})},"DialogTitle",0,function({className:e,...r}){return(0,t.jsx)(a.Title,{"data-slot":"dialog-title",className:(0,s.cn)("text-lg leading-none font-semibold",e),...r})}])},994179,e=>{"use strict";var t=e.i(843476),a=e.i(991918),r=e.i(225913),s=e.i(647163);let i=(0,r.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:r,asChild:n=!1,...o}){let l=n?a.Slot:"span";return(0,t.jsx)(l,{"data-slot":"badge",className:(0,s.cn)(i({variant:r}),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])},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),a=e.i(266027),r=e.i(718512),s=e.i(715760);let i=(0,r.defineResource)({path:"/providers",key:"providers",listShape:"array",staleTime:6e4,invalidates:["models"]}),n={...i,listModels:e=>(0,s.fetcher)(`/providers/${encodeURIComponent(e)}/models`),reload:()=>(0,s.fetcher)("/providers/reload",{method:"POST"}),check:e=>(0,s.fetcher)(`/providers/${encodeURIComponent(e)}/check`,{method:"POST"}),probe:e=>(0,s.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,r,s,i)=>{a(),e?.onSuccess?.(t,r,s,i)}})},useCheck:(e,a)=>{let r=i.useInvalidate();return(0,t.useMutation)({mutationFn:()=>n.check(e),...a,onSuccess:(e,t,s,i)=>{r(),a?.onSuccess?.(e,t,s,i)}})}};e.s(["providers",0,n])},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 r=(0,t.defineResource)({path:"/adapters",key:"adapters",listShape:"array",staleTime:6e4});e.s(["adapters",0,r],581445);let s=(0,t.defineResource)({path:"/variants",key:"variants",listShape:"array",staleTime:6e4});e.s(["variants",0,s],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),r=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:r}=e,s=super.createResult(e,t),{isFetching:i,isRefetching:n,isError:o,isRefetchError:l}=s,d=r.fetchMeta?.fetchMore?.direction,c=o&&"forward"===d,u=i&&"forward"===d,m=o&&"backward"===d,p=i&&"backward"===d;return{...s,fetchNextPage:this.fetchNextPage,fetchPreviousPage:this.fetchPreviousPage,hasNextPage:(0,a.hasNextPage)(t,r.data),hasPreviousPage:(0,a.hasPreviousPage)(t,r.data),isFetchNextPageError:c,isFetchingNextPage:u,isFetchPreviousPageError:m,isFetchingPreviousPage:p,isRefetchError:l&&!c&&!m,isRefetching:n&&!u&&!p}}},s=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,s.useBaseQuery)(t,r,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),r=e.i(912598),s=e.i(718512),i=e.i(715760);let n=(0,s.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,r.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),r=e.i(981140),s=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 f(e){let{__scopeSwitch:r,checked:s,children:i,defaultChecked:o,disabled:l,form:d,name:u,onCheckedChange:m,required:h,value:f="on",internal_do_not_use_render:x}=e,[v,g]=(0,n.useControllableState)({prop:s,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"),S={checked:v,setChecked:g,disabled:l,control:b,setControl:y,name:u,form:d,value:f,hasConsumerStoppedPropagationRef:N,required:h,defaultChecked:o,isFormControl:k,bubbleInput:j,setBubbleInput:w};return(0,t.jsx)(p,{scope:r,...S,children:"function"==typeof x?x(S):i})}var x="SwitchTrigger",v=a.forwardRef(({__scopeSwitch:e,onClick:a,...i},n)=>{let{value:o,disabled:l,checked:c,required:u,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:f,isFormControl:v,bubbleInput:g}=h(x,e),b=(0,s.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,r.composeEventHandlers)(a,e=>{p(e=>!e),g&&v&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});v.displayName=x;var g=a.forwardRef((e,a)=>{let{__scopeSwitch:r,name:s,checked:i,defaultChecked:n,required:o,disabled:l,value:d,onCheckedChange:c,form:u,...m}=e;return(0,t.jsx)(f,{__scopeSwitch:r,checked:i,defaultChecked:n,disabled:l,required:o,onCheckedChange:c,name:s,form:u,value:d,internal_do_not_use_render:({isFormControl:e})=>(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(v,{...m,ref:a,__scopeSwitch:r}),e&&(0,t.jsx)(w,{__scopeSwitch:r})]})})});g.displayName=c;var b="SwitchThumb",y=a.forwardRef((e,a)=>{let{__scopeSwitch:r,...s}=e,i=h(b,r);return(0,t.jsx)(d.Primitive.span,{"data-state":N(i.checked),"data-disabled":i.disabled?"":void 0,...s,ref:a})});y.displayName=b;var j="SwitchBubbleInput",w=a.forwardRef(({__scopeSwitch:e,...r},i)=>{let{control:n,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:m,required:p,disabled:f,name:x,value:v,form:g,bubbleInput:b,setBubbleInput:y}=h(j,e),w=(0,s.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 S=a.useRef(u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??S.current,required:p,disabled:f,name:x,value:v,form:g,...r,tabIndex:-1,ref:w,style:{...r.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)(g,{"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,...r}){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),...r})}])},284614,e=>{"use strict";let t=(0,e.i(475254).default)("user",[["path",{d:"M19 21v-2a4 4 0 0 0-4-4H9a4 4 0 0 0-4 4v2",key:"975kel"}],["circle",{cx:"12",cy:"7",r:"4",key:"17ys0d"}]]);e.s(["User",0,t],284614)},367240,656694,90382,e=>{"use strict";let t=(0,e.i(475254).default)("rotate-ccw",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}]]);e.s(["RotateCcw",0,t],367240);var a=e.i(768834),r=e.i(579473);let s={sendOnEnter:!0,showTimestamps:!0,compactMode:!1},i=(0,a.create)()((0,r.persist)(e=>({...s,updateDeviceSettings:t=>e(e=>({...e,...t})),resetDeviceSettings:()=>e(s)}),{name:"loom-device-settings",storage:(0,r.createJSONStorage)(()=>localStorage)}));e.s(["useDeviceSettingsStore",0,i],656694);var n=e.i(843476),o=e.i(271645),l=e.i(470152),d=e.i(981140),c=e.i(820783),u=e.i(30030),m=e.i(369340),p=e.i(586318),h=e.i(999682),f=e.i(635804),x=e.i(248425),v=e.i(75830),g=["PageUp","PageDown"],b=["ArrowUp","ArrowDown","ArrowLeft","ArrowRight"],y={"from-left":["Home","PageDown","ArrowDown","ArrowLeft"],"from-right":["Home","PageDown","ArrowDown","ArrowRight"],"from-bottom":["Home","PageDown","ArrowDown","ArrowLeft"],"from-top":["Home","PageDown","ArrowUp","ArrowLeft"]},j="Slider",[w,N,k]=(0,v.createCollection)(j),[S,C]=(0,u.createContextScope)(j,[k]),[D,P]=S(j),T=o.forwardRef((e,t)=>{let{name:a,min:r=0,max:s=100,step:i=1,orientation:c="horizontal",disabled:u=!1,minStepsBetweenThumbs:p=0,defaultValue:h=[r],value:f,onValueChange:x=()=>{},onValueCommit:v=()=>{},inverted:y=!1,form:j,...N}=e,k=o.useRef(new Set),S=o.useRef(0),C=o.useRef(!1),P="horizontal"===c,[T=[],R]=(0,m.useControllableState)({prop:f,defaultProp:h,onChange:e=>{let t=[...k.current];t[S.current]?.focus({preventScroll:!0,focusVisible:C.current}),C.current=!1,x(e)}}),M=o.useRef(T);function z(e,t,{commit:a}={commit:!1}){let n,o=function(e){if(!Number.isFinite(e))return 0;let t=e.toString();if(t.includes("e")){let[e,a]=t.split("e"),r=e.split(".")[1]||"",s=Number(a);return Math.max(0,r.length-s)}let a=t.split(".")[1];return a?a.length:0}(i),d=Math.round((Math.round((e-r)/i)*i+r)*(n=Math.pow(10,o)))/n,c=(0,l.clamp)(d,[r,s]);R((e=[])=>{let r=function(e=[],t,a){let r=[...e];return r[a]=t,r.sort((e,t)=>e-t)}(e,c,t);if(!function(e,t){if(t>0)return Math.min(...e.slice(0,-1).map((t,a)=>e[a+1]-t))>=t;return!0}(r,p*i))return e;{S.current=r.indexOf(c);let t=String(r)!==String(e);return t&&a&&v(r),t?r:e}})}return(0,n.jsx)(D,{scope:e.__scopeSlider,name:a,disabled:u,min:r,max:s,valueIndexToChangeRef:S,thumbs:k.current,values:T,orientation:c,form:j,children:(0,n.jsx)(w.Provider,{scope:e.__scopeSlider,children:(0,n.jsx)(w.Slot,{scope:e.__scopeSlider,children:(0,n.jsx)(P?_:E,{"aria-disabled":u,"data-disabled":u?"":void 0,...N,ref:t,onPointerDown:(0,d.composeEventHandlers)(N.onPointerDown,()=>{u||(M.current=T,C.current=!1)}),min:r,max:s,inverted:y,onSlideStart:u?void 0:function(e){let t=function(e,t){if(1===e.length)return 0;let a=e.map(e=>Math.abs(e-t)),r=Math.min(...a);return a.indexOf(r)}(T,e);z(e,t)},onSlideMove:u?void 0:function(e){z(e,S.current)},onSlideEnd:u?void 0:function(){let e=M.current[S.current];T[S.current]!==e&&v(T)},onHomeKeyDown:()=>{u||(C.current=!0,z(r,0,{commit:!0}))},onEndKeyDown:()=>{u||(C.current=!0,z(s,T.length-1,{commit:!0}))},onStepKeyDown:({event:e,direction:t})=>{if(!u){C.current=!0;let a=g.includes(e.key)||e.shiftKey&&b.includes(e.key),r=S.current;z(T[r]+i*(a?10:1)*t,r,{commit:!0})}}})})})})});T.displayName=j;var[R,M]=S(j,{startEdge:"left",endEdge:"right",size:"width",direction:1}),_=o.forwardRef((e,t)=>{let{min:a,max:r,dir:s,inverted:i,onSlideStart:l,onSlideMove:d,onSlideEnd:u,onStepKeyDown:m,...h}=e,[f,x]=o.useState(null),v=(0,c.useComposedRefs)(t,e=>x(e)),g=o.useRef(void 0),b=(0,p.useDirection)(s),j="ltr"===b,w=j&&!i||!j&&i;function N(e){let t=g.current||f.getBoundingClientRect(),s=X([0,t.width],w?[a,r]:[r,a]);return g.current=t,s(e-t.left)}return(0,n.jsx)(R,{scope:e.__scopeSlider,startEdge:w?"left":"right",endEdge:w?"right":"left",direction:w?1:-1,size:"width",children:(0,n.jsx)(z,{dir:b,"data-orientation":"horizontal",...h,ref:v,style:{...h.style,"--radix-slider-thumb-transform":"translateX(-50%)"},onSlideStart:e=>{let t=N(e.clientX);l?.(t)},onSlideMove:e=>{let t=N(e.clientX);d?.(t)},onSlideEnd:()=>{g.current=void 0,u?.()},onStepKeyDown:e=>{let t=y[w?"from-left":"from-right"].includes(e.key);m?.({event:e,direction:t?-1:1})}})})}),E=o.forwardRef((e,t)=>{let{min:a,max:r,inverted:s,onSlideStart:i,onSlideMove:l,onSlideEnd:d,onStepKeyDown:u,...m}=e,p=o.useRef(null),h=(0,c.useComposedRefs)(t,p),f=o.useRef(void 0),x=!s;function v(e){let t=f.current||p.current.getBoundingClientRect(),s=X([0,t.height],x?[r,a]:[a,r]);return f.current=t,s(e-t.top)}return(0,n.jsx)(R,{scope:e.__scopeSlider,startEdge:x?"bottom":"top",endEdge:x?"top":"bottom",size:"height",direction:x?1:-1,children:(0,n.jsx)(z,{"data-orientation":"vertical",...m,ref:h,style:{...m.style,"--radix-slider-thumb-transform":"translateY(50%)"},onSlideStart:e=>{let t=v(e.clientY);i?.(t)},onSlideMove:e=>{let t=v(e.clientY);l?.(t)},onSlideEnd:()=>{f.current=void 0,d?.()},onStepKeyDown:e=>{let t=y[x?"from-bottom":"from-top"].includes(e.key);u?.({event:e,direction:t?-1:1})}})})}),z=o.forwardRef((e,t)=>{let{__scopeSlider:a,onSlideStart:r,onSlideMove:s,onSlideEnd:i,onHomeKeyDown:o,onEndKeyDown:l,onStepKeyDown:c,...u}=e,m=P(j,a);return(0,n.jsx)(x.Primitive.span,{...u,ref:t,onKeyDown:(0,d.composeEventHandlers)(e.onKeyDown,e=>{"Home"===e.key?(o(e),e.preventDefault()):"End"===e.key?(l(e),e.preventDefault()):g.concat(b).includes(e.key)&&(c(e),e.preventDefault())}),onPointerDown:(0,d.composeEventHandlers)(e.onPointerDown,e=>{let t=e.target;t.setPointerCapture(e.pointerId),e.preventDefault(),m.thumbs.has(t)?t.focus({preventScroll:!0,focusVisible:!1}):r(e)}),onPointerMove:(0,d.composeEventHandlers)(e.onPointerMove,e=>{e.target.hasPointerCapture(e.pointerId)&&s(e)}),onPointerUp:(0,d.composeEventHandlers)(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&(t.releasePointerCapture(e.pointerId),i(e))})})}),A="SliderTrack",O=o.forwardRef((e,t)=>{let{__scopeSlider:a,...r}=e,s=P(A,a);return(0,n.jsx)(x.Primitive.span,{"data-disabled":s.disabled?"":void 0,"data-orientation":s.orientation,...r,ref:t})});O.displayName=A;var H="SliderRange",I=o.forwardRef((e,t)=>{let{__scopeSlider:a,...r}=e,s=P(H,a),i=M(H,a),l=o.useRef(null),d=(0,c.useComposedRefs)(t,l),u=s.values.length,m=s.values.map(e=>W(e,s.min,s.max)),p=u>1?Math.min(...m):0,h=100-Math.max(...m);return(0,n.jsx)(x.Primitive.span,{"data-orientation":s.orientation,"data-disabled":s.disabled?"":void 0,...r,ref:d,style:{...e.style,[i.startEdge]:p+"%",[i.endEdge]:h+"%"}})});I.displayName=H;var L="SliderThumb",[F,U]=S(L),B="SliderThumbProvider";function q(e){let{__scopeSlider:t,name:a,children:r,internal_do_not_use_render:s}=e,i=P(B,t),l=N(t),[d,c]=o.useState(null),u=o.useMemo(()=>d?l().findIndex(e=>e.ref.current===d):-1,[l,d]),m=(0,f.useSize)(d),p=!d||!!i.form||!!d.closest("form"),h=i.values[u],x=a??(i.name?i.name+(i.values.length>1?"[]":""):void 0),v=void 0===h?0:W(h,i.min,i.max);o.useEffect(()=>{if(d)return i.thumbs.add(d),()=>{i.thumbs.delete(d)}},[d,i.thumbs]);let g={value:h,name:x,form:i.form,isFormControl:p,index:u,thumb:d,onThumbChange:c,percent:v,size:m};return(0,n.jsx)(F,{scope:t,...g,children:"function"==typeof s?s(g):r})}q.displayName=B;var K="SliderThumbTrigger",V=o.forwardRef((e,t)=>{var a,r,s,i,o;let l,u,{__scopeSlider:m,...p}=e,h=P(K,m),f=M(K,m),{index:v,value:g,percent:b,size:y,onThumbChange:j}=U(K,m),N=(0,c.useComposedRefs)(t,e=>j(e)),k=(a=v,(r=h.values.length)>2?`Value ${a+1} of ${r}`:2===r?["Minimum","Maximum"][a]:void 0),S=y?.[f.size],C=S?(s=S,i=b,o=f.direction,u=X([0,50],[0,l=s/2]),(l-u(i)*o)*o):0;return(0,n.jsx)("span",{style:{transform:"var(--radix-slider-thumb-transform)",position:"absolute",[f.startEdge]:`calc(${b}% + ${C}px)`},children:(0,n.jsx)(w.ItemSlot,{scope:m,children:(0,n.jsx)(x.Primitive.span,{role:"slider","aria-label":e["aria-label"]||k,"aria-valuemin":h.min,"aria-valuenow":g,"aria-valuemax":h.max,"aria-orientation":h.orientation,"data-orientation":h.orientation,"data-disabled":h.disabled?"":void 0,tabIndex:h.disabled?void 0:0,...p,ref:N,style:void 0===g?{display:"none"}:e.style,onFocus:(0,d.composeEventHandlers)(e.onFocus,()=>{h.valueIndexToChangeRef.current=v})})})})});V.displayName=K;var $=o.forwardRef((e,t)=>{let{__scopeSlider:a,name:r,...s}=e;return(0,n.jsx)(q,{__scopeSlider:a,name:r,internal_do_not_use_render:({index:e,isFormControl:r})=>(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(V,{...s,ref:t,__scopeSlider:a}),r?(0,n.jsx)(J,{__scopeSlider:a},e):null]})})});$.displayName=L;var Q="SliderBubbleInput",J=o.forwardRef(({__scopeSlider:e,...t},a)=>{let{value:r,name:s,form:i}=U(Q,e),l=o.useRef(null),d=(0,c.useComposedRefs)(l,a),u=(0,h.usePrevious)(r);return o.useEffect(()=>{let e=l.current;if(!e)return;let t=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"value").set;if(u!==r&&t){let a=new Event("input",{bubbles:!0});t.call(e,r),e.dispatchEvent(a)}},[u,r]),(0,n.jsx)(x.Primitive.input,{style:{display:"none"},name:s,form:i,...t,ref:d,defaultValue:r})});function W(e,t,a){return(0,l.clamp)(100/(a-t)*(e-t),[0,100])}function X(e,t){return a=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(a-e[0])}}J.displayName=Q;var Y=e.i(647163);e.s(["Slider",0,function({className:e,defaultValue:t,value:a,min:r=0,max:s=100,...i}){let l=o.useMemo(()=>Array.isArray(a)?a:Array.isArray(t)?t:[r,s],[a,t,r,s]);return(0,n.jsxs)(T,{"data-slot":"slider",defaultValue:t,value:a,min:r,max:s,className:(0,Y.cn)("relative flex w-full touch-none items-center select-none data-[disabled]:opacity-50 data-[orientation=vertical]:h-full data-[orientation=vertical]:min-h-44 data-[orientation=vertical]:w-auto data-[orientation=vertical]:flex-col",e),...i,children:[(0,n.jsx)(O,{"data-slot":"slider-track",className:(0,Y.cn)("bg-muted relative grow overflow-hidden rounded-full data-[orientation=horizontal]:h-1.5 data-[orientation=horizontal]:w-full data-[orientation=vertical]:h-full data-[orientation=vertical]:w-1.5"),children:(0,n.jsx)(I,{"data-slot":"slider-range",className:(0,Y.cn)("bg-primary absolute data-[orientation=horizontal]:h-full data-[orientation=vertical]:w-full")})}),Array.from({length:l.length},(e,t)=>(0,n.jsx)($,{"data-slot":"slider-thumb",className:"border-primary ring-ring/50 block size-4 shrink-0 rounded-full border bg-white shadow-sm transition-[color,box-shadow] hover:ring-4 focus-visible:ring-4 focus-visible:outline-hidden disabled:pointer-events-none disabled:opacity-50"},t))]})}],90382)},888501,e=>{"use strict";var t=e.i(843476),a=e.i(271645),r=e.i(531245),s=e.i(686311),i=e.i(475254);let n=(0,i.default)("palette",[["path",{d:"M12 22a1 1 0 0 1 0-20 10 9 0 0 1 10 9 5 5 0 0 1-5 5h-2.25a1.75 1.75 0 0 0-1.4 2.8l.3.4a1.75 1.75 0 0 1-1.4 2.8z",key:"e79jfc"}],["circle",{cx:"13.5",cy:"6.5",r:".5",fill:"currentColor",key:"1okk4w"}],["circle",{cx:"17.5",cy:"10.5",r:".5",fill:"currentColor",key:"f64h9f"}],["circle",{cx:"6.5",cy:"12.5",r:".5",fill:"currentColor",key:"qy21gx"}],["circle",{cx:"8.5",cy:"7.5",r:".5",fill:"currentColor",key:"fotxhn"}]]);var o=e.i(367240);let l=(0,i.default)("sliders-vertical",[["path",{d:"M10 8h4",key:"1sr2af"}],["path",{d:"M12 21v-9",key:"17s77i"}],["path",{d:"M12 8V3",key:"13r4qs"}],["path",{d:"M17 16h4",key:"h1uq16"}],["path",{d:"M19 12V3",key:"o1uvq1"}],["path",{d:"M19 21v-5",key:"qua636"}],["path",{d:"M3 14h4",key:"bcjad9"}],["path",{d:"M5 10V3",key:"cb8scm"}],["path",{d:"M5 21v-7",key:"1w1uti"}]]);var d=e.i(284614),c=e.i(195116),u=e.i(846696),m=e.i(407995),p=e.i(16942),h=e.i(656694),f=e.i(167881),x=e.i(647163);let v=(0,i.default)("sun",[["circle",{cx:"12",cy:"12",r:"4",key:"4exip2"}],["path",{d:"M12 2v2",key:"tus03m"}],["path",{d:"M12 20v2",key:"1lh1kg"}],["path",{d:"m4.93 4.93 1.41 1.41",key:"149t6j"}],["path",{d:"m17.66 17.66 1.41 1.41",key:"ptbguv"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"m6.34 17.66-1.41 1.41",key:"1m8zz5"}],["path",{d:"m19.07 4.93-1.41 1.41",key:"1shlcs"}]]),g=(0,i.default)("moon",[["path",{d:"M20.985 12.486a9 9 0 1 1-9.473-9.472c.405-.022.617.46.402.803a6 6 0 0 0 8.268 8.268c.344-.215.825-.004.803.401",key:"kfwtm"}]]),b=(0,i.default)("monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var y=e.i(643531);e.i(251383),e.i(443674);var j=e.i(928435),w=e.i(90382),N=e.i(970065),k=e.i(23750),S=e.i(664659),C=e.i(555436),D=e.i(422758);function P({icon:e,title:a,description:r,action:s,children:i}){return(0,t.jsxs)(N.Card,{children:[(0,t.jsx)(N.CardHeader,{className:"pb-4",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("div",{className:"rounded-lg bg-primary/10 p-2",children:(0,t.jsx)(e,{className:"h-4 w-4 text-primary"})}),(0,t.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,t.jsx)(N.CardTitle,{className:"text-base",children:a}),r&&(0,t.jsx)(N.CardDescription,{className:"text-sm",children:r})]}),s]})}),(0,t.jsx)(N.CardContent,{className:"space-y-4",children:i})]})}function T({label:e,description:a,children:r,stacked:s}){return s?(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsxs)("div",{className:"space-y-0.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e}),a&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a})]}),(0,t.jsx)("div",{children:r})]}):(0,t.jsxs)("div",{className:"flex flex-col justify-between gap-2 sm:flex-row sm:items-center sm:gap-4",children:[(0,t.jsxs)("div",{className:"shrink-0 space-y-0.5",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e}),a&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:a})]}),(0,t.jsx)("div",{className:"w-full sm:max-w-[280px]",children:r})]})}let R=a.memo(function({value:e,onValueChange:r,models:s,isLoading:i,placeholder:n}){let[o,l]=a.useState(!1),[d,c]=a.useState(""),u=a.useRef(null),m=a.useMemo(()=>{if(!d)return s;let e=d.toLowerCase();return s.filter(t=>t.name.toLowerCase().includes(e))},[s,d]);return a.useEffect(()=>{if(!o)return;let e=e=>{u.current&&!u.current.contains(e.target)&&l(!1)};return document.addEventListener("mousedown",e),()=>document.removeEventListener("mousedown",e)},[o]),a.useEffect(()=>{o||c("")},[o]),(0,t.jsxs)("div",{ref:u,className:"relative",children:[(0,t.jsxs)("button",{type:"button",onClick:()=>!i&&l(!o),className:(0,x.cn)("flex h-9 w-full items-center justify-between rounded-md border bg-transparent px-3 text-sm","transition-colors hover:bg-muted/50",i&&"cursor-not-allowed opacity-50"),disabled:i,children:[(0,t.jsx)("span",{className:"truncate",children:e||n}),(0,t.jsx)(S.ChevronDown,{className:"h-4 w-4 shrink-0 opacity-50"})]}),o&&(0,t.jsxs)("div",{className:"absolute z-50 mt-1 w-full rounded-md border bg-popover shadow-md",children:[(0,t.jsx)("div",{className:"border-b p-2",children:(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(C.Search,{className:"absolute left-2 top-1.5 h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)(k.Input,{placeholder:"Search...",className:"h-7 pl-7 text-xs",value:d,onChange:e=>c(e.target.value),autoFocus:!0})]})}),(0,t.jsx)("div",{className:"scrollbar-thin max-h-[240px] overflow-y-auto p-1",children:0===m.length?(0,t.jsx)("div",{className:"p-2 text-sm text-muted-foreground",children:"No models"}):m.map(a=>(0,t.jsxs)("button",{type:"button",onClick:()=>{r(a.name),l(!1)},className:(0,x.cn)("flex w-full items-center gap-2 rounded-sm px-2 py-1.5 text-left text-xs",e===a.name?"bg-accent":"hover:bg-muted/50"),children:[(0,t.jsx)(D.ProviderIcon,{providerName:a.provider||"?"}),(0,t.jsx)("span",{className:"truncate",children:a.name})]},a.name))})]})]})});function M({theme:e,active:a,onSelect:r}){let[s,i,n,o]=e.preview.swatches;return(0,t.jsxs)("button",{type:"button",onClick:r,className:(0,x.cn)("group relative flex items-stretch gap-3 overflow-hidden rounded-xl border bg-card p-3 text-left transition-all","hover:border-primary/50 hover:shadow-sm",a&&"border-primary ring-2 ring-primary/30"),children:[(0,t.jsxs)("div",{className:"relative flex h-16 w-16 shrink-0 items-center justify-center overflow-hidden rounded-lg border",style:{background:s,color:i},children:[(0,t.jsx)("span",{className:"text-xl font-semibold leading-none",children:e.preview.glyph??"Aa"}),(0,t.jsxs)("div",{className:"absolute bottom-1 left-1 right-1 flex h-1.5 gap-0.5",children:[(0,t.jsx)("div",{className:"flex-1 rounded-sm",style:{background:i}}),(0,t.jsx)("div",{className:"flex-1 rounded-sm",style:{background:n}}),(0,t.jsx)("div",{className:"flex-1 rounded-sm",style:{background:o}})]})]}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)("span",{className:"text-sm font-medium",children:e.label}),(0,t.jsx)("span",{className:(0,x.cn)("rounded-full border px-1.5 py-0.5 text-[10px] font-medium uppercase tracking-wide","cool"===e.flair?"border-primary/30 bg-primary/10 text-primary":"border-border bg-muted text-muted-foreground"),children:e.flair})]}),(0,t.jsx)("p",{className:"mt-1 line-clamp-2 text-xs text-muted-foreground",children:e.description})]}),a&&(0,t.jsx)(y.Check,{className:"absolute right-2 top-2 h-4 w-4 text-primary"})]})}function _({value:e,onChange:a}){return(0,t.jsx)("div",{className:"inline-flex rounded-md border bg-muted/30 p-0.5",children:[{value:"light",label:"Light",icon:v},{value:"dark",label:"Dark",icon:g},{value:"system",label:"System",icon:b}].map(r=>{let s=r.icon,i=e===r.value;return(0,t.jsxs)("button",{type:"button",onClick:()=>a(r.value),className:(0,x.cn)("inline-flex items-center gap-1.5 rounded px-3 py-1.5 text-xs transition-colors",i?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:[(0,t.jsx)(s,{className:"h-3.5 w-3.5"}),r.label]},r.value)})})}function E({value:e,options:a,onChange:r}){return(0,t.jsx)("div",{className:"inline-flex w-full rounded-md border bg-muted/30 p-0.5 sm:w-auto",children:a.map(a=>{let s=e===a.value;return(0,t.jsx)("button",{type:"button",onClick:()=>r(a.value),className:(0,x.cn)("flex-1 rounded px-3 py-1.5 text-xs transition-colors sm:flex-initial",s?"bg-background text-foreground shadow-sm":"text-muted-foreground hover:text-foreground"),children:a.label},a.value)})})}var z=e.i(319036),A=e.i(184762),O=e.i(733467);let H=["👤","😀","😎","🤖","🦊","🐱","🐶","🦁","🐼","🐨","🐸","🦄","🌟","💫","🎯","🚀"];function I(){let{data:e}=m.preferences.useGet(),a=e??p.defaultUserPreferences,r=m.preferences.useUpdate(),s=e=>r.mutate(e,{onError:e=>u.toast.error(e.message||"Failed to save")});return(0,t.jsxs)(P,{icon:d.User,title:"User Profile",description:"The display name and avatar shown across the app.",children:[(0,t.jsx)(T,{label:"Display Name",description:"Shown in the header, chat messages, and conversation list.",children:(0,t.jsx)(k.Input,{value:a.user_name,onChange:e=>s({user_name:e.target.value}),placeholder:"Your name"})}),(0,t.jsx)(T,{label:"Avatar",description:"Pick an emoji avatar.",stacked:!0,children:(0,t.jsx)("div",{className:"flex flex-wrap gap-1.5",children:H.map(e=>(0,t.jsx)("button",{type:"button",onClick:()=>s({user_avatar:e}),className:(0,x.cn)("flex h-9 w-9 items-center justify-center rounded-lg border text-lg transition-all hover:bg-muted",a.user_avatar===e?"border-primary bg-primary/10 ring-2 ring-primary/20":"border-transparent"),children:e},e))})})]})}var L=e.i(107233),F=e.i(585381),U=e.i(57559),B=e.i(531278),q=e.i(630374),K=e.i(10708);let V=`{
8
- "type": "object",
9
- "properties": {},
10
- "required": []
11
- }`;function $({open:e,onOpenChange:r,mode:s,tool:i}){let[n,o]=a.useState(""),[l,d]=a.useState(""),[c,m]=a.useState(V),[p,h]=a.useState(""),[x,v]=a.useState(!0),[g,b]=a.useState(null);a.useEffect(()=>{e&&(i?(o(i.name),d(i.description??""),m(JSON.stringify(i.parameters??{},null,2)),h(i.webhook_url??""),v(!1!==i.enabled)):(o(""),d(""),m(V),h(""),v(!0)),b(null))},[e,i]);let y=F.tools.useCreate({onSuccess:()=>{u.toast.success("Saved"),r(!1)},onError:e=>u.toast.error(e.message||"Save failed")}),j=F.tools.useUpdate({onSuccess:()=>{u.toast.success("Saved"),r(!1)},onError:e=>u.toast.error(e.message||"Save failed")}),w=y.isPending||j.isPending;return(0,t.jsx)(q.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(q.DialogContent,{className:"sm:max-w-[640px] max-h-[90vh] overflow-y-auto",onOpenAutoFocus:"edit"===s?e=>e.preventDefault():void 0,children:[(0,t.jsx)(q.DialogHeader,{children:(0,t.jsx)(q.DialogTitle,{children:"create"===s?"Add tool":"Edit"})}),(0,t.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),!n.trim())return u.toast.error("Name required");let t={};try{t=c.trim()?JSON.parse(c):{},b(null)}catch(e){b(e instanceof Error?e.message:"Invalid JSON");return}let a={name:n.trim(),description:l.trim(),parameters:t,webhook_url:p.trim()||null,enabled:x};"create"===s?y.mutate(a):i&&j.mutate({id:i.id,data:a})},className:"space-y-4",children:[(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsx)(Q,{label:"Name",htmlFor:"t-name",children:(0,t.jsx)(k.Input,{id:"t-name",value:n,onChange:e=>o(e.target.value),placeholder:"get_weather",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(Q,{label:"Webhook URL",htmlFor:"t-webhook",children:(0,t.jsx)(k.Input,{id:"t-webhook",value:p,onChange:e=>h(e.target.value),placeholder:"https://…",className:"h-9 text-sm font-mono"})})]}),(0,t.jsx)(Q,{label:"Description",htmlFor:"t-desc",children:(0,t.jsx)(k.Input,{id:"t-desc",value:l,onChange:e=>d(e.target.value),className:"h-9 text-sm"})}),(0,t.jsxs)(Q,{label:"Parameters (JSON Schema)",htmlFor:"t-params",children:[(0,t.jsx)(A.Textarea,{id:"t-params",value:c,onChange:e=>m(e.target.value),rows:10,className:"text-xs font-mono"}),g&&(0,t.jsx)("span",{className:"text-xs text-destructive",children:g})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(K.Label,{htmlFor:"t-enabled",className:"text-xs",children:"Enabled"}),(0,t.jsx)(z.Switch,{id:"t-enabled",checked:x,onCheckedChange:v})]}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-2",children:[(0,t.jsx)(f.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>r(!1),disabled:w,children:"Cancel"}),(0,t.jsxs)(f.Button,{type:"submit",size:"sm",disabled:w,children:[w&&(0,t.jsx)(B.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Save"]})]})]})]})})}function Q({label:e,htmlFor:a,children:r}){return(0,t.jsxs)("div",{className:"grid gap-1.5 min-w-0",children:[(0,t.jsx)(K.Label,{htmlFor:a,className:"text-xs",children:e}),r]})}var J=e.i(788699),W=e.i(727612),X=e.i(994179),Y=e.i(137309),G=e.i(117089);function Z({tools:e,onEdit:a,onDelete:r}){let s=!!a||!!r;return(0,t.jsxs)(Y.DataTableShell,{children:[(0,t.jsx)(Y.DataTableHeader,{children:(0,t.jsxs)(Y.DataTableHeaderRow,{children:[(0,t.jsx)(Y.DataTableHead,{children:"Name"}),(0,t.jsx)(Y.DataTableHead,{children:"Description"}),(0,t.jsx)(Y.DataTableHead,{children:"Webhook"}),(0,t.jsx)(Y.DataTableHead,{children:"Status"}),s&&(0,t.jsx)(Y.DataTableHead,{className:"w-[88px] text-right",children:"Actions"})]})}),(0,t.jsx)(G.DataTableBody,{children:0===e.length?(0,t.jsx)(Y.DataTableEmpty,{colSpan:s?5:4,children:"No tools registered yet."}):e.map(e=>(0,t.jsxs)(Y.DataTableRow,{children:[(0,t.jsx)(Y.DataTableCell,{className:"font-mono text-xs max-w-[200px] truncate",title:e.name,children:e.name}),(0,t.jsx)(Y.DataTableCell,{className:"text-xs text-muted-foreground max-w-[320px] truncate",title:e.description,children:e.description||"—"}),(0,t.jsx)(Y.DataTableCell,{className:"text-xs font-mono text-muted-foreground max-w-[260px] truncate",title:e.webhook_url??void 0,children:e.webhook_url??(0,t.jsx)("span",{className:"italic",children:"none"})}),(0,t.jsx)(Y.DataTableCell,{children:(0,t.jsx)(X.Badge,{variant:e.enabled?"default":"secondary",className:"text-[10px] uppercase",children:e.enabled?"on":"off"})}),s&&(0,t.jsx)(Y.DataTableCell,{className:"text-right",children:(0,t.jsxs)("div",{className:"flex items-center justify-end gap-1",children:[a&&(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",className:"h-7 w-7",onClick:()=>a(e),title:"Edit",children:(0,t.jsx)(J.Pencil,{className:"h-3.5 w-3.5"})}),r&&(0,t.jsx)(f.Button,{variant:"ghost",size:"icon",className:"h-7 w-7 text-destructive hover:text-destructive",onClick:()=>r(e),title:"Delete",children:(0,t.jsx)(W.Trash2,{className:"h-3.5 w-3.5"})})]})})]},e.id))})]})}let ee=[{id:"profile",label:"Profile",icon:d.User,Component:I},{id:"appearance",label:"Appearance",icon:n,Component:function(){let{data:e}=m.preferences.useGet(),r=e??p.defaultUserPreferences,s=m.preferences.useUpdate(),i=a.useMemo(()=>(0,j.getAllThemes)(),[]),o=e=>s.mutate(e,{onError:e=>u.toast.error(e.message||"Failed to save")});return(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)(P,{icon:n,title:"Theme",description:"Pick a visual preset for the whole app.",children:[(0,t.jsx)("div",{className:"grid grid-cols-1 gap-3 sm:grid-cols-2",children:i.map(e=>(0,t.jsx)(M,{theme:e,active:r.theme_id===e.id,onSelect:()=>o({theme_id:e.id})},e.id))}),(0,t.jsx)(T,{label:"Color Scheme",description:"Light, dark, or follow the OS preference.",children:(0,t.jsx)(_,{value:r.theme_scheme,onChange:e=>o({theme_scheme:e})})})]}),(0,t.jsxs)(P,{icon:n,title:"Chat Rendering",description:"How streamed assistant messages animate and lay out.",children:[(0,t.jsx)(T,{label:"Render Mode",description:"Instant: no cursor. Stream: live + blinking cursor. Typewriter: smooth char-by-char.",stacked:!0,children:(0,t.jsx)(E,{value:r.chat_render_mode,options:[{value:"instant",label:"Instant"},{value:"stream",label:"Stream"},{value:"typewriter",label:"Typewriter"}],onChange:e=>o({chat_render_mode:e})})}),"typewriter"===r.chat_render_mode&&(0,t.jsx)(T,{label:"Typewriter Speed",description:`${r.typewriter_cps} characters per second.`,stacked:!0,children:(0,t.jsx)(w.Slider,{value:[r.typewriter_cps],min:20,max:400,step:10,onValueChange:([e])=>o({typewriter_cps:e})})}),(0,t.jsx)(T,{label:"Message Layout",description:"Plain: feed style. Bubble: aligned chat bubbles. Minimal: text only.",stacked:!0,children:(0,t.jsx)(E,{value:r.chat_bubble_style,options:[{value:"plain",label:"Plain"},{value:"bubble",label:"Bubble"},{value:"minimal",label:"Minimal"}],onChange:e=>o({chat_bubble_style:e})})})]})]})}},{id:"models",label:"Models",icon:r.Bot,Component:function(){let{data:e}=m.preferences.useGet(),s=e??p.defaultUserPreferences,i=m.preferences.useUpdate(),{data:n,isLoading:o}=O.models.useList(),l=a.useMemo(()=>Array.isArray(n)?n.map(e=>({name:e.name,provider:e.provider??void 0})):[],[n]),d=e=>i.mutate(e,{onError:e=>u.toast.error(e.message||"Failed to save")});return(0,t.jsxs)(P,{icon:r.Bot,title:"Default Models",description:"Models used when a conversation does not override them.",children:[(0,t.jsx)(T,{label:"Chat Model",description:"Default model for new conversations.",children:(0,t.jsx)(R,{value:s.default_model,onValueChange:e=>d({default_model:e}),models:l,isLoading:o,placeholder:o?"Loading...":"Select model"})}),(0,t.jsx)(T,{label:"Summary Model",description:"Model for titles and summaries.",children:(0,t.jsx)(R,{value:s.default_summary_model,onValueChange:e=>d({default_summary_model:e}),models:l,isLoading:o,placeholder:o?"Loading...":"Select model"})})]})}},{id:"chat",label:"Chat",icon:s.MessageSquare,Component:function(){let{data:e}=m.preferences.useGet(),a=e??p.defaultUserPreferences,r=m.preferences.useUpdate(),i=e=>r.mutate(e,{onError:e=>u.toast.error(e.message||"Failed to save")});return(0,t.jsxs)(P,{icon:s.MessageSquare,title:"Chat Defaults",children:[(0,t.jsx)(T,{label:"System Prompt",stacked:!0,children:(0,t.jsx)(A.Textarea,{value:a.default_system_prompt,onChange:e=>i({default_system_prompt:e.target.value}),rows:3,className:"resize-none"})}),(0,t.jsx)(T,{label:"History Limit",children:(0,t.jsx)(k.Input,{type:"number",value:a.default_history_limit,onChange:e=>i({default_history_limit:Number(e.target.value)}),min:1,max:50})})]})}},{id:"behavior",label:"Behavior",icon:l,Component:function(){let e=(0,h.useDeviceSettingsStore)(e=>e.sendOnEnter),a=(0,h.useDeviceSettingsStore)(e=>e.showTimestamps),r=(0,h.useDeviceSettingsStore)(e=>e.compactMode),s=(0,h.useDeviceSettingsStore)(e=>e.updateDeviceSettings);return(0,t.jsxs)(P,{icon:l,title:"Device Behavior",description:"Local-only switches — stored in this browser, never synced.",children:[(0,t.jsx)(T,{label:"Send on Enter",description:"Press Enter to send messages.",children:(0,t.jsx)(z.Switch,{checked:e,onCheckedChange:e=>s({sendOnEnter:e})})}),(0,t.jsx)(T,{label:"Show Timestamps",description:"Display message timestamps.",children:(0,t.jsx)(z.Switch,{checked:a,onCheckedChange:e=>s({showTimestamps:e})})}),(0,t.jsx)(T,{label:"Compact Mode",description:"Reduce spacing in chat view.",children:(0,t.jsx)(z.Switch,{checked:r,onCheckedChange:e=>s({compactMode:e})})})]})}},{id:"tools",label:"Tools",icon:c.Wrench,Component:function(){let{data:e}=F.tools.useList(),[r,s]=a.useState({open:!1,mode:"create"}),[i,n]=a.useState(null),o=F.tools.useDelete({onSuccess:()=>{u.toast.success("Tool deleted"),n(null)},onError:e=>u.toast.error(e.message||"Delete failed")});return(0,t.jsxs)(P,{icon:c.Wrench,title:"Custom tools",action:(0,t.jsxs)(f.Button,{size:"sm",variant:"secondary",onClick:()=>s({open:!0,mode:"create"}),children:[(0,t.jsx)(L.Plus,{className:"h-3.5 w-3.5 mr-1"}),"Add tool"]}),children:[(0,t.jsx)("div",{className:"border rounded-lg overflow-hidden",children:(0,t.jsx)(Z,{tools:e??[],onEdit:e=>s({open:!0,mode:"edit",tool:e}),onDelete:n})}),(0,t.jsx)($,{open:r.open,onOpenChange:e=>s(t=>({...t,open:e})),mode:r.mode,tool:r.tool}),(0,t.jsx)(U.ConfirmDialog,{open:!!i,onOpenChange:e=>!e&&n(null),title:"Delete tool?",description:(0,t.jsxs)(t.Fragment,{children:["This will delete ",(0,t.jsx)("b",{children:i?.name}),"."]}),confirmLabel:"Delete",destructive:!0,isLoading:o.isPending,onConfirm:()=>i&&o.mutate(i.id)})]})}}],et="appearance";function ea({active:e,onSelect:a}){return(0,t.jsx)("nav",{"aria-label":"Settings sections",className:(0,x.cn)("shrink-0 md:w-44","scrollbar-none -mx-4 flex gap-1 overflow-x-auto px-4 md:mx-0 md:flex-col md:gap-0.5 md:overflow-visible md:px-0"),children:ee.map(r=>{let s=r.icon,i=e===r.id;return(0,t.jsxs)("button",{type:"button",onClick:()=>a(r.id),className:(0,x.cn)("inline-flex shrink-0 items-center gap-2 rounded-md px-3 py-2 text-sm transition-colors","md:w-full md:justify-start",i?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"),children:[(0,t.jsx)(s,{className:"h-4 w-4 shrink-0"}),r.label]},r.id)})})}e.s(["default",0,function(){let[e,r]=function(){let[e,t]=a.useState(et);return a.useEffect(()=>{let e=()=>{let e;return t((e=window.location.hash.replace(/^#/,""),ee.some(t=>t.id===e)?e:et))};return e(),window.addEventListener("hashchange",e),()=>window.removeEventListener("hashchange",e)},[]),[e,a.useCallback(e=>{window.location.hash=e},[])]}(),s=m.preferences.useUpdate(),i=(0,h.useDeviceSettingsStore)(e=>e.resetDeviceSettings),n=ee.find(t=>t.id===e)?.Component??I,l=ee.find(t=>t.id===e)?.label??"Settings";return(0,t.jsx)("div",{className:"h-full overflow-y-auto scrollbar-thin",children:(0,t.jsxs)("div",{className:"mx-auto max-w-5xl space-y-6 p-4 md:p-6",children:[(0,t.jsxs)("header",{className:"flex items-center justify-between gap-2",children:[(0,t.jsxs)("div",{children:[(0,t.jsx)("h1",{className:"text-lg font-semibold leading-none",children:"Settings"}),(0,t.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:l})]}),(0,t.jsxs)(f.Button,{variant:"outline",size:"sm",onClick:()=>{s.mutate(p.defaultUserPreferences,{onSuccess:()=>{i(),u.toast.success("Settings reset")},onError:e=>u.toast.error(e.message||"Failed to reset")})},disabled:s.isPending,children:[(0,t.jsx)(o.RotateCcw,{className:"mr-2 h-4 w-4"}),"Reset"]})]}),(0,t.jsxs)("div",{className:"flex flex-col gap-4 md:flex-row md:gap-6",children:[(0,t.jsx)(ea,{active:e,onSelect:r}),(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(n,{})})]})]})})}],888501)}]);
@@ -1,7 +0,0 @@
1
- (globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],555436)},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),j=(0,d.createSlottable)("AlertDialogContent"),y=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)(j,{children:i}),(0,t.jsx)(P,{contentRef:u})]})})})});y.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",_=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})});_.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 \`${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},D=e.i(647163),R=e.i(167881);let L=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(f,{className:(0,D.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}));L.displayName=f.displayName;let E=r.forwardRef(({className:e,...a},s)=>(0,t.jsxs)(x,{children:[(0,t.jsx)(L,{}),(0,t.jsx)(y,{ref:s,className:(0,D.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=y.displayName;let M=({className:e,...a})=>(0,t.jsx)("div",{className:(0,D.cn)("flex flex-col space-y-2 text-center sm:text-left",e),...a});M.displayName="AlertDialogHeader";let I=({className:e,...a})=>(0,t.jsx)("div",{className:(0,D.cn)("flex flex-col-reverse sm:flex-row sm:justify-end sm:space-x-2",e),...a});I.displayName="AlertDialogFooter";let z=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(N,{ref:s,className:(0,D.cn)("text-lg font-semibold",e),...a}));z.displayName=N.displayName;let O=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(C,{ref:s,className:(0,D.cn)("text-sm text-muted-foreground",e),...a}));O.displayName=C.displayName;let A=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(T,{ref:s,className:(0,D.cn)((0,R.buttonVariants)(),e),...a}));A.displayName=T.displayName;let F=r.forwardRef(({className:e,...a},s)=>(0,t.jsx)(_,{ref:s,className:(0,D.cn)((0,R.buttonVariants)({variant:"outline"}),"mt-2 sm:mt-0",e),...a}));F.displayName=_.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)(M,{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)(z,{className:(0,D.cn)(d&&"text-foreground"),children:i}),(0,t.jsx)(O,{children:n})]})]})}),(0,t.jsxs)(I,{children:[(0,t.jsx)(F,{disabled:c,children:l}),(0,t.jsxs)(A,{onClick:e=>{e.preventDefault(),u()},disabled:c,className:(0,D.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)},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})}])},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,j]=a.useState(null),[y,w]=a.useState(null),N=a.useRef(!1),k=!b||!!d||!!b.closest("form"),C={checked:g,setChecked:v,disabled:l,control:b,setControl:j,name:u,form:d,value:x,hasConsumerStoppedPropagationRef:N,required:h,defaultChecked:o,isFormControl:k,bubbleInput:y,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",j=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})});j.displayName=b;var y="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:j}=h(y,e),w=(0,r.useComposedRefs)(i,j),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=y;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)(j,{"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)},710924,e=>{"use strict";var t=e.i(843476),a=e.i(531278),s=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:i="md",variant:n="centered",className:o}){return"inline"===n?(0,t.jsxs)("div",{className:(0,s.cn)("flex items-center gap-2 text-sm text-muted-foreground",o),children:[(0,t.jsx)(a.Loader2,{className:(0,s.cn)(r[i],"animate-spin")}),e&&(0,t.jsx)("span",{children:e})]}):(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center justify-center gap-3 py-12 text-muted-foreground",o),children:[(0,t.jsx)(a.Loader2,{className:(0,s.cn)(r[i],"animate-spin")}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])},127341,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(981140),r=e.i(30030),i=e.i(842727),n=e.i(296626),o=e.i(248425),l=e.i(586318),d=e.i(369340),c=e.i(610772),u="Tabs",[m,p]=(0,r.createContextScope)(u,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[x,f]=m(u),g=a.forwardRef((e,a)=>{let{__scopeTabs:s,value:r,onValueChange:i,defaultValue:n,orientation:m="horizontal",dir:p,activationMode:h="automatic",...f}=e,g=(0,l.useDirection)(p),[v,b]=(0,d.useControllableState)({prop:r,onChange:i,defaultProp:n??"",caller:u});return(0,t.jsx)(x,{scope:s,baseId:(0,c.useId)(),value:v,onValueChange:b,orientation:m,dir:g,activationMode:h,children:(0,t.jsx)(o.Primitive.div,{dir:g,"data-orientation":m,...f,ref:a})})});g.displayName=u;var v="TabsList",b=a.forwardRef((e,a)=>{let{__scopeTabs:s,loop:r=!0,...n}=e,l=f(v,s),d=h(s);return(0,t.jsx)(i.Root,{asChild:!0,...d,orientation:l.orientation,dir:l.dir,loop:r,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:a})})});b.displayName=v;var j="TabsTrigger",y=a.forwardRef((e,a)=>{let{__scopeTabs:r,value:n,disabled:l=!1,...d}=e,c=f(j,r),u=h(r),m=k(c.baseId,n),p=C(c.baseId,n),x=n===c.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!l,active:x,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":x,"aria-controls":p,"data-state":x?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...d,ref:a,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;x||l||!e||c.onValueChange(n)})})})});y.displayName=j;var w="TabsContent",N=a.forwardRef((e,s)=>{let{__scopeTabs:r,value:i,forceMount:l,children:d,...c}=e,u=f(w,r),m=k(u.baseId,i),p=C(u.baseId,i),h=i===u.value,x=a.useRef(h);return a.useEffect(()=>{let e=requestAnimationFrame(()=>x.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:l||h,children:({present:a})=>(0,t.jsx)(o.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!a,id:p,tabIndex:0,...c,ref:s,style:{...e.style,animationDuration:x.current?"0s":void 0},children:a&&d})})});function k(e,t){return`${e}-trigger-${t}`}function C(e,t){return`${e}-content-${t}`}N.displayName=w;var T=e.i(647163);e.s(["Tabs",0,function({className:e,...a}){return(0,t.jsx)(g,{"data-slot":"tabs",className:(0,T.cn)("flex flex-col gap-2",e),...a})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(N,{"data-slot":"tabs-content",className:(0,T.cn)("flex-1 outline-none",e),...a})},"TabsList",0,function({className:e,...a}){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),...a})},"TabsTrigger",0,function({className:e,...a}){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),...a})}],127341)},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)},463059,e=>{"use strict";var t=e.i(246349);e.s(["ChevronRight",()=>t.default])},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,j]=h(g),y=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})};y.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=j(w,e.__scopeTooltip),h=f(s),[x,g]=a.useState(null),b=(0,o.useId)(),y=a.useRef(0),k=c??p.disableHoverableContent,C=u??p.delayDuration,T=a.useRef(!1),[S,_]=(0,m.useControllableState)({prop:i,defaultProp:n??!1,onChange:e=>{e?(p.onOpen(),document.dispatchEvent(new CustomEvent(v))):p.onClose(),d?.(e)},caller:w}),P=a.useMemo(()=>S?T.current?"delayed-open":"instant-open":"closed",[S]),D=a.useCallback(()=>{window.clearTimeout(y.current),y.current=0,T.current=!1,_(!0)},[_]),R=a.useCallback(()=>{window.clearTimeout(y.current),y.current=0,_(!1)},[_]),L=a.useCallback(()=>{window.clearTimeout(y.current),y.current=window.setTimeout(()=>{T.current=!0,_(!0),y.current=0},C)},[C,_]);return a.useEffect(()=>()=>{y.current&&(window.clearTimeout(y.current),y.current=0)},[]),(0,t.jsx)(l.Root,{...h,children:(0,t.jsx)(N,{scope:s,contentId:b,open:S,stateAttribute:P,trigger:x,onTriggerChange:g,onTriggerEnter:a.useCallback(()=>{p.isOpenDelayedRef.current?L():D()},[p.isOpenDelayedRef,L,D]),onTriggerLeave:a.useCallback(()=>{k?R():(window.clearTimeout(y.current),y.current=0)},[R,k]),onOpen:D,onClose:R,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=j(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}),D="TooltipContent",R=a.forwardRef((e,a)=>{let s=P(D,e.__scopeTooltip),{forceMount:r=s.forceMount,side:i="top",...n}=e,o=k(D,e.__scopeTooltip);return(0,t.jsx)(d.Presence,{present:r||o.open,children:o.disableHoverableContent?(0,t.jsx)(z,{side:i,...n,ref:a}):(0,t.jsx)(L,{side:i,...n,ref:a})})}),L=a.forwardRef((e,s)=>{let i=k(D,e.__scopeTooltip),n=j(D,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)(z,{...e,ref:l})}),[E,M]=h(w,{isInside:!1}),I=(0,u.createSlottable)("TooltipContent"),z=a.forwardRef((e,s)=>{let{__scopeTooltip:r,children:i,"aria-label":o,onEscapeKeyDown:d,onPointerDownOutside:c,...u}=e,m=k(D,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)(I,{children:i}),(0,t.jsx)(E,{scope:r,isInside:!0,children:(0,t.jsx)(p.Root,{id:m.contentId,role:"tooltip",children:o||i})})]})})});R.displayName=D;var O="TooltipArrow";a.forwardRef((e,a)=>{let{__scopeTooltip:s,...r}=e,i=f(s);return M(O,s).isInside?null:(0,t.jsx)(l.Arrow,{...i,...r,ref:a})}).displayName=O;var A=e.i(647163);let F=a.forwardRef(({className:e,sideOffset:a=4,...s},r)=>(0,t.jsx)(R,{ref:r,sideOffset:a,className:(0,A.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}));F.displayName=R.displayName,e.s(["Tooltip",0,C,"TooltipContent",0,F,"TooltipProvider",0,y,"TooltipTrigger",0,S],728231)},899602,e=>{"use strict";let t=(0,e.i(475254).default)("arrow-up-down",[["path",{d:"m21 16-4 4-4-4",key:"f6ql7i"}],["path",{d:"M17 20V4",key:"1ejh1v"}],["path",{d:"m3 8 4-4 4 4",key:"11wl7u"}],["path",{d:"M7 4v16",key:"1glfcx"}]]);e.s(["ArrowUpDown",0,t],899602)},768307,e=>{"use strict";var t=e.i(843476),a=e.i(167881),s=e.i(728231),r=e.i(790092),i=e.i(531278);e.s(["RefreshButton",0,function({onClick:e,isLoading:n,tooltip:o="Refresh",className:l}){return(0,t.jsx)(s.TooltipProvider,{delayDuration:300,children:(0,t.jsxs)(s.Tooltip,{children:[(0,t.jsx)(s.TooltipTrigger,{asChild:!0,children:(0,t.jsx)(a.Button,{variant:"ghost",size:"icon",onClick:e,disabled:n,className:`h-8 w-8 text-muted-foreground hover:text-foreground hover:bg-muted/80 transition-colors ${l||""}`,children:n?(0,t.jsx)(i.Loader2,{className:"h-4 w-4 animate-spin"}):(0,t.jsx)(r.RefreshCcw,{className:"h-4 w-4"})})}),(0,t.jsx)(s.TooltipContent,{side:"bottom",className:"text-xs",children:o})]})})}])},286536,77705,e=>{"use strict";var t=e.i(475254);let a=(0,t.default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,a],286536);let s=(0,t.default)("eye-off",[["path",{d:"M10.733 5.076a10.744 10.744 0 0 1 11.205 6.575 1 1 0 0 1 0 .696 10.747 10.747 0 0 1-1.444 2.49",key:"ct8e1f"}],["path",{d:"M14.084 14.158a3 3 0 0 1-4.242-4.242",key:"151rxh"}],["path",{d:"M17.479 17.499a10.75 10.75 0 0 1-15.417-5.151 1 1 0 0 1 0-.696 10.75 10.75 0 0 1 4.446-5.143",key:"13bj9a"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]);e.s(["EyeOff",0,s],77705)},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:j}){let{data:y}=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)(""),[D,R]=(0,s.useState)("chat"),[L,E]=(0,s.useState)(""),[M,I]=(0,s.useState)(""),[z,O]=(0,s.useState)(""),[A,F]=(0,s.useState)(""),[H,B]=(0,s.useState)(""),[V,U]=(0,s.useState)("{}"),[$,q]=(0,s.useState)(!0),[K,J]=(0,s.useState)(null),Q=(0,s.useMemo)(()=>"create"===e&&!!a?.is_discovered,[e,a?.is_discovered]),W="edit"===e||Q;(0,s.useEffect)(()=>{a?(C(a.name),S(a.provider_id??""),P(a.model_id??a.name),R(a.type??"chat"),E(a.api_variant_id??a.resolved_variant_id??""),I(a.context_window?.toString()??""),O(a.max_tokens?.toString()??""),F(a.output_dimension?.toString()??""),B(a.description??""),U(JSON.stringify(a.default_params??{},null,2)),q(!1!==a.enabled)):(C(""),S(v??""),P(""),R("chat"),E(""),I(""),O(""),F(""),B(""),U("{}"),q(!0)),J(null)},[e,a,v]);let X=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")}),G=X.isPending||Y.isPending,Z=a||"edit"===e?"Save":"Create",ee=(0,s.useMemo)(()=>(N??[]).filter(e=>e.capability===D),[N,D]),et=(0,s.useMemo)(()=>(y??[]).find(e=>e.id===T),[y,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(!_.trim())return r.toast.error("Upstream model id required");let s={};try{s=V.trim()?JSON.parse(V):{},J(null)}catch(e){J(e instanceof Error?e.message:"Invalid JSON");return}let i={name:k.trim(),provider_id:T,upstream_model_id:_.trim(),type:D,api_variant_id:L||null,default_params:s,context_window:M?Number(M):null,max_tokens:z?Number(z):null,output_dimension:A?Number(A):null,description:H||null,enabled:$};Q&&a?.meta?.raw!=null&&(i.discovered_metadata=a.meta.raw),"create"===e?X.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:_,onChange:e=>P(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:W?(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:(y??[]).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:D,onValueChange:R,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)),D&&!(w??[]).some(e=>e.id===D)&&(0,t.jsx)(x.SelectItem,{value:D,children:D})]})]})})]}),ee.length>1&&L&&(0,t.jsx)(g,{label:"Upstream API",children:(0,t.jsxs)(x.Select,{value:L,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===L)&&(0,t.jsx)(x.SelectItem,{value:L,children:(0,t.jsx)("span",{className:"font-mono text-xs",children:L})})]})]})}),(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:M,onChange:e=>I(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:z,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:A,onChange:e=>F(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:H,onChange:e=>B(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:V,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:$,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:j,disabled:G,children:"Cancel"}),(0,t.jsxs)(c.Button,{type:"submit",size:"sm",disabled:G,children:[G&&(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)},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}])},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))})]})}])},800532,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(733467),r=e.i(32506),i=e.i(167881),n=e.i(127341),o=e.i(846696),l=e.i(555436),d=e.i(899602),c=e.i(107233),u=e.i(788699),m=e.i(727612),p=e.i(23750),h=e.i(618566),x=e.i(62870),f=e.i(57559),g=e.i(710924),v=e.i(768307),b=e.i(970065),j=e.i(422758),y=e.i(178583);let w=(0,e.i(475254).default)("book-open",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);var N=e.i(463059),k=e.i(994179),C=e.i(264319);function T({provider:e,onClick:a,hoverActions:s}){return(0,t.jsx)(b.Card,{className:"group relative transition-all duration-300 hover:shadow-lg border-muted/60 hover:border-primary/20 cursor-pointer bg-card flex flex-col justify-between",onClick:a,children:(0,t.jsxs)(b.CardContent,{children:[(0,t.jsxs)("div",{className:"flex justify-between items-start mb-2 gap-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-4 min-w-0",children:[(0,t.jsx)("div",{className:"h-10 w-10 shrink-0 flex items-center justify-center",children:(0,t.jsx)(j.ProviderIcon,{providerName:e.provider_name,className:"h-10 w-10 text-lg",width:30,height:30})}),(0,t.jsxs)("div",{className:"space-y-1 min-w-0",children:[(0,t.jsx)("h3",{className:"font-bold text-base leading-none tracking-tight truncate",title:e.provider_name,children:e.provider_name}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(C.ProviderHealthPill,{provider:e,size:"sm"}),e.adapter_id&&"openai"!==e.adapter_id&&(0,t.jsx)(k.Badge,{variant:"secondary",className:"text-[9px] uppercase font-semibold h-4 px-1.5 tracking-wider",children:e.adapter_id.replace(/^azure-/,"Azure ")})]})]})]}),(0,t.jsxs)("div",{className:"shrink-0 relative h-10 min-w-[64px] flex items-start justify-end",children:[(0,t.jsxs)("div",{className:`text-right transition-opacity duration-200 ${s?"group-hover:opacity-0":""}`,children:[(0,t.jsx)("div",{className:"text-2xl font-bold tracking-tight text-foreground leading-none",children:e.n_models??0}),(0,t.jsx)("div",{className:"text-[9px] font-bold text-muted-foreground uppercase tracking-widest mt-1",children:"Models"})]}),s&&(0,t.jsx)("div",{className:"absolute right-0 top-0 flex gap-1 opacity-0 group-hover:opacity-100 transition-opacity",children:s})]})]}),(0,t.jsxs)("div",{className:"flex items-end justify-between",children:[(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"flex gap-3",children:[e.model_page?(0,t.jsx)("a",{href:e.model_page,target:"_blank",rel:"noreferrer",className:"text-muted-foreground/60 hover:text-primary transition-colors p-0.5",onClick:e=>e.stopPropagation(),title:"View Models",children:(0,t.jsx)(y.FileText,{className:"h-4 w-4",strokeWidth:1.5})}):(0,t.jsx)(y.FileText,{className:"h-4 w-4 text-muted-foreground/20 cursor-not-allowed",strokeWidth:1.5}),e.document_page?(0,t.jsx)("a",{href:e.document_page,target:"_blank",rel:"noreferrer",className:"text-muted-foreground/60 hover:text-primary transition-colors p-0.5",onClick:e=>e.stopPropagation(),title:"Documentation",children:(0,t.jsx)(w,{className:"h-4 w-4",strokeWidth:1.5})}):(0,t.jsx)(w,{className:"h-4 w-4 text-muted-foreground/20 cursor-not-allowed",strokeWidth:1.5})]}),(0,t.jsx)(k.Badge,{variant:"outline",className:"font-mono font-normal text-[10px] text-foreground/90 cursor-default transition-colors h-5 px-1.5 max-w-[180px] truncate block w-fit",title:`Endpoint: ${e.proxy}`,onClick:e=>e.stopPropagation(),children:e.proxy})]}),(0,t.jsx)("div",{className:"opacity-0 group-hover:opacity-100 transition-all duration-300 transform -translate-x-2 group-hover:translate-x-0 pb-0.5",children:(0,t.jsx)(N.ChevronRight,{className:"h-4 w-4 text-muted-foreground/80"})})]})]})})}var S=e.i(70878);e.i(251383);var _=e.i(581445),P=e.i(630374),D=e.i(10708),R=e.i(184762),L=e.i(319036),E=e.i(531278),M=e.i(286536),I=e.i(77705),z=e.i(21218);let O="__auto__";function A({open:e,onOpenChange:s,mode:n,provider:l}){let{data:d}=_.adapters.useList(void 0,{enabled:e}),[c,u]=(0,a.useState)(""),[m,h]=(0,a.useState)(O),[f,g]=(0,a.useState)(""),[v,b]=(0,a.useState)(""),[j,y]=(0,a.useState)(""),[w,N]=(0,a.useState)(!1),[k,C]=(0,a.useState)("{}"),[T,S]=(0,a.useState)(""),[F,H]=(0,a.useState)(""),[B,V]=(0,a.useState)(""),[U,$]=(0,a.useState)(!0),[q,K]=(0,a.useState)(null),[J,Q]=(0,a.useState)(!1);(0,a.useEffect)(()=>{e&&("edit"===n&&l?(u(l.name),h(l.adapter_id??"openai"),g(l.base_url),b(l.api_version??""),y(""),C(JSON.stringify(l.default_params??{},null,2)),S(l.document_page??""),H(l.model_page??""),V(l.health_check_url??""),$(l.enabled)):(u(""),h(O),g(""),b(""),y(""),C("{}"),S(""),H(""),V(""),$(!0)),N(!1),K(null))},[e,n,l]);let W=r.providers.useCreate({onSuccess:()=>{o.toast.success("Provider created"),s(!1)},onError:e=>o.toast.error(e.message||"Create failed")}),X=r.providers.useUpdate({onSuccess:()=>{o.toast.success("Provider updated"),s(!1)},onError:e=>o.toast.error(e.message||"Update failed")}),Y=async()=>{let e=B.trim();if(e){Q(!0);try{let t=await r.providers.probe(e);t.ok?o.toast.success(`Healthy${null!=t.latency_ms?` (${t.latency_ms}ms)`:""}`):o.toast.error(`Down: ${t.error??"unknown"}`)}catch(e){o.toast.error(e instanceof Error?e.message:"Health check failed")}finally{Q(!1)}}},G=W.isPending||X.isPending,Z="azure-openai"===m||"azure-foundry"===m;return(0,t.jsx)(P.Dialog,{open:e,onOpenChange:s,children:(0,t.jsxs)(P.DialogContent,{className:"sm:max-w-[640px] max-h-[90vh] overflow-y-auto",children:[(0,t.jsx)(P.DialogHeader,{children:(0,t.jsx)(P.DialogTitle,{children:"create"===n?"Add Provider":"Edit Provider"})}),(0,t.jsxs)("form",{onSubmit:e=>{if(e.preventDefault(),!c.trim())return o.toast.error("Name required");if(!f.trim())return o.toast.error("base_url required");let t={};try{t=k.trim()?JSON.parse(k):{},K(null)}catch(e){K(e instanceof Error?e.message:"Invalid JSON");return}let a={name:c.trim(),adapter_id:m===O?void 0:m,base_url:f.trim(),api_version:v.trim()||null,default_params:t,document_page:T||void 0,model_page:F||void 0,health_check_url:B.trim()||null,enabled:U};if(j&&(a.api_key=j),"create"===n)W.mutate(a);else if(l){let e={...a};j||delete e.api_key,X.mutate({id:l.id,data:e})}},children:[(0,t.jsxs)("div",{className:"grid gap-4 py-4",children:[(0,t.jsxs)("div",{className:"grid sm:grid-cols-[1fr_220px] gap-3",children:[(0,t.jsxs)("div",{className:"grid gap-2 min-w-0",children:[(0,t.jsx)(D.Label,{htmlFor:"p-name",className:"text-xs",children:"Name"}),(0,t.jsx)(p.Input,{id:"p-name",value:c,onChange:e=>u(e.target.value),placeholder:"openai",className:"h-9 text-sm"})]}),(0,t.jsxs)("div",{className:"grid gap-2 min-w-0",children:[(0,t.jsx)(D.Label,{className:"text-xs",children:"Adapter"}),(0,t.jsxs)(x.Select,{value:m,onValueChange:h,children:[(0,t.jsx)(x.SelectTrigger,{className:"h-9 text-sm",children:(0,t.jsx)(x.SelectValue,{placeholder:"Auto-detect"})}),(0,t.jsxs)(x.SelectContent,{children:[(0,t.jsx)(x.SelectItem,{value:O,children:"Auto-detect"}),(d??[]).map(e=>(0,t.jsx)(x.SelectItem,{value:e.id,children:e.label},e.id))]})]})]})]}),(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"p-url",className:"text-xs",children:"Base URL"}),(0,t.jsx)(p.Input,{id:"p-url",value:f,onChange:e=>g(e.target.value),placeholder:Z?"https://my-resource.openai.azure.com":"https://api.openai.com/v1",className:"h-9 text-sm font-mono"})]}),Z&&(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"p-apiversion",className:"text-xs",children:"API Version"}),(0,t.jsx)(p.Input,{id:"p-apiversion",value:v,onChange:e=>b(e.target.value),placeholder:"2024-10-21",className:"h-9 text-sm font-mono"})]}),(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"p-key",className:"text-xs",children:"API Key"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(p.Input,{id:"p-key",type:w?"text":"password",value:j,onChange:e=>y(e.target.value),placeholder:"edit"===n?"Leave empty to keep existing key":"sk-...",className:"h-9 text-sm pr-10 font-mono",autoComplete:"off"}),(0,t.jsx)(i.Button,{type:"button",variant:"ghost",size:"icon",onClick:()=>N(e=>!e),className:"absolute right-0 top-0 h-9 w-9 text-muted-foreground",children:w?(0,t.jsx)(I.EyeOff,{className:"h-4 w-4"}):(0,t.jsx)(M.Eye,{className:"h-4 w-4"})})]})]}),(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"p-health",className:"text-xs",children:"Health check URL"}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(p.Input,{id:"p-health",value:B,onChange:e=>V(e.target.value),placeholder:'Optional — must return {"status":"ok"}',className:"h-9 text-sm font-mono flex-1 min-w-0"}),(0,t.jsxs)(i.Button,{type:"button",variant:"outline",size:"sm",className:"h-9 shrink-0",onClick:Y,disabled:!B.trim()||J,title:"Run the health probe now",children:[J?(0,t.jsx)(E.Loader2,{className:"h-3.5 w-3.5 animate-spin"}):(0,t.jsx)(z.Activity,{className:"h-3.5 w-3.5"}),(0,t.jsx)("span",{className:"ml-1",children:"Test"})]})]})]}),(0,t.jsxs)("div",{className:"grid sm:grid-cols-2 gap-3",children:[(0,t.jsxs)("div",{className:"grid gap-2 min-w-0",children:[(0,t.jsx)(D.Label,{htmlFor:"p-doc",className:"text-xs",children:"Docs URL"}),(0,t.jsx)(p.Input,{id:"p-doc",value:T,onChange:e=>S(e.target.value),className:"h-9 text-sm"})]}),(0,t.jsxs)("div",{className:"grid gap-2 min-w-0",children:[(0,t.jsx)(D.Label,{htmlFor:"p-models",className:"text-xs",children:"Models page URL"}),(0,t.jsx)(p.Input,{id:"p-models",value:F,onChange:e=>H(e.target.value),className:"h-9 text-sm"})]})]}),(0,t.jsxs)("div",{className:"grid gap-2",children:[(0,t.jsx)(D.Label,{htmlFor:"p-params",className:"text-xs",children:"Default params (JSON)"}),(0,t.jsx)(R.Textarea,{id:"p-params",value:k,onChange:e=>C(e.target.value),rows:4,className:"text-xs font-mono"}),q&&(0,t.jsx)("span",{className:"text-xs text-destructive",children:q})]}),(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[(0,t.jsx)(D.Label,{htmlFor:"p-enabled",className:"text-xs",children:"Enabled"}),(0,t.jsx)(L.Switch,{id:"p-enabled",checked:U,onCheckedChange:$})]})]}),(0,t.jsxs)(P.DialogFooter,{children:[(0,t.jsx)(i.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>s(!1),disabled:G,children:"Cancel"}),(0,t.jsxs)(i.Button,{type:"submit",size:"sm",disabled:G,children:[G&&(0,t.jsx)(E.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"create"===n?"Create":"Save"]})]})]})]})})}var F=e.i(535437),H=e.i(138938);e.s(["default",0,function(){let e=(0,h.useRouter)(),{user:b}=(0,H.useAuth)(),j=b?.role==="admin",[y,w]=(0,a.useState)(""),[N,k]=(0,a.useState)("providers"),[C,_]=(0,a.useState)("default"),[P,D]=(0,a.useState)({open:!1,mode:"create"}),[R,L]=(0,a.useState)({open:!1,mode:"create"}),[E,M]=(0,a.useState)(null),[I,z]=(0,a.useState)(null),{data:O,isLoading:B}=r.providers.useList(),{data:V,isLoading:U}=s.models.useList(void 0,{enabled:"models"===N}),$=a.useMemo(()=>{if(!O)return[];let e=y.toLowerCase(),t=O.filter(t=>t.provider_name.toLowerCase().includes(e)||(t.proxy||"").toLowerCase().includes(e));return"name"===C?t.sort((e,t)=>e.provider_name.localeCompare(t.provider_name)):"models"===C&&t.sort((e,t)=>(t.n_models||0)-(e.n_models||0)),t},[O,y,C]),q=a.useMemo(()=>{if(!V)return[];let e=y.toLowerCase(),t=V.filter(t=>t.name.toLowerCase().includes(e)||(t.model_id||"").toLowerCase().includes(e)||(t.provider||"").toLowerCase().includes(e));return"name"===C?t.sort((e,t)=>e.name.localeCompare(t.name)):"type"===C?t.sort((e,t)=>e.type.localeCompare(t.type)):"provider"===C?t.sort((e,t)=>(e.provider||"").localeCompare(t.provider||"")):"context"===C&&t.sort((e,t)=>(t.context_window||0)-(e.context_window||0)),t},[V,y,C]),K=r.providers.useReload({onSuccess:()=>o.toast.success("Refreshed"),onError:e=>o.toast.error(`Refresh failed: ${e.message}`)}),J=r.providers.useDelete({onSuccess:()=>{o.toast.success("Provider deleted"),M(null)},onError:e=>o.toast.error(e.message||"Delete failed")}),Q=s.models.useDelete({onSuccess:()=>{o.toast.success("Model deleted"),z(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)(n.Tabs,{defaultValue:"providers",className:"flex-1 flex flex-col min-h-0 w-full gap-4",onValueChange:k,children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 px-1 flex-wrap md:flex-nowrap",children:[(0,t.jsxs)(n.TabsList,{className:"h-8 p-0.5",children:[(0,t.jsx)(n.TabsTrigger,{value:"providers",className:"h-7 px-3 text-xs",children:"Providers"}),(0,t.jsx)(n.TabsTrigger,{value:"models",className:"h-7 px-3 text-xs",children:"Models"})]}),(0,t.jsx)("div",{className:"h-4 w-px bg-border mx-1 hidden md:block shrink-0"}),(0,t.jsxs)("div",{className:"relative w-[160px] md:w-[220px] shrink-0",children:[(0,t.jsx)(l.Search,{className:"absolute left-2 top-2 h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)(p.Input,{placeholder:"Search...",value:y,onChange:e=>w(e.target.value),className:"pl-7 h-8 text-xs"})]}),(0,t.jsxs)(x.Select,{value:C,onValueChange:_,children:[(0,t.jsxs)(x.SelectTrigger,{className:"w-[140px] h-8 text-xs shrink-0",children:[(0,t.jsx)(d.ArrowUpDown,{className:"mr-1.5 h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)(x.SelectValue,{placeholder:"Sort"})]}),(0,t.jsxs)(x.SelectContent,{children:[(0,t.jsx)(x.SelectItem,{value:"default",children:"Default"}),"providers"===N?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.SelectItem,{value:"name",children:"Name"}),(0,t.jsx)(x.SelectItem,{value:"models",children:"Total Models"})]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(x.SelectItem,{value:"name",children:"Name"}),(0,t.jsx)(x.SelectItem,{value:"type",children:"Type"}),(0,t.jsx)(x.SelectItem,{value:"provider",children:"Provider"}),(0,t.jsx)(x.SelectItem,{value:"context",children:"Context Window"})]})]})]}),j&&"providers"===N&&(0,t.jsx)(i.Button,{size:"icon",variant:"secondary",className:"h-8 w-8 shrink-0",onClick:()=>D({open:!0,mode:"create"}),title:"Add provider","aria-label":"Add provider",children:(0,t.jsx)(c.Plus,{className:"h-3.5 w-3.5"})}),j&&"models"===N&&(0,t.jsx)(i.Button,{size:"icon",variant:"secondary",className:"h-8 w-8 shrink-0",onClick:()=>L({open:!0,mode:"create"}),title:"Add model","aria-label":"Add model",children:(0,t.jsx)(c.Plus,{className:"h-3.5 w-3.5"})}),(0,t.jsxs)("div",{className:"ml-auto flex items-center gap-2 shrink-0",children:[(0,t.jsx)("span",{className:"text-xs text-muted-foreground tabular-nums hidden sm:inline",children:"providers"===N?`${$.length} providers`:`${q.length} models`}),(0,t.jsx)("div",{className:"shrink-0 pl-2 border-l border-border/50",children:(0,t.jsx)(v.RefreshButton,{onClick:()=>K.mutate(),isLoading:K.isPending,tooltip:"Reload providers and models"})})]})]}),(0,t.jsx)(n.TabsContent,{value:"providers",className:"flex-1 min-h-0 overflow-y-auto scrollbar-thin",children:(0,t.jsxs)("div",{className:"grid gap-4 md:grid-cols-2 lg:grid-cols-3 p-1",children:[B?(0,t.jsx)("div",{className:"col-span-full",children:(0,t.jsx)(g.LoadingState,{label:"Loading providers…"})}):$.map(a=>(0,t.jsx)(T,{provider:a,onClick:()=>e.push(`/providers/${encodeURIComponent(a.name)}`),hoverActions:j?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Button,{variant:"secondary",size:"icon",className:"h-7 w-7",onClick:e=>{e.stopPropagation(),D({open:!0,mode:"edit",provider:a})},title:"Edit",children:(0,t.jsx)(u.Pencil,{className:"h-3.5 w-3.5"})}),(0,t.jsx)(i.Button,{variant:"secondary",size:"icon",className:"h-7 w-7 text-destructive hover:text-destructive",onClick:e=>{e.stopPropagation(),M(a)},title:"Delete",children:(0,t.jsx)(m.Trash2,{className:"h-3.5 w-3.5"})})]}):null},a.id||a.name)),!B&&0===$.length&&(0,t.jsxs)("div",{className:"col-span-full flex flex-col items-center justify-center border-2 border-dashed rounded-lg min-h-[300px] text-muted-foreground",children:[(0,t.jsx)(l.Search,{className:"h-8 w-8 mb-4 opacity-50"}),(0,t.jsx)("p",{className:"text-lg font-medium",children:"No providers found."}),j&&(0,t.jsxs)(i.Button,{size:"sm",className:"mt-4",onClick:()=>D({open:!0,mode:"create"}),children:[(0,t.jsx)(c.Plus,{className:"h-4 w-4 mr-1"})," Add your first provider"]})]})]})}),(0,t.jsx)(n.TabsContent,{value:"models",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:[U&&(0,t.jsx)("div",{className:"absolute inset-0 flex items-center justify-center bg-background/50 z-10",children:(0,t.jsx)(g.LoadingState,{label:"Loading models…"})}),(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(S.ModelsTable,{models:q,onEdit:j?e=>{L({open:!0,mode:e.is_discovered?"create":"edit",model:e})}:void 0,onDelete:j?e=>z(e):void 0})})]})})]}),(0,t.jsx)(A,{open:P.open,onOpenChange:e=>D(t=>({...t,open:e})),mode:P.mode,provider:P.provider}),(0,t.jsx)(F.ModelFormDialog,{open:R.open,onOpenChange:e=>L(t=>({...t,open:e})),mode:R.mode,model:R.model}),(0,t.jsx)(f.ConfirmDialog,{open:!!E,onOpenChange:e=>!e&&M(null),title:"Delete provider?",description:(0,t.jsxs)(t.Fragment,{children:["This will permanently delete ",(0,t.jsx)("b",{children:E?.name})," and all of its models. This cannot be undone."]}),confirmLabel:"Delete",destructive:!0,isLoading:J.isPending,onConfirm:()=>E&&J.mutate(E.id)}),(0,t.jsx)(f.ConfirmDialog,{open:!!I,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:I?.name}),". This cannot be undone."]}),confirmLabel:"Delete",destructive:!0,isLoading:Q.isPending,onConfirm:()=>I&&Q.mutate(I.id)})]})}],800532)}]);
@@ -1 +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),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])},555436,e=>{"use strict";let t=(0,e.i(475254).default)("search",[["path",{d:"m21 21-4.34-4.34",key:"14j7rj"}],["circle",{cx:"11",cy:"11",r:"8",key:"4ej97u"}]]);e.s(["Search",0,t],555436)},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)},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)},758472,e=>{"use strict";let t=(0,e.i(475254).default)("code",[["path",{d:"m16 18 6-6-6-6",key:"eg8j8"}],["path",{d:"m8 6-6 6 6 6",key:"ppft3o"}]]);e.s(["Code",0,t],758472)},868054,e=>{"use strict";let t=(0,e.i(475254).default)("terminal",[["path",{d:"M12 19h8",key:"baeox8"}],["path",{d:"m4 17 6-6-6-6",key:"1yngyt"}]]);e.s(["Terminal",0,t],868054)},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 f(e){let{__scopeSwitch:s,checked:r,children:i,defaultChecked:o,disabled:l,form:d,name:u,onCheckedChange:m,required:h,value:f="on",internal_do_not_use_render:g}=e,[x,v]=(0,n.useControllableState)({prop:r,defaultProp:o??!1,onChange:m,caller:c}),[b,y]=a.useState(null),[j,k]=a.useState(null),w=a.useRef(!1),N=!b||!!d||!!b.closest("form"),S={checked:x,setChecked:v,disabled:l,control:b,setControl:y,name:u,form:d,value:f,hasConsumerStoppedPropagationRef:w,required:h,defaultChecked:o,isFormControl:N,bubbleInput:j,setBubbleInput:k};return(0,t.jsx)(p,{scope:s,...S,children:"function"==typeof g?g(S):i})}var g="SwitchTrigger",x=a.forwardRef(({__scopeSwitch:e,onClick:a,...i},n)=>{let{value:o,disabled:l,checked:c,required:u,setControl:m,setChecked:p,hasConsumerStoppedPropagationRef:f,isFormControl:x,bubbleInput:v}=h(g,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":w(c),"data-disabled":l?"":void 0,disabled:l,value:o,...i,ref:b,onClick:(0,s.composeEventHandlers)(a,e=>{p(e=>!e),v&&x&&(f.current=e.isPropagationStopped(),f.current||e.stopPropagation())})})});x.displayName=g;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)(f,{__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)(x,{...m,ref:a,__scopeSwitch:s}),e&&(0,t.jsx)(k,{__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":w(i.checked),"data-disabled":i.disabled?"":void 0,...r,ref:a})});y.displayName=b;var j="SwitchBubbleInput",k=a.forwardRef(({__scopeSwitch:e,...s},i)=>{let{control:n,hasConsumerStoppedPropagationRef:c,checked:u,defaultChecked:m,required:p,disabled:f,name:g,value:x,form:v,bubbleInput:b,setBubbleInput:y}=h(j,e),k=(0,r.useComposedRefs)(i,y),w=(0,o.usePrevious)(u),N=(0,l.useSize)(n);a.useEffect(()=>{if(!b)return;let e=Object.getOwnPropertyDescriptor(window.HTMLInputElement.prototype,"checked").set,t=!c.current;if(w!==u&&e){let a=new Event("click",{bubbles:t});e.call(b,u),b.dispatchEvent(a)}},[b,w,u,c]);let S=a.useRef(u);return(0,t.jsx)(d.Primitive.input,{type:"checkbox","aria-hidden":!0,defaultChecked:m??S.current,required:p,disabled:f,name:g,value:x,form:v,...s,tabIndex:-1,ref:k,style:{...s.style,...N,position:"absolute",pointerEvents:"none",opacity:0,margin:0,transform:"translateX(-100%)"}})});function w(e){return e?"checked":"unchecked"}k.displayName=j;var N=e.i(647163);e.s(["Switch",0,function({className:e,...a}){return(0,t.jsx)(v,{"data-slot":"switch",className:(0,N.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,N.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})}])},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])},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])},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)},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),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])},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)},710924,e=>{"use strict";var t=e.i(843476),a=e.i(531278),s=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:i="md",variant:n="centered",className:o}){return"inline"===n?(0,t.jsxs)("div",{className:(0,s.cn)("flex items-center gap-2 text-sm text-muted-foreground",o),children:[(0,t.jsx)(a.Loader2,{className:(0,s.cn)(r[i],"animate-spin")}),e&&(0,t.jsx)("span",{children:e})]}):(0,t.jsxs)("div",{className:(0,s.cn)("flex flex-col items-center justify-center gap-3 py-12 text-muted-foreground",o),children:[(0,t.jsx)(a.Loader2,{className:(0,s.cn)(r[i],"animate-spin")}),e&&(0,t.jsx)("p",{className:"text-sm",children:e})]})}])},127341,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(981140),r=e.i(30030),i=e.i(842727),n=e.i(296626),o=e.i(248425),l=e.i(586318),d=e.i(369340),c=e.i(610772),u="Tabs",[m,p]=(0,r.createContextScope)(u,[i.createRovingFocusGroupScope]),h=(0,i.createRovingFocusGroupScope)(),[f,g]=m(u),x=a.forwardRef((e,a)=>{let{__scopeTabs:s,value:r,onValueChange:i,defaultValue:n,orientation:m="horizontal",dir:p,activationMode:h="automatic",...g}=e,x=(0,l.useDirection)(p),[v,b]=(0,d.useControllableState)({prop:r,onChange:i,defaultProp:n??"",caller:u});return(0,t.jsx)(f,{scope:s,baseId:(0,c.useId)(),value:v,onValueChange:b,orientation:m,dir:x,activationMode:h,children:(0,t.jsx)(o.Primitive.div,{dir:x,"data-orientation":m,...g,ref:a})})});x.displayName=u;var v="TabsList",b=a.forwardRef((e,a)=>{let{__scopeTabs:s,loop:r=!0,...n}=e,l=g(v,s),d=h(s);return(0,t.jsx)(i.Root,{asChild:!0,...d,orientation:l.orientation,dir:l.dir,loop:r,children:(0,t.jsx)(o.Primitive.div,{role:"tablist","aria-orientation":l.orientation,...n,ref:a})})});b.displayName=v;var y="TabsTrigger",j=a.forwardRef((e,a)=>{let{__scopeTabs:r,value:n,disabled:l=!1,...d}=e,c=g(y,r),u=h(r),m=N(c.baseId,n),p=S(c.baseId,n),f=n===c.value;return(0,t.jsx)(i.Item,{asChild:!0,...u,focusable:!l,active:f,children:(0,t.jsx)(o.Primitive.button,{type:"button",role:"tab","aria-selected":f,"aria-controls":p,"data-state":f?"active":"inactive","data-disabled":l?"":void 0,disabled:l,id:m,...d,ref:a,onMouseDown:(0,s.composeEventHandlers)(e.onMouseDown,e=>{l||0!==e.button||!1!==e.ctrlKey?e.preventDefault():c.onValueChange(n)}),onKeyDown:(0,s.composeEventHandlers)(e.onKeyDown,e=>{[" ","Enter"].includes(e.key)&&c.onValueChange(n)}),onFocus:(0,s.composeEventHandlers)(e.onFocus,()=>{let e="manual"!==c.activationMode;f||l||!e||c.onValueChange(n)})})})});j.displayName=y;var k="TabsContent",w=a.forwardRef((e,s)=>{let{__scopeTabs:r,value:i,forceMount:l,children:d,...c}=e,u=g(k,r),m=N(u.baseId,i),p=S(u.baseId,i),h=i===u.value,f=a.useRef(h);return a.useEffect(()=>{let e=requestAnimationFrame(()=>f.current=!1);return()=>cancelAnimationFrame(e)},[]),(0,t.jsx)(n.Presence,{present:l||h,children:({present:a})=>(0,t.jsx)(o.Primitive.div,{"data-state":h?"active":"inactive","data-orientation":u.orientation,role:"tabpanel","aria-labelledby":m,hidden:!a,id:p,tabIndex:0,...c,ref:s,style:{...e.style,animationDuration:f.current?"0s":void 0},children:a&&d})})});function N(e,t){return`${e}-trigger-${t}`}function S(e,t){return`${e}-content-${t}`}w.displayName=k;var C=e.i(647163);e.s(["Tabs",0,function({className:e,...a}){return(0,t.jsx)(x,{"data-slot":"tabs",className:(0,C.cn)("flex flex-col gap-2",e),...a})},"TabsContent",0,function({className:e,...a}){return(0,t.jsx)(w,{"data-slot":"tabs-content",className:(0,C.cn)("flex-1 outline-none",e),...a})},"TabsList",0,function({className:e,...a}){return(0,t.jsx)(b,{"data-slot":"tabs-list",className:(0,C.cn)("bg-muted text-muted-foreground inline-flex h-9 w-fit items-center justify-center rounded-lg p-[3px]",e),...a})},"TabsTrigger",0,function({className:e,...a}){return(0,t.jsx)(j,{"data-slot":"tabs-trigger",className:(0,C.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),...a})}],127341)},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)},916399,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(846696),r=e.i(63209),i=e.i(531278);e.i(251383);var n=e.i(281601),o=e.i(630374),l=e.i(167881),d=e.i(23750),c=e.i(319036),u=e.i(184762),m=e.i(10708),p=e.i(127341),h=e.i(647163);let f={command:"",args:"",env:"{}",cwd:""},g={url:"",headers:"{}"};function x(e){let t="string"==typeof e.command?e.command:"",a=Array.isArray(e.args)?e.args.join("\n"):"";return{command:t,args:a,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 y({label:e,htmlFor:a,children:s,required:i,error:n}){return(0,t.jsxs)("div",{className:"grid gap-1.5 min-w-0",children:[(0,t.jsxs)(m.Label,{htmlFor:a,className:"text-xs",children:[e,i&&(0,t.jsx)("span",{className:"text-destructive ml-0.5",children:"*"})]}),s,n&&(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:n})]})]})}e.s(["McpFormDialog",0,function({open:e,onOpenChange:r,mode:m,server:j,preset:k,onSaved:w}){let[N,S]=a.useState(""),[C,P]=a.useState(""),[M,T]=a.useState("stdio"),[R,D]=a.useState(f),[z,L]=a.useState(g),[I,O]=a.useState(!0),F=a.useCallback(e=>{S(e.name),P(e.description??""),T(e.transport),O(!0),"stdio"===e.transport?(D(x(e.config??{})),L(g)):(L(v(e.config??{})),D(f))},[]);a.useEffect(()=>{e&&(j?(S(j.name),P(j.description??""),T(j.transport),O(!1!==j.enabled),"stdio"===j.transport?(D(x(j.config??{})),L(g)):(L(v(j.config??{})),D(f))):k?F(k):(S(""),P(""),T("stdio"),D(f),L(g),O(!0)))},[e,j,k,F]);let q=n.mcpServers.useCreate({onSuccess:e=>{s.toast.success("Saved"),r(!1),e&&w?.(e)},onError:e=>s.toast.error(e.message||"Save failed")}),E=n.mcpServers.useUpdate({onSuccess:e=>{s.toast.success("Saved"),r(!1),e&&w?.(e)},onError:e=>s.toast.error(e.message||"Save failed")}),_="stdio"===M?b(R.env):null,A="http"===M?b(z.headers):null,U=N.trim()?null:"Name is required",K="stdio"===M?R.command.trim()?null:"Command is required":z.url.trim()?null:"URL is required",V=U??K??_??A,B=q.isPending||E.isPending,$=!V&&!B,H=e=>{if(e.preventDefault(),!$)return;let t={};if("stdio"===M){let e=R.args.split("\n").map(e=>e.trim()).filter(Boolean),a=R.env.trim()?JSON.parse(R.env):{};t={command:R.command.trim(),args:e,env:a,...R.cwd.trim()?{cwd:R.cwd.trim()}:{}}}else{let e=z.headers.trim()?JSON.parse(z.headers):{};t={url:z.url.trim(),headers:e}}let a={name:N.trim(),description:C.trim(),transport:M,config:t,enabled:I};"create"===m?q.mutate(a):j&&E.mutate({id:j.id,data:a})},J="create"===m?"Add MCP server":`Edit ${j?.name??"server"}`;return(0,t.jsx)(o.Dialog,{open:e,onOpenChange:r,children:(0,t.jsxs)(o.DialogContent,{className:"sm:max-w-[560px] max-h-[90vh] overflow-y-auto",onOpenAutoFocus:"edit"===m?e=>e.preventDefault():void 0,children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsx)(o.DialogTitle,{className:"text-base",children:J}),(0,t.jsx)(o.DialogDescription,{className:"sr-only",children:"Configure an MCP server."})]}),(0,t.jsxs)("form",{onSubmit:H,className:"space-y-4",children:[(0,t.jsx)(y,{label:"Name",htmlFor:"m-name",required:!0,children:(0,t.jsx)(d.Input,{id:"m-name",value:N,onChange:e=>S(e.target.value),placeholder:"filesystem",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(y,{label:"Description",htmlFor:"m-desc",children:(0,t.jsx)(d.Input,{id:"m-desc",value:C,onChange:e=>P(e.target.value),className:"h-9 text-sm"})}),(0,t.jsxs)(p.Tabs,{value:M,onValueChange:e=>T(e),children:[(0,t.jsxs)(p.TabsList,{className:"grid w-full grid-cols-2 h-9",children:[(0,t.jsx)(p.TabsTrigger,{value:"stdio",className:"text-xs",children:"stdio"}),(0,t.jsx)(p.TabsTrigger,{value:"http",className:"text-xs",children:"http"})]}),(0,t.jsxs)(p.TabsContent,{value:"stdio",className:"space-y-3 pt-3",children:[(0,t.jsx)(y,{label:"Command",htmlFor:"m-cmd",required:!0,children:(0,t.jsx)(d.Input,{id:"m-cmd",value:R.command,onChange:e=>D(t=>({...t,command:e.target.value})),placeholder:"npx",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(y,{label:"Args",htmlFor:"m-args",children:(0,t.jsx)(u.Textarea,{id:"m-args",value:R.args,onChange:e=>D(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)(y,{label:"Env",htmlFor:"m-env",error:_,children:(0,t.jsx)(u.Textarea,{id:"m-env",value:R.env,onChange:e=>D(t=>({...t,env:e.target.value})),rows:3,className:(0,h.cn)("text-xs font-mono leading-relaxed",_&&"border-destructive focus-visible:ring-destructive/40"),spellCheck:!1})}),(0,t.jsx)(y,{label:"cwd",htmlFor:"m-cwd",children:(0,t.jsx)(d.Input,{id:"m-cwd",value:R.cwd,onChange:e=>D(t=>({...t,cwd:e.target.value})),className:"h-9 text-sm font-mono"})})]}),(0,t.jsxs)(p.TabsContent,{value:"http",className:"space-y-3 pt-3",children:[(0,t.jsx)(y,{label:"URL",htmlFor:"m-url",required:!0,children:(0,t.jsx)(d.Input,{id:"m-url",value:z.url,onChange:e=>L(t=>({...t,url:e.target.value})),placeholder:"https://example.com/mcp",className:"h-9 text-sm font-mono"})}),(0,t.jsx)(y,{label:"Headers",htmlFor:"m-headers",error:A,children:(0,t.jsx)(u.Textarea,{id:"m-headers",value:z.headers,onChange:e=>L(t=>({...t,headers:e.target.value})),rows:3,className:(0,h.cn)("text-xs font-mono leading-relaxed",A&&"border-destructive focus-visible:ring-destructive/40"),spellCheck:!1})})]})]})]}),(0,t.jsxs)(o.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:I,onCheckedChange:O}),"Enabled"]}),(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(l.Button,{type:"button",variant:"outline",size:"sm",onClick:()=>r(!1),disabled:B,children:"Cancel"}),(0,t.jsxs)(l.Button,{type:"button",size:"sm",onClick:H,disabled:!$,title:V??void 0,children:[B&&(0,t.jsx)(i.Loader2,{className:"mr-2 h-4 w-4 animate-spin"}),"Save"]})]})]})]})})}])},663155,e=>{"use strict";var t=e.i(843476),a=e.i(271645),s=e.i(871689),r=e.i(475254);let i=(0,r.default)("beaker",[["path",{d:"M4.5 3h15",key:"c7n0jr"}],["path",{d:"M6 3v16a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V3",key:"m1uhx7"}],["path",{d:"M6 14h12",key:"4cwo0f"}]]),n=(0,r.default)("boxes",[["path",{d:"M2.97 12.92A2 2 0 0 0 2 14.63v3.24a2 2 0 0 0 .97 1.71l3 1.8a2 2 0 0 0 2.06 0L12 19v-5.5l-5-3-4.03 2.42Z",key:"lc1i9w"}],["path",{d:"m7 16.5-4.74-2.85",key:"1o9zyk"}],["path",{d:"m7 16.5 5-3",key:"va8pkn"}],["path",{d:"M7 16.5v5.17",key:"jnp8gn"}],["path",{d:"M12 13.5V19l3.97 2.38a2 2 0 0 0 2.06 0l3-1.8a2 2 0 0 0 .97-1.71v-3.24a2 2 0 0 0-.97-1.71L17 10.5l-5 3Z",key:"8zsnat"}],["path",{d:"m17 16.5-5-3",key:"8arw3v"}],["path",{d:"m17 16.5 4.74-2.85",key:"8rfmw"}],["path",{d:"M17 16.5v5.17",key:"k6z78m"}],["path",{d:"M7.97 4.42A2 2 0 0 0 7 6.13v4.37l5 3 5-3V6.13a2 2 0 0 0-.97-1.71l-3-1.8a2 2 0 0 0-2.06 0l-3 1.8Z",key:"1xygjf"}],["path",{d:"M12 8 7.26 5.15",key:"1vbdud"}],["path",{d:"m12 8 4.74-2.85",key:"3rx089"}],["path",{d:"M12 13.5V8",key:"1io7kd"}]]);var o=e.i(758472),l=e.i(658041),d=e.i(778917),c=e.i(248256);let u=(0,r.default)("network",[["rect",{x:"16",y:"16",width:"6",height:"6",rx:"1",key:"4q2zg0"}],["rect",{x:"2",y:"16",width:"6",height:"6",rx:"1",key:"8cvhb9"}],["rect",{x:"9",y:"2",width:"6",height:"6",rx:"1",key:"1egb70"}],["path",{d:"M5 16v-3a1 1 0 0 1 1-1h12a1 1 0 0 1 1 1v3",key:"1jsf9p"}],["path",{d:"M12 12V8",key:"2874zd"}]]);var m=e.i(555436),p=e.i(283086),h=e.i(868054),f=e.i(522016),g=e.i(618566),x=e.i(281601),v=e.i(138938),b=e.i(994179),y=e.i(167881),j=e.i(23750),k=e.i(710924),w=e.i(916399),N=e.i(647163);let S={official:{label:"Official",icon:p.Sparkles},system:{label:"System",icon:h.Terminal},dev:{label:"Developer",icon:o.Code},academic:{label:"Academic",icon:i},data:{label:"Data",icon:l.Database},web:{label:"Web",icon:u},productivity:{label:"Productivity",icon:n},community:{label:"Community",icon:c.Globe}},C=["official","system","dev","academic","data","web","productivity","community"];function P({active:e,onSelect:a,counts:s}){let r=[{key:"all",label:"All"},...C.map(e=>({key:e,label:S[e].label,icon:S[e].icon}))];return(0,t.jsx)("div",{className:"flex flex-wrap gap-1",children:r.map(r=>{let i=s[r.key]??0;if("all"!==r.key&&0===i)return null;let n=r.icon,o=e===r.key;return(0,t.jsxs)("button",{type:"button",onClick:()=>a(r.key),className:(0,N.cn)("inline-flex items-center gap-1.5 rounded-md px-2.5 py-1 text-xs transition-colors",o?"bg-muted font-medium text-foreground":"text-muted-foreground hover:bg-muted/50 hover:text-foreground"),children:[n&&(0,t.jsx)(n,{className:"h-3 w-3"}),r.label,(0,t.jsx)("span",{className:"font-mono text-[10px] text-muted-foreground/70",children:i})]},r.key)})})}function M({presets:e,installedNames:a,onUse:s}){return(0,t.jsx)("div",{className:"grid gap-2.5 grid-cols-1 sm:grid-cols-2 lg:grid-cols-3",children:e.map(e=>(0,t.jsx)(T,{preset:e,installed:a.has(e.name),onUse:s},e.id))})}function T({preset:e,installed:a,onUse:s}){let r=S[e.category].icon;return(0,t.jsxs)("div",{className:"rounded-lg border bg-card p-3 flex flex-col gap-2 hover:bg-muted/30 transition-colors",children:[(0,t.jsxs)("div",{className:"flex items-start gap-2 min-w-0",children:[(0,t.jsx)("span",{className:"shrink-0 mt-0.5 inline-flex h-7 w-7 items-center justify-center rounded-md bg-muted/50 text-muted-foreground",children:(0,t.jsx)(r,{className:"h-3.5 w-3.5"})}),(0,t.jsx)("div",{className:"flex-1 min-w-0",children:(0,t.jsxs)("div",{className:"flex items-center gap-1.5 flex-wrap",children:[(0,t.jsx)("span",{className:"font-mono text-sm text-foreground truncate",children:e.name}),(0,t.jsx)(b.Badge,{variant:"outline",className:"text-[10px] uppercase font-mono",children:e.transport}),e.slots.length>0&&(0,t.jsxs)(b.Badge,{variant:"secondary",className:"text-[10px] font-mono",children:[e.slots.length," slot",1===e.slots.length?"":"s"]})]})}),e.homepage&&(0,t.jsx)("a",{href:e.homepage,target:"_blank",rel:"noreferrer",className:"shrink-0 inline-flex h-6 w-6 items-center justify-center rounded text-muted-foreground hover:bg-muted/50 hover:text-foreground transition-colors",title:"Open homepage",onClick:e=>e.stopPropagation(),children:(0,t.jsx)(d.ExternalLink,{className:"h-3 w-3"})})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground line-clamp-2 leading-snug",children:e.description}),(0,t.jsxs)("div",{className:"flex items-center justify-end gap-2 pt-1 mt-auto",children:[a&&(0,t.jsx)("span",{className:"text-[10px] text-muted-foreground mr-auto font-mono",children:"already installed"}),s&&(0,t.jsx)(y.Button,{size:"sm",variant:a?"secondary":"default",className:"h-7 text-xs",onClick:()=>s(e),children:a?"Add another":"Use preset"})]})]})}e.s(["default",0,function(){let{user:e}=(0,v.useAuth)(),r=(0,g.useRouter)(),i=e?.role==="admin",{data:n,isLoading:o}=x.mcpServers.usePresets(),{data:l}=x.mcpServers.useList(),[d,c]=a.useState(""),[u,p]=a.useState("all"),[h,b]=a.useState(null),y=a.useMemo(()=>new Set((l??[]).map(e=>e.name)),[l]),N=a.useMemo(()=>{let e={all:0,official:0,system:0,dev:0,academic:0,data:0,web:0,productivity:0,community:0};for(let t of n??[])e.all+=1,e[t.category]=(e[t.category]??0)+1;return e},[n]),T=a.useMemo(()=>{let e=n??[],t=d.trim().toLowerCase();return e.filter(e=>("all"===u||e.category===u)&&(!t||e.name.toLowerCase().includes(t)||e.description.toLowerCase().includes(t)||e.id.toLowerCase().includes(t)))},[n,d,u]),R=a.useMemo(()=>{let e=new Map;for(let t of T){let a=e.get(t.category)??[];a.push(t),e.set(t.category,a)}return e},[T]);return(0,t.jsxs)("div",{className:"h-full overflow-y-auto scrollbar-thin",children:[(0,t.jsxs)("div",{className:"mx-auto max-w-6xl px-4 md:px-6 py-4 md:py-6 space-y-5",children:[(0,t.jsxs)("header",{className:"space-y-3",children:[(0,t.jsxs)("div",{className:"flex items-center gap-2 text-xs text-muted-foreground",children:[(0,t.jsxs)(f.default,{href:"/mcp",className:"inline-flex items-center gap-1 hover:text-foreground transition-colors",children:[(0,t.jsx)(s.ArrowLeft,{className:"h-3 w-3"}),"MCP servers"]}),(0,t.jsx)("span",{children:"/"}),(0,t.jsx)("span",{className:"text-foreground",children:"Catalogue"})]}),(0,t.jsx)("h1",{className:"text-lg font-semibold leading-none",children:"Preset catalogue"}),(0,t.jsxs)("div",{className:"relative",children:[(0,t.jsx)(m.Search,{className:"absolute left-3 top-1/2 -translate-y-1/2 h-3.5 w-3.5 text-muted-foreground"}),(0,t.jsx)(j.Input,{value:d,onChange:e=>c(e.target.value),placeholder:"Search…",className:"h-9 pl-8 text-sm"})]}),(0,t.jsx)(P,{active:u,onSelect:p,counts:N})]}),o?(0,t.jsx)("div",{className:"py-12 flex justify-center",children:(0,t.jsx)(k.LoadingState,{label:"Loading catalogue…"})}):0===T.length?(0,t.jsx)("div",{className:"py-12 text-center text-sm text-muted-foreground",children:"No presets match."}):"all"!==u?(0,t.jsx)(M,{presets:T,installedNames:y,onUse:i?b:void 0}):(0,t.jsx)("div",{className:"space-y-6",children:C.map(e=>{let a=R.get(e);if(!a||0===a.length)return null;let s=S[e],r=s.icon;return(0,t.jsxs)("section",{className:"space-y-2.5",children:[(0,t.jsxs)("h2",{className:"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,t.jsx)(r,{className:"h-3.5 w-3.5"}),s.label,(0,t.jsxs)("span",{className:"text-[10px] font-mono text-muted-foreground/60",children:["(",a.length,")"]})]}),(0,t.jsx)(M,{presets:a,installedNames:y,onUse:i?b:void 0})]},e)})})]}),(0,t.jsx)(w.McpFormDialog,{open:!!h,onOpenChange:e=>{e||b(null)},mode:"create",preset:h??void 0,onSaved:e=>{b(null),r.push(`/mcp?selected=${encodeURIComponent(e.id)}`)}})]})}],663155)}]);