research-agent-ui 0.1.196 → 0.1.197

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/index.cjs CHANGED
@@ -1 +1 @@
1
- "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./config.cjs"),t=require("./src-o009Easo.cjs");exports.ARTICLE_TOOLBAR_SHORTCUTS=t.S,exports.ArticleAIResponse=t.y,exports.ArticleActionButtons=t.C,exports.ArticleContent=t._,exports.ArticleFollowupQuestions=t.b,exports.ArticlePanelHeader=t.T,exports.ArticlePromptInput=t.x,exports.CategoryDock=t.o,exports.ChatInputBox=t.E,exports.ChatProvider=t.D,exports.ChatWindow=t.f,exports.CookieConsent=t.a,exports.ExtractPanelProvider=t.N,exports.HistoryDialogs=t.m,exports.HistoryDropdown=t.p,exports.KokoroVoiceSelector=t.u,exports.LexicalArticleViewer=t.v,exports.MainViewProvider=t.s,exports.QwkSearchApp=t.n,exports.QwkSearchProviders=t.r,exports.SessionProvider=t.O,exports.UnifiedMarkdown=t.g,exports.VoiceSettingsPanel=t.l,exports.cn=t.F,exports.configureResearchAgentUI=e.configureResearchAgentUI,exports.formatMessageTime=t.I,exports.formatTimeDifference=t.L,exports.formatToolbarShortcut=t.w,exports.researchAgentUIConfig=e.researchAgentUIConfig,exports.useChat=t.A,exports.useChatState=t.j,exports.useChatTabs=t.t,exports.useChunkErrorReload=t.i,exports.useExtractPanel=t.P,exports.useHistoryState=t.h,exports.useKokoroTTS=t.d,exports.useMainView=t.c,exports.useSession=t.k,exports.useTextToSpeech=t.M;
1
+ "use client";"use client";Object.defineProperty(exports,Symbol.toStringTag,{value:`Module`});const e=require("./config.cjs"),t=require("./src-DLcDVXya.cjs");exports.ARTICLE_TOOLBAR_SHORTCUTS=t.S,exports.ArticleAIResponse=t.y,exports.ArticleActionButtons=t.C,exports.ArticleContent=t._,exports.ArticleFollowupQuestions=t.b,exports.ArticlePanelHeader=t.T,exports.ArticlePromptInput=t.x,exports.CategoryDock=t.o,exports.ChatInputBox=t.E,exports.ChatProvider=t.D,exports.ChatWindow=t.f,exports.CookieConsent=t.a,exports.ExtractPanelProvider=t.N,exports.HistoryDialogs=t.m,exports.HistoryDropdown=t.p,exports.KokoroVoiceSelector=t.u,exports.LexicalArticleViewer=t.v,exports.MainViewProvider=t.s,exports.QwkSearchApp=t.n,exports.QwkSearchProviders=t.r,exports.SessionProvider=t.O,exports.UnifiedMarkdown=t.g,exports.VoiceSettingsPanel=t.l,exports.cn=t.F,exports.configureResearchAgentUI=e.configureResearchAgentUI,exports.formatMessageTime=t.I,exports.formatTimeDifference=t.L,exports.formatToolbarShortcut=t.w,exports.researchAgentUIConfig=e.researchAgentUIConfig,exports.useChat=t.A,exports.useChatState=t.j,exports.useChatTabs=t.t,exports.useChunkErrorReload=t.i,exports.useExtractPanel=t.P,exports.useHistoryState=t.h,exports.useKokoroTTS=t.d,exports.useMainView=t.c,exports.useSession=t.k,exports.useTextToSpeech=t.M;
package/dist/index.mjs CHANGED
@@ -1,5 +1,5 @@
1
1
  "use client";
2
2
  "use client";
3
3
  import { configureResearchAgentUI as e, researchAgentUIConfig as t } from "./config.mjs";
4
- import { A as n, C as r, D as i, E as a, F as o, I as s, L as c, M as l, N as u, O as d, P as f, S as p, T as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as E, m as D, n as O, o as k, p as A, r as j, s as M, t as N, u as P, v as F, w as I, x as L, y as R } from "./src-DW0_Dglb.js";
4
+ import { A as n, C as r, D as i, E as a, F as o, I as s, L as c, M as l, N as u, O as d, P as f, S as p, T as m, _ as h, a as g, b as _, c as v, d as y, f as b, g as x, h as S, i as C, j as w, k as T, l as E, m as D, n as O, o as k, p as A, r as j, s as M, t as N, u as P, v as F, w as I, x as L, y as R } from "./src-Dw-I2aQq.js";
5
5
  export { p as ARTICLE_TOOLBAR_SHORTCUTS, R as ArticleAIResponse, r as ArticleActionButtons, h as ArticleContent, _ as ArticleFollowupQuestions, m as ArticlePanelHeader, L as ArticlePromptInput, k as CategoryDock, a as ChatInputBox, i as ChatProvider, b as ChatWindow, g as CookieConsent, u as ExtractPanelProvider, D as HistoryDialogs, A as HistoryDropdown, P as KokoroVoiceSelector, F as LexicalArticleViewer, M as MainViewProvider, O as QwkSearchApp, j as QwkSearchProviders, d as SessionProvider, x as UnifiedMarkdown, E as VoiceSettingsPanel, o as cn, e as configureResearchAgentUI, s as formatMessageTime, c as formatTimeDifference, I as formatToolbarShortcut, t as researchAgentUIConfig, n as useChat, w as useChatState, N as useChatTabs, C as useChunkErrorReload, f as useExtractPanel, S as useHistoryState, y as useKokoroTTS, v as useMainView, T as useSession, l as useTextToSpeech };
@@ -48,4 +48,4 @@ OPENAI_API_KEY=sk-your_key_here
48
48
  OPENAI_BASE_URL=https://api.openai.com/v1
49
49
 
50
50
  # Or Anthropic
51
- ANTHROPIC_API_KEY=sk-ant-your_key_here`})]}),(0,d.jsxs)(`div`,{className:`bg-black/5 dark:bg-white/5 rounded p-4`,children:[(0,d.jsx)(`p`,{className:`font-medium text-black dark:text-white mb-2`,children:`3. Restart the server`}),(0,d.jsx)(`code`,{className:`block bg-black/10 dark:bg-white/10 rounded p-2 text-xs`,children:`Ctrl+C, then: npm run dev`})]})]}),(0,d.jsxs)(`div`,{className:`pt-4 border-t border-black/10 dark:border-white/10`,children:[(0,d.jsx)(`h3`,{className:`font-medium text-black dark:text-white mb-2`,children:`Get API Keys:`}),(0,d.jsxs)(`ul`,{className:`space-y-2 text-sm text-black/70 dark:text-white/70`,children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Groq`}),` (FREE): `,(0,d.jsx)(`a`,{href:`https://console.groq.com/keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`console.groq.com/keys`})]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`OpenAI`}),`: `,(0,d.jsx)(`a`,{href:`https://platform.openai.com/api-keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`platform.openai.com/api-keys`})]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Anthropic`}),`: `,(0,d.jsx)(`a`,{href:`https://console.anthropic.com/settings/keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`console.anthropic.com`})]})]})]})]}),(0,d.jsxs)(`div`,{className:`text-xs text-black/50 dark:text-white/50 pt-4 border-t border-black/10 dark:border-white/10`,children:[`See `,(0,d.jsx)(`code`,{children:`SETUP_INSTRUCTIONS.md`}),` in the project root for full details.`]})]})})}var Kr=()=>{let e=(0,r.useRouter)(),{hasError:t,isReady:i,notFound:a,messages:o}=G(),{isAuthenticated:s}=nt();return(0,n.useEffect)(()=>{i&&a&&!s&&e.replace(`/`)},[i,a,s,e]),t?(0,d.jsx)(Gr,{}):i&&a&&!s?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(Wr,{})}):i?a?(0,d.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center justify-center gap-3 px-4 text-center`,children:[(0,d.jsx)(`p`,{className:`text-sm text-black/70 dark:text-white/70`,children:`This chat could not be found.`}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>e.push(`/`),className:`rounded-md border border-black/15 px-3 py-1.5 text-sm hover:bg-black/5 dark:border-white/20 dark:hover:bg-white/10`,children:`Go Home`})]}):(0,d.jsx)(`div`,{children:o.length>0?(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(vr,{})}):(0,d.jsx)(Ur,{})}):(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(Wr,{})})};function qr(e,t){let[r,i]=(0,n.useState)(`idle`),[a,o]=(0,n.useState)(!1),[s,c]=(0,n.useState)([]),[l,u]=(0,n.useState)(`af_heart`),[d,f]=(0,n.useState)(null),p=(0,n.useRef)(null),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{t?.autoPreload&&!a&&g()},[t?.autoPreload,a]),(0,n.useEffect)(()=>{let e=localStorage.getItem(`kokoroVoice`);e&&u(e)},[]),(0,n.useEffect)(()=>()=>{p.current&&p.current.pause(),m.current?.abort()},[]);let h=(0,n.useCallback)(()=>{p.current&&=(p.current.pause(),p.current.src.startsWith(`blob:`)&&URL.revokeObjectURL(p.current.src),null),m.current?.abort(),m.current=null},[]),g=(0,n.useCallback)(async()=>{try{i(`loading`),f(null),await Oe();let e=await Ae();c(e),e.length&&!e.includes(l)&&u(e[0]),o(!0),i(`idle`)}catch(e){let t=e instanceof Error?e.message:`Failed to load model`;f(t),i(`error`),console.error(`Failed to load Kokoro model:`,e)}},[l]);return{status:r,modelReady:a,voices:s,selectedVoice:l,error:d,warmupModel:g,speak:(0,n.useCallback)(async()=>{if(e?.trim()){if(!a){f(`Model not loaded. Click "Preload Model" first.`);return}try{h(),i(`generating`),f(null);let t=new AbortController;m.current=t;let n=(await(await ke()).generate(e.slice(0,5e3),{voice:l})).toWav(),r=new Blob([n],{type:`audio/wav`}),a=URL.createObjectURL(r),o=new Audio(a);p.current=o,o.onended=()=>{i(`idle`),URL.revokeObjectURL(a),p.current=null},o.onerror=()=>{i(`error`),f(`Failed to play audio`),URL.revokeObjectURL(a),p.current=null},i(`playing`),await o.play()}catch(e){if(e?.name!==`AbortError`){let t=e instanceof Error?e.message:`Speech generation failed`;f(t),i(`error`),console.error(`Kokoro TTS error:`,e)}}}},[e,l,a,h]),stop:(0,n.useCallback)(()=>{h(),i(`idle`),f(null)},[h]),changeVoice:(0,n.useCallback)(e=>{u(e),localStorage.setItem(`kokoroVoice`,e)},[]),backend:je()}}var Jr={af_heart:`American Female - Heart`,af_bella:`American Female - Bella`,af_nicole:`American Female - Nicole`,af_sarah:`American Female - Sarah`,am_adam:`American Male - Adam`,am_michael:`American Male - Michael`,am_tony:`American Male - Tony`,bf_emma:`British Female - Emma`,bm_george:`British Male - George`,bm_thomas:`British Male - Thomas`};function Yr({preloadOnMount:e=!1}){let{status:t,modelReady:r,voices:i,selectedVoice:a,error:o,warmupModel:c,changeVoice:l,backend:u}=qr(``,{autoPreload:e}),[f,p]=(0,n.useState)(!1),m=t===`loading`,h=t===`error`;return(0,d.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:c,disabled:m||r,className:F(`p-2 rounded-full transition duration-200`,r?`bg-green-500/10 text-green-600 dark:text-green-400`:`bg-white/10 dark:bg-black/10 text-muted-foreground hover:bg-white/20 dark:hover:bg-black/20`,m&&`opacity-70 cursor-not-allowed`),children:m?(0,d.jsx)(s.Loader2,{size:18,className:`animate-spin`}):(0,d.jsx)(s.Download,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:m?`Loading Kokoro model...`:r?`Model ready`:`Preload Kokoro.js model`})]}),r&&u&&(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[u,` • `,i.length,` voices`]}),h&&(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(s.AlertCircle,{size:18,className:`text-red-500`})}),(0,d.jsx)(J,{side:`bottom`,className:`max-w-xs`,children:o})]})]}),r&&(0,d.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,d.jsx)(`button`,{onClick:()=>p(!f),className:`w-full text-left px-3 py-2 rounded-md bg-white/5 dark:bg-black/5 hover:bg-white/10 dark:hover:bg-black/10 transition text-sm font-medium`,children:(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(s.Volume2,{size:16}),Jr[a]||a]})}),f&&(0,d.jsx)(`div`,{className:`grid grid-cols-2 gap-2 p-2 bg-white/5 dark:bg-black/5 rounded-md max-h-64 overflow-y-auto`,children:i.map(e=>(0,d.jsx)(`button`,{onClick:()=>{l(e),p(!1)},className:F(`p-2 text-left text-sm rounded transition duration-200`,a===e?`bg-blue-500/20 text-blue-600 dark:text-blue-400 font-medium`:`bg-white/5 dark:bg-black/5 text-foreground hover:bg-white/10 dark:hover:bg-black/10`),children:Jr[e]||e},e))})]})]})}function Xr(){let[e,t]=(0,n.useState)(!1),[r,i]=(0,n.useState)(()=>localStorage.getItem(`useTTSKokoro`)!==`false`),[a,o]=(0,n.useState)(()=>localStorage.getItem(`ttsSpeaker`)||`angus`),[c,l]=(0,n.useState)(()=>pn()),{start:u,speechStatus:f}=Me(`This is a preview of the selected voice.`,{enableInterrupt:!1}),p=e=>{i(e),localStorage.setItem(`useTTSKokoro`,String(e))},m=e=>{o(e),localStorage.setItem(`ttsSpeaker`,e)},h=e=>{l(e),mn(e)};return(0,d.jsxs)(`div`,{className:`space-y-4`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(s.Settings2,{size:18}),(0,d.jsx)(`h3`,{className:`font-semibold`,children:`Voice Settings`})]}),(0,d.jsx)(`button`,{onClick:()=>t(!e),className:`text-xs px-3 py-1 rounded-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition`,children:e?`Collapse`:`Expand`})]}),e&&(0,d.jsxs)(`div`,{className:`space-y-4 p-4 rounded-lg bg-white/5 dark:bg-black/5 border border-white/10 dark:border-black/10`,children:[(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:r,onChange:e=>p(e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Use Kokoro.js (Local TTS)`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Runs locally in your browser. No server requests, lower latency, and multiple voice options.`})]})]}),r&&(0,d.jsx)(Yr,{preloadOnMount:!1})]}),(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:!r,onChange:e=>p(!e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Use Cloudflare TTS (Fallback)`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Uses Cloudflare Workers AI. Slightly higher latency but can be a fallback.`})]})]}),!r&&(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`select`,{value:a,onChange:e=>m(e.target.value),className:`w-full px-3 py-2 rounded-md bg-white/10 dark:bg-black/10 border border-white/20 dark:border-black/20 text-sm`,children:[(0,d.jsx)(`option`,{value:`angus`,children:`Angus`}),(0,d.jsx)(`option`,{value:`flora`,children:`Flora`}),(0,d.jsx)(`option`,{value:`james`,children:`James`}),(0,d.jsx)(`option`,{value:`natalie`,children:`Natalie`})]}),(0,d.jsxs)(`button`,{onClick:()=>u(),disabled:f===`started`,className:F(`w-full flex items-center justify-center gap-2 px-3 py-2 rounded-md text-sm font-medium transition`,f===`started`?`bg-gray-500/20 text-gray-600 dark:text-gray-400 cursor-not-allowed`:`bg-blue-500/20 text-blue-600 dark:text-blue-400 hover:bg-blue-500/30`),children:[(0,d.jsx)(s.Volume2,{size:16}),f===`started`?`Playing...`:`Preview`]})]})]}),(0,d.jsx)(`div`,{className:`space-y-2 pt-2 border-t border-white/10 dark:border-black/10`,children:(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>h(e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Start talking automatically on first visit`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Opens the mic the first time you load the chat composer in this browser, so you can start talking right away instead of clicking the mic button.`})]})]})}),(0,d.jsx)(`div`,{className:`text-xs text-muted-foreground pt-2 border-t border-white/10 dark:border-black/10`,children:(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`strong`,{children:`Tip:`}),` Kokoro.js loads once and runs locally. The first model load may take a few seconds, but subsequent TTS generation is very fast.`]})})]})]})}function Zr(e,t){if(!e.startsWith(`/`)||e.includes(`#`)||e.includes(`?`))return!1;let n=e.replace(/\/+$/,``)||`/`,r=t.replace(/\/+$/,``)||`/`;return n===`/`?r===`/`:r===n||r.startsWith(`${n}/`)}function Qr(e,t){return t?e.filter(e=>!Zr(e.url,t)):e}var $r=(0,n.createContext)(null),ei=`qwksearch-main-view`;function ti({children:e,docsEnabled:t=!0}){let[r,i]=(0,n.useState)(`research`),[a,o]=(0,n.useState)(0),s=(0,n.useCallback)(e=>i(t?e:`research`),[t]);(0,n.useEffect)(()=>{if(typeof window>`u`||!t)return;let e=window.localStorage.getItem(ei);(e===`research`||e===`docs`)&&i(e)},[t]),(0,n.useEffect)(()=>{typeof window<`u`&&t&&window.localStorage.setItem(ei,r)},[r,t]);let c=(0,n.useMemo)(()=>({activeView:r,setActiveView:s,docsEnabled:t,toggleToDocs:()=>s(`docs`),toggleToResearch:()=>s(`research`),filesSidebarRequestId:a,requestFilesSidebar:()=>o(e=>e+1)}),[r,s,t,a]);return(0,d.jsx)($r.Provider,{value:c,children:e})}function ni(){let e=(0,n.useContext)($r);if(!e)throw Error(`useMainView must be used within a MainViewProvider`);return e}var ri=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23FE5022;'%20d='M438.802,390.609V278.595h55.174c9.938,0,18.023,8.085,18.023,18.023v75.967%20c0,9.938-8.086,18.024-18.023,18.024L438.802,390.609L438.802,390.609z'/%3e%3cpath%20style='fill:%23ECE5DD;'%20d='M28.107,511.637C12.609,511.637,0,499.027,0,483.529V134.326c0-1.441,0-12.123,0-12.123%20L121.715,0.363c0,0,10.8,0,12.248,0h271.569c15.498,0,28.107,12.609,28.107,28.106v455.059c0,15.499-12.609,28.108-28.107,28.108%20H28.107V511.637z'/%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M405.533,0.363h-31.991c15.498,0,28.107,12.609,28.107,28.107v455.059%20c0,15.499-12.609,28.108-28.107,28.108h31.991c15.498,0,28.107-12.609,28.107-28.108V28.469%20C433.64,12.972,421.031,0.363,405.533,0.363z'/%3e%3cg%3e%3cpath%20style='fill:%23BABABA;'%20d='M167.639,132.2h133.086c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318H167.639%20c-4.594,0-8.318,3.723-8.318,8.318C159.321,128.477,163.045,132.2,167.639,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M356.178,132.2h22.181c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318h-22.181%20c-4.594,0-8.318,3.723-8.318,8.318C347.86,128.477,351.584,132.2,356.178,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M242.5,212.606c0-4.595-3.724-8.318-8.318-8.318H56.734c-4.594,0-8.318,3.723-8.318,8.318%20s3.724,8.318,8.318,8.318h177.449C238.776,220.924,242.5,217.201,242.5,212.606z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M378.359,204.288h-99.815c-4.594,0-8.318,3.723-8.318,8.318s3.724,8.318,8.318,8.318h99.815%20c4.594,0,8.318-3.723,8.318-8.318S382.953,204.288,378.359,204.288z'/%3e%3c/g%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M0.726,123.171L122.442,1.331l1.39,105.939c0,9.465-7.7,17.166-17.166,17.166L0.726,123.171z'/%3e%3cpath%20style='fill:%23FFB656;'%20d='M270.226,401.7V267.504H456.87c5.938,0,10.768,4.83,10.768,10.768v112.659%20c0,5.938-4.83,10.769-10.768,10.769H270.226z'/%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M367.785,335.156c-12.822,0-23.252-10.431-23.252-23.254v-44.399h89.833v44.399%20c0,12.823-10.431,23.254-23.252,23.254H367.785z'/%3e%3cg%3e%3cpath%20style='fill:%23BABABA;'%20d='M167.639,132.2h133.086c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318H167.639%20c-4.594,0-8.318,3.723-8.318,8.318C159.321,128.477,163.045,132.2,167.639,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M356.178,132.2h22.181c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318h-22.181%20c-4.594,0-8.318,3.723-8.318,8.318C347.86,128.477,351.584,132.2,356.178,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M242.5,212.606c0-4.595-3.724-8.318-8.318-8.318H56.734c-4.594,0-8.318,3.723-8.318,8.318%20s3.724,8.318,8.318,8.318h177.449C238.776,220.924,242.5,217.201,242.5,212.606z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M378.359,204.288h-99.815c-4.594,0-8.318,3.723-8.318,8.318s3.724,8.318,8.318,8.318h99.815%20c4.594,0,8.318-3.723,8.318-8.318S382.953,204.288,378.359,204.288z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M345.087,448.28H101.096c-4.594,0-8.318,3.723-8.318,8.318c0,4.595,3.724,8.318,8.318,8.318h243.992%20c4.594,0,8.318-3.723,8.318-8.318C353.405,452.003,349.681,448.28,345.087,448.28z'/%3e%3c/g%3e%3cpath%20style='fill:%23FE5022;'%20d='M163.689,357.337c-3.692,0-6.094-3.886-4.443-7.189l16.225-32.451%20c1.799-3.597,5.416-5.833,9.438-5.833h44.282v45.471h-65.503V357.337z'/%3e%3cpolygon%20style='fill:%23FFB656;'%20points='256.918,278.252%20211.447,300.988%20211.447,368.216%20256.918,390.953%20284.321,390.953%20284.321,278.214%20'/%3e%3cg%3e%3cpath%20style='fill:%23FE5022;'%20d='M268.64,401.7c-7.075,0-12.832-5.756-12.832-12.832V280.336c0-7.075,5.756-12.831,12.832-12.831%20h19.808c7.075,0,12.832,5.756,12.832,12.831v108.532c0,7.076-5.756,12.832-12.832,12.832H268.64z'/%3e%3cpath%20style='fill:%23FE5022;'%20d='M104.156,379.377H26.143V301.33h91.398c8.546,0,14.88,7.936,12.986,16.27l-11.313,49.758%20C117.615,374.388,111.366,379.377,104.156,379.377z'/%3e%3c/g%3e%3c/svg%3e`,ii=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2064%2064'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%2376C2AF;}%20.st1{fill:%234F5D73;}%20.st2{opacity:0.2;}%20.st3{fill:%23231F20;}%20.st4{fill:%23FFFFFF;}%20%3c/style%3e%3cg%20id='Layer_1'%3e%3cg%3e%3ccircle%20class='st0'%20cx='32'%20cy='32'%20r='32'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M32,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C34,51.1,33.1,52,32,52L32,52z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M46,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C48,51.1,47.1,52,46,52L46,52z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M18,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C20,51.1,19.1,52,18,52L18,52z'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='45.9'%20cy='38'%20r='4'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='32'%20cy='27'%20r='4'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='18'%20cy='44'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='45.9'%20cy='36'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='32'%20cy='25'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='18'%20cy='42'%20r='4'/%3e%3c/g%3e%3c/g%3e%3cg%20id='Layer_2'%3e%3c/g%3e%3c/svg%3e`;function ai(){let e=(0,r.usePathname)(),n=(0,r.useRouter)(),{isAuthenticated:i,signIn:a,signOut:o}=nt(),{newChat:c}=G(),{activeView:l,setActiveView:u,docsEnabled:f,requestFilesSidebar:p}=ni(),m=[{href:`/`,label:`Research`,icon:t.researchAgentUIConfig.appIconUrl},...f?[{href:`/workspace`,label:`Docs`,icon:(0,d.jsx)(P.default,{src:ri,alt:`Docs`,width:24,height:24,unoptimized:!0,className:`w-full h-full`})}]:[]],h=e===`/`||e.startsWith(`/c`),g=Qr(t.researchAgentUIConfig.footerLinks,e),_=[...m.map(({href:e,label:t,icon:n})=>({key:e,label:t,icon:n,active:e===`/`?l===`research`:l===`docs`,onClick:()=>{if(e===`/`){u(`research`),h&&c();return}u(`docs`)}})),...f?[{key:`files`,label:`Files`,icon:(0,d.jsx)(s.FileText,{className:`w-full h-full p-1`}),onClick:()=>{u(`docs`),p()}}]:[],{key:`settings`,label:`Settings`,icon:(0,d.jsx)(P.default,{src:ii,alt:`Settings`,width:24,height:24,unoptimized:!0,className:`w-full h-full`}),menu:{renderContent:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>{t.researchAgentUIConfig.onOpenSettings?.()||n.push(`/settings`)},className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.Settings,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),(0,d.jsxs)(N.DropdownMenuSub,{children:[(0,d.jsxs)(N.DropdownMenuSubTrigger,{className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.Link2,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Site Links`})]}),(0,d.jsx)(N.DropdownMenuSubContent,{children:g.map(({url:e,text:t,icon:n})=>{let r=n?s[n]:null,i=e.startsWith(`http`);return(0,d.jsx)(N.DropdownMenuItem,{asChild:!0,className:`cursor-pointer py-1 h-7`,children:i?(0,d.jsxs)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,children:[r&&(0,d.jsx)(r,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:t})]}):(0,d.jsxs)(D.default,{href:e,children:[r&&(0,d.jsx)(r,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:t})]})},e)})})]}),i?(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>o(),className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.LogOut,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Logout`})]}):(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>a(),className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.LogIn,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Login`})]}),(0,d.jsx)(N.DropdownMenuSeparator,{}),(0,d.jsx)(N.ThemeMenu,{})]})}}],v=_.filter(e=>e.key!==`files`),y=(e,t,n)=>(0,d.jsx)(P.default,{src:e,alt:t,width:n,height:n,unoptimized:!0,className:`w-full h-full`});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N.CategoryDock,{items:v,enableKeyboardShortcuts:!0,placements:{desktop:!0,mobile:!1},renderImage:y}),(0,d.jsx)(N.CategoryDock,{items:_,placements:{desktop:!1,mobile:!0},mobileAlign:l===`docs`?`end`:`center`,renderImage:y})]})}function oi(){let[e,r]=(0,n.useState)(!1),i=(0,n.useRef)(null);return(0,n.useEffect)(()=>{localStorage.getItem(`cookie-consent`)||r(!0)},[]),(0,n.useEffect)(()=>{let t=document.documentElement,n=i.current;if(!e||!n){t.style.removeProperty(`--qs-bottom-right-inset`);return}let r=()=>t.style.setProperty(`--qs-bottom-right-inset`,`${Math.ceil(n.getBoundingClientRect().height)+16}px`);r();let a=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return a?.observe(n),()=>{a?.disconnect(),t.style.removeProperty(`--qs-bottom-right-inset`)}},[e]),e?(0,d.jsx)(`div`,{className:`fixed bottom-0 right-0 m-4 max-w-sm z-50`,children:(0,d.jsxs)(`div`,{ref:i,className:`bg-light-secondary dark:bg-dark-secondary rounded-lg shadow-lg border border-light-tertiary dark:border-dark-tertiary p-4 space-y-3`,children:[(0,d.jsxs)(`div`,{className:`flex justify-between items-start gap-3`,children:[(0,d.jsxs)(`div`,{className:`flex-1`,children:[(0,d.jsx)(`h3`,{className:`font-semibold text-sm text-black dark:text-white mb-2`,children:`Cookies & Privacy`}),(0,d.jsxs)(`p`,{className:`text-xs text-black/70 dark:text-white/70 mb-3`,children:[t.researchAgentUIConfig.appName,` uses cookies to enhance your research experience, analyze usage patterns, and improve our service. We respect your privacy and only use essential cookies by default.`]}),(0,d.jsx)(`div`,{className:`flex flex-wrap gap-2 text-xs mb-3`,children:t.researchAgentUIConfig.footerLinks.map(e=>(0,d.jsx)(`a`,{href:e.url,target:e.url.startsWith(`/`)?void 0:`_blank`,rel:e.url.startsWith(`/`)?void 0:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:e.text},e.url))})]}),(0,d.jsx)(`button`,{onClick:()=>{r(!1)},className:`text-black/50 dark:text-white/50 hover:text-black dark:hover:text-white transition-colors`,"aria-label":`Close`,children:(0,d.jsx)(s.X,{className:`w-4 h-4`})})]}),(0,d.jsxs)(`div`,{className:`flex gap-2`,children:[(0,d.jsx)(Q,{onClick:()=>{localStorage.setItem(`cookie-consent`,JSON.stringify({analytics:!0,marketing:!0,functional:!0,timestamp:new Date().toISOString()})),r(!1)},size:`sm`,className:`flex-1 bg-blue-600 hover:bg-blue-700 text-white`,children:`Accept All`}),(0,d.jsx)(Q,{onClick:()=>{localStorage.setItem(`cookie-consent`,JSON.stringify({analytics:!1,marketing:!1,functional:!0,timestamp:new Date().toISOString()})),r(!1)},size:`sm`,variant:`outline`,className:`flex-1 bg-light-tertiary dark:bg-dark-tertiary text-black dark:text-white border-0 hover:bg-light-tertiary/80 dark:hover:bg-dark-tertiary/80`,children:`Reject`})]})]})}):null}var si=`qwk:chunk-error-reload`,ci=e=>typeof e==`string`&&/Loading (chunk|CSS chunk)|ChunkLoadError/i.test(e);function li(){(0,n.useEffect)(()=>{let e=e=>{ci(e)&&(sessionStorage.getItem(si)||(sessionStorage.setItem(si,`1`),window.location.reload()))},t=t=>e(t.message),n=t=>e(t.reason?.message??t.reason);return window.addEventListener(`error`,t),window.addEventListener(`unhandledrejection`,n),()=>{window.removeEventListener(`error`,t),window.removeEventListener(`unhandledrejection`,n)}},[])}var ui=({children:e})=>(0,d.jsx)(d.Fragment,{children:e});function di(e){let[t,r]=(0,n.useState)(e===!0);return(0,n.useEffect)(()=>{if(e!==`auto`){r(e);return}let t=!1;return(0,p.default)(`auth/providers`).then(e=>{t||r(!!e.providers?.includes(`google`))}).catch(()=>{t||r(!1)}),()=>{t=!0}},[e]),t}function fi({children:e,authClient:n,config:r,googleOneTap:i=`auto`,docsEnabled:a=!0,ChromeProvider:o=ui,showDock:s=!0,showCookieConsent:c=!0,showToaster:l=!0}){r&&t.configureResearchAgentUI(r);let u=di(i);return li(),(0,d.jsx)(M.ThemeProvider,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(tt,{authClient:n,enableGoogleOneTap:u,children:(0,d.jsx)(ee,{children:(0,d.jsxs)(rt,{children:[(0,d.jsx)(N.CategoryDockProvider,{children:(0,d.jsx)(o,{children:(0,d.jsx)(ti,{docsEnabled:a,children:(0,d.jsxs)(`div`,{id:`app-scroll-root`,className:`w-screen h-screen overflow-y-auto overflow-x-hidden pb-[calc(60px+env(safe-area-inset-bottom,0px))] md:pb-0`,children:[s&&(0,d.jsx)(ai,{}),(0,d.jsx)(`main`,{className:`bg-light-primary dark:bg-dark-primary min-h-screen`,children:e})]})})})}),l&&(0,d.jsx)(m.Toaster,{toastOptions:{unstyled:!0,classNames:{toast:`bg-light-secondary dark:bg-dark-secondary dark:text-white/70 text-black-70 rounded-lg p-4 flex flex-row items-center space-x-2`}}}),c&&(0,d.jsx)(oi,{})]})})})})}function pi(e){return(0,d.jsx)(fi,{...e,docsEnabled:!1,children:(0,d.jsx)(Kr,{})})}var mi=`qwksearch-open-chat-tabs`,hi=50;function gi(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(mi);return e?JSON.parse(e):[]}catch{return[]}}function _i(){let{chatId:e,chatTurns:t,startNewChat:r,switchToChat:i}=G(),[a,o]=(0,n.useState)(gi);(0,n.useEffect)(()=>{window.localStorage.setItem(mi,JSON.stringify(a))},[a]),(0,n.useEffect)(()=>{if(!e)return;let n=t[0]?.content?.slice(0,hi),r=t.length>0;o(t=>{let i=t.find(t=>t.id===e);return i?n&&i.title!==n||i.hasMessages!==r?t.map(t=>t.id===e?{...t,title:n||t.title,hasMessages:r}:t):t:[...t,{id:e,title:n||`New Chat`,hasMessages:r}]})},[e,t]);let s=(0,n.useCallback)((e,t)=>{let n=t.find(t=>t.id===e);n&&!n.hasMessages?r(e):i(e)},[r,i]),c=(0,n.useCallback)(e=>{s(e,a)},[s,a]),l=(0,n.useCallback)(()=>{let e=crypto.randomUUID();return o(t=>[...t,{id:e,title:`New Chat`}]),r(e),e},[r]),u=(0,n.useCallback)(t=>{let n=new Set(t),r=a.filter(e=>!n.has(e.id));o(r);let i=e!=null&&n.has(e);if(!i)return{closedWasActive:!1,nextActiveId:null};if(r.length===0)return{closedWasActive:i,nextActiveId:null};let c=a.findIndex(t=>t.id===e),l=e=>e!=null&&!n.has(e.id),u;for(let e=c-1;e>=0&&!u;e--)l(a[e])&&(u=a[e]);for(let e=c+1;e<a.length&&!u;e++)l(a[e])&&(u=a[e]);let d=(u??r[0]).id;return s(d,r),{closedWasActive:i,nextActiveId:d}},[a,e,s]),d=(0,n.useCallback)(e=>u([e]),[u]);return{chatTabs:a,activeChatId:e??null,openChat:c,newChat:l,closeChat:d,closeChats:u}}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Gn}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return oi}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return tr}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ni}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return li}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Xr}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return pi}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return ai}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return fi}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return ti}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return _i}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Yr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Zn}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return er}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return nr}});
51
+ ANTHROPIC_API_KEY=sk-ant-your_key_here`})]}),(0,d.jsxs)(`div`,{className:`bg-black/5 dark:bg-white/5 rounded p-4`,children:[(0,d.jsx)(`p`,{className:`font-medium text-black dark:text-white mb-2`,children:`3. Restart the server`}),(0,d.jsx)(`code`,{className:`block bg-black/10 dark:bg-white/10 rounded p-2 text-xs`,children:`Ctrl+C, then: npm run dev`})]})]}),(0,d.jsxs)(`div`,{className:`pt-4 border-t border-black/10 dark:border-white/10`,children:[(0,d.jsx)(`h3`,{className:`font-medium text-black dark:text-white mb-2`,children:`Get API Keys:`}),(0,d.jsxs)(`ul`,{className:`space-y-2 text-sm text-black/70 dark:text-white/70`,children:[(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Groq`}),` (FREE): `,(0,d.jsx)(`a`,{href:`https://console.groq.com/keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`console.groq.com/keys`})]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`OpenAI`}),`: `,(0,d.jsx)(`a`,{href:`https://platform.openai.com/api-keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`platform.openai.com/api-keys`})]}),(0,d.jsxs)(`li`,{children:[(0,d.jsx)(`strong`,{children:`Anthropic`}),`: `,(0,d.jsx)(`a`,{href:`https://console.anthropic.com/settings/keys`,target:`_blank`,rel:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:`console.anthropic.com`})]})]})]})]}),(0,d.jsxs)(`div`,{className:`text-xs text-black/50 dark:text-white/50 pt-4 border-t border-black/10 dark:border-white/10`,children:[`See `,(0,d.jsx)(`code`,{children:`SETUP_INSTRUCTIONS.md`}),` in the project root for full details.`]})]})})}var Kr=()=>{let e=(0,r.useRouter)(),{hasError:t,isReady:i,notFound:a,messages:o}=G(),{isAuthenticated:s}=nt();return(0,n.useEffect)(()=>{i&&a&&!s&&e.replace(`/`)},[i,a,s,e]),t?(0,d.jsx)(Gr,{}):i&&a&&!s?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(Wr,{})}):i?a?(0,d.jsxs)(`div`,{className:`flex min-h-screen flex-col items-center justify-center gap-3 px-4 text-center`,children:[(0,d.jsx)(`p`,{className:`text-sm text-black/70 dark:text-white/70`,children:`This chat could not be found.`}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>e.push(`/`),className:`rounded-md border border-black/15 px-3 py-1.5 text-sm hover:bg-black/5 dark:border-white/20 dark:hover:bg-white/10`,children:`Go Home`})]}):(0,d.jsx)(`div`,{children:o.length>0?(0,d.jsx)(d.Fragment,{children:(0,d.jsx)(vr,{})}):(0,d.jsx)(Ur,{})}):(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(Wr,{})})};function qr(e,t){let[r,i]=(0,n.useState)(`idle`),[a,o]=(0,n.useState)(!1),[s,c]=(0,n.useState)([]),[l,u]=(0,n.useState)(`af_heart`),[d,f]=(0,n.useState)(null),p=(0,n.useRef)(null),m=(0,n.useRef)(null);(0,n.useEffect)(()=>{t?.autoPreload&&!a&&g()},[t?.autoPreload,a]),(0,n.useEffect)(()=>{let e=localStorage.getItem(`kokoroVoice`);e&&u(e)},[]),(0,n.useEffect)(()=>()=>{p.current&&p.current.pause(),m.current?.abort()},[]);let h=(0,n.useCallback)(()=>{p.current&&=(p.current.pause(),p.current.src.startsWith(`blob:`)&&URL.revokeObjectURL(p.current.src),null),m.current?.abort(),m.current=null},[]),g=(0,n.useCallback)(async()=>{try{i(`loading`),f(null),await Oe();let e=await Ae();c(e),e.length&&!e.includes(l)&&u(e[0]),o(!0),i(`idle`)}catch(e){let t=e instanceof Error?e.message:`Failed to load model`;f(t),i(`error`),console.error(`Failed to load Kokoro model:`,e)}},[l]);return{status:r,modelReady:a,voices:s,selectedVoice:l,error:d,warmupModel:g,speak:(0,n.useCallback)(async()=>{if(e?.trim()){if(!a){f(`Model not loaded. Click "Preload Model" first.`);return}try{h(),i(`generating`),f(null);let t=new AbortController;m.current=t;let n=(await(await ke()).generate(e.slice(0,5e3),{voice:l})).toWav(),r=new Blob([n],{type:`audio/wav`}),a=URL.createObjectURL(r),o=new Audio(a);p.current=o,o.onended=()=>{i(`idle`),URL.revokeObjectURL(a),p.current=null},o.onerror=()=>{i(`error`),f(`Failed to play audio`),URL.revokeObjectURL(a),p.current=null},i(`playing`),await o.play()}catch(e){if(e?.name!==`AbortError`){let t=e instanceof Error?e.message:`Speech generation failed`;f(t),i(`error`),console.error(`Kokoro TTS error:`,e)}}}},[e,l,a,h]),stop:(0,n.useCallback)(()=>{h(),i(`idle`),f(null)},[h]),changeVoice:(0,n.useCallback)(e=>{u(e),localStorage.setItem(`kokoroVoice`,e)},[]),backend:je()}}var Jr={af_heart:`American Female - Heart`,af_bella:`American Female - Bella`,af_nicole:`American Female - Nicole`,af_sarah:`American Female - Sarah`,am_adam:`American Male - Adam`,am_michael:`American Male - Michael`,am_tony:`American Male - Tony`,bf_emma:`British Female - Emma`,bm_george:`British Male - George`,bm_thomas:`British Male - Thomas`};function Yr({preloadOnMount:e=!1}){let{status:t,modelReady:r,voices:i,selectedVoice:a,error:o,warmupModel:c,changeVoice:l,backend:u}=qr(``,{autoPreload:e}),[f,p]=(0,n.useState)(!1),m=t===`loading`,h=t===`error`;return(0,d.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:c,disabled:m||r,className:F(`p-2 rounded-full transition duration-200`,r?`bg-green-500/10 text-green-600 dark:text-green-400`:`bg-white/10 dark:bg-black/10 text-muted-foreground hover:bg-white/20 dark:hover:bg-black/20`,m&&`opacity-70 cursor-not-allowed`),children:m?(0,d.jsx)(s.Loader2,{size:18,className:`animate-spin`}):(0,d.jsx)(s.Download,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:m?`Loading Kokoro model...`:r?`Model ready`:`Preload Kokoro.js model`})]}),r&&u&&(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[u,` • `,i.length,` voices`]}),h&&(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(s.AlertCircle,{size:18,className:`text-red-500`})}),(0,d.jsx)(J,{side:`bottom`,className:`max-w-xs`,children:o})]})]}),r&&(0,d.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,d.jsx)(`button`,{onClick:()=>p(!f),className:`w-full text-left px-3 py-2 rounded-md bg-white/5 dark:bg-black/5 hover:bg-white/10 dark:hover:bg-black/10 transition text-sm font-medium`,children:(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(s.Volume2,{size:16}),Jr[a]||a]})}),f&&(0,d.jsx)(`div`,{className:`grid grid-cols-2 gap-2 p-2 bg-white/5 dark:bg-black/5 rounded-md max-h-64 overflow-y-auto`,children:i.map(e=>(0,d.jsx)(`button`,{onClick:()=>{l(e),p(!1)},className:F(`p-2 text-left text-sm rounded transition duration-200`,a===e?`bg-blue-500/20 text-blue-600 dark:text-blue-400 font-medium`:`bg-white/5 dark:bg-black/5 text-foreground hover:bg-white/10 dark:hover:bg-black/10`),children:Jr[e]||e},e))})]})]})}function Xr(){let[e,t]=(0,n.useState)(!1),[r,i]=(0,n.useState)(()=>localStorage.getItem(`useTTSKokoro`)!==`false`),[a,o]=(0,n.useState)(()=>localStorage.getItem(`ttsSpeaker`)||`angus`),[c,l]=(0,n.useState)(()=>pn()),{start:u,speechStatus:f}=Me(`This is a preview of the selected voice.`,{enableInterrupt:!1}),p=e=>{i(e),localStorage.setItem(`useTTSKokoro`,String(e))},m=e=>{o(e),localStorage.setItem(`ttsSpeaker`,e)},h=e=>{l(e),mn(e)};return(0,d.jsxs)(`div`,{className:`space-y-4`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(s.Settings2,{size:18}),(0,d.jsx)(`h3`,{className:`font-semibold`,children:`Voice Settings`})]}),(0,d.jsx)(`button`,{onClick:()=>t(!e),className:`text-xs px-3 py-1 rounded-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition`,children:e?`Collapse`:`Expand`})]}),e&&(0,d.jsxs)(`div`,{className:`space-y-4 p-4 rounded-lg bg-white/5 dark:bg-black/5 border border-white/10 dark:border-black/10`,children:[(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:r,onChange:e=>p(e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Use Kokoro.js (Local TTS)`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Runs locally in your browser. No server requests, lower latency, and multiple voice options.`})]})]}),r&&(0,d.jsx)(Yr,{preloadOnMount:!1})]}),(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:!r,onChange:e=>p(!e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Use Cloudflare TTS (Fallback)`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Uses Cloudflare Workers AI. Slightly higher latency but can be a fallback.`})]})]}),!r&&(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsxs)(`select`,{value:a,onChange:e=>m(e.target.value),className:`w-full px-3 py-2 rounded-md bg-white/10 dark:bg-black/10 border border-white/20 dark:border-black/20 text-sm`,children:[(0,d.jsx)(`option`,{value:`angus`,children:`Angus`}),(0,d.jsx)(`option`,{value:`flora`,children:`Flora`}),(0,d.jsx)(`option`,{value:`james`,children:`James`}),(0,d.jsx)(`option`,{value:`natalie`,children:`Natalie`})]}),(0,d.jsxs)(`button`,{onClick:()=>u(),disabled:f===`started`,className:F(`w-full flex items-center justify-center gap-2 px-3 py-2 rounded-md text-sm font-medium transition`,f===`started`?`bg-gray-500/20 text-gray-600 dark:text-gray-400 cursor-not-allowed`:`bg-blue-500/20 text-blue-600 dark:text-blue-400 hover:bg-blue-500/30`),children:[(0,d.jsx)(s.Volume2,{size:16}),f===`started`?`Playing...`:`Preview`]})]})]}),(0,d.jsx)(`div`,{className:`space-y-2 pt-2 border-t border-white/10 dark:border-black/10`,children:(0,d.jsxs)(`label`,{className:`flex items-center gap-2 cursor-pointer`,children:[(0,d.jsx)(`input`,{type:`checkbox`,checked:c,onChange:e=>h(e.target.checked),className:`rounded`}),(0,d.jsx)(`span`,{className:`font-medium text-sm`,children:`Start talking automatically on first visit`}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`span`,{className:`text-xs text-muted-foreground cursor-help`,children:`ⓘ`})}),(0,d.jsx)(J,{side:`right`,className:`max-w-xs`,children:`Opens the mic the first time you load the chat composer in this browser, so you can start talking right away instead of clicking the mic button.`})]})]})}),(0,d.jsx)(`div`,{className:`text-xs text-muted-foreground pt-2 border-t border-white/10 dark:border-black/10`,children:(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`strong`,{children:`Tip:`}),` Kokoro.js loads once and runs locally. The first model load may take a few seconds, but subsequent TTS generation is very fast.`]})})]})]})}var Zr=(0,n.createContext)(null),Qr=`qwksearch-main-view`;function $r({children:e,docsEnabled:t=!0}){let[r,i]=(0,n.useState)(`research`),[a,o]=(0,n.useState)(0),s=(0,n.useCallback)(e=>i(t?e:`research`),[t]);(0,n.useEffect)(()=>{if(typeof window>`u`||!t)return;let e=window.localStorage.getItem(Qr);(e===`research`||e===`docs`)&&i(e)},[t]),(0,n.useEffect)(()=>{typeof window<`u`&&t&&window.localStorage.setItem(Qr,r)},[r,t]);let c=(0,n.useMemo)(()=>({activeView:r,setActiveView:s,docsEnabled:t,toggleToDocs:()=>s(`docs`),toggleToResearch:()=>s(`research`),filesSidebarRequestId:a,requestFilesSidebar:()=>o(e=>e+1)}),[r,s,t,a]);return(0,d.jsx)(Zr.Provider,{value:c,children:e})}function ei(){let e=(0,n.useContext)(Zr);if(!e)throw Error(`useMainView must be used within a MainViewProvider`);return e}var ti=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='iso-8859-1'?%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20id='Layer_1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%20512%20512'%20xml:space='preserve'%3e%3cpath%20style='fill:%23FE5022;'%20d='M438.802,390.609V278.595h55.174c9.938,0,18.023,8.085,18.023,18.023v75.967%20c0,9.938-8.086,18.024-18.023,18.024L438.802,390.609L438.802,390.609z'/%3e%3cpath%20style='fill:%23ECE5DD;'%20d='M28.107,511.637C12.609,511.637,0,499.027,0,483.529V134.326c0-1.441,0-12.123,0-12.123%20L121.715,0.363c0,0,10.8,0,12.248,0h271.569c15.498,0,28.107,12.609,28.107,28.106v455.059c0,15.499-12.609,28.108-28.107,28.108%20H28.107V511.637z'/%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M405.533,0.363h-31.991c15.498,0,28.107,12.609,28.107,28.107v455.059%20c0,15.499-12.609,28.108-28.107,28.108h31.991c15.498,0,28.107-12.609,28.107-28.108V28.469%20C433.64,12.972,421.031,0.363,405.533,0.363z'/%3e%3cg%3e%3cpath%20style='fill:%23BABABA;'%20d='M167.639,132.2h133.086c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318H167.639%20c-4.594,0-8.318,3.723-8.318,8.318C159.321,128.477,163.045,132.2,167.639,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M356.178,132.2h22.181c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318h-22.181%20c-4.594,0-8.318,3.723-8.318,8.318C347.86,128.477,351.584,132.2,356.178,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M242.5,212.606c0-4.595-3.724-8.318-8.318-8.318H56.734c-4.594,0-8.318,3.723-8.318,8.318%20s3.724,8.318,8.318,8.318h177.449C238.776,220.924,242.5,217.201,242.5,212.606z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M378.359,204.288h-99.815c-4.594,0-8.318,3.723-8.318,8.318s3.724,8.318,8.318,8.318h99.815%20c4.594,0,8.318-3.723,8.318-8.318S382.953,204.288,378.359,204.288z'/%3e%3c/g%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M0.726,123.171L122.442,1.331l1.39,105.939c0,9.465-7.7,17.166-17.166,17.166L0.726,123.171z'/%3e%3cpath%20style='fill:%23FFB656;'%20d='M270.226,401.7V267.504H456.87c5.938,0,10.768,4.83,10.768,10.768v112.659%20c0,5.938-4.83,10.769-10.768,10.769H270.226z'/%3e%3cpath%20style='fill:%23D9CBBD;'%20d='M367.785,335.156c-12.822,0-23.252-10.431-23.252-23.254v-44.399h89.833v44.399%20c0,12.823-10.431,23.254-23.252,23.254H367.785z'/%3e%3cg%3e%3cpath%20style='fill:%23BABABA;'%20d='M167.639,132.2h133.086c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318H167.639%20c-4.594,0-8.318,3.723-8.318,8.318C159.321,128.477,163.045,132.2,167.639,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M356.178,132.2h22.181c4.594,0,8.318-3.723,8.318-8.318c0-4.595-3.724-8.318-8.318-8.318h-22.181%20c-4.594,0-8.318,3.723-8.318,8.318C347.86,128.477,351.584,132.2,356.178,132.2z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M242.5,212.606c0-4.595-3.724-8.318-8.318-8.318H56.734c-4.594,0-8.318,3.723-8.318,8.318%20s3.724,8.318,8.318,8.318h177.449C238.776,220.924,242.5,217.201,242.5,212.606z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M378.359,204.288h-99.815c-4.594,0-8.318,3.723-8.318,8.318s3.724,8.318,8.318,8.318h99.815%20c4.594,0,8.318-3.723,8.318-8.318S382.953,204.288,378.359,204.288z'/%3e%3cpath%20style='fill:%23BABABA;'%20d='M345.087,448.28H101.096c-4.594,0-8.318,3.723-8.318,8.318c0,4.595,3.724,8.318,8.318,8.318h243.992%20c4.594,0,8.318-3.723,8.318-8.318C353.405,452.003,349.681,448.28,345.087,448.28z'/%3e%3c/g%3e%3cpath%20style='fill:%23FE5022;'%20d='M163.689,357.337c-3.692,0-6.094-3.886-4.443-7.189l16.225-32.451%20c1.799-3.597,5.416-5.833,9.438-5.833h44.282v45.471h-65.503V357.337z'/%3e%3cpolygon%20style='fill:%23FFB656;'%20points='256.918,278.252%20211.447,300.988%20211.447,368.216%20256.918,390.953%20284.321,390.953%20284.321,278.214%20'/%3e%3cg%3e%3cpath%20style='fill:%23FE5022;'%20d='M268.64,401.7c-7.075,0-12.832-5.756-12.832-12.832V280.336c0-7.075,5.756-12.831,12.832-12.831%20h19.808c7.075,0,12.832,5.756,12.832,12.831v108.532c0,7.076-5.756,12.832-12.832,12.832H268.64z'/%3e%3cpath%20style='fill:%23FE5022;'%20d='M104.156,379.377H26.143V301.33h91.398c8.546,0,14.88,7.936,12.986,16.27l-11.313,49.758%20C117.615,374.388,111.366,379.377,104.156,379.377z'/%3e%3c/g%3e%3c/svg%3e`,ni=`data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='utf-8'?%3e%3csvg%20height='800px'%20width='800px'%20version='1.1'%20xmlns='http://www.w3.org/2000/svg'%20xmlns:xlink='http://www.w3.org/1999/xlink'%20viewBox='0%200%2064%2064'%20xml:space='preserve'%3e%3cstyle%20type='text/css'%3e%20.st0{fill:%2376C2AF;}%20.st1{fill:%234F5D73;}%20.st2{opacity:0.2;}%20.st3{fill:%23231F20;}%20.st4{fill:%23FFFFFF;}%20%3c/style%3e%3cg%20id='Layer_1'%3e%3cg%3e%3ccircle%20class='st0'%20cx='32'%20cy='32'%20r='32'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M32,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C34,51.1,33.1,52,32,52L32,52z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M46,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C48,51.1,47.1,52,46,52L46,52z'/%3e%3c/g%3e%3cg%3e%3cpath%20class='st1'%20d='M18,52c-1.1,0-2-0.9-2-2V18c0-1.1,0.9-2,2-2l0,0c1.1,0,2,0.9,2,2v32C20,51.1,19.1,52,18,52L18,52z'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='45.9'%20cy='38'%20r='4'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='32'%20cy='27'%20r='4'/%3e%3c/g%3e%3cg%20class='st2'%3e%3ccircle%20class='st3'%20cx='18'%20cy='44'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='45.9'%20cy='36'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='32'%20cy='25'%20r='4'/%3e%3c/g%3e%3cg%3e%3ccircle%20class='st4'%20cx='18'%20cy='42'%20r='4'/%3e%3c/g%3e%3c/g%3e%3cg%20id='Layer_2'%3e%3c/g%3e%3c/svg%3e`;function ri(){let e=(0,r.usePathname)(),n=(0,r.useRouter)(),{isAuthenticated:i,signIn:a,signOut:o}=nt(),{newChat:c}=G(),{activeView:l,setActiveView:u,docsEnabled:f,requestFilesSidebar:p}=ei(),m=[{href:`/`,label:`Research`,icon:t.researchAgentUIConfig.appIconUrl},...f?[{href:`/workspace`,label:`Docs`,icon:(0,d.jsx)(P.default,{src:ti,alt:`Docs`,width:24,height:24,unoptimized:!0,className:`w-full h-full`})}]:[]],h=e===`/`||e.startsWith(`/c`),g=[...m.map(({href:e,label:t,icon:n})=>({key:e,label:t,icon:n,active:e===`/`?l===`research`:l===`docs`,onClick:()=>{if(e===`/`){u(`research`),h&&c();return}u(`docs`)}})),...f?[{key:`files`,label:`Files`,icon:(0,d.jsx)(s.FileText,{className:`w-full h-full p-1`}),onClick:()=>{u(`docs`),p()}}]:[],{key:`settings`,label:`Settings`,icon:(0,d.jsx)(P.default,{src:ni,alt:`Settings`,width:24,height:24,unoptimized:!0,className:`w-full h-full`}),menu:{renderContent:()=>(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>{t.researchAgentUIConfig.onOpenSettings?.()||n.push(`/settings`)},className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.Settings,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Settings`})]}),i?(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>o(),className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.LogOut,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Logout`})]}):(0,d.jsxs)(N.DropdownMenuItem,{onClick:()=>a(),className:`cursor-pointer py-1 h-7`,children:[(0,d.jsx)(s.LogIn,{className:`mr-2 h-3.5 w-3.5`}),(0,d.jsx)(`span`,{className:`text-sm`,children:`Login`})]}),(0,d.jsx)(N.DropdownMenuSeparator,{}),(0,d.jsx)(N.ThemeMenu,{})]})}}],_=g.filter(e=>e.key!==`files`),v=(e,t,n)=>(0,d.jsx)(P.default,{src:e,alt:t,width:n,height:n,unoptimized:!0,className:`w-full h-full`});return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(N.CategoryDock,{items:_,enableKeyboardShortcuts:!0,placements:{desktop:!0,mobile:!1},renderImage:v}),(0,d.jsx)(N.CategoryDock,{items:g,placements:{desktop:!1,mobile:!0},mobileAlign:l===`docs`?`end`:`center`,renderImage:v})]})}function ii(){let[e,r]=(0,n.useState)(!1),i=(0,n.useRef)(null);return(0,n.useEffect)(()=>{localStorage.getItem(`cookie-consent`)||r(!0)},[]),(0,n.useEffect)(()=>{let t=document.documentElement,n=i.current;if(!e||!n){t.style.removeProperty(`--qs-bottom-right-inset`);return}let r=()=>t.style.setProperty(`--qs-bottom-right-inset`,`${Math.ceil(n.getBoundingClientRect().height)+16}px`);r();let a=typeof ResizeObserver>`u`?null:new ResizeObserver(r);return a?.observe(n),()=>{a?.disconnect(),t.style.removeProperty(`--qs-bottom-right-inset`)}},[e]),e?(0,d.jsx)(`div`,{className:`fixed bottom-0 right-0 m-4 max-w-sm z-50`,children:(0,d.jsxs)(`div`,{ref:i,className:`bg-light-secondary dark:bg-dark-secondary rounded-lg shadow-lg border border-light-tertiary dark:border-dark-tertiary p-4 space-y-3`,children:[(0,d.jsxs)(`div`,{className:`flex justify-between items-start gap-3`,children:[(0,d.jsxs)(`div`,{className:`flex-1`,children:[(0,d.jsx)(`h3`,{className:`font-semibold text-sm text-black dark:text-white mb-2`,children:`Cookies & Privacy`}),(0,d.jsxs)(`p`,{className:`text-xs text-black/70 dark:text-white/70 mb-3`,children:[t.researchAgentUIConfig.appName,` uses cookies to enhance your research experience, analyze usage patterns, and improve our service. We respect your privacy and only use essential cookies by default.`]}),(0,d.jsx)(`div`,{className:`flex flex-wrap gap-2 text-xs mb-3`,children:t.researchAgentUIConfig.footerLinks.map(e=>(0,d.jsx)(`a`,{href:e.url,target:e.url.startsWith(`/`)?void 0:`_blank`,rel:e.url.startsWith(`/`)?void 0:`noopener noreferrer`,className:`text-blue-600 dark:text-blue-400 hover:underline`,children:e.text},e.url))})]}),(0,d.jsx)(`button`,{onClick:()=>{r(!1)},className:`text-black/50 dark:text-white/50 hover:text-black dark:hover:text-white transition-colors`,"aria-label":`Close`,children:(0,d.jsx)(s.X,{className:`w-4 h-4`})})]}),(0,d.jsxs)(`div`,{className:`flex gap-2`,children:[(0,d.jsx)(Q,{onClick:()=>{localStorage.setItem(`cookie-consent`,JSON.stringify({analytics:!0,marketing:!0,functional:!0,timestamp:new Date().toISOString()})),r(!1)},size:`sm`,className:`flex-1 bg-blue-600 hover:bg-blue-700 text-white`,children:`Accept All`}),(0,d.jsx)(Q,{onClick:()=>{localStorage.setItem(`cookie-consent`,JSON.stringify({analytics:!1,marketing:!1,functional:!0,timestamp:new Date().toISOString()})),r(!1)},size:`sm`,variant:`outline`,className:`flex-1 bg-light-tertiary dark:bg-dark-tertiary text-black dark:text-white border-0 hover:bg-light-tertiary/80 dark:hover:bg-dark-tertiary/80`,children:`Reject`})]})]})}):null}var ai=`qwk:chunk-error-reload`,oi=e=>typeof e==`string`&&/Loading (chunk|CSS chunk)|ChunkLoadError/i.test(e);function si(){(0,n.useEffect)(()=>{let e=e=>{oi(e)&&(sessionStorage.getItem(ai)||(sessionStorage.setItem(ai,`1`),window.location.reload()))},t=t=>e(t.message),n=t=>e(t.reason?.message??t.reason);return window.addEventListener(`error`,t),window.addEventListener(`unhandledrejection`,n),()=>{window.removeEventListener(`error`,t),window.removeEventListener(`unhandledrejection`,n)}},[])}var ci=({children:e})=>(0,d.jsx)(d.Fragment,{children:e});function li(e){let[t,r]=(0,n.useState)(e===!0);return(0,n.useEffect)(()=>{if(e!==`auto`){r(e);return}let t=!1;return(0,p.default)(`auth/providers`).then(e=>{t||r(!!e.providers?.includes(`google`))}).catch(()=>{t||r(!1)}),()=>{t=!0}},[e]),t}function ui({children:e,authClient:n,config:r,googleOneTap:i=`auto`,docsEnabled:a=!0,ChromeProvider:o=ci,showDock:s=!0,showCookieConsent:c=!0,showToaster:l=!0}){r&&t.configureResearchAgentUI(r);let u=li(i);return si(),(0,d.jsx)(M.ThemeProvider,{attribute:`class`,defaultTheme:`system`,enableSystem:!0,disableTransitionOnChange:!0,children:(0,d.jsx)(tt,{authClient:n,enableGoogleOneTap:u,children:(0,d.jsx)(ee,{children:(0,d.jsxs)(rt,{children:[(0,d.jsx)(N.CategoryDockProvider,{children:(0,d.jsx)(o,{children:(0,d.jsx)($r,{docsEnabled:a,children:(0,d.jsxs)(`div`,{id:`app-scroll-root`,className:`w-screen h-screen overflow-y-auto overflow-x-hidden pb-[calc(60px+env(safe-area-inset-bottom,0px))] md:pb-0`,children:[s&&(0,d.jsx)(ri,{}),(0,d.jsx)(`main`,{className:`bg-light-primary dark:bg-dark-primary min-h-screen`,children:e})]})})})}),l&&(0,d.jsx)(m.Toaster,{toastOptions:{unstyled:!0,classNames:{toast:`bg-light-secondary dark:bg-dark-secondary dark:text-white/70 text-black-70 rounded-lg p-4 flex flex-row items-center space-x-2`}}}),c&&(0,d.jsx)(ii,{})]})})})})}function di(e){return(0,d.jsx)(ui,{...e,docsEnabled:!1,children:(0,d.jsx)(Kr,{})})}var fi=`qwksearch-open-chat-tabs`,pi=50;function mi(){if(typeof window>`u`)return[];try{let e=window.localStorage.getItem(fi);return e?JSON.parse(e):[]}catch{return[]}}function hi(){let{chatId:e,chatTurns:t,startNewChat:r,switchToChat:i}=G(),[a,o]=(0,n.useState)(mi);(0,n.useEffect)(()=>{window.localStorage.setItem(fi,JSON.stringify(a))},[a]),(0,n.useEffect)(()=>{if(!e)return;let n=t[0]?.content?.slice(0,pi),r=t.length>0;o(t=>{let i=t.find(t=>t.id===e);return i?n&&i.title!==n||i.hasMessages!==r?t.map(t=>t.id===e?{...t,title:n||t.title,hasMessages:r}:t):t:[...t,{id:e,title:n||`New Chat`,hasMessages:r}]})},[e,t]);let s=(0,n.useCallback)((e,t)=>{let n=t.find(t=>t.id===e);n&&!n.hasMessages?r(e):i(e)},[r,i]),c=(0,n.useCallback)(e=>{s(e,a)},[s,a]),l=(0,n.useCallback)(()=>{let e=crypto.randomUUID();return o(t=>[...t,{id:e,title:`New Chat`}]),r(e),e},[r]),u=(0,n.useCallback)(t=>{let n=new Set(t),r=a.filter(e=>!n.has(e.id));o(r);let i=e!=null&&n.has(e);if(!i)return{closedWasActive:!1,nextActiveId:null};if(r.length===0)return{closedWasActive:i,nextActiveId:null};let c=a.findIndex(t=>t.id===e),l=e=>e!=null&&!n.has(e.id),u;for(let e=c-1;e>=0&&!u;e--)l(a[e])&&(u=a[e]);for(let e=c+1;e<a.length&&!u;e++)l(a[e])&&(u=a[e]);let d=(u??r[0]).id;return s(d,r),{closedWasActive:i,nextActiveId:d}},[a,e,s]),d=(0,n.useCallback)(e=>u([e]),[u]);return{chatTabs:a,activeChatId:e??null,openChat:c,newChat:l,closeChat:d,closeChats:u}}Object.defineProperty(exports,"A",{enumerable:!0,get:function(){return G}}),Object.defineProperty(exports,"C",{enumerable:!0,get:function(){return $n}}),Object.defineProperty(exports,"D",{enumerable:!0,get:function(){return rt}}),Object.defineProperty(exports,"E",{enumerable:!0,get:function(){return Gn}}),Object.defineProperty(exports,"F",{enumerable:!0,get:function(){return F}}),Object.defineProperty(exports,"I",{enumerable:!0,get:function(){return I}}),Object.defineProperty(exports,"L",{enumerable:!0,get:function(){return L}}),Object.defineProperty(exports,"M",{enumerable:!0,get:function(){return Me}}),Object.defineProperty(exports,"N",{enumerable:!0,get:function(){return ee}}),Object.defineProperty(exports,"O",{enumerable:!0,get:function(){return tt}}),Object.defineProperty(exports,"P",{enumerable:!0,get:function(){return B}}),Object.defineProperty(exports,"S",{enumerable:!0,get:function(){return Yn}}),Object.defineProperty(exports,"T",{enumerable:!0,get:function(){return qn}}),Object.defineProperty(exports,"_",{enumerable:!0,get:function(){return ir}}),Object.defineProperty(exports,"a",{enumerable:!0,get:function(){return ii}}),Object.defineProperty(exports,"b",{enumerable:!0,get:function(){return tr}}),Object.defineProperty(exports,"c",{enumerable:!0,get:function(){return ei}}),Object.defineProperty(exports,"d",{enumerable:!0,get:function(){return qr}}),Object.defineProperty(exports,"f",{enumerable:!0,get:function(){return Kr}}),Object.defineProperty(exports,"g",{enumerable:!0,get:function(){return mr}}),Object.defineProperty(exports,"h",{enumerable:!0,get:function(){return Or}}),Object.defineProperty(exports,"i",{enumerable:!0,get:function(){return si}}),Object.defineProperty(exports,"j",{enumerable:!0,get:function(){return Ze}}),Object.defineProperty(exports,"k",{enumerable:!0,get:function(){return nt}}),Object.defineProperty(exports,"l",{enumerable:!0,get:function(){return Xr}}),Object.defineProperty(exports,"m",{enumerable:!0,get:function(){return Mr}}),Object.defineProperty(exports,"n",{enumerable:!0,get:function(){return di}}),Object.defineProperty(exports,"o",{enumerable:!0,get:function(){return ri}}),Object.defineProperty(exports,"p",{enumerable:!0,get:function(){return Fr}}),Object.defineProperty(exports,"r",{enumerable:!0,get:function(){return ui}}),Object.defineProperty(exports,"s",{enumerable:!0,get:function(){return $r}}),Object.defineProperty(exports,"t",{enumerable:!0,get:function(){return hi}}),Object.defineProperty(exports,"u",{enumerable:!0,get:function(){return Yr}}),Object.defineProperty(exports,"v",{enumerable:!0,get:function(){return rr}}),Object.defineProperty(exports,"w",{enumerable:!0,get:function(){return Zn}}),Object.defineProperty(exports,"x",{enumerable:!0,get:function(){return er}}),Object.defineProperty(exports,"y",{enumerable:!0,get:function(){return nr}});