sparkecoder 0.1.61 → 0.1.63
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.
- package/dist/agent/index.d.ts +3 -3
- package/dist/agent/index.js +16 -3
- package/dist/agent/index.js.map +1 -1
- package/dist/cli.js +16 -3
- package/dist/cli.js.map +1 -1
- package/dist/db/index.d.ts +2 -2
- package/dist/{index-DuGtMaAJ.d.ts → index-Dn-eCGLe.d.ts} +25 -25
- package/dist/index.d.ts +5 -5
- package/dist/index.js +16 -3
- package/dist/index.js.map +1 -1
- package/dist/{schema-C7Mm4Ykn.d.ts → schema-XcP0dedO.d.ts} +3 -3
- package/dist/{search-C_IFImt1.d.ts → search-DINnDTgj.d.ts} +4 -4
- package/dist/server/index.js +16 -3
- package/dist/server/index.js.map +1 -1
- package/dist/tools/index.d.ts +2 -2
- package/package.json +1 -1
- package/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/BUILD_ID +1 -1
- package/web/.next/standalone/web/.next/build-manifest.json +2 -2
- package/web/.next/standalone/web/.next/prerender-manifest.json +3 -3
- package/web/.next/standalone/web/.next/server/app/(main)/page.js.nft.json +1 -1
- package/web/.next/standalone/web/.next/server/app/(main)/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/web/.next/server/app/(main)/session/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.html +2 -2
- package/web/.next/standalone/web/.next/server/app/_global-error.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.html +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs/installation.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/installation.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs/skills.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/skills.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs/tools.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs/tools.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.html +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/_full.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs/__PAGE__.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/docs.segments/docs.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/embed/[id]/page.js.nft.json +1 -1
- package/web/.next/standalone/web/.next/server/app/embed/[id]/page_client-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/app/index.html +1 -1
- package/web/.next/standalone/web/.next/server/app/index.rsc +4 -4
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p/__PAGE__.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/index.segments/!KG1haW4p.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/index.segments/_full.segment.rsc +4 -4
- package/web/.next/standalone/web/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/web/.next/standalone/web/.next/server/app/index.segments/_index.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_e19eaecc._.js → 2374f_04a544c8._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_0d0b1fb9._.js → 2374f_45534372._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_03d22c16._.js → 2374f_5c78460e._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_6166d14d._.js → 2374f_5d0b3394._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_b98835eb._.js → 2374f_5e9eb6da._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_3f7d6d28._.js → 2374f_68abddfe._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_99b7b533._.js → 2374f_72fb9db7._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_6b436efc._.js → 2374f_ab5b97d8._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_e3aec189._.js → 2374f_bfc8ef7d._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_a1a36483._.js → 2374f_c61a33b3._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_976b2ded._.js → 2374f_d5f5b9ba._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_67b9525f._.js → 2374f_db790cfe._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_98eba491._.js → 2374f_de60e6ea._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{2374f_784d851c._.js → 2374f_e366206f._.js} +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{[root-of-the-server]__4f176a16._.js → [root-of-the-server]__aa788b85._.js} +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/{[root-of-the-server]__d59f831d._.js → [root-of-the-server]__d04c460d._.js} +4 -4
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_08bbd8c8._.js +7 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_2b3a5919._.js +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_38156da8._.js +1 -1
- package/web/.next/standalone/web/.next/server/chunks/ssr/{web_693f514e._.js → web_6fb589ac._.js} +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/{web_dc6ce793._.js → web_c729ad51._.js} +2 -2
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_src_components_sessions-sidebar_tsx_92510070._.js +1 -1
- package/web/.next/standalone/web/.next/server/pages/404.html +1 -1
- package/web/.next/standalone/web/.next/server/pages/500.html +2 -2
- package/web/.next/standalone/web/.next/server/server-reference-manifest.js +1 -1
- package/web/.next/standalone/web/.next/server/server-reference-manifest.json +1 -1
- package/web/.next/standalone/web/.next/static/chunks/{81685e5e8be4eac9.js → 054deec0c7b19894.js} +3 -3
- package/web/.next/standalone/web/.next/static/chunks/1ebba7ac024244f9.js +5 -0
- package/web/.next/{static/chunks/0358a0e7a40cfb93.css → standalone/web/.next/static/chunks/1f42a42914068041.css} +1 -1
- package/web/.next/standalone/web/.next/static/chunks/26eb5fab5216f3cc.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/{95436454a7559b0d.js → 5383c5717758f575.js} +3 -3
- package/web/.next/standalone/web/.next/static/chunks/{20e0fa99c7a1c1fc.js → 7fb141141caa4fac.js} +5 -5
- package/web/.next/standalone/web/.next/static/chunks/c6f40df16a9396b9.js +1 -0
- package/web/.next/standalone/web/.next/static/chunks/ea29be392100ab0f.js +5 -0
- package/web/.next/{static/chunks/294ebe8457006bce.js → standalone/web/.next/static/chunks/eea48be65cdb3f4b.js} +2 -2
- package/web/.next/{static/chunks/81685e5e8be4eac9.js → standalone/web/.next/static/static/chunks/054deec0c7b19894.js} +3 -3
- package/web/.next/standalone/web/.next/static/static/chunks/1ebba7ac024244f9.js +5 -0
- package/web/.next/standalone/web/.next/static/static/chunks/{0358a0e7a40cfb93.css → 1f42a42914068041.css} +1 -1
- package/web/.next/standalone/web/.next/static/static/chunks/26eb5fab5216f3cc.js +1 -0
- package/web/.next/standalone/web/.next/static/static/chunks/{95436454a7559b0d.js → 5383c5717758f575.js} +3 -3
- package/web/.next/standalone/web/.next/static/static/chunks/{20e0fa99c7a1c1fc.js → 7fb141141caa4fac.js} +5 -5
- package/web/.next/standalone/web/.next/static/static/chunks/c6f40df16a9396b9.js +1 -0
- package/web/.next/standalone/web/.next/static/static/chunks/ea29be392100ab0f.js +5 -0
- package/web/.next/standalone/web/.next/static/static/chunks/{294ebe8457006bce.js → eea48be65cdb3f4b.js} +2 -2
- package/web/.next/standalone/web/package-lock.json +20 -0
- package/web/.next/standalone/web/package.json +2 -0
- package/web/.next/standalone/web/src/components/ai-elements/complete-task-tool.tsx +36 -60
- package/web/.next/standalone/web/src/components/chat-interface.tsx +36 -32
- package/web/.next/standalone/web/src/components/sessions-sidebar.tsx +231 -16
- package/web/.next/standalone/web/src/lib/api.ts +17 -0
- package/web/.next/{standalone/web/.next/static/static/chunks/81685e5e8be4eac9.js → static/chunks/054deec0c7b19894.js} +3 -3
- package/web/.next/static/chunks/1ebba7ac024244f9.js +5 -0
- package/web/.next/{standalone/web/.next/static/chunks/0358a0e7a40cfb93.css → static/chunks/1f42a42914068041.css} +1 -1
- package/web/.next/static/chunks/26eb5fab5216f3cc.js +1 -0
- package/web/.next/static/chunks/{95436454a7559b0d.js → 5383c5717758f575.js} +3 -3
- package/web/.next/static/chunks/{20e0fa99c7a1c1fc.js → 7fb141141caa4fac.js} +5 -5
- package/web/.next/static/chunks/c6f40df16a9396b9.js +1 -0
- package/web/.next/static/chunks/ea29be392100ab0f.js +5 -0
- package/web/.next/{standalone/web/.next/static/chunks/294ebe8457006bce.js → static/chunks/eea48be65cdb3f4b.js} +2 -2
- package/web/package.json +2 -0
- package/web/.next/standalone/web/.next/server/chunks/ssr/web_a42a2651._.js +0 -7
- package/web/.next/standalone/web/.next/static/chunks/1ecde4c0d426a635.js +0 -1
- package/web/.next/standalone/web/.next/static/chunks/36688a049d72e8ab.js +0 -5
- package/web/.next/standalone/web/.next/static/chunks/a751ca474cc46212.js +0 -5
- package/web/.next/standalone/web/.next/static/static/chunks/1ecde4c0d426a635.js +0 -1
- package/web/.next/standalone/web/.next/static/static/chunks/36688a049d72e8ab.js +0 -5
- package/web/.next/standalone/web/.next/static/static/chunks/a751ca474cc46212.js +0 -5
- package/web/.next/static/chunks/1ecde4c0d426a635.js +0 -1
- package/web/.next/static/chunks/36688a049d72e8ab.js +0 -5
- package/web/.next/static/chunks/a751ca474cc46212.js +0 -5
- /package/web/.next/standalone/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_ssgManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_buildManifest.js +0 -0
- /package/web/.next/standalone/web/.next/static/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/standalone/web/.next/static/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_ssgManifest.js +0 -0
- /package/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_buildManifest.js +0 -0
- /package/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_clientMiddlewareManifest.json +0 -0
- /package/web/.next/static/{8zJH-RqrUQ3scBGbdaCmn → Xc8ztiG5d6CHUNHm_1G8b}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,996720,e=>{"use strict";var s=e.i(257868);e.s(["Plus",()=>s.default])},667249,e=>{"use strict";let s=(0,e.i(292511).default)("message-square",[["path",{d:"M22 17a2 2 0 0 1-2 2H6.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 2 21.286V5a2 2 0 0 1 2-2h16a2 2 0 0 1 2 2z",key:"18887p"}]]);e.s(["MessageSquare",()=>s],667249)},846193,e=>{"use strict";let s=(0,e.i(292511).default)("key",[["path",{d:"m15.5 7.5 2.3 2.3a1 1 0 0 0 1.4 0l2.1-2.1a1 1 0 0 0 0-1.4L19 4",key:"g0fldk"}],["path",{d:"m21 2-9.6 9.6",key:"1j0ho8"}],["circle",{cx:"7.5",cy:"15.5",r:"5.5",key:"yqb3hr"}]]);e.s(["Key",()=>s],846193)},421722,e=>{"use strict";var s=e.i(414294),t=e.i(430878),a=e.i(353913),i=e.i(504561),l=e.i(292623),r=e.i(996720),n=e.i(667249),d=e.i(904781),o=e.i(461957),c=e.i(816187),m=e.i(292511);let x=(0,m.default)("panel-left-close",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}],["path",{d:"m16 15-3-3 3-3",key:"14y99z"}]]);var h=e.i(220563),u=e.i(846193),p=e.i(719583),j=e.i(707387),g=e.i(481298),g=g;let f=(0,m.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"}]]),N=(0,m.default)("volume-2",[["path",{d:"M11 4.702a.705.705 0 0 0-1.203-.498L6.413 7.587A1.4 1.4 0 0 1 5.416 8H3a1 1 0 0 0-1 1v6a1 1 0 0 0 1 1h2.416a1.4 1.4 0 0 1 .997.413l3.383 3.384A.705.705 0 0 0 11 19.298z",key:"uqj9uw"}],["path",{d:"M16 9a5 5 0 0 1 0 6",key:"1q6k2b"}],["path",{d:"M19.364 18.364a9 9 0 0 0 0-12.728",key:"ijwkga"}]]);var v=e.i(79092),b=e.i(372379),y=e.i(928574),k=e.i(529757),S=e.i(666904),C=e.i(836191),T=e.i(77982),z=e.i(634066),w=e.i(865259),M=e.i(553880),L=e.i(87614),P=e.i(524741),A=e.i(455706),D=e.i(743053),B=e.i(739963),I=e.i(555552),F=e.i(300739),$=e.i(335130);function q(){let e=(0,a.useRouter)(),m=(0,a.usePathname)(),{state:q,toggleSidebar:E}=(0,k.useSidebar)(),{sessions:V,isLoading:K}=(0,F.useSessions)(),[O,R]=(0,t.useState)(!1),[U,W]=(0,t.useState)(!1),[H,J]=(0,t.useState)(!1),[G,X]=(0,t.useState)(null),[Y,Q]=(0,t.useState)(null),Z=(0,t.useRef)(null),[_,ee]=(0,t.useState)(""),[es,et]=(0,t.useState)(""),[ea,ei]=(0,t.useState)({}),[el,er]=(0,t.useState)(!1),[en,ed]=(0,t.useState)(""),eo={type:"object",properties:{},required:[]},[ec,em]=(0,t.useState)(eo),[ex,eh]=(0,t.useState)(""),[eu,ep]=(0,t.useState)(""),[ej,eg]=(0,t.useState)(""),[ef,eN]=(0,t.useState)(""),[ev,eb]=(0,t.useState)("50"),[ey,ek]=(0,t.useState)(!1),[eS,eC]=(0,t.useState)([]),[eT,ez]=(0,t.useState)(null),[ew,eM]=(0,t.useState)(""),[eL,eP]=(0,t.useState)(!1),[eA,eD]=(0,t.useState)(!1),{enabled:eB,setEnabled:eI}=(0,$.useNotificationSound)(),eF=m.startsWith("/embed/"),e$=m.startsWith("/session/")?m.split("/session/")[1]:m.startsWith("/embed/")?m.split("/embed/")[1]:null,eq=eF?"/embed":"/session",eE=V.some(e=>e.isStreaming),eV=async()=>{let e=await (0,B.getConfig)();X(e),et(e.defaultModel),ei(e.defaultToolApprovals)},eK=async()=>{try{let e=await (0,P.getApiKeys)();eC(e.providers)}catch(e){console.error("Failed to load API keys:",e)}};(0,t.useEffect)(()=>{eV(),eK()},[]),(0,t.useEffect)(()=>{H&&eK()},[H]);let eO=async e=>{if(ew.trim()){eD(!0);try{await (0,P.setApiKey)(e,ew),await eK(),ez(null),eM(""),eP(!1)}catch(e){console.error("Failed to save API key:",e)}finally{eD(!1)}}},eR=()=>{ez(null),eM(""),eP(!1)};(0,t.useEffect)(()=>{Z.current&&(eE?Z.current.play().catch(()=>{}):(Z.current.pause(),Z.current.currentTime=0))},[eE]);let eU=async()=>{if(!O){R(!0);try{let s=await (0,P.createSession)({name:`Session ${V.length+1}`,model:G?.defaultModel||"anthropic/claude-opus-4-6",toolApprovals:ea});(0,F.mutateSessions)(),e.push(`${eq}/${s.id}`)}catch(e){console.error("Failed to create session:",e)}finally{R(!1)}}},eW=async()=>{R(!0);try{let s=await (0,P.createSession)({name:_||`Session ${V.length+1}`,model:es,toolApprovals:ea});(0,F.mutateSessions)(),eH(),W(!1),e.push(`${eq}/${s.id}`)}catch(e){console.error("Failed to create session:",e)}finally{R(!1)}},eH=()=>{ee(""),G&&(et(G.defaultModel),ei(G.defaultToolApprovals))},eJ=()=>{ed(""),em(eo),eh(""),ep(""),eg(""),eN(G?.defaultModel||""),eb("50")},eG=async()=>{if(en.trim()){if(eh(""),!ec||"object"!=typeof ec)return void eh("Schema must be a JSON object");ek(!0);try{let s=await (0,P.createTask)({prompt:en,outputSchema:ec,webhookUrl:eu||void 0,model:ef||G?.defaultModel,name:ej||void 0,maxIterations:parseInt(ev)||50});(0,F.mutateSessions)(),er(!1),eJ(),e.push(`${eq}/${s.taskId}`)}catch(e){console.error("Failed to create task:",e)}finally{ek(!1)}}},eX=async(s,t)=>{s.preventDefault(),s.stopPropagation();try{await (0,P.deleteSession)(t),(0,F.mutateSessions)(),e$===t&&e.push("/")}catch(e){console.error("Failed to delete session:",e)}},eY=e=>{ei(s=>({...s,[e]:!s[e]}))},eQ="collapsed"===q;return(0,s.jsxs)(k.Sidebar,{collapsible:eF?"offcanvas":"icon",className:"border-r border-border/50",children:[(0,s.jsxs)(k.SidebarHeader,{className:(0,I.cn)(eQ?"p-2 space-y-2":"p-3 space-y-3"),children:[!eQ&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-3",children:[(0,s.jsxs)("div",{className:"relative shrink-0 overflow-hidden rounded-xl size-10 shadow-md ring-1 ring-white/10",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"Sparke",width:40,height:40,className:"absolute inset-0 size-full object-cover",priority:!0}),(0,s.jsx)("video",{ref:Z,src:"/sparkecode.mp4",muted:!0,loop:!0,playsInline:!0,className:(0,I.cn)("absolute inset-0 size-full object-cover transition-opacity duration-300",eE?"opacity-100":"opacity-0")})]}),(0,s.jsxs)("div",{className:"flex flex-1 items-center justify-between min-w-0",children:[(0,s.jsx)("h1",{className:"text-lg font-bold text-foreground",children:"SparkECoder"}),(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"size-7 hover:bg-accent transition-colors",onClick:E,children:(0,s.jsx)(x,{className:"size-4"})})}),(0,s.jsxs)(L.TooltipContent,{side:"bottom",children:["Collapse ",(0,s.jsx)("kbd",{className:"ml-1 text-[10px] opacity-60",children:"⌘B"})]})]})})]})]}),(0,s.jsxs)("div",{className:"flex gap-2 w-full",children:[(0,s.jsxs)(S.Button,{onClick:eU,disabled:O,className:"flex-1 justify-center gap-2 h-9",children:[O?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(r.Plus,{className:"size-4"}),"New Agent"]}),(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{variant:"outline",onClick:()=>{G||eV(),er(!0)},className:"h-9 px-2.5",children:(0,s.jsx)(v.ListChecks,{className:"size-4"})})}),(0,s.jsx)(L.TooltipContent,{side:"bottom",children:"New Task"})]})})]})]}),eQ&&(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 w-full",children:[(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",onClick:E,className:"size-8 mx-auto",children:(0,s.jsx)(h.PanelLeft,{className:"size-4"})})}),(0,s.jsxs)(L.TooltipContent,{side:"right",children:["Expand ",(0,s.jsx)("kbd",{className:"ml-1 text-[10px] opacity-60",children:"⌘B"})]})]})}),(0,s.jsxs)("div",{className:"relative overflow-hidden rounded-xl size-8 shadow-md ring-1 ring-white/10 mx-auto",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"SparkECoder",width:32,height:32,className:"absolute inset-0 size-full object-cover",priority:!0}),(0,s.jsx)("video",{ref:Z,src:"/sparkecode.mp4",muted:!0,loop:!0,playsInline:!0,className:(0,I.cn)("absolute inset-0 size-full object-cover transition-opacity duration-300",eE?"opacity-100":"opacity-0")})]}),(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",onClick:eU,disabled:O,className:"size-8 mx-auto",children:O?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(r.Plus,{className:"size-4"})})}),(0,s.jsx)(L.TooltipContent,{side:"right",children:"New Agent"})]})}),(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"outline",onClick:()=>{G||eV(),er(!0)},className:"size-8 mx-auto",children:(0,s.jsx)(v.ListChecks,{className:"size-4"})})}),(0,s.jsx)(L.TooltipContent,{side:"right",children:"New Task"})]})})]})]}),(0,s.jsx)(C.Dialog,{open:U,onOpenChange:e=>{W(e),e&&eH()},children:(0,s.jsxs)(C.DialogContent,{className:"sm:max-w-md",children:[(0,s.jsx)(C.DialogHeader,{children:(0,s.jsxs)(C.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-primary flex items-center justify-center",children:(0,s.jsx)(c.Settings,{className:"size-4 text-primary-foreground"})}),"New Agent"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{htmlFor:"name",className:"text-sm font-medium",children:"Session Name"}),(0,s.jsx)(T.Input,{id:"name",placeholder:"My Coding Project (optional)",value:_,onChange:e=>ee(e.target.value),className:"transition-all focus:ring-2 focus:ring-primary/20"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{className:"text-sm font-medium",children:"Model"}),(0,s.jsxs)(M.Select,{value:es,onValueChange:et,children:[(0,s.jsx)(M.SelectTrigger,{className:"transition-all hover:border-primary/50",children:(0,s.jsx)(M.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(M.SelectContent,{children:G?.availableModels.map(e=>(0,s.jsx)(M.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(z.Label,{className:"flex items-center gap-2 text-sm font-medium",children:"Tool Approvals"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Toggle on to require approval before tool executes"}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:G?.availableTools.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),e.dangerous&&(0,s.jsx)("span",{className:"text-[10px] bg-amber-500/20 text-amber-600 dark:text-amber-400 px-1.5 py-0.5 rounded font-medium",children:"risky"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:e.description})]}),(0,s.jsx)(w.Switch,{checked:ea[e.id]??!1,onCheckedChange:()=>eY(e.id)})]},e.id))})]}),(0,s.jsxs)(S.Button,{onClick:eW,disabled:O,className:"w-full",children:[O?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin mr-2"}):(0,s.jsx)(r.Plus,{className:"size-4 mr-2"}),"Create Session"]})]})]})}),(0,s.jsx)(C.Dialog,{open:el,onOpenChange:e=>{er(e),e&&eJ()},children:(0,s.jsxs)(C.DialogContent,{className:"sm:max-w-lg",children:[(0,s.jsx)(C.DialogHeader,{children:(0,s.jsxs)(C.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-blue-600 flex items-center justify-center",children:(0,s.jsx)(v.ListChecks,{className:"size-4 text-white"})}),"New Task"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{htmlFor:"task-prompt",className:"text-sm font-medium",children:"What should the agent do?"}),(0,s.jsx)(A.Textarea,{id:"task-prompt",placeholder:"e.g. Refactor the auth module to use JWT tokens...",value:en,onChange:e=>ed(e.target.value),rows:3,autoFocus:!0})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{className:"text-sm font-medium",children:"Expected output shape"}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground -mt-0.5",children:"Define the JSON structure the agent must return"}),(0,s.jsx)("div",{className:(0,I.cn)("rounded-md border bg-muted/30 overflow-hidden transition-colors",ex&&"border-red-500"),children:(0,s.jsx)(D.VisualJson,{value:ec,onChange:e=>{em(e),eh("")},children:(0,s.jsx)(D.TreeView,{className:"h-44 text-sm"})})}),ex&&(0,s.jsx)("p",{className:"text-xs text-red-500 mt-1",children:ex})]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{className:"text-xs text-muted-foreground",children:"Model"}),(0,s.jsxs)(M.Select,{value:ef,onValueChange:eN,children:[(0,s.jsx)(M.SelectTrigger,{className:"h-9",children:(0,s.jsx)(M.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(M.SelectContent,{children:G?.availableModels.map(e=>(0,s.jsx)(M.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{htmlFor:"task-name",className:"text-xs text-muted-foreground",children:"Name"}),(0,s.jsx)(T.Input,{id:"task-name",placeholder:"Optional",value:ej,onChange:e=>eg(e.target.value),className:"h-9"})]})]}),(0,s.jsxs)("details",{className:"group",children:[(0,s.jsxs)("summary",{className:"flex items-center gap-1.5 text-xs text-muted-foreground cursor-pointer select-none hover:text-foreground transition-colors",children:[(0,s.jsx)(b.ChevronDown,{className:"size-3 transition-transform group-open:rotate-180"}),"Advanced"]}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3 pt-3",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{htmlFor:"task-webhook",className:"text-xs text-muted-foreground",children:"Webhook URL"}),(0,s.jsx)(T.Input,{id:"task-webhook",placeholder:"https://...",value:eu,onChange:e=>ep(e.target.value),className:"h-9"})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{htmlFor:"task-iterations",className:"text-xs text-muted-foreground",children:"Max iterations"}),(0,s.jsx)(T.Input,{id:"task-iterations",type:"number",min:1,max:500,value:ev,onChange:e=>eb(e.target.value),className:"h-9"})]})]})]}),(0,s.jsx)(S.Button,{onClick:eG,disabled:ey||!en.trim(),className:"w-full",children:ey?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin mr-2"}),"Creating..."]}):"Start Task"})]})]})}),(0,s.jsx)(k.SidebarContent,{className:"px-2",children:(0,s.jsx)(k.SidebarGroup,{className:"p-0",children:(0,s.jsx)(k.SidebarGroupContent,{children:(0,s.jsx)(k.SidebarMenu,{className:"gap-1",children:K?(0,s.jsx)("div",{className:"flex justify-center py-8",children:(0,s.jsx)(o.Loader2,{className:"size-5 animate-spin text-muted-foreground"})}):0===V.length?!eQ&&(0,s.jsxs)("div",{className:"text-center py-8 px-4",children:[(0,s.jsxs)("div",{className:"relative overflow-hidden rounded-xl size-12 mx-auto mb-3 shadow-md ring-1 ring-white/10",children:[(0,s.jsx)(l.default,{src:"/sparke-coder.png",alt:"SparkECoder",width:48,height:48,className:"absolute inset-0 size-full object-cover"}),eE&&(0,s.jsx)("video",{src:"/sparkecode.mp4",autoPlay:!0,muted:!0,loop:!0,playsInline:!0,className:"absolute inset-0 size-full object-cover"})]}),(0,s.jsx)("p",{className:"text-sm text-foreground",children:"No sessions yet"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground mt-1",children:"Click New Agent above"})]}):V.map(e=>{let t,a,l,r,o=e.id===e$,c=Y===e.id,m=!0===e.isStreaming,x=!eQ&&(c||o);return(0,s.jsx)(k.SidebarMenuItem,{onMouseEnter:()=>Q(e.id),onMouseLeave:()=>Q(null),children:eQ?(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(i.default,{href:`${eq}/${e.id}`,className:(0,I.cn)("flex items-center justify-center size-8 rounded-lg transition-colors mx-auto",o?"bg-accent":"hover:bg-accent/60",m&&!o&&"bg-emerald-500/10"),children:m?(0,s.jsx)("span",{className:"size-2 rounded-full bg-emerald-500 animate-pulse"}):(0,s.jsx)(n.MessageSquare,{className:(0,I.cn)("size-4",o?"text-primary":"text-muted-foreground")})})}),(0,s.jsxs)(L.TooltipContent,{side:"right",children:[e.name||"Untitled",m&&" (Running)"]})]})}):(0,s.jsx)(k.SidebarMenuButton,{asChild:!0,isActive:o,className:(0,I.cn)("h-9 transition-all duration-150","hover:bg-accent/60",o&&"bg-accent",m&&!o&&"bg-emerald-500/5"),children:(0,s.jsxs)(i.default,{href:`${eq}/${e.id}`,className:"flex items-center gap-2.5 px-2",children:[m?(0,s.jsx)("span",{className:"size-2 rounded-full bg-emerald-500 animate-pulse shrink-0"}):(0,s.jsx)(n.MessageSquare,{className:(0,I.cn)("size-4 shrink-0",o?"text-primary":"text-muted-foreground")}),(0,s.jsx)("span",{className:(0,I.cn)("truncate flex-1 text-sm",m&&"text-emerald-600 dark:text-emerald-400"),children:e.name||"Untitled"}),e.config?.task?.enabled&&(0,s.jsxs)(y.Badge,{variant:"outline",className:(0,I.cn)("shrink-0 text-[10px] px-1.5 py-0 h-4 font-medium gap-1","completed"===e.config.task.status&&"border-emerald-500/30 bg-emerald-500/10 text-emerald-600 dark:text-emerald-400","failed"===e.config.task.status&&"border-red-500/30 bg-red-500/10 text-red-600 dark:text-red-400","running"===e.config.task.status&&"border-blue-500/30 bg-blue-500/10 text-blue-600 dark:text-blue-400"),children:[(0,s.jsx)(v.ListChecks,{className:"size-2.5"}),"Task"]}),x?(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"size-6 shrink-0 hover:bg-destructive/10 hover:text-destructive transition-colors",onClick:s=>eX(s,e.id),children:(0,s.jsx)(d.Trash2,{className:"size-3.5"})})}),(0,s.jsx)(L.TooltipContent,{side:"right",children:"Delete session"})]})}):m&&!e.config?.task?.enabled?(0,s.jsx)("span",{className:"inline-flex items-center gap-1 text-[10px] text-emerald-600 dark:text-emerald-400 shrink-0 font-medium",children:"Active"}):"waiting"===e.status?(0,s.jsx)("span",{className:"text-[10px] text-amber-600 dark:text-amber-400 shrink-0 font-medium",children:"Waiting"}):"error"===e.status?(0,s.jsx)("span",{className:"text-[10px] text-red-600 dark:text-red-400 shrink-0 font-medium",children:"Error"}):(0,s.jsx)("span",{className:"text-[11px] text-muted-foreground shrink-0 tabular-nums",children:(t=new Date(e.createdAt),r=Math.floor((l=Math.floor((a=Math.floor(Math.floor((new Date().getTime()-t.getTime())/1e3)/60))/60))/24),a<1?"now":a<60?`${a}m`:l<24?`${l}h`:r<7?`${r}d`:`${Math.floor(r/7)}w`)})]})})},e.id)})})})})}),(0,s.jsx)(k.SidebarFooter,{className:(0,I.cn)("border-t border-border/50",eQ?"p-2":"p-3"),children:(0,s.jsx)("div",{className:"flex items-center justify-between",children:eQ?(0,s.jsxs)("div",{className:"flex flex-col items-center gap-2 w-full",children:[(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)("div",{className:"flex items-center justify-center",children:(0,s.jsx)("span",{className:(0,I.cn)("size-2 rounded-full",G?.serverConnected?"bg-emerald-500 animate-pulse":"bg-red-500")})})}),(0,s.jsx)(L.TooltipContent,{side:"right",children:G?.serverConnected?"Connected":"Disconnected"})]})}),(0,s.jsx)(C.Dialog,{open:H,onOpenChange:J,children:(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(C.DialogTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"size-8",children:(0,s.jsx)(c.Settings,{className:"size-4"})})})}),(0,s.jsx)(L.TooltipContent,{side:"right",children:"Settings"})]})})})]}):(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"flex items-center gap-2 text-xs",children:[G?.serverConnected?(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-emerald-600 dark:text-emerald-400",children:[(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-current animate-pulse"}),(0,s.jsx)("span",{children:"Connected"})]}):(0,s.jsxs)("div",{className:"flex items-center gap-1.5 text-red-500",children:[(0,s.jsx)("span",{className:"size-1.5 rounded-full bg-current"}),(0,s.jsx)("span",{children:"Disconnected"})]}),(0,s.jsx)("span",{className:"text-muted-foreground",children:"·"}),(0,s.jsx)("span",{className:"text-muted-foreground",children:V.length})]}),(0,s.jsxs)(C.Dialog,{open:H,onOpenChange:J,children:[(0,s.jsx)(L.TooltipProvider,{children:(0,s.jsxs)(L.Tooltip,{children:[(0,s.jsx)(L.TooltipTrigger,{asChild:!0,children:(0,s.jsx)(C.DialogTrigger,{asChild:!0,children:(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"size-7 hover:bg-accent transition-colors",children:(0,s.jsx)(c.Settings,{className:"size-4"})})})}),(0,s.jsx)(L.TooltipContent,{side:"top",children:"Settings"})]})}),(0,s.jsxs)(C.DialogContent,{className:"sm:max-w-md",children:[(0,s.jsx)(C.DialogHeader,{children:(0,s.jsxs)(C.DialogTitle,{className:"flex items-center gap-2",children:[(0,s.jsx)("div",{className:"size-8 rounded-lg bg-muted flex items-center justify-center",children:(0,s.jsx)(c.Settings,{className:"size-4"})}),"Settings"]})}),(0,s.jsxs)("div",{className:"space-y-4 pt-2",children:[(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsx)(z.Label,{className:"text-sm font-medium",children:"Default Model"}),(0,s.jsxs)(M.Select,{value:es,onValueChange:et,children:[(0,s.jsx)(M.SelectTrigger,{className:"transition-all hover:border-primary/50",children:(0,s.jsx)(M.SelectValue,{placeholder:"Select a model"})}),(0,s.jsx)(M.SelectContent,{children:G?.availableModels.map(e=>(0,s.jsx)(M.SelectItem,{value:e.id,children:(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{children:e.name}),(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:e.provider})]})},e.id))})]})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsx)(z.Label,{className:"flex items-center gap-2 text-sm font-medium",children:"Tool Approvals"}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Toggle on to require approval before tool executes"}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:G?.availableTools.map(e=>(0,s.jsxs)("div",{className:"flex items-center justify-between py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:e.name}),e.dangerous&&(0,s.jsx)("span",{className:"text-[10px] bg-amber-500/20 text-amber-600 dark:text-amber-400 px-1.5 py-0.5 rounded font-medium",children:"risky"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:e.description})]}),(0,s.jsx)(w.Switch,{checked:ea[e.id]??!1,onCheckedChange:()=>eY(e.id)})]},e.id))})]}),(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)(z.Label,{className:"flex items-center gap-2 text-sm font-medium",children:[(0,s.jsx)(u.Key,{className:"size-4"}),"API Keys"]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground -mt-0.5",children:"Configure API keys for different providers. Keys are stored securely on your machine."}),(0,s.jsx)("div",{className:"space-y-1 rounded-lg border p-2.5 bg-muted/30",children:eS.map(e=>(0,s.jsx)("div",{className:"py-1.5 hover:bg-muted/50 rounded px-2 -mx-1 transition-colors",children:eT===e.provider?(0,s.jsxs)("div",{className:"space-y-2",children:[(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm font-medium capitalize",children:e.provider}),(0,s.jsx)("span",{className:"text-[10px] text-muted-foreground font-mono",children:e.envVar})]}),(0,s.jsxs)("div",{className:"flex gap-2",children:[(0,s.jsxs)("div",{className:"relative flex-1",children:[(0,s.jsx)(T.Input,{type:eL?"text":"password",value:ew,onChange:e=>eM(e.target.value),placeholder:"Paste your API key...",className:"pr-8 text-sm font-mono",autoFocus:!0}),(0,s.jsx)(S.Button,{type:"button",variant:"ghost",size:"icon",className:"absolute right-0 top-0 h-full px-2 hover:bg-transparent",onClick:()=>eP(!eL),children:eL?(0,s.jsx)(f,{className:"size-4"}):(0,s.jsx)(g.default,{className:"size-4"})})]}),(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"shrink-0",onClick:()=>eO(e.provider),disabled:eA||!ew.trim(),children:eA?(0,s.jsx)(o.Loader2,{className:"size-4 animate-spin"}):(0,s.jsx)(p.Check,{className:"size-4 text-green-500"})}),(0,s.jsx)(S.Button,{size:"icon",variant:"ghost",className:"shrink-0",onClick:eR,children:(0,s.jsx)(j.X,{className:"size-4 text-muted-foreground"})})]})]}):(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsxs)("div",{className:"flex items-center gap-2",children:[(0,s.jsx)("span",{className:"text-sm font-medium capitalize",children:e.provider}),e.configured&&(0,s.jsx)("span",{className:(0,I.cn)("text-[10px] px-1.5 py-0.5 rounded font-medium","env"===e.source?"bg-blue-500/20 text-blue-600 dark:text-blue-400":"bg-green-500/20 text-green-600 dark:text-green-400"),children:"env"===e.source?"from env":"saved"})]}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground font-mono",children:e.configured?e.maskedKey:"Not configured"})]}),(0,s.jsx)(S.Button,{size:"sm",variant:"ghost",className:"h-7 text-xs",onClick:()=>ez(e.provider),children:e.configured?"Update":"Add"})]})},e.provider))})]}),(0,s.jsxs)("div",{className:"space-y-1.5",children:[(0,s.jsxs)(z.Label,{className:"flex items-center gap-2 text-sm font-medium",children:[(0,s.jsx)(N,{className:"size-4"}),"Notification Sound"]}),(0,s.jsxs)("div",{className:"flex items-center justify-between rounded-lg border p-2.5 bg-muted/30",children:[(0,s.jsxs)("div",{className:"space-y-0",children:[(0,s.jsx)("span",{className:"text-sm font-medium",children:"Play sound when done"}),(0,s.jsx)("p",{className:"text-[11px] text-muted-foreground",children:"Ding when the assistant finishes responding"})]}),(0,s.jsx)(w.Switch,{checked:eB,onCheckedChange:eI})]})]}),(0,s.jsx)("p",{className:"text-xs text-muted-foreground",children:"These settings apply to new sessions. You can also change the model per-session in the chat header."})]})]})]})]})})})]})}e.s(["SessionsSidebar",()=>q],421722)}]);
|