sqlbot 0.0.1 → 0.0.12

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 (216) hide show
  1. package/.next/standalone/.next/BUILD_ID +1 -1
  2. package/.next/standalone/.next/build-manifest.json +2 -2
  3. package/.next/standalone/.next/server/app/(chat)/ai-providers/page.js.nft.json +1 -1
  4. package/.next/standalone/.next/server/app/(chat)/ai-providers/page_client-reference-manifest.js +1 -1
  5. package/.next/standalone/.next/server/app/(chat)/chart/[chartId]/page.js.nft.json +1 -1
  6. package/.next/standalone/.next/server/app/(chat)/chart/[chartId]/page_client-reference-manifest.js +1 -1
  7. package/.next/standalone/.next/server/app/(chat)/chat/[threadId]/page.js +2 -2
  8. package/.next/standalone/.next/server/app/(chat)/chat/[threadId]/page.js.nft.json +1 -1
  9. package/.next/standalone/.next/server/app/(chat)/chat/[threadId]/page_client-reference-manifest.js +1 -1
  10. package/.next/standalone/.next/server/app/(chat)/connections/page.js.nft.json +1 -1
  11. package/.next/standalone/.next/server/app/(chat)/connections/page_client-reference-manifest.js +1 -1
  12. package/.next/standalone/.next/server/app/(chat)/knowledge-base/page.js +1 -1
  13. package/.next/standalone/.next/server/app/(chat)/knowledge-base/page.js.nft.json +1 -1
  14. package/.next/standalone/.next/server/app/(chat)/knowledge-base/page_client-reference-manifest.js +1 -1
  15. package/.next/standalone/.next/server/app/(chat)/page.js +1 -1
  16. package/.next/standalone/.next/server/app/(chat)/page.js.nft.json +1 -1
  17. package/.next/standalone/.next/server/app/(chat)/page_client-reference-manifest.js +1 -1
  18. package/.next/standalone/.next/server/app/(chat)/query-editor/page.js.nft.json +1 -1
  19. package/.next/standalone/.next/server/app/(chat)/query-editor/page_client-reference-manifest.js +1 -1
  20. package/.next/standalone/.next/server/app/_global-error.html +2 -2
  21. package/.next/standalone/.next/server/app/_global-error.rsc +1 -1
  22. package/.next/standalone/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
  23. package/.next/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  24. package/.next/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  25. package/.next/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  26. package/.next/standalone/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  27. package/.next/standalone/.next/server/app/_not-found.html +1 -1
  28. package/.next/standalone/.next/server/app/_not-found.rsc +3 -3
  29. package/.next/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +3 -3
  30. package/.next/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
  31. package/.next/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  32. package/.next/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  33. package/.next/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +3 -3
  34. package/.next/standalone/.next/server/app/ai-providers.html +1 -1
  35. package/.next/standalone/.next/server/app/ai-providers.rsc +4 -4
  36. package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp/ai-providers/__PAGE__.segment.rsc +2 -2
  37. package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp/ai-providers.segment.rsc +1 -1
  38. package/.next/standalone/.next/server/app/ai-providers.segments/!KGNoYXQp.segment.rsc +1 -1
  39. package/.next/standalone/.next/server/app/ai-providers.segments/_full.segment.rsc +4 -4
  40. package/.next/standalone/.next/server/app/ai-providers.segments/_index.segment.rsc +2 -2
  41. package/.next/standalone/.next/server/app/ai-providers.segments/_tree.segment.rsc +3 -3
  42. package/.next/standalone/.next/server/app/api/chat/route.js +1 -1
  43. package/.next/standalone/.next/server/app/api/chat/route.js.nft.json +1 -1
  44. package/.next/standalone/.next/server/app/api/health/route.js +1 -1
  45. package/.next/standalone/.next/server/app/api/health/route.js.nft.json +1 -1
  46. package/.next/standalone/.next/server/app/api/knowledge/auto-generate/route.js +1 -1
  47. package/.next/standalone/.next/server/app/api/knowledge/auto-generate/route.js.nft.json +1 -1
  48. package/.next/standalone/.next/server/app/api/knowledge/generate/route.js +1 -1
  49. package/.next/standalone/.next/server/app/api/knowledge/generate/route.js.nft.json +1 -1
  50. package/.next/standalone/.next/server/app/api/trpc/[trpc]/route.js +3 -3
  51. package/.next/standalone/.next/server/app/api/trpc/[trpc]/route.js.nft.json +1 -1
  52. package/.next/standalone/.next/server/app/connections.html +1 -1
  53. package/.next/standalone/.next/server/app/connections.rsc +4 -4
  54. package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp/connections/__PAGE__.segment.rsc +2 -2
  55. package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp/connections.segment.rsc +1 -1
  56. package/.next/standalone/.next/server/app/connections.segments/!KGNoYXQp.segment.rsc +1 -1
  57. package/.next/standalone/.next/server/app/connections.segments/_full.segment.rsc +4 -4
  58. package/.next/standalone/.next/server/app/connections.segments/_index.segment.rsc +2 -2
  59. package/.next/standalone/.next/server/app/connections.segments/_tree.segment.rsc +3 -3
  60. package/.next/standalone/.next/server/chunks/[root-of-the-server]__1f49434f._.js +3 -0
  61. package/.next/standalone/.next/server/chunks/{[root-of-the-server]__51b79d66._.js → [root-of-the-server]__3a1fb665._.js} +6 -6
  62. package/.next/standalone/.next/server/chunks/[root-of-the-server]__73947e32._.js +3 -0
  63. package/.next/standalone/.next/server/chunks/[root-of-the-server]__747722f0._.js +85 -0
  64. package/.next/standalone/.next/server/chunks/[root-of-the-server]__ca89cb1f._.js +85 -0
  65. package/.next/standalone/.next/server/chunks/_26ec1867._.js +30 -14
  66. package/.next/standalone/.next/server/chunks/_430c5305._.js +30 -14
  67. package/.next/standalone/.next/server/chunks/_44fa1f03._.js +1 -1
  68. package/.next/standalone/.next/server/chunks/_75b542e9._.js +3 -3
  69. package/.next/standalone/.next/server/chunks/_82e2d86b._.js +11 -11
  70. package/.next/standalone/.next/server/chunks/_c49f2a1f._.js +30 -14
  71. package/.next/standalone/.next/server/chunks/ssr/{[root-of-the-server]__d8a3f2e3._.js → [root-of-the-server]__1ad22765._.js} +2 -2
  72. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__2534236b._.js +1 -1
  73. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__77c3448a._.js +1 -1
  74. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__85abb029._.js +3 -0
  75. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__d2e81be0._.js +3 -0
  76. package/.next/standalone/.next/server/chunks/ssr/_0ffd2d5e._.js +3 -0
  77. package/.next/standalone/.next/server/chunks/ssr/_119ae296._.js +31 -15
  78. package/.next/standalone/.next/server/chunks/ssr/_37f7f89d._.js +1 -1
  79. package/.next/standalone/.next/server/chunks/ssr/_673cb560._.js +1 -1
  80. package/.next/standalone/.next/server/chunks/ssr/_6c7220e5._.js +2 -2
  81. package/.next/standalone/.next/server/chunks/ssr/_6ed755aa._.js +2 -2
  82. package/.next/standalone/.next/server/chunks/ssr/_776a746c._.js +2 -2
  83. package/.next/standalone/.next/server/chunks/ssr/_7f407fdd._.js +3 -0
  84. package/.next/standalone/.next/server/chunks/ssr/{_837c4081._.js → _90b65f35._.js} +2 -2
  85. package/.next/standalone/.next/server/chunks/ssr/_96c3d546._.js +2 -2
  86. package/.next/standalone/.next/server/chunks/ssr/_a4dce1b3._.js +1 -1
  87. package/.next/standalone/.next/server/chunks/ssr/_b427a73f._.js +3 -0
  88. package/.next/standalone/.next/server/chunks/ssr/_bb34a863._.js +2 -2
  89. package/.next/standalone/.next/server/chunks/ssr/_d017f4d9._.js +3 -0
  90. package/.next/standalone/.next/server/chunks/ssr/_deb2246d._.js +1 -1
  91. package/.next/standalone/.next/server/chunks/ssr/_e83447a6._.js +3 -0
  92. package/.next/standalone/.next/server/chunks/ssr/src_components_connections_connections-page_tsx_a8fa3df0._.js +1 -1
  93. package/.next/standalone/.next/server/chunks/ssr/src_components_knowledge-base_knowledge-base-page_tsx_10bf7f9a._.js +1 -1
  94. package/.next/standalone/.next/server/pages/404.html +1 -1
  95. package/.next/standalone/.next/server/pages/500.html +2 -2
  96. package/.next/standalone/.next/static/chunks/00ce465d0a58e73b.js +1 -0
  97. package/.next/standalone/.next/static/chunks/0492dc04de204ef8.js +5 -0
  98. package/.next/standalone/.next/static/chunks/17906a765ba90602.js +1 -0
  99. package/.next/standalone/.next/static/chunks/18344611f9149409.js +5 -0
  100. package/.next/standalone/.next/static/chunks/22f0970a7da31999.js +1 -0
  101. package/.next/standalone/.next/static/chunks/32afcb8f324728fe.js +1 -0
  102. package/.next/standalone/.next/static/chunks/3aa118eb200a16a6.js +1 -0
  103. package/.next/standalone/.next/static/chunks/3bb45a8246c87c9c.js +1 -0
  104. package/.next/standalone/.next/static/chunks/3bd88f74116ecf0b.js +1 -0
  105. package/.next/standalone/.next/static/chunks/69a71249fe4c8d17.js +1 -0
  106. package/.next/standalone/.next/static/chunks/{842e82429bd01d96.js → 69f389e018a048b0.js} +1 -1
  107. package/.next/standalone/.next/static/chunks/83fd475d7bb1bc7e.js +1 -0
  108. package/.next/standalone/.next/static/chunks/84ba0322d6b6eb00.js +5 -0
  109. package/.next/standalone/.next/static/chunks/89e492a83a4b53e3.js +1 -0
  110. package/.next/{static/chunks/785e4ee9877d7d8d.js → standalone/.next/static/chunks/924ad79523394fd9.js} +2 -2
  111. package/.next/standalone/.next/static/chunks/a561d8ef36eb9e96.js +1 -0
  112. package/.next/standalone/.next/static/chunks/b2ecf63a14401981.js +1 -0
  113. package/.next/standalone/.next/static/chunks/cd6330f0a950e8c0.js +1 -0
  114. package/.next/standalone/.next/static/chunks/cdee4d388d00a056.js +6 -0
  115. package/.next/standalone/.next/static/chunks/d241d710d5ec3fd7.js +1 -0
  116. package/.next/standalone/.next/static/chunks/e443aaa7b1ed4b4e.js +5 -0
  117. package/.next/standalone/.next/static/chunks/effc0fba41d927bf.js +1 -0
  118. package/.next/standalone/.next/static/chunks/f0df418fe5859df9.css +1 -0
  119. package/.next/standalone/.next/static/chunks/f55ea47136cf1b22.js +1 -0
  120. package/.next/standalone/.next/static/chunks/f60f82508902e71a.js +1 -0
  121. package/.next/standalone/.next/static/chunks/fe778cfc22734c9c.js +5 -0
  122. package/.next/standalone/README.md +3 -2
  123. package/.next/standalone/package.json +4 -2
  124. package/.next/static/chunks/00ce465d0a58e73b.js +1 -0
  125. package/.next/static/chunks/0492dc04de204ef8.js +5 -0
  126. package/.next/static/chunks/17906a765ba90602.js +1 -0
  127. package/.next/static/chunks/18344611f9149409.js +5 -0
  128. package/.next/static/chunks/22f0970a7da31999.js +1 -0
  129. package/.next/static/chunks/32afcb8f324728fe.js +1 -0
  130. package/.next/static/chunks/3aa118eb200a16a6.js +1 -0
  131. package/.next/static/chunks/3bb45a8246c87c9c.js +1 -0
  132. package/.next/static/chunks/3bd88f74116ecf0b.js +1 -0
  133. package/.next/static/chunks/69a71249fe4c8d17.js +1 -0
  134. package/.next/static/chunks/{842e82429bd01d96.js → 69f389e018a048b0.js} +1 -1
  135. package/.next/static/chunks/83fd475d7bb1bc7e.js +1 -0
  136. package/.next/static/chunks/84ba0322d6b6eb00.js +5 -0
  137. package/.next/static/chunks/89e492a83a4b53e3.js +1 -0
  138. package/.next/{standalone/.next/static/chunks/785e4ee9877d7d8d.js → static/chunks/924ad79523394fd9.js} +2 -2
  139. package/.next/static/chunks/a561d8ef36eb9e96.js +1 -0
  140. package/.next/static/chunks/b2ecf63a14401981.js +1 -0
  141. package/.next/static/chunks/cd6330f0a950e8c0.js +1 -0
  142. package/.next/static/chunks/cdee4d388d00a056.js +6 -0
  143. package/.next/static/chunks/d241d710d5ec3fd7.js +1 -0
  144. package/.next/static/chunks/e443aaa7b1ed4b4e.js +5 -0
  145. package/.next/static/chunks/effc0fba41d927bf.js +1 -0
  146. package/.next/static/chunks/f0df418fe5859df9.css +1 -0
  147. package/.next/static/chunks/f55ea47136cf1b22.js +1 -0
  148. package/.next/static/chunks/f60f82508902e71a.js +1 -0
  149. package/.next/static/chunks/fe778cfc22734c9c.js +5 -0
  150. package/README.md +3 -2
  151. package/package.json +4 -2
  152. package/.next/standalone/.next/server/chunks/[root-of-the-server]__26852352._.js +0 -85
  153. package/.next/standalone/.next/server/chunks/[root-of-the-server]__5dc46bc4._.js +0 -3
  154. package/.next/standalone/.next/server/chunks/[root-of-the-server]__8992d6da._.js +0 -3
  155. package/.next/standalone/.next/server/chunks/[root-of-the-server]__e474c328._.js +0 -85
  156. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__0e727499._.js +0 -3
  157. package/.next/standalone/.next/server/chunks/ssr/[root-of-the-server]__4451526a._.js +0 -3
  158. package/.next/standalone/.next/server/chunks/ssr/_96a4d2a6._.js +0 -3
  159. package/.next/standalone/.next/server/chunks/ssr/_9cae1942._.js +0 -3
  160. package/.next/standalone/.next/server/chunks/ssr/_b48f2654._.js +0 -3
  161. package/.next/standalone/.next/server/chunks/ssr/_d57a9966._.js +0 -3
  162. package/.next/standalone/.next/server/chunks/ssr/_d9ccac15._.js +0 -3
  163. package/.next/standalone/.next/static/chunks/000ce5d236847e14.js +0 -1
  164. package/.next/standalone/.next/static/chunks/0c86eeaca8703623.js +0 -1
  165. package/.next/standalone/.next/static/chunks/0f0b044da5064d31.js +0 -1
  166. package/.next/standalone/.next/static/chunks/13aa9092c4478e88.js +0 -1
  167. package/.next/standalone/.next/static/chunks/25acbecde2c21b0b.js +0 -1
  168. package/.next/standalone/.next/static/chunks/27f1f589cc35ce7f.js +0 -5
  169. package/.next/standalone/.next/static/chunks/3799f4ad1dc31445.css +0 -1
  170. package/.next/standalone/.next/static/chunks/37c455518a8623aa.js +0 -5
  171. package/.next/standalone/.next/static/chunks/395473ba68358e71.js +0 -1
  172. package/.next/standalone/.next/static/chunks/5781382bb8e8910c.js +0 -6
  173. package/.next/standalone/.next/static/chunks/6a3fee7f033793da.js +0 -1
  174. package/.next/standalone/.next/static/chunks/6af4eb4b1f798375.js +0 -5
  175. package/.next/standalone/.next/static/chunks/7c8dab1a077d98e9.js +0 -1
  176. package/.next/standalone/.next/static/chunks/893da8072a275b7b.js +0 -1
  177. package/.next/standalone/.next/static/chunks/941ffb527c8ad269.js +0 -1
  178. package/.next/standalone/.next/static/chunks/b40d536f5d92bc07.js +0 -1
  179. package/.next/standalone/.next/static/chunks/b55f2944bf45b9ec.js +0 -1
  180. package/.next/standalone/.next/static/chunks/b90a78e2d36034ff.js +0 -1
  181. package/.next/standalone/.next/static/chunks/d3d6e96c79ecf7ff.js +0 -1
  182. package/.next/standalone/.next/static/chunks/d44ccaf98a04c9f5.js +0 -1
  183. package/.next/standalone/.next/static/chunks/d58f11c82ac60f13.js +0 -1
  184. package/.next/standalone/.next/static/chunks/d6b31c9a193c5bed.js +0 -5
  185. package/.next/standalone/.next/static/chunks/ed49341bf575ec20.js +0 -1
  186. package/.next/standalone/.next/static/chunks/fc28f22597652237.js +0 -5
  187. package/.next/static/chunks/000ce5d236847e14.js +0 -1
  188. package/.next/static/chunks/0c86eeaca8703623.js +0 -1
  189. package/.next/static/chunks/0f0b044da5064d31.js +0 -1
  190. package/.next/static/chunks/13aa9092c4478e88.js +0 -1
  191. package/.next/static/chunks/25acbecde2c21b0b.js +0 -1
  192. package/.next/static/chunks/27f1f589cc35ce7f.js +0 -5
  193. package/.next/static/chunks/3799f4ad1dc31445.css +0 -1
  194. package/.next/static/chunks/37c455518a8623aa.js +0 -5
  195. package/.next/static/chunks/395473ba68358e71.js +0 -1
  196. package/.next/static/chunks/5781382bb8e8910c.js +0 -6
  197. package/.next/static/chunks/6a3fee7f033793da.js +0 -1
  198. package/.next/static/chunks/6af4eb4b1f798375.js +0 -5
  199. package/.next/static/chunks/7c8dab1a077d98e9.js +0 -1
  200. package/.next/static/chunks/893da8072a275b7b.js +0 -1
  201. package/.next/static/chunks/941ffb527c8ad269.js +0 -1
  202. package/.next/static/chunks/b40d536f5d92bc07.js +0 -1
  203. package/.next/static/chunks/b55f2944bf45b9ec.js +0 -1
  204. package/.next/static/chunks/b90a78e2d36034ff.js +0 -1
  205. package/.next/static/chunks/d3d6e96c79ecf7ff.js +0 -1
  206. package/.next/static/chunks/d44ccaf98a04c9f5.js +0 -1
  207. package/.next/static/chunks/d58f11c82ac60f13.js +0 -1
  208. package/.next/static/chunks/d6b31c9a193c5bed.js +0 -5
  209. package/.next/static/chunks/ed49341bf575ec20.js +0 -1
  210. package/.next/static/chunks/fc28f22597652237.js +0 -5
  211. /package/.next/standalone/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_buildManifest.js +0 -0
  212. /package/.next/standalone/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_clientMiddlewareManifest.json +0 -0
  213. /package/.next/standalone/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_ssgManifest.js +0 -0
  214. /package/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_buildManifest.js +0 -0
  215. /package/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_clientMiddlewareManifest.json +0 -0
  216. /package/.next/static/{H1e0tcZUy-dcOaNBJh3iW → zCAPedmpW7JHLJhWpOgp0}/_ssgManifest.js +0 -0
@@ -1,3 +1,3 @@
1
- module.exports=[738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},785607,a=>{"use strict";let b=(0,a.i(883706).default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);a.s(["Plug",()=>b],785607)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);function d({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border border-border/40 py-6",a),...d})}function e({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})}function f({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}function g({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-muted-foreground text-sm",a),...d})}function h({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})}a.s(["Card",()=>d,"CardContent",()=>h,"CardDescription",()=>g,"CardHeader",()=>e,"CardTitle",()=>f])},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},699464,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Pencil",()=>b],699464)},870430,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.i(935112);var d=a.i(470121),e=Symbol.for("react.lazy"),f=c[" use ".trim().toString()];function g(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===e&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var h=Symbol("radix.slottable");function i(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===h}var j=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,e)=>{var h,j;let k,l,m,n=(j=h=`Primitive.${e}`,(k=c.forwardRef((a,b)=>{let{children:e,...h}=a;if(g(e)&&"function"==typeof f&&(e=f(e._payload)),c.isValidElement(e)){var i;let a,f,g=(i=e,(f=(a=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.ref:(f=(a=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.props.ref:i.props.ref||i.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(h,e.props);return e.type!==c.Fragment&&(j.ref=b?(0,d.composeRefs)(b,g):g),c.cloneElement(e,j)}return c.Children.count(e)>1?c.Children.only(null):null})).displayName=`${j}.SlotClone`,l=k,(m=c.forwardRef((a,d)=>{let{children:e,...h}=a;g(e)&&"function"==typeof f&&(e=f(e._payload));let j=c.Children.toArray(e),k=j.find(i);if(k){let a=k.props.children,e=j.map(b=>b!==k?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(l,{...h,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(l,{...h,ref:d,children:e})})).displayName=`${h}.Slot`,m),o=c.forwardRef((a,c)=>{let{asChild:d,...f}=a;return(0,b.jsx)(d?n:e,{...f,ref:c})});return o.displayName=`Primitive.${e}`,{...a,[e]:o}},{}),k=c.forwardRef((a,c)=>(0,b.jsx)(j.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));k.displayName="Label";var l=a.i(368114);function m({className:a,...c}){return(0,b.jsx)(k,{"data-slot":"label",className:(0,l.cn)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",a),...c})}a.s(["Label",()=>m],870430)},601017,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(101880),f=a.i(699570),g=a.i(866718),h=a.i(870430),i=a.i(786304),j=a.i(591119),k=a.i(814574),l=a.i(580701),m=a.i(400210),n=a.i(915618),o=a.i(781560),p=a.i(699464),q=a.i(596221),r=a.i(785607),s=a.i(883706);let t=(0,s.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"}]]),u=(0,s.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"}]]);var v=a.i(220494),w=a.i(238246),x=a.i(368114),y=a.i(823292);let z={name:"",type:"google",apiKey:""};function A(){let a=(0,d.useRouter)(),[s,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)(z),[F,G]=(0,c.useState)(!1),{data:H,isLoading:I}=e.api.aiProvider.list.useQuery(),J=e.api.aiProvider.add.useMutation(),K=e.api.aiProvider.update.useMutation(),L=e.api.aiProvider.delete.useMutation(),M=e.api.useUtils(),N=H?.providers||[],O=(0,c.useCallback)(()=>{C(null),E(z),G(!1),A(!0)},[]),P=(0,c.useCallback)(async a=>{C(a),G(!1);let b=await M.aiProvider.get.fetch({id:a});if(b.provider){let a=b.provider;E({name:a.name,type:a.type,apiKey:a.apiKey})}A(!0)},[M]),Q=(0,c.useCallback)(async()=>{try{let a={name:D.name,type:D.type,apiKey:D.apiKey};B?(await K.mutateAsync({id:B,data:a}),y.toast.success("AI provider updated. Restart the app to apply the new key.")):(await J.mutateAsync(a),y.toast.success("AI provider added. Restart the app to apply the new key.")),A(!1),M.aiProvider.list.invalidate()}catch(a){y.toast.error(a.message||"Failed to save AI provider")}},[D,B,J,K,M]),R=(0,c.useCallback)(async(a,b)=>{if(confirm(`Delete AI provider "${b}"? This cannot be undone.`))try{await L.mutateAsync({id:a}),y.toast.success("AI provider deleted"),M.aiProvider.list.invalidate()}catch(a){y.toast.error(a.message||"Failed to delete AI provider")}},[L,M]),S=D.name.trim()&&D.apiKey.trim();return(0,b.jsxs)("div",{className:"min-h-screen bg-background",children:[(0,b.jsx)("header",{className:"border-b border-border/40 bg-background/80 backdrop-blur sticky top-0 z-10",children:(0,b.jsxs)("div",{className:"max-w-5xl mx-auto flex items-center gap-4 px-4 sm:px-6 py-4",children:[(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>a.push("/"),className:"gap-1.5",children:[(0,b.jsx)(m.ArrowLeft,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Back to Chat"})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"Clay"}),(0,b.jsx)("span",{className:"hidden sm:inline opacity-20",children:"/"}),(0,b.jsx)("span",{children:"AI Providers"}),N.length>0&&(0,b.jsx)(i.Badge,{variant:"outline",className:"h-5 min-w-5 px-1 justify-center rounded-sm bg-muted/50 border-border/50 text-[10px]",children:N.length})]})]})}),(0,b.jsxs)("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-6 sm:py-8",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4 mb-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl sm:text-2xl font-bold tracking-tight",children:"AI Providers"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Manage your AI provider API keys. Keys are stored locally in your config."})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f.Button,{asChild:!0,variant:"outline",className:"gap-1.5",size:"sm",children:(0,b.jsxs)(w.default,{href:"/connections",children:[(0,b.jsx)(v.Database,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Connections"})]})}),(0,b.jsxs)(f.Button,{onClick:O,className:"gap-1.5",size:"sm",children:[(0,b.jsx)(n.Plus,{className:"h-4 w-4"}),"Add Provider"]})]})]}),(0,b.jsx)("div",{className:"rounded-lg border border-border/60 bg-muted/30 p-3 sm:p-4 mb-6",children:(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["API keys are saved locally at"," ",(0,b.jsx)("code",{className:"text-[11px] bg-muted px-1.5 py-0.5 rounded font-mono",children:"~/.config/clay/ai-providers.json"}),". After adding or updating a key, restart the app for changes to take effect."]})}),I?(0,b.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,b.jsx)(q.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):0===N.length?(0,b.jsx)(j.Card,{className:"border-dashed",children:(0,b.jsxs)(j.CardContent,{className:"flex flex-col items-center justify-center py-16",children:[(0,b.jsx)("div",{className:"rounded-full bg-muted p-4 mb-4",children:(0,b.jsx)(r.Plug,{className:"h-8 w-8 text-muted-foreground"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-1",children:"No AI providers configured"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mb-6 text-center max-w-sm",children:"Add your Google AI API key to power chat, SQL generation, and embeddings with Gemini models."}),(0,b.jsxs)(f.Button,{onClick:O,className:"gap-1.5",children:[(0,b.jsx)(n.Plus,{className:"h-4 w-4"}),"Add Your First Provider"]})]})}):(0,b.jsx)("div",{className:"grid gap-3 sm:gap-4 sm:grid-cols-2",children:N.map(a=>(0,b.jsxs)(j.Card,{className:"transition-all relative",children:[(0,b.jsx)(j.CardHeader,{className:"p-4 sm:p-6 pb-2 sm:pb-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:(0,x.cn)("rounded-lg p-2 border shrink-0",function(a){switch(a){case"google":return"text-blue-400 bg-blue-400/10 border-blue-400/20";case"groq":return"text-orange-400 bg-orange-400/10 border-orange-400/20";default:return"text-muted-foreground"}}(a.type)),children:(0,b.jsx)(r.Plug,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(j.CardTitle,{className:"text-sm sm:text-base truncate",children:a.name}),(0,b.jsx)(j.CardDescription,{className:"text-xs mt-0.5",children:function(a){switch(a){case"google":return"Google AI (Gemini)";case"groq":return"Groq";default:return a}}(a.type)})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",onClick:()=>P(a.id),className:"text-xs h-8 w-8 p-0",children:(0,b.jsx)(p.Pencil,{className:"h-3 w-3"})}),(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",onClick:()=>R(a.id,a.name),className:"text-xs h-8 w-8 p-0 text-destructive hover:text-destructive",children:(0,b.jsx)(o.Trash2,{className:"h-3 w-3"})})]})]})}),(0,b.jsx)(j.CardContent,{className:"p-4 sm:p-6 pt-0 sm:pt-0",children:(0,b.jsxs)("div",{className:"space-y-1.5 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60 w-10 sm:w-14 shrink-0",children:"Key"}),(0,b.jsx)("span",{className:"font-mono truncate",children:a.apiKey})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60 w-10 sm:w-14 shrink-0",children:"Usage"}),(0,b.jsx)("span",{className:"line-clamp-2 sm:line-clamp-1",children:function(a){switch(a){case"google":return"Powers chat, SQL generation, and embeddings via Gemini models";case"groq":return"Fast Llama and Mixtral models hosted on Groq's LPUs";default:return""}}(a.type)})]})]})})]},a.id))})]}),(0,b.jsx)(k.Dialog,{open:s,onOpenChange:A,children:(0,b.jsxs)(k.DialogContent,{className:"sm:max-w-lg max-h-[85vh] flex! flex-col! p-4 sm:p-6",children:[(0,b.jsxs)(k.DialogHeader,{className:"shrink-0",children:[(0,b.jsx)(k.DialogTitle,{children:B?"Edit AI Provider":"Add AI Provider"}),(0,b.jsx)(k.DialogDescription,{children:B?"Update your AI provider configuration.":"Configure a new AI provider with your API key."})]}),(0,b.jsxs)("div",{className:"space-y-4 py-2 overflow-y-auto flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"prov-name",children:"Provider Name"}),(0,b.jsx)(g.Input,{id:"prov-name",placeholder:"e.g. My Google AI Key",value:D.name,onChange:a=>E(b=>({...b,name:a.target.value}))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:"Provider Type"}),(0,b.jsxs)(l.Select,{value:D.type,onValueChange:a=>E(b=>({...b,type:a})),children:[(0,b.jsx)(l.SelectTrigger,{children:(0,b.jsx)(l.SelectValue,{})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:"google",children:"Google AI (Gemini)"}),(0,b.jsx)(l.SelectItem,{value:"groq",children:"Groq"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"prov-api-key",children:"API Key"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(g.Input,{id:"prov-api-key",type:F?"text":"password",placeholder:"Enter your API key",value:D.apiKey,onChange:a=>E(b=>({...b,apiKey:a.target.value})),className:"pr-10"}),(0,b.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>G(!F),className:"absolute right-0 top-0 h-full px-3 hover:bg-transparent",children:F?(0,b.jsx)(u,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(t,{className:"h-4 w-4 text-muted-foreground"})})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["google"===D.type&&(0,b.jsxs)(b.Fragment,{children:["Get your API key from"," ",(0,b.jsx)("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Google AI Studio"})]}),"groq"===D.type&&(0,b.jsxs)(b.Fragment,{children:["Get your API key from"," ",(0,b.jsx)("a",{href:"https://console.groq.com/keys",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Groq Console"})]})]})]})]}),(0,b.jsx)(k.DialogFooter,{className:"shrink-0",children:(0,b.jsxs)(f.Button,{onClick:Q,disabled:!S||J.isPending||K.isPending,className:"gap-1.5",children:[(J.isPending||K.isPending)&&(0,b.jsx)(q.Loader2,{className:"h-4 w-4 animate-spin"}),B?"Update":"Add Provider"]})})]})})]})}a.s(["AIProvidersPage",()=>A],601017)}];
1
+ module.exports=[738783,(a,b,c)=>{"use strict";b.exports=a.r(342602).vendored["react-ssr"].ReactServerDOMTurbopackClient},785607,a=>{"use strict";let b=(0,a.i(883706).default)("plug",[["path",{d:"M12 22v-5",key:"1ega77"}],["path",{d:"M9 8V2",key:"14iosj"}],["path",{d:"M15 8V2",key:"18g5xt"}],["path",{d:"M18 8v5a4 4 0 0 1-4 4h-4a4 4 0 0 1-4-4V8Z",key:"osxo6l"}]]);a.s(["Plug",()=>b],785607)},591119,a=>{"use strict";var b=a.i(187924),c=a.i(368114);function d({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card",className:(0,c.cn)("bg-card text-card-foreground flex flex-col gap-6 rounded-xl border border-border/40 py-6",a),...d})}function e({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-header",className:(0,c.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",a),...d})}function f({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-title",className:(0,c.cn)("leading-none font-semibold",a),...d})}function g({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-description",className:(0,c.cn)("text-muted-foreground text-sm",a),...d})}function h({className:a,...d}){return(0,b.jsx)("div",{"data-slot":"card-content",className:(0,c.cn)("px-6",a),...d})}a.s(["Card",()=>d,"CardContent",()=>h,"CardDescription",()=>g,"CardHeader",()=>e,"CardTitle",()=>f])},400210,a=>{"use strict";let b=(0,a.i(883706).default)("arrow-left",[["path",{d:"m12 19-7-7 7-7",key:"1l729n"}],["path",{d:"M19 12H5",key:"x3x0zl"}]]);a.s(["ArrowLeft",()=>b],400210)},699464,a=>{"use strict";let b=(0,a.i(883706).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"}]]);a.s(["Pencil",()=>b],699464)},870430,a=>{"use strict";var b=a.i(187924),c=a.i(572131);a.i(935112);var d=a.i(470121),e=Symbol.for("react.lazy"),f=c[" use ".trim().toString()];function g(a){var b;return null!=a&&"object"==typeof a&&"$$typeof"in a&&a.$$typeof===e&&"_payload"in a&&"object"==typeof(b=a._payload)&&null!==b&&"then"in b}var h=Symbol("radix.slottable");function i(a){return c.isValidElement(a)&&"function"==typeof a.type&&"__radixId"in a.type&&a.type.__radixId===h}var j=["a","button","div","form","h2","h3","img","input","label","li","nav","ol","p","select","span","svg","ul"].reduce((a,e)=>{var h,j;let k,l,m,n=(j=h=`Primitive.${e}`,(k=c.forwardRef((a,b)=>{let{children:e,...h}=a;if(g(e)&&"function"==typeof f&&(e=f(e._payload)),c.isValidElement(e)){var i;let a,f,g=(i=e,(f=(a=Object.getOwnPropertyDescriptor(i.props,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.ref:(f=(a=Object.getOwnPropertyDescriptor(i,"ref")?.get)&&"isReactWarning"in a&&a.isReactWarning)?i.props.ref:i.props.ref||i.ref),j=function(a,b){let c={...b};for(let d in b){let e=a[d],f=b[d];/^on[A-Z]/.test(d)?e&&f?c[d]=(...a)=>{let b=f(...a);return e(...a),b}:e&&(c[d]=e):"style"===d?c[d]={...e,...f}:"className"===d&&(c[d]=[e,f].filter(Boolean).join(" "))}return{...a,...c}}(h,e.props);return e.type!==c.Fragment&&(j.ref=b?(0,d.composeRefs)(b,g):g),c.cloneElement(e,j)}return c.Children.count(e)>1?c.Children.only(null):null})).displayName=`${j}.SlotClone`,l=k,(m=c.forwardRef((a,d)=>{let{children:e,...h}=a;g(e)&&"function"==typeof f&&(e=f(e._payload));let j=c.Children.toArray(e),k=j.find(i);if(k){let a=k.props.children,e=j.map(b=>b!==k?b:c.Children.count(a)>1?c.Children.only(null):c.isValidElement(a)?a.props.children:null);return(0,b.jsx)(l,{...h,ref:d,children:c.isValidElement(a)?c.cloneElement(a,void 0,e):null})}return(0,b.jsx)(l,{...h,ref:d,children:e})})).displayName=`${h}.Slot`,m),o=c.forwardRef((a,c)=>{let{asChild:d,...f}=a;return(0,b.jsx)(d?n:e,{...f,ref:c})});return o.displayName=`Primitive.${e}`,{...a,[e]:o}},{}),k=c.forwardRef((a,c)=>(0,b.jsx)(j.label,{...a,ref:c,onMouseDown:b=>{b.target.closest("button, input, select, textarea")||(a.onMouseDown?.(b),!b.defaultPrevented&&b.detail>1&&b.preventDefault())}}));k.displayName="Label";var l=a.i(368114);function m({className:a,...c}){return(0,b.jsx)(k,{"data-slot":"label",className:(0,l.cn)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70",a),...c})}a.s(["Label",()=>m],870430)},601017,a=>{"use strict";var b=a.i(187924),c=a.i(572131),d=a.i(50944),e=a.i(101880),f=a.i(699570),g=a.i(866718),h=a.i(870430),i=a.i(786304),j=a.i(591119),k=a.i(814574),l=a.i(580701),m=a.i(400210),n=a.i(915618),o=a.i(781560),p=a.i(699464),q=a.i(596221),r=a.i(785607),s=a.i(883706);let t=(0,s.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"}]]),u=(0,s.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"}]]);var v=a.i(220494),w=a.i(238246),x=a.i(368114),y=a.i(823292);let z={name:"",type:"google",apiKey:""};function A(){let a=(0,d.useRouter)(),[s,A]=(0,c.useState)(!1),[B,C]=(0,c.useState)(null),[D,E]=(0,c.useState)(z),[F,G]=(0,c.useState)(!1),{data:H,isLoading:I}=e.api.aiProvider.list.useQuery(),J=e.api.aiProvider.add.useMutation(),K=e.api.aiProvider.update.useMutation(),L=e.api.aiProvider.delete.useMutation(),M=e.api.useUtils(),N=H?.providers||[],O=(0,c.useCallback)(()=>{C(null),E(z),G(!1),A(!0)},[]),P=(0,c.useCallback)(async a=>{C(a),G(!1);let b=await M.aiProvider.get.fetch({id:a});if(b.provider){let a=b.provider;E({name:a.name,type:a.type,apiKey:a.apiKey})}A(!0)},[M]),Q=(0,c.useCallback)(async()=>{try{let a={name:D.name,type:D.type,apiKey:D.apiKey};B?(await K.mutateAsync({id:B,data:a}),y.toast.success("AI provider updated. Restart the app to apply the new key.")):(await J.mutateAsync(a),y.toast.success("AI provider added. Restart the app to apply the new key.")),A(!1),M.aiProvider.list.invalidate()}catch(a){y.toast.error(a.message||"Failed to save AI provider")}},[D,B,J,K,M]),R=(0,c.useCallback)(async(a,b)=>{if(confirm(`Delete AI provider "${b}"? This cannot be undone.`))try{await L.mutateAsync({id:a}),y.toast.success("AI provider deleted"),M.aiProvider.list.invalidate()}catch(a){y.toast.error(a.message||"Failed to delete AI provider")}},[L,M]),S=D.name.trim()&&D.apiKey.trim();return(0,b.jsxs)("div",{className:"min-h-screen bg-background",children:[(0,b.jsx)("header",{className:"border-b border-border/40 bg-background/80 backdrop-blur sticky top-0 z-10",children:(0,b.jsxs)("div",{className:"max-w-5xl mx-auto flex items-center gap-4 px-4 sm:px-6 py-4",children:[(0,b.jsxs)(f.Button,{variant:"ghost",size:"sm",onClick:()=>a.push("/"),className:"gap-1.5",children:[(0,b.jsx)(m.ArrowLeft,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Back to Chat"})]}),(0,b.jsx)("div",{className:"flex-1"}),(0,b.jsxs)("div",{className:"flex items-center gap-2 text-xs font-semibold uppercase tracking-wider text-muted-foreground",children:[(0,b.jsx)("span",{className:"hidden sm:inline",children:"SqlBot"}),(0,b.jsx)("span",{className:"hidden sm:inline opacity-20",children:"/"}),(0,b.jsx)("span",{children:"AI Providers"}),N.length>0&&(0,b.jsx)(i.Badge,{variant:"outline",className:"h-5 min-w-5 px-1 justify-center rounded-sm bg-muted/50 border-border/50 text-[10px]",children:N.length})]})]})}),(0,b.jsxs)("div",{className:"max-w-5xl mx-auto px-4 sm:px-6 py-6 sm:py-8",children:[(0,b.jsxs)("div",{className:"flex flex-col sm:flex-row sm:items-start sm:justify-between gap-4 mb-8",children:[(0,b.jsxs)("div",{children:[(0,b.jsx)("h2",{className:"text-xl sm:text-2xl font-bold tracking-tight",children:"AI Providers"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mt-1",children:"Manage your AI provider API keys. Keys are stored locally in your config."})]}),(0,b.jsxs)("div",{className:"flex items-center gap-2",children:[(0,b.jsx)(f.Button,{asChild:!0,variant:"outline",className:"gap-1.5",size:"sm",children:(0,b.jsxs)(w.default,{href:"/connections",children:[(0,b.jsx)(v.Database,{className:"h-4 w-4"}),(0,b.jsx)("span",{className:"hidden sm:inline",children:"Connections"})]})}),(0,b.jsxs)(f.Button,{onClick:O,className:"gap-1.5",size:"sm",children:[(0,b.jsx)(n.Plus,{className:"h-4 w-4"}),"Add Provider"]})]})]}),(0,b.jsx)("div",{className:"rounded-lg border border-border/60 bg-muted/30 p-3 sm:p-4 mb-6",children:(0,b.jsxs)("p",{className:"text-xs text-muted-foreground",children:["API keys are saved locally at"," ",(0,b.jsx)("code",{className:"text-[11px] bg-muted px-1.5 py-0.5 rounded font-mono",children:H?.configPath||"~/.sqlbot/ai-providers.json"}),". After adding or updating a key, restart the app for changes to take effect."]})}),I?(0,b.jsx)("div",{className:"flex items-center justify-center py-20",children:(0,b.jsx)(q.Loader2,{className:"h-6 w-6 animate-spin text-muted-foreground"})}):0===N.length?(0,b.jsx)(j.Card,{className:"border-dashed",children:(0,b.jsxs)(j.CardContent,{className:"flex flex-col items-center justify-center py-16",children:[(0,b.jsx)("div",{className:"rounded-full bg-muted p-4 mb-4",children:(0,b.jsx)(r.Plug,{className:"h-8 w-8 text-muted-foreground"})}),(0,b.jsx)("h3",{className:"text-lg font-semibold mb-1",children:"No AI providers configured"}),(0,b.jsx)("p",{className:"text-sm text-muted-foreground mb-6 text-center max-w-sm",children:"Add your Google AI API key to power chat, SQL generation, and embeddings with Gemini models."}),(0,b.jsxs)(f.Button,{onClick:O,className:"gap-1.5",children:[(0,b.jsx)(n.Plus,{className:"h-4 w-4"}),"Add Your First Provider"]})]})}):(0,b.jsx)("div",{className:"grid gap-3 sm:gap-4 sm:grid-cols-2",children:N.map(a=>(0,b.jsxs)(j.Card,{className:"transition-all relative",children:[(0,b.jsx)(j.CardHeader,{className:"p-4 sm:p-6 pb-2 sm:pb-3",children:(0,b.jsxs)("div",{className:"flex items-center gap-3",children:[(0,b.jsx)("div",{className:(0,x.cn)("rounded-lg p-2 border shrink-0",function(a){switch(a){case"google":return"text-blue-400 bg-blue-400/10 border-blue-400/20";case"groq":return"text-orange-400 bg-orange-400/10 border-orange-400/20";case"openai":return"text-green-400 bg-green-400/10 border-green-400/20";default:return"text-muted-foreground"}}(a.type)),children:(0,b.jsx)(r.Plug,{className:"h-4 w-4"})}),(0,b.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,b.jsx)(j.CardTitle,{className:"text-sm sm:text-base truncate",children:a.name}),(0,b.jsx)(j.CardDescription,{className:"text-xs mt-0.5",children:function(a){switch(a){case"google":return"Google AI (Gemini)";case"groq":return"Groq";case"openai":return"OpenAI";default:return a}}(a.type)})]}),(0,b.jsxs)("div",{className:"flex items-center gap-1 shrink-0",children:[(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",onClick:()=>P(a.id),className:"text-xs h-8 w-8 p-0",children:(0,b.jsx)(p.Pencil,{className:"h-3 w-3"})}),(0,b.jsx)(f.Button,{variant:"ghost",size:"sm",onClick:()=>R(a.id,a.name),className:"text-xs h-8 w-8 p-0 text-destructive hover:text-destructive",children:(0,b.jsx)(o.Trash2,{className:"h-3 w-3"})})]})]})}),(0,b.jsx)(j.CardContent,{className:"p-4 sm:p-6 pt-0 sm:pt-0",children:(0,b.jsxs)("div",{className:"space-y-1.5 text-xs text-muted-foreground",children:[(0,b.jsxs)("div",{className:"flex items-center gap-2 min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60 w-10 sm:w-14 shrink-0",children:"Key"}),(0,b.jsx)("span",{className:"font-mono truncate",children:a.apiKey})]}),(0,b.jsxs)("div",{className:"flex items-start gap-2 min-w-0",children:[(0,b.jsx)("span",{className:"text-muted-foreground/60 w-10 sm:w-14 shrink-0",children:"Usage"}),(0,b.jsx)("span",{className:"line-clamp-2 sm:line-clamp-1",children:function(a){switch(a){case"google":return"Powers chat, SQL generation, and embeddings via Gemini models";case"groq":return"Fast Llama and Mixtral models hosted on Groq's LPUs";case"openai":return"Industry standard GPT models for chat and embeddings";default:return""}}(a.type)})]})]})})]},a.id))})]}),(0,b.jsx)(k.Dialog,{open:s,onOpenChange:A,children:(0,b.jsxs)(k.DialogContent,{className:"sm:max-w-lg max-h-[85vh] flex! flex-col! p-4 sm:p-6",children:[(0,b.jsxs)(k.DialogHeader,{className:"shrink-0",children:[(0,b.jsx)(k.DialogTitle,{children:B?"Edit AI Provider":"Add AI Provider"}),(0,b.jsx)(k.DialogDescription,{children:B?"Update your AI provider configuration.":"Configure a new AI provider with your API key."})]}),(0,b.jsxs)("div",{className:"space-y-4 py-2 overflow-y-auto flex-1 min-h-0",children:[(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"prov-name",children:"Provider Name"}),(0,b.jsx)(g.Input,{id:"prov-name",placeholder:"e.g. My Google AI Key",value:D.name,onChange:a=>E(b=>({...b,name:a.target.value}))})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{children:"Provider Type"}),(0,b.jsxs)(l.Select,{value:D.type,onValueChange:a=>E(b=>({...b,type:a})),children:[(0,b.jsx)(l.SelectTrigger,{children:(0,b.jsx)(l.SelectValue,{})}),(0,b.jsxs)(l.SelectContent,{children:[(0,b.jsx)(l.SelectItem,{value:"google",children:"Google AI (Gemini)"}),(0,b.jsx)(l.SelectItem,{value:"groq",children:"Groq"}),(0,b.jsx)(l.SelectItem,{value:"openai",children:"OpenAI"})]})]})]}),(0,b.jsxs)("div",{className:"space-y-2",children:[(0,b.jsx)(h.Label,{htmlFor:"prov-api-key",children:"API Key"}),(0,b.jsxs)("div",{className:"relative",children:[(0,b.jsx)(g.Input,{id:"prov-api-key",type:F?"text":"password",placeholder:"Enter your API key",value:D.apiKey,onChange:a=>E(b=>({...b,apiKey:a.target.value})),className:"pr-10"}),(0,b.jsx)(f.Button,{type:"button",variant:"ghost",size:"sm",onClick:()=>G(!F),className:"absolute right-0 top-0 h-full px-3 hover:bg-transparent",children:F?(0,b.jsx)(u,{className:"h-4 w-4 text-muted-foreground"}):(0,b.jsx)(t,{className:"h-4 w-4 text-muted-foreground"})})]}),(0,b.jsxs)("p",{className:"text-[11px] text-muted-foreground",children:["google"===D.type&&(0,b.jsxs)(b.Fragment,{children:["Get your API key from"," ",(0,b.jsx)("a",{href:"https://aistudio.google.com/apikey",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Google AI Studio"})]}),"groq"===D.type&&(0,b.jsxs)(b.Fragment,{children:["Get your API key from"," ",(0,b.jsx)("a",{href:"https://console.groq.com/keys",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"Groq Console"})]}),"openai"===D.type&&(0,b.jsxs)(b.Fragment,{children:["Get your API key from"," ",(0,b.jsx)("a",{href:"https://platform.openai.com/api-keys",target:"_blank",rel:"noopener noreferrer",className:"underline underline-offset-2 hover:text-foreground",children:"OpenAI Dashboard"})]})]})]})]}),(0,b.jsx)(k.DialogFooter,{className:"shrink-0",children:(0,b.jsxs)(f.Button,{onClick:Q,disabled:!S||J.isPending||K.isPending,className:"gap-1.5",children:[(J.isPending||K.isPending)&&(0,b.jsx)(q.Loader2,{className:"h-4 w-4 animate-spin"}),B?"Update":"Add Provider"]})})]})})]})}a.s(["AIProvidersPage",()=>A],601017)}];
2
2
 
3
3
  //# sourceMappingURL=_37f7f89d._.js.map