research-agent-ui 0.1.139 → 0.1.141
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 +11 -11
- package/dist/index.mjs +455 -461
- package/dist/lib/searchResultToDocument.d.ts +19 -0
- package/package.json +7 -7
package/dist/index.cjs
CHANGED
|
@@ -13,24 +13,24 @@
|
|
|
13
13
|
#5a922c calc(50% / var(--repeating-conic-gradient-times)),
|
|
14
14
|
#4c7894 calc(75% / var(--repeating-conic-gradient-times)),
|
|
15
15
|
#dd7bbb calc(100% / var(--repeating-conic-gradient-times))
|
|
16
|
-
)`},className:j(`pointer-events-none absolute inset-0 rounded-[inherit] opacity-100 transition-opacity`,o&&`opacity-100`,e>0&&`blur-[var(--blur)] `,s,f&&`!hidden`),children:(0,d.jsx)(`div`,{className:j(`glow`,`rounded-[inherit]`,`after:content-[""] after:rounded-[inherit] after:absolute after:inset-[calc(-1*var(--glowingeffect-border-width))]`,`after:[border:var(--glowingeffect-border-width)_solid_transparent]`,`after:[background:var(--gradient)] after:[background-attachment:fixed]`,`after:opacity-[var(--active)] after:transition-opacity after:duration-300`,`after:[mask-clip:padding-box,border-box]`,`after:[mask-composite:intersect]`,`after:[mask-image:linear-gradient(#0000,#0000),conic-gradient(from_calc((var(--start)-var(--spread))*1deg),#00000000_0deg,#fff,#00000000_calc(var(--spread)*2deg))]`)})})]})});P.displayName=`GlowingEffect`;var F=(0,n.createContext)(void 0),I=()=>{let e=(0,n.useContext)(F);if(!e)throw Error(`useExtractPanel must be used within an ExtractPanelProvider`);return e},L=({children:e})=>{let[t,r]=(0,n.useState)(!1),[i,a]=(0,n.useState)(``),[o,s]=(0,n.useState)(``),[c,l]=(0,n.useState)(600);return(0,d.jsx)(F.Provider,{value:{isOpen:t,url:i,searchText:o,panelWidth:c,setIsOpen:r,setUrl:a,setSearchText:s,setPanelWidth:l,openPanel:(e,t=``)=>{console.log(`[ExtractPanelContext] openPanel called with URL:`,e);try{let t=new URL(e);(t.pathname===`/`||t.pathname===``)&&console.error(`[ExtractPanelContext] URL is domain-only, missing article path:`,e)}catch(t){console.error(`[ExtractPanelContext] Invalid URL format:`,e,t)}if(a(e),s(t),r(!0),typeof window<`u`){let t=new URLSearchParams(window.location.search);t.set(`extract`,encodeURIComponent(e));let n=`${window.location.pathname}?${t.toString()}`;window.history.pushState({},``,n)}},closePanel:()=>{if(r(!1),typeof window<`u`){let e=new URLSearchParams(window.location.search);e.delete(`extract`);let t=e.toString()?`${window.location.pathname}?${e.toString()}`:window.location.pathname;window.history.pushState({},``,t)}}},children:e})};function R(e){return(0,d.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 214.6279 198.1416`,...e,children:[(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{fill:`#5CB0FF`,d:`M171.748,142.3193c0-15.4375-12.5625-28-28-28s-28,12.5625-28,28s12.5625,28,28,28 S171.748,157.7568,171.748,142.3193z`}),(0,d.jsx)(`path`,{fill:`#1C71DA`,d:`M95.748,166.3193v-76h42.989c0.0146,0.7878,0.0696,1.5579,0.0696,2.3516c0,2.2109,1.7891,4,4,4 s4-1.7891,4-4c0-0.7937-0.0603-1.5632-0.0745-2.3516h25.0159h5.6484h2.3516c0-46.3164-37.6836-84-84-84h-8v0.4053 c-42.5754,4.0447-76,39.9785-76,83.5947c0,46.3164,37.6836,84,84,84c2.2109,0,4-1.7891,4-4S97.959,166.3193,95.748,166.3193z M87.748,164.9949c-19.9287-6.438-35.0586-36.3945-35.0586-72.324c0-0.7937,0.0549-1.5637,0.0696-2.3516h34.989V164.9949z M53.1655,82.3193C55.75,51.1135,69.7729,26.157,87.748,20.3506v61.9688H53.1655z M95.748,82.3193v-63.293 c21.6829,0,39.6248,27.5808,42.5825,63.293H95.748z M171.3181,82.3193h-24.9685c-2.3884-29.9812-14.96-54.8911-31.9993-65.6013 C144.7681,24.4146,167.9641,50.417,171.3181,82.3193z M77.1458,16.718C60.1064,27.4282,47.5349,52.3381,45.1465,82.3193H20.178 C23.532,50.417,46.728,24.4146,77.1458,16.718z M19.748,90.3193h25.0159c-0.0142,0.7883-0.0745,1.5579-0.0745,2.3516 c0,28.5327,9.217,53.6572,23.1233,68.2603C39.7031,149.769,19.748,122.3567,19.748,90.3193z`}),(0,d.jsx)(`path`,{fill:`#1C71DA`,d:`M191.5137,184.4287l-19.665-19.665c4.9307-6.1609,7.8994-13.9573,7.8994-22.4443 c0-19.8516-16.1484-36-36-36s-36,16.1484-36,36s16.1484,36,36,36c8.4871,0,16.2834-2.9688,22.4443-7.8994l19.665,19.665 L191.5137,184.4287z M115.748,142.3193c0-15.4375,12.5625-28,28-28s28,12.5625,28,28s-12.5625,28-28,28 S115.748,157.7568,115.748,142.3193z`})]}),(0,d.jsx)(`path`,{fill:`#FF5D5D`,d:`M4,22.1416c-1.0234,0-2.0479-0.3906-2.8281-1.1719c-1.5625-1.5615-1.5625-4.0947,0-5.6562L15.3145,1.1719 c1.5625-1.5625,4.0957-1.5625,5.6562,0c1.5625,1.5615,1.5625,4.0947,0,5.6562L6.8281,20.9697 C6.0469,21.751,5.0234,22.1416,4,22.1416z`}),(0,d.jsx)(`path`,{fill:`#FF5D5D`,d:`M18.1426,22.1416c-1.0234,0-2.0469-0.3906-2.8281-1.1719L1.1719,6.8281 c-1.5625-1.5615-1.5625-4.0947,0-5.6562c1.5605-1.5625,4.0938-1.5625,5.6562,0l14.1426,14.1416 c1.5625,1.5615,1.5625,4.0947,0,5.6562C20.1904,21.751,19.166,22.1416,18.1426,22.1416z`}),(0,d.jsx)(`path`,{fill:`#00D40B`,d:`M14,198.1416c-7.7197,0-14-6.2803-14-14s6.2803-14,14-14s14,6.2803,14,14S21.7197,198.1416,14,198.1416z M14,178.1416c-3.3086,0-6,2.6914-6,6s2.6914,6,6,6s6-2.6914,6-6S17.3086,178.1416,14,178.1416z`}),(0,d.jsx)(`path`,{fill:`#FFC504`,d:`M199.3145,56.7695c-1.0605,0-2.0781-0.4219-2.8281-1.1719l-11.3145-11.3145 c-0.75-0.75-1.1719-1.7676-1.1719-2.8281s0.4219-2.0781,1.1719-2.8281l11.3145-11.3135c1.5625-1.5625,4.0938-1.5625,5.6562,0 l11.3135,11.3135c1.5625,1.5615,1.5625,4.0947,0,5.6562l-11.3135,11.3145C201.3926,56.3477,200.375,56.7695,199.3145,56.7695z M193.6572,41.4551l5.6572,5.6572l5.6572-5.6572l-5.6572-5.6572L193.6572,41.4551z`})]})}function z(e){return(0,d.jsxs)(`svg`,{version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 508 508`,...e,children:[(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M316.1,353.2H191.9c13.2,60.9,37.8,102.2,62.1,102.2C278.3,455.4,302.9,414.1,316.1,353.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M78.2,353.2c26.2,46.5,69.8,80.1,120.6,94.5c-15.4-22.5-27.7-54.7-35.7-94.5H78.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M429.8,353.2h-84.9c-8,39.8-20.4,72-35.7,94.5C360,433.4,403.6,399.7,429.8,353.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M429.3,154.8c-26.3-46.4-69.6-80-120-94.4c15.3,22.4,27.7,54.7,35.6,94.4H429.3z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M163.1,154.8c8-39.7,20.3-71.9,35.7-94.4c-50.4,14.4-93.8,48-120,94.4H163.1z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M479.8,310.9V197.1c0-7.8-6.3-14.1-14.1-14.1H42.3c-7.8,0-14.1,6.3-14.1,14.1v113.8 c0,7.8,6.3,14.1,14.1,14.1h423.3C473.4,325,479.8,318.7,479.8,310.9z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M254,52.6c-24.3,0-48.9,41.3-62.1,102.2h124.2C302.9,93.9,278.3,52.6,254,52.6z`})]}),(0,d.jsx)(`path`,{style:{fill:`#56ACE0`},d:`M254,426.5c-95.3,0-172.9-77.5-172.9-172.9S158.7,80.8,254,80.8s172.9,77.5,172.9,172.9 S349.3,426.5,254,426.5z`}),(0,d.jsx)(`rect`,{x:`56.4`,y:`211.2`,style:{fill:`#FFC10D`},width:`395.1`,height:`85.6`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#194F82`},d:`M465.7,154.8H461C422.8,75.3,342.7,24.4,254,24.4S85.1,75.3,47,154.8h-4.7C19,154.8,0,173.7,0,197.1 v113.8c0,23.3,19,42.3,42.3,42.3h4.2c38,79.5,118.4,130.4,207.5,130.4c89.2,0,169.5-50.9,207.5-130.4h4.2c23.3,0,42.3-19,42.3-42.3 V197.1C508,173.7,489,154.8,465.7,154.8z M429.3,154.8h-84.4c-8-39.7-20.3-71.9-35.6-94.4C359.7,74.7,403,108.4,429.3,154.8z M254,52.6c24.3,0,48.9,41.3,62.1,102.2H191.9C205.1,93.9,229.7,52.6,254,52.6z M198.7,60.4c-15.3,22.4-27.7,54.7-35.7,94.4H78.7 C105,108.4,148.3,74.7,198.7,60.4z M78.2,353.2h84.9c8,39.8,20.4,72,35.7,94.5C148,433.4,104.4,399.7,78.2,353.2z M254,455.4 c-24.3,0-48.9-41.3-62.1-102.2h124.2C302.9,414.1,278.3,455.4,254,455.4z M309.2,447.7c15.4-22.5,27.7-54.7,35.7-94.5h84.9 C403.6,399.7,360,433.4,309.2,447.7z M479.8,310.9c0,7.8-6.3,14.1-14.1,14.1H42.3c-7.8,0-14.1-6.3-14.1-14.1V197.1 c0-7.8,6.3-14.1,14.1-14.1h423.3c7.8,0,14.1,6.3,14.1,14.1v113.8H479.8z`}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`146,265.7 109.1,215.3 93.4,215.3 93.4,293.6 110.2,293.6 110.2,244.5 146,293.6 162.7,293.6 162.7,215.3 146,215.3 `}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`197.9,261.9 231.6,261.9 231.6,247 197.9,247 197.9,230.9 235.3,230.9 235.3,215.3 181.2,215.3 181.2,293.6 236.5,293.6 236.5,278.1 197.9,278.1 `}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`318.9,260.3 305.7,215.3 288.1,215.3 274.8,260.3 260,215.3 241.9,215.3 268.1,293.6 280.5,293.6 296.8,239.2 313.3,293.6 325.7,293.6 351.9,215.3 333.8,215.3 `}),(0,d.jsx)(`path`,{style:{fill:`#194F82`},d:`M392,246.6c-8.2-1.9-16.5-3.8-16.6-10.2c0.5-5.4,3.9-7.5,9-7.6c6.9,0,13.7,2.6,20.2,7.7l8.5-12.8 c-8-6.2-17-10.4-28.1-10.3c-12.5-0.6-27,7.6-26.8,23.2c-1,15.4,10.4,21.4,25.2,24.8c9.2,2,14.5,5.1,13.9,9.8 c0.1,5.2-4.6,7.7-9.9,7.7c-6.9,0-14.3-3.7-22.4-11.1l-10,12.8c9.5,9.2,20.2,13.8,32.1,13.8c15.1,0.7,27.6-8.8,27.5-23.6 C414.8,257.3,406.3,250,392,246.6z`})]})]})}function ee(e){return(0,d.jsxs)(`svg`,{version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 512 512`,...e,children:[(0,d.jsx)(`circle`,{style:{fill:`#8AD5DD`},cx:`256`,cy:`256`,r:`256`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_0`,x:`115`,y:`68`,style:{fill:`#FFFFFF`},width:`282`,height:`376`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_1`,x:`146.336`,y:`339.8`,style:{fill:`#2D2D2D`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_2`,x:`146.336`,y:`371.12`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_3`,x:`146.336`,y:`386.8`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_4`,x:`146.336`,y:`402.48`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`path`,{id:`SVGCleanerId_5`,style:{fill:`#DB2B42`},d:`M355.872,316.384H156.128c-6.464,0-11.752-5.288-11.752-11.752v-144.92 c0-6.464,5.288-11.752,11.752-11.752H355.88c6.464,0,11.752,5.288,11.752,11.752v144.92 C367.624,311.096,362.336,316.384,355.872,316.384z`}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_0_1_`,x:`115`,y:`68`,style:{fill:`#FFFFFF`},width:`282`,height:`376`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_1_1_`,x:`146.336`,y:`339.8`,style:{fill:`#2D2D2D`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_2_1_`,x:`146.336`,y:`371.12`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_3_1_`,x:`146.336`,y:`386.8`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_4_1_`,x:`146.336`,y:`402.48`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`path`,{id:`SVGCleanerId_5_1_`,style:{fill:`#DB2B42`},d:`M355.872,316.384H156.128c-6.464,0-11.752-5.288-11.752-11.752v-144.92 c0-6.464,5.288-11.752,11.752-11.752H355.88c6.464,0,11.752,5.288,11.752,11.752v144.92 C367.624,311.096,362.336,316.384,355.872,316.384z`})}),(0,d.jsx)(`polygon`,{style:{fill:`#FFFFFF`},points:`232.496,191.472 303,232.176 232.496,272.88 `}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`rect`,{x:`269.928`,y:`339.04`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`365.624`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`392.24`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`rect`,{x:`269.928`,y:`392.24`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`365.624`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`339.04`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#E0E0E0`},d:`M365.664,100.072v19.616h-135.24v-19.616H365.664 M367.624,98.112h-139.16v23.536h139.16 L367.624,98.112L367.624,98.112z`}),(0,d.jsx)(`rect`,{x:`341.312`,y:`98.112`,style:{fill:`#E0E0E0`},width:`26.312`,height:`23.536`})]}),(0,d.jsx)(`path`,{style:{fill:`#DB2B42`},d:`M207.656,121.648H173.2c-1.312,0-2.384-1.072-2.384-2.384v-18.768c0-1.312,1.072-2.384,2.384-2.384 h34.456c1.312,0,2.384,1.072,2.384,2.384v18.768C210.04,120.576,208.96,121.648,207.656,121.648z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M178.008,107.264h-2.784v-1.488h7.384v1.488h-2.816v8.28h-1.784L178.008,107.264L178.008,107.264z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M189.28,113.424c0,0.84,0.032,1.544,0.056,2.12h-1.568l-0.088-1.08h-0.024 c-0.304,0.504-1,1.232-2.264,1.232c-1.288,0-2.464-0.768-2.464-3.072v-4.144h1.784v3.84c0,1.176,0.384,1.936,1.32,1.936 c0.712,0,1.176-0.504,1.36-0.96c0.064-0.16,0.104-0.344,0.104-0.552v-4.264h1.784V113.424z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M191.144,115.544c0.032-0.48,0.064-1.264,0.064-1.984v-8.312h1.784v4.2h0.032 c0.432-0.672,1.2-1.128,2.256-1.128c1.728,0,2.96,1.432,2.944,3.584c0,2.536-1.608,3.8-3.208,3.8c-0.912,0-1.728-0.352-2.232-1.216 h-0.032l-0.088,1.056H191.144z M192.992,112.632c0,0.152,0.016,0.288,0.04,0.424c0.192,0.712,0.808,1.256,1.584,1.256 c1.12,0,1.8-0.904,1.8-2.32c0-1.256-0.592-2.264-1.784-2.264c-0.72,0-1.376,0.528-1.584,1.304 c-0.024,0.128-0.056,0.288-0.056,0.464V112.632z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M200.952,112.512c0.04,1.28,1.04,1.832,2.176,1.832c0.824,0,1.416-0.12,1.96-0.32l0.264,1.232 c-0.616,0.248-1.456,0.44-2.472,0.44c-2.288,0-3.64-1.408-3.64-3.576c0-1.952,1.192-3.8,3.448-3.8c2.296,0,3.048,1.888,3.048,3.44 c0,0.336-0.032,0.592-0.056,0.752C205.68,112.512,200.952,112.512,200.952,112.512z M204.056,111.264 c0.016-0.648-0.272-1.728-1.464-1.728c-1.104,0-1.568,1.008-1.64,1.728H204.056z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M147.464,115.544v-4.072l-3.088-5.696h2.032l1.176,2.504c0.336,0.728,0.584,1.28,0.848,1.944h0.024 c0.248-0.624,0.52-1.232,0.856-1.944l1.176-2.504h2.016l-3.248,5.656v4.112H147.464z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M158.864,111.944c0,2.6-1.824,3.76-3.624,3.76c-2,0-3.536-1.376-3.536-3.632 c0-2.328,1.52-3.744,3.656-3.744C157.464,108.32,158.864,109.8,158.864,111.944z M153.544,112.024c0,1.36,0.664,2.392,1.752,2.392 c1.016,0,1.728-1,1.728-2.424c0-1.104-0.496-2.368-1.712-2.368C154.056,109.624,153.544,110.84,153.544,112.024z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M166.656,113.424c0,0.84,0.032,1.544,0.056,2.12h-1.568l-0.088-1.08h-0.024 c-0.304,0.504-1,1.232-2.264,1.232c-1.288,0-2.464-0.768-2.464-3.072v-4.144h1.784v3.84c0,1.176,0.384,1.936,1.32,1.936 c0.712,0,1.176-0.504,1.36-0.96c0.064-0.16,0.104-0.344,0.104-0.552v-4.264h1.784V113.424z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M353.936,113.776c-3.096,0-5.616-2.52-5.616-5.616s2.52-5.616,5.616-5.616s5.616,2.52,5.616,5.616 C359.552,111.256,357.032,113.776,353.936,113.776z M353.936,103.816c-2.392,0-4.344,1.952-4.344,4.344s1.952,4.344,4.344,4.344 s4.344-1.952,4.344-4.344S356.328,103.816,353.936,103.816z`}),(0,d.jsx)(`rect`,{x:`356.02`,y:`113.813`,transform:`matrix(-0.6044 -0.7967 0.7967 -0.6044 484.7665 469.5985)`,style:{fill:`#2D2D2D`},width:`5.896`,height:`1.272`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M240.088,113.168c0.48,0.296,1.184,0.544,1.92,0.544c1.096,0,1.736-0.576,1.736-1.416 c0-0.768-0.44-1.216-1.56-1.648c-1.352-0.48-2.192-1.184-2.192-2.352c0-1.296,1.072-2.248,2.68-2.248 c0.848,0,1.464,0.192,1.832,0.4l-0.296,0.872c-0.272-0.152-0.824-0.392-1.576-0.392c-1.136,0-1.56,0.672-1.56,1.24 c0,0.776,0.504,1.152,1.648,1.6c1.4,0.544,2.12,1.216,2.12,2.432c0,1.28-0.952,2.392-2.904,2.392c-0.8,0-1.68-0.24-2.12-0.528 L240.088,113.168z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M246.984,111.688c0.024,1.472,0.96,2.064,2.048,2.064c0.776,0,1.24-0.128,1.648-0.304l0.184,0.776 c-0.384,0.176-1.032,0.368-1.984,0.368c-1.832,0-2.928-1.208-2.928-3s1.056-3.216,2.792-3.216c1.952,0,2.464,1.704,2.464,2.808 c0,0.216-0.024,0.392-0.04,0.496h-4.184V111.688z M250.16,110.92c0.016-0.688-0.288-1.76-1.504-1.76 c-1.096,0-1.576,1.008-1.664,1.76H250.16z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M255.88,114.472l-0.088-0.752h-0.032c-0.336,0.472-0.968,0.888-1.824,0.888 c-1.208,0-1.824-0.848-1.824-1.704c0-1.448,1.28-2.232,3.584-2.216v-0.128c0-0.488-0.136-1.384-1.36-1.384 c-0.552,0-1.128,0.176-1.552,0.448l-0.248-0.72c0.488-0.312,1.208-0.528,1.96-0.528c1.824,0,2.264,1.24,2.264,2.432v2.232 c0,0.52,0.024,1.024,0.104,1.424h-0.984V114.472z M255.72,111.44c-1.184-0.024-2.528,0.184-2.528,1.336 c0,0.704,0.472,1.032,1.024,1.032c0.776,0,1.272-0.488,1.44-1c0.04-0.112,0.064-0.24,0.064-0.344V111.44z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M258.552,110.376c0-0.704-0.016-1.304-0.056-1.864h0.944l0.04,1.176h0.04 c0.272-0.8,0.928-1.304,1.656-1.304c0.12,0,0.2,0.008,0.304,0.032v1.024c-0.112-0.024-0.224-0.032-0.368-0.032 c-0.768,0-1.312,0.576-1.456,1.392c-0.024,0.144-0.056,0.312-0.056,0.496v3.176h-1.072v-4.096H258.552z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M266.72,114.256c-0.288,0.152-0.912,0.344-1.72,0.344c-1.792,0-2.968-1.216-2.968-3.04 c0-1.84,1.264-3.168,3.208-3.168c0.64,0,1.208,0.168,1.504,0.304l-0.248,0.84c-0.264-0.152-0.664-0.28-1.264-0.28 c-1.368,0-2.104,1.008-2.104,2.248c0,1.384,0.888,2.232,2.064,2.232c0.616,0,1.024-0.168,1.328-0.296L266.72,114.256z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M268.016,105.736h1.08v3.712h0.024c0.176-0.304,0.448-0.576,0.776-0.76 c0.312-0.184,0.704-0.304,1.104-0.304c0.808,0,2.08,0.488,2.08,2.544v3.544H272v-3.424c0-0.96-0.352-1.768-1.376-1.768 c-0.704,0-1.264,0.488-1.456,1.08c-0.064,0.152-0.08,0.304-0.08,0.52v3.6h-1.08v-8.744H268.016z`})]})]})}function te(e){return(0,d.jsx)(`svg`,{width:`800px`,height:`800px`,viewBox:`0 0 73 73`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,...e,children:(0,d.jsx)(`g`,{id:`fundamentals/css/images`,stroke:`none`,strokeWidth:`1`,fill:`none`,fillRule:`evenodd`,children:(0,d.jsxs)(`g`,{id:`container`,transform:`translate(2.000000, 2.000000)`,fillRule:`nonzero`,children:[(0,d.jsx)(`rect`,{id:`mask`,stroke:`#000000`,strokeWidth:`2`,fill:`#424A60`,x:`-1`,y:`-1`,width:`71`,height:`71`,rx:`14`}),(0,d.jsx)(`circle`,{id:`Oval`,fill:`#EFCE4A`,cx:`21.069`,cy:`23.069`,r:`9.069`}),(0,d.jsx)(`polygon`,{id:`Shape`,fill:`#1A9172`,points:`69.5 56.7492553 68.1170213 55.212766 51.5212766 40 37 55.9042553 44.5828723 63.4871277 50.1382979 69.0425532 60.7455406 69.0425532 69.5 60.1780353`}),(0,d.jsx)(`polygon`,{id:`Shape`,fill:`#25AE88`,points:`47.8532188 64.0501875 33.8030313 50 12 69.1969687 53 69.1969687`}),(0,d.jsx)(`rect`,{id:`mask`,stroke:`#000000`,strokeWidth:`2`,x:`-1`,y:`-1`,width:`71`,height:`71`,rx:`14`})]})})})}function ne(e){return(0,d.jsxs)(`svg`,{width:`800px`,height:`800px`,viewBox:`0 0 32 32`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,d.jsx)(`path`,{d:`M23.3 8.40007L21.82 6.40008C21.7248 6.27314 21.6008 6.17066 21.4583 6.10111C21.3157 6.03156 21.1586 5.99693 21 6.00008H11.2C11.0555 6.00007 10.9128 6.03135 10.7816 6.09177C10.6504 6.15219 10.5339 6.24031 10.44 6.35007L8.71998 8.35008C8.57227 8.53401 8.49435 8.76424 8.49998 9.00008V16.2901C8.50262 18.0317 9.19567 19.7013 10.4272 20.9328C11.6588 22.1644 13.3283 22.8574 15.07 22.8601H16.93C18.6716 22.8574 20.3412 22.1644 21.5728 20.9328C22.8043 19.7013 23.4973 18.0317 23.5 16.2901V9.00008C23.5 8.7837 23.4298 8.57317 23.3 8.40007Z`,fill:`#FFCC80`}),(0,d.jsx)(`path`,{d:`M29.78 28.38L25.78 23.38C25.664 23.2321 25.5086 23.1198 25.3318 23.0562C25.1549 22.9925 24.9637 22.98 24.78 23.02L16 25L7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H29C29.1885 29.9995 29.373 29.9457 29.5322 29.8448C29.6914 29.744 29.8189 29.6002 29.9 29.43C29.98 29.2613 30.0112 29.0734 29.99 28.8879C29.9688 28.7023 29.8961 28.5264 29.78 28.38Z`,fill:`#01579B`}),(0,d.jsx)(`path`,{d:`M29.29 6.00003L16.29 2.00003C16.0999 1.95002 15.9001 1.95002 15.71 2.00003L2.71 6.00003C2.49742 6.06422 2.31226 6.19735 2.1837 6.37841C2.05515 6.55947 1.99052 6.77817 2 7.00003C1.9917 7.22447 2.0592 7.44518 2.19163 7.62659C2.32405 7.80799 2.5137 7.93954 2.73 8.00003L15.73 11.6C15.906 11.6534 16.094 11.6534 16.27 11.6L29.27 8.00003C29.4863 7.93954 29.6759 7.80799 29.8084 7.62659C29.9408 7.44518 30.0083 7.22447 30 7.00003C30.0095 6.77817 29.9448 6.55947 29.8163 6.37841C29.6877 6.19735 29.5026 6.06422 29.29 6.00003Z`,fill:`#01579B`}),(0,d.jsx)(`path`,{d:`M11.22 6C11.0756 5.99999 10.9328 6.03127 10.8016 6.09169C10.6704 6.15211 10.5539 6.24023 10.46 6.35L8.74 8.35C8.58509 8.53114 8.49998 8.76166 8.5 9V16.29C8.50264 18.0317 9.19569 19.7012 10.4272 20.9328C11.6588 22.1643 13.3283 22.8574 15.07 22.86H16V6H11.22Z`,fill:`#FFE0B2`}),(0,d.jsx)(`path`,{d:`M7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H16V25L7.21999 23Z`,fill:`#0277BD`}),(0,d.jsx)(`path`,{d:`M15.71 2.00002L2.71 6.00002C2.49742 6.06422 2.31226 6.19734 2.1837 6.3784C2.05515 6.55947 1.99052 6.77817 2 7.00002C1.9917 7.22447 2.0592 7.44518 2.19163 7.62658C2.32405 7.80799 2.5137 7.93954 2.73 8.00002L15.73 11.6C15.8194 11.6146 15.9106 11.6146 16 11.6V2.00002C15.9039 1.98469 15.8061 1.98469 15.71 2.00002Z`,fill:`#0277BD`}),(0,d.jsx)(`path`,{d:`M2.73 8.00003L8.5 9.56003V16.29C8.50264 18.0317 9.19569 19.7013 10.4272 20.9328C11.6588 22.1643 13.3283 22.8574 15.07 22.86H16.93C18.6717 22.8574 20.3412 22.1643 21.5728 20.9328C22.8043 19.7013 23.4974 18.0317 23.5 16.29V9.56003L29.27 8.00003C29.4863 7.93954 29.6759 7.80799 29.8084 7.62659C29.9408 7.44518 30.0083 7.22447 30 7.00003C30.0095 6.77817 29.9448 6.55947 29.8163 6.37841C29.6877 6.19735 29.5026 6.06422 29.29 6.00003L16.29 2.00003C16.0999 1.95002 15.9001 1.95002 15.71 2.00003L2.71 6.00003C2.49742 6.06422 2.31226 6.19735 2.1837 6.37841C2.05515 6.55947 1.99052 6.77817 2 7.00003C1.9917 7.22447 2.0592 7.44518 2.19163 7.62659C2.32405 7.80799 2.5137 7.93954 2.73 8.00003ZM21.5 16.29C21.4974 17.5013 21.015 18.6621 20.1586 19.5186C19.3021 20.3751 18.1412 20.8574 16.93 20.86H15.07C13.8588 20.8574 12.6979 20.3751 11.8414 19.5186C10.985 18.6621 10.5026 17.5013 10.5 16.29V10.11L15.73 11.56C15.906 11.6134 16.094 11.6134 16.27 11.56L21.5 10.11V16.29ZM16 4.05003L25.44 7.00003L16 9.56003L6.56 7.00003L16 4.05003Z`,fill:`#263238`}),(0,d.jsx)(`path`,{d:`M25.78 23.38C25.664 23.2321 25.5086 23.1198 25.3318 23.0562C25.1549 22.9925 24.9637 22.98 24.78 23.02L16 25L7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H29C29.1885 29.9995 29.373 29.9457 29.5322 29.8448C29.6914 29.744 29.8189 29.6002 29.9 29.43C29.98 29.2613 30.0112 29.0734 29.99 28.8879C29.9688 28.7023 29.8961 28.5264 29.78 28.38L25.78 23.38ZM5.07999 28L7.38999 25.11L15.78 27C15.9251 27.0299 16.0748 27.0299 16.22 27L24.61 25.13L26.92 28H5.07999Z`,fill:`#263238`})]})}function B(e){return(0,d.jsxs)(`svg`,{height:`800px`,width:`800px`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 503.322 503.322`,...e,children:[(0,d.jsx)(`path`,{style:{fill:`#FBC176`},d:`M0,73.763v130.169c0,6.942,6.075,13.017,13.017,13.017h225.627c6.942,0,13.017-6.075,13.017-13.017 V73.763c0-6.942-6.075-13.017-13.017-13.017H13.017C6.075,60.746,0,66.82,0,73.763`}),(0,d.jsx)(`path`,{style:{fill:`#C39A6E`},d:`M225.627,60.746V39.051c0-6.942-6.075-13.017-13.017-13.017h-69.424L121.492,0H30.373 c-6.942,0-13.017,6.075-13.017,13.017v47.729H225.627z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M86.78,104.136H34.712c-5.207,0-8.678-3.471-8.678-8.678c0-5.207,3.471-8.678,8.678-8.678H86.78 c5.207,0,8.678,3.471,8.678,8.678C95.458,100.664,91.986,104.136,86.78,104.136`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M86.78,138.847H34.712c-5.207,0-8.678-3.471-8.678-8.678s3.471-8.678,8.678-8.678H86.78 c5.207,0,8.678,3.471,8.678,8.678S91.986,138.847,86.78,138.847`})]}),(0,d.jsx)(`path`,{style:{fill:`#FBC176`},d:`M251.661,360.136v130.169c0,6.942,6.075,13.017,13.017,13.017h225.627 c6.942,0,13.017-6.075,13.017-13.017V360.136c0-6.942-6.075-13.017-13.017-13.017H264.678 C257.736,347.119,251.661,353.193,251.661,360.136`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M338.441,390.508h-52.068c-5.207,0-8.678-3.471-8.678-8.678s3.471-8.678,8.678-8.678h52.068 c5.207,0,8.678,3.471,8.678,8.678S343.647,390.508,338.441,390.508`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M338.441,425.22h-52.068c-5.207,0-8.678-3.471-8.678-8.678c0-5.207,3.471-8.678,8.678-8.678h52.068 c5.207,0,8.678,3.471,8.678,8.678C347.119,421.749,343.647,425.22,338.441,425.22`})]}),(0,d.jsx)(`path`,{style:{fill:`#F38774`},d:`M208.271,451.254H78.102c-5.207,0-8.678-3.471-8.678-8.678V260.339c0-5.207,3.471-8.678,8.678-8.678 c5.207,0,8.678,3.471,8.678,8.678v173.559h121.492c5.207,0,8.678,3.471,8.678,8.678 C216.949,447.783,213.478,451.254,208.271,451.254`}),(0,d.jsx)(`path`,{style:{fill:`#26B999`},d:`M433.898,277.695c-5.207,0-8.678-3.471-8.678-8.678V95.458H295.051c-5.207,0-8.678-3.471-8.678-8.678 c0-5.207,3.471-8.678,8.678-8.678h138.847c5.207,0,8.678,3.471,8.678,8.678v182.237 C442.576,274.224,439.105,277.695,433.898,277.695`}),(0,d.jsx)(`path`,{style:{fill:`#C39A6E`},d:`M477.288,347.119v-21.695c0-6.942-6.075-13.017-13.017-13.017h-69.424l-21.695-26.034h-91.119 c-6.942,0-13.017,6.075-13.017,13.017v47.729H477.288z`})]})}function re(e){return(0,d.jsxs)(`svg`,{height:`800px`,width:`800px`,viewBox:`0 0 128 128`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,"aria-hidden":`true`,role:`img`,className:`iconify iconify--noto`,preserveAspectRatio:`xMidYMid meet`,...e,children:[(0,d.jsx)(`path`,{d:`M106 24.79H22.15c-1.92 0-3.48 1.56-3.48 3.48v57.59c0 1.92 1.56 3.48 3.48 3.48H106c1.92 0 3.48-1.56 3.48-3.48V28.27c0-1.92-1.55-3.48-3.48-3.48z`,fill:`#b7d5e5`}),(0,d.jsxs)(`radialGradient`,{id:`IconifyId17ecdb2904d178eab9910`,cx:`48.408`,cy:`13.024`,r:`75.465`,gradientTransform:`matrix(1 0 0 1.0843 0 -10.19)`,gradientUnits:`userSpaceOnUse`,children:[(0,d.jsx)(`stop`,{offset:`0`,stopColor:`#2f7889`}),(0,d.jsx)(`stop`,{offset:`1`,stopColor:`#424242`})]}),(0,d.jsx)(`path`,{fill:`url(#IconifyId17ecdb2904d178eab9910)`,d:`M104.75 83.2H23.4l.96-52.27h79.43z`}),(0,d.jsx)(`path`,{d:`M121.09 123.82H7.59c-.43 0-.83-.03-1.2-.09c-2.88-.44-4.21-4.18-2.5-6.74l.39-.59h119.59l.4.6c1.86 2.78.12 6.76-3.04 6.81c-.04.01-.09.01-.14.01z`,fill:`#2f7889`}),(0,d.jsx)(`path`,{d:`M106.84 90.41H20.6c-1.27 0-2.54.77-3.25 1.99l-14 25.48c-.59.88-.01 2.12.99 2.12H123.8c1 0 1.58-1.24.99-2.12l-14.71-25.63c-.7-1.08-1.97-1.84-3.24-1.84z`,fill:`#eee`}),(0,d.jsx)(`path`,{fill:`#b7d5e5`,d:`M86.36 115.52H41.8l2.85-7.98h39.07z`}),(0,d.jsxs)(`g`,{opacity:`0.57`,fill:`#69a1ba`,children:[(0,d.jsx)(`path`,{d:`M72.69 94.84l-.27-2.2h-3.44l.13 2.2z`}),(0,d.jsx)(`path`,{d:`M67.14 94.84l-.14-2.2h-3.45v2.2z`}),(0,d.jsx)(`path`,{d:`M93.61 94.84l-.81-2.2h-3.26l.68 2.2z`}),(0,d.jsx)(`path`,{d:`M88.36 94.84l-.68-2.2h-3.32l.54 2.2z`}),(0,d.jsx)(`path`,{d:`M83.18 94.84l-.54-2.2h-3.37l.41 2.2z`}),(0,d.jsx)(`path`,{d:`M102.11 94.84l-.95-2.2h-6.71l.82 2.2z`}),(0,d.jsx)(`path`,{d:`M77.61 94.84l-.41-2.2h-3.41l.28 2.2z`}),(0,d.jsx)(`path`,{d:`M33.76 94.84l.68-2.2h-3.26l-.81 2.2z`}),(0,d.jsx)(`path`,{d:`M50.51 94.84l.27-2.2h-3.41l-.4 2.2z`}),(0,d.jsx)(`path`,{d:`M39.35 94.84l.54-2.2h-3.32l-.67 2.2z`}),(0,d.jsx)(`path`,{d:`M28.17 94.84l.81-2.2H25.8l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M44.93 94.84l.41-2.2h-3.37l-.54 2.2z`}),(0,d.jsx)(`path`,{d:`M56.08 94.84l.14-2.2h-3.44l-.27 2.2z`}),(0,d.jsx)(`path`,{d:`M61.65 94.84v-2.2H58.2l-.14 2.2z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M83.78 103.73H44.36l-.75 2.2h41.08z`}),(0,d.jsx)(`path`,{d:`M102.15 105.93l-1.21-2.2h6.54l.95 2.2z`}),(0,d.jsx)(`path`,{d:`M86.75 105.93l-.83-2.2h6.29l.96 2.2z`}),(0,d.jsx)(`path`,{d:`M95.39 105.93l-.96-2.2h4.31l1.1 2.2z`}),(0,d.jsx)(`path`,{d:`M25.67 105.93l1.21-2.2h-6.54l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M41.07 105.93l.83-2.2h-6.29l-.96 2.2z`}),(0,d.jsx)(`path`,{d:`M32.42 105.93l.97-2.2h-4.31l-1.11 2.2z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M29.71 98.51l.82-2.19h-6.67l-.95 2.19z`}),(0,d.jsx)(`path`,{d:`M97.95 98.51l-.81-2.19h6.66l.95 2.19z`}),(0,d.jsx)(`path`,{d:`M96.25 98.51l-.96-2.19h-3.85l.82 2.19z`}),(0,d.jsx)(`path`,{d:`M86.23 98.51l-.65-2.19h3.85l.78 2.19z`}),(0,d.jsx)(`path`,{d:`M80.19 98.51l-.47-2.19h3.85l.6 2.19z`}),(0,d.jsx)(`path`,{d:`M74.15 98.51l-.28-2.19h3.84l.43 2.19z`}),(0,d.jsx)(`path`,{d:`M68.12 98.51l-.11-2.19h3.85l.24 2.19z`}),(0,d.jsx)(`path`,{d:`M62.08 98.51l.07-2.19H66l.06 2.19z`}),(0,d.jsx)(`path`,{d:`M56.04 98.51l.25-2.19h3.85l-.11 2.19z`}),(0,d.jsx)(`path`,{d:`M50.01 98.51l.42-2.19h3.85l-.29 2.19z`}),(0,d.jsx)(`path`,{d:`M43.97 98.51l.6-2.19h3.85l-.47 2.19z`}),(0,d.jsx)(`path`,{d:`M37.93 98.51l.78-2.19h3.85l-.64 2.19z`}),(0,d.jsx)(`path`,{d:`M31.9 98.51l.95-2.19h3.85l-.82 2.19z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M29.7 102.22l.81-2.2h-8.75l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M95.87 102.22l-.77-2.2h-4.17l.64 2.2z`}),(0,d.jsx)(`path`,{d:`M84.93 102.22l-.48-2.2h4.16l.62 2.2z`}),(0,d.jsx)(`path`,{d:`M78.28 102.22l-.32-2.2h4.17l.45 2.2z`}),(0,d.jsx)(`path`,{d:`M71.64 102.22l-.17-2.2h4.17l.3 2.2z`}),(0,d.jsx)(`path`,{d:`M65 102.22l-.01-2.2h4.16l.15 2.2z`}),(0,d.jsx)(`path`,{d:`M58.36 102.22l.14-2.2h4.17l-.01 2.2z`}),(0,d.jsx)(`path`,{d:`M51.71 102.22l.3-2.2h4.17l-.17 2.2z`}),(0,d.jsx)(`path`,{d:`M45.07 102.22l.46-2.2h4.16l-.32 2.2z`}),(0,d.jsx)(`path`,{d:`M38.43 102.22l.61-2.2h4.17l-.48 2.2z`}),(0,d.jsx)(`path`,{d:`M31.78 102.22l.77-2.2h4.17l-.63 2.2z`}),(0,d.jsx)(`path`,{d:`M97.47 102.22l-.82-2.2h8.75l.95 2.2z`})]})]}),(0,d.jsx)(`path`,{d:`M124.73 117.88L110.39 92.4c-.71-1.07-1.98-1.84-3.25-1.84c0 0 1.22 1.1 1.59 1.63l12.59 23.59c.56 1.02-.18 2.26-1.34 2.26H7.96c-1.15 0-1.89-1.23-1.35-2.24l11.95-23.18c.35-.6 1.88-1.99 1.88-1.99h-.45c-1.27 0-2.54.77-3.25 1.99L3.28 117.88c-.59.88-.01 2.12.99 2.12h119.46c1.01 0 1.59-1.24 1-2.12z`,fill:`#b7d5e5`}),(0,d.jsx)(`path`,{fill:`none`,stroke:`#eee`,strokeWidth:`2.936`,strokeLinecap:`round`,strokeMiterlimit:`10`,d:`M25.97 28.02h13.21`}),(0,d.jsx)(`path`,{d:`M109.37 30.11c0-1.04-1.01-1.12-1.01.11v55.8c0 1.34-1.09 2.43-2.43 2.43H22.08c-1.34 0-2.43-1.09-2.43-2.43v-55.8c0-1.23-1.01-1.15-1.01-.11l-.95 55.91c0 2.42 1.24 4.39 4.39 4.39h83.85c2.73 0 4.39-1.97 4.39-4.39l-.95-55.91z`,fill:`#75a7bc`})]})}var ie=[{code:`general`,icon:R,name:`Web`},{code:`news`,icon:z,name:`News`},{code:`videos`,icon:ee,name:`Videos`},{code:`images`,icon:te,name:`Images`},{code:`science`,icon:ne,name:`Academic`},{code:`files`,icon:B,name:`Files`},{code:`it`,icon:re,name:`Tech`}];function ae({...e}){return(0,d.jsx)(f.Root,{"data-slot":`dialog`,...e})}function oe({...e}){return(0,d.jsx)(f.Trigger,{"data-slot":`dialog-trigger`,...e})}function se({...e}){return(0,d.jsx)(f.Portal,{"data-slot":`dialog-portal`,...e})}function ce({className:e,...t}){return(0,d.jsx)(f.Overlay,{"data-slot":`dialog-overlay`,className:j(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 backdrop-blur-xs`,e),...t})}function V({className:e,children:t,hideCloseButton:n=!1,...r}){return(0,d.jsxs)(se,{"data-slot":`dialog-portal`,children:[(0,d.jsx)(ce,{}),(0,d.jsxs)(f.Content,{"data-slot":`dialog-content`,"aria-describedby":r[`aria-describedby`]??void 0,className:j(`z-[9999] bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl border p-6 shadow-lg duration-200`,e),...r,children:[t,!n&&(0,d.jsxs)(f.Close,{className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,d.jsx)(s.XIcon,{}),(0,d.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function le({className:e,...t}){return(0,d.jsx)(f.Title,{"data-slot":`dialog-title`,className:j(`text-lg leading-none font-semibold`,e),...t})}function H({className:e,...t}){return(0,d.jsx)(f.Description,{"data-slot":`dialog-description`,className:j(`text-muted-foreground text-sm`,e),...t})}function ue(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function de(e){return e.iframe_src&&ue(e.iframe_src)?{type:`inline`,src:e.iframe_src}:{type:`external`,url:e.url||``}}var fe=ie.filter(e=>[`general`,`news`,`videos`,`images`,`science`,`files`].includes(e.code)),pe=({sources:e,query:t})=>{let[r,i]=(0,n.useState)(`general`),[a,o]=(0,n.useState)(e),[u,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(!1),[h,g]=(0,n.useState)(1),[_,v]=(0,n.useState)(!0),[y,b]=(0,n.useState)(!1),[x,S]=(0,n.useState)(!1),[C,w]=(0,n.useState)(null),T=(0,n.useRef)(null),E=(0,n.useRef)(!1),D=(0,n.useRef)(!1),{openPanel:O,isOpen:k}=I();(0,n.useEffect)(()=>{let e=()=>{S(localStorage.getItem(`searchResultGlow`)===`true`)};return e(),window.addEventListener(`client-config-changed`,e),window.addEventListener(`storage`,e),()=>{window.removeEventListener(`client-config-changed`,e),window.removeEventListener(`storage`,e)}},[]);let[A,M]=(0,n.useState)({});(0,n.useEffect)(()=>{let e=()=>{b(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{o(e),i(`general`),g(1),v(!0),M({}),N(e)},[e]);let N=(0,n.useCallback)(async e=>{let t=e.filter(e=>e.metadata.url&&e.metadata.url!==`File`&&!e.metadata.iframe_src);for(let e of t)try{let{data:t}=await(0,c.getArticle)({query:{url:e.metadata.url}});t?.cached&&t?.article?.html&&M(t=>({...t,[e.metadata.url]:`loaded`}))}catch{}},[]);(0,n.useEffect)(()=>{if(typeof window<`u`){let e=new URLSearchParams(window.location.search).get(`extract`);e&&(O(decodeURIComponent(e),``),D.current=!1)}},[O]),(0,n.useEffect)(()=>{D.current=!1},[e]),(0,n.useEffect)(()=>{E.current&&!k&&(D.current=!0),E.current=k},[k]),(0,n.useEffect)(()=>{if(y&&a&&a.length>0&&!k&&!D.current){let e=a[0];e?.metadata?.url&&O(e.metadata.url,``)}},[a,y]);let F=async(e,t)=>{e.preventDefault(),D.current=!1,M(e=>({...e,[t]:`loading`})),O(t,``);try{await(0,c.getArticle)({query:{url:t}}),M(e=>({...e,[t]:`loaded`}))}catch{M(e=>({...e,[t]:`loaded`}))}},L=(0,n.useCallback)(async()=>{if(!t||p||!_)return;m(!0);let e=h+1,{data:n}=await(0,c.agentSearch)({query:{q:t,cat:r,page:e}}),i=n?.results??[];if(i.length===0){v(!1),m(!1);return}let a=i.map(e=>{if(e.url)try{let t=new URL(e.url);(t.pathname===`/`||t.pathname===``)&&console.warn(`[MessageSources] Search result URL is domain-only:`,e.url,`Title:`,e.title)}catch{console.error(`[MessageSources] Invalid URL in search result:`,e.url)}return{pageContent:e.snippet||e.content||``,metadata:{title:e.title||``,source:e.source||``,thumbnail:e.thumbnail||``,url:e.url||``,...e.thumbnail&&{thumbnail:e.thumbnail},...e.iframe_src&&{iframe_src:e.iframe_src}}}});o(e=>[...e,...a]),g(e),m(!1)},[t,r,h,p,_]),R=async e=>{if(!(e===r||!t)){i(e),f(!0),g(1),v(!0);try{let{data:n}=await(0,c.agentSearch)({query:{q:t,cat:e,page:1}}),r=(n?.results??[]).map(e=>{if(e.url)try{let t=new URL(e.url);(t.pathname===`/`||t.pathname===``)&&console.warn(`[MessageSources] Category search result URL is domain-only:`,e.url,`Title:`,e.title)}catch{console.error(`[MessageSources] Invalid URL in category search result:`,e.url)}return{pageContent:e.snippet||e.content||``,metadata:{title:e.title||``,source:e.source||``,thumbnail:e.thumbnail||``,url:e.url||``,...e.img_src&&{img_src:e.img_src},...e.thumbnail&&{thumbnail:e.thumbnail},...e.iframe_src&&{iframe_src:e.iframe_src}}}});o(r)}catch(e){console.error(`Error searching:`,e)}finally{f(!1)}}};(0,n.useEffect)(()=>{let e=T.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;n-t-r<100&&L()};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[L]);let z=(e,t)=>{let n=r===`images`,i=r===`videos`,a=e.metadata.img_src||e.metadata.thumbnail;if(n&&a)return(0,d.jsx)(`div`,{className:`relative rounded-lg group`,children:(0,d.jsxs)(`a`,{className:`relative block overflow-hidden rounded-lg cursor-pointer`,href:e.metadata.url,onClick:t=>F(t,e.metadata.url),children:[(0,d.jsx)(`img`,{src:a,alt:e.metadata.title,className:`w-full h-auto object-cover rounded-lg hover:scale-105 transition-transform duration-200`,loading:`lazy`}),(0,d.jsxs)(`div`,{className:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:[(0,d.jsx)(`p`,{className:`text-xs text-white line-clamp-2`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)}),(0,d.jsx)(`p`,{className:`text-[10px] text-white/70 truncate mt-0.5`,children:e.metadata.source})]})]})},t);if(i&&a){let n=de(e.metadata),r=(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(`img`,{src:a,alt:e.metadata.title,className:`w-full h-24 object-cover`}),(0,d.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,d.jsx)(`div`,{className:`w-10 h-10 bg-black/60 rounded-full flex items-center justify-center`,children:(0,d.jsx)(s.Video,{size:18,className:`text-white ml-0.5`})})})]}),i=(0,d.jsx)(`p`,{className:`text-xs line-clamp-2 p-2 text-muted-foreground`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)});return(0,d.jsxs)(`div`,{className:`relative rounded-xl`,children:[(0,d.jsx)(P,{spread:40,glow:!0,disabled:!x,proximity:64,inactiveZone:.01,borderWidth:2}),n.type===`inline`?(0,d.jsxs)(`button`,{type:`button`,className:`relative w-full text-left bg-card text-card-foreground border border-border rounded-xl overflow-hidden flex flex-col cursor-pointer shadow-sm hover:shadow-md transition-all duration-200`,onClick:()=>w({src:n.src,title:e.metadata.title}),children:[r,i]}):(0,d.jsxs)(`a`,{className:`relative bg-card text-card-foreground border border-border rounded-xl overflow-hidden flex flex-col cursor-pointer shadow-sm hover:shadow-md transition-all duration-200`,href:n.url,target:`_blank`,rel:`noopener noreferrer`,children:[r,i]})]},t)}let o=A[e.metadata.url];return(0,d.jsxs)(`div`,{className:`relative rounded-xl group h-full`,children:[(0,d.jsx)(P,{spread:40,glow:!0,disabled:!x,proximity:64,inactiveZone:.01,borderWidth:2}),(0,d.jsxs)(`div`,{className:`relative bg-card text-card-foreground border border-border rounded-xl p-2.5 flex flex-col font-medium cursor-pointer shadow-sm hover:shadow-md transition-all duration-200 h-full`,onClick:t=>F(t,e.metadata.url),children:[o&&(0,d.jsx)(`div`,{className:`absolute top-1.5 left-1.5 p-1 rounded-md bg-background/80 backdrop-blur-sm z-[5]`,children:o===`loading`?(0,d.jsx)(s.Loader2,{size:14,className:`text-primary animate-spin`}):(0,d.jsx)(s.FileText,{size:14,className:`text-green-500`})}),(0,d.jsx)(`a`,{href:e.metadata.url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),className:`absolute top-1.5 right-1.5 p-1 rounded-md bg-secondary/50 opacity-0 group-hover:opacity-100 transition-opacity hover:bg-secondary z-10`,title:`Open in new tab`,children:(0,d.jsx)(s.ExternalLink,{size:12,className:`text-muted-foreground`})}),(0,d.jsxs)(`p`,{className:`text-xs line-clamp-4 text-muted-foreground`,children:[(0,d.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-semibold text-foreground/70 align-middle`,children:[e.metadata.url===`File`?(0,d.jsx)(`span`,{className:`inline-flex items-center justify-center w-3.5 h-3.5 rounded-full bg-secondary flex-shrink-0`,children:(0,d.jsx)(s.File,{size:10,className:`text-muted-foreground`})}):(0,d.jsx)(`img`,{src:`https://s2.googleusercontent.com/s2/favicons?domain_url=${e.metadata.url}`,width:20,height:20,alt:`favicon`,className:`inline rounded h-5 w-5 flex-shrink-0`}),e.metadata.source]}),` `,(0,d.jsx)(`span`,{className:`align-middle`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)})]})]})]},t)};return(0,d.jsxs)(d.Fragment,{children:[t&&(0,d.jsx)(`div`,{className:`flex items-center gap-1 mb-3 overflow-x-auto pb-1`,children:fe.map(e=>(0,d.jsxs)(`button`,{onClick:()=>R(e.code),disabled:u,className:j(`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-all duration-200 whitespace-nowrap`,r===e.code?`bg-primary text-primary-foreground`:`bg-secondary/50 text-muted-foreground hover:bg-secondary hover:text-foreground`),children:[(0,d.jsx)(e.icon,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:e.name})]},e.code))}),(0,d.jsx)(`div`,{ref:T,className:j(`overflow-y-auto pb-2 pr-1`,r===`images`?`max-h-[400px] lg:max-h-[500px]`:`max-h-[180px] lg:max-h-[280px]`),children:u?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(s.Loader2,{className:`w-6 h-6 animate-spin text-muted-foreground`})}):a.length>0?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:j(r===`images`?`columns-2 sm:columns-3 lg:columns-4 gap-2 [&>div]:mb-2 [&>div]:break-inside-avoid`:j(`grid gap-3 auto-rows-fr`,k&&y?`grid-cols-2`:`grid-cols-3`)),children:a.map((e,t)=>z(e,t))}),p&&(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4`,children:(0,d.jsx)(s.Loader2,{className:`w-5 h-5 animate-spin text-muted-foreground`})}),!_&&a.length>0&&(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4 text-muted-foreground text-xs`,children:`No more results`})]}):(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground text-sm`,children:`No results found`})}),(0,d.jsx)(ae,{open:C!==null,onOpenChange:e=>!e&&w(null),children:(0,d.jsxs)(V,{className:`max-w-3xl p-0 overflow-hidden gap-0`,children:[(0,d.jsx)(le,{className:`sr-only`,children:C?.title||`Video player`}),C&&(0,d.jsx)(`iframe`,{src:C.src,title:C.title||`Video player`,className:`w-full aspect-video`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:!0})]})})]})},me={extract:`Extract`,arxiv:`ArXiv`,"google scholar":`Scholar`,pubmed:`PubMed`,wolframalpha:`Wolfram`,youtube:`YouTube`,Web:`Web`};function he(e){return e?me[e]??e:`Web`}function ge({queries:e,loading:t}){let n=e.filter(e=>e.status===`done`).length,r=e.length,i=t&&e.some(e=>e.status===`running`);return t?(0,d.jsxs)(`div`,{className:`rounded-xl border border-border bg-secondary/20 overflow-hidden text-sm`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border/50`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[i?(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 animate-spin`}):(0,d.jsx)(s.Search,{className:`w-3.5 h-3.5`}),(0,d.jsx)(`span`,{className:`font-medium text-foreground`,children:i?`Running analysis…`:`Analysis complete`})]}),r>0&&(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:[n,`/`,r,` searches`]})]}),e.length>0&&(0,d.jsx)(`div`,{className:`divide-y divide-border/40`,children:e.map((e,t)=>(0,d.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-2`,children:[e.status===`running`?(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 text-muted-foreground animate-spin flex-shrink-0`}):(0,d.jsx)(s.Search,{className:j(`w-3.5 h-3.5 flex-shrink-0`,e.status===`done`?`text-muted-foreground`:`text-muted-foreground/40`)}),(0,d.jsxs)(`div`,{className:`flex items-baseline gap-1.5 min-w-0 flex-1`,children:[(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap flex-shrink-0`,children:[he(e.category),` ·`]}),(0,d.jsx)(`span`,{className:`text-foreground/80 truncate`,children:e.query})]})]},t))})]}):null}var U={device:`webgpu`,dtype:`fp32`},_e={device:`wasm`,dtype:`q8`},ve=`hexgrad/Kokoro-82M`,ye=null,be=null;function xe(){return typeof navigator<`u`&&`gpu`in navigator}async function Se(){if(!xe())return!1;try{return await navigator.gpu.requestAdapter()!=null}catch{return!1}}async function Ce(){let e=[];await Se()&&e.push(U),e.push(_e);let{KokoroTTS:t}=await import(`kokoro-js`),n;for(let r of e)try{let e=await t.from_pretrained(ve,{device:r.device,dtype:r.dtype});return be=r.device,e}catch(e){n=e,console.warn(`Kokoro model failed to load on "${r.device}" backend:`,e)}throw n instanceof Error?n:Error(`Failed to load Kokoro model`)}async function we(){return ye||=Ce().catch(e=>{throw ye=null,e}),ye}async function Te(){return we()}async function Ee(){let e=await Te();return Object.keys(e.voices)}function De(){return be}function Oe(e,t){let[r,i]=(0,n.useState)(`stopped`),a=(0,n.useRef)(null),o=(0,n.useRef)(null),s=(0,n.useRef)(null),c=(0,n.useRef)(t);c.current=t;let l=(0,n.useCallback)(()=>{a.current&&=(a.current.pause(),a.current.src.startsWith(`blob:`)&&URL.revokeObjectURL(a.current.src),null),s.current?.abort(),s.current=null},[]),u=(0,n.useCallback)(()=>{if(!(`speechSynthesis`in window))return!1;try{window.speechSynthesis.cancel();let t=new SpeechSynthesisUtterance(e);return o.current=t,t.onend=()=>{o.current=null,i(`stopped`)},t.onerror=()=>{o.current=null,i(`stopped`)},window.speechSynthesis.speak(t),i(`started`),!0}catch{return!1}},[e]);return{speechStatus:r,start:(0,n.useCallback)(async()=>{if(!e?.trim())return;l(),window.speechSynthesis?.cancel(),o.current=null,i(`started`);let t=new AbortController;s.current=t;try{if(localStorage.getItem(`useTTSKokoro`)!==`false`)try{let t=await Te(),n=localStorage.getItem(`kokoroVoice`)||`af_heart`,r=(await t.generate(e.slice(0,5e3),{voice:n})).toWav(),o=new Blob([r],{type:`audio/wav`}),s=URL.createObjectURL(o),c=new Audio(s);a.current=c,c.onended=()=>{i(`stopped`),URL.revokeObjectURL(s),a.current=null},c.onerror=()=>{URL.revokeObjectURL(s),a.current=null,u()||i(`stopped`)},await c.play();return}catch(e){console.debug(`Kokoro TTS unavailable, using server-side TTS:`,e instanceof Error?e.message:String(e))}let n=await(0,p.default)(`agent/voice`,{method:`POST`,body:{text:e.slice(0,5e3),voice:localStorage.getItem(`kokoroVoice`)||`af_heart`},signal:t.signal}),r=typeof n.blob==`function`?await n.blob():n;if(!r||r.size===0){u()||i(`stopped`);return}let o=URL.createObjectURL(r),s=new Audio(o);a.current=s,s.onended=()=>{i(`stopped`),URL.revokeObjectURL(o),a.current=null},s.onerror=()=>{URL.revokeObjectURL(o),a.current=null,u()||i(`stopped`)},await s.play()}catch{u()||i(`stopped`)}},[e,l,u]),stop:(0,n.useCallback)(()=>{l(),o.current=null,window.speechSynthesis?.cancel(),i(`stopped`)},[l])}}var ke=async(e,t,n)=>{let r=localStorage.getItem(`chatModelKey`),i=localStorage.getItem(`chatModelProviderId`),a=(await(0,p.default)(`agent/providers`))?.providers||[];if(!a||a.length===0){t(!0);return}let o=a.find(e=>e.id===i&&(e.chatModels?.length??0)>0);if(o||=a.find(e=>e.name.toLowerCase().includes(`openrouter`)&&(e.chatModels?.length??0)>0)||a.find(e=>e.name.toLowerCase().includes(`anyapi`)&&(e.chatModels?.length??0)>0)||a.find(e=>e.name.toLowerCase().includes(`nvidia`)&&(e.chatModels?.length??0)>0)||a.find(e=>(e.chatModels?.length??0)>0),!o){t(!0);return}i=o.id;let s=o.chatModels.find(e=>e.key===r);if(s||(o.name.toLowerCase().includes(`openrouter`)&&(s=o.chatModels.find(e=>e.key===`openrouter/free`)),!s&&o.name.toLowerCase().includes(`openrouter`)&&(s=o.chatModels.find(e=>e.key===`nvidia/nemotron-3-super-120b-a12b:free`)),!s&&o.name.toLowerCase().includes(`anyapi`)&&(s=o.chatModels.find(e=>e.key===`deepseek/deepseek-v3:free`)),s||=o.chatModels.find(e=>(e.key.toLowerCase().includes(`nemotron-3-super`)||e.name.toLowerCase().includes(`nemotron 3 super`))&&e.key.toLowerCase().includes(`120b`)),s||=o.chatModels.find(e=>e.key.toLowerCase().includes(`nemotron`)||e.name.toLowerCase().includes(`nemotron`)),s||=o.chatModels[0]),!s){t(!0);return}r=s.key,localStorage.setItem(`chatModelKey`,r),localStorage.setItem(`chatModelProviderId`,i),e({key:r,providerId:i}),t(!0)},Ae=`qwksearch_guest_chats`,W=typeof window<`u`;function je(){if(!W)return[];try{let e=localStorage.getItem(Ae);return e?JSON.parse(e).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()):[]}catch(e){return console.error(`Failed to get guest chats:`,e),[]}}function Me(e){return W&&je().find(t=>t.id===e)||null}function Ne(e){if(W)try{let t=je(),n=t.findIndex(t=>t.id===e.id);n>=0?t[n]=e:t.push(e),localStorage.setItem(Ae,JSON.stringify(t))}catch(e){console.error(`Failed to save guest chat:`,e)}}function Pe(e){if(W)try{let t=je().filter(t=>t.id!==e);localStorage.setItem(Ae,JSON.stringify(t))}catch(e){console.error(`Failed to delete guest chat:`,e)}}function Fe(){if(W)try{localStorage.removeItem(Ae)}catch(e){console.error(`Failed to clear guest chats:`,e)}}function Ie(e,t){if(!W)return;let n=Me(e);n&&(n.title=t,Ne(n))}var Le=async(e,t,n,r,i,a,o,s,l)=>{if(!t){let t=Me(e);if(t){n(t.messages);let e=t.messages.filter(e=>e.role===`user`||e.role===`assistant`),o=e.map(e=>[e.role,e.content]);e.length>0&&(document.title=e[0].content),s(t.files||[]),l((t.files||[]).map(e=>e.fileId)),i(o),a(t.focusMode),r(!0);return}try{let{data:t,error:u}=await(0,c.getChatById)({path:{id:e}});if(u){let e=u.status;if(e===404||e===403){o(!0),r(!0);return}throw Error(`Failed to load chat: ${u.message}`)}let{messages:d,chat:f}=t||{};if(!d||!f){o(!0),r(!0);return}n(d);let p=d.filter(e=>e.role===`user`||e.role===`assistant`),m=p.map(e=>[e.role,e.content]);p.length>0&&(document.title=p[0].content);let h=f.files.map(e=>({fileName:e.name,fileExtension:e.name.split(`.`).pop(),fileId:e.fileId}));s(h),l(h.map(e=>e.fileId)),i(m),a(f.focusMode),r(!0);return}catch(e){console.error(`[chatMessages] Failed to load public chat:`,e),o(!0),r(!0);return}}try{let{data:t,error:u}=await(0,c.getChatById)({path:{id:e}});if(u){let e=u.status;if(e===404||e===401||e===403){o(!0),r(!0);return}throw Error(`Failed to load chat: ${u.message}`)}let{messages:d,chat:f}=t||{};if(!d||!f){o(!0),r(!0);return}n(d);let p=d.filter(e=>e.role===`user`||e.role===`assistant`),m=p.map(e=>[e.role,e.content]);console.debug(new Date,`app:messages_loaded`),p.length>0&&(document.title=p[0].content);let h=f.files.map(e=>({fileName:e.name,fileExtension:e.name.split(`.`).pop(),fileId:e.fileId}));s(h),l(h.map(e=>e.fileId)),i(m),a(f.focusMode),r(!0)}catch(e){console.error(`[chatMessages] Failed to load chat:`,e),o(!0),r(!0)}},Re=e=>{let t=[];return e.forEach((n,r)=>{if(n.role===`user`){let i=e.findIndex((e,t)=>t>r&&e.role===`user`),a=e.find((e,t)=>t>r&&e.role===`assistant`&&(i===-1||t<i)),o=e.find((e,t)=>t>r&&e.role===`source`&&e.sources&&(i===-1||t<i)),s=e.find((e,t)=>t>r&&e.role===`searching`&&(i===-1||t<i)),c=!1,l=a?.content??``,u=a?.content??``,d=[];if(a){let t=/\[([^\]]+)\]/g,n=/\[(\d+)\]/g;if(l.includes(`<think>`)){let e=l.match(/<think>/g)?.length||0,t=l.match(/<\/think>/g)?.length||0;e&&!t&&(l+=`</think> <a> </a>`)}a.content.includes(`</think>`)&&(c=!0),o&&o.sources&&o.sources.length>0?(l=l.replace(t,(e,t)=>t.split(`,`).map(e=>e.trim()).map(e=>{let t=parseInt(e);if(isNaN(t)||t<=0)return`[${e}]`;let n=(o.sources?.[t-1])?.metadata?.url;return n?`<citation href="${n}">${e}</citation>`:``}).join(``)),u=a.content.replace(n,``)):(l=l.replace(n,``),u=a.content.replace(n,``));let s=e.find((e,t)=>t>r&&e.role===`suggestion`&&(i===-1||t<i));s&&s.suggestions.length>0&&(d=s.suggestions)}t.push({userMessage:n,assistantMessage:a,sourceMessage:o,searchingMessage:s,parsedAssistantMessage:l,speechMessage:u,thinkingEnded:c,suggestions:d})}}),t},ze=async e=>{let t=localStorage.getItem(`chatModelKey`),n=localStorage.getItem(`chatModelProviderId`),r=parseInt(localStorage.getItem(`maxFollowupQuestions`)||`4`),i=e.filter(e=>e.role===`user`||e.role===`assistant`);try{let e=await(0,p.default)(`agent/suggestions`,{method:`POST`,body:JSON.stringify({chatHistory:i,chatModel:{providerId:n,key:t},maxQuestions:r})});return Array.isArray(e.suggestions)?e.suggestions:[]}catch{return[]}},Be=3,Ve=`Analyze the uploaded file(s) and summarize the key points.`,He=()=>Array.from(crypto.getRandomValues(new Uint8Array(7)),e=>e.toString(16).padStart(2,`0`)).join(``),Ue=`sourceExtractionEnabled`,We=`thinkingTimeLimit`;async function Ge(e,n){let{message:r,messageId:i,rewrite:a=!1}=e,{chatId:o,loading:s,messages:l,fileIds:u,files:d,focusMode:f,category:h,optimizationMode:g,chatHistory:_,chatModelProvider:v,isAuthenticated:y,messagesRef:b,abortControllerRef:x,setLoading:S,setMessageAppeared:C,setMessages:w,setChatHistory:T,setChatModelProvider:E}=n,D=typeof window<`u`&&localStorage.getItem(Ue)===`true`,O=typeof window<`u`&&Number(localStorage.getItem(We)??`0`)||0;if(s)return;let k=r?.trim()??``,A=Array.isArray(u)&&u.length>0;if(!k&&!A)return;let j=k?r:Ve,M=new AbortController;if(x.current=M,S(!0),C(!1),l.length<=1&&!t.researchAgentUIConfig.onOpenChat){let e=new URL(window.location.href);e.searchParams.set(`chat`,o),window.history.replaceState(null,``,`${e.pathname}?${e.searchParams.toString()}${e.hash}`)}let N=``,P=!1,F=!1,I=[],L=Date.now(),R=O>0,z=``,ee=``,te=i??He(),ne=Array.isArray(d)?[...d]:[];w(e=>[...e,{content:j,messageId:te,chatId:o,role:`user`,createdAt:new Date,...ne.length>0?{files:ne}:{}}]);let B=async e=>{if(e.type===`error`){let t=e.data;typeof t==`string`&&(t.includes(`no longer available`)||t.includes(`deprecated`)||t.includes(`410`))&&(localStorage.removeItem(`chatModelKey`),localStorage.removeItem(`chatModelProviderId`),E?.({key:``,providerId:``})),m.toast.error(t),S(!1);return}if(e.type===`searching`){let t=e.data;w(n=>{let r=n.findIndex(t=>t.messageId===e.messageId&&t.role===`searching`);return r===-1?[...n,{role:`searching`,messageId:e.messageId,chatId:o,createdAt:new Date,queries:[{query:t.query,category:t.category,status:t.status}]}]:n.map((e,n)=>{if(n!==r)return e;let i=e,a=i.queries.findIndex(e=>e.query===t.query);if(a===-1)return{...i,queries:[...i.queries,{query:t.query,category:t.category,status:t.status}]};let o=i.queries.map((e,n)=>n===a?{...e,status:t.status}:e);return{...i,queries:o}})})}if(e.type===`sources`&&(I=e.data||[],w(t=>[...t,{messageId:e.messageId,chatId:o,role:`source`,sources:I,createdAt:new Date}]),I.length>0&&(C(!0),I.slice(0,Be).forEach(e=>{let t=e?.metadata?.url;t&&t!==`File`&&(0,p.default)(`doc/article?url=${encodeURIComponent(t)}`).catch(()=>{})}))),e.type===`message`&&(N+=e.data,R?(z+=e.data,ee||=e.messageId,P=!0):P?w(t=>t.map(t=>t.messageId===e.messageId&&t.role===`assistant`?{...t,content:t.content+e.data}:t)):(w(t=>[...t,{content:e.data,messageId:e.messageId,chatId:o,role:`assistant`,createdAt:new Date}]),P=!0,C(!0))),e.type===`messageEnd`){let e=async()=>{R&&z&&(w(e=>[...e,{content:z,messageId:ee,chatId:o,role:`assistant`,createdAt:new Date}]),C(!0)),T(e=>[...e,[`human`,j],[`assistant`,N]]),S(!1);let e=b.current[b.current.length-1];if(t.researchAgentUIConfig.getAutoMediaSearch()&&(document.getElementById(`search-images-${e.messageId}`)?.click(),document.getElementById(`search-videos-${e.messageId}`)?.click()),!F){F=!0;let e=await ze(b.current),t=He();if(w(n=>[...n,{role:`suggestion`,suggestions:e,chatId:o,createdAt:new Date,messageId:t}]),y&&e.length>0)try{await(0,c.saveMessage)({body:{chatId:o,messageId:t,role:`suggestion`,suggestions:e}})}catch(e){console.error(`Failed to save suggestions:`,e)}}};if(R){let e=Date.now()-L,t=O*1e3-e;t>0&&await new Promise(e=>setTimeout(e,t))}await e()}},re=l.findIndex(e=>e.messageId===te);try{let{stream:e}=await(0,c.agentChat)({signal:M.signal,body:{message:{messageId:te,chatId:o,content:j},optimizationMode:g,focusMode:f,category:h,history:a?_.slice(0,re===-1?void 0:re):_,files:u,chatModel:{key:v.key,providerId:v.providerId},sourceExtractionEnabled:D,thinkingTimeLimit:O,systemInstructions:localStorage.getItem(`systemInstructions`)??void 0},onSseError:e=>{if((e instanceof Error?e.message:String(e)).includes(`401`)&&y){m.toast.error(`Your session has expired. Please sign in again.`),S(!1),window.location.href=`/`;return}m.toast.error(`Failed to send message. Please try again.`),S(!1)}});for await(let t of e)await B(t)}catch(e){if(e.name===`AbortError`){R&&z&&(w(e=>[...e,{content:z,messageId:ee,chatId:o,role:`assistant`,createdAt:new Date}]),C(!0)),N&&T(e=>[...e,[`human`,j],[`assistant`,N]]),S(!1),x.current=null;return}throw e}x.current=null}function Ke(e){let[t,r]=(0,n.useState)(e),[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(!1),[c,l]=(0,n.useState)(!1),[u,d]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(!1),[g,_]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),[b,x]=(0,n.useState)([]),[S,C]=(0,n.useState)([]),[w,T]=(0,n.useState)([]),[E,D]=(0,n.useState)([]),[O,k]=(0,n.useState)(`webSearch`),[A,j]=(0,n.useState)(`general`),[M,N]=(0,n.useState)(`speed`),[P,F]=(0,n.useState)({key:``,providerId:``}),I=(0,n.useRef)([]),L=(0,n.useMemo)(()=>S.filter(e=>e.role===`user`||e.role===`assistant`),[S]),R=(0,n.useMemo)(()=>Re(S),[S]);return{state:{chatId:t,newChatCreated:i,loading:o,messageAppeared:c,chatHistory:b,messages:S,files:w,fileIds:E,focusMode:O,category:A,optimizationMode:M,isMessagesLoaded:u,notFound:v,chatModelProvider:P,isConfigReady:f,hasError:m,isReady:g},setters:{setChatId:r,setNewChatCreated:a,setLoading:s,setMessageAppeared:l,setChatHistory:x,setMessages:C,setFiles:T,setFileIds:D,setFocusMode:k,setCategory:j,setOptimizationMode:N,setIsMessagesLoaded:d,setNotFound:y,setChatModelProvider:F,setIsConfigReady:p,setHasError:h,setIsReady:_},messagesRef:I,chatTurns:L,sections:R}}var qe=(0,n.createContext)({chatHistory:[],chatId:``,fileIds:[],files:[],focusMode:``,category:``,hasError:!1,isMessagesLoaded:!1,isReady:!1,loading:!1,messageAppeared:!1,messages:[],chatTurns:[],sections:[],notFound:!1,optimizationMode:``,chatModelProvider:{key:``,providerId:``},rewrite:()=>{},sendMessage:async()=>{},setFileIds:()=>{},setFiles:()=>{},deleteAttachedFile:async()=>{},setFocusMode:()=>{},setCategory:()=>{},setOptimizationMode:()=>{},setChatModelProvider:()=>{},stopStreaming:()=>{},newChat:()=>{},startNewChat:()=>{},switchToChat:()=>{},incognito:!1,setIncognito:()=>{}});function G(){return(0,n.useContext)(qe)}var Je=async(e,t)=>{let n=localStorage.getItem(`chatModelKey`),r=localStorage.getItem(`chatModelProviderId`),i=t.filter(e=>e.role===`user`||e.role===`assistant`).map(e=>({role:e.role,content:e.content??``}));if(i.length===0)return``;try{let t=await(0,p.default)(`agent/chat-title`,{method:`POST`,body:JSON.stringify({chatId:e,chatHistory:i,chatModel:{providerId:r,key:n}})});return typeof t.title==`string`?t.title:``}catch{return``}},Ye=(0,n.createContext)({user:null,isLoading:!0,isAuthenticated:!1,signIn:()=>{},signOut:async()=>{}});function Xe({children:e,authClient:t,enableGoogleOneTap:r=!0}){let[i,a]=(0,n.useState)(null),[o,s]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{(async()=>{try{let{data:e}=await t.getSession();a(e?.user??null)}catch(e){console.error(`Failed to fetch session:`,e),a(null)}finally{s(!1)}})()},[]),(0,n.useEffect)(()=>{o||i||!r||t.oneTap({fetchOptions:{onSuccess:async()=>{let{data:e}=await t.getSession();a(e?.user??null)}}})},[o,i,r]),(0,d.jsx)(Ye.Provider,{value:{user:i,isLoading:o,isAuthenticated:!!i,signIn:()=>{t.signIn.social({provider:`google`,callbackURL:`/`})},signOut:async()=>{try{await t.signOut({fetchOptions:{onSuccess:()=>{a(null),window.location.href=`/`}}})}catch(e){console.error(`Sign out failed:`,e)}}},children:e})}function Ze(){let e=(0,n.useContext)(Ye);if(!e)throw Error(`useSession must be used within SessionProvider`);return e}function Qe({children:e}){let t=(0,r.useParams)(),i=(0,r.useSearchParams)(),a=(0,r.useRouter)(),o=i.get(`q`),{isAuthenticated:s,isLoading:l}=Ze(),{state:u,setters:f,messagesRef:p,chatTurns:h,sections:g}=Ke(t.chatId),_=(0,n.useRef)(null),[v,y]=(0,n.useState)(!1),b=(0,n.useRef)({}),x=(0,n.useRef)(new Set);(0,n.useEffect)(()=>{ke(f.setChatModelProvider,f.setIsConfigReady,f.setHasError)},[]),(0,n.useEffect)(()=>{t.chatId&&t.chatId!==u.chatId&&(f.setChatId(t.chatId),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setIsMessagesLoaded(!1),f.setNotFound(!1),f.setNewChatCreated(!1))},[t.chatId,u.chatId]),(0,n.useEffect)(()=>{if(u.chatId&&!u.newChatCreated&&!u.isMessagesLoaded&&u.messages.length===0){if(l)return;Le(u.chatId,s,f.setMessages,f.setIsMessagesLoaded,f.setChatHistory,f.setFocusMode,f.setNotFound,f.setFiles,f.setFileIds)}else u.chatId||(f.setNewChatCreated(!0),f.setIsMessagesLoaded(!0),f.setChatId(crypto.randomUUID()))},[u.chatId,u.isMessagesLoaded,u.newChatCreated,u.messages.length,s,l]),(0,n.useEffect)(()=>{if(!v&&!s&&u.chatId&&u.messages.length>0){let e=u.messages.filter(e=>e.role===`user`||e.role===`assistant`);if(e.length>0){let t=b.current[u.chatId]??e[0].content.slice(0,50);Ne({id:u.chatId,title:t,createdAt:new Date().toISOString(),focusMode:u.focusMode,files:u.files,messages:u.messages})}}},[u.messages,u.chatId,s,u.focusMode,u.files]),(0,n.useEffect)(()=>{if(v||!u.chatId||!u.isMessagesLoaded||!u.newChatCreated||u.loading||h.filter(e=>e.role===`user`).length<2)return;let e=u.chatId;x.current.has(e)||(x.current.add(e),(async()=>{let t=await Je(e,u.messages);if(!t){x.current.delete(e);return}b.current[e]=t,s||Ie(e,t)})())},[h,u.messages,u.chatId,u.loading,u.isMessagesLoaded,u.newChatCreated,v,s]),(0,n.useEffect)(()=>{p.current=u.messages},[u.messages]),(0,n.useEffect)(()=>{u.isMessagesLoaded&&u.isConfigReady?(f.setIsReady(!0),console.debug(new Date,`app:ready`)):f.setIsReady(!1)},[u.isMessagesLoaded,u.isConfigReady]),(0,n.useEffect)(()=>{u.isReady&&o&&u.isConfigReady&&S(o)},[u.isConfigReady,u.isReady,o]);let S=(0,n.useCallback)(async(e,t,n=!1)=>{u.chatId&&await Ge({message:e,messageId:t,rewrite:n},{chatId:u.chatId,loading:u.loading,messages:u.messages,fileIds:u.fileIds,files:u.files,focusMode:u.focusMode,category:u.category,optimizationMode:u.optimizationMode,chatHistory:u.chatHistory,chatModelProvider:u.chatModelProvider,isAuthenticated:s,messagesRef:p,abortControllerRef:_,setLoading:f.setLoading,setMessageAppeared:f.setMessageAppeared,setMessages:f.setMessages,setChatHistory:f.setChatHistory,setChatModelProvider:f.setChatModelProvider})},[u.chatId,u.loading,u.messages,u.fileIds,u.files,u.focusMode,u.category,u.optimizationMode,u.chatHistory,u.chatModelProvider,s,p]),C=(0,n.useCallback)(e=>{let t=u.messages.findIndex(t=>t.messageId===e),n=h.findIndex(t=>t.messageId===e);if(t===-1)return;let r=h[n-1];f.setMessages(e=>[...e.slice(0,u.messages.length>2?u.messages.indexOf(r):0)]),f.setChatHistory(e=>[...e.slice(0,h.length>2?n-1:0)]),S(r.content,r.messageId,!0)},[u.messages,h,S]),w=(0,n.useCallback)(async e=>{f.setFiles(u.files.filter(t=>t.fileId!==e)),f.setFileIds(u.fileIds.filter(t=>t!==e)),f.setMessages(t=>t.map(t=>{if(t.role!==`user`)return t;let n=t;return n.files?.some(t=>t.fileId===e)?{...n,files:n.files.filter(t=>t.fileId!==e)}:t}));try{let{error:t}=await(0,c.deleteUploadedFile)({query:{fileId:e}});if(t)throw Error(t.message??`Delete failed`)}catch(e){console.error(`[ChatProvider] Failed to delete uploaded file:`,e),m.toast.error(`Removed from the chat, but the file could not be deleted from storage.`)}},[u.files,u.fileIds]),T=(0,n.useCallback)(()=>{_.current&&=(_.current.abort(),null)},[]),E=(0,n.useCallback)(()=>{T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setChatId(void 0),f.setNewChatCreated(!1),f.setIsMessagesLoaded(!1),f.setNotFound(!1),a.push(`/`)},[T,a]),D=(0,n.useCallback)(e=>{T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setNotFound(!1),f.setNewChatCreated(!0),f.setIsMessagesLoaded(!0),f.setChatId(e)},[T]),O=(0,n.useCallback)(e=>{e!==u.chatId&&(T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setIsMessagesLoaded(!1),f.setNotFound(!1),f.setNewChatCreated(!1),f.setChatId(e))},[T,u.chatId]),k={messages:u.messages,chatTurns:h,sections:g,chatHistory:u.chatHistory,files:u.files,fileIds:u.fileIds,focusMode:u.focusMode,category:u.category,chatId:u.chatId,hasError:u.hasError,isMessagesLoaded:u.isMessagesLoaded,isReady:u.isReady,loading:u.loading,messageAppeared:u.messageAppeared,notFound:u.notFound,optimizationMode:u.optimizationMode,chatModelProvider:u.chatModelProvider,incognito:v,setFileIds:f.setFileIds,setFiles:f.setFiles,deleteAttachedFile:w,setFocusMode:f.setFocusMode,setCategory:f.setCategory,setOptimizationMode:f.setOptimizationMode,rewrite:C,sendMessage:S,setChatModelProvider:f.setChatModelProvider,stopStreaming:T,newChat:E,startNewChat:D,switchToChat:O,setIncognito:y};return(0,d.jsx)(qe.Provider,{value:k,children:e})}function $e({delayDuration:e=0,...t}){return(0,d.jsx)(h.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function K({...e}){return(0,d.jsx)($e,{children:(0,d.jsx)(h.Root,{"data-slot":`tooltip`,...e})})}function q({...e}){return(0,d.jsx)(h.Trigger,{"data-slot":`tooltip-trigger`,...e})}function J({className:e,sideOffset:t=0,children:n,...r}){return(0,d.jsx)(h.Portal,{children:(0,d.jsxs)(h.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:j(`bg-popover text-popover-foreground border border-border shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-2xl px-3 py-1.5 text-xs text-balance`,e),...r,children:[n,(0,d.jsx)(h.Arrow,{className:`bg-popover fill-popover z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]`})]})})}var et=({href:e,children:t,sources:r})=>{let{openPanel:i}=I(),a=(0,n.useMemo)(()=>!r||!e?null:r.find(t=>t.metadata?.url===e)??null,[r,e]),o=(0,n.useMemo)(()=>{try{return new URL(e).hostname.replace(`www.`,``)}catch{return a?.metadata?.source||``}},[e,a]),s=a?.metadata?.title||``,c=`https://s2.googleusercontent.com/s2/favicons?domain_url=${e}`;return(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`a`,{href:e,onClick:t=>{t.preventDefault(),i(e,``)},className:`bg-light-secondary dark:bg-dark-secondary px-1 rounded ml-1 no-underline text-xs text-black/70 dark:text-white/70 relative cursor-pointer hover:bg-black/10 dark:hover:bg-white/20 transition-colors`,children:t})}),(0,d.jsx)(J,{side:`top`,className:`max-w-72 p-2.5`,children:(0,d.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,d.jsx)(`img`,{src:c,alt:``,width:16,height:16,className:`rounded flex-shrink-0 mt-0.5`}),(0,d.jsxs)(`div`,{className:`min-w-0`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium leading-snug line-clamp-2`,children:s||o}),s&&(0,d.jsx)(`p`,{className:`text-[10px] opacity-70 truncate mt-0.5`,children:o})]})]})})]})},tt=({content:e,thinkingEnded:t})=>{let[r,i]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{i(!t)},[t]),(0,d.jsxs)(`div`,{className:`my-4 bg-secondary/50 rounded-xl border border-border overflow-hidden`,children:[(0,d.jsxs)(`button`,{onClick:()=>i(!r),className:`w-full flex items-center justify-between px-4 py-1 text-foreground/90 hover:bg-secondary transition duration-200`,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(s.BrainCircuit,{size:20,className:`text-accent-foreground`}),(0,d.jsx)(`p`,{className:`font-medium text-sm`,children:`Thinking Process`})]}),r?(0,d.jsx)(s.ChevronUp,{size:18,className:`text-muted-foreground`}):(0,d.jsx)(s.ChevronDown,{size:18,className:`text-muted-foreground`})]}),r&&(0,d.jsx)(`div`,{className:`px-4 py-3 text-foreground/80 text-sm border-t border-border bg-muted/50 whitespace-pre-wrap`,children:e})]})},nt=({children:e,thinkingEnded:t})=>(0,d.jsx)(tt,{content:e,thinkingEnded:t}),rt=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`avif`],it=e=>{let t=(e||``).toLowerCase();return rt.includes(t)?(0,d.jsx)(s.Image,{size:15}):t===`url`?(0,d.jsx)(s.Link2,{size:15}):(0,d.jsx)(s.FileText,{size:15})},at=({file:e})=>{let{deleteAttachedFile:t}=G(),[r,i]=(0,n.useState)(!1),[a,o]=(0,n.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`group inline-flex max-w-full items-center gap-2 rounded-lg border border-border bg-secondary/40 py-1.5 pl-2.5 pr-1.5 text-sm`,children:[(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:it(e.fileExtension)}),(0,d.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground`,title:e.fileName,children:e.fileName}),e.fileExtension&&e.fileExtension!==`url`&&(0,d.jsx)(`span`,{className:`hidden shrink-0 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground sm:inline`,children:e.fileExtension}),(0,d.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.fileName}`,onClick:()=>i(!0),className:`shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-red-500/10 hover:text-red-500`,children:(0,d.jsx)(s.Trash2,{size:14})})]}),(0,d.jsx)(ae,{open:r,onOpenChange:e=>{a||i(e)},children:(0,d.jsxs)(V,{className:`w-full max-w-md rounded-2xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6`,children:`Delete file`}),(0,d.jsxs)(H,{className:`text-sm text-muted-foreground`,children:[`Are you sure you want to delete`,` `,(0,d.jsx)(`span`,{className:`font-medium text-foreground`,children:e.fileName}),`? This removes it from the conversation and permanently deletes the upload.`]}),(0,d.jsxs)(`div`,{className:`mt-6 flex flex-row items-center justify-end gap-4`,children:[(0,d.jsx)(`button`,{type:`button`,onClick:()=>!a&&i(!1),className:`text-sm text-muted-foreground transition-colors hover:text-foreground`,children:`Cancel`}),(0,d.jsxs)(`button`,{type:`button`,onClick:async()=>{o(!0);try{await t(e.fileId),i(!1)}finally{o(!1)}},disabled:a,className:`inline-flex items-center gap-1.5 text-sm text-red-500 transition-colors hover:text-red-600 disabled:opacity-60`,children:[a&&(0,d.jsx)(s.Loader2,{size:14,className:`animate-spin`}),`Delete`]})]})]})})]})},ot=({files:e})=>!e||e.length===0?null:(0,d.jsx)(`div`,{className:`ml-10 mt-2 flex flex-wrap gap-2`,children:e.map(e=>(0,d.jsx)(at,{file:e},e.fileId))}),st=({section:e,isExpanded:t,setIsExpanded:r,isEditing:i,setIsEditing:a,editText:o,setEditText:c,handleEditSubmit:l,copiedUserMsg:u,handleCopyUserMsg:f})=>{let p=(0,n.useRef)(null);return(0,d.jsxs)(`div`,{className:`w-full pt-8 break-words`,children:[(0,d.jsxs)(`button`,{onClick:()=>r(!t),className:`flex items-center gap-3 group text-left w-full`,children:[(0,d.jsx)(`div`,{className:`flex-shrink-0 p-1.5 rounded-lg bg-secondary/50 group-hover:bg-secondary transition-colors duration-200`,children:t?(0,d.jsx)(s.ChevronDown,{size:18,className:`text-muted-foreground group-hover:text-foreground transition-colors`}):(0,d.jsx)(s.ChevronRight,{size:18,className:`text-muted-foreground group-hover:text-foreground transition-colors`})}),(0,d.jsx)(`h2`,{className:`text-foreground font-medium text-lg lg:text-3xl lg:w-9/12 group-hover:text-foreground/80 transition-colors line-clamp-3 lg:line-clamp-none`,children:e.userMessage.content})]}),(0,d.jsxs)(`div`,{className:`flex items-center gap-0.5 mt-1 ml-10`,children:[(()=>{let t=M(e.userMessage.createdAt);return t?(0,d.jsx)(`time`,{dateTime:new Date(e.userMessage.createdAt).toISOString(),className:`mr-1.5 text-xs text-muted-foreground tabular-nums select-none`,children:t}):null})(),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:f,className:`p-1.5 text-muted-foreground rounded-lg hover:bg-secondary transition-all duration-200 hover:text-foreground`,children:(0,d.jsx)(`span`,{className:j(`flex items-center transition-all duration-300`,u?`scale-110`:`scale-100`),children:u?(0,d.jsx)(s.Check,{size:14,className:`text-green-500`}):(0,d.jsx)(s.ClipboardList,{size:14})})})}),(0,d.jsx)(J,{side:`bottom`,children:u?`Copied!`:`Copy prompt`})]}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{c(e.userMessage.content),a(!0),setTimeout(()=>p.current?.focus(),50)},className:`p-1.5 text-muted-foreground rounded-lg hover:bg-secondary transition-all duration-200 hover:text-foreground`,children:(0,d.jsx)(s.Pencil,{size:14})})}),(0,d.jsx)(J,{side:`bottom`,children:`Edit & resubmit`})]})]}),(0,d.jsx)(ot,{files:e.userMessage.files}),i&&(0,d.jsxs)(`div`,{className:`mt-3 ml-10 flex flex-col gap-2`,children:[(0,d.jsx)(`textarea`,{ref:p,value:o,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),l()),e.key===`Escape`&&a(!1)},rows:3,className:`w-full rounded-xl border border-border bg-background p-3 text-sm resize-none focus:outline-none focus:ring-2 focus:ring-primary/30 transition-colors`}),(0,d.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,d.jsx)(`button`,{onClick:()=>a(!1),className:`px-3 py-1.5 text-sm text-muted-foreground rounded-lg hover:bg-secondary transition-colors duration-200`,children:`Cancel`}),(0,d.jsx)(`button`,{onClick:l,disabled:!o.trim(),className:`px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-200`,children:`Resubmit`})]})]})]})};function ct({...e}){return(0,d.jsx)(g.Root,{"data-slot":`dropdown-menu`,...e})}function lt({...e}){return(0,d.jsx)(g.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function ut({className:e,sideOffset:t=4,...n}){return(0,d.jsx)(g.Portal,{children:(0,d.jsx)(g.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:j(`bg-card text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1 shadow-md`,e),...n})})}function Y({className:e,inset:t,variant:n=`default`,...r}){return(0,d.jsx)(g.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:j(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-2xl px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function dt({className:e,children:t,checked:n,...r}){return(0,d.jsxs)(g.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:j(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-2xl py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,d.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,d.jsx)(g.ItemIndicator,{children:(0,d.jsx)(s.CheckIcon,{className:`size-4`})})}),t]})}function ft({className:e,inset:t,...n}){return(0,d.jsx)(g.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:j(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function X({className:e,...t}){return(0,d.jsx)(g.Separator,{"data-slot":`dropdown-menu-separator`,className:j(`bg-border -mx-1 my-1 h-px`,e),...t})}function pt({...e}){return(0,d.jsx)(g.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function mt({className:e,inset:t,children:n,...r}){return(0,d.jsxs)(g.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:j(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-2xl px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8`,e),...r,children:[n,(0,d.jsx)(s.ChevronRightIcon,{className:`ml-auto size-4`})]})}function ht({className:e,...t}){return(0,d.jsx)(g.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:j(`bg-card text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg`,e),...t})}var gt=({section:e,initialMessage:t})=>{let[r,i]=(0,n.useState)(!1);return(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{let n=`${t}${e?.sourceMessage?.sources&&e.sourceMessage.sources.length>0&&`\n\nCitations:\n${e.sourceMessage.sources?.map((e,t)=>`[${t+1}] ${e.metadata.url}`).join(`
|
|
17
|
-
`)}`}`;navigator.clipboard.writeText(n),i(!0),setTimeout(()=>i(!1),1e3)},className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:r?(0,d.jsx)(s.Check,{size:18}):(0,d.jsx)(s.ClipboardList,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:r?`Copied!`:`Copy`})]})};function _t({...e}){return(0,d.jsx)(_.Root,{"data-slot":`popover`,...e})}function vt({...e}){return(0,d.jsx)(_.Trigger,{"data-slot":`popover-trigger`,...e})}function yt({className:e,align:t=`center`,sideOffset:n=4,container:r,...i}){return(0,d.jsx)(_.Portal,{container:r,children:(0,d.jsx)(_.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:j(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-2xl border p-4 shadow-md outline-hidden`,e),...i})})}var Z={Plus:s.Plus,Paperclip:s.Paperclip,Cloud:s.Cloud,Upload:s.Upload,File:s.File,SquarePen:s.SquarePen,Thinking:e=>(0,d.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,d.jsx)(`path`,{d:`M10.3857 2.50977C14.3486 2.71054 17.5 5.98724 17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 9.72386 2.72386 9.5 3 9.5C3.27614 9.5 3.5 9.72386 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.5225 13.7691 3.68312 10.335 3.50879L10 3.5L9.89941 3.49023C9.67145 3.44371 9.5 3.24171 9.5 3C9.5 2.72386 9.72386 2.5 10 2.5L10.3857 2.50977ZM10 5.5C10.2761 5.5 10.5 5.72386 10.5 6V9.69043L13.2236 11.0527C13.4706 11.1762 13.5708 11.4766 13.4473 11.7236C13.3392 11.9397 13.0957 12.0435 12.8711 11.9834L12.7764 11.9473L9.77637 10.4473C9.60698 10.3626 9.5 10.1894 9.5 10V6C9.5 5.72386 9.72386 5.5 10 5.5ZM3.66211 6.94141C4.0273 6.94159 4.32303 7.23735 4.32324 7.60254C4.32324 7.96791 4.02743 8.26446 3.66211 8.26465C3.29663 8.26465 3 7.96802 3 7.60254C3.00021 7.23723 3.29676 6.94141 3.66211 6.94141ZM4.95605 4.29395C5.32146 4.29404 5.61719 4.59063 5.61719 4.95605C5.6171 5.3214 5.3214 5.61709 4.95605 5.61719C4.59063 5.61719 4.29403 5.32146 4.29395 4.95605C4.29395 4.59057 4.59057 4.29395 4.95605 4.29395ZM7.60254 3C7.96802 3 8.26465 3.29663 8.26465 3.66211C8.26446 4.02743 7.96791 4.32324 7.60254 4.32324C7.23736 4.32302 6.94159 4.0273 6.94141 3.66211C6.94141 3.29676 7.23724 3.00022 7.60254 3Z`})}),SelectArrow:s.ChevronDown,ArrowUp:s.ArrowUp,X:s.X,FileText:s.FileText,Loader2:s.Loader2,Check:s.Check,Archive:s.Archive,Mic:s.Mic,Stop:s.Square,Clock:e=>(0,d.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`currentColor`,...e,children:(0,d.jsx)(`path`,{d:`M10.3857 2.50977C14.3486 2.71054 17.5 5.98724 17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 9.72386 2.72386 9.5 3 9.5C3.27614 9.5 3.5 9.72386 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.5225 13.7691 3.68312 10.335 3.50879L10 3.5L9.89941 3.49023C9.67145 3.44371 9.5 3.24171 9.5 3C9.5 2.72386 9.72386 2.5 10 2.5L10.3857 2.50977ZM10 5.5C10.2761 5.5 10.5 5.72386 10.5 6V9.69043L13.2236 11.0527C13.4706 11.1762 13.5708 11.4766 13.4473 11.7236C13.3392 11.9397 13.0957 12.0435 12.8711 11.9834L12.7764 11.9473L9.77637 10.4473C9.60698 10.3626 9.5 10.1894 9.5 10V6C9.5 5.72386 9.72386 5.5 10 5.5ZM3.66211 6.94141C4.0273 6.94159 4.32303 7.23735 4.32324 7.60254C4.32324 7.96791 4.02743 8.26446 3.66211 8.26465C3.29663 8.26465 3 7.96802 3 7.60254C3.00021 7.23723 3.29676 6.94141 3.66211 6.94141ZM4.95605 4.29395C5.32146 4.29404 5.61719 4.59063 5.61719 4.95605C5.6171 5.3214 5.3214 5.61709 4.95605 5.61719C4.59063 5.61719 4.29403 5.32146 4.29395 4.95605C4.29395 4.59057 4.59057 4.29395 4.95605 4.29395ZM7.60254 3C7.96802 3 8.26465 3.29663 8.26465 3.66211C8.26446 4.02743 7.96791 4.32324 7.60254 4.32324C7.23736 4.32302 6.94159 4.0273 6.94141 3.66211C6.94141 3.29676 7.23724 3.00022 7.60254 3Z`})})},bt=({messageId:e})=>{let{rewrite:t,chatModelProvider:r,setChatModelProvider:i}=G(),[a,o]=(0,n.useState)([]),[l,u]=(0,n.useState)(!0),[f,p]=(0,n.useState)(``),[m,h]=(0,n.useState)(!1);(0,n.useEffect)(()=>{m&&(async()=>{try{u(!0);let{data:e}=await(0,c.listProviders)();o(e?.providers??[])}catch(e){console.error(`Error loading providers:`,e)}finally{u(!1)}})()},[m]);let g=(0,n.useMemo)(()=>{if(!r?.providerId)return a;let e=a.findIndex(e=>e.id===r.providerId);return e===-1?a:[a[e],...a.filter((t,n)=>n!==e)]},[a,r]).map(e=>({...e,chatModels:(e.chatModels??[]).filter(t=>t.name.toLowerCase().includes(f.toLowerCase())||e.name.toLowerCase().includes(f.toLowerCase()))})).filter(e=>e.chatModels.length>0),_=(0,n.useMemo)(()=>{if(!r.key)return`Rewrite`;for(let e of a){let t=e.chatModels.find(e=>e.key===r.key);if(t)return t.name}return r.key},[a,r.key]),v=(n,r)=>{i({providerId:n,key:r}),localStorage.setItem(`chatModelProviderId`,n),localStorage.setItem(`chatModelKey`,r),h(!1),t(e)};return(0,d.jsxs)(_t,{open:m,onOpenChange:h,children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(vt,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.ArrowLeftRight,{size:18})})})}),(0,d.jsxs)(J,{side:`bottom`,children:[`Rewrite with `,_]})]}),(0,d.jsx)(yt,{className:`w-[280px] p-0`,align:`start`,side:`top`,sideOffset:8,children:(0,d.jsxs)(`div`,{className:`bg-white dark:bg-[#212121] max-h-[400px] border rounded-2xl border-[#DDDDDD] dark:border-[#30302E] w-full flex flex-col shadow-2xl overflow-hidden`,children:[(0,d.jsx)(`div`,{className:`p-3 border-b border-[#EEEEEE] dark:border-[#30302E]`,children:(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(s.Search,{size:14,className:`absolute left-3 top-1/2 -translate-y-1/2 text-text-400 dark:text-[#999999]`}),(0,d.jsx)(`input`,{type:`text`,placeholder:`Search models...`,value:f,onChange:e=>p(e.target.value),className:`w-full pl-9 pr-3 py-2 text-[13px] bg-bg-100 dark:bg-[#30302E] border border-bg-300 dark:border-[#404040] rounded-lg text-text-100 dark:text-[#ECECEC] placeholder:text-text-400 dark:placeholder:text-[#999999] focus:outline-none focus:ring-2 focus:ring-sky-500/20 focus:border-sky-500/30 transition-all`})]})}),(0,d.jsx)(`div`,{className:`max-h-[320px] overflow-y-auto`,children:l?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,d.jsx)(Z.Loader2,{className:`animate-spin text-text-400 dark:text-[#999999]`,size:20})}):g.length===0?(0,d.jsx)(`div`,{className:`text-center py-12 px-4 text-text-400 dark:text-[#999999] text-sm`,children:f?`No models found`:`No chat models configured`}):(0,d.jsx)(`div`,{className:`flex flex-col`,children:g.map((e,t)=>(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`px-4 py-2 sticky top-0 bg-white dark:bg-[#212121] border-b border-[#EEEEEE]/50 dark:border-[#30302E]/50`,children:(0,d.jsx)(`p`,{className:`text-[11px] text-text-400 dark:text-[#999999] uppercase tracking-wider font-medium`,children:e.name})}),(0,d.jsx)(`div`,{className:`flex flex-col px-1.5 py-1.5 space-y-0.5`,children:e.chatModels.map(t=>(0,d.jsxs)(`button`,{onClick:()=>v(e.id,t.key),type:`button`,className:j(`px-3 py-2 flex items-center justify-between text-start duration-200 cursor-pointer transition rounded-xl group`,r?.providerId===e.id&&r?.key===t.key?`bg-sky-50 dark:bg-sky-500/10`:`hover:bg-bg-100 dark:hover:bg-[#30302E]`),children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2.5 min-w-0 flex-1`,children:[(0,d.jsx)(s.Cpu,{size:14,className:j(`shrink-0`,r?.providerId===e.id&&r?.key===t.key?`text-sky-500`:`text-text-400 dark:text-[#999999] group-hover:text-text-300 dark:group-hover:text-[#B4B4B4]`)}),(0,d.jsx)(`p`,{className:j(`text-[13px] truncate`,r?.providerId===e.id&&r?.key===t.key?`text-sky-600 dark:text-sky-400 font-medium`:`text-text-200 dark:text-[#ECECEC] group-hover:text-text-100 dark:group-hover:text-white`),children:t.name})]}),r?.providerId===e.id&&r?.key===t.key&&(0,d.jsx)(Z.Check,{className:`w-4 h-4 text-sky-500 shrink-0`})]},t.key))}),t<g.length-1&&(0,d.jsx)(`div`,{className:`h-px bg-[#EEEEEE] dark:bg-[#30302E] mx-2`})]},e.id))})})]})})]})},xt=new Map;function St(e){if(typeof window>`u`)return Promise.reject(Error(`CDN scripts require a browser environment`));let t=xt.get(e);if(t)return t;let n=new Promise((t,n)=>{let r=document.querySelector(`script[data-cdn-loader="${e}"]`);if(r){r.dataset.loaded===`true`?t():(r.addEventListener(`load`,()=>t(),{once:!0}),r.addEventListener(`error`,()=>n(Error(`Failed to load ${e}`)),{once:!0}));return}let i=document.createElement(`script`);i.src=e,i.async=!0,i.dataset.cdnLoader=e,i.onload=()=>{i.dataset.loaded=`true`,t()},i.onerror=()=>{xt.delete(e),n(Error(`Failed to load ${e}`))},document.head.appendChild(i)});return xt.set(e,n),n}var Ct=`https://cdn.jsdelivr.net/npm/jspdf@2.5.2/dist/jspdf.umd.min.js`,wt=`https://cdn.jsdelivr.net/npm/docx@9.5.1/build/index.umd.min.js`;async function Tt(){await St(Ct);let e=window.jspdf?.jsPDF;if(!e)throw Error(`jsPDF global not found after CDN load`);return e}async function Et(){await St(wt);let e=window.docx;if(!e)throw Error(`docx global not found after CDN load`);return e}async function Dt(e,t){jt(`# ${e}\n\n${new y.default({headingStyle:`atx`,codeBlockStyle:`fenced`}).turndown(t)}`,`${e}.md`,`text/markdown`)}async function Ot(e,t){let{Document:n,Paragraph:r,TextRun:i,HeadingLevel:a,Packer:o}=await Et(),s=new DOMParser().parseFromString(t,`text/html`),c=[];c.push(new r({text:e,heading:a.HEADING_1,spacing:{after:200}}));let l=e=>{if(e.nodeType===Node.TEXT_NODE){let t=e.textContent?.trim();t&&c.push(new r({children:[new i(t)]}))}else if(e.nodeType===Node.ELEMENT_NODE){let t=e,n=t.tagName.toLowerCase();switch(n){case`h1`:c.push(new r({text:t.textContent||``,heading:a.HEADING_1}));break;case`h2`:c.push(new r({text:t.textContent||``,heading:a.HEADING_2}));break;case`h3`:c.push(new r({text:t.textContent||``,heading:a.HEADING_3}));break;case`p`:let e=[];t.childNodes.forEach(t=>{if(t.nodeType===Node.TEXT_NODE)e.push(new i(t.textContent||``));else if(t.nodeType===Node.ELEMENT_NODE){let n=t,r={text:n.textContent||``};(n.tagName===`STRONG`||n.tagName===`B`)&&(r.bold=!0),(n.tagName===`EM`||n.tagName===`I`)&&(r.italics=!0),n.tagName===`U`&&(r.underline={}),n.tagName===`CODE`&&(r.font=`Courier New`),e.push(new i(r))}}),e.length>0?c.push(new r({children:e})):c.push(new r({text:t.textContent||``}));break;case`ul`:case`ol`:t.querySelectorAll(`li`).forEach(e=>{c.push(new r({text:e.textContent||``,bullet:n===`ul`?{level:0}:void 0,numbering:n===`ol`?{reference:`default`,level:0}:void 0}))});break;case`blockquote`:c.push(new r({children:[new i({text:t.textContent||``,italics:!0})],indent:{left:720}}));break;default:t.childNodes.forEach(l)}}};s.body.childNodes.forEach(l);let u=new n({sections:[{properties:{},children:c}]}),d=await o.toBlob(u),f=URL.createObjectURL(d),p=document.createElement(`a`);p.href=f,p.download=`${e}.docx`,p.click(),URL.revokeObjectURL(f)}async function kt(e,t){let n=document.createElement(`div`);n.style.position=`absolute`,n.style.left=`-9999px`,n.style.width=`210mm`,n.style.padding=`20mm`,n.style.backgroundColor=`white`,n.style.fontFamily=`Arial, sans-serif`,n.style.fontSize=`12pt`,n.style.lineHeight=`1.6`,n.innerHTML=`
|
|
16
|
+
)`},className:j(`pointer-events-none absolute inset-0 rounded-[inherit] opacity-100 transition-opacity`,o&&`opacity-100`,e>0&&`blur-[var(--blur)] `,s,f&&`!hidden`),children:(0,d.jsx)(`div`,{className:j(`glow`,`rounded-[inherit]`,`after:content-[""] after:rounded-[inherit] after:absolute after:inset-[calc(-1*var(--glowingeffect-border-width))]`,`after:[border:var(--glowingeffect-border-width)_solid_transparent]`,`after:[background:var(--gradient)] after:[background-attachment:fixed]`,`after:opacity-[var(--active)] after:transition-opacity after:duration-300`,`after:[mask-clip:padding-box,border-box]`,`after:[mask-composite:intersect]`,`after:[mask-image:linear-gradient(#0000,#0000),conic-gradient(from_calc((var(--start)-var(--spread))*1deg),#00000000_0deg,#fff,#00000000_calc(var(--spread)*2deg))]`)})})]})});P.displayName=`GlowingEffect`;var F=(0,n.createContext)(void 0),I=()=>{let e=(0,n.useContext)(F);if(!e)throw Error(`useExtractPanel must be used within an ExtractPanelProvider`);return e},L=({children:e})=>{let[t,r]=(0,n.useState)(!1),[i,a]=(0,n.useState)(``),[o,s]=(0,n.useState)(``),[c,l]=(0,n.useState)(600);return(0,d.jsx)(F.Provider,{value:{isOpen:t,url:i,searchText:o,panelWidth:c,setIsOpen:r,setUrl:a,setSearchText:s,setPanelWidth:l,openPanel:(e,t=``)=>{console.log(`[ExtractPanelContext] openPanel called with URL:`,e);try{let t=new URL(e);(t.pathname===`/`||t.pathname===``)&&console.error(`[ExtractPanelContext] URL is domain-only, missing article path:`,e)}catch(t){console.error(`[ExtractPanelContext] Invalid URL format:`,e,t)}if(a(e),s(t),r(!0),typeof window<`u`){let t=new URLSearchParams(window.location.search);t.set(`extract`,encodeURIComponent(e));let n=`${window.location.pathname}?${t.toString()}`;window.history.pushState({},``,n)}},closePanel:()=>{if(r(!1),typeof window<`u`){let e=new URLSearchParams(window.location.search);e.delete(`extract`);let t=e.toString()?`${window.location.pathname}?${e.toString()}`:window.location.pathname;window.history.pushState({},``,t)}}},children:e})};function R(e){return(0,d.jsxs)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 214.6279 198.1416`,...e,children:[(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{fill:`#5CB0FF`,d:`M171.748,142.3193c0-15.4375-12.5625-28-28-28s-28,12.5625-28,28s12.5625,28,28,28 S171.748,157.7568,171.748,142.3193z`}),(0,d.jsx)(`path`,{fill:`#1C71DA`,d:`M95.748,166.3193v-76h42.989c0.0146,0.7878,0.0696,1.5579,0.0696,2.3516c0,2.2109,1.7891,4,4,4 s4-1.7891,4-4c0-0.7937-0.0603-1.5632-0.0745-2.3516h25.0159h5.6484h2.3516c0-46.3164-37.6836-84-84-84h-8v0.4053 c-42.5754,4.0447-76,39.9785-76,83.5947c0,46.3164,37.6836,84,84,84c2.2109,0,4-1.7891,4-4S97.959,166.3193,95.748,166.3193z M87.748,164.9949c-19.9287-6.438-35.0586-36.3945-35.0586-72.324c0-0.7937,0.0549-1.5637,0.0696-2.3516h34.989V164.9949z M53.1655,82.3193C55.75,51.1135,69.7729,26.157,87.748,20.3506v61.9688H53.1655z M95.748,82.3193v-63.293 c21.6829,0,39.6248,27.5808,42.5825,63.293H95.748z M171.3181,82.3193h-24.9685c-2.3884-29.9812-14.96-54.8911-31.9993-65.6013 C144.7681,24.4146,167.9641,50.417,171.3181,82.3193z M77.1458,16.718C60.1064,27.4282,47.5349,52.3381,45.1465,82.3193H20.178 C23.532,50.417,46.728,24.4146,77.1458,16.718z M19.748,90.3193h25.0159c-0.0142,0.7883-0.0745,1.5579-0.0745,2.3516 c0,28.5327,9.217,53.6572,23.1233,68.2603C39.7031,149.769,19.748,122.3567,19.748,90.3193z`}),(0,d.jsx)(`path`,{fill:`#1C71DA`,d:`M191.5137,184.4287l-19.665-19.665c4.9307-6.1609,7.8994-13.9573,7.8994-22.4443 c0-19.8516-16.1484-36-36-36s-36,16.1484-36,36s16.1484,36,36,36c8.4871,0,16.2834-2.9688,22.4443-7.8994l19.665,19.665 L191.5137,184.4287z M115.748,142.3193c0-15.4375,12.5625-28,28-28s28,12.5625,28,28s-12.5625,28-28,28 S115.748,157.7568,115.748,142.3193z`})]}),(0,d.jsx)(`path`,{fill:`#FF5D5D`,d:`M4,22.1416c-1.0234,0-2.0479-0.3906-2.8281-1.1719c-1.5625-1.5615-1.5625-4.0947,0-5.6562L15.3145,1.1719 c1.5625-1.5625,4.0957-1.5625,5.6562,0c1.5625,1.5615,1.5625,4.0947,0,5.6562L6.8281,20.9697 C6.0469,21.751,5.0234,22.1416,4,22.1416z`}),(0,d.jsx)(`path`,{fill:`#FF5D5D`,d:`M18.1426,22.1416c-1.0234,0-2.0469-0.3906-2.8281-1.1719L1.1719,6.8281 c-1.5625-1.5615-1.5625-4.0947,0-5.6562c1.5605-1.5625,4.0938-1.5625,5.6562,0l14.1426,14.1416 c1.5625,1.5615,1.5625,4.0947,0,5.6562C20.1904,21.751,19.166,22.1416,18.1426,22.1416z`}),(0,d.jsx)(`path`,{fill:`#00D40B`,d:`M14,198.1416c-7.7197,0-14-6.2803-14-14s6.2803-14,14-14s14,6.2803,14,14S21.7197,198.1416,14,198.1416z M14,178.1416c-3.3086,0-6,2.6914-6,6s2.6914,6,6,6s6-2.6914,6-6S17.3086,178.1416,14,178.1416z`}),(0,d.jsx)(`path`,{fill:`#FFC504`,d:`M199.3145,56.7695c-1.0605,0-2.0781-0.4219-2.8281-1.1719l-11.3145-11.3145 c-0.75-0.75-1.1719-1.7676-1.1719-2.8281s0.4219-2.0781,1.1719-2.8281l11.3145-11.3135c1.5625-1.5625,4.0938-1.5625,5.6562,0 l11.3135,11.3135c1.5625,1.5615,1.5625,4.0947,0,5.6562l-11.3135,11.3145C201.3926,56.3477,200.375,56.7695,199.3145,56.7695z M193.6572,41.4551l5.6572,5.6572l5.6572-5.6572l-5.6572-5.6572L193.6572,41.4551z`})]})}function z(e){return(0,d.jsxs)(`svg`,{version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 508 508`,...e,children:[(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M316.1,353.2H191.9c13.2,60.9,37.8,102.2,62.1,102.2C278.3,455.4,302.9,414.1,316.1,353.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M78.2,353.2c26.2,46.5,69.8,80.1,120.6,94.5c-15.4-22.5-27.7-54.7-35.7-94.5H78.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M429.8,353.2h-84.9c-8,39.8-20.4,72-35.7,94.5C360,433.4,403.6,399.7,429.8,353.2z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M429.3,154.8c-26.3-46.4-69.6-80-120-94.4c15.3,22.4,27.7,54.7,35.6,94.4H429.3z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M163.1,154.8c8-39.7,20.3-71.9,35.7-94.4c-50.4,14.4-93.8,48-120,94.4H163.1z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M479.8,310.9V197.1c0-7.8-6.3-14.1-14.1-14.1H42.3c-7.8,0-14.1,6.3-14.1,14.1v113.8 c0,7.8,6.3,14.1,14.1,14.1h423.3C473.4,325,479.8,318.7,479.8,310.9z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M254,52.6c-24.3,0-48.9,41.3-62.1,102.2h124.2C302.9,93.9,278.3,52.6,254,52.6z`})]}),(0,d.jsx)(`path`,{style:{fill:`#56ACE0`},d:`M254,426.5c-95.3,0-172.9-77.5-172.9-172.9S158.7,80.8,254,80.8s172.9,77.5,172.9,172.9 S349.3,426.5,254,426.5z`}),(0,d.jsx)(`rect`,{x:`56.4`,y:`211.2`,style:{fill:`#FFC10D`},width:`395.1`,height:`85.6`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#194F82`},d:`M465.7,154.8H461C422.8,75.3,342.7,24.4,254,24.4S85.1,75.3,47,154.8h-4.7C19,154.8,0,173.7,0,197.1 v113.8c0,23.3,19,42.3,42.3,42.3h4.2c38,79.5,118.4,130.4,207.5,130.4c89.2,0,169.5-50.9,207.5-130.4h4.2c23.3,0,42.3-19,42.3-42.3 V197.1C508,173.7,489,154.8,465.7,154.8z M429.3,154.8h-84.4c-8-39.7-20.3-71.9-35.6-94.4C359.7,74.7,403,108.4,429.3,154.8z M254,52.6c24.3,0,48.9,41.3,62.1,102.2H191.9C205.1,93.9,229.7,52.6,254,52.6z M198.7,60.4c-15.3,22.4-27.7,54.7-35.7,94.4H78.7 C105,108.4,148.3,74.7,198.7,60.4z M78.2,353.2h84.9c8,39.8,20.4,72,35.7,94.5C148,433.4,104.4,399.7,78.2,353.2z M254,455.4 c-24.3,0-48.9-41.3-62.1-102.2h124.2C302.9,414.1,278.3,455.4,254,455.4z M309.2,447.7c15.4-22.5,27.7-54.7,35.7-94.5h84.9 C403.6,399.7,360,433.4,309.2,447.7z M479.8,310.9c0,7.8-6.3,14.1-14.1,14.1H42.3c-7.8,0-14.1-6.3-14.1-14.1V197.1 c0-7.8,6.3-14.1,14.1-14.1h423.3c7.8,0,14.1,6.3,14.1,14.1v113.8H479.8z`}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`146,265.7 109.1,215.3 93.4,215.3 93.4,293.6 110.2,293.6 110.2,244.5 146,293.6 162.7,293.6 162.7,215.3 146,215.3 `}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`197.9,261.9 231.6,261.9 231.6,247 197.9,247 197.9,230.9 235.3,230.9 235.3,215.3 181.2,215.3 181.2,293.6 236.5,293.6 236.5,278.1 197.9,278.1 `}),(0,d.jsx)(`polygon`,{style:{fill:`#194F82`},points:`318.9,260.3 305.7,215.3 288.1,215.3 274.8,260.3 260,215.3 241.9,215.3 268.1,293.6 280.5,293.6 296.8,239.2 313.3,293.6 325.7,293.6 351.9,215.3 333.8,215.3 `}),(0,d.jsx)(`path`,{style:{fill:`#194F82`},d:`M392,246.6c-8.2-1.9-16.5-3.8-16.6-10.2c0.5-5.4,3.9-7.5,9-7.6c6.9,0,13.7,2.6,20.2,7.7l8.5-12.8 c-8-6.2-17-10.4-28.1-10.3c-12.5-0.6-27,7.6-26.8,23.2c-1,15.4,10.4,21.4,25.2,24.8c9.2,2,14.5,5.1,13.9,9.8 c0.1,5.2-4.6,7.7-9.9,7.7c-6.9,0-14.3-3.7-22.4-11.1l-10,12.8c9.5,9.2,20.2,13.8,32.1,13.8c15.1,0.7,27.6-8.8,27.5-23.6 C414.8,257.3,406.3,250,392,246.6z`})]})]})}function ee(e){return(0,d.jsxs)(`svg`,{version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 512 512`,...e,children:[(0,d.jsx)(`circle`,{style:{fill:`#8AD5DD`},cx:`256`,cy:`256`,r:`256`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_0`,x:`115`,y:`68`,style:{fill:`#FFFFFF`},width:`282`,height:`376`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_1`,x:`146.336`,y:`339.8`,style:{fill:`#2D2D2D`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_2`,x:`146.336`,y:`371.12`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_3`,x:`146.336`,y:`386.8`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`rect`,{id:`SVGCleanerId_4`,x:`146.336`,y:`402.48`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`}),(0,d.jsx)(`path`,{id:`SVGCleanerId_5`,style:{fill:`#DB2B42`},d:`M355.872,316.384H156.128c-6.464,0-11.752-5.288-11.752-11.752v-144.92 c0-6.464,5.288-11.752,11.752-11.752H355.88c6.464,0,11.752,5.288,11.752,11.752v144.92 C367.624,311.096,362.336,316.384,355.872,316.384z`}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_0_1_`,x:`115`,y:`68`,style:{fill:`#FFFFFF`},width:`282`,height:`376`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_1_1_`,x:`146.336`,y:`339.8`,style:{fill:`#2D2D2D`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_2_1_`,x:`146.336`,y:`371.12`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_3_1_`,x:`146.336`,y:`386.8`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`rect`,{id:`SVGCleanerId_4_1_`,x:`146.336`,y:`402.48`,style:{fill:`#E0E0E0`},width:`97.696`,height:`8`})}),(0,d.jsx)(`g`,{children:(0,d.jsx)(`path`,{id:`SVGCleanerId_5_1_`,style:{fill:`#DB2B42`},d:`M355.872,316.384H156.128c-6.464,0-11.752-5.288-11.752-11.752v-144.92 c0-6.464,5.288-11.752,11.752-11.752H355.88c6.464,0,11.752,5.288,11.752,11.752v144.92 C367.624,311.096,362.336,316.384,355.872,316.384z`})}),(0,d.jsx)(`polygon`,{style:{fill:`#FFFFFF`},points:`232.496,191.472 303,232.176 232.496,272.88 `}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`rect`,{x:`269.928`,y:`339.04`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`365.624`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`392.24`,style:{fill:`#E0E0E0`},width:`97.696`,height:`19.016`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`rect`,{x:`269.928`,y:`392.24`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`365.624`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`}),(0,d.jsx)(`rect`,{x:`269.928`,y:`339.04`,style:{fill:`#2D2D2D`},width:`20.304`,height:`19.016`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#E0E0E0`},d:`M365.664,100.072v19.616h-135.24v-19.616H365.664 M367.624,98.112h-139.16v23.536h139.16 L367.624,98.112L367.624,98.112z`}),(0,d.jsx)(`rect`,{x:`341.312`,y:`98.112`,style:{fill:`#E0E0E0`},width:`26.312`,height:`23.536`})]}),(0,d.jsx)(`path`,{style:{fill:`#DB2B42`},d:`M207.656,121.648H173.2c-1.312,0-2.384-1.072-2.384-2.384v-18.768c0-1.312,1.072-2.384,2.384-2.384 h34.456c1.312,0,2.384,1.072,2.384,2.384v18.768C210.04,120.576,208.96,121.648,207.656,121.648z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M178.008,107.264h-2.784v-1.488h7.384v1.488h-2.816v8.28h-1.784L178.008,107.264L178.008,107.264z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M189.28,113.424c0,0.84,0.032,1.544,0.056,2.12h-1.568l-0.088-1.08h-0.024 c-0.304,0.504-1,1.232-2.264,1.232c-1.288,0-2.464-0.768-2.464-3.072v-4.144h1.784v3.84c0,1.176,0.384,1.936,1.32,1.936 c0.712,0,1.176-0.504,1.36-0.96c0.064-0.16,0.104-0.344,0.104-0.552v-4.264h1.784V113.424z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M191.144,115.544c0.032-0.48,0.064-1.264,0.064-1.984v-8.312h1.784v4.2h0.032 c0.432-0.672,1.2-1.128,2.256-1.128c1.728,0,2.96,1.432,2.944,3.584c0,2.536-1.608,3.8-3.208,3.8c-0.912,0-1.728-0.352-2.232-1.216 h-0.032l-0.088,1.056H191.144z M192.992,112.632c0,0.152,0.016,0.288,0.04,0.424c0.192,0.712,0.808,1.256,1.584,1.256 c1.12,0,1.8-0.904,1.8-2.32c0-1.256-0.592-2.264-1.784-2.264c-0.72,0-1.376,0.528-1.584,1.304 c-0.024,0.128-0.056,0.288-0.056,0.464V112.632z`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M200.952,112.512c0.04,1.28,1.04,1.832,2.176,1.832c0.824,0,1.416-0.12,1.96-0.32l0.264,1.232 c-0.616,0.248-1.456,0.44-2.472,0.44c-2.288,0-3.64-1.408-3.64-3.576c0-1.952,1.192-3.8,3.448-3.8c2.296,0,3.048,1.888,3.048,3.44 c0,0.336-0.032,0.592-0.056,0.752C205.68,112.512,200.952,112.512,200.952,112.512z M204.056,111.264 c0.016-0.648-0.272-1.728-1.464-1.728c-1.104,0-1.568,1.008-1.64,1.728H204.056z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M147.464,115.544v-4.072l-3.088-5.696h2.032l1.176,2.504c0.336,0.728,0.584,1.28,0.848,1.944h0.024 c0.248-0.624,0.52-1.232,0.856-1.944l1.176-2.504h2.016l-3.248,5.656v4.112H147.464z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M158.864,111.944c0,2.6-1.824,3.76-3.624,3.76c-2,0-3.536-1.376-3.536-3.632 c0-2.328,1.52-3.744,3.656-3.744C157.464,108.32,158.864,109.8,158.864,111.944z M153.544,112.024c0,1.36,0.664,2.392,1.752,2.392 c1.016,0,1.728-1,1.728-2.424c0-1.104-0.496-2.368-1.712-2.368C154.056,109.624,153.544,110.84,153.544,112.024z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M166.656,113.424c0,0.84,0.032,1.544,0.056,2.12h-1.568l-0.088-1.08h-0.024 c-0.304,0.504-1,1.232-2.264,1.232c-1.288,0-2.464-0.768-2.464-3.072v-4.144h1.784v3.84c0,1.176,0.384,1.936,1.32,1.936 c0.712,0,1.176-0.504,1.36-0.96c0.064-0.16,0.104-0.344,0.104-0.552v-4.264h1.784V113.424z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M353.936,113.776c-3.096,0-5.616-2.52-5.616-5.616s2.52-5.616,5.616-5.616s5.616,2.52,5.616,5.616 C359.552,111.256,357.032,113.776,353.936,113.776z M353.936,103.816c-2.392,0-4.344,1.952-4.344,4.344s1.952,4.344,4.344,4.344 s4.344-1.952,4.344-4.344S356.328,103.816,353.936,103.816z`}),(0,d.jsx)(`rect`,{x:`356.02`,y:`113.813`,transform:`matrix(-0.6044 -0.7967 0.7967 -0.6044 484.7665 469.5985)`,style:{fill:`#2D2D2D`},width:`5.896`,height:`1.272`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M240.088,113.168c0.48,0.296,1.184,0.544,1.92,0.544c1.096,0,1.736-0.576,1.736-1.416 c0-0.768-0.44-1.216-1.56-1.648c-1.352-0.48-2.192-1.184-2.192-2.352c0-1.296,1.072-2.248,2.68-2.248 c0.848,0,1.464,0.192,1.832,0.4l-0.296,0.872c-0.272-0.152-0.824-0.392-1.576-0.392c-1.136,0-1.56,0.672-1.56,1.24 c0,0.776,0.504,1.152,1.648,1.6c1.4,0.544,2.12,1.216,2.12,2.432c0,1.28-0.952,2.392-2.904,2.392c-0.8,0-1.68-0.24-2.12-0.528 L240.088,113.168z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M246.984,111.688c0.024,1.472,0.96,2.064,2.048,2.064c0.776,0,1.24-0.128,1.648-0.304l0.184,0.776 c-0.384,0.176-1.032,0.368-1.984,0.368c-1.832,0-2.928-1.208-2.928-3s1.056-3.216,2.792-3.216c1.952,0,2.464,1.704,2.464,2.808 c0,0.216-0.024,0.392-0.04,0.496h-4.184V111.688z M250.16,110.92c0.016-0.688-0.288-1.76-1.504-1.76 c-1.096,0-1.576,1.008-1.664,1.76H250.16z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M255.88,114.472l-0.088-0.752h-0.032c-0.336,0.472-0.968,0.888-1.824,0.888 c-1.208,0-1.824-0.848-1.824-1.704c0-1.448,1.28-2.232,3.584-2.216v-0.128c0-0.488-0.136-1.384-1.36-1.384 c-0.552,0-1.128,0.176-1.552,0.448l-0.248-0.72c0.488-0.312,1.208-0.528,1.96-0.528c1.824,0,2.264,1.24,2.264,2.432v2.232 c0,0.52,0.024,1.024,0.104,1.424h-0.984V114.472z M255.72,111.44c-1.184-0.024-2.528,0.184-2.528,1.336 c0,0.704,0.472,1.032,1.024,1.032c0.776,0,1.272-0.488,1.44-1c0.04-0.112,0.064-0.24,0.064-0.344V111.44z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M258.552,110.376c0-0.704-0.016-1.304-0.056-1.864h0.944l0.04,1.176h0.04 c0.272-0.8,0.928-1.304,1.656-1.304c0.12,0,0.2,0.008,0.304,0.032v1.024c-0.112-0.024-0.224-0.032-0.368-0.032 c-0.768,0-1.312,0.576-1.456,1.392c-0.024,0.144-0.056,0.312-0.056,0.496v3.176h-1.072v-4.096H258.552z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M266.72,114.256c-0.288,0.152-0.912,0.344-1.72,0.344c-1.792,0-2.968-1.216-2.968-3.04 c0-1.84,1.264-3.168,3.208-3.168c0.64,0,1.208,0.168,1.504,0.304l-0.248,0.84c-0.264-0.152-0.664-0.28-1.264-0.28 c-1.368,0-2.104,1.008-2.104,2.248c0,1.384,0.888,2.232,2.064,2.232c0.616,0,1.024-0.168,1.328-0.296L266.72,114.256z`}),(0,d.jsx)(`path`,{style:{fill:`#2D2D2D`},d:`M268.016,105.736h1.08v3.712h0.024c0.176-0.304,0.448-0.576,0.776-0.76 c0.312-0.184,0.704-0.304,1.104-0.304c0.808,0,2.08,0.488,2.08,2.544v3.544H272v-3.424c0-0.96-0.352-1.768-1.376-1.768 c-0.704,0-1.264,0.488-1.456,1.08c-0.064,0.152-0.08,0.304-0.08,0.52v3.6h-1.08v-8.744H268.016z`})]})]})}function te(e){return(0,d.jsx)(`svg`,{width:`800px`,height:`800px`,viewBox:`0 0 73 73`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,...e,children:(0,d.jsx)(`g`,{id:`fundamentals/css/images`,stroke:`none`,strokeWidth:`1`,fill:`none`,fillRule:`evenodd`,children:(0,d.jsxs)(`g`,{id:`container`,transform:`translate(2.000000, 2.000000)`,fillRule:`nonzero`,children:[(0,d.jsx)(`rect`,{id:`mask`,stroke:`#000000`,strokeWidth:`2`,fill:`#424A60`,x:`-1`,y:`-1`,width:`71`,height:`71`,rx:`14`}),(0,d.jsx)(`circle`,{id:`Oval`,fill:`#EFCE4A`,cx:`21.069`,cy:`23.069`,r:`9.069`}),(0,d.jsx)(`polygon`,{id:`Shape`,fill:`#1A9172`,points:`69.5 56.7492553 68.1170213 55.212766 51.5212766 40 37 55.9042553 44.5828723 63.4871277 50.1382979 69.0425532 60.7455406 69.0425532 69.5 60.1780353`}),(0,d.jsx)(`polygon`,{id:`Shape`,fill:`#25AE88`,points:`47.8532188 64.0501875 33.8030313 50 12 69.1969687 53 69.1969687`}),(0,d.jsx)(`rect`,{id:`mask`,stroke:`#000000`,strokeWidth:`2`,x:`-1`,y:`-1`,width:`71`,height:`71`,rx:`14`})]})})})}function ne(e){return(0,d.jsxs)(`svg`,{width:`800px`,height:`800px`,viewBox:`0 0 32 32`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,...e,children:[(0,d.jsx)(`path`,{d:`M23.3 8.40007L21.82 6.40008C21.7248 6.27314 21.6008 6.17066 21.4583 6.10111C21.3157 6.03156 21.1586 5.99693 21 6.00008H11.2C11.0555 6.00007 10.9128 6.03135 10.7816 6.09177C10.6504 6.15219 10.5339 6.24031 10.44 6.35007L8.71998 8.35008C8.57227 8.53401 8.49435 8.76424 8.49998 9.00008V16.2901C8.50262 18.0317 9.19567 19.7013 10.4272 20.9328C11.6588 22.1644 13.3283 22.8574 15.07 22.8601H16.93C18.6716 22.8574 20.3412 22.1644 21.5728 20.9328C22.8043 19.7013 23.4973 18.0317 23.5 16.2901V9.00008C23.5 8.7837 23.4298 8.57317 23.3 8.40007Z`,fill:`#FFCC80`}),(0,d.jsx)(`path`,{d:`M29.78 28.38L25.78 23.38C25.664 23.2321 25.5086 23.1198 25.3318 23.0562C25.1549 22.9925 24.9637 22.98 24.78 23.02L16 25L7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H29C29.1885 29.9995 29.373 29.9457 29.5322 29.8448C29.6914 29.744 29.8189 29.6002 29.9 29.43C29.98 29.2613 30.0112 29.0734 29.99 28.8879C29.9688 28.7023 29.8961 28.5264 29.78 28.38Z`,fill:`#01579B`}),(0,d.jsx)(`path`,{d:`M29.29 6.00003L16.29 2.00003C16.0999 1.95002 15.9001 1.95002 15.71 2.00003L2.71 6.00003C2.49742 6.06422 2.31226 6.19735 2.1837 6.37841C2.05515 6.55947 1.99052 6.77817 2 7.00003C1.9917 7.22447 2.0592 7.44518 2.19163 7.62659C2.32405 7.80799 2.5137 7.93954 2.73 8.00003L15.73 11.6C15.906 11.6534 16.094 11.6534 16.27 11.6L29.27 8.00003C29.4863 7.93954 29.6759 7.80799 29.8084 7.62659C29.9408 7.44518 30.0083 7.22447 30 7.00003C30.0095 6.77817 29.9448 6.55947 29.8163 6.37841C29.6877 6.19735 29.5026 6.06422 29.29 6.00003Z`,fill:`#01579B`}),(0,d.jsx)(`path`,{d:`M11.22 6C11.0756 5.99999 10.9328 6.03127 10.8016 6.09169C10.6704 6.15211 10.5539 6.24023 10.46 6.35L8.74 8.35C8.58509 8.53114 8.49998 8.76166 8.5 9V16.29C8.50264 18.0317 9.19569 19.7012 10.4272 20.9328C11.6588 22.1643 13.3283 22.8574 15.07 22.86H16V6H11.22Z`,fill:`#FFE0B2`}),(0,d.jsx)(`path`,{d:`M7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H16V25L7.21999 23Z`,fill:`#0277BD`}),(0,d.jsx)(`path`,{d:`M15.71 2.00002L2.71 6.00002C2.49742 6.06422 2.31226 6.19734 2.1837 6.3784C2.05515 6.55947 1.99052 6.77817 2 7.00002C1.9917 7.22447 2.0592 7.44518 2.19163 7.62658C2.32405 7.80799 2.5137 7.93954 2.73 8.00002L15.73 11.6C15.8194 11.6146 15.9106 11.6146 16 11.6V2.00002C15.9039 1.98469 15.8061 1.98469 15.71 2.00002Z`,fill:`#0277BD`}),(0,d.jsx)(`path`,{d:`M2.73 8.00003L8.5 9.56003V16.29C8.50264 18.0317 9.19569 19.7013 10.4272 20.9328C11.6588 22.1643 13.3283 22.8574 15.07 22.86H16.93C18.6717 22.8574 20.3412 22.1643 21.5728 20.9328C22.8043 19.7013 23.4974 18.0317 23.5 16.29V9.56003L29.27 8.00003C29.4863 7.93954 29.6759 7.80799 29.8084 7.62659C29.9408 7.44518 30.0083 7.22447 30 7.00003C30.0095 6.77817 29.9448 6.55947 29.8163 6.37841C29.6877 6.19735 29.5026 6.06422 29.29 6.00003L16.29 2.00003C16.0999 1.95002 15.9001 1.95002 15.71 2.00003L2.71 6.00003C2.49742 6.06422 2.31226 6.19735 2.1837 6.37841C2.05515 6.55947 1.99052 6.77817 2 7.00003C1.9917 7.22447 2.0592 7.44518 2.19163 7.62659C2.32405 7.80799 2.5137 7.93954 2.73 8.00003ZM21.5 16.29C21.4974 17.5013 21.015 18.6621 20.1586 19.5186C19.3021 20.3751 18.1412 20.8574 16.93 20.86H15.07C13.8588 20.8574 12.6979 20.3751 11.8414 19.5186C10.985 18.6621 10.5026 17.5013 10.5 16.29V10.11L15.73 11.56C15.906 11.6134 16.094 11.6134 16.27 11.56L21.5 10.11V16.29ZM16 4.05003L25.44 7.00003L16 9.56003L6.56 7.00003L16 4.05003Z`,fill:`#263238`}),(0,d.jsx)(`path`,{d:`M25.78 23.38C25.664 23.2321 25.5086 23.1198 25.3318 23.0562C25.1549 22.9925 24.9637 22.98 24.78 23.02L16 25L7.21999 23C7.03632 22.96 6.84507 22.9725 6.6682 23.0362C6.49133 23.0998 6.33598 23.2121 6.21999 23.36L2.21999 28.36C2.10392 28.5064 2.03116 28.6823 2.00995 28.8679C1.98874 29.0534 2.01993 29.2413 2.09999 29.41C2.17815 29.5839 2.3044 29.7319 2.46385 29.8364C2.62331 29.9409 2.80933 29.9977 2.99999 30H29C29.1885 29.9995 29.373 29.9457 29.5322 29.8448C29.6914 29.744 29.8189 29.6002 29.9 29.43C29.98 29.2613 30.0112 29.0734 29.99 28.8879C29.9688 28.7023 29.8961 28.5264 29.78 28.38L25.78 23.38ZM5.07999 28L7.38999 25.11L15.78 27C15.9251 27.0299 16.0748 27.0299 16.22 27L24.61 25.13L26.92 28H5.07999Z`,fill:`#263238`})]})}function B(e){return(0,d.jsxs)(`svg`,{height:`800px`,width:`800px`,version:`1.1`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,viewBox:`0 0 503.322 503.322`,...e,children:[(0,d.jsx)(`path`,{style:{fill:`#FBC176`},d:`M0,73.763v130.169c0,6.942,6.075,13.017,13.017,13.017h225.627c6.942,0,13.017-6.075,13.017-13.017 V73.763c0-6.942-6.075-13.017-13.017-13.017H13.017C6.075,60.746,0,66.82,0,73.763`}),(0,d.jsx)(`path`,{style:{fill:`#C39A6E`},d:`M225.627,60.746V39.051c0-6.942-6.075-13.017-13.017-13.017h-69.424L121.492,0H30.373 c-6.942,0-13.017,6.075-13.017,13.017v47.729H225.627z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M86.78,104.136H34.712c-5.207,0-8.678-3.471-8.678-8.678c0-5.207,3.471-8.678,8.678-8.678H86.78 c5.207,0,8.678,3.471,8.678,8.678C95.458,100.664,91.986,104.136,86.78,104.136`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M86.78,138.847H34.712c-5.207,0-8.678-3.471-8.678-8.678s3.471-8.678,8.678-8.678H86.78 c5.207,0,8.678,3.471,8.678,8.678S91.986,138.847,86.78,138.847`})]}),(0,d.jsx)(`path`,{style:{fill:`#FBC176`},d:`M251.661,360.136v130.169c0,6.942,6.075,13.017,13.017,13.017h225.627 c6.942,0,13.017-6.075,13.017-13.017V360.136c0-6.942-6.075-13.017-13.017-13.017H264.678 C257.736,347.119,251.661,353.193,251.661,360.136`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M338.441,390.508h-52.068c-5.207,0-8.678-3.471-8.678-8.678s3.471-8.678,8.678-8.678h52.068 c5.207,0,8.678,3.471,8.678,8.678S343.647,390.508,338.441,390.508`}),(0,d.jsx)(`path`,{style:{fill:`#FFFFFF`},d:`M338.441,425.22h-52.068c-5.207,0-8.678-3.471-8.678-8.678c0-5.207,3.471-8.678,8.678-8.678h52.068 c5.207,0,8.678,3.471,8.678,8.678C347.119,421.749,343.647,425.22,338.441,425.22`})]}),(0,d.jsx)(`path`,{style:{fill:`#F38774`},d:`M208.271,451.254H78.102c-5.207,0-8.678-3.471-8.678-8.678V260.339c0-5.207,3.471-8.678,8.678-8.678 c5.207,0,8.678,3.471,8.678,8.678v173.559h121.492c5.207,0,8.678,3.471,8.678,8.678 C216.949,447.783,213.478,451.254,208.271,451.254`}),(0,d.jsx)(`path`,{style:{fill:`#26B999`},d:`M433.898,277.695c-5.207,0-8.678-3.471-8.678-8.678V95.458H295.051c-5.207,0-8.678-3.471-8.678-8.678 c0-5.207,3.471-8.678,8.678-8.678h138.847c5.207,0,8.678,3.471,8.678,8.678v182.237 C442.576,274.224,439.105,277.695,433.898,277.695`}),(0,d.jsx)(`path`,{style:{fill:`#C39A6E`},d:`M477.288,347.119v-21.695c0-6.942-6.075-13.017-13.017-13.017h-69.424l-21.695-26.034h-91.119 c-6.942,0-13.017,6.075-13.017,13.017v47.729H477.288z`})]})}function re(e){return(0,d.jsxs)(`svg`,{height:`800px`,width:`800px`,viewBox:`0 0 128 128`,xmlns:`http://www.w3.org/2000/svg`,xmlnsXlink:`http://www.w3.org/1999/xlink`,"aria-hidden":`true`,role:`img`,className:`iconify iconify--noto`,preserveAspectRatio:`xMidYMid meet`,...e,children:[(0,d.jsx)(`path`,{d:`M106 24.79H22.15c-1.92 0-3.48 1.56-3.48 3.48v57.59c0 1.92 1.56 3.48 3.48 3.48H106c1.92 0 3.48-1.56 3.48-3.48V28.27c0-1.92-1.55-3.48-3.48-3.48z`,fill:`#b7d5e5`}),(0,d.jsxs)(`radialGradient`,{id:`IconifyId17ecdb2904d178eab9910`,cx:`48.408`,cy:`13.024`,r:`75.465`,gradientTransform:`matrix(1 0 0 1.0843 0 -10.19)`,gradientUnits:`userSpaceOnUse`,children:[(0,d.jsx)(`stop`,{offset:`0`,stopColor:`#2f7889`}),(0,d.jsx)(`stop`,{offset:`1`,stopColor:`#424242`})]}),(0,d.jsx)(`path`,{fill:`url(#IconifyId17ecdb2904d178eab9910)`,d:`M104.75 83.2H23.4l.96-52.27h79.43z`}),(0,d.jsx)(`path`,{d:`M121.09 123.82H7.59c-.43 0-.83-.03-1.2-.09c-2.88-.44-4.21-4.18-2.5-6.74l.39-.59h119.59l.4.6c1.86 2.78.12 6.76-3.04 6.81c-.04.01-.09.01-.14.01z`,fill:`#2f7889`}),(0,d.jsx)(`path`,{d:`M106.84 90.41H20.6c-1.27 0-2.54.77-3.25 1.99l-14 25.48c-.59.88-.01 2.12.99 2.12H123.8c1 0 1.58-1.24.99-2.12l-14.71-25.63c-.7-1.08-1.97-1.84-3.24-1.84z`,fill:`#eee`}),(0,d.jsx)(`path`,{fill:`#b7d5e5`,d:`M86.36 115.52H41.8l2.85-7.98h39.07z`}),(0,d.jsxs)(`g`,{opacity:`0.57`,fill:`#69a1ba`,children:[(0,d.jsx)(`path`,{d:`M72.69 94.84l-.27-2.2h-3.44l.13 2.2z`}),(0,d.jsx)(`path`,{d:`M67.14 94.84l-.14-2.2h-3.45v2.2z`}),(0,d.jsx)(`path`,{d:`M93.61 94.84l-.81-2.2h-3.26l.68 2.2z`}),(0,d.jsx)(`path`,{d:`M88.36 94.84l-.68-2.2h-3.32l.54 2.2z`}),(0,d.jsx)(`path`,{d:`M83.18 94.84l-.54-2.2h-3.37l.41 2.2z`}),(0,d.jsx)(`path`,{d:`M102.11 94.84l-.95-2.2h-6.71l.82 2.2z`}),(0,d.jsx)(`path`,{d:`M77.61 94.84l-.41-2.2h-3.41l.28 2.2z`}),(0,d.jsx)(`path`,{d:`M33.76 94.84l.68-2.2h-3.26l-.81 2.2z`}),(0,d.jsx)(`path`,{d:`M50.51 94.84l.27-2.2h-3.41l-.4 2.2z`}),(0,d.jsx)(`path`,{d:`M39.35 94.84l.54-2.2h-3.32l-.67 2.2z`}),(0,d.jsx)(`path`,{d:`M28.17 94.84l.81-2.2H25.8l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M44.93 94.84l.41-2.2h-3.37l-.54 2.2z`}),(0,d.jsx)(`path`,{d:`M56.08 94.84l.14-2.2h-3.44l-.27 2.2z`}),(0,d.jsx)(`path`,{d:`M61.65 94.84v-2.2H58.2l-.14 2.2z`}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M83.78 103.73H44.36l-.75 2.2h41.08z`}),(0,d.jsx)(`path`,{d:`M102.15 105.93l-1.21-2.2h6.54l.95 2.2z`}),(0,d.jsx)(`path`,{d:`M86.75 105.93l-.83-2.2h6.29l.96 2.2z`}),(0,d.jsx)(`path`,{d:`M95.39 105.93l-.96-2.2h4.31l1.1 2.2z`}),(0,d.jsx)(`path`,{d:`M25.67 105.93l1.21-2.2h-6.54l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M41.07 105.93l.83-2.2h-6.29l-.96 2.2z`}),(0,d.jsx)(`path`,{d:`M32.42 105.93l.97-2.2h-4.31l-1.11 2.2z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M29.71 98.51l.82-2.19h-6.67l-.95 2.19z`}),(0,d.jsx)(`path`,{d:`M97.95 98.51l-.81-2.19h6.66l.95 2.19z`}),(0,d.jsx)(`path`,{d:`M96.25 98.51l-.96-2.19h-3.85l.82 2.19z`}),(0,d.jsx)(`path`,{d:`M86.23 98.51l-.65-2.19h3.85l.78 2.19z`}),(0,d.jsx)(`path`,{d:`M80.19 98.51l-.47-2.19h3.85l.6 2.19z`}),(0,d.jsx)(`path`,{d:`M74.15 98.51l-.28-2.19h3.84l.43 2.19z`}),(0,d.jsx)(`path`,{d:`M68.12 98.51l-.11-2.19h3.85l.24 2.19z`}),(0,d.jsx)(`path`,{d:`M62.08 98.51l.07-2.19H66l.06 2.19z`}),(0,d.jsx)(`path`,{d:`M56.04 98.51l.25-2.19h3.85l-.11 2.19z`}),(0,d.jsx)(`path`,{d:`M50.01 98.51l.42-2.19h3.85l-.29 2.19z`}),(0,d.jsx)(`path`,{d:`M43.97 98.51l.6-2.19h3.85l-.47 2.19z`}),(0,d.jsx)(`path`,{d:`M37.93 98.51l.78-2.19h3.85l-.64 2.19z`}),(0,d.jsx)(`path`,{d:`M31.9 98.51l.95-2.19h3.85l-.82 2.19z`})]}),(0,d.jsxs)(`g`,{children:[(0,d.jsx)(`path`,{d:`M29.7 102.22l.81-2.2h-8.75l-.95 2.2z`}),(0,d.jsx)(`path`,{d:`M95.87 102.22l-.77-2.2h-4.17l.64 2.2z`}),(0,d.jsx)(`path`,{d:`M84.93 102.22l-.48-2.2h4.16l.62 2.2z`}),(0,d.jsx)(`path`,{d:`M78.28 102.22l-.32-2.2h4.17l.45 2.2z`}),(0,d.jsx)(`path`,{d:`M71.64 102.22l-.17-2.2h4.17l.3 2.2z`}),(0,d.jsx)(`path`,{d:`M65 102.22l-.01-2.2h4.16l.15 2.2z`}),(0,d.jsx)(`path`,{d:`M58.36 102.22l.14-2.2h4.17l-.01 2.2z`}),(0,d.jsx)(`path`,{d:`M51.71 102.22l.3-2.2h4.17l-.17 2.2z`}),(0,d.jsx)(`path`,{d:`M45.07 102.22l.46-2.2h4.16l-.32 2.2z`}),(0,d.jsx)(`path`,{d:`M38.43 102.22l.61-2.2h4.17l-.48 2.2z`}),(0,d.jsx)(`path`,{d:`M31.78 102.22l.77-2.2h4.17l-.63 2.2z`}),(0,d.jsx)(`path`,{d:`M97.47 102.22l-.82-2.2h8.75l.95 2.2z`})]})]}),(0,d.jsx)(`path`,{d:`M124.73 117.88L110.39 92.4c-.71-1.07-1.98-1.84-3.25-1.84c0 0 1.22 1.1 1.59 1.63l12.59 23.59c.56 1.02-.18 2.26-1.34 2.26H7.96c-1.15 0-1.89-1.23-1.35-2.24l11.95-23.18c.35-.6 1.88-1.99 1.88-1.99h-.45c-1.27 0-2.54.77-3.25 1.99L3.28 117.88c-.59.88-.01 2.12.99 2.12h119.46c1.01 0 1.59-1.24 1-2.12z`,fill:`#b7d5e5`}),(0,d.jsx)(`path`,{fill:`none`,stroke:`#eee`,strokeWidth:`2.936`,strokeLinecap:`round`,strokeMiterlimit:`10`,d:`M25.97 28.02h13.21`}),(0,d.jsx)(`path`,{d:`M109.37 30.11c0-1.04-1.01-1.12-1.01.11v55.8c0 1.34-1.09 2.43-2.43 2.43H22.08c-1.34 0-2.43-1.09-2.43-2.43v-55.8c0-1.23-1.01-1.15-1.01-.11l-.95 55.91c0 2.42 1.24 4.39 4.39 4.39h83.85c2.73 0 4.39-1.97 4.39-4.39l-.95-55.91z`,fill:`#75a7bc`})]})}var ie=[{code:`general`,icon:R,name:`Web`},{code:`news`,icon:z,name:`News`},{code:`videos`,icon:ee,name:`Videos`},{code:`images`,icon:te,name:`Images`},{code:`science`,icon:ne,name:`Academic`},{code:`files`,icon:B,name:`Files`},{code:`it`,icon:re,name:`Tech`}];function ae({...e}){return(0,d.jsx)(f.Root,{"data-slot":`dialog`,...e})}function oe({...e}){return(0,d.jsx)(f.Trigger,{"data-slot":`dialog-trigger`,...e})}function se({...e}){return(0,d.jsx)(f.Portal,{"data-slot":`dialog-portal`,...e})}function ce({className:e,...t}){return(0,d.jsx)(f.Overlay,{"data-slot":`dialog-overlay`,className:j(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50 backdrop-blur-xs`,e),...t})}function V({className:e,children:t,hideCloseButton:n=!1,...r}){return(0,d.jsxs)(se,{"data-slot":`dialog-portal`,children:[(0,d.jsx)(ce,{}),(0,d.jsxs)(f.Content,{"data-slot":`dialog-content`,"aria-describedby":r[`aria-describedby`]??void 0,className:j(`z-[9999] bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-2xl border p-6 shadow-lg duration-200`,e),...r,children:[t,!n&&(0,d.jsxs)(f.Close,{className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,d.jsx)(s.XIcon,{}),(0,d.jsx)(`span`,{className:`sr-only`,children:`Close`})]})]})]})}function le({className:e,...t}){return(0,d.jsx)(f.Title,{"data-slot":`dialog-title`,className:j(`text-lg leading-none font-semibold`,e),...t})}function H({className:e,...t}){return(0,d.jsx)(f.Description,{"data-slot":`dialog-description`,className:j(`text-muted-foreground text-sm`,e),...t})}function ue(e){try{let t=new URL(e);return t.protocol===`https:`||t.protocol===`http:`}catch{return!1}}function de(e){return e.iframe_src&&ue(e.iframe_src)?{type:`inline`,src:e.iframe_src}:{type:`external`,url:e.url||``}}function fe(e){return{pageContent:e.snippet||e.content||``,metadata:{title:e.title||``,source:e.source||``,thumbnail:e.thumbnail||``,url:e.url||``,...e.img_src&&{img_src:e.img_src},...e.iframe_src&&{iframe_src:e.iframe_src}}}}var pe=ie.filter(e=>[`general`,`news`,`videos`,`images`,`science`,`files`].includes(e.code)),me=({sources:e,query:t})=>{let[r,i]=(0,n.useState)(`general`),[a,o]=(0,n.useState)(e),[u,f]=(0,n.useState)(!1),[p,m]=(0,n.useState)(!1),[h,g]=(0,n.useState)(1),[_,v]=(0,n.useState)(!0),[y,b]=(0,n.useState)(!1),[x,S]=(0,n.useState)(!1),[C,w]=(0,n.useState)(null),T=(0,n.useRef)(null),E=(0,n.useRef)(!1),D=(0,n.useRef)(!1),{openPanel:O,isOpen:k}=I();(0,n.useEffect)(()=>{let e=()=>{S(localStorage.getItem(`searchResultGlow`)===`true`)};return e(),window.addEventListener(`client-config-changed`,e),window.addEventListener(`storage`,e),()=>{window.removeEventListener(`client-config-changed`,e),window.removeEventListener(`storage`,e)}},[]);let[A,M]=(0,n.useState)({});(0,n.useEffect)(()=>{let e=()=>{b(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{o(e),i(`general`),g(1),v(!0),M({}),N(e)},[e]);let N=(0,n.useCallback)(async e=>{let t=e.filter(e=>e.metadata.url&&e.metadata.url!==`File`&&!e.metadata.iframe_src);for(let e of t)try{let{data:t}=await(0,c.getArticle)({query:{url:e.metadata.url}});t?.cached&&t?.article?.html&&M(t=>({...t,[e.metadata.url]:`loaded`}))}catch{}},[]);(0,n.useEffect)(()=>{if(typeof window<`u`){let e=new URLSearchParams(window.location.search).get(`extract`);e&&(O(decodeURIComponent(e),``),D.current=!1)}},[O]),(0,n.useEffect)(()=>{D.current=!1},[e]),(0,n.useEffect)(()=>{E.current&&!k&&(D.current=!0),E.current=k},[k]),(0,n.useEffect)(()=>{if(y&&a&&a.length>0&&!k&&!D.current){let e=a[0];e?.metadata?.url&&O(e.metadata.url,``)}},[a,y]);let F=async(e,t)=>{e.preventDefault(),D.current=!1,M(e=>({...e,[t]:`loading`})),O(t,``);try{await(0,c.getArticle)({query:{url:t}}),M(e=>({...e,[t]:`loaded`}))}catch{M(e=>({...e,[t]:`loaded`}))}},L=(0,n.useCallback)(async()=>{if(!t||p||!_)return;m(!0);let e=h+1,{data:n}=await(0,c.agentSearch)({query:{q:t,cat:r,page:e}}),i=n?.results??[];if(i.length===0){v(!1),m(!1);return}let a=i.map(e=>{if(e.url)try{let t=new URL(e.url);(t.pathname===`/`||t.pathname===``)&&console.warn(`[MessageSources] Search result URL is domain-only:`,e.url,`Title:`,e.title)}catch{console.error(`[MessageSources] Invalid URL in search result:`,e.url)}return fe(e)});o(e=>[...e,...a]),g(e),m(!1)},[t,r,h,p,_]),R=async e=>{if(!(e===r||!t)){i(e),f(!0),g(1),v(!0);try{let{data:n}=await(0,c.agentSearch)({query:{q:t,cat:e,page:1}}),r=(n?.results??[]).map(e=>{if(e.url)try{let t=new URL(e.url);(t.pathname===`/`||t.pathname===``)&&console.warn(`[MessageSources] Category search result URL is domain-only:`,e.url,`Title:`,e.title)}catch{console.error(`[MessageSources] Invalid URL in category search result:`,e.url)}return fe(e)});o(r)}catch(e){console.error(`Error searching:`,e)}finally{f(!1)}}};(0,n.useEffect)(()=>{let e=T.current;if(!e)return;let t=()=>{let{scrollTop:t,scrollHeight:n,clientHeight:r}=e;n-t-r<100&&L()};return e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)},[L]);let z=(e,t)=>{let n=r===`images`,i=r===`videos`,a=e.metadata.img_src||e.metadata.thumbnail;if(n&&a)return(0,d.jsx)(`div`,{className:`relative rounded-lg group`,children:(0,d.jsxs)(`a`,{className:`relative block overflow-hidden rounded-lg cursor-pointer`,href:e.metadata.url,onClick:t=>F(t,e.metadata.url),children:[(0,d.jsx)(`img`,{src:a,alt:e.metadata.title,className:`w-full h-auto object-cover rounded-lg hover:scale-105 transition-transform duration-200`,loading:`lazy`}),(0,d.jsxs)(`div`,{className:`absolute inset-x-0 bottom-0 bg-gradient-to-t from-black/70 to-transparent p-2 opacity-0 group-hover:opacity-100 transition-opacity duration-200`,children:[(0,d.jsx)(`p`,{className:`text-xs text-white line-clamp-2`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)}),(0,d.jsx)(`p`,{className:`text-[10px] text-white/70 truncate mt-0.5`,children:e.metadata.source})]})]})},t);if(i&&a){let n=de(e.metadata),r=(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(`img`,{src:a,alt:e.metadata.title,className:`w-full h-24 object-cover`}),(0,d.jsx)(`div`,{className:`absolute inset-0 flex items-center justify-center`,children:(0,d.jsx)(`div`,{className:`w-10 h-10 bg-black/60 rounded-full flex items-center justify-center`,children:(0,d.jsx)(s.Video,{size:18,className:`text-white ml-0.5`})})})]}),i=(0,d.jsx)(`p`,{className:`text-xs line-clamp-2 p-2 text-muted-foreground`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)});return(0,d.jsxs)(`div`,{className:`relative rounded-xl`,children:[(0,d.jsx)(P,{spread:40,glow:!0,disabled:!x,proximity:64,inactiveZone:.01,borderWidth:2}),n.type===`inline`?(0,d.jsxs)(`button`,{type:`button`,className:`relative w-full text-left bg-card text-card-foreground border border-border rounded-xl overflow-hidden flex flex-col cursor-pointer shadow-sm hover:shadow-md transition-all duration-200`,onClick:()=>w({src:n.src,title:e.metadata.title}),children:[r,i]}):(0,d.jsxs)(`a`,{className:`relative bg-card text-card-foreground border border-border rounded-xl overflow-hidden flex flex-col cursor-pointer shadow-sm hover:shadow-md transition-all duration-200`,href:n.url,target:`_blank`,rel:`noopener noreferrer`,children:[r,i]})]},t)}let o=A[e.metadata.url];return(0,d.jsxs)(`div`,{className:`relative rounded-xl group h-full`,children:[(0,d.jsx)(P,{spread:40,glow:!0,disabled:!x,proximity:64,inactiveZone:.01,borderWidth:2}),(0,d.jsxs)(`div`,{className:`relative bg-card text-card-foreground border border-border rounded-xl p-2.5 flex flex-col font-medium cursor-pointer shadow-sm hover:shadow-md transition-all duration-200 h-full`,onClick:t=>F(t,e.metadata.url),children:[o&&(0,d.jsx)(`div`,{className:`absolute top-1.5 left-1.5 p-1 rounded-md bg-background/80 backdrop-blur-sm z-[5]`,children:o===`loading`?(0,d.jsx)(s.Loader2,{size:14,className:`text-primary animate-spin`}):(0,d.jsx)(s.FileText,{size:14,className:`text-green-500`})}),(0,d.jsx)(`a`,{href:e.metadata.url,target:`_blank`,rel:`noopener noreferrer`,onClick:e=>e.stopPropagation(),className:`absolute top-1.5 right-1.5 p-1 rounded-md bg-secondary/50 opacity-0 group-hover:opacity-100 transition-opacity hover:bg-secondary z-10`,title:`Open in new tab`,children:(0,d.jsx)(s.ExternalLink,{size:12,className:`text-muted-foreground`})}),(0,d.jsxs)(`p`,{className:`text-xs line-clamp-4 text-muted-foreground`,children:[(0,d.jsxs)(`span`,{className:`inline-flex items-center gap-1 font-semibold text-foreground/70 align-middle`,children:[e.metadata.url===`File`?(0,d.jsx)(`span`,{className:`inline-flex items-center justify-center w-3.5 h-3.5 rounded-full bg-secondary flex-shrink-0`,children:(0,d.jsx)(s.File,{size:10,className:`text-muted-foreground`})}):(0,d.jsx)(`img`,{src:`https://s2.googleusercontent.com/s2/favicons?domain_url=${e.metadata.url}`,width:20,height:20,alt:`favicon`,className:`inline rounded h-5 w-5 flex-shrink-0`}),e.metadata.source]}),` `,(0,d.jsx)(`span`,{className:`align-middle`,children:(0,l.convertURLSafeHTMLToHTML)(e.metadata.title)})]})]})]},t)};return(0,d.jsxs)(d.Fragment,{children:[t&&(0,d.jsx)(`div`,{className:`flex items-center gap-1 mb-3 overflow-x-auto pb-1`,children:pe.map(e=>(0,d.jsxs)(`button`,{onClick:()=>R(e.code),disabled:u,className:j(`flex items-center gap-1.5 px-3 py-1.5 rounded-lg text-sm font-medium transition-all duration-200 whitespace-nowrap`,r===e.code?`bg-primary text-primary-foreground`:`bg-secondary/50 text-muted-foreground hover:bg-secondary hover:text-foreground`),children:[(0,d.jsx)(e.icon,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:e.name})]},e.code))}),(0,d.jsx)(`div`,{ref:T,className:j(`overflow-y-auto pb-2 pr-1`,r===`images`?`max-h-[400px] lg:max-h-[500px]`:`max-h-[180px] lg:max-h-[280px]`),children:u?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(s.Loader2,{className:`w-6 h-6 animate-spin text-muted-foreground`})}):a.length>0?(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:j(r===`images`?`columns-2 sm:columns-3 lg:columns-4 gap-2 [&>div]:mb-2 [&>div]:break-inside-avoid`:j(`grid gap-3 auto-rows-fr`,k&&y?`grid-cols-2`:`grid-cols-3`)),children:a.map((e,t)=>z(e,t))}),p&&(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4`,children:(0,d.jsx)(s.Loader2,{className:`w-5 h-5 animate-spin text-muted-foreground`})}),!_&&a.length>0&&(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4 text-muted-foreground text-xs`,children:`No more results`})]}):(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8 text-muted-foreground text-sm`,children:`No results found`})}),(0,d.jsx)(ae,{open:C!==null,onOpenChange:e=>!e&&w(null),children:(0,d.jsxs)(V,{className:`max-w-3xl p-0 overflow-hidden gap-0`,children:[(0,d.jsx)(le,{className:`sr-only`,children:C?.title||`Video player`}),C&&(0,d.jsx)(`iframe`,{src:C.src,title:C.title||`Video player`,className:`w-full aspect-video`,allow:`accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture`,allowFullScreen:!0})]})})]})},he={extract:`Extract`,arxiv:`ArXiv`,"google scholar":`Scholar`,pubmed:`PubMed`,wolframalpha:`Wolfram`,youtube:`YouTube`,Web:`Web`};function ge(e){return e?he[e]??e:`Web`}function U({queries:e,loading:t}){let n=e.filter(e=>e.status===`done`).length,r=e.length,i=t&&e.some(e=>e.status===`running`);return t?(0,d.jsxs)(`div`,{className:`rounded-xl border border-border bg-secondary/20 overflow-hidden text-sm`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between px-3 py-2 border-b border-border/50`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2 text-muted-foreground`,children:[i?(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 animate-spin`}):(0,d.jsx)(s.Search,{className:`w-3.5 h-3.5`}),(0,d.jsx)(`span`,{className:`font-medium text-foreground`,children:i?`Running analysis…`:`Analysis complete`})]}),r>0&&(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground tabular-nums`,children:[n,`/`,r,` searches`]})]}),e.length>0&&(0,d.jsx)(`div`,{className:`divide-y divide-border/40`,children:e.map((e,t)=>(0,d.jsxs)(`div`,{className:`flex items-center gap-2.5 px-3 py-2`,children:[e.status===`running`?(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 text-muted-foreground animate-spin flex-shrink-0`}):(0,d.jsx)(s.Search,{className:j(`w-3.5 h-3.5 flex-shrink-0`,e.status===`done`?`text-muted-foreground`:`text-muted-foreground/40`)}),(0,d.jsxs)(`div`,{className:`flex items-baseline gap-1.5 min-w-0 flex-1`,children:[(0,d.jsxs)(`span`,{className:`text-xs text-muted-foreground whitespace-nowrap flex-shrink-0`,children:[ge(e.category),` ·`]}),(0,d.jsx)(`span`,{className:`text-foreground/80 truncate`,children:e.query})]})]},t))})]}):null}var _e={device:`webgpu`,dtype:`fp32`},ve={device:`wasm`,dtype:`q8`},ye=`hexgrad/Kokoro-82M`,be=null,xe=null;function Se(){return typeof navigator<`u`&&`gpu`in navigator}async function Ce(){if(!Se())return!1;try{return await navigator.gpu.requestAdapter()!=null}catch{return!1}}async function we(){let e=[];await Ce()&&e.push(_e),e.push(ve);let{KokoroTTS:t}=await import(`kokoro-js`),n;for(let r of e)try{let e=await t.from_pretrained(ye,{device:r.device,dtype:r.dtype});return xe=r.device,e}catch(e){n=e,console.warn(`Kokoro model failed to load on "${r.device}" backend:`,e)}throw n instanceof Error?n:Error(`Failed to load Kokoro model`)}async function Te(){return be||=we().catch(e=>{throw be=null,e}),be}async function Ee(){return Te()}async function De(){let e=await Ee();return Object.keys(e.voices)}function Oe(){return xe}function ke(e,t){let[r,i]=(0,n.useState)(`stopped`),a=(0,n.useRef)(null),o=(0,n.useRef)(null),s=(0,n.useRef)(null),c=(0,n.useRef)(t);c.current=t;let l=(0,n.useCallback)(()=>{a.current&&=(a.current.pause(),a.current.src.startsWith(`blob:`)&&URL.revokeObjectURL(a.current.src),null),s.current?.abort(),s.current=null},[]),u=(0,n.useCallback)(()=>{if(!(`speechSynthesis`in window))return!1;try{window.speechSynthesis.cancel();let t=new SpeechSynthesisUtterance(e);return o.current=t,t.onend=()=>{o.current=null,i(`stopped`)},t.onerror=()=>{o.current=null,i(`stopped`)},window.speechSynthesis.speak(t),i(`started`),!0}catch{return!1}},[e]);return{speechStatus:r,start:(0,n.useCallback)(async()=>{if(!e?.trim())return;l(),window.speechSynthesis?.cancel(),o.current=null,i(`started`);let t=new AbortController;s.current=t;try{if(localStorage.getItem(`useTTSKokoro`)!==`false`)try{let t=await Ee(),n=localStorage.getItem(`kokoroVoice`)||`af_heart`,r=(await t.generate(e.slice(0,5e3),{voice:n})).toWav(),o=new Blob([r],{type:`audio/wav`}),s=URL.createObjectURL(o),c=new Audio(s);a.current=c,c.onended=()=>{i(`stopped`),URL.revokeObjectURL(s),a.current=null},c.onerror=()=>{URL.revokeObjectURL(s),a.current=null,u()||i(`stopped`)},await c.play();return}catch(e){console.debug(`Kokoro TTS unavailable, using server-side TTS:`,e instanceof Error?e.message:String(e))}let n=await(0,p.default)(`agent/voice`,{method:`POST`,body:{text:e.slice(0,5e3),voice:localStorage.getItem(`kokoroVoice`)||`af_heart`},signal:t.signal}),r=typeof n.blob==`function`?await n.blob():n;if(!r||r.size===0){u()||i(`stopped`);return}let o=URL.createObjectURL(r),s=new Audio(o);a.current=s,s.onended=()=>{i(`stopped`),URL.revokeObjectURL(o),a.current=null},s.onerror=()=>{URL.revokeObjectURL(o),a.current=null,u()||i(`stopped`)},await s.play()}catch{u()||i(`stopped`)}},[e,l,u]),stop:(0,n.useCallback)(()=>{l(),o.current=null,window.speechSynthesis?.cancel(),i(`stopped`)},[l])}}var Ae=async(e,t,n)=>{let r=localStorage.getItem(`chatModelKey`),i=localStorage.getItem(`chatModelProviderId`),a=(await(0,p.default)(`agent/providers`))?.providers||[];if(!a||a.length===0){t(!0);return}let o=a.find(e=>e.id===i&&(e.chatModels?.length??0)>0);if(o||=a.find(e=>e.name.toLowerCase().includes(`openrouter`)&&(e.chatModels?.length??0)>0)||a.find(e=>e.name.toLowerCase().includes(`anyapi`)&&(e.chatModels?.length??0)>0)||a.find(e=>e.name.toLowerCase().includes(`nvidia`)&&(e.chatModels?.length??0)>0)||a.find(e=>(e.chatModels?.length??0)>0),!o){t(!0);return}i=o.id;let s=o.chatModels.find(e=>e.key===r);if(s||(o.name.toLowerCase().includes(`openrouter`)&&(s=o.chatModels.find(e=>e.key===`openrouter/free`)),!s&&o.name.toLowerCase().includes(`openrouter`)&&(s=o.chatModels.find(e=>e.key===`nvidia/nemotron-3-super-120b-a12b:free`)),!s&&o.name.toLowerCase().includes(`anyapi`)&&(s=o.chatModels.find(e=>e.key===`deepseek/deepseek-v3:free`)),s||=o.chatModels.find(e=>(e.key.toLowerCase().includes(`nemotron-3-super`)||e.name.toLowerCase().includes(`nemotron 3 super`))&&e.key.toLowerCase().includes(`120b`)),s||=o.chatModels.find(e=>e.key.toLowerCase().includes(`nemotron`)||e.name.toLowerCase().includes(`nemotron`)),s||=o.chatModels[0]),!s){t(!0);return}r=s.key,localStorage.setItem(`chatModelKey`,r),localStorage.setItem(`chatModelProviderId`,i),e({key:r,providerId:i}),t(!0)},W=`qwksearch_guest_chats`,je=typeof window<`u`;function Me(){if(!je)return[];try{let e=localStorage.getItem(W);return e?JSON.parse(e).sort((e,t)=>new Date(t.createdAt).getTime()-new Date(e.createdAt).getTime()):[]}catch(e){return console.error(`Failed to get guest chats:`,e),[]}}function Ne(e){return je&&Me().find(t=>t.id===e)||null}function Pe(e){if(je)try{let t=Me(),n=t.findIndex(t=>t.id===e.id);n>=0?t[n]=e:t.push(e),localStorage.setItem(W,JSON.stringify(t))}catch(e){console.error(`Failed to save guest chat:`,e)}}function Fe(e){if(je)try{let t=Me().filter(t=>t.id!==e);localStorage.setItem(W,JSON.stringify(t))}catch(e){console.error(`Failed to delete guest chat:`,e)}}function Ie(){if(je)try{localStorage.removeItem(W)}catch(e){console.error(`Failed to clear guest chats:`,e)}}function Le(e,t){if(!je)return;let n=Ne(e);n&&(n.title=t,Pe(n))}var Re=async(e,t,n,r,i,a,o,s,l)=>{if(!t){let t=Ne(e);if(t){n(t.messages);let e=t.messages.filter(e=>e.role===`user`||e.role===`assistant`),o=e.map(e=>[e.role,e.content]);e.length>0&&(document.title=e[0].content),s(t.files||[]),l((t.files||[]).map(e=>e.fileId)),i(o),a(t.focusMode),r(!0);return}try{let{data:t,error:u}=await(0,c.getChatById)({path:{id:e}});if(u){let e=u.status;if(e===404||e===403){o(!0),r(!0);return}throw Error(`Failed to load chat: ${u.message}`)}let{messages:d,chat:f}=t||{};if(!d||!f){o(!0),r(!0);return}n(d);let p=d.filter(e=>e.role===`user`||e.role===`assistant`),m=p.map(e=>[e.role,e.content]);p.length>0&&(document.title=p[0].content);let h=f.files.map(e=>({fileName:e.name,fileExtension:e.name.split(`.`).pop(),fileId:e.fileId}));s(h),l(h.map(e=>e.fileId)),i(m),a(f.focusMode),r(!0);return}catch(e){console.error(`[chatMessages] Failed to load public chat:`,e),o(!0),r(!0);return}}try{let{data:t,error:u}=await(0,c.getChatById)({path:{id:e}});if(u){let e=u.status;if(e===404||e===401||e===403){o(!0),r(!0);return}throw Error(`Failed to load chat: ${u.message}`)}let{messages:d,chat:f}=t||{};if(!d||!f){o(!0),r(!0);return}n(d);let p=d.filter(e=>e.role===`user`||e.role===`assistant`),m=p.map(e=>[e.role,e.content]);console.debug(new Date,`app:messages_loaded`),p.length>0&&(document.title=p[0].content);let h=f.files.map(e=>({fileName:e.name,fileExtension:e.name.split(`.`).pop(),fileId:e.fileId}));s(h),l(h.map(e=>e.fileId)),i(m),a(f.focusMode),r(!0)}catch(e){console.error(`[chatMessages] Failed to load chat:`,e),o(!0),r(!0)}},ze=e=>{let t=[];return e.forEach((n,r)=>{if(n.role===`user`){let i=e.findIndex((e,t)=>t>r&&e.role===`user`),a=e.find((e,t)=>t>r&&e.role===`assistant`&&(i===-1||t<i)),o=e.find((e,t)=>t>r&&e.role===`source`&&e.sources&&(i===-1||t<i)),s=e.find((e,t)=>t>r&&e.role===`searching`&&(i===-1||t<i)),c=!1,l=a?.content??``,u=a?.content??``,d=[];if(a){let t=/\[([^\]]+)\]/g,n=/\[(\d+)\]/g;if(l.includes(`<think>`)){let e=l.match(/<think>/g)?.length||0,t=l.match(/<\/think>/g)?.length||0;e&&!t&&(l+=`</think> <a> </a>`)}a.content.includes(`</think>`)&&(c=!0),o&&o.sources&&o.sources.length>0?(l=l.replace(t,(e,t)=>t.split(`,`).map(e=>e.trim()).map(e=>{let t=parseInt(e);if(isNaN(t)||t<=0)return`[${e}]`;let n=(o.sources?.[t-1])?.metadata?.url;return n?`<citation href="${n}">${e}</citation>`:``}).join(``)),u=a.content.replace(n,``)):(l=l.replace(n,``),u=a.content.replace(n,``));let s=e.find((e,t)=>t>r&&e.role===`suggestion`&&(i===-1||t<i));s&&s.suggestions.length>0&&(d=s.suggestions)}t.push({userMessage:n,assistantMessage:a,sourceMessage:o,searchingMessage:s,parsedAssistantMessage:l,speechMessage:u,thinkingEnded:c,suggestions:d})}}),t},Be=async e=>{let t=localStorage.getItem(`chatModelKey`),n=localStorage.getItem(`chatModelProviderId`),r=parseInt(localStorage.getItem(`maxFollowupQuestions`)||`4`),i=e.filter(e=>e.role===`user`||e.role===`assistant`);try{let e=await(0,p.default)(`agent/suggestions`,{method:`POST`,body:JSON.stringify({chatHistory:i,chatModel:{providerId:n,key:t},maxQuestions:r})});return Array.isArray(e.suggestions)?e.suggestions:[]}catch{return[]}},Ve=3,He=`Analyze the uploaded file(s) and summarize the key points.`,Ue=()=>Array.from(crypto.getRandomValues(new Uint8Array(7)),e=>e.toString(16).padStart(2,`0`)).join(``),We=`sourceExtractionEnabled`,Ge=`thinkingTimeLimit`;async function Ke(e,n){let{message:r,messageId:i,rewrite:a=!1}=e,{chatId:o,loading:s,messages:l,fileIds:u,files:d,focusMode:f,category:h,optimizationMode:g,chatHistory:_,chatModelProvider:v,isAuthenticated:y,messagesRef:b,abortControllerRef:x,setLoading:S,setMessageAppeared:C,setMessages:w,setChatHistory:T,setChatModelProvider:E}=n,D=typeof window<`u`&&localStorage.getItem(We)===`true`,O=typeof window<`u`&&Number(localStorage.getItem(Ge)??`0`)||0;if(s)return;let k=r?.trim()??``,A=Array.isArray(u)&&u.length>0;if(!k&&!A)return;let j=k?r:He,M=new AbortController;if(x.current=M,S(!0),C(!1),l.length<=1&&!t.researchAgentUIConfig.onOpenChat){let e=new URL(window.location.href);e.searchParams.set(`chat`,o),window.history.replaceState(null,``,`${e.pathname}?${e.searchParams.toString()}${e.hash}`)}let N=``,P=!1,F=!1,I=[],L=Date.now(),R=O>0,z=``,ee=``,te=i??Ue(),ne=Array.isArray(d)?[...d]:[];w(e=>[...e,{content:j,messageId:te,chatId:o,role:`user`,createdAt:new Date,...ne.length>0?{files:ne}:{}}]);let B=async e=>{if(e.type===`error`){let t=e.data;typeof t==`string`&&(t.includes(`no longer available`)||t.includes(`deprecated`)||t.includes(`410`))&&(localStorage.removeItem(`chatModelKey`),localStorage.removeItem(`chatModelProviderId`),E?.({key:``,providerId:``})),m.toast.error(t),S(!1);return}if(e.type===`searching`){let t=e.data;w(n=>{let r=n.findIndex(t=>t.messageId===e.messageId&&t.role===`searching`);return r===-1?[...n,{role:`searching`,messageId:e.messageId,chatId:o,createdAt:new Date,queries:[{query:t.query,category:t.category,status:t.status}]}]:n.map((e,n)=>{if(n!==r)return e;let i=e,a=i.queries.findIndex(e=>e.query===t.query);if(a===-1)return{...i,queries:[...i.queries,{query:t.query,category:t.category,status:t.status}]};let o=i.queries.map((e,n)=>n===a?{...e,status:t.status}:e);return{...i,queries:o}})})}if(e.type===`sources`&&(I=e.data||[],w(t=>[...t,{messageId:e.messageId,chatId:o,role:`source`,sources:I,createdAt:new Date}]),I.length>0&&(C(!0),I.slice(0,Ve).forEach(e=>{let t=e?.metadata?.url;t&&t!==`File`&&(0,p.default)(`doc/article?url=${encodeURIComponent(t)}`).catch(()=>{})}))),e.type===`message`&&(N+=e.data,R?(z+=e.data,ee||=e.messageId,P=!0):P?w(t=>t.map(t=>t.messageId===e.messageId&&t.role===`assistant`?{...t,content:t.content+e.data}:t)):(w(t=>[...t,{content:e.data,messageId:e.messageId,chatId:o,role:`assistant`,createdAt:new Date}]),P=!0,C(!0))),e.type===`messageEnd`){let e=async()=>{R&&z&&(w(e=>[...e,{content:z,messageId:ee,chatId:o,role:`assistant`,createdAt:new Date}]),C(!0)),T(e=>[...e,[`human`,j],[`assistant`,N]]),S(!1);let e=b.current[b.current.length-1];if(t.researchAgentUIConfig.getAutoMediaSearch()&&(document.getElementById(`search-images-${e.messageId}`)?.click(),document.getElementById(`search-videos-${e.messageId}`)?.click()),!F){F=!0;let e=await Be(b.current),t=Ue();if(w(n=>[...n,{role:`suggestion`,suggestions:e,chatId:o,createdAt:new Date,messageId:t}]),y&&e.length>0)try{await(0,c.saveMessage)({body:{chatId:o,messageId:t,role:`suggestion`,suggestions:e}})}catch(e){console.error(`Failed to save suggestions:`,e)}}};if(R){let e=Date.now()-L,t=O*1e3-e;t>0&&await new Promise(e=>setTimeout(e,t))}await e()}},re=l.findIndex(e=>e.messageId===te);try{let{stream:e}=await(0,c.agentChat)({signal:M.signal,body:{message:{messageId:te,chatId:o,content:j},optimizationMode:g,focusMode:f,category:h,history:a?_.slice(0,re===-1?void 0:re):_,files:u,chatModel:{key:v.key,providerId:v.providerId},sourceExtractionEnabled:D,thinkingTimeLimit:O,systemInstructions:localStorage.getItem(`systemInstructions`)??void 0},onSseError:e=>{if((e instanceof Error?e.message:String(e)).includes(`401`)&&y){m.toast.error(`Your session has expired. Please sign in again.`),S(!1),window.location.href=`/`;return}m.toast.error(`Failed to send message. Please try again.`),S(!1)}});for await(let t of e)await B(t)}catch(e){if(e.name===`AbortError`){R&&z&&(w(e=>[...e,{content:z,messageId:ee,chatId:o,role:`assistant`,createdAt:new Date}]),C(!0)),N&&T(e=>[...e,[`human`,j],[`assistant`,N]]),S(!1),x.current=null;return}throw e}x.current=null}function qe(e){let[t,r]=(0,n.useState)(e),[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(!1),[c,l]=(0,n.useState)(!1),[u,d]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(!1),[g,_]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),[b,x]=(0,n.useState)([]),[S,C]=(0,n.useState)([]),[w,T]=(0,n.useState)([]),[E,D]=(0,n.useState)([]),[O,k]=(0,n.useState)(`webSearch`),[A,j]=(0,n.useState)(`general`),[M,N]=(0,n.useState)(`speed`),[P,F]=(0,n.useState)({key:``,providerId:``}),I=(0,n.useRef)([]),L=(0,n.useMemo)(()=>S.filter(e=>e.role===`user`||e.role===`assistant`),[S]),R=(0,n.useMemo)(()=>ze(S),[S]);return{state:{chatId:t,newChatCreated:i,loading:o,messageAppeared:c,chatHistory:b,messages:S,files:w,fileIds:E,focusMode:O,category:A,optimizationMode:M,isMessagesLoaded:u,notFound:v,chatModelProvider:P,isConfigReady:f,hasError:m,isReady:g},setters:{setChatId:r,setNewChatCreated:a,setLoading:s,setMessageAppeared:l,setChatHistory:x,setMessages:C,setFiles:T,setFileIds:D,setFocusMode:k,setCategory:j,setOptimizationMode:N,setIsMessagesLoaded:d,setNotFound:y,setChatModelProvider:F,setIsConfigReady:p,setHasError:h,setIsReady:_},messagesRef:I,chatTurns:L,sections:R}}var Je=(0,n.createContext)({chatHistory:[],chatId:``,fileIds:[],files:[],focusMode:``,category:``,hasError:!1,isMessagesLoaded:!1,isReady:!1,loading:!1,messageAppeared:!1,messages:[],chatTurns:[],sections:[],notFound:!1,optimizationMode:``,chatModelProvider:{key:``,providerId:``},rewrite:()=>{},sendMessage:async()=>{},setFileIds:()=>{},setFiles:()=>{},deleteAttachedFile:async()=>{},setFocusMode:()=>{},setCategory:()=>{},setOptimizationMode:()=>{},setChatModelProvider:()=>{},stopStreaming:()=>{},newChat:()=>{},startNewChat:()=>{},switchToChat:()=>{},incognito:!1,setIncognito:()=>{}});function G(){return(0,n.useContext)(Je)}var Ye=async(e,t)=>{let n=localStorage.getItem(`chatModelKey`),r=localStorage.getItem(`chatModelProviderId`),i=t.filter(e=>e.role===`user`||e.role===`assistant`).map(e=>({role:e.role,content:e.content??``}));if(i.length===0)return``;try{let t=await(0,p.default)(`agent/chat-title`,{method:`POST`,body:JSON.stringify({chatId:e,chatHistory:i,chatModel:{providerId:r,key:n}})});return typeof t.title==`string`?t.title:``}catch{return``}},Xe=(0,n.createContext)({user:null,isLoading:!0,isAuthenticated:!1,signIn:()=>{},signOut:async()=>{}});function Ze({children:e,authClient:t,enableGoogleOneTap:r=!0}){let[i,a]=(0,n.useState)(null),[o,s]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{(async()=>{try{let{data:e}=await t.getSession();a(e?.user??null)}catch(e){console.error(`Failed to fetch session:`,e),a(null)}finally{s(!1)}})()},[]),(0,n.useEffect)(()=>{o||i||!r||t.oneTap({fetchOptions:{onSuccess:async()=>{let{data:e}=await t.getSession();a(e?.user??null)}}})},[o,i,r]),(0,d.jsx)(Xe.Provider,{value:{user:i,isLoading:o,isAuthenticated:!!i,signIn:()=>{t.signIn.social({provider:`google`,callbackURL:`/`})},signOut:async()=>{try{await t.signOut({fetchOptions:{onSuccess:()=>{a(null),window.location.href=`/`}}})}catch(e){console.error(`Sign out failed:`,e)}}},children:e})}function Qe(){let e=(0,n.useContext)(Xe);if(!e)throw Error(`useSession must be used within SessionProvider`);return e}function $e({children:e}){let t=(0,r.useParams)(),i=(0,r.useSearchParams)(),a=(0,r.useRouter)(),o=i.get(`q`),{isAuthenticated:s,isLoading:l}=Qe(),{state:u,setters:f,messagesRef:p,chatTurns:h,sections:g}=qe(t.chatId),_=(0,n.useRef)(null),[v,y]=(0,n.useState)(!1),b=(0,n.useRef)({}),x=(0,n.useRef)(new Set);(0,n.useEffect)(()=>{Ae(f.setChatModelProvider,f.setIsConfigReady,f.setHasError)},[]),(0,n.useEffect)(()=>{t.chatId&&t.chatId!==u.chatId&&(f.setChatId(t.chatId),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setIsMessagesLoaded(!1),f.setNotFound(!1),f.setNewChatCreated(!1))},[t.chatId,u.chatId]),(0,n.useEffect)(()=>{if(u.chatId&&!u.newChatCreated&&!u.isMessagesLoaded&&u.messages.length===0){if(l)return;Re(u.chatId,s,f.setMessages,f.setIsMessagesLoaded,f.setChatHistory,f.setFocusMode,f.setNotFound,f.setFiles,f.setFileIds)}else u.chatId||(f.setNewChatCreated(!0),f.setIsMessagesLoaded(!0),f.setChatId(crypto.randomUUID()))},[u.chatId,u.isMessagesLoaded,u.newChatCreated,u.messages.length,s,l]),(0,n.useEffect)(()=>{if(!v&&!s&&u.chatId&&u.messages.length>0){let e=u.messages.filter(e=>e.role===`user`||e.role===`assistant`);if(e.length>0){let t=b.current[u.chatId]??e[0].content.slice(0,50);Pe({id:u.chatId,title:t,createdAt:new Date().toISOString(),focusMode:u.focusMode,files:u.files,messages:u.messages})}}},[u.messages,u.chatId,s,u.focusMode,u.files]),(0,n.useEffect)(()=>{if(v||!u.chatId||!u.isMessagesLoaded||!u.newChatCreated||u.loading||h.filter(e=>e.role===`user`).length<2)return;let e=u.chatId;x.current.has(e)||(x.current.add(e),(async()=>{let t=await Ye(e,u.messages);if(!t){x.current.delete(e);return}b.current[e]=t,s||Le(e,t)})())},[h,u.messages,u.chatId,u.loading,u.isMessagesLoaded,u.newChatCreated,v,s]),(0,n.useEffect)(()=>{p.current=u.messages},[u.messages]),(0,n.useEffect)(()=>{u.isMessagesLoaded&&u.isConfigReady?(f.setIsReady(!0),console.debug(new Date,`app:ready`)):f.setIsReady(!1)},[u.isMessagesLoaded,u.isConfigReady]),(0,n.useEffect)(()=>{u.isReady&&o&&u.isConfigReady&&S(o)},[u.isConfigReady,u.isReady,o]);let S=(0,n.useCallback)(async(e,t,n=!1)=>{u.chatId&&await Ke({message:e,messageId:t,rewrite:n},{chatId:u.chatId,loading:u.loading,messages:u.messages,fileIds:u.fileIds,files:u.files,focusMode:u.focusMode,category:u.category,optimizationMode:u.optimizationMode,chatHistory:u.chatHistory,chatModelProvider:u.chatModelProvider,isAuthenticated:s,messagesRef:p,abortControllerRef:_,setLoading:f.setLoading,setMessageAppeared:f.setMessageAppeared,setMessages:f.setMessages,setChatHistory:f.setChatHistory,setChatModelProvider:f.setChatModelProvider})},[u.chatId,u.loading,u.messages,u.fileIds,u.files,u.focusMode,u.category,u.optimizationMode,u.chatHistory,u.chatModelProvider,s,p]),C=(0,n.useCallback)(e=>{let t=u.messages.findIndex(t=>t.messageId===e),n=h.findIndex(t=>t.messageId===e);if(t===-1)return;let r=h[n-1];f.setMessages(e=>[...e.slice(0,u.messages.length>2?u.messages.indexOf(r):0)]),f.setChatHistory(e=>[...e.slice(0,h.length>2?n-1:0)]),S(r.content,r.messageId,!0)},[u.messages,h,S]),w=(0,n.useCallback)(async e=>{f.setFiles(u.files.filter(t=>t.fileId!==e)),f.setFileIds(u.fileIds.filter(t=>t!==e)),f.setMessages(t=>t.map(t=>{if(t.role!==`user`)return t;let n=t;return n.files?.some(t=>t.fileId===e)?{...n,files:n.files.filter(t=>t.fileId!==e)}:t}));try{let{error:t}=await(0,c.deleteUploadedFile)({query:{fileId:e}});if(t)throw Error(t.message??`Delete failed`)}catch(e){console.error(`[ChatProvider] Failed to delete uploaded file:`,e),m.toast.error(`Removed from the chat, but the file could not be deleted from storage.`)}},[u.files,u.fileIds]),T=(0,n.useCallback)(()=>{_.current&&=(_.current.abort(),null)},[]),E=(0,n.useCallback)(()=>{T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setChatId(void 0),f.setNewChatCreated(!1),f.setIsMessagesLoaded(!1),f.setNotFound(!1),a.push(`/`)},[T,a]),D=(0,n.useCallback)(e=>{T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setNotFound(!1),f.setNewChatCreated(!0),f.setIsMessagesLoaded(!0),f.setChatId(e)},[T]),O=(0,n.useCallback)(e=>{e!==u.chatId&&(T(),f.setMessages([]),f.setChatHistory([]),f.setFiles([]),f.setFileIds([]),f.setIsMessagesLoaded(!1),f.setNotFound(!1),f.setNewChatCreated(!1),f.setChatId(e))},[T,u.chatId]),k={messages:u.messages,chatTurns:h,sections:g,chatHistory:u.chatHistory,files:u.files,fileIds:u.fileIds,focusMode:u.focusMode,category:u.category,chatId:u.chatId,hasError:u.hasError,isMessagesLoaded:u.isMessagesLoaded,isReady:u.isReady,loading:u.loading,messageAppeared:u.messageAppeared,notFound:u.notFound,optimizationMode:u.optimizationMode,chatModelProvider:u.chatModelProvider,incognito:v,setFileIds:f.setFileIds,setFiles:f.setFiles,deleteAttachedFile:w,setFocusMode:f.setFocusMode,setCategory:f.setCategory,setOptimizationMode:f.setOptimizationMode,rewrite:C,sendMessage:S,setChatModelProvider:f.setChatModelProvider,stopStreaming:T,newChat:E,startNewChat:D,switchToChat:O,setIncognito:y};return(0,d.jsx)(Je.Provider,{value:k,children:e})}function et({delayDuration:e=0,...t}){return(0,d.jsx)(h.Provider,{"data-slot":`tooltip-provider`,delayDuration:e,...t})}function K({...e}){return(0,d.jsx)(et,{children:(0,d.jsx)(h.Root,{"data-slot":`tooltip`,...e})})}function q({...e}){return(0,d.jsx)(h.Trigger,{"data-slot":`tooltip-trigger`,...e})}function J({className:e,sideOffset:t=0,children:n,...r}){return(0,d.jsx)(h.Portal,{children:(0,d.jsxs)(h.Content,{"data-slot":`tooltip-content`,sideOffset:t,className:j(`bg-popover text-popover-foreground border border-border shadow-md animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-2xl px-3 py-1.5 text-xs text-balance`,e),...r,children:[n,(0,d.jsx)(h.Arrow,{className:`bg-popover fill-popover z-50 size-2.5 translate-y-[calc(-50%-2px)] rotate-45 rounded-[2px]`})]})})}var tt=({href:e,children:t,sources:r})=>{let{openPanel:i}=I(),a=(0,n.useMemo)(()=>!r||!e?null:r.find(t=>t.metadata?.url===e)??null,[r,e]),o=(0,n.useMemo)(()=>{try{return new URL(e).hostname.replace(`www.`,``)}catch{return a?.metadata?.source||``}},[e,a]),s=a?.metadata?.title||``,c=`https://s2.googleusercontent.com/s2/favicons?domain_url=${e}`;return(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`a`,{href:e,onClick:t=>{t.preventDefault(),i(e,``)},className:`bg-light-secondary dark:bg-dark-secondary px-1 rounded ml-1 no-underline text-xs text-black/70 dark:text-white/70 relative cursor-pointer hover:bg-black/10 dark:hover:bg-white/20 transition-colors`,children:t})}),(0,d.jsx)(J,{side:`top`,className:`max-w-72 p-2.5`,children:(0,d.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,d.jsx)(`img`,{src:c,alt:``,width:16,height:16,className:`rounded flex-shrink-0 mt-0.5`}),(0,d.jsxs)(`div`,{className:`min-w-0`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium leading-snug line-clamp-2`,children:s||o}),s&&(0,d.jsx)(`p`,{className:`text-[10px] opacity-70 truncate mt-0.5`,children:o})]})]})})]})},nt=({content:e,thinkingEnded:t})=>{let[r,i]=(0,n.useState)(!0);return(0,n.useEffect)(()=>{i(!t)},[t]),(0,d.jsxs)(`div`,{className:`my-4 bg-secondary/50 rounded-xl border border-border overflow-hidden`,children:[(0,d.jsxs)(`button`,{onClick:()=>i(!r),className:`w-full flex items-center justify-between px-4 py-1 text-foreground/90 hover:bg-secondary transition duration-200`,children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,d.jsx)(s.BrainCircuit,{size:20,className:`text-accent-foreground`}),(0,d.jsx)(`p`,{className:`font-medium text-sm`,children:`Thinking Process`})]}),r?(0,d.jsx)(s.ChevronUp,{size:18,className:`text-muted-foreground`}):(0,d.jsx)(s.ChevronDown,{size:18,className:`text-muted-foreground`})]}),r&&(0,d.jsx)(`div`,{className:`px-4 py-3 text-foreground/80 text-sm border-t border-border bg-muted/50 whitespace-pre-wrap`,children:e})]})},rt=({children:e,thinkingEnded:t})=>(0,d.jsx)(nt,{content:e,thinkingEnded:t}),it=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`avif`],at=e=>{let t=(e||``).toLowerCase();return it.includes(t)?(0,d.jsx)(s.Image,{size:15}):t===`url`?(0,d.jsx)(s.Link2,{size:15}):(0,d.jsx)(s.FileText,{size:15})},ot=({file:e})=>{let{deleteAttachedFile:t}=G(),[r,i]=(0,n.useState)(!1),[a,o]=(0,n.useState)(!1);return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`group inline-flex max-w-full items-center gap-2 rounded-lg border border-border bg-secondary/40 py-1.5 pl-2.5 pr-1.5 text-sm`,children:[(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:at(e.fileExtension)}),(0,d.jsx)(`span`,{className:`min-w-0 truncate font-medium text-foreground`,title:e.fileName,children:e.fileName}),e.fileExtension&&e.fileExtension!==`url`&&(0,d.jsx)(`span`,{className:`hidden shrink-0 text-[10px] font-semibold uppercase tracking-wider text-muted-foreground sm:inline`,children:e.fileExtension}),(0,d.jsx)(`button`,{type:`button`,"aria-label":`Delete ${e.fileName}`,onClick:()=>i(!0),className:`shrink-0 rounded-md p-1 text-muted-foreground transition-colors hover:bg-red-500/10 hover:text-red-500`,children:(0,d.jsx)(s.Trash2,{size:14})})]}),(0,d.jsx)(ae,{open:r,onOpenChange:e=>{a||i(e)},children:(0,d.jsxs)(V,{className:`w-full max-w-md rounded-2xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6`,children:`Delete file`}),(0,d.jsxs)(H,{className:`text-sm text-muted-foreground`,children:[`Are you sure you want to delete`,` `,(0,d.jsx)(`span`,{className:`font-medium text-foreground`,children:e.fileName}),`? This removes it from the conversation and permanently deletes the upload.`]}),(0,d.jsxs)(`div`,{className:`mt-6 flex flex-row items-center justify-end gap-4`,children:[(0,d.jsx)(`button`,{type:`button`,onClick:()=>!a&&i(!1),className:`text-sm text-muted-foreground transition-colors hover:text-foreground`,children:`Cancel`}),(0,d.jsxs)(`button`,{type:`button`,onClick:async()=>{o(!0);try{await t(e.fileId),i(!1)}finally{o(!1)}},disabled:a,className:`inline-flex items-center gap-1.5 text-sm text-red-500 transition-colors hover:text-red-600 disabled:opacity-60`,children:[a&&(0,d.jsx)(s.Loader2,{size:14,className:`animate-spin`}),`Delete`]})]})]})})]})},st=({files:e})=>!e||e.length===0?null:(0,d.jsx)(`div`,{className:`ml-10 mt-2 flex flex-wrap gap-2`,children:e.map(e=>(0,d.jsx)(ot,{file:e},e.fileId))}),ct=({section:e,isExpanded:t,setIsExpanded:r,isEditing:i,setIsEditing:a,editText:o,setEditText:c,handleEditSubmit:l,copiedUserMsg:u,handleCopyUserMsg:f})=>{let p=(0,n.useRef)(null);return(0,d.jsxs)(`div`,{className:`w-full pt-8 break-words`,children:[(0,d.jsxs)(`button`,{onClick:()=>r(!t),className:`flex items-center gap-3 group text-left w-full`,children:[(0,d.jsx)(`div`,{className:`flex-shrink-0 p-1.5 rounded-lg bg-secondary/50 group-hover:bg-secondary transition-colors duration-200`,children:t?(0,d.jsx)(s.ChevronDown,{size:18,className:`text-muted-foreground group-hover:text-foreground transition-colors`}):(0,d.jsx)(s.ChevronRight,{size:18,className:`text-muted-foreground group-hover:text-foreground transition-colors`})}),(0,d.jsx)(`h2`,{className:`text-foreground font-medium text-lg lg:text-3xl lg:w-9/12 group-hover:text-foreground/80 transition-colors line-clamp-3 lg:line-clamp-none`,children:e.userMessage.content})]}),(0,d.jsxs)(`div`,{className:`flex items-center gap-0.5 mt-1 ml-10`,children:[(()=>{let t=M(e.userMessage.createdAt);return t?(0,d.jsx)(`time`,{dateTime:new Date(e.userMessage.createdAt).toISOString(),className:`mr-1.5 text-xs text-muted-foreground tabular-nums select-none`,children:t}):null})(),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:f,className:`p-1.5 text-muted-foreground rounded-lg hover:bg-secondary transition-all duration-200 hover:text-foreground`,children:(0,d.jsx)(`span`,{className:j(`flex items-center transition-all duration-300`,u?`scale-110`:`scale-100`),children:u?(0,d.jsx)(s.Check,{size:14,className:`text-green-500`}):(0,d.jsx)(s.ClipboardList,{size:14})})})}),(0,d.jsx)(J,{side:`bottom`,children:u?`Copied!`:`Copy prompt`})]}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{c(e.userMessage.content),a(!0),setTimeout(()=>p.current?.focus(),50)},className:`p-1.5 text-muted-foreground rounded-lg hover:bg-secondary transition-all duration-200 hover:text-foreground`,children:(0,d.jsx)(s.Pencil,{size:14})})}),(0,d.jsx)(J,{side:`bottom`,children:`Edit & resubmit`})]})]}),(0,d.jsx)(st,{files:e.userMessage.files}),i&&(0,d.jsxs)(`div`,{className:`mt-3 ml-10 flex flex-col gap-2`,children:[(0,d.jsx)(`textarea`,{ref:p,value:o,onChange:e=>c(e.target.value),onKeyDown:e=>{e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),l()),e.key===`Escape`&&a(!1)},rows:3,className:`w-full rounded-xl border border-border bg-background p-3 text-sm resize-none focus:outline-none focus:ring-2 focus:ring-primary/30 transition-colors`}),(0,d.jsxs)(`div`,{className:`flex gap-2 justify-end`,children:[(0,d.jsx)(`button`,{onClick:()=>a(!1),className:`px-3 py-1.5 text-sm text-muted-foreground rounded-lg hover:bg-secondary transition-colors duration-200`,children:`Cancel`}),(0,d.jsx)(`button`,{onClick:l,disabled:!o.trim(),className:`px-3 py-1.5 text-sm bg-primary text-primary-foreground rounded-lg hover:bg-primary/90 disabled:opacity-50 disabled:cursor-not-allowed transition-colors duration-200`,children:`Resubmit`})]})]})]})};function lt({...e}){return(0,d.jsx)(g.Root,{"data-slot":`dropdown-menu`,...e})}function ut({...e}){return(0,d.jsx)(g.Trigger,{"data-slot":`dropdown-menu-trigger`,...e})}function dt({className:e,sideOffset:t=4,...n}){return(0,d.jsx)(g.Portal,{children:(0,d.jsx)(g.Content,{"data-slot":`dropdown-menu-content`,sideOffset:t,className:j(`bg-card text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-2xl border p-1 shadow-md`,e),...n})})}function Y({className:e,inset:t,variant:n=`default`,...r}){return(0,d.jsx)(g.Item,{"data-slot":`dropdown-menu-item`,"data-inset":t,"data-variant":n,className:j(`focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-2xl px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),...r})}function ft({className:e,children:t,checked:n,...r}){return(0,d.jsxs)(g.CheckboxItem,{"data-slot":`dropdown-menu-checkbox-item`,className:j(`focus:bg-accent focus:text-accent-foreground relative flex cursor-default items-center gap-2 rounded-2xl py-1.5 pr-2 pl-8 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,e),checked:n,...r,children:[(0,d.jsx)(`span`,{className:`pointer-events-none absolute left-2 flex size-3.5 items-center justify-center`,children:(0,d.jsx)(g.ItemIndicator,{children:(0,d.jsx)(s.CheckIcon,{className:`size-4`})})}),t]})}function pt({className:e,inset:t,...n}){return(0,d.jsx)(g.Label,{"data-slot":`dropdown-menu-label`,"data-inset":t,className:j(`px-2 py-1.5 text-sm font-medium data-[inset]:pl-8`,e),...n})}function X({className:e,...t}){return(0,d.jsx)(g.Separator,{"data-slot":`dropdown-menu-separator`,className:j(`bg-border -mx-1 my-1 h-px`,e),...t})}function mt({...e}){return(0,d.jsx)(g.Sub,{"data-slot":`dropdown-menu-sub`,...e})}function ht({className:e,inset:t,children:n,...r}){return(0,d.jsxs)(g.SubTrigger,{"data-slot":`dropdown-menu-sub-trigger`,"data-inset":t,className:j(`focus:bg-accent focus:text-accent-foreground data-[state=open]:bg-accent data-[state=open]:text-accent-foreground flex cursor-default items-center rounded-2xl px-2 py-1.5 text-sm outline-hidden select-none data-[inset]:pl-8`,e),...r,children:[n,(0,d.jsx)(s.ChevronRightIcon,{className:`ml-auto size-4`})]})}function gt({className:e,...t}){return(0,d.jsx)(g.SubContent,{"data-slot":`dropdown-menu-sub-content`,className:j(`bg-card text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-hidden rounded-2xl border p-1 shadow-lg`,e),...t})}var _t=({section:e,initialMessage:t})=>{let[r,i]=(0,n.useState)(!1);return(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{let n=`${t}${e?.sourceMessage?.sources&&e.sourceMessage.sources.length>0&&`\n\nCitations:\n${e.sourceMessage.sources?.map((e,t)=>`[${t+1}] ${e.metadata.url}`).join(`
|
|
17
|
+
`)}`}`;navigator.clipboard.writeText(n),i(!0),setTimeout(()=>i(!1),1e3)},className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:r?(0,d.jsx)(s.Check,{size:18}):(0,d.jsx)(s.ClipboardList,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:r?`Copied!`:`Copy`})]})};function vt({...e}){return(0,d.jsx)(_.Root,{"data-slot":`popover`,...e})}function yt({...e}){return(0,d.jsx)(_.Trigger,{"data-slot":`popover-trigger`,...e})}function bt({className:e,align:t=`center`,sideOffset:n=4,container:r,...i}){return(0,d.jsx)(_.Portal,{container:r,children:(0,d.jsx)(_.Content,{"data-slot":`popover-content`,align:t,sideOffset:n,className:j(`bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-72 origin-(--radix-popover-content-transform-origin) rounded-2xl border p-4 shadow-md outline-hidden`,e),...i})})}var Z={Plus:s.Plus,Paperclip:s.Paperclip,Cloud:s.Cloud,Upload:s.Upload,File:s.File,SquarePen:s.SquarePen,Thinking:e=>(0,d.jsx)(`svg`,{width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`currentColor`,xmlns:`http://www.w3.org/2000/svg`,...e,children:(0,d.jsx)(`path`,{d:`M10.3857 2.50977C14.3486 2.71054 17.5 5.98724 17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 9.72386 2.72386 9.5 3 9.5C3.27614 9.5 3.5 9.72386 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.5225 13.7691 3.68312 10.335 3.50879L10 3.5L9.89941 3.49023C9.67145 3.44371 9.5 3.24171 9.5 3C9.5 2.72386 9.72386 2.5 10 2.5L10.3857 2.50977ZM10 5.5C10.2761 5.5 10.5 5.72386 10.5 6V9.69043L13.2236 11.0527C13.4706 11.1762 13.5708 11.4766 13.4473 11.7236C13.3392 11.9397 13.0957 12.0435 12.8711 11.9834L12.7764 11.9473L9.77637 10.4473C9.60698 10.3626 9.5 10.1894 9.5 10V6C9.5 5.72386 9.72386 5.5 10 5.5ZM3.66211 6.94141C4.0273 6.94159 4.32303 7.23735 4.32324 7.60254C4.32324 7.96791 4.02743 8.26446 3.66211 8.26465C3.29663 8.26465 3 7.96802 3 7.60254C3.00021 7.23723 3.29676 6.94141 3.66211 6.94141ZM4.95605 4.29395C5.32146 4.29404 5.61719 4.59063 5.61719 4.95605C5.6171 5.3214 5.3214 5.61709 4.95605 5.61719C4.59063 5.61719 4.29403 5.32146 4.29395 4.95605C4.29395 4.59057 4.59057 4.29395 4.95605 4.29395ZM7.60254 3C7.96802 3 8.26465 3.29663 8.26465 3.66211C8.26446 4.02743 7.96791 4.32324 7.60254 4.32324C7.23736 4.32302 6.94159 4.0273 6.94141 3.66211C6.94141 3.29676 7.23724 3.00022 7.60254 3Z`})}),SelectArrow:s.ChevronDown,ArrowUp:s.ArrowUp,X:s.X,FileText:s.FileText,Loader2:s.Loader2,Check:s.Check,Archive:s.Archive,Mic:s.Mic,Stop:s.Square,Clock:e=>(0,d.jsx)(`svg`,{xmlns:`http://www.w3.org/2000/svg`,width:`20`,height:`20`,viewBox:`0 0 20 20`,fill:`currentColor`,...e,children:(0,d.jsx)(`path`,{d:`M10.3857 2.50977C14.3486 2.71054 17.5 5.98724 17.5 10C17.5 14.1421 14.1421 17.5 10 17.5C5.85786 17.5 2.5 14.1421 2.5 10C2.5 9.72386 2.72386 9.5 3 9.5C3.27614 9.5 3.5 9.72386 3.5 10C3.5 13.5899 6.41015 16.5 10 16.5C13.5899 16.5 16.5 13.5899 16.5 10C16.5 6.5225 13.7691 3.68312 10.335 3.50879L10 3.5L9.89941 3.49023C9.67145 3.44371 9.5 3.24171 9.5 3C9.5 2.72386 9.72386 2.5 10 2.5L10.3857 2.50977ZM10 5.5C10.2761 5.5 10.5 5.72386 10.5 6V9.69043L13.2236 11.0527C13.4706 11.1762 13.5708 11.4766 13.4473 11.7236C13.3392 11.9397 13.0957 12.0435 12.8711 11.9834L12.7764 11.9473L9.77637 10.4473C9.60698 10.3626 9.5 10.1894 9.5 10V6C9.5 5.72386 9.72386 5.5 10 5.5ZM3.66211 6.94141C4.0273 6.94159 4.32303 7.23735 4.32324 7.60254C4.32324 7.96791 4.02743 8.26446 3.66211 8.26465C3.29663 8.26465 3 7.96802 3 7.60254C3.00021 7.23723 3.29676 6.94141 3.66211 6.94141ZM4.95605 4.29395C5.32146 4.29404 5.61719 4.59063 5.61719 4.95605C5.6171 5.3214 5.3214 5.61709 4.95605 5.61719C4.59063 5.61719 4.29403 5.32146 4.29395 4.95605C4.29395 4.59057 4.59057 4.29395 4.95605 4.29395ZM7.60254 3C7.96802 3 8.26465 3.29663 8.26465 3.66211C8.26446 4.02743 7.96791 4.32324 7.60254 4.32324C7.23736 4.32302 6.94159 4.0273 6.94141 3.66211C6.94141 3.29676 7.23724 3.00022 7.60254 3Z`})})},xt=({messageId:e})=>{let{rewrite:t,chatModelProvider:r,setChatModelProvider:i}=G(),[a,o]=(0,n.useState)([]),[l,u]=(0,n.useState)(!0),[f,p]=(0,n.useState)(``),[m,h]=(0,n.useState)(!1);(0,n.useEffect)(()=>{m&&(async()=>{try{u(!0);let{data:e}=await(0,c.listProviders)();o(e?.providers??[])}catch(e){console.error(`Error loading providers:`,e)}finally{u(!1)}})()},[m]);let g=(0,n.useMemo)(()=>{if(!r?.providerId)return a;let e=a.findIndex(e=>e.id===r.providerId);return e===-1?a:[a[e],...a.filter((t,n)=>n!==e)]},[a,r]).map(e=>({...e,chatModels:(e.chatModels??[]).filter(t=>t.name.toLowerCase().includes(f.toLowerCase())||e.name.toLowerCase().includes(f.toLowerCase()))})).filter(e=>e.chatModels.length>0),_=(0,n.useMemo)(()=>{if(!r.key)return`Rewrite`;for(let e of a){let t=e.chatModels.find(e=>e.key===r.key);if(t)return t.name}return r.key},[a,r.key]),v=(n,r)=>{i({providerId:n,key:r}),localStorage.setItem(`chatModelProviderId`,n),localStorage.setItem(`chatModelKey`,r),h(!1),t(e)};return(0,d.jsxs)(vt,{open:m,onOpenChange:h,children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(yt,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.ArrowLeftRight,{size:18})})})}),(0,d.jsxs)(J,{side:`bottom`,children:[`Rewrite with `,_]})]}),(0,d.jsx)(bt,{className:`w-[280px] p-0`,align:`start`,side:`top`,sideOffset:8,children:(0,d.jsxs)(`div`,{className:`bg-white dark:bg-[#212121] max-h-[400px] border rounded-2xl border-[#DDDDDD] dark:border-[#30302E] w-full flex flex-col shadow-2xl overflow-hidden`,children:[(0,d.jsx)(`div`,{className:`p-3 border-b border-[#EEEEEE] dark:border-[#30302E]`,children:(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(s.Search,{size:14,className:`absolute left-3 top-1/2 -translate-y-1/2 text-text-400 dark:text-[#999999]`}),(0,d.jsx)(`input`,{type:`text`,placeholder:`Search models...`,value:f,onChange:e=>p(e.target.value),className:`w-full pl-9 pr-3 py-2 text-[13px] bg-bg-100 dark:bg-[#30302E] border border-bg-300 dark:border-[#404040] rounded-lg text-text-100 dark:text-[#ECECEC] placeholder:text-text-400 dark:placeholder:text-[#999999] focus:outline-none focus:ring-2 focus:ring-sky-500/20 focus:border-sky-500/30 transition-all`})]})}),(0,d.jsx)(`div`,{className:`max-h-[320px] overflow-y-auto`,children:l?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-12`,children:(0,d.jsx)(Z.Loader2,{className:`animate-spin text-text-400 dark:text-[#999999]`,size:20})}):g.length===0?(0,d.jsx)(`div`,{className:`text-center py-12 px-4 text-text-400 dark:text-[#999999] text-sm`,children:f?`No models found`:`No chat models configured`}):(0,d.jsx)(`div`,{className:`flex flex-col`,children:g.map((e,t)=>(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`px-4 py-2 sticky top-0 bg-white dark:bg-[#212121] border-b border-[#EEEEEE]/50 dark:border-[#30302E]/50`,children:(0,d.jsx)(`p`,{className:`text-[11px] text-text-400 dark:text-[#999999] uppercase tracking-wider font-medium`,children:e.name})}),(0,d.jsx)(`div`,{className:`flex flex-col px-1.5 py-1.5 space-y-0.5`,children:e.chatModels.map(t=>(0,d.jsxs)(`button`,{onClick:()=>v(e.id,t.key),type:`button`,className:j(`px-3 py-2 flex items-center justify-between text-start duration-200 cursor-pointer transition rounded-xl group`,r?.providerId===e.id&&r?.key===t.key?`bg-sky-50 dark:bg-sky-500/10`:`hover:bg-bg-100 dark:hover:bg-[#30302E]`),children:[(0,d.jsxs)(`div`,{className:`flex items-center space-x-2.5 min-w-0 flex-1`,children:[(0,d.jsx)(s.Cpu,{size:14,className:j(`shrink-0`,r?.providerId===e.id&&r?.key===t.key?`text-sky-500`:`text-text-400 dark:text-[#999999] group-hover:text-text-300 dark:group-hover:text-[#B4B4B4]`)}),(0,d.jsx)(`p`,{className:j(`text-[13px] truncate`,r?.providerId===e.id&&r?.key===t.key?`text-sky-600 dark:text-sky-400 font-medium`:`text-text-200 dark:text-[#ECECEC] group-hover:text-text-100 dark:group-hover:text-white`),children:t.name})]}),r?.providerId===e.id&&r?.key===t.key&&(0,d.jsx)(Z.Check,{className:`w-4 h-4 text-sky-500 shrink-0`})]},t.key))}),t<g.length-1&&(0,d.jsx)(`div`,{className:`h-px bg-[#EEEEEE] dark:bg-[#30302E] mx-2`})]},e.id))})})]})})]})},St=new Map;function Ct(e){if(typeof window>`u`)return Promise.reject(Error(`CDN scripts require a browser environment`));let t=St.get(e);if(t)return t;let n=new Promise((t,n)=>{let r=document.querySelector(`script[data-cdn-loader="${e}"]`);if(r){r.dataset.loaded===`true`?t():(r.addEventListener(`load`,()=>t(),{once:!0}),r.addEventListener(`error`,()=>n(Error(`Failed to load ${e}`)),{once:!0}));return}let i=document.createElement(`script`);i.src=e,i.async=!0,i.dataset.cdnLoader=e,i.onload=()=>{i.dataset.loaded=`true`,t()},i.onerror=()=>{St.delete(e),n(Error(`Failed to load ${e}`))},document.head.appendChild(i)});return St.set(e,n),n}var wt=`https://cdn.jsdelivr.net/npm/jspdf@2.5.2/dist/jspdf.umd.min.js`,Tt=`https://cdn.jsdelivr.net/npm/docx@9.5.1/build/index.umd.min.js`;async function Et(){await Ct(wt);let e=window.jspdf?.jsPDF;if(!e)throw Error(`jsPDF global not found after CDN load`);return e}async function Dt(){await Ct(Tt);let e=window.docx;if(!e)throw Error(`docx global not found after CDN load`);return e}async function Ot(e,t){Mt(`# ${e}\n\n${new y.default({headingStyle:`atx`,codeBlockStyle:`fenced`}).turndown(t)}`,`${e}.md`,`text/markdown`)}async function kt(e,t){let{Document:n,Paragraph:r,TextRun:i,HeadingLevel:a,Packer:o}=await Dt(),s=new DOMParser().parseFromString(t,`text/html`),c=[];c.push(new r({text:e,heading:a.HEADING_1,spacing:{after:200}}));let l=e=>{if(e.nodeType===Node.TEXT_NODE){let t=e.textContent?.trim();t&&c.push(new r({children:[new i(t)]}))}else if(e.nodeType===Node.ELEMENT_NODE){let t=e,n=t.tagName.toLowerCase();switch(n){case`h1`:c.push(new r({text:t.textContent||``,heading:a.HEADING_1}));break;case`h2`:c.push(new r({text:t.textContent||``,heading:a.HEADING_2}));break;case`h3`:c.push(new r({text:t.textContent||``,heading:a.HEADING_3}));break;case`p`:let e=[];t.childNodes.forEach(t=>{if(t.nodeType===Node.TEXT_NODE)e.push(new i(t.textContent||``));else if(t.nodeType===Node.ELEMENT_NODE){let n=t,r={text:n.textContent||``};(n.tagName===`STRONG`||n.tagName===`B`)&&(r.bold=!0),(n.tagName===`EM`||n.tagName===`I`)&&(r.italics=!0),n.tagName===`U`&&(r.underline={}),n.tagName===`CODE`&&(r.font=`Courier New`),e.push(new i(r))}}),e.length>0?c.push(new r({children:e})):c.push(new r({text:t.textContent||``}));break;case`ul`:case`ol`:t.querySelectorAll(`li`).forEach(e=>{c.push(new r({text:e.textContent||``,bullet:n===`ul`?{level:0}:void 0,numbering:n===`ol`?{reference:`default`,level:0}:void 0}))});break;case`blockquote`:c.push(new r({children:[new i({text:t.textContent||``,italics:!0})],indent:{left:720}}));break;default:t.childNodes.forEach(l)}}};s.body.childNodes.forEach(l);let u=new n({sections:[{properties:{},children:c}]}),d=await o.toBlob(u),f=URL.createObjectURL(d),p=document.createElement(`a`);p.href=f,p.download=`${e}.docx`,p.click(),URL.revokeObjectURL(f)}async function At(e,t){let n=document.createElement(`div`);n.style.position=`absolute`,n.style.left=`-9999px`,n.style.width=`210mm`,n.style.padding=`20mm`,n.style.backgroundColor=`white`,n.style.fontFamily=`Arial, sans-serif`,n.style.fontSize=`12pt`,n.style.lineHeight=`1.6`,n.innerHTML=`
|
|
18
18
|
<h1 style="font-size: 24pt; margin-bottom: 20px;">${e}</h1>
|
|
19
19
|
${t}
|
|
20
|
-
`,document.body.appendChild(n);try{let t=await Tt(),r=await(0,v.default)(n,{scale:2,useCORS:!0,logging:!1}),i=r.toDataURL(`image/png`),a=new t({orientation:`portrait`,unit:`mm`,format:`a4`}),o=r.height*210/r.width,s=o,c=0;for(a.addImage(i,`PNG`,0,c,210,o),s-=297;s>=0;)c=s-o,a.addPage(),a.addImage(i,`PNG`,0,c,210,o),s-=297;a.save(`${e}.pdf`)}finally{document.body.removeChild(n)}}async function At(e,t){try{let n=`${e}\n\n${new y.default().turndown(t)}`;await navigator.clipboard.writeText(n),window.open(`https://docs.google.com/document/create`,`_blank`),alert(`Content copied to clipboard! Paste it into the new Google Doc.`)}catch(e){console.error(`Failed to export to Google Docs:`,e),alert(`Failed to copy content to clipboard. Please try again.`)}}function jt(e,t,n){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,a.click(),URL.revokeObjectURL(i)}var Mt=({section:e,speechStatus:t,start:n,stop:r,handleOpenInLLM:i})=>e.assistantMessage?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-end w-full text-foreground py-4 -mx-2`,children:(0,d.jsxs)(`div`,{className:`flex flex-row items-center space-x-1`,children:[(0,d.jsx)(bt,{messageId:e.assistantMessage.messageId}),(0,d.jsx)(gt,{initialMessage:e.assistantMessage.content,section:e}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{t===`started`?r():n()},className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:t===`started`?(0,d.jsx)(s.StopCircle,{size:18}):(0,d.jsx)(s.Volume2,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:t===`started`?`Stop`:`Read aloud`})]}),(0,d.jsxs)(ct,{children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(lt,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.Download,{size:18})})})}),(0,d.jsx)(J,{side:`bottom`,children:`Export`})]}),(0,d.jsxs)(ut,{align:`end`,side:`top`,children:[(0,d.jsxs)(Y,{onClick:()=>Dt(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileText,{size:16}),`Markdown`]}),(0,d.jsxs)(Y,{onClick:()=>kt(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileType,{size:16}),`PDF`]}),(0,d.jsxs)(Y,{onClick:()=>Ot(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileDown,{size:16}),`DOCX`]}),(0,d.jsxs)(Y,{onClick:()=>At(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileSpreadsheet,{size:16}),`Google Docs`]})]})]}),(0,d.jsxs)(ct,{children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(lt,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.ExternalLink,{size:18})})})}),(0,d.jsx)(J,{side:`bottom`,children:`Open in LLM`})]}),(0,d.jsxs)(ut,{align:`end`,side:`top`,children:[(0,d.jsx)(Y,{onClick:()=>i(`qwksearch`),children:`QwkSearch`}),(0,d.jsx)(Y,{onClick:()=>i(`claude`),children:`Claude`}),(0,d.jsx)(Y,{onClick:()=>i(`perplexity`),children:`Perplexity`}),(0,d.jsx)(Y,{onClick:()=>i(`gemini`),children:`Google Gemini`}),(0,d.jsx)(Y,{onClick:()=>i(`chatgpt`),children:`ChatGPT`})]})]})]})}):null,Nt=(0,x.cva)(`inline-flex items-center justify-center rounded-2xl border px-3 py-1.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-gray-100 text-gray-700 [a&]:hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:[a&]:hover:bg-gray-700`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,new:`text-purple-600 dark:text-purple-300 bg-purple-600/30 dark:bg-purple-600/30`,beta:`text-blue-600 dark:text-blue-300 bg-blue-600/30 dark:bg-blue-600/30`,highlight:`text-green-800 dark:text-green-300 bg-green-600/30 dark:bg-green-600/30`}},defaultVariants:{variant:`default`}});function Pt({className:e,variant:t,asChild:n=!1,...r}){return(0,d.jsx)(n?b.Slot:`span`,{"data-slot":`badge`,className:j(Nt({variant:t}),e),...r})}var Ft=({section:e,isLast:t,loading:r,sendMessage:i})=>{let a=(0,n.useRef)([]);return(0,n.useEffect)(()=>{e.suggestions&&e.suggestions.length>0&&(a.current=e.suggestions.slice(0,5))},[e.suggestions]),(0,n.useEffect)(()=>{let e=e=>{let t=e.target;if(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)return;let n=e.key,r=parseInt(n);r>=1&&r<=5&&a.current.length>=r&&(e.preventDefault(),i(a.current[r-1]))};if(t&&a.current.length>0)return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,i]),!e.suggestions||e.suggestions.length===0||!e.assistantMessage?null:(0,d.jsx)(`div`,{className:`mt-8 pt-6 border-t border-border/50`,children:(0,d.jsx)(`div`,{className:`space-y-2`,children:e.suggestions?.slice(0,5).map((e,t)=>(0,d.jsx)(`button`,{onClick:()=>i(e),className:`group w-full px-4 py-4 text-left transition-all duration-200 cursor-pointer rounded-lg border border-border/50 hover:border-primary/30 hover:bg-accent/50 hover:shadow-sm`,children:(0,d.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,d.jsx)(Pt,{variant:`secondary`,className:`flex-shrink-0 h-6 w-6 p-0 flex items-center justify-center rounded-full text-sm font-semibold`,children:t+1}),(0,d.jsx)(`p`,{className:`flex-1 text-base font-medium text-muted-foreground group-hover:text-primary transition-colors duration-200 leading-relaxed`,children:e}),(0,d.jsx)(s.Plus,{size:18,className:`text-muted-foreground/60 group-hover:text-primary transition-colors duration-200 flex-shrink-0`})]})},t))})})},It=({section:e,dividerRef:t,isLast:r})=>{let{loading:i,sendMessage:a}=G(),[s,c]=(0,n.useState)(!0),[l,u]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(e.userMessage.content),g=()=>{navigator.clipboard.writeText(e.userMessage.content),u(!0),setTimeout(()=>u(!1),1500)},_=()=>{m.trim()&&(a(m.trim()),p(!1))},v=e.parsedAssistantMessage||``,y=e.speechMessage||``,b=e.thinkingEnded,{speechStatus:x,start:S,stop:C}=Oe(y,{enableInterrupt:!0}),w=t=>{if(!e.assistantMessage)return;let n=`${e.userMessage.content}\n\n${e.assistantMessage.content}`;navigator.clipboard.writeText(n);let r={qwksearch:`https://qwksearch.com/?q=`,claude:`https://claude.ai/new?q=`,perplexity:`https://www.perplexity.ai/?q=`,gemini:`https://gemini.google.com/?q=`,chatgpt:`https://chat.openai.com/?q=`}[t];r&&window.open(`${r}${encodeURIComponent(n)}`,`_blank`)},T={overrides:{think:{component:nt,props:{thinkingEnded:b}},citation:{component:et,props:{sources:e.sourceMessage?.sources||[]}},table:{component:({children:e,...t})=>(0,d.jsx)(`div`,{className:`not-prose -mx-2 my-4 max-w-full overflow-x-auto sm:mx-0`,children:(0,d.jsx)(`table`,{...t,className:`w-max min-w-full border-collapse text-sm`,children:e})})}}};return(0,d.jsxs)(`div`,{className:`space-y-3`,children:[(0,d.jsx)(st,{section:e,isExpanded:s,setIsExpanded:c,isEditing:f,setIsEditing:p,editText:m,setEditText:h,handleEditSubmit:_,copiedUserMsg:l,handleCopyUserMsg:g}),(0,d.jsx)(`div`,{className:j(`flex flex-col space-y-3 overflow-hidden transition-all duration-300 ease-in-out`,s?`max-h-[100000px] opacity-100`:`max-h-0 opacity-0`),children:(0,d.jsxs)(`div`,{ref:t,className:`flex flex-col space-y-6 w-full`,children:[e.searchingMessage&&e.searchingMessage.queries.length>0&&(0,d.jsx)(ge,{queries:e.searchingMessage.queries,loading:i&&r}),e.sourceMessage&&e.sourceMessage.sources.length>0&&(0,d.jsx)(`div`,{className:`flex flex-col space-y-2`,children:(0,d.jsx)(pe,{sources:e.sourceMessage.sources,query:e.userMessage.content})}),(0,d.jsx)(`div`,{className:`flex min-w-0 flex-col space-y-2`,children:e.assistantMessage&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.default,{className:j(`prose prose-lg prose-h1:mb-3 prose-h2:mb-2 prose-h2:mt-6 prose-h2:font-[800] prose-h3:mt-4 prose-h3:mb-1.5 prose-h3:font-[600] dark:prose-invert prose-p:leading-loose prose-pre:p-0 font-[400]`,`min-w-0 max-w-none break-words text-foreground font-inter`),options:T,children:v}),i&&r?null:(0,d.jsx)(Mt,{section:e,speechStatus:x,start:S,stop:C,handleOpenInLLM:w}),(0,d.jsx)(Ft,{section:e,isLast:r,loading:i,sendMessage:a})]})})]})})]})},Lt=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(2))+` `+n[r]},Rt=({file:e,onRemove:t})=>{let n=e.type.startsWith(`image/`)&&e.preview;return(0,d.jsxs)(`div`,{className:`relative group flex-shrink-0 w-24 h-24 rounded-xl overflow-hidden border border-bg-300 bg-bg-200 animate-fade-in transition-all hover:border-text-400`,children:[n?(0,d.jsxs)(`div`,{className:`w-full h-full relative`,children:[(0,d.jsx)(`img`,{src:e.preview,alt:e.file.name,className:`w-full h-full object-cover`}),(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/20 group-hover:bg-black/0 transition-colors`}),(0,d.jsx)(`span`,{className:`absolute bottom-1 left-1 px-1.5 py-0.5 rounded-md bg-black/60 text-white text-[10px] font-medium leading-none backdrop-blur-sm pointer-events-none`,title:e.file.name,children:Lt(e.file.size)})]}):(0,d.jsxs)(`div`,{className:`w-full h-full p-3 flex flex-col justify-between`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(`div`,{className:`p-1.5 bg-bg-300 rounded`,children:(0,d.jsx)(Z.FileText,{className:`w-4 h-4 text-text-300`})}),(0,d.jsx)(`span`,{className:`text-[10px] font-medium text-text-400 uppercase tracking-wider truncate`,children:e.file.name.split(`.`).pop()})]}),(0,d.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium text-text-200 truncate`,title:e.file.name,children:e.file.name}),(0,d.jsx)(`p`,{className:`text-[10px] text-text-500`,children:Lt(e.file.size)})]})]}),(0,d.jsx)(`button`,{onClick:()=>t(e.id),className:`absolute top-1 right-1 p-1 bg-black/50 hover:bg-black/70 rounded-full text-white opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,d.jsx)(Z.X,{className:`w-3 h-3`})}),e.uploadStatus===`uploading`&&(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/40 flex items-center justify-center`,children:(0,d.jsx)(Z.Loader2,{className:`w-5 h-5 text-white animate-spin`})}),e.uploadStatus===`error`&&(0,d.jsx)(`div`,{className:`absolute inset-0 bg-red-900/60 flex items-center justify-center`,children:(0,d.jsx)(Z.X,{className:`w-5 h-5 text-red-300`})})]})},zt=({content:e,onRemove:t})=>(0,d.jsxs)(`div`,{className:`relative group flex-shrink-0 w-28 h-28 rounded-2xl overflow-hidden border border-[#E5E5E5] dark:border-[#30302E] bg-white dark:bg-[#20201F] animate-fade-in p-3 flex flex-col justify-between shadow-[0_1px_2px_rgba(0,0,0,0.05)]`,children:[(0,d.jsx)(`div`,{className:`overflow-hidden w-full`,children:(0,d.jsx)(`p`,{className:`text-[10px] text-[#9CA3AF] leading-[1.4] font-mono break-words whitespace-pre-wrap line-clamp-4 select-none`,children:e.content})}),(0,d.jsx)(`div`,{className:`flex items-center justify-between w-full mt-2`,children:(0,d.jsx)(`div`,{className:`inline-flex items-center justify-center px-1.5 py-[2px] rounded border border-[#E5E5E5] dark:border-[#404040] bg-white dark:bg-transparent`,children:(0,d.jsx)(`span`,{className:`text-[9px] font-bold text-[#6B7280] dark:text-[#9CA3AF] uppercase tracking-wider font-sans`,children:`PASTED`})})}),(0,d.jsx)(`button`,{onClick:()=>t(e.id),className:`absolute top-2 right-2 p-[3px] bg-white dark:bg-[#30302E] border border-[#E5E5E5] dark:border-[#404040] rounded-full text-[#9CA3AF] hover:text-[#6B7280] dark:hover:text-white transition-colors shadow-sm opacity-0 group-hover:opacity-100`,children:(0,d.jsx)(Z.X,{className:`w-2 h-2`})})]});function Bt(){return typeof window>`u`?!1:!!(window.SpeechRecognition||window.webkitSpeechRecognition)}function Vt(e,t,r={}){let[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(``),[c,l]=(0,n.useState)(``),[u,d]=(0,n.useState)(0),f=(0,n.useRef)(null),h=(0,n.useRef)(null),g=(0,n.useRef)([]),_=(0,n.useRef)({onTranscript:e,onEnd:t,onPartial:r.onPartial});_.current={onTranscript:e,onEnd:t,onPartial:r.onPartial};let v=(0,n.useMemo)(()=>new C.LiveTranscriber({engine:`webspeech`,language:r.language??`en-US`,onStateChange:a,onPartial:e=>{s(e),e&&(l(e),d(e=>e+1)),_.current.onPartial?.(e)},onCommit:e=>{s(``),l(e),d(e=>e+1),_.current.onTranscript(e)},onError:()=>{m.toast.error(`Speech recognition stopped unexpectedly.`)}}),[r.language]),y=(0,n.useCallback)(()=>{let e=f.current;if(e&&e.state!==`inactive`){e.stop();return}h.current?.getTracks().forEach(e=>e.stop()),h.current=null,f.current=null},[]),b=async e=>{let t=new FormData;return t.append(`file`,e,`speech-input.webm`),t.append(`languageCode`,`en`),((await(0,p.default)(`agent/transcript`,{method:`POST`,body:t}))?.text??``).trim()},x=(0,n.useCallback)(async()=>{if(typeof navigator>`u`||!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){m.toast.error(`Speech input is not supported in this browser`,{duration:5e3}),a(!1),_.current.onEnd();return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e);g.current=[],h.current=e,f.current=t,t.ondataavailable=e=>{e.data.size>0&&g.current.push(e.data)},t.onstart=()=>{a(!0)},t.onstop=async()=>{try{let e=new Blob(g.current,{type:`audio/webm`});if(g.current=[],h.current?.getTracks().forEach(e=>e.stop()),h.current=null,f.current=null,a(!1),e.size===0)return;let t=await b(e);t?(l(t),d(e=>e+1),_.current.onTranscript(t)):m.toast.error(`No speech detected. Please try again.`)}catch{m.toast.error(`Unable to transcribe audio.`)}finally{_.current.onEnd()}},t.start()}catch{m.toast.error(`Microphone access is required for speech input.`),a(!1),_.current.onEnd()}},[]),S=(0,n.useCallback)(async()=>{if(v.isListening()){await v.stop(),s(``),_.current.onEnd();return}if(f.current){y();return}if(Bt()){await v.start();return}await x()},[v,x,y]);(0,n.useEffect)(()=>{let e=e=>{e.ctrlKey&&e.key==="`"&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,n.useEffect)(()=>()=>{v.stop(),y()},[v,y]);let w=typeof navigator<`u`&&!!navigator.mediaDevices?.getUserMedia&&typeof MediaRecorder<`u`;return{isListening:i,toggleSpeech:S,isSpeechSupported:Bt()||w,partial:o,lastPhrase:c,phraseId:u}}var Ht=`voiceAutoStart`,Ut=`voiceAutoStartTriggered`,Wt=typeof window<`u`;function Gt(){return Wt?localStorage.getItem(Ht)===`true`:!1}function Kt(e){Wt&&localStorage.setItem(Ht,String(e))}function qt(){Wt&&localStorage.setItem(Ut,`true`)}function Jt({enabled:e,isSpeechSupported:t,isListening:n},r){return e&&t&&!n&&!r}function Yt(){return Wt?localStorage.getItem(Ut)===`true`:!1}function Xt({isSpeechSupported:e,isListening:t,toggleSpeech:r}){(0,n.useEffect)(()=>{Jt({enabled:Gt(),isSpeechSupported:e,isListening:t},Yt())&&(qt(),r())},[e])}var Zt=[`pdf`,`docx`,`txt`,`md`,`html`,`htm`],Qt=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`avif`],$t=[...Zt,...Qt],en=10,tn=52428800,nn=(e,t)=>{if(e&&typeof e==`object`){let t=e.message??e.error??e.data?.message;if(typeof t==`string`&&t.length>0)return t}return typeof e==`string`&&e.length>0?e:t};function rn({setMessage:e,contextFiles:t,contextFileIds:r,setContextFiles:i,setContextFileIds:a}){let[o,s]=(0,n.useState)([]),[l,u]=(0,n.useState)([]),[d,f]=(0,n.useState)(!1),[p,h]=(0,n.useState)(!1),g=(0,n.useCallback)(async e=>{let n=Array.from(e);n.length>en&&(m.toast.error(`You can attach up to ${en} files at a time.`),n=n.slice(0,en));let o=n.filter(e=>e.size>tn);if(o.length>0&&(m.toast.error(`${o.map(e=>e.name).join(`, `)} exceed${o.length===1?`s`:``} the 50 MB per-file limit.`),n=n.filter(e=>e.size<=tn)),n.length===0)return;let l=n.map(e=>{let t=e.type.startsWith(`image/`)||/\.(jpg|jpeg|png|gif|webp|svg)$/i.test(e.name),n=e.name.split(`.`).pop()?.toLowerCase()??``,r=$t.includes(n);return{id:Math.random().toString(36).substr(2,9),file:e,type:t?`image/unknown`:e.type||`application/octet-stream`,preview:t?URL.createObjectURL(e):null,uploadStatus:r?`uploading`:`pending`,_ext:n}});s(e=>[...e,...l]),l.filter(e=>!$t.includes(e._ext)).forEach(e=>{setTimeout(()=>{s(t=>t.map(t=>t.id===e.id?{...t,uploadStatus:`complete`}:t))},600+Math.random()*600)});let u=l.filter(e=>$t.includes(e._ext));if(u.length!==0)try{let{data:e,error:n}=await(0,c.uploadFiles)({body:{files:u.map(e=>e.file)}});if(n||!e?.files)throw Error(nn(n??e,`Upload failed.`));s(e=>e.map(e=>u.some(t=>t.id===e.id)?{...e,uploadStatus:`complete`}:e)),i([...t,...e.files]),a([...r,...e.files.map(e=>e.fileId)])}catch(e){m.toast.error(nn(e,`Failed to upload files.`)),s(e=>e.map(e=>u.some(t=>t.id===e.id)?{...e,uploadStatus:`error`}:e))}},[e,t,r,i,a]);return{files:o,setFiles:s,pastedContent:l,setPastedContent:u,isDragging:d,isExtractingUrl:p,handleFiles:g,extractUrl:(0,n.useCallback)(async e=>{let n=e.trim();if(!/^https?:\/\//i.test(n))return m.toast.error(`Enter a valid http(s) URL.`),!1;h(!0);try{let e=await(await fetch(`/api/doc/uploads`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({url:n})})).json();if(!e?.files||e.files.length===0)throw Error(nn(e,`Could not extract content from ${n}`));return i([...t,...e.files]),a([...r,...e.files.map(e=>e.fileId)]),m.toast.success(`Added "${e.files[0].fileName}" as context.`),!0}catch(e){return m.toast.error(nn(e,`Failed to extract URL.`)),!1}finally{h(!1)}},[t,r,i,a]),onDragOver:e=>{e.preventDefault(),f(!0)},onDragLeave:e=>{e.preventDefault(),f(!1)},onDrop:e=>{e.preventDefault(),f(!1),e.dataTransfer.files&&g(e.dataTransfer.files)},handlePaste:e=>{let t=e.clipboardData.items,n=[];for(let e=0;e<t.length;e++)if(t[e].kind===`file`){let r=t[e].getAsFile();r&&n.push(r)}if(n.length>0){e.preventDefault(),g(n);return}let r=e.clipboardData.getData(`text`);if(r.length>300){e.preventDefault();let t={id:Math.random().toString(36).substr(2,9),content:r,timestamp:new Date};u(e=>[...e,t])}},resetAttachments:()=>{s([]),u([]),i([]),a([])}}}var an=()=>window.gapi,on=()=>window.google,sn=()=>{let e=(0,n.useRef)(!1),r=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{an()?r.current=!0:(()=>{let e=document.createElement(`script`);e.src=`https://apis.google.com/js/api.js`,e.onload=()=>{an()?.load(`client:picker`,()=>{r.current=!0})},document.body.appendChild(e)})(),on()?.picker?e.current=!0:(()=>{let t=document.createElement(`script`);t.src=`https://www.google.com/jsapi`,t.onload=()=>{e.current=!0},document.body.appendChild(t)})()},[]),{openPicker:async(e,n,i)=>{let a=on();if(!r.current||!a?.picker){i?.(`Google Picker API not loaded yet. Please try again.`);return}try{let{picker:r}=a;new r.PickerBuilder().addView(r.ViewId.DOCS).addView(r.ViewId.DOCS_IMAGES).addView(r.ViewId.DOCS_VIDEOS).addView(new r.DocsView().setIncludeFolders(!0).setMimeTypes(`application/pdf,application/vnd.google-apps.document,application/vnd.google-apps.spreadsheet,text/plain,image/jpeg,image/png`)).setOAuthToken(e).setDeveloperKey(t.researchAgentUIConfig.googleApiKey).setCallback(e=>{if(e.action===r.Action.PICKED){let t=e.docs;t&&n(t)}else e.action===r.Action.CANCEL&&console.log(`User cancelled picker`)}).build().setVisible(!0)}catch(e){i?.(e.message||`Failed to open Google Picker`)}}}},cn=()=>{let{chatModelProvider:e,setChatModelProvider:t}=G(),[i,a]=(0,n.useState)([]),[o,l]=(0,n.useState)(!0),u=(0,r.useRouter)();(0,n.useEffect)(()=>{(async()=>{try{l(!0);let{data:n}=await(0,c.listProviders)(),r=n?.providers??[];if(a(r),!e.key&&r.length>0){let e=localStorage.getItem(`chatModelKey`),n=localStorage.getItem(`chatModelProviderId`);if(e&&n)t({key:e,providerId:n});else{let e=r.find(e=>e.chatModels.length>0);e&&t({key:e.chatModels[0].key,providerId:e.id})}}}catch(e){console.error(`Error loading providers:`,e)}finally{l(!1)}})()},[]);let f=(0,n.useMemo)(()=>{if(!e.key)return`Select`;for(let t of i){let n=t.chatModels.find(t=>t.key===e.key);if(n)return n.name}return e.key},[i,e.key]),p=(e,n)=>{t({providerId:e,key:n}),localStorage.setItem(`chatModelProviderId`,e),localStorage.setItem(`chatModelKey`,n)};return(0,d.jsxs)(pt,{children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[(0,d.jsx)(s.Cpu,{className:`w-4 h-4 flex-shrink-0 text-sky-500`}),(0,d.jsx)(`span`,{children:`Model`}),(0,d.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground truncate max-w-[55px]`,children:f})]}),(0,d.jsxs)(ht,{className:`w-52 max-h-[400px] overflow-y-auto`,children:[o?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4`,children:(0,d.jsx)(s.Loader2,{className:`h-4 w-4 animate-spin text-muted-foreground`})}):i.length===0?(0,d.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:`No models configured`}):i.map((t,n)=>(0,d.jsxs)(`div`,{children:[(0,d.jsx)(ft,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium`,children:t.name}),t.chatModels.map(n=>(0,d.jsxs)(Y,{onSelect:()=>p(t.id,n.key),className:j(`gap-2`,e?.providerId===t.id&&e?.key===n.key&&`bg-secondary`),children:[(0,d.jsx)(s.Cpu,{className:j(`h-3.5 w-3.5 flex-shrink-0`,e?.providerId===t.id&&e?.key===n.key?`text-sky-500`:`text-muted-foreground`)}),(0,d.jsx)(`span`,{className:`truncate`,children:n.name}),e?.providerId===t.id&&e?.key===n.key&&(0,d.jsx)(`svg`,{className:`w-3 h-3 text-primary ml-auto shrink-0`,fill:`none`,viewBox:`0 0 10 10`,children:(0,d.jsx)(`path`,{d:`M1.5 5l2.5 2.5 4.5-4.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]},n.key)),n<i.length-1&&(0,d.jsx)(X,{})]},t.id)),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>u.push(`/settings?section=models`),className:`gap-2`,children:[(0,d.jsx)(s.Plus,{className:`h-3.5 w-3.5 text-sky-500 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Add model`})]})]})]})};function ln(e){let t=e.messages?.[e.messages.length-1],n=t&&`createdAt`in t?t.createdAt:void 0;if(n){let e=new Date(n).getTime();if(!Number.isNaN(e))return new Date(e).toISOString()}return e.createdAt}var un=e=>new Date(e.lastMessageAt||e.createdAt).getTime();function dn(){return je().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:ln(e)}))}function fn(e=10){let[t,r]=(0,n.useState)([]),[i,a]=(0,n.useState)(!1),{isAuthenticated:o,isLoading:s}=Ze(),l=(0,n.useRef)(!1),u=(0,n.useCallback)(async(e=!1)=>{if(!s&&!(l.current&&!e)){l.current=!0,a(!0);try{if(o){let{data:e,error:t}=await(0,c.listChats)();if(t){r(dn());return}r(Array.isArray(e?.chats)?e.chats:[])}else r(dn())}catch(e){console.error(`Failed to fetch recent chats:`,e),r([])}finally{a(!1)}}},[o,s]);return{recentChats:[...t].sort((e,t)=>un(t)-un(e)).slice(0,e),loading:i,load:u}}function pn(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/1e3);if(n<5)return`just now`;if(n<60)return`${n} sec`;let r=Math.round(n/60);if(r<60)return`${r} min`;let i=Math.round(r/60);if(i<24)return`${i} hr`;let a=Math.round(i/24);if(a<7)return`${a} day${a===1?``:`s`}`;let o=Math.round(a/7);if(o<5)return`${o} week${o===1?``:`s`}`;let s=Math.round(a/30);if(s<12)return`${s} month${s===1?``:`s`}`;let c=Math.round(a/365);return`${c} year${c===1?``:`s`}`}var mn=10,hn=()=>{let e=(0,r.useRouter)(),{incognito:n,setIncognito:i}=G(),{recentChats:a,loading:o,load:c}=fn(mn),l=e=>{i(e),m.toast.success(e?`Private mode on — messages won't be saved`:`Private mode off`)},u=n=>{t.researchAgentUIConfig.onOpenChat?.(n)||e.push(`/c/${n}`)};return(0,d.jsxs)(pt,{onOpenChange:e=>{e&&c()},children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[(0,d.jsx)(s.History,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`History`})]}),(0,d.jsxs)(ht,{className:`w-64 max-h-[70vh] overflow-y-auto`,children:[(0,d.jsxs)(dt,{checked:n,onCheckedChange:l,onSelect:e=>e.preventDefault(),className:`gap-2`,children:[(0,d.jsx)(s.EyeOff,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Private`})]}),(0,d.jsx)(X,{}),o?(0,d.jsxs)(Y,{disabled:!0,className:`gap-2`,children:[(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 animate-spin flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Loading…`})]}):a.length===0?(0,d.jsx)(Y,{disabled:!0,children:(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:`No recent chats`})}):a.map(e=>{let t=pn(e.lastMessageAt||e.createdAt);return(0,d.jsxs)(Y,{onSelect:()=>u(e.id),className:`gap-2`,title:e.title,children:[(0,d.jsx)(`span`,{className:`truncate`,children:e.title}),t&&(0,d.jsx)(`span`,{className:`ml-auto pl-2 text-xs italic text-muted-foreground/70 whitespace-nowrap`,children:t})]},e.id)}),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>e.push(`/library`),className:`gap-2`,children:[(0,d.jsx)(s.History,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`All history`})]})]})]})},gn=[{label:`5s`,value:5},{label:`15s`,value:15},{label:`30s`,value:30},{label:`45s`,value:45},{label:`60s`,value:60},{label:`Unlimited`,value:0}],_n=[`pdf`,`docx`,`txt`,`md`,`html`,`htm`],vn=`markdown.js.jsx.ts.tsx.py.rb.go.rs.java.c.cpp.h.hpp.cs.swift.kt.sh.bash.zsh.json.yaml.yml.toml.ini.cfg.conf.xml.csv.tsv.log.env.sql.graphql.vue.svelte.astro.css.scss.less.sass.tex.bib.rst.adoc.org`.split(`.`),yn=({onFileSelect:e,disabled:i=!1})=>{let a=(0,r.useRouter)(),{category:o,setCategory:l,sections:u,chatId:f}=G(),{isAuthenticated:p}=Ze(),h=o?o.split(`,`).filter(Boolean):[`general`],g=ie.find(e=>e.code===h[0])||ie[0],_=e=>{let t=o?o.split(`,`).filter(Boolean):[`general`],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];l(n.length>0?n.join(`,`):`general`)},[v,y]=(0,n.useState)(!1),[b,x]=(0,n.useState)(!1),[S,C]=(0,n.useState)(!1),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(()=>{if(typeof window>`u`)return 5;let e=Number(localStorage.getItem(`thinkingTimeLimit`)??`5`);return Number.isFinite(e)?e:5}),O=n.default.useRef(null),{openPicker:k}=sn();(0,n.useEffect)(()=>{A()},[]);let A=async()=>{try{let{data:e}=await(0,c.googleDocsAuthStatus)();y(e?.isConnected||!1)}catch{}},M=e=>{D(e),localStorage.setItem(`thinkingTimeLimit`,String(e))},N=async()=>{if(`showOpenFilePicker`in window)try{let t=await window.showOpenFilePicker({multiple:!0,types:[{description:`Supported files`,accept:{"application/pdf":[`.pdf`],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":[`.docx`],"text/plain":[`.txt`],"text/markdown":[`.md`],"text/html":[`.html`,`.htm`],"image/*":[`.jpg`,`.jpeg`,`.png`,`.gif`,`.webp`,`.svg`]}}]}),n=await Promise.all(t.map(e=>e.getFile()));n.length>0&&e(n)}catch(e){e?.name!==`AbortError`&&(console.error(`Failed to open file picker:`,e),O.current?.click())}else O.current?.click()};async function P(e,t=``){let n=[];for await(let r of e.values())if(r.kind===`file`){let e=await r.getFile(),i=e.name.split(`.`).pop()?.toLowerCase()??``;if(_n.includes(i))n.push(e);else if(vn.includes(i))try{let r=await e.text(),i=t?`${t}/${e.name}`:e.name;n.push(new File([r],`${i.replace(/[/\\]/g,`_`)}.txt`,{type:`text/plain`}))}catch{}}else if(r.kind===`directory`){let e=r;if(e.name.startsWith(`.`)||e.name===`node_modules`||e.name===`__pycache__`)continue;n.push(...await P(e,t?`${t}/${e.name}`:e.name))}return n}let F=async()=>{if(!(`showDirectoryPicker`in window)){alert(`Your browser does not support the File System Access API. Please use Chrome or Edge.`);return}T(!0);try{let t=await P(await window.showDirectoryPicker({mode:`read`}));t.length>0?e(t):alert(`No supported files found in the selected folder.`)}catch(e){e?.name!==`AbortError`&&console.error(`Failed to access folder:`,e)}finally{T(!1)}},I=async()=>{x(!0);try{let{data:e}=await(0,c.googleDocsAuth)();if(e?.success&&e?.data?.authUrl){let t=e.data.authUrl,n=window.screenX+(window.outerWidth-600)/2,r=window.screenY+(window.outerHeight-700)/2,i=window.open(t,`Google Drive Authorization`,`width=600,height=700,left=${n},top=${r}`),a=e=>{e.data.type===`google-drive-connected`&&(y(!0),i?.close(),window.removeEventListener(`message`,a))};window.addEventListener(`message`,a)}}catch{console.error(`Failed to connect to Google Drive`)}finally{x(!1)}},L=async()=>{try{let{data:t}=await(0,c.getGoogleToken)();if(!t?.success||!t.accessToken)throw Error(`Failed to get access token`);await k(t.accessToken,async t=>{C(!0);try{let n=[];for(let e of t){let{data:t}=await(0,c.getGoogleDriveFile)({query:{fileId:e.id}});if(t?.success&&t?.file){let e=atob(t.file.content),r=new Uint8Array(e.length);for(let t=0;t<e.length;t++)r[t]=e.charCodeAt(t);n.push(new File([new Blob([r],{type:t.file.mimeType})],t.file.name,{type:t.file.mimeType}))}}n.length>0&&e(n)}catch{alert(`Failed to load files from Google Drive`)}finally{C(!1)}},e=>{console.error(`Google Picker error:`,e),alert(e)})}catch(e){alert(e.message||`Failed to open Google Drive picker`)}},R=gn.find(e=>e.value===E)?.label??`Unlimited`;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`relative flex shrink min-w-8 !shrink-0 group`,children:[(0,d.jsxs)(ct,{children:[(0,d.jsx)(lt,{asChild:!0,children:(0,d.jsx)(`button`,{disabled:i,className:`inline-flex items-center justify-center relative shrink-0 transition-colors duration-200 h-8 w-8 rounded-lg active:scale-95 text-text-400 hover:text-text-200 hover:bg-bg-200 disabled:opacity-50 disabled:cursor-not-allowed group-active:scale-95`,type:`button`,"aria-label":`Search options`,children:(0,d.jsx)(s.SlidersHorizontal,{className:`w-5 h-5`})})}),(0,d.jsxs)(ut,{align:`start`,side:`top`,sideOffset:8,className:`w-44`,children:[(0,d.jsxs)(pt,{children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[g&&(0,d.jsx)(g.icon,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Category`})]}),(0,d.jsxs)(ht,{className:`w-44`,children:[(0,d.jsxs)(dt,{checked:h.length===0,onCheckedChange:()=>l(`general`),onSelect:e=>e.preventDefault(),className:`gap-2`,children:[(0,d.jsx)(`div`,{className:`w-3.5 h-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`None`})]}),(0,d.jsx)(X,{}),ie.map(e=>(0,d.jsxs)(dt,{checked:h.includes(e.code),onCheckedChange:()=>_(e.code),onSelect:e=>e.preventDefault(),className:`gap-2`,children:[e.icon&&(0,d.jsx)(e.icon,{className:`w-3.5 h-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:e.name})]},e.code))]})]}),(0,d.jsxs)(pt,{children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[(0,d.jsx)(s.Clock,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Speed`}),(0,d.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:R})]}),(0,d.jsx)(ht,{className:`w-36`,children:gn.map(e=>(0,d.jsxs)(Y,{onSelect:()=>M(e.value),className:j(`justify-between`,E===e.value&&`bg-secondary`),children:[(0,d.jsx)(`span`,{children:e.label}),E===e.value&&(0,d.jsx)(`svg`,{className:`w-3 h-3 text-primary`,fill:`none`,viewBox:`0 0 10 10`,children:(0,d.jsx)(`path`,{d:`M1.5 5l2.5 2.5 4.5-4.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]},e.value))})]}),(0,d.jsx)(X,{}),(0,d.jsx)(cn,{}),(0,d.jsx)(X,{}),(0,d.jsxs)(pt,{children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[(0,d.jsx)(s.Upload,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Upload`})]}),(0,d.jsxs)(ht,{className:`w-44`,children:[(0,d.jsxs)(Y,{onSelect:N,className:`gap-2`,children:[(0,d.jsx)(s.Upload,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Your Device`})]}),(0,d.jsxs)(Y,{onSelect:F,disabled:w,className:`gap-2`,children:[w?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.FolderOpen,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:w?`Scanning…`:`Local Folder`})]}),(0,d.jsx)(X,{}),(0,d.jsx)(ft,{className:`text-xs font-normal text-muted-foreground`,children:`Cloud`}),v?(0,d.jsxs)(Y,{onSelect:L,disabled:S,className:`gap-2`,children:[S?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.CloudIcon,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:S?`Loading…`:`Google Drive`})]}):(0,d.jsxs)(Y,{onSelect:I,disabled:b,className:`gap-2`,children:[b?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.CloudIcon,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:b?`Connecting…`:`Connect Google Drive`})]})]})]}),(0,d.jsx)(X,{}),u.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(pt,{children:[(0,d.jsxs)(mt,{className:`gap-2`,children:[(0,d.jsx)(s.Share2,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Share`})]}),(0,d.jsxs)(ht,{className:`w-48`,children:[(0,d.jsxs)(Y,{onSelect:async()=>{if(!f){m.toast.error(`No chat to share`);return}if(!p){m.toast.error(`Please sign in to share chats`);return}try{let{data:e,error:t}=await(0,c.shareChat)({body:{chatId:f}});if(!t&&e?.success&&e?.data?.shareUrl)await navigator.clipboard.writeText(e.data.shareUrl),m.toast.success(`Chat is now public - link copied to clipboard`);else throw Error(t?.error||`Failed to share chat`)}catch(e){console.error(`Error sharing chat:`,e);let t=e instanceof Error?e.message:`Failed to share chat`;m.toast.error(t)}},className:`gap-2`,children:[(0,d.jsx)(s.Link,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Copy link`})]}),(0,d.jsxs)(Y,{onSelect:async()=>{let e=u[0]?.userMessage?.content||`Chat`,t=u.map(e=>`## ${e.userMessage.content}\n\n${e.assistantMessage?.content||``}`).join(`
|
|
20
|
+
`,document.body.appendChild(n);try{let t=await Et(),r=await(0,v.default)(n,{scale:2,useCORS:!0,logging:!1}),i=r.toDataURL(`image/png`),a=new t({orientation:`portrait`,unit:`mm`,format:`a4`}),o=r.height*210/r.width,s=o,c=0;for(a.addImage(i,`PNG`,0,c,210,o),s-=297;s>=0;)c=s-o,a.addPage(),a.addImage(i,`PNG`,0,c,210,o),s-=297;a.save(`${e}.pdf`)}finally{document.body.removeChild(n)}}async function jt(e,t){try{let n=`${e}\n\n${new y.default().turndown(t)}`;await navigator.clipboard.writeText(n),window.open(`https://docs.google.com/document/create`,`_blank`),alert(`Content copied to clipboard! Paste it into the new Google Doc.`)}catch(e){console.error(`Failed to export to Google Docs:`,e),alert(`Failed to copy content to clipboard. Please try again.`)}}function Mt(e,t,n){let r=new Blob([e],{type:n}),i=URL.createObjectURL(r),a=document.createElement(`a`);a.href=i,a.download=t,a.click(),URL.revokeObjectURL(i)}var Nt=({section:e,speechStatus:t,start:n,stop:r,handleOpenInLLM:i})=>e.assistantMessage?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-end w-full text-foreground py-4 -mx-2`,children:(0,d.jsxs)(`div`,{className:`flex flex-row items-center space-x-1`,children:[(0,d.jsx)(xt,{messageId:e.assistantMessage.messageId}),(0,d.jsx)(_t,{initialMessage:e.assistantMessage.content,section:e}),(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(`button`,{onClick:()=>{t===`started`?r():n()},className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:t===`started`?(0,d.jsx)(s.StopCircle,{size:18}):(0,d.jsx)(s.Volume2,{size:18})})}),(0,d.jsx)(J,{side:`bottom`,children:t===`started`?`Stop`:`Read aloud`})]}),(0,d.jsxs)(lt,{children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(ut,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.Download,{size:18})})})}),(0,d.jsx)(J,{side:`bottom`,children:`Export`})]}),(0,d.jsxs)(dt,{align:`end`,side:`top`,children:[(0,d.jsxs)(Y,{onClick:()=>Ot(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileText,{size:16}),`Markdown`]}),(0,d.jsxs)(Y,{onClick:()=>At(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileType,{size:16}),`PDF`]}),(0,d.jsxs)(Y,{onClick:()=>kt(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileDown,{size:16}),`DOCX`]}),(0,d.jsxs)(Y,{onClick:()=>jt(e.userMessage.content,e.assistantMessage.content),children:[(0,d.jsx)(s.FileSpreadsheet,{size:16}),`Google Docs`]})]})]}),(0,d.jsxs)(lt,{children:[(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:(0,d.jsx)(ut,{asChild:!0,children:(0,d.jsx)(`button`,{className:`p-2 text-muted-foreground rounded-full backdrop-blur-md bg-white/10 dark:bg-black/10 hover:bg-white/20 dark:hover:bg-black/20 transition duration-200 hover:text-foreground`,children:(0,d.jsx)(s.ExternalLink,{size:18})})})}),(0,d.jsx)(J,{side:`bottom`,children:`Open in LLM`})]}),(0,d.jsxs)(dt,{align:`end`,side:`top`,children:[(0,d.jsx)(Y,{onClick:()=>i(`qwksearch`),children:`QwkSearch`}),(0,d.jsx)(Y,{onClick:()=>i(`claude`),children:`Claude`}),(0,d.jsx)(Y,{onClick:()=>i(`perplexity`),children:`Perplexity`}),(0,d.jsx)(Y,{onClick:()=>i(`gemini`),children:`Google Gemini`}),(0,d.jsx)(Y,{onClick:()=>i(`chatgpt`),children:`ChatGPT`})]})]})]})}):null,Pt=(0,x.cva)(`inline-flex items-center justify-center rounded-2xl border px-3 py-1.5 text-xs font-medium w-fit whitespace-nowrap shrink-0 [&>svg]:size-3 gap-1 [&>svg]:pointer-events-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive transition-[color,box-shadow] overflow-hidden`,{variants:{variant:{default:`border-transparent bg-primary text-primary-foreground [a&]:hover:bg-primary/90`,secondary:`border-transparent bg-gray-100 text-gray-700 [a&]:hover:bg-gray-200 dark:bg-gray-800 dark:text-gray-300 dark:[a&]:hover:bg-gray-700`,destructive:`border-transparent bg-destructive text-white [a&]:hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`text-foreground [a&]:hover:bg-accent [a&]:hover:text-accent-foreground`,new:`text-purple-600 dark:text-purple-300 bg-purple-600/30 dark:bg-purple-600/30`,beta:`text-blue-600 dark:text-blue-300 bg-blue-600/30 dark:bg-blue-600/30`,highlight:`text-green-800 dark:text-green-300 bg-green-600/30 dark:bg-green-600/30`}},defaultVariants:{variant:`default`}});function Ft({className:e,variant:t,asChild:n=!1,...r}){return(0,d.jsx)(n?b.Slot:`span`,{"data-slot":`badge`,className:j(Pt({variant:t}),e),...r})}var It=({section:e,isLast:t,loading:r,sendMessage:i})=>{let a=(0,n.useRef)([]);return(0,n.useEffect)(()=>{e.suggestions&&e.suggestions.length>0&&(a.current=e.suggestions.slice(0,5))},[e.suggestions]),(0,n.useEffect)(()=>{let e=e=>{let t=e.target;if(t.tagName===`INPUT`||t.tagName===`TEXTAREA`||t.isContentEditable)return;let n=e.key,r=parseInt(n);r>=1&&r<=5&&a.current.length>=r&&(e.preventDefault(),i(a.current[r-1]))};if(t&&a.current.length>0)return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[t,i]),!e.suggestions||e.suggestions.length===0||!e.assistantMessage?null:(0,d.jsx)(`div`,{className:`mt-8 pt-6 border-t border-border/50`,children:(0,d.jsx)(`div`,{className:`space-y-2`,children:e.suggestions?.slice(0,5).map((e,t)=>(0,d.jsx)(`button`,{onClick:()=>i(e),className:`group w-full px-4 py-4 text-left transition-all duration-200 cursor-pointer rounded-lg border border-border/50 hover:border-primary/30 hover:bg-accent/50 hover:shadow-sm`,children:(0,d.jsxs)(`div`,{className:`flex items-center gap-3`,children:[(0,d.jsx)(Ft,{variant:`secondary`,className:`flex-shrink-0 h-6 w-6 p-0 flex items-center justify-center rounded-full text-sm font-semibold`,children:t+1}),(0,d.jsx)(`p`,{className:`flex-1 text-base font-medium text-muted-foreground group-hover:text-primary transition-colors duration-200 leading-relaxed`,children:e}),(0,d.jsx)(s.Plus,{size:18,className:`text-muted-foreground/60 group-hover:text-primary transition-colors duration-200 flex-shrink-0`})]})},t))})})},Lt=({section:e,dividerRef:t,isLast:r})=>{let{loading:i,sendMessage:a}=G(),[s,c]=(0,n.useState)(!0),[l,u]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[m,h]=(0,n.useState)(e.userMessage.content),g=()=>{navigator.clipboard.writeText(e.userMessage.content),u(!0),setTimeout(()=>u(!1),1500)},_=()=>{m.trim()&&(a(m.trim()),p(!1))},v=e.parsedAssistantMessage||``,y=e.speechMessage||``,b=e.thinkingEnded,{speechStatus:x,start:S,stop:C}=ke(y,{enableInterrupt:!0}),w=t=>{if(!e.assistantMessage)return;let n=`${e.userMessage.content}\n\n${e.assistantMessage.content}`;navigator.clipboard.writeText(n);let r={qwksearch:`https://qwksearch.com/?q=`,claude:`https://claude.ai/new?q=`,perplexity:`https://www.perplexity.ai/?q=`,gemini:`https://gemini.google.com/?q=`,chatgpt:`https://chat.openai.com/?q=`}[t];r&&window.open(`${r}${encodeURIComponent(n)}`,`_blank`)},T={overrides:{think:{component:rt,props:{thinkingEnded:b}},citation:{component:tt,props:{sources:e.sourceMessage?.sources||[]}},table:{component:({children:e,...t})=>(0,d.jsx)(`div`,{className:`not-prose -mx-2 my-4 max-w-full overflow-x-auto sm:mx-0`,children:(0,d.jsx)(`table`,{...t,className:`w-max min-w-full border-collapse text-sm`,children:e})})}}};return(0,d.jsxs)(`div`,{className:`space-y-3`,children:[(0,d.jsx)(ct,{section:e,isExpanded:s,setIsExpanded:c,isEditing:f,setIsEditing:p,editText:m,setEditText:h,handleEditSubmit:_,copiedUserMsg:l,handleCopyUserMsg:g}),(0,d.jsx)(`div`,{className:j(`flex flex-col space-y-3 overflow-hidden transition-all duration-300 ease-in-out`,s?`max-h-[100000px] opacity-100`:`max-h-0 opacity-0`),children:(0,d.jsxs)(`div`,{ref:t,className:`flex flex-col space-y-6 w-full`,children:[e.searchingMessage&&e.searchingMessage.queries.length>0&&(0,d.jsx)(U,{queries:e.searchingMessage.queries,loading:i&&r}),e.sourceMessage&&e.sourceMessage.sources.length>0&&(0,d.jsx)(`div`,{className:`flex flex-col space-y-2`,children:(0,d.jsx)(me,{sources:e.sourceMessage.sources,query:e.userMessage.content})}),(0,d.jsx)(`div`,{className:`flex min-w-0 flex-col space-y-2`,children:e.assistantMessage&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(o.default,{className:j(`prose prose-lg prose-h1:mb-3 prose-h2:mb-2 prose-h2:mt-6 prose-h2:font-[800] prose-h3:mt-4 prose-h3:mb-1.5 prose-h3:font-[600] dark:prose-invert prose-p:leading-loose prose-pre:p-0 font-[400]`,`min-w-0 max-w-none break-words text-foreground font-inter`),options:T,children:v}),i&&r?null:(0,d.jsx)(Nt,{section:e,speechStatus:x,start:S,stop:C,handleOpenInLLM:w}),(0,d.jsx)(It,{section:e,isLast:r,loading:i,sendMessage:a})]})})]})})]})},Rt=e=>{if(e===0)return`0 Bytes`;let t=1024,n=[`Bytes`,`KB`,`MB`,`GB`],r=Math.floor(Math.log(e)/Math.log(t));return parseFloat((e/t**r).toFixed(2))+` `+n[r]},zt=({file:e,onRemove:t})=>{let n=e.type.startsWith(`image/`)&&e.preview;return(0,d.jsxs)(`div`,{className:`relative group flex-shrink-0 w-24 h-24 rounded-xl overflow-hidden border border-bg-300 bg-bg-200 animate-fade-in transition-all hover:border-text-400`,children:[n?(0,d.jsxs)(`div`,{className:`w-full h-full relative`,children:[(0,d.jsx)(`img`,{src:e.preview,alt:e.file.name,className:`w-full h-full object-cover`}),(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/20 group-hover:bg-black/0 transition-colors`}),(0,d.jsx)(`span`,{className:`absolute bottom-1 left-1 px-1.5 py-0.5 rounded-md bg-black/60 text-white text-[10px] font-medium leading-none backdrop-blur-sm pointer-events-none`,title:e.file.name,children:Rt(e.file.size)})]}):(0,d.jsxs)(`div`,{className:`w-full h-full p-3 flex flex-col justify-between`,children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-2`,children:[(0,d.jsx)(`div`,{className:`p-1.5 bg-bg-300 rounded`,children:(0,d.jsx)(Z.FileText,{className:`w-4 h-4 text-text-300`})}),(0,d.jsx)(`span`,{className:`text-[10px] font-medium text-text-400 uppercase tracking-wider truncate`,children:e.file.name.split(`.`).pop()})]}),(0,d.jsxs)(`div`,{className:`space-y-0.5`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium text-text-200 truncate`,title:e.file.name,children:e.file.name}),(0,d.jsx)(`p`,{className:`text-[10px] text-text-500`,children:Rt(e.file.size)})]})]}),(0,d.jsx)(`button`,{onClick:()=>t(e.id),className:`absolute top-1 right-1 p-1 bg-black/50 hover:bg-black/70 rounded-full text-white opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,d.jsx)(Z.X,{className:`w-3 h-3`})}),e.uploadStatus===`uploading`&&(0,d.jsx)(`div`,{className:`absolute inset-0 bg-black/40 flex items-center justify-center`,children:(0,d.jsx)(Z.Loader2,{className:`w-5 h-5 text-white animate-spin`})}),e.uploadStatus===`error`&&(0,d.jsx)(`div`,{className:`absolute inset-0 bg-red-900/60 flex items-center justify-center`,children:(0,d.jsx)(Z.X,{className:`w-5 h-5 text-red-300`})})]})},Bt=({content:e,onRemove:t})=>(0,d.jsxs)(`div`,{className:`relative group flex-shrink-0 w-28 h-28 rounded-2xl overflow-hidden border border-[#E5E5E5] dark:border-[#30302E] bg-white dark:bg-[#20201F] animate-fade-in p-3 flex flex-col justify-between shadow-[0_1px_2px_rgba(0,0,0,0.05)]`,children:[(0,d.jsx)(`div`,{className:`overflow-hidden w-full`,children:(0,d.jsx)(`p`,{className:`text-[10px] text-[#9CA3AF] leading-[1.4] font-mono break-words whitespace-pre-wrap line-clamp-4 select-none`,children:e.content})}),(0,d.jsx)(`div`,{className:`flex items-center justify-between w-full mt-2`,children:(0,d.jsx)(`div`,{className:`inline-flex items-center justify-center px-1.5 py-[2px] rounded border border-[#E5E5E5] dark:border-[#404040] bg-white dark:bg-transparent`,children:(0,d.jsx)(`span`,{className:`text-[9px] font-bold text-[#6B7280] dark:text-[#9CA3AF] uppercase tracking-wider font-sans`,children:`PASTED`})})}),(0,d.jsx)(`button`,{onClick:()=>t(e.id),className:`absolute top-2 right-2 p-[3px] bg-white dark:bg-[#30302E] border border-[#E5E5E5] dark:border-[#404040] rounded-full text-[#9CA3AF] hover:text-[#6B7280] dark:hover:text-white transition-colors shadow-sm opacity-0 group-hover:opacity-100`,children:(0,d.jsx)(Z.X,{className:`w-2 h-2`})})]});function Vt(){return typeof window>`u`?!1:!!(window.SpeechRecognition||window.webkitSpeechRecognition)}function Ht(e,t,r={}){let[i,a]=(0,n.useState)(!1),[o,s]=(0,n.useState)(``),[c,l]=(0,n.useState)(``),[u,d]=(0,n.useState)(0),f=(0,n.useRef)(null),h=(0,n.useRef)(null),g=(0,n.useRef)([]),_=(0,n.useRef)({onTranscript:e,onEnd:t,onPartial:r.onPartial});_.current={onTranscript:e,onEnd:t,onPartial:r.onPartial};let v=(0,n.useMemo)(()=>new C.LiveTranscriber({engine:`webspeech`,language:r.language??`en-US`,onStateChange:a,onPartial:e=>{s(e),e&&(l(e),d(e=>e+1)),_.current.onPartial?.(e)},onCommit:e=>{s(``),l(e),d(e=>e+1),_.current.onTranscript(e)},onError:()=>{m.toast.error(`Speech recognition stopped unexpectedly.`)}}),[r.language]),y=(0,n.useCallback)(()=>{let e=f.current;if(e&&e.state!==`inactive`){e.stop();return}h.current?.getTracks().forEach(e=>e.stop()),h.current=null,f.current=null},[]),b=async e=>{let t=new FormData;return t.append(`file`,e,`speech-input.webm`),t.append(`languageCode`,`en`),((await(0,p.default)(`agent/transcript`,{method:`POST`,body:t}))?.text??``).trim()},x=(0,n.useCallback)(async()=>{if(typeof navigator>`u`||!navigator.mediaDevices?.getUserMedia||typeof MediaRecorder>`u`){m.toast.error(`Speech input is not supported in this browser`,{duration:5e3}),a(!1),_.current.onEnd();return}try{let e=await navigator.mediaDevices.getUserMedia({audio:!0}),t=new MediaRecorder(e);g.current=[],h.current=e,f.current=t,t.ondataavailable=e=>{e.data.size>0&&g.current.push(e.data)},t.onstart=()=>{a(!0)},t.onstop=async()=>{try{let e=new Blob(g.current,{type:`audio/webm`});if(g.current=[],h.current?.getTracks().forEach(e=>e.stop()),h.current=null,f.current=null,a(!1),e.size===0)return;let t=await b(e);t?(l(t),d(e=>e+1),_.current.onTranscript(t)):m.toast.error(`No speech detected. Please try again.`)}catch{m.toast.error(`Unable to transcribe audio.`)}finally{_.current.onEnd()}},t.start()}catch{m.toast.error(`Microphone access is required for speech input.`),a(!1),_.current.onEnd()}},[]),S=(0,n.useCallback)(async()=>{if(v.isListening()){await v.stop(),s(``),_.current.onEnd();return}if(f.current){y();return}if(Vt()){await v.start();return}await x()},[v,x,y]);(0,n.useEffect)(()=>{let e=e=>{e.ctrlKey&&e.key==="`"&&(e.preventDefault(),S())};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},[S]),(0,n.useEffect)(()=>()=>{v.stop(),y()},[v,y]);let w=typeof navigator<`u`&&!!navigator.mediaDevices?.getUserMedia&&typeof MediaRecorder<`u`;return{isListening:i,toggleSpeech:S,isSpeechSupported:Vt()||w,partial:o,lastPhrase:c,phraseId:u}}var Ut=`voiceAutoStart`,Wt=`voiceAutoStartTriggered`,Gt=typeof window<`u`;function Kt(){return Gt?localStorage.getItem(Ut)===`true`:!1}function qt(e){Gt&&localStorage.setItem(Ut,String(e))}function Jt(){Gt&&localStorage.setItem(Wt,`true`)}function Yt({enabled:e,isSpeechSupported:t,isListening:n},r){return e&&t&&!n&&!r}function Xt(){return Gt?localStorage.getItem(Wt)===`true`:!1}function Zt({isSpeechSupported:e,isListening:t,toggleSpeech:r}){(0,n.useEffect)(()=>{Yt({enabled:Kt(),isSpeechSupported:e,isListening:t},Xt())&&(Jt(),r())},[e])}var Qt=[`pdf`,`docx`,`txt`,`md`,`html`,`htm`],$t=[`png`,`jpg`,`jpeg`,`gif`,`webp`,`svg`,`bmp`,`avif`],en=[...Qt,...$t],tn=10,nn=52428800,rn=(e,t)=>{if(e&&typeof e==`object`){let t=e.message??e.error??e.data?.message;if(typeof t==`string`&&t.length>0)return t}return typeof e==`string`&&e.length>0?e:t};function an({setMessage:e,contextFiles:t,contextFileIds:r,setContextFiles:i,setContextFileIds:a}){let[o,s]=(0,n.useState)([]),[l,u]=(0,n.useState)([]),[d,f]=(0,n.useState)(!1),[p,h]=(0,n.useState)(!1),g=(0,n.useCallback)(async e=>{let n=Array.from(e);n.length>tn&&(m.toast.error(`You can attach up to ${tn} files at a time.`),n=n.slice(0,tn));let o=n.filter(e=>e.size>nn);if(o.length>0&&(m.toast.error(`${o.map(e=>e.name).join(`, `)} exceed${o.length===1?`s`:``} the 50 MB per-file limit.`),n=n.filter(e=>e.size<=nn)),n.length===0)return;let l=n.map(e=>{let t=e.type.startsWith(`image/`)||/\.(jpg|jpeg|png|gif|webp|svg)$/i.test(e.name),n=e.name.split(`.`).pop()?.toLowerCase()??``,r=en.includes(n);return{id:Math.random().toString(36).substr(2,9),file:e,type:t?`image/unknown`:e.type||`application/octet-stream`,preview:t?URL.createObjectURL(e):null,uploadStatus:r?`uploading`:`pending`,_ext:n}});s(e=>[...e,...l]),l.filter(e=>!en.includes(e._ext)).forEach(e=>{setTimeout(()=>{s(t=>t.map(t=>t.id===e.id?{...t,uploadStatus:`complete`}:t))},600+Math.random()*600)});let u=l.filter(e=>en.includes(e._ext));if(u.length!==0)try{let{data:e,error:n}=await(0,c.uploadFiles)({body:{files:u.map(e=>e.file)}});if(n||!e?.files)throw Error(rn(n??e,`Upload failed.`));s(e=>e.map(e=>u.some(t=>t.id===e.id)?{...e,uploadStatus:`complete`}:e)),i([...t,...e.files]),a([...r,...e.files.map(e=>e.fileId)])}catch(e){m.toast.error(rn(e,`Failed to upload files.`)),s(e=>e.map(e=>u.some(t=>t.id===e.id)?{...e,uploadStatus:`error`}:e))}},[e,t,r,i,a]);return{files:o,setFiles:s,pastedContent:l,setPastedContent:u,isDragging:d,isExtractingUrl:p,handleFiles:g,extractUrl:(0,n.useCallback)(async e=>{let n=e.trim();if(!/^https?:\/\//i.test(n))return m.toast.error(`Enter a valid http(s) URL.`),!1;h(!0);try{let e=await(await fetch(`/api/doc/uploads`,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({url:n})})).json();if(!e?.files||e.files.length===0)throw Error(rn(e,`Could not extract content from ${n}`));return i([...t,...e.files]),a([...r,...e.files.map(e=>e.fileId)]),m.toast.success(`Added "${e.files[0].fileName}" as context.`),!0}catch(e){return m.toast.error(rn(e,`Failed to extract URL.`)),!1}finally{h(!1)}},[t,r,i,a]),onDragOver:e=>{e.preventDefault(),f(!0)},onDragLeave:e=>{e.preventDefault(),f(!1)},onDrop:e=>{e.preventDefault(),f(!1),e.dataTransfer.files&&g(e.dataTransfer.files)},handlePaste:e=>{let t=e.clipboardData.items,n=[];for(let e=0;e<t.length;e++)if(t[e].kind===`file`){let r=t[e].getAsFile();r&&n.push(r)}if(n.length>0){e.preventDefault(),g(n);return}let r=e.clipboardData.getData(`text`);if(r.length>300){e.preventDefault();let t={id:Math.random().toString(36).substr(2,9),content:r,timestamp:new Date};u(e=>[...e,t])}},resetAttachments:()=>{s([]),u([]),i([]),a([])}}}var on=()=>window.gapi,sn=()=>window.google,cn=()=>{let e=(0,n.useRef)(!1),r=(0,n.useRef)(!1);return(0,n.useEffect)(()=>{on()?r.current=!0:(()=>{let e=document.createElement(`script`);e.src=`https://apis.google.com/js/api.js`,e.onload=()=>{on()?.load(`client:picker`,()=>{r.current=!0})},document.body.appendChild(e)})(),sn()?.picker?e.current=!0:(()=>{let t=document.createElement(`script`);t.src=`https://www.google.com/jsapi`,t.onload=()=>{e.current=!0},document.body.appendChild(t)})()},[]),{openPicker:async(e,n,i)=>{let a=sn();if(!r.current||!a?.picker){i?.(`Google Picker API not loaded yet. Please try again.`);return}try{let{picker:r}=a;new r.PickerBuilder().addView(r.ViewId.DOCS).addView(r.ViewId.DOCS_IMAGES).addView(r.ViewId.DOCS_VIDEOS).addView(new r.DocsView().setIncludeFolders(!0).setMimeTypes(`application/pdf,application/vnd.google-apps.document,application/vnd.google-apps.spreadsheet,text/plain,image/jpeg,image/png`)).setOAuthToken(e).setDeveloperKey(t.researchAgentUIConfig.googleApiKey).setCallback(e=>{if(e.action===r.Action.PICKED){let t=e.docs;t&&n(t)}else e.action===r.Action.CANCEL&&console.log(`User cancelled picker`)}).build().setVisible(!0)}catch(e){i?.(e.message||`Failed to open Google Picker`)}}}},ln=()=>{let{chatModelProvider:e,setChatModelProvider:t}=G(),[i,a]=(0,n.useState)([]),[o,l]=(0,n.useState)(!0),u=(0,r.useRouter)();(0,n.useEffect)(()=>{(async()=>{try{l(!0);let{data:n}=await(0,c.listProviders)(),r=n?.providers??[];if(a(r),!e.key&&r.length>0){let e=localStorage.getItem(`chatModelKey`),n=localStorage.getItem(`chatModelProviderId`);if(e&&n)t({key:e,providerId:n});else{let e=r.find(e=>e.chatModels.length>0);e&&t({key:e.chatModels[0].key,providerId:e.id})}}}catch(e){console.error(`Error loading providers:`,e)}finally{l(!1)}})()},[]);let f=(0,n.useMemo)(()=>{if(!e.key)return`Select`;for(let t of i){let n=t.chatModels.find(t=>t.key===e.key);if(n)return n.name}return e.key},[i,e.key]),p=(e,n)=>{t({providerId:e,key:n}),localStorage.setItem(`chatModelProviderId`,e),localStorage.setItem(`chatModelKey`,n)};return(0,d.jsxs)(mt,{children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[(0,d.jsx)(s.Cpu,{className:`w-4 h-4 flex-shrink-0 text-sky-500`}),(0,d.jsx)(`span`,{children:`Model`}),(0,d.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground truncate max-w-[55px]`,children:f})]}),(0,d.jsxs)(gt,{className:`w-52 max-h-[400px] overflow-y-auto`,children:[o?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-4`,children:(0,d.jsx)(s.Loader2,{className:`h-4 w-4 animate-spin text-muted-foreground`})}):i.length===0?(0,d.jsx)(`div`,{className:`px-3 py-2 text-xs text-muted-foreground`,children:`No models configured`}):i.map((t,n)=>(0,d.jsxs)(`div`,{children:[(0,d.jsx)(pt,{className:`text-[10px] uppercase tracking-wider text-muted-foreground font-medium`,children:t.name}),t.chatModels.map(n=>(0,d.jsxs)(Y,{onSelect:()=>p(t.id,n.key),className:j(`gap-2`,e?.providerId===t.id&&e?.key===n.key&&`bg-secondary`),children:[(0,d.jsx)(s.Cpu,{className:j(`h-3.5 w-3.5 flex-shrink-0`,e?.providerId===t.id&&e?.key===n.key?`text-sky-500`:`text-muted-foreground`)}),(0,d.jsx)(`span`,{className:`truncate`,children:n.name}),e?.providerId===t.id&&e?.key===n.key&&(0,d.jsx)(`svg`,{className:`w-3 h-3 text-primary ml-auto shrink-0`,fill:`none`,viewBox:`0 0 10 10`,children:(0,d.jsx)(`path`,{d:`M1.5 5l2.5 2.5 4.5-4.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]},n.key)),n<i.length-1&&(0,d.jsx)(X,{})]},t.id)),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>u.push(`/settings?section=models`),className:`gap-2`,children:[(0,d.jsx)(s.Plus,{className:`h-3.5 w-3.5 text-sky-500 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Add model`})]})]})]})};function un(e){let t=e.messages?.[e.messages.length-1],n=t&&`createdAt`in t?t.createdAt:void 0;if(n){let e=new Date(n).getTime();if(!Number.isNaN(e))return new Date(e).toISOString()}return e.createdAt}var dn=e=>new Date(e.lastMessageAt||e.createdAt).getTime();function fn(){return Me().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:un(e)}))}function pn(e=10){let[t,r]=(0,n.useState)([]),[i,a]=(0,n.useState)(!1),{isAuthenticated:o,isLoading:s}=Qe(),l=(0,n.useRef)(!1),u=(0,n.useCallback)(async(e=!1)=>{if(!s&&!(l.current&&!e)){l.current=!0,a(!0);try{if(o){let{data:e,error:t}=await(0,c.listChats)();if(t){r(fn());return}r(Array.isArray(e?.chats)?e.chats:[])}else r(fn())}catch(e){console.error(`Failed to fetch recent chats:`,e),r([])}finally{a(!1)}}},[o,s]);return{recentChats:[...t].sort((e,t)=>dn(t)-dn(e)).slice(0,e),loading:i,load:u}}function mn(e){let t=new Date(e).getTime();if(Number.isNaN(t))return``;let n=Math.round((Date.now()-t)/1e3);if(n<5)return`just now`;if(n<60)return`${n} sec`;let r=Math.round(n/60);if(r<60)return`${r} min`;let i=Math.round(r/60);if(i<24)return`${i} hr`;let a=Math.round(i/24);if(a<7)return`${a} day${a===1?``:`s`}`;let o=Math.round(a/7);if(o<5)return`${o} week${o===1?``:`s`}`;let s=Math.round(a/30);if(s<12)return`${s} month${s===1?``:`s`}`;let c=Math.round(a/365);return`${c} year${c===1?``:`s`}`}var hn=10,gn=()=>{let e=(0,r.useRouter)(),{incognito:n,setIncognito:i}=G(),{recentChats:a,loading:o,load:c}=pn(hn),l=e=>{i(e),m.toast.success(e?`Private mode on — messages won't be saved`:`Private mode off`)},u=n=>{t.researchAgentUIConfig.onOpenChat?.(n)||e.push(`/c/${n}`)};return(0,d.jsxs)(mt,{onOpenChange:e=>{e&&c()},children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[(0,d.jsx)(s.History,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`History`})]}),(0,d.jsxs)(gt,{className:`w-64 max-h-[70vh] overflow-y-auto`,children:[(0,d.jsxs)(ft,{checked:n,onCheckedChange:l,onSelect:e=>e.preventDefault(),className:`gap-2`,children:[(0,d.jsx)(s.EyeOff,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Private`})]}),(0,d.jsx)(X,{}),o?(0,d.jsxs)(Y,{disabled:!0,className:`gap-2`,children:[(0,d.jsx)(s.Loader2,{className:`w-3.5 h-3.5 animate-spin flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Loading…`})]}):a.length===0?(0,d.jsx)(Y,{disabled:!0,children:(0,d.jsx)(`span`,{className:`text-muted-foreground`,children:`No recent chats`})}):a.map(e=>{let t=mn(e.lastMessageAt||e.createdAt);return(0,d.jsxs)(Y,{onSelect:()=>u(e.id),className:`gap-2`,title:e.title,children:[(0,d.jsx)(`span`,{className:`truncate`,children:e.title}),t&&(0,d.jsx)(`span`,{className:`ml-auto pl-2 text-xs italic text-muted-foreground/70 whitespace-nowrap`,children:t})]},e.id)}),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>e.push(`/library`),className:`gap-2`,children:[(0,d.jsx)(s.History,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`All history`})]})]})]})},_n=[{label:`5s`,value:5},{label:`15s`,value:15},{label:`30s`,value:30},{label:`45s`,value:45},{label:`60s`,value:60},{label:`Unlimited`,value:0}],vn=[`pdf`,`docx`,`txt`,`md`,`html`,`htm`],yn=`markdown.js.jsx.ts.tsx.py.rb.go.rs.java.c.cpp.h.hpp.cs.swift.kt.sh.bash.zsh.json.yaml.yml.toml.ini.cfg.conf.xml.csv.tsv.log.env.sql.graphql.vue.svelte.astro.css.scss.less.sass.tex.bib.rst.adoc.org`.split(`.`),bn=({onFileSelect:e,disabled:i=!1})=>{let a=(0,r.useRouter)(),{category:o,setCategory:l,sections:u,chatId:f}=G(),{isAuthenticated:p}=Qe(),h=o?o.split(`,`).filter(Boolean):[`general`],g=ie.find(e=>e.code===h[0])||ie[0],_=e=>{let t=o?o.split(`,`).filter(Boolean):[`general`],n=t.includes(e)?t.filter(t=>t!==e):[...t,e];l(n.length>0?n.join(`,`):`general`)},[v,y]=(0,n.useState)(!1),[b,x]=(0,n.useState)(!1),[S,C]=(0,n.useState)(!1),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(()=>{if(typeof window>`u`)return 5;let e=Number(localStorage.getItem(`thinkingTimeLimit`)??`5`);return Number.isFinite(e)?e:5}),O=n.default.useRef(null),{openPicker:k}=cn();(0,n.useEffect)(()=>{A()},[]);let A=async()=>{try{let{data:e}=await(0,c.googleDocsAuthStatus)();y(e?.isConnected||!1)}catch{}},M=e=>{D(e),localStorage.setItem(`thinkingTimeLimit`,String(e))},N=async()=>{if(`showOpenFilePicker`in window)try{let t=await window.showOpenFilePicker({multiple:!0,types:[{description:`Supported files`,accept:{"application/pdf":[`.pdf`],"application/vnd.openxmlformats-officedocument.wordprocessingml.document":[`.docx`],"text/plain":[`.txt`],"text/markdown":[`.md`],"text/html":[`.html`,`.htm`],"image/*":[`.jpg`,`.jpeg`,`.png`,`.gif`,`.webp`,`.svg`]}}]}),n=await Promise.all(t.map(e=>e.getFile()));n.length>0&&e(n)}catch(e){e?.name!==`AbortError`&&(console.error(`Failed to open file picker:`,e),O.current?.click())}else O.current?.click()};async function P(e,t=``){let n=[];for await(let r of e.values())if(r.kind===`file`){let e=await r.getFile(),i=e.name.split(`.`).pop()?.toLowerCase()??``;if(vn.includes(i))n.push(e);else if(yn.includes(i))try{let r=await e.text(),i=t?`${t}/${e.name}`:e.name;n.push(new File([r],`${i.replace(/[/\\]/g,`_`)}.txt`,{type:`text/plain`}))}catch{}}else if(r.kind===`directory`){let e=r;if(e.name.startsWith(`.`)||e.name===`node_modules`||e.name===`__pycache__`)continue;n.push(...await P(e,t?`${t}/${e.name}`:e.name))}return n}let F=async()=>{if(!(`showDirectoryPicker`in window)){alert(`Your browser does not support the File System Access API. Please use Chrome or Edge.`);return}T(!0);try{let t=await P(await window.showDirectoryPicker({mode:`read`}));t.length>0?e(t):alert(`No supported files found in the selected folder.`)}catch(e){e?.name!==`AbortError`&&console.error(`Failed to access folder:`,e)}finally{T(!1)}},I=async()=>{x(!0);try{let{data:e}=await(0,c.googleDocsAuth)();if(e?.success&&e?.data?.authUrl){let t=e.data.authUrl,n=window.screenX+(window.outerWidth-600)/2,r=window.screenY+(window.outerHeight-700)/2,i=window.open(t,`Google Drive Authorization`,`width=600,height=700,left=${n},top=${r}`),a=e=>{e.data.type===`google-drive-connected`&&(y(!0),i?.close(),window.removeEventListener(`message`,a))};window.addEventListener(`message`,a)}}catch{console.error(`Failed to connect to Google Drive`)}finally{x(!1)}},L=async()=>{try{let{data:t}=await(0,c.getGoogleToken)();if(!t?.success||!t.accessToken)throw Error(`Failed to get access token`);await k(t.accessToken,async t=>{C(!0);try{let n=[];for(let e of t){let{data:t}=await(0,c.getGoogleDriveFile)({query:{fileId:e.id}});if(t?.success&&t?.file){let e=atob(t.file.content),r=new Uint8Array(e.length);for(let t=0;t<e.length;t++)r[t]=e.charCodeAt(t);n.push(new File([new Blob([r],{type:t.file.mimeType})],t.file.name,{type:t.file.mimeType}))}}n.length>0&&e(n)}catch{alert(`Failed to load files from Google Drive`)}finally{C(!1)}},e=>{console.error(`Google Picker error:`,e),alert(e)})}catch(e){alert(e.message||`Failed to open Google Drive picker`)}},R=_n.find(e=>e.value===E)?.label??`Unlimited`;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`relative flex shrink min-w-8 !shrink-0 group`,children:[(0,d.jsxs)(lt,{children:[(0,d.jsx)(ut,{asChild:!0,children:(0,d.jsx)(`button`,{disabled:i,className:`inline-flex items-center justify-center relative shrink-0 transition-colors duration-200 h-8 w-8 rounded-lg active:scale-95 text-text-400 hover:text-text-200 hover:bg-bg-200 disabled:opacity-50 disabled:cursor-not-allowed group-active:scale-95`,type:`button`,"aria-label":`Search options`,children:(0,d.jsx)(s.SlidersHorizontal,{className:`w-5 h-5`})})}),(0,d.jsxs)(dt,{align:`start`,side:`top`,sideOffset:8,className:`w-44`,children:[(0,d.jsxs)(mt,{children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[g&&(0,d.jsx)(g.icon,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Category`})]}),(0,d.jsxs)(gt,{className:`w-44`,children:[(0,d.jsxs)(ft,{checked:h.length===0,onCheckedChange:()=>l(`general`),onSelect:e=>e.preventDefault(),className:`gap-2`,children:[(0,d.jsx)(`div`,{className:`w-3.5 h-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`None`})]}),(0,d.jsx)(X,{}),ie.map(e=>(0,d.jsxs)(ft,{checked:h.includes(e.code),onCheckedChange:()=>_(e.code),onSelect:e=>e.preventDefault(),className:`gap-2`,children:[e.icon&&(0,d.jsx)(e.icon,{className:`w-3.5 h-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:e.name})]},e.code))]})]}),(0,d.jsxs)(mt,{children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[(0,d.jsx)(s.Clock,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Speed`}),(0,d.jsx)(`span`,{className:`ml-auto text-xs text-muted-foreground`,children:R})]}),(0,d.jsx)(gt,{className:`w-36`,children:_n.map(e=>(0,d.jsxs)(Y,{onSelect:()=>M(e.value),className:j(`justify-between`,E===e.value&&`bg-secondary`),children:[(0,d.jsx)(`span`,{children:e.label}),E===e.value&&(0,d.jsx)(`svg`,{className:`w-3 h-3 text-primary`,fill:`none`,viewBox:`0 0 10 10`,children:(0,d.jsx)(`path`,{d:`M1.5 5l2.5 2.5 4.5-4.5`,stroke:`currentColor`,strokeWidth:`1.5`,strokeLinecap:`round`,strokeLinejoin:`round`})})]},e.value))})]}),(0,d.jsx)(X,{}),(0,d.jsx)(ln,{}),(0,d.jsx)(X,{}),(0,d.jsxs)(mt,{children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[(0,d.jsx)(s.Upload,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Upload`})]}),(0,d.jsxs)(gt,{className:`w-44`,children:[(0,d.jsxs)(Y,{onSelect:N,className:`gap-2`,children:[(0,d.jsx)(s.Upload,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Your Device`})]}),(0,d.jsxs)(Y,{onSelect:F,disabled:w,className:`gap-2`,children:[w?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.FolderOpen,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:w?`Scanning…`:`Local Folder`})]}),(0,d.jsx)(X,{}),(0,d.jsx)(pt,{className:`text-xs font-normal text-muted-foreground`,children:`Cloud`}),v?(0,d.jsxs)(Y,{onSelect:L,disabled:S,className:`gap-2`,children:[S?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.CloudIcon,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:S?`Loading…`:`Google Drive`})]}):(0,d.jsxs)(Y,{onSelect:I,disabled:b,className:`gap-2`,children:[b?(0,d.jsx)(s.Loader2,{className:`h-3.5 w-3.5 animate-spin flex-shrink-0`}):(0,d.jsx)(s.CloudIcon,{className:`h-3.5 w-3.5 flex-shrink-0`}),(0,d.jsx)(`span`,{children:b?`Connecting…`:`Connect Google Drive`})]})]})]}),(0,d.jsx)(X,{}),u.length>0&&(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(mt,{children:[(0,d.jsxs)(ht,{className:`gap-2`,children:[(0,d.jsx)(s.Share2,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Share`})]}),(0,d.jsxs)(gt,{className:`w-48`,children:[(0,d.jsxs)(Y,{onSelect:async()=>{if(!f){m.toast.error(`No chat to share`);return}if(!p){m.toast.error(`Please sign in to share chats`);return}try{let{data:e,error:t}=await(0,c.shareChat)({body:{chatId:f}});if(!t&&e?.success&&e?.data?.shareUrl)await navigator.clipboard.writeText(e.data.shareUrl),m.toast.success(`Chat is now public - link copied to clipboard`);else throw Error(t?.error||`Failed to share chat`)}catch(e){console.error(`Error sharing chat:`,e);let t=e instanceof Error?e.message:`Failed to share chat`;m.toast.error(t)}},className:`gap-2`,children:[(0,d.jsx)(s.Link,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Copy link`})]}),(0,d.jsxs)(Y,{onSelect:async()=>{let e=u[0]?.userMessage?.content||`Chat`,t=u.map(e=>`## ${e.userMessage.content}\n\n${e.assistantMessage?.content||``}`).join(`
|
|
21
21
|
|
|
22
22
|
---
|
|
23
23
|
|
|
24
|
-
`);try{await(0,c.createDocument)({body:{title:e,name:e,content:t,metadata:{source:`chat`,chatId:window.location.pathname}}}),m.toast.success(`Saved to QwkDocs`)}catch{m.toast.error(`Failed to save to QwkDocs`)}},className:`gap-2`,children:[(0,d.jsx)(s.BookMarked,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Save to QwkDocs`})]}),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>{
|
|
25
|
-
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileText,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as Markdown`})]}),(0,d.jsxs)(Y,{onSelect:()=>{
|
|
26
|
-
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileType,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as PDF`})]}),(0,d.jsxs)(Y,{onSelect:()=>{
|
|
27
|
-
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileDown,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as DOCX`})]}),(0,d.jsxs)(Y,{onSelect:()=>{
|
|
28
|
-
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileSpreadsheet,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export to Google Docs`})]})]})]}),(0,d.jsx)(X,{})]}),(0,d.jsx)(hn,{}),(0,d.jsxs)(Y,{onSelect:()=>{t.researchAgentUIConfig.onOpenSettings?.()||a.push(`/settings`)},className:`gap-2`,children:[(0,d.jsx)(s.Settings,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Settings`})]})]})]}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:`Search options`})})]}),(0,d.jsxs)(`div`,{className:`relative hidden sm:flex shrink-0 group -ml-1`,children:[(0,d.jsx)(`button`,{type:`button`,disabled:i,onClick:N,"aria-label":`Attach files`,className:`inline-flex items-center justify-center relative shrink-0 transition-colors duration-200 h-7 w-7 rounded-md active:scale-95 text-text-400 hover:text-text-200 hover:bg-bg-200 disabled:opacity-50 disabled:cursor-not-allowed group-active:scale-95`,children:(0,d.jsx)(s.Paperclip,{className:`w-[18px] h-[18px]`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:`Attach files`})})]}),(0,d.jsx)(`input`,{ref:O,type:`file`,multiple:!0,onChange:t=>{t.target.files&&(e(t.target.files),t.target.value=``)},className:`hidden`})]})},bn=(0,n.forwardRef)(({active:e=!1,processing:t=!1,barWidth:r=3,barHeight:i=4,barGap:a=1,barRadius:o=1.5,barColor:s,fadeEdges:c=!0,fadeWidth:l=24,height:u=64,sensitivity:f=1,smoothingTimeConstant:p=.8,fftSize:m=256,historySize:h=60,updateRate:g=30,mode:_=`static`,onError:v,onStreamReady:y,onStreamEnd:b,className:x,...S},C)=>{let w=(0,n.useRef)(null),T=(0,n.useRef)(null),E=(0,n.useRef)(null),D=(0,n.useRef)(null),O=(0,n.useRef)(null),k=(0,n.useRef)(0),A=(0,n.useRef)([]),j=(0,n.useRef)(0),M=(0,n.useRef)(0),N=(0,n.useCallback)(()=>{k.current&&=(cancelAnimationFrame(k.current),0),O.current&&=(O.current.disconnect(),null),D.current&&=(D.current.getTracks().forEach(e=>e.stop()),null),T.current&&=(T.current.close().catch(()=>{}),null),E.current=null,A.current=[],b?.()},[b]),P=(0,n.useCallback)((e,t,n,s,c)=>{let l=r+a,u=Math.floor(t/c/l),d=u*l-a,p=(t/c-d)/2,m=s.length;for(let t=0;t<u;t++){let a=s[Math.floor(t/u*m)]/255*f,d=Math.max(i,n/c*a),h=p+t*l,g=(n/c-d)/2;e.beginPath(),e.roundRect(h*c,g*c,r*c,d*c,o*c),e.fill()}},[r,a,i,o,f]),F=(0,n.useCallback)((e,t,n,s)=>{let c=A.current,l=r+a,u=Math.min(c.length,h),d=t/s-u*l;for(let t=0;t<u;t++){let a=c[c.length-u+t]*f,p=Math.max(i,n/s*a),m=d+t*l,h=(n/s-p)/2;e.beginPath(),e.roundRect(m*s,h*s,r*s,p*s,o*s),e.fill()}},[r,a,i,o,f,h]),I=(0,n.useCallback)((e,t,n,s,c)=>{let l=r+a,u=Math.floor(t/s/l),d=u*l-a,f=(t/s-d)/2;for(let t=0;t<u;t++){let a=Math.sin(t/u*Math.PI*2+c)*.5+.5,d=Math.max(i,n/s*a*.6),p=f+t*l,m=(n/s-d)/2;e.beginPath(),e.roundRect(p*s,m*s,r*s,d*s,o*s),e.fill()}},[r,a,i,o]),L=(0,n.useCallback)((e,t,n)=>{if(!c)return;e.save(),e.globalCompositeOperation=`destination-in`;let r=e.createLinearGradient(0,0,t,0);r.addColorStop(0,`rgba(0,0,0,0)`),r.addColorStop(Math.min(l/(t||1),.3),`rgba(0,0,0,1)`),r.addColorStop(Math.max(1-l/(t||1),.7),`rgba(0,0,0,1)`),r.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=r,e.fillRect(0,0,t,n),e.restore()},[c,l]);(0,n.useEffect)(()=>{if(!e&&!t){let e=w.current;if(e){let t=e.getContext(`2d`);t&&t.clearRect(0,0,e.width,e.height)}return}let n=!0,r=i=>{if(!n)return;let a=w.current;if(!a){k.current=requestAnimationFrame(r);return}if(i-M.current<g){k.current=requestAnimationFrame(r);return}M.current=i;let o=window.devicePixelRatio||1,c=a.getBoundingClientRect(),l=c.width*o,u=c.height*o;(a.width!==l||a.height!==u)&&(a.width=l,a.height=u);let d=a.getContext(`2d`);if(!d){k.current=requestAnimationFrame(r);return}if(d.clearRect(0,0,l,u),d.fillStyle=s||getComputedStyle(a).getPropertyValue(`color`)||`#888`,d.save(),d.setTransform(1,0,0,1,0,0),t&&!e)j.current+=.06,I(d,l,u,o,j.current);else if(e&&E.current){let e=new Uint8Array(E.current.frequencyBinCount);if(E.current.getByteFrequencyData(e),_===`scrolling`){let t=0;for(let n=0;n<e.length;n++)t+=e[n];let n=t/e.length/255;A.current.push(n),A.current.length>h*2&&(A.current=A.current.slice(-h)),F(d,l,u,o)}else P(d,l,u,e,o)}L(d,l,u),d.restore(),k.current=requestAnimationFrame(r)};return k.current=requestAnimationFrame(r),()=>{n=!1,k.current&&=(cancelAnimationFrame(k.current),0)}},[e,t,_,s,g,h,P,F,I,L]),(0,n.useEffect)(()=>{if(!e){N();return}let t=!1;return(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(t){e.getTracks().forEach(e=>e.stop());return}let n=new AudioContext,r=n.createAnalyser();r.fftSize=m,r.smoothingTimeConstant=p;let i=n.createMediaStreamSource(e);i.connect(r),T.current=n,E.current=r,D.current=e,O.current=i,y?.(e)}catch(e){t||v?.(e instanceof Error?e:Error(String(e)))}})(),()=>{t=!0,N()}},[e,m,p,N,v,y]);let R=typeof u==`number`?`${u}px`:u;return(0,d.jsx)(`div`,{ref:C,className:x,style:{height:R,width:`100%`,position:`relative`},...S,children:(0,d.jsx)(`canvas`,{ref:w,style:{width:`100%`,height:`100%`,display:`block`,color:s||`currentColor`}})})});bn.displayName=`LiveWaveform`;var xn=[`What are you curious to research?`,`Search the latest news...`,`Analyze a video, doc, or URL...`,`Find academic research on...`,`Compare products to buy...`],Sn={initial:{},animate:{transition:{staggerChildren:.025}},exit:{transition:{staggerChildren:.015,staggerDirection:-1}}},Cn={initial:{opacity:0,filter:`blur(12px)`,y:10},animate:{opacity:1,filter:`blur(0px)`,y:0,transition:{opacity:{duration:.25},filter:{duration:.4},y:{type:`spring`,stiffness:80,damping:20}}},exit:{opacity:0,filter:`blur(12px)`,y:-10,transition:{opacity:{duration:.2},filter:{duration:.3},y:{type:`spring`,stiffness:80,damping:20}}}},wn=({onNewChat:e})=>{let{loading:t,sendMessage:r,stopStreaming:i,files:a,fileIds:o,setFiles:l,setFileIds:f,newChat:p,sections:m}=G(),[h,g]=(0,n.useState)(``),_=(0,n.useRef)(null),v=(0,n.useRef)(null),{files:y,setFiles:b,pastedContent:x,setPastedContent:S,isDragging:C,handleFiles:T,onDragOver:E,onDragLeave:D,onDrop:O,handlePaste:k,resetAttachments:A}=rn({setMessage:g,contextFiles:a,contextFileIds:o,setContextFiles:l,setContextFileIds:f}),j=()=>{g(``),A(),_.current&&(_.current.style.height=`auto`)},M=(0,n.useRef)(``),N=(e,t)=>e&&!/\s$/.test(e)?`${e} ${t}`:`${e}${t}`,{isListening:P,toggleSpeech:F,isSpeechSupported:I,lastPhrase:L,phraseId:R}=Vt(e=>{g(()=>{let t=`${N(M.current,e)} `;return M.current=t,t})},()=>{g(e=>(e.trim()&&setTimeout(()=>{r(e),j()},0),e))},{onPartial:e=>g(e?N(M.current,e):M.current)});(0,n.useEffect)(()=>{P&&(M.current=h)},[P]),Xt({isSpeechSupported:I,isListening:P,toggleSpeech:F});let[z,ee]=(0,n.useState)(0),[te,ne]=(0,n.useState)(!0),[B,re]=(0,n.useState)(!1),[ie,ae]=(0,n.useState)([]),[oe,se]=(0,n.useState)([]),[ce,V]=(0,n.useState)(-1),[le,H]=(0,n.useState)(!1),[ue,de]=(0,n.useState)(`below`),fe=(0,n.useRef)(!1),pe=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(fe.current){fe.current=!1;return}let{query:e}=me(h);if(!B||e.length<2){ae([]),se([]),H(!1),V(-1);return}let t=setTimeout(async()=>{pe.current?.abort();let t=new AbortController;pe.current=t;try{let{data:n,error:r}=await(0,c.autocomplete)({query:{q:e,limit:8},signal:t.signal});if(r)return;let i=Array.isArray(n?.suggestions)?n.suggestions:[],a=Array.isArray(n?.domains)?n.domains:[];if(ae(i),se(a),i.length+a.length>0){if(v.current){let e=v.current.getBoundingClientRect(),t=window.innerHeight-e.bottom,n=e.top;t<Math.min(288,(i.length+a.length)*36)&&n>t?de(`above`):de(`below`)}H(!0)}else H(!1);V(-1)}catch(e){e?.name!==`AbortError`&&console.error(`Autocomplete fetch failed`,e)}},180);return()=>clearTimeout(t)},[h,B]);let me=e=>{let t=e.trimEnd();if(!t)return{prefix:``,query:``};let n=t.split(/\s+/),r=Math.min(4,n.length),i=n.slice(-r).join(` `);return{prefix:n.length>r?n.slice(0,-r).join(` `)+` `:``,query:i}},he=e=>{fe.current=!0;let{prefix:t}=me(h);g(t+e),ae([]),se([]),H(!1),V(-1),_.current?.focus()},ge=e=>{H(!1),V(-1),window.location.href=`https://${e.domain}`},U=oe.length+ie.length,_e=e=>{e<oe.length?ge(oe[e]):he(ie[e-oe.length])};(0,n.useEffect)(()=>{if(B||h)return;let e=setInterval(()=>{ne(!1),setTimeout(()=>{ee(e=>(e+1)%xn.length),ne(!0)},400)},3e3);return()=>clearInterval(e)},[B,h]),(0,n.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&(h||re(!1))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[h]),(0,n.useEffect)(()=>{_.current&&(_.current.style.height=`auto`,_.current.style.height=Math.min(_.current.scrollHeight,384)+`px`)},[h]);let ve=()=>{t||!h.trim()&&y.length===0&&x.length===0||(r(h),j())},ye=e=>{if(le&&U>0){if(e.key===`ArrowDown`){e.preventDefault(),V(e=>(e+1)%U);return}if(e.key===`ArrowUp`){e.preventDefault(),V(e=>e<=0?U-1:e-1);return}if(e.key===`Escape`){e.preventDefault(),H(!1),V(-1);return}if(e.key===`Tab`&&ce>=0){e.preventDefault(),_e(ce);return}if(e.key===`Enter`&&!e.shiftKey&&ce>=0){e.preventDefault(),_e(ce);return}let t=parseInt(e.key,10);if(t>=1&&t<=U&&t<=9){e.preventDefault(),_e(t-1);return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ve())},be=!!(h.trim()||y.length>0||x.length>0);return(0,d.jsxs)(`div`,{className:`relative w-full max-w-2xl mx-auto transition-all duration-300 font-sans`,onDragOver:E,onDragLeave:D,onDrop:O,children:[(0,d.jsxs)(u.motion.div,{ref:v,className:`!box-content flex flex-col mx-2 md:mx-0 items-stretch relative z-10 rounded-[28px] bg-gray-50 dark:bg-[#30302E] border border-bg-300 dark:border-transparent cursor-text font-sans antialiased`,animate:{boxShadow:B||h?`0 8px 32px 0 rgba(0,0,0,0.16)`:`0 2px 8px 0 rgba(0,0,0,0.08)`},transition:{type:`spring`,stiffness:120,damping:18},onClick:()=>re(!0),children:[(y.length>0||x.length>0)&&(0,d.jsxs)(`div`,{className:`flex gap-3 overflow-x-auto custom-scrollbar px-3 pt-3 pb-1`,children:[x.map(e=>(0,d.jsx)(zt,{content:e,onRemove:e=>S(t=>t.filter(t=>t.id!==e))},e.id)),y.map(e=>(0,d.jsx)(Rt,{file:e,onRemove:e=>b(t=>t.filter(t=>t.id!==e))},e.id))]}),P&&(0,d.jsx)(`div`,{className:`px-3 pt-2`,children:(0,d.jsx)(bn,{active:P,mode:`static`,height:48,barWidth:3,barGap:2,barColor:`gray`,fadeEdges:!0,sensitivity:1.2,className:`w-full rounded-lg`})}),(0,d.jsx)(w.SpokenPhraseOverlay,{phrase:L,phraseId:R,visible:P}),(0,d.jsxs)(`div`,{className:`flex items-center gap-2 p-3`,children:[(0,d.jsx)(yn,{onFileSelect:T,disabled:t}),(0,d.jsxs)(`div`,{className:`relative flex-1`,children:[(0,d.jsx)(`div`,{className:`max-h-96 w-full overflow-y-auto custom-scrollbar`,children:(0,d.jsx)(`textarea`,{ref:_,value:h,onChange:e=>g(e.target.value),onPaste:k,onKeyDown:ye,onFocus:()=>re(!0),className:`w-full bg-transparent border-0 outline-none text-text-200 dark:text-text-100 text-[16px] resize-none overflow-hidden py-1 leading-relaxed block font-normal antialiased`,rows:1,autoFocus:!0,style:{minHeight:`1.5em`}})}),(0,d.jsx)(`div`,{className:`absolute left-0 top-0 w-full h-full pointer-events-none flex items-center`,children:(0,d.jsx)(u.AnimatePresence,{mode:`wait`,children:te&&!B&&!h&&(0,d.jsx)(u.motion.span,{className:`absolute left-0 top-1/2 -translate-y-1/2 text-text-400 select-none pointer-events-none text-[16px] font-normal`,style:{whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},variants:Sn,initial:`initial`,animate:`animate`,exit:`exit`,children:xn[z].split(``).map((e,t)=>(0,d.jsx)(u.motion.span,{variants:Cn,style:{display:`inline-block`},children:e===` `?`\xA0`:e},t))},z)})})]}),I&&(0,d.jsxs)(`div`,{className:`relative flex shrink !shrink-0 group`,children:[(0,d.jsx)(`button`,{onClick:e=>{e.stopPropagation(),F()},disabled:t,className:`transition-all duration-200 h-8 w-8 flex items-center justify-center rounded-full active:scale-95
|
|
24
|
+
`);try{await(0,c.createDocument)({body:{title:e,name:e,content:t,metadata:{source:`chat`,chatId:window.location.pathname}}}),m.toast.success(`Saved to QwkDocs`)}catch{m.toast.error(`Failed to save to QwkDocs`)}},className:`gap-2`,children:[(0,d.jsx)(s.BookMarked,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Save to QwkDocs`})]}),(0,d.jsx)(X,{}),(0,d.jsxs)(Y,{onSelect:()=>{Ot(u[0]?.userMessage?.content||`Chat`,u.map(e=>`<h2>${e.userMessage.content}</h2>${e.assistantMessage?.content||``}`).join(`
|
|
25
|
+
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileText,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as Markdown`})]}),(0,d.jsxs)(Y,{onSelect:()=>{At(u[0]?.userMessage?.content||`Chat`,u.map(e=>`<h2>${e.userMessage.content}</h2>${e.assistantMessage?.content||``}`).join(`
|
|
26
|
+
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileType,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as PDF`})]}),(0,d.jsxs)(Y,{onSelect:()=>{kt(u[0]?.userMessage?.content||`Chat`,u.map(e=>`<h2>${e.userMessage.content}</h2>${e.assistantMessage?.content||``}`).join(`
|
|
27
|
+
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileDown,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export as DOCX`})]}),(0,d.jsxs)(Y,{onSelect:()=>{jt(u[0]?.userMessage?.content||`Chat`,u.map(e=>`<h2>${e.userMessage.content}</h2>${e.assistantMessage?.content||``}`).join(`
|
|
28
|
+
`))},className:`gap-2`,children:[(0,d.jsx)(s.FileSpreadsheet,{className:`w-4 h-4 flex-shrink-0`}),(0,d.jsx)(`span`,{children:`Export to Google Docs`})]})]})]}),(0,d.jsx)(X,{})]}),(0,d.jsx)(gn,{}),(0,d.jsxs)(Y,{onSelect:()=>{t.researchAgentUIConfig.onOpenSettings?.()||a.push(`/settings`)},className:`gap-2`,children:[(0,d.jsx)(s.Settings,{className:`w-4 h-4 flex-shrink-0 text-muted-foreground`}),(0,d.jsx)(`span`,{children:`Settings`})]})]})]}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:`Search options`})})]}),(0,d.jsxs)(`div`,{className:`relative hidden sm:flex shrink-0 group -ml-1`,children:[(0,d.jsx)(`button`,{type:`button`,disabled:i,onClick:N,"aria-label":`Attach files`,className:`inline-flex items-center justify-center relative shrink-0 transition-colors duration-200 h-7 w-7 rounded-md active:scale-95 text-text-400 hover:text-text-200 hover:bg-bg-200 disabled:opacity-50 disabled:cursor-not-allowed group-active:scale-95`,children:(0,d.jsx)(s.Paperclip,{className:`w-[18px] h-[18px]`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:`Attach files`})})]}),(0,d.jsx)(`input`,{ref:O,type:`file`,multiple:!0,onChange:t=>{t.target.files&&(e(t.target.files),t.target.value=``)},className:`hidden`})]})},xn=(0,n.forwardRef)(({active:e=!1,processing:t=!1,barWidth:r=3,barHeight:i=4,barGap:a=1,barRadius:o=1.5,barColor:s,fadeEdges:c=!0,fadeWidth:l=24,height:u=64,sensitivity:f=1,smoothingTimeConstant:p=.8,fftSize:m=256,historySize:h=60,updateRate:g=30,mode:_=`static`,onError:v,onStreamReady:y,onStreamEnd:b,className:x,...S},C)=>{let w=(0,n.useRef)(null),T=(0,n.useRef)(null),E=(0,n.useRef)(null),D=(0,n.useRef)(null),O=(0,n.useRef)(null),k=(0,n.useRef)(0),A=(0,n.useRef)([]),j=(0,n.useRef)(0),M=(0,n.useRef)(0),N=(0,n.useCallback)(()=>{k.current&&=(cancelAnimationFrame(k.current),0),O.current&&=(O.current.disconnect(),null),D.current&&=(D.current.getTracks().forEach(e=>e.stop()),null),T.current&&=(T.current.close().catch(()=>{}),null),E.current=null,A.current=[],b?.()},[b]),P=(0,n.useCallback)((e,t,n,s,c)=>{let l=r+a,u=Math.floor(t/c/l),d=u*l-a,p=(t/c-d)/2,m=s.length;for(let t=0;t<u;t++){let a=s[Math.floor(t/u*m)]/255*f,d=Math.max(i,n/c*a),h=p+t*l,g=(n/c-d)/2;e.beginPath(),e.roundRect(h*c,g*c,r*c,d*c,o*c),e.fill()}},[r,a,i,o,f]),F=(0,n.useCallback)((e,t,n,s)=>{let c=A.current,l=r+a,u=Math.min(c.length,h),d=t/s-u*l;for(let t=0;t<u;t++){let a=c[c.length-u+t]*f,p=Math.max(i,n/s*a),m=d+t*l,h=(n/s-p)/2;e.beginPath(),e.roundRect(m*s,h*s,r*s,p*s,o*s),e.fill()}},[r,a,i,o,f,h]),I=(0,n.useCallback)((e,t,n,s,c)=>{let l=r+a,u=Math.floor(t/s/l),d=u*l-a,f=(t/s-d)/2;for(let t=0;t<u;t++){let a=Math.sin(t/u*Math.PI*2+c)*.5+.5,d=Math.max(i,n/s*a*.6),p=f+t*l,m=(n/s-d)/2;e.beginPath(),e.roundRect(p*s,m*s,r*s,d*s,o*s),e.fill()}},[r,a,i,o]),L=(0,n.useCallback)((e,t,n)=>{if(!c)return;e.save(),e.globalCompositeOperation=`destination-in`;let r=e.createLinearGradient(0,0,t,0);r.addColorStop(0,`rgba(0,0,0,0)`),r.addColorStop(Math.min(l/(t||1),.3),`rgba(0,0,0,1)`),r.addColorStop(Math.max(1-l/(t||1),.7),`rgba(0,0,0,1)`),r.addColorStop(1,`rgba(0,0,0,0)`),e.fillStyle=r,e.fillRect(0,0,t,n),e.restore()},[c,l]);(0,n.useEffect)(()=>{if(!e&&!t){let e=w.current;if(e){let t=e.getContext(`2d`);t&&t.clearRect(0,0,e.width,e.height)}return}let n=!0,r=i=>{if(!n)return;let a=w.current;if(!a){k.current=requestAnimationFrame(r);return}if(i-M.current<g){k.current=requestAnimationFrame(r);return}M.current=i;let o=window.devicePixelRatio||1,c=a.getBoundingClientRect(),l=c.width*o,u=c.height*o;(a.width!==l||a.height!==u)&&(a.width=l,a.height=u);let d=a.getContext(`2d`);if(!d){k.current=requestAnimationFrame(r);return}if(d.clearRect(0,0,l,u),d.fillStyle=s||getComputedStyle(a).getPropertyValue(`color`)||`#888`,d.save(),d.setTransform(1,0,0,1,0,0),t&&!e)j.current+=.06,I(d,l,u,o,j.current);else if(e&&E.current){let e=new Uint8Array(E.current.frequencyBinCount);if(E.current.getByteFrequencyData(e),_===`scrolling`){let t=0;for(let n=0;n<e.length;n++)t+=e[n];let n=t/e.length/255;A.current.push(n),A.current.length>h*2&&(A.current=A.current.slice(-h)),F(d,l,u,o)}else P(d,l,u,e,o)}L(d,l,u),d.restore(),k.current=requestAnimationFrame(r)};return k.current=requestAnimationFrame(r),()=>{n=!1,k.current&&=(cancelAnimationFrame(k.current),0)}},[e,t,_,s,g,h,P,F,I,L]),(0,n.useEffect)(()=>{if(!e){N();return}let t=!1;return(async()=>{try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});if(t){e.getTracks().forEach(e=>e.stop());return}let n=new AudioContext,r=n.createAnalyser();r.fftSize=m,r.smoothingTimeConstant=p;let i=n.createMediaStreamSource(e);i.connect(r),T.current=n,E.current=r,D.current=e,O.current=i,y?.(e)}catch(e){t||v?.(e instanceof Error?e:Error(String(e)))}})(),()=>{t=!0,N()}},[e,m,p,N,v,y]);let R=typeof u==`number`?`${u}px`:u;return(0,d.jsx)(`div`,{ref:C,className:x,style:{height:R,width:`100%`,position:`relative`},...S,children:(0,d.jsx)(`canvas`,{ref:w,style:{width:`100%`,height:`100%`,display:`block`,color:s||`currentColor`}})})});xn.displayName=`LiveWaveform`;var Sn=[`What are you curious to research?`,`Search the latest news...`,`Analyze a video, doc, or URL...`,`Find academic research on...`,`Compare products to buy...`],Cn={initial:{},animate:{transition:{staggerChildren:.025}},exit:{transition:{staggerChildren:.015,staggerDirection:-1}}},wn={initial:{opacity:0,filter:`blur(12px)`,y:10},animate:{opacity:1,filter:`blur(0px)`,y:0,transition:{opacity:{duration:.25},filter:{duration:.4},y:{type:`spring`,stiffness:80,damping:20}}},exit:{opacity:0,filter:`blur(12px)`,y:-10,transition:{opacity:{duration:.2},filter:{duration:.3},y:{type:`spring`,stiffness:80,damping:20}}}},Tn=({onNewChat:e})=>{let{loading:t,sendMessage:r,stopStreaming:i,files:a,fileIds:o,setFiles:l,setFileIds:f,newChat:p,sections:m}=G(),[h,g]=(0,n.useState)(``),_=(0,n.useRef)(null),v=(0,n.useRef)(null),{files:y,setFiles:b,pastedContent:x,setPastedContent:S,isDragging:C,handleFiles:T,onDragOver:E,onDragLeave:D,onDrop:O,handlePaste:k,resetAttachments:A}=an({setMessage:g,contextFiles:a,contextFileIds:o,setContextFiles:l,setContextFileIds:f}),j=()=>{g(``),A(),_.current&&(_.current.style.height=`auto`)},M=(0,n.useRef)(``),N=(e,t)=>e&&!/\s$/.test(e)?`${e} ${t}`:`${e}${t}`,{isListening:P,toggleSpeech:F,isSpeechSupported:I,lastPhrase:L,phraseId:R}=Ht(e=>{g(()=>{let t=`${N(M.current,e)} `;return M.current=t,t})},()=>{g(e=>(e.trim()&&setTimeout(()=>{r(e),j()},0),e))},{onPartial:e=>g(e?N(M.current,e):M.current)});(0,n.useEffect)(()=>{P&&(M.current=h)},[P]),Zt({isSpeechSupported:I,isListening:P,toggleSpeech:F});let[z,ee]=(0,n.useState)(0),[te,ne]=(0,n.useState)(!0),[B,re]=(0,n.useState)(!1),[ie,ae]=(0,n.useState)([]),[oe,se]=(0,n.useState)([]),[ce,V]=(0,n.useState)(-1),[le,H]=(0,n.useState)(!1),[ue,de]=(0,n.useState)(`below`),fe=(0,n.useRef)(!1),pe=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(fe.current){fe.current=!1;return}let{query:e}=me(h);if(!B||e.length<2){ae([]),se([]),H(!1),V(-1);return}let t=setTimeout(async()=>{pe.current?.abort();let t=new AbortController;pe.current=t;try{let{data:n,error:r}=await(0,c.autocomplete)({query:{q:e,limit:8},signal:t.signal});if(r)return;let i=Array.isArray(n?.suggestions)?n.suggestions:[],a=Array.isArray(n?.domains)?n.domains:[];if(ae(i),se(a),i.length+a.length>0){if(v.current){let e=v.current.getBoundingClientRect(),t=window.innerHeight-e.bottom,n=e.top;t<Math.min(288,(i.length+a.length)*36)&&n>t?de(`above`):de(`below`)}H(!0)}else H(!1);V(-1)}catch(e){e?.name!==`AbortError`&&console.error(`Autocomplete fetch failed`,e)}},180);return()=>clearTimeout(t)},[h,B]);let me=e=>{let t=e.trimEnd();if(!t)return{prefix:``,query:``};let n=t.split(/\s+/),r=Math.min(4,n.length),i=n.slice(-r).join(` `);return{prefix:n.length>r?n.slice(0,-r).join(` `)+` `:``,query:i}},he=e=>{fe.current=!0;let{prefix:t}=me(h);g(t+e),ae([]),se([]),H(!1),V(-1),_.current?.focus()},ge=e=>{H(!1),V(-1),window.location.href=`https://${e.domain}`},U=oe.length+ie.length,_e=e=>{e<oe.length?ge(oe[e]):he(ie[e-oe.length])};(0,n.useEffect)(()=>{if(B||h)return;let e=setInterval(()=>{ne(!1),setTimeout(()=>{ee(e=>(e+1)%Sn.length),ne(!0)},400)},3e3);return()=>clearInterval(e)},[B,h]),(0,n.useEffect)(()=>{let e=e=>{v.current&&!v.current.contains(e.target)&&(h||re(!1))};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[h]),(0,n.useEffect)(()=>{_.current&&(_.current.style.height=`auto`,_.current.style.height=Math.min(_.current.scrollHeight,384)+`px`)},[h]);let ve=()=>{t||!h.trim()&&y.length===0&&x.length===0||(r(h),j())},ye=e=>{if(le&&U>0){if(e.key===`ArrowDown`){e.preventDefault(),V(e=>(e+1)%U);return}if(e.key===`ArrowUp`){e.preventDefault(),V(e=>e<=0?U-1:e-1);return}if(e.key===`Escape`){e.preventDefault(),H(!1),V(-1);return}if(e.key===`Tab`&&ce>=0){e.preventDefault(),_e(ce);return}if(e.key===`Enter`&&!e.shiftKey&&ce>=0){e.preventDefault(),_e(ce);return}let t=parseInt(e.key,10);if(t>=1&&t<=U&&t<=9){e.preventDefault(),_e(t-1);return}}e.key===`Enter`&&!e.shiftKey&&(e.preventDefault(),ve())},be=!!(h.trim()||y.length>0||x.length>0);return(0,d.jsxs)(`div`,{className:`relative w-full max-w-2xl mx-auto transition-all duration-300 font-sans`,onDragOver:E,onDragLeave:D,onDrop:O,children:[(0,d.jsxs)(u.motion.div,{ref:v,className:`!box-content flex flex-col mx-2 md:mx-0 items-stretch relative z-10 rounded-[28px] bg-gray-50 dark:bg-[#30302E] border border-bg-300 dark:border-transparent cursor-text font-sans antialiased`,animate:{boxShadow:B||h?`0 8px 32px 0 rgba(0,0,0,0.16)`:`0 2px 8px 0 rgba(0,0,0,0.08)`},transition:{type:`spring`,stiffness:120,damping:18},onClick:()=>re(!0),children:[(y.length>0||x.length>0)&&(0,d.jsxs)(`div`,{className:`flex gap-3 overflow-x-auto custom-scrollbar px-3 pt-3 pb-1`,children:[x.map(e=>(0,d.jsx)(Bt,{content:e,onRemove:e=>S(t=>t.filter(t=>t.id!==e))},e.id)),y.map(e=>(0,d.jsx)(zt,{file:e,onRemove:e=>b(t=>t.filter(t=>t.id!==e))},e.id))]}),P&&(0,d.jsx)(`div`,{className:`px-3 pt-2`,children:(0,d.jsx)(xn,{active:P,mode:`static`,height:48,barWidth:3,barGap:2,barColor:`gray`,fadeEdges:!0,sensitivity:1.2,className:`w-full rounded-lg`})}),(0,d.jsx)(w.SpokenPhraseOverlay,{phrase:L,phraseId:R,visible:P}),(0,d.jsxs)(`div`,{className:`flex items-center gap-2 p-3`,children:[(0,d.jsx)(bn,{onFileSelect:T,disabled:t}),(0,d.jsxs)(`div`,{className:`relative flex-1`,children:[(0,d.jsx)(`div`,{className:`max-h-96 w-full overflow-y-auto custom-scrollbar`,children:(0,d.jsx)(`textarea`,{ref:_,value:h,onChange:e=>g(e.target.value),onPaste:k,onKeyDown:ye,onFocus:()=>re(!0),className:`w-full bg-transparent border-0 outline-none text-text-200 dark:text-text-100 text-[16px] resize-none overflow-hidden py-1 leading-relaxed block font-normal antialiased`,rows:1,autoFocus:!0,style:{minHeight:`1.5em`}})}),(0,d.jsx)(`div`,{className:`absolute left-0 top-0 w-full h-full pointer-events-none flex items-center`,children:(0,d.jsx)(u.AnimatePresence,{mode:`wait`,children:te&&!B&&!h&&(0,d.jsx)(u.motion.span,{className:`absolute left-0 top-1/2 -translate-y-1/2 text-text-400 select-none pointer-events-none text-[16px] font-normal`,style:{whiteSpace:`nowrap`,overflow:`hidden`,textOverflow:`ellipsis`},variants:Cn,initial:`initial`,animate:`animate`,exit:`exit`,children:Sn[z].split(``).map((e,t)=>(0,d.jsx)(u.motion.span,{variants:wn,style:{display:`inline-block`},children:e===` `?`\xA0`:e},t))},z)})})]}),I&&(0,d.jsxs)(`div`,{className:`relative flex shrink !shrink-0 group`,children:[(0,d.jsx)(`button`,{onClick:e=>{e.stopPropagation(),F()},disabled:t,className:`transition-all duration-200 h-8 w-8 flex items-center justify-center rounded-full active:scale-95
|
|
29
29
|
${P?`text-red-500 bg-red-500/10 animate-pulse`:`text-text-400 hover:text-text-200 hover:bg-bg-200`}
|
|
30
30
|
`,"aria-label":P?`Stop listening`:`Voice input`,children:(0,d.jsx)(Z.Mic,{className:`w-5 h-5`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:P?`Stop listening`:`Voice input`})})]}),m.length>0&&(0,d.jsxs)(`div`,{className:`relative flex shrink !shrink-0 group`,children:[(0,d.jsx)(`button`,{onClick:e=>{e.stopPropagation(),p()},disabled:t,className:`transition-all duration-200 h-8 w-8 flex items-center justify-center rounded-full active:scale-95 text-text-400 hover:text-text-200 hover:bg-bg-200`,"aria-label":`New chat`,children:(0,d.jsx)(Z.SquarePen,{className:`w-5 h-5`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:`New chat`})})]}),(0,d.jsxs)(`div`,{className:`relative flex shrink !shrink-0 group`,children:[t?(0,d.jsx)(`button`,{onClick:e=>{e.stopPropagation(),i()},className:`inline-flex items-center justify-center shrink-0 transition-colors h-8 w-8 rounded-full active:scale-95 bg-red-500 text-white hover:bg-red-600 shadow-md`,type:`button`,"aria-label":`Stop generating`,children:(0,d.jsx)(Z.Stop,{className:`w-3.5 h-3.5 fill-current`})}):(0,d.jsx)(`button`,{onClick:e=>{e.stopPropagation(),ve()},disabled:!be,className:`inline-flex items-center justify-center shrink-0 transition-all duration-200 h-8 w-8 rounded-full active:scale-95
|
|
31
31
|
${be?`bg-accent text-bg-0 hover:bg-accent-hover shadow-md`:`bg-bg-300 text-text-400 cursor-default opacity-50`}
|
|
32
|
-
`,type:`button`,"aria-label":`Send message`,children:(0,d.jsx)(Z.ArrowUp,{className:`w-4 h-4`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:t?`Stop generating`:`Send message`})})]})]})]}),(0,d.jsx)(u.AnimatePresence,{children:le&&U>0&&(0,d.jsx)(u.motion.div,{ref:e=>{e&&v.current&&v.current.contains(e)},initial:{opacity:0,y:ue===`above`?4:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:ue===`above`?4:-4},transition:{duration:.12},className:`absolute left-2 right-2 md:left-0 md:right-0 z-20 rounded-2xl bg-gray-50 dark:bg-[#30302E] border border-bg-300 dark:border-transparent shadow-xl overflow-hidden ${ue===`above`?`bottom-full`:`top-full`}`,onMouseDown:e=>e.preventDefault(),children:(0,d.jsxs)(`ul`,{className:`max-h-72 overflow-y-auto custom-scrollbar py-1`,children:[oe.map((e,t)=>(0,d.jsx)(`li`,{children:(0,d.jsxs)(`button`,{type:`button`,onMouseEnter:()=>V(t),onClick:()=>ge(e),className:`w-full text-left px-4 py-1.5 text-[15px] flex items-center gap-3 transition-colors ${t===ce?`bg-bg-200 text-text-100`:`text-text-200 hover:bg-bg-100 dark:hover:bg-[#3A3A38]`}`,children:[(0,d.jsx)(`span`,{className:`w-5 h-5 flex items-center justify-center rounded bg-bg-200 dark:bg-[#3A3A38] text-[11px] font-semibold text-text-400 shrink-0`,children:t+1}),(0,d.jsx)(`img`,{src:e.favicon,alt:``,className:`w-4 h-4 rounded-sm shrink-0`}),(0,d.jsx)(`span`,{className:`truncate font-medium`,children:e.name||e.domain}),(0,d.jsx)(`span`,{className:`truncate text-[13px] text-text-400 shrink-0`,children:e.domain}),Number.isFinite(e.rank)&&e.rank<2**53-1&&(0,d.jsxs)(`span`,{className:`ml-auto shrink-0 px-1.5 py-0.5 rounded-full text-[10px] font-semibold tabular-nums bg-bg-200 dark:bg-[#3A3A38] text-text-400`,children:[`#`,e.rank.toLocaleString()]})]})},`domain-${e.domain}`)),ie.map((e,t)=>{let n=oe.length+t;return(0,d.jsx)(`li`,{children:(0,d.jsxs)(`button`,{type:`button`,onMouseEnter:()=>V(n),onClick:()=>he(e),className:`w-full text-left px-4 py-1.5 text-[15px] flex items-center gap-3 transition-colors ${n===ce?`bg-bg-200 text-text-100`:`text-text-200 hover:bg-bg-100 dark:hover:bg-[#3A3A38]`}`,children:[(0,d.jsx)(`span`,{className:`w-5 h-5 flex items-center justify-center rounded bg-bg-200 dark:bg-[#3A3A38] text-[11px] font-semibold text-text-400 shrink-0`,children:n+1}),(0,d.jsx)(s.Search,{className:`w-4 h-4 text-text-400 shrink-0`}),(0,d.jsx)(`span`,{className:`truncate`,children:e})]})},`${e}-${t}`)})]})})}),C&&(0,d.jsxs)(`div`,{className:`absolute inset-0 bg-bg-200/90 border-2 border-dashed border-accent rounded-[28px] z-50 flex flex-col items-center justify-center backdrop-blur-sm pointer-events-none`,children:[(0,d.jsx)(Z.Archive,{className:`w-10 h-10 text-accent mb-2 animate-bounce`}),(0,d.jsx)(`p`,{className:`text-accent font-medium`,children:`Drop files to upload`})]})]})},Tn=n.forwardRef(({className:e,...t},n)=>(0,d.jsx)(`span`,{ref:n,className:j(`absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0`,e),style:{clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`},...t}));Tn.displayName=`VisuallyHidden`;var En=({onClose:e})=>(0,d.jsx)(`div`,{className:`flex items-center justify-between bg-secondary px-4 py-3 border-b border-border`,children:(0,d.jsx)(`button`,{onClick:e,className:`rounded-md p-1 hover:bg-accent transition-colors`,children:(0,d.jsx)(s.X,{className:`h-5 w-5`})})}),Dn=(0,x.cva)(`inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-2xl text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border-[1.5px] bg-background hover:bg-accent hover:text-accent-foreground dark:bg-card dark:hover:bg-card/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Q({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,d.jsx)(r?b.Slot:`button`,{"data-slot":`button`,className:j(Dn({variant:t,size:n,className:e})),...i})}var On={ask:{alt:!0,key:`a`},suggest:{alt:!0,key:`s`},copy:{alt:!0,key:`c`},highlight:{alt:!0,key:`h`},favorite:{alt:!0,key:`f`},open:{alt:!0,key:`o`},zoomOut:{alt:!0,key:`-`},zoomReset:{alt:!0,key:`0`},zoomIn:{alt:!0,key:`=`},close:{alt:!1,key:`Escape`}},kn=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent||``);function An(e){let{alt:t,key:n}=On[e],r=n===`Escape`?`Esc`:n.length===1?n.toUpperCase():n;return t?kn?`⌥${r}`:`Alt+${r}`:r}var jn=j(`h-9 w-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),$=({label:e,action:t,children:n})=>(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:n}),(0,d.jsx)(J,{side:`bottom`,children:(0,d.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,d.jsx)(`span`,{children:e}),t&&(0,d.jsx)(`kbd`,{className:`rounded bg-primary-foreground/20 px-1 py-0.5 text-[10px] font-semibold leading-none tracking-wide`,children:An(t)})]})})]}),Mn=({isLoadingAI:e,isLoadingFollowups:t,isLoadingFavorite:n,isFavorited:r,isHighlightMode:i,articleUrl:a,fontScale:o,onAskClick:c,onSuggestClick:l,onCopyClick:u,onShareClick:f,onFavoriteClick:p,onHighlightToggle:m,onZoomIn:h,onZoomOut:g,onZoomReset:_,onClose:v})=>{let y=h||g,b=Math.round((o??1)*100);return(0,d.jsxs)(`div`,{className:`flex flex-nowrap items-center gap-1 rounded-2xl border border-muted bg-gradient-to-b from-background to-muted/30 p-1 shadow-sm`,children:[(0,d.jsx)($,{label:`Ask AI about this article`,action:`ask`,children:(0,d.jsxs)(Q,{onClick:c,disabled:e,variant:`ghost`,size:`sm`,className:j(`flex items-center gap-2 px-3 h-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:[(0,d.jsx)(s.Bot,{className:`size-4`}),(0,d.jsx)(`span`,{className:`font-medium`,children:e?`...`:`Ask`})]})}),(0,d.jsx)($,{label:`Suggest follow-up questions`,action:`suggest`,children:(0,d.jsxs)(Q,{onClick:l,disabled:t,variant:`ghost`,size:`sm`,className:j(`flex items-center gap-2 px-3 h-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:[(0,d.jsx)(s.MessageCircleQuestion,{className:`size-4`}),(0,d.jsx)(`span`,{className:`font-medium`,children:`Suggest`})]})}),(0,d.jsx)($,{label:`Copy article`,action:`copy`,children:(0,d.jsx)(Q,{onClick:u,variant:`ghost`,size:`icon`,className:jn,children:(0,d.jsx)(s.Clipboard,{className:`size-4`})})}),(0,d.jsx)($,{label:`Share article`,children:(0,d.jsx)(Q,{onClick:f,variant:`ghost`,size:`icon`,className:jn,children:(0,d.jsx)(s.Share2,{className:`size-4`})})}),(0,d.jsx)($,{label:i?`Disable highlighting`:`Enable highlighting`,action:`highlight`,children:(0,d.jsx)(Q,{onClick:m,variant:`ghost`,size:`icon`,className:j(`h-9 w-9 rounded-xl transition-all duration-200`,i?`text-yellow-500 bg-yellow-50 dark:bg-yellow-950/30 hover:bg-yellow-100 dark:hover:bg-yellow-950/50`:`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:(0,d.jsx)(s.Highlighter,{className:`size-4`})})}),(0,d.jsx)($,{label:r?`Remove from favorites`:`Add to favorites`,action:`favorite`,children:(0,d.jsx)(Q,{onClick:p,disabled:n,variant:`ghost`,size:`icon`,className:j(`h-9 w-9 rounded-xl transition-all duration-200`,r?`text-yellow-500 hover:text-yellow-600 hover:bg-yellow-50 dark:hover:bg-yellow-950/30`:`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:(0,d.jsx)(s.Star,{className:j(`size-4`,r&&`fill-yellow-400`)})})}),a&&(0,d.jsx)($,{label:`Open in new tab`,action:`open`,children:(0,d.jsx)(Q,{asChild:!0,variant:`ghost`,size:`icon`,className:jn,children:(0,d.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,children:(0,d.jsx)(s.ExternalLink,{className:`size-4`})})})}),y&&(0,d.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5 rounded-xl border border-muted/60 bg-muted/20 px-1`,children:[(0,d.jsx)($,{label:`Zoom out`,action:`zoomOut`,children:(0,d.jsx)(Q,{onClick:g,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground transition-all duration-200 hover:bg-muted/80 hover:text-foreground`,children:(0,d.jsx)(s.ZoomOut,{className:`size-4`})})}),(0,d.jsx)($,{label:`Reset zoom`,action:`zoomReset`,children:(0,d.jsxs)(`button`,{type:`button`,onClick:_,className:`min-w-[3rem] rounded-md px-1 text-center text-xs font-medium tabular-nums text-muted-foreground transition-colors hover:text-foreground`,children:[b,`%`]})}),(0,d.jsx)($,{label:`Zoom in`,action:`zoomIn`,children:(0,d.jsx)(Q,{onClick:h,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground transition-all duration-200 hover:bg-muted/80 hover:text-foreground`,children:(0,d.jsx)(s.ZoomIn,{className:`size-4`})})})]}),(0,d.jsx)($,{label:`Close`,action:`close`,children:(0,d.jsx)(Q,{onClick:v,variant:`ghost`,size:`icon`,className:j(jn,!y&&`ml-auto`),children:(0,d.jsx)(s.X,{className:`size-4`})})})]})},Nn=({value:e,onChange:t,onSubmit:n})=>(0,d.jsx)(`div`,{className:`relative`,children:(0,d.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),onKeyDown:e=>e.key===`Enter`&&n(),type:`text`,placeholder:`Ask AI any question...`,className:`w-full px-3 py-2 text-sm rounded-md border border-input bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring`})}),Pn=({questions:e,isLoading:r,error:i,onQuestionClick:a})=>{let o=n.default.useMemo(()=>{let t=[];return e.forEach(e=>{e.includes(`?`)&&e.split(`?`).length>2?e.split(`?`).map(e=>e.trim()).filter(Boolean).forEach(e=>{t.push(e.endsWith(`?`)?e:`${e}?`)}):t.push(e)}),t},[e]);return(0,d.jsxs)(d.Fragment,{children:[o.length>0&&(0,d.jsxs)(`div`,{className:`space-y-3 bg-accent/30 rounded-lg p-4 border border-primary/20`,children:[(0,d.jsx)(`h3`,{className:`text-sm font-bold text-primary mb-2`,children:`💡 Suggested Follow-up Questions`}),(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsx)(`div`,{onClick:()=>a(t.researchAgentUIConfig.defaultSummarizePrompt),className:`cursor-pointer rounded-md p-3 text-sm font-semibold hover:bg-primary/10 bg-background border border-primary/30 transition-all hover:border-primary shadow-sm hover:shadow-md`,children:t.researchAgentUIConfig.defaultSummarizePrompt}),o.map((e,t)=>(0,d.jsx)(`div`,{onClick:()=>a(e),className:`cursor-pointer rounded-md p-3 text-sm font-semibold hover:bg-primary/10 bg-background border border-border transition-all hover:border-primary shadow-sm hover:shadow-md`,dangerouslySetInnerHTML:{__html:e}},t))]})]}),r&&(0,d.jsx)(`div`,{className:`flex justify-center`,children:(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500`})}),i&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:i})]})},Fn=({response:e,isLoading:t,error:n})=>(0,d.jsxs)(d.Fragment,{children:[t&&(0,d.jsx)(`div`,{className:`flex justify-center`,children:(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500`})}),e&&(0,d.jsx)(`div`,{ref:e=>{},className:`bg-muted rounded-lg shadow-md p-4`,dangerouslySetInnerHTML:{__html:e}}),n&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:n})]}),In=({html:e,isHighlightMode:t=!1,fontScale:r=1})=>{let[i,a]=(0,n.useState)(``);return(0,n.useEffect)(()=>{a(T.default.sanitize(e||``,{ADD_TAGS:[`figure`,`figcaption`],ADD_ATTR:[`loading`]}))},[e]),(0,d.jsx)(`div`,{className:[`prose prose-neutral dark:prose-invert max-w-none`,`prose-p:leading-[1.9] prose-li:leading-[1.9] prose-p:my-5 prose-li:my-1.5`,`prose-headings:font-semibold prose-headings:tracking-tight prose-headings:leading-snug`,`prose-h1:mt-8 prose-h2:mt-8 prose-h3:mt-6`,`prose-blockquote:leading-[1.8] prose-blockquote:border-l-2`,`prose-img:rounded-lg prose-img:my-6`,t?`select-text`:``].join(` `),style:{fontSize:`${r}em`,fontFamily:`ui-serif, Georgia, Cambria, "Times New Roman", Times, serif`},dangerouslySetInnerHTML:{__html:i}})},Ln=({article:e,isHighlightMode:t,fontScale:n=1})=>(0,d.jsx)(`div`,{className:`border-t border-border pt-6`,children:(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`flex items-start justify-between mb-2`}),e.cite&&(0,d.jsx)(`div`,{className:`mb-3 text-sm text-muted-foreground`,dangerouslySetInnerHTML:{__html:e.cite}}),(0,d.jsx)(`div`,{className:`mb-3 text-xs text-muted-foreground space-y-1`,children:e.word_count&&(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`span`,{className:`font-semibold`,children:`Words:`}),` `,e.word_count.toLocaleString()]})}),(0,d.jsx)(`div`,{id:`article-content`,children:(0,d.jsx)(In,{html:e.html||``,isHighlightMode:t,fontScale:n})})]})}),Rn=/(?:https?:\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/g,zn=/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;function Bn(e){return e.includes(`](`)||e.includes(`)[`)?!1:/\.(com|org|net|io|dev|co|uk|de|fr|it|es|jp|cn|in|br|au|ca|us|gov|edu|mil|int|xyz|info|app|tech|online|site|website|store|shop|blog|news|tv|me|cc|ws|name|mobi|asia|tel|travel|jobs|pro|museum|coop|aero|arpa|biz|cat|jobs|post|tel|xxx|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)(?:\/|$)/i.test(e)}function Vn(e){return/^https?:\/\//i.test(e)?e:`https://${e}`}function Hn(e){if(!e||typeof e!=`string`)return e;let t=e,n=[],r;for(zn.lastIndex=0;(r=zn.exec(t))!==null;){let e=r[0],i=r.index,a=t.substring(0,i),o=t.substring(i+e.length);!a.endsWith(`](`)&&!o.startsWith(`)`)&&n.push({email:e,index:i})}for(let e=n.length-1;e>=0;e--){let{email:r,index:i}=n[e];t=t.substring(0,i)+`[${r}](mailto:${r})`+t.substring(i+r.length)}let i=[],a;for(Rn.lastIndex=0;(a=Rn.exec(t))!==null;){let e=a[0],n=a.index;if(zn.test(e))continue;let r=t.substring(0,n),o=t.substring(n+e.length);if(r.endsWith(`](`)||o.startsWith(`)`)||(r.match(/```/g)||[]).length%2!=0)continue;let s=r.lastIndexOf("`");if(s!==-1){let e=t.substring(s+1).indexOf("`");if(e!==-1&&e>n-s-1)continue}Bn(e)&&i.push({url:e,index:n})}for(let e=i.length-1;e>=0;e--){let{url:n,index:r}=i[e],a=Vn(n);t=t.substring(0,r)+`[${n}](${a})`+t.substring(r+n.length)}return t}function Un(e){return!e||e.startsWith(`http://`)||e.startsWith(`https://`)||e.includes(`://`)?!1:e.startsWith(`/`)||e.startsWith(`#`)}function Wn(e,t){if(t.startsWith(`#`)){e.preventDefault();let n=t.substring(1),r=document.getElementById(n);r&&r.scrollIntoView({behavior:`smooth`,block:`start`})}}function Gn({code:e}){let[t,r]=(0,n.useState)(!1),i=(0,n.useCallback)(async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){console.error(`Failed to copy:`,e)}},[e]);return(0,d.jsx)(`button`,{onClick:i,className:j(`absolute top-3 right-3 p-1.5 rounded-md`,`opacity-0 group-hover:opacity-100 transition-opacity duration-150`,`bg-zinc-200/80 hover:bg-zinc-300 dark:bg-zinc-700/80 dark:hover:bg-zinc-600`,`text-zinc-600 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200`,`focus:outline-none focus:ring-1 focus:ring-zinc-400 dark:focus:ring-zinc-500`),"aria-label":t?`Copied!`:`Copy code`,children:t?(0,d.jsx)(s.Check,{className:`h-4 w-4 text-green-600 dark:text-green-400`}):(0,d.jsx)(s.Copy,{className:`h-4 w-4`})})}function Kn({children:e}){let t=(0,n.useRef)(null),[r,i]=(0,n.useState)(``);return(0,n.useEffect)(()=>{if(t.current){let e=t.current.querySelector(`code`);if(e){let t=e.textContent||``;i(t.trim())}}},[e]),(0,d.jsxs)(`div`,{className:`relative group my-5`,children:[(0,d.jsx)(`pre`,{ref:t,className:j(`p-4 rounded-xl overflow-x-auto`,`bg-zinc-100 dark:bg-zinc-900`,`border border-zinc-200 dark:border-zinc-800`,`text-[13px] font-mono leading-relaxed`,`text-zinc-800 dark:text-zinc-200`,`[&_code]:bg-transparent [&_code]:text-inherit [&_code]:p-0`),children:e}),r&&(0,d.jsx)(Gn,{code:r})]})}var qn=n.default.memo(({content:e,className:t,isStreaming:n=!1})=>{if(!e)return(0,d.jsx)(`div`,{className:j(`text-muted-foreground text-sm`,t),children:`No content`});let r=Hn(e);return(0,d.jsx)(`div`,{className:j(`kortix-markdown`,t),children:(0,d.jsx)(D.Streamdown,{isAnimating:n,components:{h1:({children:e})=>(0,d.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight text-foreground mt-8 mb-4 first:mt-0 pb-2 border-b border-border/40`,children:e}),h2:({children:e})=>(0,d.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight text-foreground mt-8 mb-3 first:mt-0`,children:e}),h3:({children:e})=>(0,d.jsx)(`h3`,{className:`text-lg font-semibold text-foreground mt-6 mb-2 first:mt-0`,children:e}),h4:({children:e})=>(0,d.jsx)(`h4`,{className:`text-base font-semibold text-foreground mt-5 mb-2 first:mt-0`,children:e}),h5:({children:e})=>(0,d.jsx)(`h5`,{className:`text-sm font-semibold text-foreground mt-4 mb-1 first:mt-0`,children:e}),h6:({children:e})=>(0,d.jsx)(`h6`,{className:`text-sm font-medium text-muted-foreground mt-4 mb-1 first:mt-0 uppercase tracking-wide`,children:e}),p:({children:e})=>(0,d.jsx)(`p`,{className:`text-sm text-foreground leading-relaxed my-4 first:mt-0 last:mb-0 [&:has(img)]:my-0`,children:e}),ul:({children:e})=>(0,d.jsx)(`ul`,{className:`my-4 ml-6 list-disc marker:text-muted-foreground/60 space-y-2 first:mt-0 last:mb-0 text-sm`,children:e}),ol:({children:e})=>(0,d.jsx)(`ol`,{className:`my-4 ml-6 list-decimal marker:text-muted-foreground/60 marker:font-medium space-y-2 first:mt-0 last:mb-0 text-sm`,children:e}),li:({children:e})=>(0,d.jsx)(`li`,{className:`text-sm text-foreground leading-relaxed pl-1`,children:e}),a:({href:e,children:t})=>{let n=Un(e),r=e?.startsWith(`#`),i=j(`font-medium text-foreground`,`underline decoration-foreground/30 underline-offset-[3px] decoration-[1px]`,`hover:decoration-foreground/60 transition-colors duration-150`);return r?(0,d.jsx)(`a`,{href:e,onClick:t=>Wn(t,e),className:i,children:t}):n?(0,d.jsx)(E.default,{href:e||`#`,className:i,children:t}):(0,d.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:i,children:t})},code:({children:e,className:t})=>t?.includes(`language-`)?(0,d.jsx)(`code`,{className:`text-[13px] leading-relaxed text-inherit`,children:e}):(0,d.jsx)(`code`,{className:`px-2 py-1 rounded-md text-[13px] font-mono bg-card dark:bg-[#161618] border border-neutral-200 dark:border-neutral-700/50 text-foreground`,children:e}),pre:({children:e})=>(0,d.jsx)(Kn,{children:e}),blockquote:({children:e})=>(0,d.jsx)(`blockquote`,{className:j(`my-5 pl-4 py-1 text-sm`,`border-l-2 border-border`,`text-muted-foreground`,`[&>p]:my-2`),children:e}),hr:()=>(0,d.jsx)(`hr`,{className:`my-8 border-0 h-px bg-border/60`}),table:({children:e})=>(0,d.jsx)(`div`,{className:`my-5 overflow-x-auto rounded-xl border border-border/60`,children:(0,d.jsx)(`table`,{className:`w-full text-sm`,children:e})}),thead:({children:e})=>(0,d.jsx)(`thead`,{className:`bg-muted/50 dark:bg-muted/30 border-b border-border/60`,children:e}),tbody:({children:e})=>(0,d.jsx)(`tbody`,{className:`divide-y divide-border/40`,children:e}),tr:({children:e})=>(0,d.jsx)(`tr`,{className:`transition-colors hover:bg-muted/30`,children:e}),th:({children:e})=>(0,d.jsx)(`th`,{className:`px-4 py-3 text-left text-xs font-semibold text-foreground uppercase tracking-wider`,children:e}),td:({children:e})=>(0,d.jsx)(`td`,{className:`px-4 py-3 text-foreground`,children:e}),img:({src:e,alt:t})=>e?(0,d.jsxs)(`span`,{className:`block my-5`,children:[(0,d.jsx)(`img`,{src:e,alt:t||``,className:j(`max-w-full h-auto rounded-xl`,`border border-border/40`,`shadow-sm`),loading:`lazy`}),t&&(0,d.jsx)(`span`,{className:`block mt-2 text-center text-sm text-muted-foreground`,children:t})]}):null,strong:({children:e})=>(0,d.jsx)(`strong`,{className:`font-semibold text-foreground`,children:e}),em:({children:e})=>(0,d.jsx)(`em`,{className:`italic text-foreground/90`,children:e}),del:({children:e})=>(0,d.jsx)(`del`,{className:`line-through text-muted-foreground decoration-muted-foreground/50`,children:e}),input:({checked:e,...t})=>(0,d.jsx)(`input`,{type:`checkbox`,checked:e,readOnly:!0,className:j(`mr-2 h-4 w-4 rounded border-border`,`accent-secondary cursor-default`,`align-middle relative -top-[1px]`),...t}),div:({children:e,style:t,className:n,...r})=>(0,d.jsx)(`div`,{className:j(`text-sm text-foreground`,n),style:t,...r,children:e}),span:({children:e,style:t,className:n,...r})=>(0,d.jsx)(`span`,{className:j(`text-foreground`,n),style:t,...r,children:e})},children:r})})});qn.displayName=`UnifiedMarkdown`;function Jn(e){return e instanceof Error&&e.name===`AbortError`}async function Yn(e,t){if(t.share)try{return await t.share(e),`shared`}catch(e){if(Jn(e))return`cancelled`}return await t.writeText(e.url),`copied`}var Xn=e=>{let{isOpen:r,url:i,searchText:a,panelWidth:o,setPanelWidth:s,closePanel:l}=I(),{isAuthenticated:u}=Ze(),{chatModelProvider:f}=G(),p=e.isOpen===void 0?r:e.isOpen,h=e.onClose||l,g=e.url||i,_=e.searchText===void 0?a:e.searchText,[v,y]=(0,n.useState)(null),[b,x]=(0,n.useState)([]),[S,C]=(0,n.useState)(!1),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(t.researchAgentUIConfig.defaultSummarizePrompt),[O,k]=(0,n.useState)(!1),[A,j]=(0,n.useState)(!1),[M,N]=(0,n.useState)(!1),[P,F]=(0,n.useState)(``),[L,R]=(0,n.useState)(``),[z,ee]=(0,n.useState)([]),[te,ne]=(0,n.useState)(``),[B,re]=(0,n.useState)(!1),[ie,oe]=(0,n.useState)(!1),[se,ce]=(0,n.useState)(!1),[H,ue]=(0,n.useState)(!1),[de,fe]=(0,n.useState)(o),[pe,me]=(0,n.useState)(!1),[he,ge]=(0,n.useState)(!1),[U,_e]=(0,n.useState)(1),ve=(0,n.useRef)(null),ye=(0,n.useRef)({}),be=.5,xe=1.8,Se=.1;(0,n.useEffect)(()=>{let e=parseFloat(localStorage.getItem(`articleFontScale`)||``);Number.isNaN(e)||_e(Math.min(xe,Math.max(be,e)))},[]);let Ce=e=>{let t=Math.min(xe,Math.max(be,Math.round(e*100)/100));_e(t);try{localStorage.setItem(`articleFontScale`,String(t))}catch(e){console.error(`Error storing article font scale:`,e)}},we=()=>Ce(U+Se),Te=()=>Ce(U-Se),Ee=()=>Ce(1);(0,n.useEffect)(()=>{let e=()=>{ue(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{let e=e=>{if(!pe)return;let t=window.innerWidth-e.clientX,n=Math.max(400,Math.min(t,window.innerWidth-100));fe(n),s(n)},t=()=>{me(!1)};return pe&&(document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),document.body.style.cursor=`ew-resize`,document.body.style.userSelect=`none`),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t),document.body.style.cursor=``,document.body.style.userSelect=``}},[pe,s]),(0,n.useEffect)(()=>{p&&g?(ge(!1),De()):p||ge(!1)},[p,g]);let De=async()=>{console.log(`[ArticleExtractPanel] Extracting URL:`,g);try{let e=new URL(g);if([/^https?:\/\/(www\.)?google\.[^/]+\/search/i,/^https?:\/\/(www\.)?bing\.com\/search/i,/^https?:\/\/(www\.)?duckduckgo\.com\/\?/i].some(e=>e.test(g))){m.toast.error(`Cannot extract articles from search result pages`),k(!1),ge(!0);return}(e.pathname===`/`||e.pathname===``)&&(console.error(`[ArticleExtractPanel] URL is domain-only, missing article path:`,g),m.toast.error(`Invalid article URL - only domain provided`))}catch(e){console.error(`[ArticleExtractPanel] Invalid URL format:`,g,e)}k(!0);try{let{data:e}=await(0,c.getArticle)({query:{url:g}}),t=e?.article,n=t?.html?.replace(/<[^>]*>/g,``).trim()||``;t?.error||n.length<20?(document.dispatchEvent(new CustomEvent(`onInvokeChromeAPI`,{detail:{type:`extractURL`,url:g}})),await Promise.race([new Promise(e=>{let t=async n=>{window.removeEventListener(`onExtractionResult`,t);let{data:r}=await(0,c.getArticle)({query:{url:g}}),i=r?.article;i&&(y(i),i.followUpQuestions?.length>0&&ee(i.followUpQuestions)),e()};window.addEventListener(`onExtractionResult`,t)}),new Promise(e=>setTimeout(e,1e4))])):(y(t),t?.followUpQuestions&&t.followUpQuestions.length>0&&ee(t.followUpQuestions)),u&&Oe()}catch(e){console.error(`[ArticleExtractPanel] Error extracting URL:`,e),m.toast.error(`Failed to load article`)}finally{k(!1),ge(!0)}},Oe=async()=>{try{let{data:e}=await(0,c.listFavorites)(),t=e?.favorites?.some(e=>e.url===g);re(!!t)}catch(e){console.error(`Error checking favorite status:`,e)}},ke=async()=>{if(v){oe(!0);try{B?(await(0,c.removeFavorite)({query:{url:g}}),re(!1),m.toast.info(`Removed from favorites`)):(await(0,c.addFavorite)({body:{url:v.url||g,title:v.title,cite:v.cite,author:v.author,author_cite:v.author_cite,date:v.date,source:v.source,word_count:v.word_count,html:v.html}}),re(!0),m.toast.success(`Added to favorites`))}catch(e){console.error(`Error toggling favorite:`,e),m.toast.error(`Failed to toggle favorite`)}finally{oe(!1)}}},Ae=()=>{if(f?.key&&f?.providerId)return f;try{let e=localStorage.getItem(`chatModelKey`)||``,t=localStorage.getItem(`chatModelProviderId`)||``;if(e&&t)return{key:e,providerId:t}}catch(e){console.error(`Error reading persisted chat model:`,e)}return f},W=async e=>{if(!v)return;let n=Ae(),r=v.html?.replace(/<[^>]*>?/g,``).slice(0,t.researchAgentUIConfig.maxArticleLength),i=e===`question`,a=i?j:N,o=i?R:ne;a(!0),o(``);try{if(i){let e=[_,E].filter(Boolean).join(`
|
|
33
|
-
`);if(!r||r.length===0)throw Error(`Article content is empty`);let{data:t,error:i}=await(0,c.articleQa)({body:{article:r,question:e,chatHistory:b.slice(-5),chatModel:n}});if(i){let e=i.details||i.error||i.message||`Article QA failed`;throw Error(e)}let a=t?.content||``;F(a),x(e=>[...e,{role:`user`,content:E,time:new Date().toISOString()},{role:`assistant`,content:a,time:new Date().toISOString()}]);try{await(0,c.updateArticle)({body:{url:g,question:E,answer:a}})}catch(e){console.error(`Error storing Q&A in cache:`,e)}}else{let e=parseInt(localStorage.getItem(`maxFollowupQuestions`)||`4`);if(!r||r.length===0)throw Error(`Article content is empty`);let{data:t,error:i}=await(0,c.articleFollowups)({body:{article:r,chatHistory:b.slice(-5),maxQuestions:e,chatModel:n}});if(i){let e=i.details||i.error||i.message||`Article followups failed`;throw Error(e)}let a=t?.extract||[];ee(a);try{await(0,c.updateArticle)({body:{url:g,followUpQuestions:a}})}catch(e){console.error(`Error storing follow-up questions in cache:`,e)}}}catch(e){console.error(`Error calling language API:`,e),o(e instanceof Error||typeof e==`object`&&e&&`message`in e?e.message:`Failed to get AI response`)}finally{a(!1)}},je=e=>{D(e),W(`question`)},Me=async()=>{if(!v)return;let e=`${P}\n\n\n${v.cite||``}\n\n\n${v.html}`;try{await navigator.clipboard.writeText(e),C(!0),setTimeout(()=>C(!1),2e3)}catch(e){console.error(`Failed to copy to clipboard:`,e)}},Ne=async()=>{let e=v?.url||g;if(e)try{await Yn({title:v?.title,text:v?.cite,url:e},{share:typeof navigator<`u`&&navigator.share?e=>navigator.share(e):void 0,writeText:e=>navigator.clipboard.writeText(e)})===`copied`&&(T(!0),setTimeout(()=>T(!1),2e3))}catch(e){console.error(`Failed to share article:`,e)}};ye.current={ask:()=>W(`question`),suggest:()=>W(`suggest-followups`),copy:Me,highlight:()=>ce(e=>!e),favorite:ke,open:()=>{let e=v?.url||g;e&&window.open(e,`_blank`,`noopener,noreferrer`)},zoomIn:we,zoomOut:Te,zoomReset:Ee,close:h},(0,n.useEffect)(()=>{if(!p)return;let e=e=>/^[a-z]$/.test(e)?`Key${e.toUpperCase()}`:/^[0-9]$/.test(e)?`Digit${e}`:e===`-`?`Minus`:e===`=`?`Equal`:e,t={};Object.keys(On).forEach(n=>{let{alt:r,key:i}=On[n];r&&(t[e(i.toLowerCase())]=n)});let n=e=>{if(e.key===`Escape`){ye.current.close?.();return}if(!e.altKey||e.ctrlKey||e.metaKey)return;let n=e.target;if(n&&(n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable))return;let r=t[e.code];if(!r)return;let i=ye.current[r];i&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[p]);let Pe=()=>(0,d.jsxs)(`div`,{className:`flex h-full flex-col bg-background shadow-xl`,children:[(0,d.jsx)(`div`,{className:`shrink-0 border-b border-border bg-background/95 px-4 py-3 backdrop-blur supports-[backdrop-filter]:bg-background/80`,children:(0,d.jsx)(Mn,{isLoadingAI:A,isLoadingFollowups:M,isLoadingFavorite:ie,isFavorited:B,isHighlightMode:se,articleUrl:v?.url||g,fontScale:U,onAskClick:()=>W(`question`),onSuggestClick:()=>W(`suggest-followups`),onCopyClick:Me,onShareClick:Ne,onFavoriteClick:ke,onHighlightToggle:()=>ce(!se),onZoomIn:we,onZoomOut:Te,onZoomReset:Ee,onClose:h})}),(0,d.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,d.jsxs)(`div`,{className:`p-4 space-y-6`,children:[(0,d.jsxs)(`div`,{className:`space-y-4`,children:[S&&(0,d.jsx)(`div`,{className:`bg-blue-500 text-white text-sm font-medium px-3 py-2 rounded-md shadow-lg`,children:`Copied!`}),w&&(0,d.jsx)(`div`,{className:`bg-blue-500 text-white text-sm font-medium px-3 py-2 rounded-md shadow-lg`,children:`Link copied!`}),(0,d.jsx)(Nn,{value:E,onChange:D,onSubmit:()=>W(`question`)}),(0,d.jsx)(Pn,{questions:z,isLoading:M,error:te,onQuestionClick:je}),b.length>0&&(0,d.jsx)(`div`,{className:`space-y-4`,children:b.map((e,t)=>(0,d.jsx)(`div`,{className:`space-y-2`,children:e.role===`user`?(0,d.jsxs)(`div`,{className:`bg-primary/10 border border-primary/20 rounded-lg p-3`,children:[(0,d.jsx)(`div`,{className:`text-xs font-semibold text-primary mb-1`,children:`Your Question`}),(0,d.jsx)(`div`,{className:`text-sm text-foreground`,children:e.content})]}):(0,d.jsxs)(`div`,{className:`bg-muted rounded-lg shadow-md p-4`,children:[(0,d.jsx)(`div`,{className:`text-xs font-semibold text-muted-foreground mb-2`,children:`AI Response`}),(0,d.jsx)(`div`,{className:`text-sm`,dangerouslySetInnerHTML:{__html:e.content}})]})},t))}),(A||P&&b.length===0)&&(0,d.jsx)(Fn,{response:P,isLoading:A,error:L}),L&&!A&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:L})]}),v&&(0,d.jsx)(Ln,{article:v,isHighlightMode:se,fontScale:U})]})})]});return!p||!he?null:H?(0,d.jsxs)(`div`,{className:`fixed top-0 right-0 h-screen z-40 transition-all duration-300`,style:{width:`${de}px`},children:[(0,d.jsx)(`div`,{ref:ve,onMouseDown:()=>me(!0),className:`absolute left-0 top-0 bottom-0 w-1 cursor-ew-resize hover:bg-primary bg-transparent transition-colors z-50`,style:{touchAction:`none`},children:(0,d.jsx)(`div`,{className:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-12 rounded-full bg-muted-foreground opacity-50 hover:opacity-100 transition-opacity`})}),Pe()]}):(0,d.jsx)(ae,{open:p,onOpenChange:e=>!e&&h(),children:(0,d.jsxs)(V,{className:`pointer-events-auto fixed inset-0 !top-0 !left-0 !translate-x-0 !translate-y-0 h-full w-full max-w-none p-0 m-0 rounded-none border-0 overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right`,hideCloseButton:!0,children:[(0,d.jsx)(Tn,{children:(0,d.jsx)(le,{children:`Article Details`})}),(0,d.jsx)(`div`,{className:`h-full overflow-y-auto`,children:Pe()})]})})},Zn=()=>{let{sections:e,chatTurns:r,loading:i,messageAppeared:a,newChat:o,chatId:s}=G(),{isOpen:c,panelWidth:l}=I(),{isAuthenticated:u}=Ze(),[f,p]=(0,n.useState)(!1),m=(0,n.useRef)(null),h=(0,n.useRef)(null),g=(0,n.useRef)(!1);(0,n.useEffect)(()=>{let e=()=>{p(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{if(r.length===1&&(document.title=`${r[0].content.substring(0,30)} - ${t.researchAgentUIConfig.appName}`),r[r.length-1]?.role===`user`){g.current=!0,h.current?.scrollIntoView({behavior:`auto`}),setTimeout(()=>{g.current=!1},100);return}},[r]);let _=f&&c?{width:`calc(100% - ${l}px)`}:{};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`flex flex-col min-h-full transition-all duration-300`,style:_,children:[(0,d.jsxs)(`div`,{className:`flex-1 flex flex-col space-y-3 pb-48 ${f&&!c?`px-0 max-w-[800px] mx-auto w-full`:`px-4 lg:px-8`}`,children:[e.map((t,r)=>{let i=r===e.length-1;return(0,d.jsxs)(n.Fragment,{children:[(0,d.jsx)(It,{section:t,sectionIndex:r,dividerRef:i?m:void 0,isLast:i}),!i&&(0,d.jsx)(`div`,{className:`h-px w-full bg-light-secondary dark:bg-dark-secondary`})]},t.userMessage.messageId)}),i&&!a&&(0,d.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,d.jsx)(`div`,{style:{height:`200px`,width:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,d.jsx)(S.default,{autoRandomize:!0,onSphereClick:()=>console.log(`Sphere clicked`),className:`my-custom-class`})})}),(0,d.jsx)(`div`,{ref:h,className:`h-0`})]}),(0,d.jsx)(`div`,{className:`sticky bottom-[60px] md:bottom-0 z-40 bg-gradient-to-t from-background via-background to-transparent pt-4 pb-2`,children:(0,d.jsx)(wn,{})})]}),(0,d.jsx)(Xn,{})]})};function Qn({radius:e=60,opacityDecay:t=.025,backgroundColor:r=`transparent`,color:i,colorGenerator:a}){let o=(0,n.useRef)(null),s=(0,n.useRef)({x:0,y:0}),c=(0,n.useRef)([]),l=()=>[Math.floor(Math.random()*130+10),Math.floor(.5*Math.random()*50),Math.floor(.5*Math.random()*255)],u=()=>i||a?.()||l();return(0,n.useEffect)(()=>{let n=o.current;if(!n)return;let i=n.getContext(`2d`);if(!i)return;let a=0,l=()=>{n.width=window.innerWidth,n.height=window.innerHeight};l();let d=()=>{i.globalCompositeOperation=`source-over`,r===`transparent`?i.clearRect(0,0,n.width,n.height):(i.fillStyle=r,i.fillRect(0,0,n.width,n.height)),i.globalCompositeOperation=`lighter`;let o={col:u(),x:s.current.x,y:s.current.y,grdblur:i.createRadialGradient(s.current.x,s.current.y,0,s.current.x,s.current.y,e),alpha:1};c.current.push(o);let l=[];for(let n=0;n<c.current.length;n++){let r=c.current[n];r.grdblur.addColorStop(0,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.95)`),r.grdblur.addColorStop(.2,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.7)`),r.grdblur.addColorStop(.5,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.3)`),r.grdblur.addColorStop(1,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0)`),i.beginPath(),i.fillStyle=r.grdblur,i.globalAlpha=r.alpha,i.arc(r.x,r.y,e,0,Math.PI*2),i.fill(),r.alpha-=t,r.alpha<=0&&l.push(n)}for(let e=l.length-1;e>=0;e--)c.current.splice(l[e],1);i.globalAlpha=1,a=requestAnimationFrame(d)},f=e=>{s.current.x=e.pageX,s.current.y=e.pageY},p=e=>{s.current.x=e.touches[0].pageX,s.current.y=e.touches[0].pageY};return window.addEventListener(`mousemove`,f),window.addEventListener(`touchmove`,p,{passive:!0}),window.addEventListener(`resize`,l),d(),()=>{cancelAnimationFrame(a),window.removeEventListener(`mousemove`,f),window.removeEventListener(`touchmove`,p),window.removeEventListener(`resize`,l),c.current=[]}},[e,t,r,i,a]),(0,d.jsx)(`div`,{className:`relative w-full h-screen overflow-hidden pointer-events-none`,children:(0,d.jsx)(`canvas`,{ref:o,className:`absolute inset-0`,style:{background:`transparent`}})})}var $n=`qwksearch_pinned_chats`;function er(e){let t=e.messages?.[e.messages.length-1],n=t&&`createdAt`in t?t.createdAt:void 0;if(n){let e=new Date(n).getTime();if(!Number.isNaN(e))return new Date(e).toISOString()}return e.createdAt}function tr(){if(typeof window>`u`)return[];try{let e=localStorage.getItem($n);return e?JSON.parse(e):[]}catch{return[]}}function nr(e){typeof window>`u`||localStorage.setItem($n,JSON.stringify(e))}function rr(){let[e,t]=(0,n.useState)([]),[r,i]=(0,n.useState)(!0),[a,o]=(0,n.useState)(!1),[s,l]=(0,n.useState)(null),[u,d]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[h,g]=(0,n.useState)(!1),[_,v]=(0,n.useState)([]),[y,b]=(0,n.useState)(``),[x,S]=(0,n.useState)([]),[C,w]=(0,n.useState)(!1),{isAuthenticated:T,isLoading:E}=Ze(),{incognito:D,setIncognito:O}=G();(0,n.useEffect)(()=>{v(tr())},[]);let k=(0,n.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),v(e=>{let n=e.includes(t)?e.filter(e=>e!==t):[...e,t];return nr(n),n})},[]),A=(0,n.useMemo)(()=>[...e].sort((e,t)=>{let n=_.includes(e.id),r=_.includes(t.id);return n&&!r?-1:!n&&r?1:0}),[e,_]),j=(0,n.useMemo)(()=>y.trim()?x:A,[y,x,A]),M=(0,n.useCallback)(async()=>{if(!E){i(!0);try{if(T){let{data:e,error:n}=await(0,c.listChats)();if(n&&n.status===401){let e=je().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:er(e)}));t(e);return}if(n)throw Error(`Failed to fetch chats: ${n.message}`);t(Array.isArray(e?.chats)?e.chats:[])}else{let e=je().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0}));t(e)}}catch(e){console.error(`Failed to fetch chat history:`,e),t([]),m.toast.error(`Failed to load chat history`)}finally{i(!1)}}},[T,E]);(0,n.useEffect)(()=>{M()},[M]);let N=(e,t)=>{e.preventDefault(),e.stopPropagation(),l(t),o(!0)},P=async()=>{if(s){d(!0);try{if(T){let{error:e}=await(0,c.deleteChatById)({path:{id:s}});if(e)throw Error(`Failed to delete chat: ${e.message}`)}else Pe(s);t(e=>e.filter(e=>e.id!==s)),m.toast.success(`Chat deleted`)}catch(e){m.toast.error(e.message||`Failed to delete chat`)}finally{o(!1),l(null),d(!1)}}},F=()=>{p(!0)},I=async()=>{g(!0);try{if(T){let{error:e}=await(0,c.deleteAllChats)();if(e)throw Error(`Failed to clear history: ${e.message}`)}else Fe();t([]),m.toast.success(`All history cleared`)}catch(e){m.toast.error(e.message||`Failed to clear history`)}finally{p(!1),g(!1)}},L=()=>{O(!D),m.toast.success(D?`Private mode off`:`Private mode on — messages won't be saved`)},R=(0,n.useCallback)(async e=>{if(!e.trim()){S([]),w(!1);return}w(!0);try{if(T){let{data:t,error:n}=await(0,c.searchChats)({query:{q:e}});if(n)throw Error(`Failed to search chats: ${n.message}`);S(Array.isArray(t?.chats)?t.chats:[])}else{let t=je().filter(t=>{let n=t.title.toLowerCase().includes(e.toLowerCase()),r=t.messages?.some(t=>`content`in t&&t.content?.toLowerCase().includes(e.toLowerCase()));return n||r});S(t.map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:er(e)})))}}catch(e){console.error(`Failed to search chat history:`,e),S([]),m.toast.error(`Failed to search chat history`)}finally{w(!1)}},[T]);return(0,n.useEffect)(()=>{let e=setTimeout(()=>{R(y)},300);return()=>clearTimeout(e)},[y,R]),{chats:e,sortedChats:A,displayChats:j,loading:r,pinnedIds:_,togglePin:k,incognito:D,toggleIncognito:L,searchQuery:y,searchResults:x,searching:C,handleSearchChange:(0,n.useCallback)(e=>{b(e)},[]),deleteDialogOpen:a,setDeleteDialogOpen:o,chatToDelete:s,setChatToDelete:l,deleting:u,handleDeleteClick:N,handleConfirmDelete:P,clearAllDialogOpen:f,setClearAllDialogOpen:p,clearingAll:h,handleClearAllClick:F,handleConfirmClearAll:I}}function ir({incognito:e,onToggleIncognito:t,showClearAll:n,onClearAll:r,searchQuery:i,onSearchChange:a}){return(0,d.jsxs)(`div`,{className:`mb-2 pb-2 border-b border-border space-y-2`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium text-muted-foreground/80 uppercase tracking-wide`,children:`Chat History`}),(0,d.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,d.jsxs)(`button`,{onClick:t,className:`flex items-center gap-1 px-2 py-1 text-xs rounded-lg transition-colors duration-200 ${e?`text-primary bg-primary/10`:`text-muted-foreground hover:text-foreground hover:bg-secondary`}`,title:e?`Private mode on`:`Private mode`,children:[(0,d.jsx)(s.Lock,{size:12}),(0,d.jsx)(`span`,{children:`Private`})]}),n&&(0,d.jsxs)(`button`,{onClick:r,className:`flex items-center gap-1 px-2 py-1 text-xs text-muted-foreground hover:text-red-500 hover:bg-red-500/10 rounded-lg transition-colors duration-200`,title:`Clear all history`,children:[(0,d.jsx)(s.Trash2,{size:12}),(0,d.jsx)(`span`,{children:`Clear All`})]})]})]}),(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(s.Search,{className:`absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground`,size:14}),(0,d.jsx)(`input`,{type:`text`,placeholder:`Search chats...`,value:i,onChange:e=>a(e.target.value),className:`w-full pl-7 pr-7 py-1.5 text-sm bg-secondary/50 border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary/50 placeholder:text-muted-foreground/50`}),i&&(0,d.jsx)(`button`,{onClick:()=>a(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,d.jsx)(s.X,{size:14})})]})]})}function ar({chat:e,isPinned:n,onTogglePin:r,onDelete:i}){let a=e.messageCount??0;return(0,d.jsxs)(`div`,{className:`group flex items-center gap-1 px-2 py-1 rounded-lg hover:bg-secondary transition-colors duration-200`,children:[(0,d.jsxs)(E.default,{href:`/c/${e.id}`,onClick:n=>{t.researchAgentUIConfig.onOpenChat?.(e.id)&&n.preventDefault()},className:`flex-1 min-w-0 flex items-center gap-1.5`,children:[(0,d.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,children:[a>0&&(0,d.jsxs)(Pt,{className:`px-1.5 py-0 text-[10px] font-medium bg-zinc-200 text-zinc-700 hover:bg-zinc-200 dark:bg-zinc-700 dark:text-zinc-300 dark:hover:bg-zinc-700 border-0 rounded-md`,children:[a,`Q`]}),(0,d.jsx)(Pt,{className:`px-1.5 py-0 text-[10px] font-medium bg-zinc-100 text-zinc-500 hover:bg-zinc-100 dark:bg-zinc-800 dark:text-zinc-400 dark:hover:bg-zinc-800 border-0 rounded-md`,children:N(new Date,e.createdAt)})]}),(0,d.jsxs)(`p`,{className:`text-xs text-popover-foreground truncate`,children:[n&&(0,d.jsx)(s.Pin,{size:10,className:`inline mr-1 text-primary`}),e.title]})]}),(0,d.jsx)(`button`,{onClick:t=>r(t,e.id),className:`p-1.5 rounded-lg transition-all duration-200 ${n?`opacity-100 text-primary hover:bg-primary/10`:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-primary hover:bg-primary/10`}`,title:n?`Unpin chat`:`Pin chat`,children:(0,d.jsx)(s.Pin,{size:14})}),(0,d.jsx)(`button`,{onClick:t=>i(t,e.id),className:`opacity-0 group-hover:opacity-100 p-1.5 rounded-lg hover:bg-red-500/10 text-muted-foreground hover:text-red-500 transition-all duration-200`,title:`Delete chat`,children:(0,d.jsx)(s.Trash,{size:14})})]})}function or({open:e,onOpenChange:t,title:n,description:r,confirmLabel:i,loadingLabel:a,loading:o,onConfirm:s}){return(0,d.jsx)(ae,{open:e,onOpenChange:e=>{!e&&!o&&t(!1)},children:(0,d.jsxs)(V,{className:`w-full max-w-md transform rounded-2xl bg-light-secondary dark:bg-dark-secondary border border-light-200 dark:border-dark-200 p-6 text-left align-middle shadow-xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6 dark:text-white`,children:n}),(0,d.jsx)(H,{className:`text-sm dark:text-white/70 text-black/70 mt-2`,children:r}),(0,d.jsxs)(`div`,{className:`flex flex-row items-end justify-end space-x-4 mt-6`,children:[(0,d.jsx)(`button`,{onClick:()=>{o||t(!1)},className:`text-black/50 dark:text-white/50 text-sm hover:text-black/70 hover:dark:text-white/70 transition duration-200`,children:`Cancel`}),(0,d.jsx)(`button`,{onClick:s,disabled:o,className:`text-red-400 text-sm hover:text-red-500 transition duration-200 disabled:opacity-50`,children:o?a:i})]})]})})}function sr({deleteDialogOpen:e,setDeleteDialogOpen:t,chatToDelete:n,setChatToDelete:r,deleting:i,onConfirmDelete:a,clearAllDialogOpen:o,setClearAllDialogOpen:s,clearingAll:c,onConfirmClearAll:l}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(or,{open:e,onOpenChange:e=>{t(e),e||r(null)},title:`Delete Confirmation`,description:`Are you sure you want to delete this chat?`,confirmLabel:`Delete`,loadingLabel:`Deleting...`,loading:i,onConfirm:a}),(0,d.jsx)(or,{open:o,onOpenChange:s,title:`Clear All History`,description:`Are you sure you want to delete all your chat history? This action cannot be undone.`,confirmLabel:`Clear All`,loadingLabel:`Clearing...`,loading:c,onConfirm:l})]})}var cr={Today:(0,d.jsx)(s.Sun,{size:12}),Yesterday:(0,d.jsx)(s.Clock,{size:12}),"This Week":(0,d.jsx)(s.CalendarDays,{size:12}),Older:(0,d.jsx)(s.Archive,{size:12})};function lr(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(n.getTime()-864e5),i=new Date(n.getTime()-5184e5),a={Today:[],Yesterday:[],"This Week":[],Older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?a.Today.push(t):e>=r?a.Yesterday.push(t):e>=i?a[`This Week`].push(t):a.Older.push(t)}return[`Today`,`Yesterday`,`This Week`,`Older`].filter(e=>a[e].length>0).map(e=>({label:e,chats:a[e]}))}var ur=({showLabel:e=!1})=>{let t=rr();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(ae,{children:[(0,d.jsxs)(oe,{className:e?`inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs text-muted-foreground bg-secondary hover:bg-secondary/80 hover:text-foreground transition-colors duration-150`:`p-2 text-muted-foreground rounded-2xl bg-background/60 backdrop-blur-md hover:bg-secondary/80 transition duration-200 hover:text-foreground border border-border/30`,children:[(0,d.jsx)(s.History,{size:e?14:18}),e&&(0,d.jsx)(`span`,{children:`History`})]}),(0,d.jsxs)(V,{className:`max-w-[420px] p-3`,children:[(0,d.jsx)(le,{className:`sr-only`,children:`Chat History`}),(0,d.jsx)(ir,{incognito:t.incognito,onToggleIncognito:t.toggleIncognito,showClearAll:t.chats.length>0&&!t.loading,onClearAll:t.handleClearAllClick,searchQuery:t.searchQuery,onSearchChange:t.handleSearchChange}),t.loading||t.searching?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsxs)(`svg`,{"aria-hidden":`true`,className:`w-6 h-6 text-light-200 fill-light-secondary dark:text-[#202020] animate-spin dark:fill-[#ffffff3b]`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,d.jsx)(`path`,{d:`M100 50.5908C100.003 78.2051 78.1951 100.003 50.5908 100C22.9765 99.9972 0.997224 78.018 1 50.4037C1.00281 22.7993 22.8108 0.997224 50.4251 1C78.0395 1.00281 100.018 22.8108 100 50.4251ZM9.08164 50.594C9.06312 73.3997 27.7909 92.1272 50.5966 92.1457C73.4023 92.1642 92.1298 73.4365 92.1483 50.6308C92.1669 27.8251 73.4392 9.0973 50.6335 9.07878C27.8278 9.06026 9.10003 27.787 9.08164 50.594Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4037 97.8624 35.9116 96.9801 33.5533C95.1945 28.8227 92.871 24.3692 90.0681 20.348C85.6237 14.1775 79.4473 9.36872 72.0454 6.45794C64.6435 3.54717 56.3134 2.65431 48.3133 3.89319C45.869 4.27179 44.3768 6.77534 45.014 9.20079C45.6512 11.6262 48.1343 13.0956 50.5786 12.717C56.5073 11.8281 62.5542 12.5399 68.0406 14.7911C73.527 17.0422 78.2187 20.7487 81.5841 25.4923C83.7976 28.5886 85.4467 32.059 86.4416 35.7474C87.1273 38.1189 89.5423 39.6781 91.9676 39.0409Z`,fill:`currentFill`})]})}):t.searchQuery.trim()&&t.displayChats.length===0?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No matching chats found.`})}):t.chats.length===0?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No chats found.`})}):(0,d.jsx)(`div`,{className:`space-y-1 max-h-[500px] overflow-y-auto`,children:t.searchQuery.trim()?t.displayChats.map(e=>(0,d.jsx)(ar,{chat:e,isPinned:t.pinnedIds.includes(e.id),onTogglePin:t.togglePin,onDelete:t.handleDeleteClick},e.id)):lr(t.displayChats).map(({label:e,chats:n})=>(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-muted-foreground/70 uppercase tracking-wider`,children:[cr[e],e]}),n.map(e=>(0,d.jsx)(ar,{chat:e,isPinned:t.pinnedIds.includes(e.id),onTogglePin:t.togglePin,onDelete:t.handleDeleteClick},e.id))]},e))}),t.chats.length>0&&(0,d.jsx)(`div`,{className:`mt-2 pt-2 border-t border-border`,children:(0,d.jsx)(E.default,{href:`/library`,className:`block text-center text-xs text-primary hover:underline`,children:`View all chats`})})]})]}),(0,d.jsx)(sr,{deleteDialogOpen:t.deleteDialogOpen,setDeleteDialogOpen:t.setDeleteDialogOpen,chatToDelete:t.chatToDelete,setChatToDelete:t.setChatToDelete,deleting:t.deleting,onConfirmDelete:t.handleConfirmDelete,clearAllDialogOpen:t.clearAllDialogOpen,setClearAllDialogOpen:t.setClearAllDialogOpen,clearingAll:t.clearingAll,onConfirmClearAll:t.handleConfirmClearAll})]})},dr=e=>new Date(e.lastMessageAt||e.createdAt).getTime();function fr(){let{chats:e,loading:n}=rr(),r=[...e].sort((e,t)=>dr(t)-dr(e)).slice(0,5);return n||r.length===0?null:(0,d.jsxs)(`div`,{className:`flex flex-row items-center justify-center gap-2 flex-wrap`,children:[(0,d.jsx)(ur,{showLabel:!0}),r.map(e=>{let n=pn(e.lastMessageAt||e.createdAt);return(0,d.jsxs)(E.default,{href:`/c/${e.id}`,onClick:n=>{t.researchAgentUIConfig.onOpenChat?.(e.id)&&n.preventDefault()},className:`flex items-center gap-1.5 px-3 py-1 rounded-full text-xs text-muted-foreground bg-secondary hover:bg-secondary/80 hover:text-foreground transition-colors duration-150 max-w-[220px]`,title:e.title,children:[(0,d.jsx)(`span`,{className:`truncate`,children:e.title}),n&&(0,d.jsx)(`span`,{className:`italic text-muted-foreground/70 whitespace-nowrap`,children:n})]},e.id)})]})}function pr({listFooterLinks:e=[],optionShowIcons:t=!0,optionBackgroundColor:r=`bg-black/40`}){let[i,a]=(0,n.useState)(!1),o=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!i)return;let e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let c=()=>e.map(({url:e,text:n,icon:r,onClick:i})=>{let a=r?s[r]:null,o=e.startsWith(`http`),c=o?{target:`_blank`,rel:`noopener noreferrer`}:{},l=(0,d.jsxs)(d.Fragment,{children:[t&&a&&(0,d.jsx)(a,{size:14}),(0,d.jsx)(`span`,{className:`font-semibold tracking-wide text-md`,style:{fontVariant:`small-caps`},children:n}),(0,d.jsx)(`span`,{className:`absolute bottom-0 left-0 w-0 h-0.5 bg-current transition-all duration-300 group-hover:w-full group-hover:shadow-[0_0_8px_rgba(255,255,255,0.6)]`})]});return i?(0,d.jsx)(`button`,{type:`button`,onClick:i,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e):o?(0,d.jsx)(`a`,{href:e,...c,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e):(0,d.jsx)(E.default,{href:e,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e)}),l=s.Info;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`hidden md:flex absolute bottom-2 left-1/2 -translate-x-1/2 text-slate-200 text-xs z-20 ${r} rounded-lg px-2 py-1 shadow-lg hover:shadow-xl hover:-translate-y-1 transition-all duration-300 flex-wrap items-center justify-center gap-x-6 max-w-[90vw]`,children:(0,d.jsx)(`div`,{className:`max-w-4xl mx-auto grid grid-cols-3 gap-2`,children:c()})}),(0,d.jsxs)(`div`,{ref:o,className:`md:hidden fixed top-[calc(8px+env(safe-area-inset-top,0px))] right-2 z-30`,children:[i&&(0,d.jsx)(`div`,{className:`absolute top-full right-0 mt-2 text-slate-200 text-xs ${r} rounded-lg px-3 py-2 shadow-lg flex flex-col items-start gap-2 backdrop-blur-sm`,children:c()}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>a(e=>!e),"aria-label":i?`Hide links`:`Show links`,"aria-expanded":i,className:`flex items-center justify-center h-8 w-8 rounded-full text-slate-200 ${r} shadow-lg backdrop-blur-sm hover:text-white transition-all duration-300`,children:l?(0,d.jsx)(l,{size:16}):`i`})]})]})}function mr({open:e,onOpenChange:n}){return(0,d.jsx)(ae,{open:e,onOpenChange:n,children:(0,d.jsxs)(V,{className:`w-full max-w-md rounded-2xl bg-light-secondary dark:bg-dark-secondary border border-light-200 dark:border-dark-200 p-6 text-center align-middle shadow-xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6 dark:text-white`,children:`Download QwkSearch`}),(0,d.jsx)(H,{className:`text-sm dark:text-white/70 text-black/70 mt-2`,children:`Get QwkSearch on your browser or desktop.`}),(0,d.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-3 mt-6`,children:[(0,d.jsx)(O.DownloadAppButton,{platform:`chrome-extension`,href:t.researchAgentUIConfig.downloadChromeUrl,autoHighlight:!0}),(0,d.jsx)(O.DownloadAppButton,{platform:`windows`,appId:t.researchAgentUIConfig.downloadWindowsStoreId,autoHighlight:!0})]})]})})}function hr(){let e=`hyZbH3n.mp4,iOeZcCk.mp4,dUZlxYE.mp4,GpWeP6E.gif,LuKUsLE.png,w7X11Dd.png,MHmVtCr.png,HmnUAee.png,vKP22VU.png,l1lsV39.png,Ku8F2qc.png,KUEXtwm.png,vvKFPmY.png,5p8eaEf.png,VAKuJcG.png,sTMPtQW.png,m0gHbZZ.png,cKu7dWQ.png,ogfefYD.png,ey5vAae.png,twuLrvk.png,ELILiYt.png,9el5qpP.png,Up6xTkk.png,W1XKBo0.png,1Y6xvW0.png,JXOytMz.png,DNiI6pp.png,XDv5s6p.jpeg,eRwiRJ9.jpeg,DRAfJoc.jpeg,ASVRQ1G.jpeg,35svwUT.jpeg,81xLiVI.jpeg,6kod2Em.jpeg,eU0C8zt.jpeg,Bv0PBY8.jpeg,DQNbjIZ.jpeg,2uACPqZ.jpeg,XEKltMF.jpeg,WHgLfBm.jpeg,QFYM0Fw.jpeg,K12HCao.jpeg,oN8rtsE.jpeg,9fGnrns.jpeg,2ONJJeW.jpeg,DO23Va7.jpeg,QaKeoXk.jpeg,QU5oCBR.jpeg,MhlYZmh.jpeg,ylL1ToB.jpeg,AWWsCv8.jpeg,Tk9Tzzj.jpeg`.split(`,`);return`https://i.imgur.com/`+e[Math.floor(Math.random()*e.length)]}function gr(e){return e?e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>{let t=e.split(`,`).map(e=>e.trim()),n=Number(t[t.length-2]),r=Number(t[t.length-1]);return t.length>=2&&t[t.length-2]!==``&&t[t.length-1]!==``&&Number.isFinite(n)&&Number.isFinite(r)?{label:t.slice(0,t.length-2).filter(Boolean).join(`, `)||void 0,latitude:n,longitude:r}:{label:e}}):[]}function _r(){let{sendMessage:e}=G(),[r,i]=(0,n.useState)(null),[a,o]=(0,n.useState)(null),[s,c]=(0,n.useState)(!1),[l,u]=(0,n.useState)(!1),[f,p]=(0,n.useState)([]),[m,h]=(0,n.useState)(null),[g,_]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),b=t.researchAgentUIConfig.footerLinks.map(e=>e.url===`/#downloads`?{...e,onClick:()=>u(!0)}:e);(0,n.useEffect)(()=>{let e=()=>{p(gr(localStorage.getItem(`weatherLocations`))),h(localStorage.getItem(`trendingNewsApiUrl`)),_(localStorage.getItem(`orbHoverGlow`)===`true`),y(localStorage.getItem(`cursorGlowTrail`)===`true`)};return e(),window.addEventListener(`client-config-changed`,e),window.addEventListener(`storage`,e),()=>{window.removeEventListener(`client-config-changed`,e),window.removeEventListener(`storage`,e)}},[]),(0,n.useEffect)(()=>{if(localStorage.getItem(`showBackgroundArt`)===`false`)return;i(hr());let e=setInterval(()=>{let e=hr();o(e),c(!0),setTimeout(()=>{i(e),c(!1),o(null)},1e3)},2e4);return()=>clearInterval(e)},[]);let x=e=>e.endsWith(`.webm`)||e.endsWith(`.mp4`),C=(e,t)=>x(e)?(0,d.jsx)(`video`,{src:e,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 ${t}`},e):(0,d.jsx)(`img`,{src:e,alt:``,className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 ${t}`},e);return(0,d.jsxs)(`div`,{className:`relative min-h-screen w-full`,children:[(0,d.jsxs)(`div`,{className:`absolute inset-0 z-0`,children:[r&&C(r,s?`opacity-0`:`opacity-30`),a&&C(a,s?`opacity-30`:`opacity-0`),v&&(0,d.jsx)(Qn,{})]}),(0,d.jsx)(`div`,{className:`relative z-10`,children:(0,d.jsxs)(`div`,{className:`flex flex-col items-center justify-end md:justify-center min-h-[calc(100dvh-64px)] md:min-h-screen max-w-screen-sm mx-auto p-2 pb-1 md:pb-2`,children:[(0,d.jsx)(`div`,{style:{height:`200px`,width:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},className:g?void 0:`pointer-events-none`,children:(0,d.jsx)(S.default,{autoRandomize:!0,onSphereClick:()=>console.log(`Sphere clicked`),className:`my-custom-class`})}),(0,d.jsxs)(`div`,{className:`w-full max-w-2xl mt-8 space-y-2`,children:[(0,d.jsx)(fr,{}),(0,d.jsxs)(`div`,{className:`flex flex-col md:flex-row gap-2 w-full`,children:[(0,d.jsx)(k.WeatherForecast,{compact:!0,forecastDays:5,forecastHours:12,locations:f.length>0?f:void 0,className:`rounded-2xl`,style:{background:`rgba(255,255,255,0.08)`,border:`1px solid rgba(255,255,255,0.15)`,color:`inherit`,backdropFilter:`blur(8px)`}}),(0,d.jsx)(A.TrendingNews,{compact:!0,maxTopics:6,apiEndpoint:m||void 0,className:`rounded-2xl md:flex-1`,style:{background:`rgba(255,255,255,0.08)`,border:`1px solid rgba(255,255,255,0.15)`,color:`inherit`,backdropFilter:`blur(8px)`,maxWidth:`100%`}})]}),(0,d.jsx)(wn,{})]})]})}),(0,d.jsx)(pr,{listFooterLinks:b}),(0,d.jsx)(mr,{open:l,onOpenChange:u})]})}var vr=()=>(0,d.jsxs)(`svg`,{"aria-hidden":`true`,className:`w-8 h-8 text-border fill-secondary animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,d.jsx)(`path`,{d:`M100 50.5908C100.003 78.2051 78.1951 100.003 50.5908 100C22.9765 99.9972 0.997224 78.018 1 50.4037C1.00281 22.7993 22.8108 0.997224 50.4251 1C78.0395 1.00281 100.018 22.8108 100 50.4251ZM9.08164 50.594C9.06312 73.3997 27.7909 92.1272 50.5966 92.1457C73.4023 92.1642 92.1298 73.4365 92.1483 50.6308C92.1669 27.8251 73.4392 9.0973 50.6335 9.07878C27.8278 9.06026 9.10003 27.787 9.08164 50.594Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4037 97.8624 35.9116 96.9801 33.5533C95.1945 28.8227 92.871 24.3692 90.0681 20.348C85.6237 14.1775 79.4473 9.36872 72.0454 6.45794C64.6435 3.54717 56.3134 2.65431 48.3133 3.89319C45.869 4.27179 44.3768 6.77534 45.014 9.20079C45.6512 11.6262 48.1343 13.0956 50.5786 12.717C56.5073 11.8281 62.5542 12.5399 68.0406 14.7911C73.527 17.0422 78.2187 20.7487 81.5841 25.4923C83.7976 28.5886 85.4467 32.059 86.4416 35.7474C87.1273 38.1189 89.5423 39.6781 91.9676 39.0409Z`,fill:`currentFill`})]});function yr(){return(0,d.jsx)(`div`,{className:`flex min-h-screen flex-col items-center justify-center p-8`,children:(0,d.jsxs)(`div`,{className:`max-w-2xl w-full space-y-6 bg-light-secondary dark:bg-dark-secondary rounded-lg p-8 border border-black/10 dark:border-white/10`,children:[(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsx)(`h1`,{className:`text-2xl font-semibold text-black dark:text-white`,children:`⚠️ Configuration Required`}),(0,d.jsx)(`p`,{className:`text-black/70 dark:text-white/70`,children:`No AI model providers are configured. Add at least one API key to continue.`})]}),(0,d.jsxs)(`div`,{className:`space-y-4`,children:[(0,d.jsx)(`h2`,{className:`text-lg font-medium text-black dark:text-white`,children:`Quick Setup:`}),(0,d.jsxs)(`div`,{className:`space-y-3 text-sm`,children:[(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:`1. Create environment file:`}),(0,d.jsx)(`code`,{className:`block bg-black/10 dark:bg-white/10 rounded p-2 text-xs overflow-x-auto`,children:`apps/qwksearch-web/.env.local`})]}),(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:`2. Add required variables:`}),(0,d.jsx)(`pre`,{className:`block bg-black/10 dark:bg-white/10 rounded p-3 text-xs overflow-x-auto text-black/80 dark:text-white/80`,children:`# Database
|
|
32
|
+
`,type:`button`,"aria-label":`Send message`,children:(0,d.jsx)(Z.ArrowUp,{className:`w-4 h-4`})}),(0,d.jsx)(`div`,{className:`absolute bottom-full left-1/2 -translate-x-1/2 mb-2 px-2 py-1 bg-[#1F1E1D] dark:bg-[#EEEEEC] text-[11px] font-medium rounded-[6px] opacity-0 group-hover:opacity-100 transition-opacity whitespace-nowrap pointer-events-none z-50 shadow-sm tracking-wide`,children:(0,d.jsx)(`span`,{className:`text-[#ECECEC] dark:text-[#1F1E1D]`,children:t?`Stop generating`:`Send message`})})]})]})]}),(0,d.jsx)(u.AnimatePresence,{children:le&&U>0&&(0,d.jsx)(u.motion.div,{ref:e=>{e&&v.current&&v.current.contains(e)},initial:{opacity:0,y:ue===`above`?4:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:ue===`above`?4:-4},transition:{duration:.12},className:`absolute left-2 right-2 md:left-0 md:right-0 z-20 rounded-2xl bg-gray-50 dark:bg-[#30302E] border border-bg-300 dark:border-transparent shadow-xl overflow-hidden ${ue===`above`?`bottom-full`:`top-full`}`,onMouseDown:e=>e.preventDefault(),children:(0,d.jsxs)(`ul`,{className:`max-h-72 overflow-y-auto custom-scrollbar py-1`,children:[oe.map((e,t)=>(0,d.jsx)(`li`,{children:(0,d.jsxs)(`button`,{type:`button`,onMouseEnter:()=>V(t),onClick:()=>ge(e),className:`w-full text-left px-4 py-1.5 text-[15px] flex items-center gap-3 transition-colors ${t===ce?`bg-bg-200 text-text-100`:`text-text-200 hover:bg-bg-100 dark:hover:bg-[#3A3A38]`}`,children:[(0,d.jsx)(`span`,{className:`w-5 h-5 flex items-center justify-center rounded bg-bg-200 dark:bg-[#3A3A38] text-[11px] font-semibold text-text-400 shrink-0`,children:t+1}),(0,d.jsx)(`img`,{src:e.favicon,alt:``,className:`w-4 h-4 rounded-sm shrink-0`}),(0,d.jsx)(`span`,{className:`truncate font-medium`,children:e.name||e.domain}),(0,d.jsx)(`span`,{className:`truncate text-[13px] text-text-400 shrink-0`,children:e.domain}),Number.isFinite(e.rank)&&e.rank<2**53-1&&(0,d.jsxs)(`span`,{className:`ml-auto shrink-0 px-1.5 py-0.5 rounded-full text-[10px] font-semibold tabular-nums bg-bg-200 dark:bg-[#3A3A38] text-text-400`,children:[`#`,e.rank.toLocaleString()]})]})},`domain-${e.domain}`)),ie.map((e,t)=>{let n=oe.length+t;return(0,d.jsx)(`li`,{children:(0,d.jsxs)(`button`,{type:`button`,onMouseEnter:()=>V(n),onClick:()=>he(e),className:`w-full text-left px-4 py-1.5 text-[15px] flex items-center gap-3 transition-colors ${n===ce?`bg-bg-200 text-text-100`:`text-text-200 hover:bg-bg-100 dark:hover:bg-[#3A3A38]`}`,children:[(0,d.jsx)(`span`,{className:`w-5 h-5 flex items-center justify-center rounded bg-bg-200 dark:bg-[#3A3A38] text-[11px] font-semibold text-text-400 shrink-0`,children:n+1}),(0,d.jsx)(s.Search,{className:`w-4 h-4 text-text-400 shrink-0`}),(0,d.jsx)(`span`,{className:`truncate`,children:e})]})},`${e}-${t}`)})]})})}),C&&(0,d.jsxs)(`div`,{className:`absolute inset-0 bg-bg-200/90 border-2 border-dashed border-accent rounded-[28px] z-50 flex flex-col items-center justify-center backdrop-blur-sm pointer-events-none`,children:[(0,d.jsx)(Z.Archive,{className:`w-10 h-10 text-accent mb-2 animate-bounce`}),(0,d.jsx)(`p`,{className:`text-accent font-medium`,children:`Drop files to upload`})]})]})},En=n.forwardRef(({className:e,...t},n)=>(0,d.jsx)(`span`,{ref:n,className:j(`absolute w-px h-px p-0 -m-px overflow-hidden whitespace-nowrap border-0`,e),style:{clip:`rect(0, 0, 0, 0)`,clipPath:`inset(50%)`},...t}));En.displayName=`VisuallyHidden`;var Dn=({onClose:e})=>(0,d.jsx)(`div`,{className:`flex items-center justify-between bg-secondary px-4 py-3 border-b border-border`,children:(0,d.jsx)(`button`,{onClick:e,className:`rounded-md p-1 hover:bg-accent transition-colors`,children:(0,d.jsx)(s.X,{className:`h-5 w-5`})})}),On=(0,x.cva)(`inline-flex cursor-pointer items-center justify-center gap-2 whitespace-nowrap rounded-2xl text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border-[1.5px] bg-background hover:bg-accent hover:text-accent-foreground dark:bg-card dark:hover:bg-card/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 px-6 has-[>svg]:px-4`,icon:`size-9`}},defaultVariants:{variant:`default`,size:`default`}});function Q({className:e,variant:t,size:n,asChild:r=!1,...i}){return(0,d.jsx)(r?b.Slot:`button`,{"data-slot":`button`,className:j(On({variant:t,size:n,className:e})),...i})}var kn={ask:{alt:!0,key:`a`},suggest:{alt:!0,key:`s`},copy:{alt:!0,key:`c`},highlight:{alt:!0,key:`h`},favorite:{alt:!0,key:`f`},open:{alt:!0,key:`o`},zoomOut:{alt:!0,key:`-`},zoomReset:{alt:!0,key:`0`},zoomIn:{alt:!0,key:`=`},close:{alt:!1,key:`Escape`}},An=typeof navigator<`u`&&/Mac|iPhone|iPad|iPod/.test(navigator.platform||navigator.userAgent||``);function jn(e){let{alt:t,key:n}=kn[e],r=n===`Escape`?`Esc`:n.length===1?n.toUpperCase():n;return t?An?`⌥${r}`:`Alt+${r}`:r}var Mn=j(`h-9 w-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),$=({label:e,action:t,children:n})=>(0,d.jsxs)(K,{children:[(0,d.jsx)(q,{asChild:!0,children:n}),(0,d.jsx)(J,{side:`bottom`,children:(0,d.jsxs)(`span`,{className:`flex items-center gap-1.5`,children:[(0,d.jsx)(`span`,{children:e}),t&&(0,d.jsx)(`kbd`,{className:`rounded bg-primary-foreground/20 px-1 py-0.5 text-[10px] font-semibold leading-none tracking-wide`,children:jn(t)})]})})]}),Nn=({isLoadingAI:e,isLoadingFollowups:t,isLoadingFavorite:n,isFavorited:r,isHighlightMode:i,articleUrl:a,fontScale:o,onAskClick:c,onSuggestClick:l,onCopyClick:u,onShareClick:f,onFavoriteClick:p,onHighlightToggle:m,onZoomIn:h,onZoomOut:g,onZoomReset:_,onClose:v})=>{let y=h||g,b=Math.round((o??1)*100);return(0,d.jsxs)(`div`,{className:`flex flex-nowrap items-center gap-1 rounded-2xl border border-muted bg-gradient-to-b from-background to-muted/30 p-1 shadow-sm`,children:[(0,d.jsx)($,{label:`Ask AI about this article`,action:`ask`,children:(0,d.jsxs)(Q,{onClick:c,disabled:e,variant:`ghost`,size:`sm`,className:j(`flex items-center gap-2 px-3 h-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:[(0,d.jsx)(s.Bot,{className:`size-4`}),(0,d.jsx)(`span`,{className:`font-medium`,children:e?`...`:`Ask`})]})}),(0,d.jsx)($,{label:`Suggest follow-up questions`,action:`suggest`,children:(0,d.jsxs)(Q,{onClick:l,disabled:t,variant:`ghost`,size:`sm`,className:j(`flex items-center gap-2 px-3 h-9 rounded-xl transition-all duration-200`,`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:[(0,d.jsx)(s.MessageCircleQuestion,{className:`size-4`}),(0,d.jsx)(`span`,{className:`font-medium`,children:`Suggest`})]})}),(0,d.jsx)($,{label:`Copy article`,action:`copy`,children:(0,d.jsx)(Q,{onClick:u,variant:`ghost`,size:`icon`,className:Mn,children:(0,d.jsx)(s.Clipboard,{className:`size-4`})})}),(0,d.jsx)($,{label:`Share article`,children:(0,d.jsx)(Q,{onClick:f,variant:`ghost`,size:`icon`,className:Mn,children:(0,d.jsx)(s.Share2,{className:`size-4`})})}),(0,d.jsx)($,{label:i?`Disable highlighting`:`Enable highlighting`,action:`highlight`,children:(0,d.jsx)(Q,{onClick:m,variant:`ghost`,size:`icon`,className:j(`h-9 w-9 rounded-xl transition-all duration-200`,i?`text-yellow-500 bg-yellow-50 dark:bg-yellow-950/30 hover:bg-yellow-100 dark:hover:bg-yellow-950/50`:`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:(0,d.jsx)(s.Highlighter,{className:`size-4`})})}),(0,d.jsx)($,{label:r?`Remove from favorites`:`Add to favorites`,action:`favorite`,children:(0,d.jsx)(Q,{onClick:p,disabled:n,variant:`ghost`,size:`icon`,className:j(`h-9 w-9 rounded-xl transition-all duration-200`,r?`text-yellow-500 hover:text-yellow-600 hover:bg-yellow-50 dark:hover:bg-yellow-950/30`:`hover:bg-muted/80 hover:text-foreground text-muted-foreground`),children:(0,d.jsx)(s.Star,{className:j(`size-4`,r&&`fill-yellow-400`)})})}),a&&(0,d.jsx)($,{label:`Open in new tab`,action:`open`,children:(0,d.jsx)(Q,{asChild:!0,variant:`ghost`,size:`icon`,className:Mn,children:(0,d.jsx)(`a`,{href:a,target:`_blank`,rel:`noopener noreferrer`,children:(0,d.jsx)(s.ExternalLink,{className:`size-4`})})})}),y&&(0,d.jsxs)(`div`,{className:`ml-auto flex items-center gap-0.5 rounded-xl border border-muted/60 bg-muted/20 px-1`,children:[(0,d.jsx)($,{label:`Zoom out`,action:`zoomOut`,children:(0,d.jsx)(Q,{onClick:g,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground transition-all duration-200 hover:bg-muted/80 hover:text-foreground`,children:(0,d.jsx)(s.ZoomOut,{className:`size-4`})})}),(0,d.jsx)($,{label:`Reset zoom`,action:`zoomReset`,children:(0,d.jsxs)(`button`,{type:`button`,onClick:_,className:`min-w-[3rem] rounded-md px-1 text-center text-xs font-medium tabular-nums text-muted-foreground transition-colors hover:text-foreground`,children:[b,`%`]})}),(0,d.jsx)($,{label:`Zoom in`,action:`zoomIn`,children:(0,d.jsx)(Q,{onClick:h,variant:`ghost`,size:`icon`,className:`h-8 w-8 rounded-lg text-muted-foreground transition-all duration-200 hover:bg-muted/80 hover:text-foreground`,children:(0,d.jsx)(s.ZoomIn,{className:`size-4`})})})]}),(0,d.jsx)($,{label:`Close`,action:`close`,children:(0,d.jsx)(Q,{onClick:v,variant:`ghost`,size:`icon`,className:j(Mn,!y&&`ml-auto`),children:(0,d.jsx)(s.X,{className:`size-4`})})})]})},Pn=({value:e,onChange:t,onSubmit:n})=>(0,d.jsx)(`div`,{className:`relative`,children:(0,d.jsx)(`input`,{value:e,onChange:e=>t(e.target.value),onKeyDown:e=>e.key===`Enter`&&n(),type:`text`,placeholder:`Ask AI any question...`,className:`w-full px-3 py-2 text-sm rounded-md border border-input bg-background text-foreground focus:outline-none focus:ring-2 focus:ring-ring`})}),Fn=({questions:e,isLoading:r,error:i,onQuestionClick:a})=>{let o=n.default.useMemo(()=>{let t=[];return e.forEach(e=>{e.includes(`?`)&&e.split(`?`).length>2?e.split(`?`).map(e=>e.trim()).filter(Boolean).forEach(e=>{t.push(e.endsWith(`?`)?e:`${e}?`)}):t.push(e)}),t},[e]);return(0,d.jsxs)(d.Fragment,{children:[o.length>0&&(0,d.jsxs)(`div`,{className:`space-y-3 bg-accent/30 rounded-lg p-4 border border-primary/20`,children:[(0,d.jsx)(`h3`,{className:`text-sm font-bold text-primary mb-2`,children:`💡 Suggested Follow-up Questions`}),(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsx)(`div`,{onClick:()=>a(t.researchAgentUIConfig.defaultSummarizePrompt),className:`cursor-pointer rounded-md p-3 text-sm font-semibold hover:bg-primary/10 bg-background border border-primary/30 transition-all hover:border-primary shadow-sm hover:shadow-md`,children:t.researchAgentUIConfig.defaultSummarizePrompt}),o.map((e,t)=>(0,d.jsx)(`div`,{onClick:()=>a(e),className:`cursor-pointer rounded-md p-3 text-sm font-semibold hover:bg-primary/10 bg-background border border-border transition-all hover:border-primary shadow-sm hover:shadow-md`,dangerouslySetInnerHTML:{__html:e}},t))]})]}),r&&(0,d.jsx)(`div`,{className:`flex justify-center`,children:(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500`})}),i&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:i})]})},In=({response:e,isLoading:t,error:n})=>(0,d.jsxs)(d.Fragment,{children:[t&&(0,d.jsx)(`div`,{className:`flex justify-center`,children:(0,d.jsx)(`div`,{className:`animate-spin rounded-full h-8 w-8 border-b-2 border-blue-500`})}),e&&(0,d.jsx)(`div`,{ref:e=>{},className:`bg-muted rounded-lg shadow-md p-4`,dangerouslySetInnerHTML:{__html:e}}),n&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:n})]}),Ln=({html:e,isHighlightMode:t=!1,fontScale:r=1})=>{let[i,a]=(0,n.useState)(``);return(0,n.useEffect)(()=>{a(T.default.sanitize(e||``,{ADD_TAGS:[`figure`,`figcaption`],ADD_ATTR:[`loading`]}))},[e]),(0,d.jsx)(`div`,{className:[`prose prose-neutral dark:prose-invert max-w-none`,`prose-p:leading-[1.9] prose-li:leading-[1.9] prose-p:my-5 prose-li:my-1.5`,`prose-headings:font-semibold prose-headings:tracking-tight prose-headings:leading-snug`,`prose-h1:mt-8 prose-h2:mt-8 prose-h3:mt-6`,`prose-blockquote:leading-[1.8] prose-blockquote:border-l-2`,`prose-img:rounded-lg prose-img:my-6`,t?`select-text`:``].join(` `),style:{fontSize:`${r}em`,fontFamily:`ui-serif, Georgia, Cambria, "Times New Roman", Times, serif`},dangerouslySetInnerHTML:{__html:i}})},Rn=({article:e,isHighlightMode:t,fontScale:n=1})=>(0,d.jsx)(`div`,{className:`border-t border-border pt-6`,children:(0,d.jsxs)(`div`,{children:[(0,d.jsx)(`div`,{className:`flex items-start justify-between mb-2`}),e.cite&&(0,d.jsx)(`div`,{className:`mb-3 text-sm text-muted-foreground`,dangerouslySetInnerHTML:{__html:e.cite}}),(0,d.jsx)(`div`,{className:`mb-3 text-xs text-muted-foreground space-y-1`,children:e.word_count&&(0,d.jsxs)(`p`,{children:[(0,d.jsx)(`span`,{className:`font-semibold`,children:`Words:`}),` `,e.word_count.toLocaleString()]})}),(0,d.jsx)(`div`,{id:`article-content`,children:(0,d.jsx)(Ln,{html:e.html||``,isHighlightMode:t,fontScale:n})})]})}),zn=/(?:https?:\/\/)?(?:www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b(?:[-a-zA-Z0-9()@:%_\+.~#?&\/=]*)/g,Bn=/[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}/g;function Vn(e){return e.includes(`](`)||e.includes(`)[`)?!1:/\.(com|org|net|io|dev|co|uk|de|fr|it|es|jp|cn|in|br|au|ca|us|gov|edu|mil|int|xyz|info|app|tech|online|site|website|store|shop|blog|news|tv|me|cc|ws|name|mobi|asia|tel|travel|jobs|pro|museum|coop|aero|arpa|biz|cat|jobs|post|tel|xxx|ac|ad|ae|af|ag|ai|al|am|ao|aq|ar|as|at|aw|ax|az|ba|bb|bd|be|bf|bg|bh|bi|bj|bm|bn|bo|br|bs|bt|bv|bw|by|bz|ca|cc|cd|cf|cg|ch|ci|ck|cl|cm|cn|co|cr|cu|cv|cw|cx|cy|cz|de|dj|dk|dm|do|dz|ec|ee|eg|eh|er|es|et|eu|fi|fj|fk|fm|fo|fr|ga|gb|gd|ge|gf|gg|gh|gi|gl|gm|gn|gp|gq|gr|gs|gt|gu|gw|gy|hk|hm|hn|hr|ht|hu|id|ie|il|im|in|io|iq|ir|is|it|je|jm|jo|jp|ke|kg|kh|ki|km|kn|kp|kr|kw|ky|kz|la|lb|lc|li|lk|lr|ls|lt|lu|lv|ly|ma|mc|md|me|mg|mh|mk|ml|mm|mn|mo|mp|mq|mr|ms|mt|mu|mv|mw|mx|my|mz|na|nc|ne|nf|ng|ni|nl|no|np|nr|nu|nz|om|pa|pe|pf|pg|ph|pk|pl|pm|pn|pr|ps|pt|pw|py|qa|re|ro|rs|ru|rw|sa|sb|sc|sd|se|sg|sh|si|sj|sk|sl|sm|sn|so|sr|ss|st|su|sv|sx|sy|sz|tc|td|tf|tg|th|tj|tk|tl|tm|tn|to|tr|tt|tv|tw|tz|ua|ug|uk|um|us|uy|uz|va|vc|ve|vg|vi|vn|vu|wf|ws|ye|yt|za|zm|zw)(?:\/|$)/i.test(e)}function Hn(e){return/^https?:\/\//i.test(e)?e:`https://${e}`}function Un(e){if(!e||typeof e!=`string`)return e;let t=e,n=[],r;for(Bn.lastIndex=0;(r=Bn.exec(t))!==null;){let e=r[0],i=r.index,a=t.substring(0,i),o=t.substring(i+e.length);!a.endsWith(`](`)&&!o.startsWith(`)`)&&n.push({email:e,index:i})}for(let e=n.length-1;e>=0;e--){let{email:r,index:i}=n[e];t=t.substring(0,i)+`[${r}](mailto:${r})`+t.substring(i+r.length)}let i=[],a;for(zn.lastIndex=0;(a=zn.exec(t))!==null;){let e=a[0],n=a.index;if(Bn.test(e))continue;let r=t.substring(0,n),o=t.substring(n+e.length);if(r.endsWith(`](`)||o.startsWith(`)`)||(r.match(/```/g)||[]).length%2!=0)continue;let s=r.lastIndexOf("`");if(s!==-1){let e=t.substring(s+1).indexOf("`");if(e!==-1&&e>n-s-1)continue}Vn(e)&&i.push({url:e,index:n})}for(let e=i.length-1;e>=0;e--){let{url:n,index:r}=i[e],a=Hn(n);t=t.substring(0,r)+`[${n}](${a})`+t.substring(r+n.length)}return t}function Wn(e){return!e||e.startsWith(`http://`)||e.startsWith(`https://`)||e.includes(`://`)?!1:e.startsWith(`/`)||e.startsWith(`#`)}function Gn(e,t){if(t.startsWith(`#`)){e.preventDefault();let n=t.substring(1),r=document.getElementById(n);r&&r.scrollIntoView({behavior:`smooth`,block:`start`})}}function Kn({code:e}){let[t,r]=(0,n.useState)(!1),i=(0,n.useCallback)(async()=>{try{await navigator.clipboard.writeText(e),r(!0),setTimeout(()=>r(!1),2e3)}catch(e){console.error(`Failed to copy:`,e)}},[e]);return(0,d.jsx)(`button`,{onClick:i,className:j(`absolute top-3 right-3 p-1.5 rounded-md`,`opacity-0 group-hover:opacity-100 transition-opacity duration-150`,`bg-zinc-200/80 hover:bg-zinc-300 dark:bg-zinc-700/80 dark:hover:bg-zinc-600`,`text-zinc-600 hover:text-zinc-800 dark:text-zinc-400 dark:hover:text-zinc-200`,`focus:outline-none focus:ring-1 focus:ring-zinc-400 dark:focus:ring-zinc-500`),"aria-label":t?`Copied!`:`Copy code`,children:t?(0,d.jsx)(s.Check,{className:`h-4 w-4 text-green-600 dark:text-green-400`}):(0,d.jsx)(s.Copy,{className:`h-4 w-4`})})}function qn({children:e}){let t=(0,n.useRef)(null),[r,i]=(0,n.useState)(``);return(0,n.useEffect)(()=>{if(t.current){let e=t.current.querySelector(`code`);if(e){let t=e.textContent||``;i(t.trim())}}},[e]),(0,d.jsxs)(`div`,{className:`relative group my-5`,children:[(0,d.jsx)(`pre`,{ref:t,className:j(`p-4 rounded-xl overflow-x-auto`,`bg-zinc-100 dark:bg-zinc-900`,`border border-zinc-200 dark:border-zinc-800`,`text-[13px] font-mono leading-relaxed`,`text-zinc-800 dark:text-zinc-200`,`[&_code]:bg-transparent [&_code]:text-inherit [&_code]:p-0`),children:e}),r&&(0,d.jsx)(Kn,{code:r})]})}var Jn=n.default.memo(({content:e,className:t,isStreaming:n=!1})=>{if(!e)return(0,d.jsx)(`div`,{className:j(`text-muted-foreground text-sm`,t),children:`No content`});let r=Un(e);return(0,d.jsx)(`div`,{className:j(`kortix-markdown`,t),children:(0,d.jsx)(D.Streamdown,{isAnimating:n,components:{h1:({children:e})=>(0,d.jsx)(`h1`,{className:`text-2xl font-semibold tracking-tight text-foreground mt-8 mb-4 first:mt-0 pb-2 border-b border-border/40`,children:e}),h2:({children:e})=>(0,d.jsx)(`h2`,{className:`text-xl font-semibold tracking-tight text-foreground mt-8 mb-3 first:mt-0`,children:e}),h3:({children:e})=>(0,d.jsx)(`h3`,{className:`text-lg font-semibold text-foreground mt-6 mb-2 first:mt-0`,children:e}),h4:({children:e})=>(0,d.jsx)(`h4`,{className:`text-base font-semibold text-foreground mt-5 mb-2 first:mt-0`,children:e}),h5:({children:e})=>(0,d.jsx)(`h5`,{className:`text-sm font-semibold text-foreground mt-4 mb-1 first:mt-0`,children:e}),h6:({children:e})=>(0,d.jsx)(`h6`,{className:`text-sm font-medium text-muted-foreground mt-4 mb-1 first:mt-0 uppercase tracking-wide`,children:e}),p:({children:e})=>(0,d.jsx)(`p`,{className:`text-sm text-foreground leading-relaxed my-4 first:mt-0 last:mb-0 [&:has(img)]:my-0`,children:e}),ul:({children:e})=>(0,d.jsx)(`ul`,{className:`my-4 ml-6 list-disc marker:text-muted-foreground/60 space-y-2 first:mt-0 last:mb-0 text-sm`,children:e}),ol:({children:e})=>(0,d.jsx)(`ol`,{className:`my-4 ml-6 list-decimal marker:text-muted-foreground/60 marker:font-medium space-y-2 first:mt-0 last:mb-0 text-sm`,children:e}),li:({children:e})=>(0,d.jsx)(`li`,{className:`text-sm text-foreground leading-relaxed pl-1`,children:e}),a:({href:e,children:t})=>{let n=Wn(e),r=e?.startsWith(`#`),i=j(`font-medium text-foreground`,`underline decoration-foreground/30 underline-offset-[3px] decoration-[1px]`,`hover:decoration-foreground/60 transition-colors duration-150`);return r?(0,d.jsx)(`a`,{href:e,onClick:t=>Gn(t,e),className:i,children:t}):n?(0,d.jsx)(E.default,{href:e||`#`,className:i,children:t}):(0,d.jsx)(`a`,{href:e,target:`_blank`,rel:`noopener noreferrer`,className:i,children:t})},code:({children:e,className:t})=>t?.includes(`language-`)?(0,d.jsx)(`code`,{className:`text-[13px] leading-relaxed text-inherit`,children:e}):(0,d.jsx)(`code`,{className:`px-2 py-1 rounded-md text-[13px] font-mono bg-card dark:bg-[#161618] border border-neutral-200 dark:border-neutral-700/50 text-foreground`,children:e}),pre:({children:e})=>(0,d.jsx)(qn,{children:e}),blockquote:({children:e})=>(0,d.jsx)(`blockquote`,{className:j(`my-5 pl-4 py-1 text-sm`,`border-l-2 border-border`,`text-muted-foreground`,`[&>p]:my-2`),children:e}),hr:()=>(0,d.jsx)(`hr`,{className:`my-8 border-0 h-px bg-border/60`}),table:({children:e})=>(0,d.jsx)(`div`,{className:`my-5 overflow-x-auto rounded-xl border border-border/60`,children:(0,d.jsx)(`table`,{className:`w-full text-sm`,children:e})}),thead:({children:e})=>(0,d.jsx)(`thead`,{className:`bg-muted/50 dark:bg-muted/30 border-b border-border/60`,children:e}),tbody:({children:e})=>(0,d.jsx)(`tbody`,{className:`divide-y divide-border/40`,children:e}),tr:({children:e})=>(0,d.jsx)(`tr`,{className:`transition-colors hover:bg-muted/30`,children:e}),th:({children:e})=>(0,d.jsx)(`th`,{className:`px-4 py-3 text-left text-xs font-semibold text-foreground uppercase tracking-wider`,children:e}),td:({children:e})=>(0,d.jsx)(`td`,{className:`px-4 py-3 text-foreground`,children:e}),img:({src:e,alt:t})=>e?(0,d.jsxs)(`span`,{className:`block my-5`,children:[(0,d.jsx)(`img`,{src:e,alt:t||``,className:j(`max-w-full h-auto rounded-xl`,`border border-border/40`,`shadow-sm`),loading:`lazy`}),t&&(0,d.jsx)(`span`,{className:`block mt-2 text-center text-sm text-muted-foreground`,children:t})]}):null,strong:({children:e})=>(0,d.jsx)(`strong`,{className:`font-semibold text-foreground`,children:e}),em:({children:e})=>(0,d.jsx)(`em`,{className:`italic text-foreground/90`,children:e}),del:({children:e})=>(0,d.jsx)(`del`,{className:`line-through text-muted-foreground decoration-muted-foreground/50`,children:e}),input:({checked:e,...t})=>(0,d.jsx)(`input`,{type:`checkbox`,checked:e,readOnly:!0,className:j(`mr-2 h-4 w-4 rounded border-border`,`accent-secondary cursor-default`,`align-middle relative -top-[1px]`),...t}),div:({children:e,style:t,className:n,...r})=>(0,d.jsx)(`div`,{className:j(`text-sm text-foreground`,n),style:t,...r,children:e}),span:({children:e,style:t,className:n,...r})=>(0,d.jsx)(`span`,{className:j(`text-foreground`,n),style:t,...r,children:e})},children:r})})});Jn.displayName=`UnifiedMarkdown`;function Yn(e){return e instanceof Error&&e.name===`AbortError`}async function Xn(e,t){if(t.share)try{return await t.share(e),`shared`}catch(e){if(Yn(e))return`cancelled`}return await t.writeText(e.url),`copied`}var Zn=e=>{let{isOpen:r,url:i,searchText:a,panelWidth:o,setPanelWidth:s,closePanel:l}=I(),{isAuthenticated:u}=Qe(),{chatModelProvider:f}=G(),p=e.isOpen===void 0?r:e.isOpen,h=e.onClose||l,g=e.url||i,_=e.searchText===void 0?a:e.searchText,[v,y]=(0,n.useState)(null),[b,x]=(0,n.useState)([]),[S,C]=(0,n.useState)(!1),[w,T]=(0,n.useState)(!1),[E,D]=(0,n.useState)(t.researchAgentUIConfig.defaultSummarizePrompt),[O,k]=(0,n.useState)(!1),[A,j]=(0,n.useState)(!1),[M,N]=(0,n.useState)(!1),[P,F]=(0,n.useState)(``),[L,R]=(0,n.useState)(``),[z,ee]=(0,n.useState)([]),[te,ne]=(0,n.useState)(``),[B,re]=(0,n.useState)(!1),[ie,oe]=(0,n.useState)(!1),[se,ce]=(0,n.useState)(!1),[H,ue]=(0,n.useState)(!1),[de,fe]=(0,n.useState)(o),[pe,me]=(0,n.useState)(!1),[he,ge]=(0,n.useState)(!1),[U,_e]=(0,n.useState)(1),ve=(0,n.useRef)(null),ye=(0,n.useRef)({}),be=.5,xe=1.8,Se=.1;(0,n.useEffect)(()=>{let e=parseFloat(localStorage.getItem(`articleFontScale`)||``);Number.isNaN(e)||_e(Math.min(xe,Math.max(be,e)))},[]);let Ce=e=>{let t=Math.min(xe,Math.max(be,Math.round(e*100)/100));_e(t);try{localStorage.setItem(`articleFontScale`,String(t))}catch(e){console.error(`Error storing article font scale:`,e)}},we=()=>Ce(U+Se),Te=()=>Ce(U-Se),Ee=()=>Ce(1);(0,n.useEffect)(()=>{let e=()=>{ue(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{let e=e=>{if(!pe)return;let t=window.innerWidth-e.clientX,n=Math.max(400,Math.min(t,window.innerWidth-100));fe(n),s(n)},t=()=>{me(!1)};return pe&&(document.addEventListener(`mousemove`,e),document.addEventListener(`mouseup`,t),document.body.style.cursor=`ew-resize`,document.body.style.userSelect=`none`),()=>{document.removeEventListener(`mousemove`,e),document.removeEventListener(`mouseup`,t),document.body.style.cursor=``,document.body.style.userSelect=``}},[pe,s]),(0,n.useEffect)(()=>{p&&g?(ge(!1),De()):p||ge(!1)},[p,g]);let De=async()=>{console.log(`[ArticleExtractPanel] Extracting URL:`,g);try{let e=new URL(g);if([/^https?:\/\/(www\.)?google\.[^/]+\/search/i,/^https?:\/\/(www\.)?bing\.com\/search/i,/^https?:\/\/(www\.)?duckduckgo\.com\/\?/i].some(e=>e.test(g))){m.toast.error(`Cannot extract articles from search result pages`),k(!1),ge(!0);return}(e.pathname===`/`||e.pathname===``)&&(console.error(`[ArticleExtractPanel] URL is domain-only, missing article path:`,g),m.toast.error(`Invalid article URL - only domain provided`))}catch(e){console.error(`[ArticleExtractPanel] Invalid URL format:`,g,e)}k(!0);try{let{data:e}=await(0,c.getArticle)({query:{url:g}}),t=e?.article,n=t?.html?.replace(/<[^>]*>/g,``).trim()||``;t?.error||n.length<20?(document.dispatchEvent(new CustomEvent(`onInvokeChromeAPI`,{detail:{type:`extractURL`,url:g}})),await Promise.race([new Promise(e=>{let t=async n=>{window.removeEventListener(`onExtractionResult`,t);let{data:r}=await(0,c.getArticle)({query:{url:g}}),i=r?.article;i&&(y(i),i.followUpQuestions?.length>0&&ee(i.followUpQuestions)),e()};window.addEventListener(`onExtractionResult`,t)}),new Promise(e=>setTimeout(e,1e4))])):(y(t),t?.followUpQuestions&&t.followUpQuestions.length>0&&ee(t.followUpQuestions)),u&&Oe()}catch(e){console.error(`[ArticleExtractPanel] Error extracting URL:`,e),m.toast.error(`Failed to load article`)}finally{k(!1),ge(!0)}},Oe=async()=>{try{let{data:e}=await(0,c.listFavorites)(),t=e?.favorites?.some(e=>e.url===g);re(!!t)}catch(e){console.error(`Error checking favorite status:`,e)}},ke=async()=>{if(v){oe(!0);try{B?(await(0,c.removeFavorite)({query:{url:g}}),re(!1),m.toast.info(`Removed from favorites`)):(await(0,c.addFavorite)({body:{url:v.url||g,title:v.title,cite:v.cite,author:v.author,author_cite:v.author_cite,date:v.date,source:v.source,word_count:v.word_count,html:v.html}}),re(!0),m.toast.success(`Added to favorites`))}catch(e){console.error(`Error toggling favorite:`,e),m.toast.error(`Failed to toggle favorite`)}finally{oe(!1)}}},Ae=()=>{if(f?.key&&f?.providerId)return f;try{let e=localStorage.getItem(`chatModelKey`)||``,t=localStorage.getItem(`chatModelProviderId`)||``;if(e&&t)return{key:e,providerId:t}}catch(e){console.error(`Error reading persisted chat model:`,e)}return f},W=async e=>{if(!v)return;let n=Ae(),r=v.html?.replace(/<[^>]*>?/g,``).slice(0,t.researchAgentUIConfig.maxArticleLength),i=e===`question`,a=i?j:N,o=i?R:ne;a(!0),o(``);try{if(i){let e=[_,E].filter(Boolean).join(`
|
|
33
|
+
`);if(!r||r.length===0)throw Error(`Article content is empty`);let{data:t,error:i}=await(0,c.articleQa)({body:{article:r,question:e,chatHistory:b.slice(-5),chatModel:n}});if(i){let e=i.details||i.error||i.message||`Article QA failed`;throw Error(e)}let a=t?.content||``;F(a),x(e=>[...e,{role:`user`,content:E,time:new Date().toISOString()},{role:`assistant`,content:a,time:new Date().toISOString()}]);try{await(0,c.updateArticle)({body:{url:g,question:E,answer:a}})}catch(e){console.error(`Error storing Q&A in cache:`,e)}}else{let e=parseInt(localStorage.getItem(`maxFollowupQuestions`)||`4`);if(!r||r.length===0)throw Error(`Article content is empty`);let{data:t,error:i}=await(0,c.articleFollowups)({body:{article:r,chatHistory:b.slice(-5),maxQuestions:e,chatModel:n}});if(i){let e=i.details||i.error||i.message||`Article followups failed`;throw Error(e)}let a=t?.extract||[];ee(a);try{await(0,c.updateArticle)({body:{url:g,followUpQuestions:a}})}catch(e){console.error(`Error storing follow-up questions in cache:`,e)}}}catch(e){console.error(`Error calling language API:`,e),o(e instanceof Error||typeof e==`object`&&e&&`message`in e?e.message:`Failed to get AI response`)}finally{a(!1)}},je=e=>{D(e),W(`question`)},Me=async()=>{if(!v)return;let e=`${P}\n\n\n${v.cite||``}\n\n\n${v.html}`;try{await navigator.clipboard.writeText(e),C(!0),setTimeout(()=>C(!1),2e3)}catch(e){console.error(`Failed to copy to clipboard:`,e)}},Ne=async()=>{let e=v?.url||g;if(e)try{await Xn({title:v?.title,text:v?.cite,url:e},{share:typeof navigator<`u`&&navigator.share?e=>navigator.share(e):void 0,writeText:e=>navigator.clipboard.writeText(e)})===`copied`&&(T(!0),setTimeout(()=>T(!1),2e3))}catch(e){console.error(`Failed to share article:`,e)}};ye.current={ask:()=>W(`question`),suggest:()=>W(`suggest-followups`),copy:Me,highlight:()=>ce(e=>!e),favorite:ke,open:()=>{let e=v?.url||g;e&&window.open(e,`_blank`,`noopener,noreferrer`)},zoomIn:we,zoomOut:Te,zoomReset:Ee,close:h},(0,n.useEffect)(()=>{if(!p)return;let e=e=>/^[a-z]$/.test(e)?`Key${e.toUpperCase()}`:/^[0-9]$/.test(e)?`Digit${e}`:e===`-`?`Minus`:e===`=`?`Equal`:e,t={};Object.keys(kn).forEach(n=>{let{alt:r,key:i}=kn[n];r&&(t[e(i.toLowerCase())]=n)});let n=e=>{if(e.key===`Escape`){ye.current.close?.();return}if(!e.altKey||e.ctrlKey||e.metaKey)return;let n=e.target;if(n&&(n.tagName===`INPUT`||n.tagName===`TEXTAREA`||n.isContentEditable))return;let r=t[e.code];if(!r)return;let i=ye.current[r];i&&(e.preventDefault(),i())};return window.addEventListener(`keydown`,n),()=>window.removeEventListener(`keydown`,n)},[p]);let Pe=()=>(0,d.jsxs)(`div`,{className:`flex h-full flex-col bg-background shadow-xl`,children:[(0,d.jsx)(`div`,{className:`shrink-0 border-b border-border bg-background/95 px-4 py-3 backdrop-blur supports-[backdrop-filter]:bg-background/80`,children:(0,d.jsx)(Nn,{isLoadingAI:A,isLoadingFollowups:M,isLoadingFavorite:ie,isFavorited:B,isHighlightMode:se,articleUrl:v?.url||g,fontScale:U,onAskClick:()=>W(`question`),onSuggestClick:()=>W(`suggest-followups`),onCopyClick:Me,onShareClick:Ne,onFavoriteClick:ke,onHighlightToggle:()=>ce(!se),onZoomIn:we,onZoomOut:Te,onZoomReset:Ee,onClose:h})}),(0,d.jsx)(`div`,{className:`flex-1 overflow-y-auto`,children:(0,d.jsxs)(`div`,{className:`p-4 space-y-6`,children:[(0,d.jsxs)(`div`,{className:`space-y-4`,children:[S&&(0,d.jsx)(`div`,{className:`bg-blue-500 text-white text-sm font-medium px-3 py-2 rounded-md shadow-lg`,children:`Copied!`}),w&&(0,d.jsx)(`div`,{className:`bg-blue-500 text-white text-sm font-medium px-3 py-2 rounded-md shadow-lg`,children:`Link copied!`}),(0,d.jsx)(Pn,{value:E,onChange:D,onSubmit:()=>W(`question`)}),(0,d.jsx)(Fn,{questions:z,isLoading:M,error:te,onQuestionClick:je}),b.length>0&&(0,d.jsx)(`div`,{className:`space-y-4`,children:b.map((e,t)=>(0,d.jsx)(`div`,{className:`space-y-2`,children:e.role===`user`?(0,d.jsxs)(`div`,{className:`bg-primary/10 border border-primary/20 rounded-lg p-3`,children:[(0,d.jsx)(`div`,{className:`text-xs font-semibold text-primary mb-1`,children:`Your Question`}),(0,d.jsx)(`div`,{className:`text-sm text-foreground`,children:e.content})]}):(0,d.jsxs)(`div`,{className:`bg-muted rounded-lg shadow-md p-4`,children:[(0,d.jsx)(`div`,{className:`text-xs font-semibold text-muted-foreground mb-2`,children:`AI Response`}),(0,d.jsx)(`div`,{className:`text-sm`,dangerouslySetInnerHTML:{__html:e.content}})]})},t))}),(A||P&&b.length===0)&&(0,d.jsx)(In,{response:P,isLoading:A,error:L}),L&&!A&&(0,d.jsx)(`div`,{className:`bg-red-500 text-white p-2 rounded-md text-sm`,children:L})]}),v&&(0,d.jsx)(Rn,{article:v,isHighlightMode:se,fontScale:U})]})})]});return!p||!he?null:H?(0,d.jsxs)(`div`,{className:`fixed top-0 right-0 h-screen z-40 transition-all duration-300`,style:{width:`${de}px`},children:[(0,d.jsx)(`div`,{ref:ve,onMouseDown:()=>me(!0),className:`absolute left-0 top-0 bottom-0 w-1 cursor-ew-resize hover:bg-primary bg-transparent transition-colors z-50`,style:{touchAction:`none`},children:(0,d.jsx)(`div`,{className:`absolute left-1/2 top-1/2 -translate-x-1/2 -translate-y-1/2 w-1 h-12 rounded-full bg-muted-foreground opacity-50 hover:opacity-100 transition-opacity`})}),Pe()]}):(0,d.jsx)(ae,{open:p,onOpenChange:e=>!e&&h(),children:(0,d.jsxs)(V,{className:`pointer-events-auto fixed inset-0 !top-0 !left-0 !translate-x-0 !translate-y-0 h-full w-full max-w-none p-0 m-0 rounded-none border-0 overflow-hidden data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:slide-out-to-right data-[state=open]:slide-in-from-right`,hideCloseButton:!0,children:[(0,d.jsx)(En,{children:(0,d.jsx)(le,{children:`Article Details`})}),(0,d.jsx)(`div`,{className:`h-full overflow-y-auto`,children:Pe()})]})})},Qn=()=>{let{sections:e,chatTurns:r,loading:i,messageAppeared:a,newChat:o,chatId:s}=G(),{isOpen:c,panelWidth:l}=I(),{isAuthenticated:u}=Qe(),[f,p]=(0,n.useState)(!1),m=(0,n.useRef)(null),h=(0,n.useRef)(null),g=(0,n.useRef)(!1);(0,n.useEffect)(()=>{let e=()=>{p(window.innerWidth>=1024)};return e(),window.addEventListener(`resize`,e),()=>window.removeEventListener(`resize`,e)},[]),(0,n.useEffect)(()=>{if(r.length===1&&(document.title=`${r[0].content.substring(0,30)} - ${t.researchAgentUIConfig.appName}`),r[r.length-1]?.role===`user`){g.current=!0,h.current?.scrollIntoView({behavior:`auto`}),setTimeout(()=>{g.current=!1},100);return}},[r]);let _=f&&c?{width:`calc(100% - ${l}px)`}:{};return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(`div`,{className:`flex flex-col min-h-full transition-all duration-300`,style:_,children:[(0,d.jsxs)(`div`,{className:`flex-1 flex flex-col space-y-3 pb-48 ${f&&!c?`px-0 max-w-[800px] mx-auto w-full`:`px-4 lg:px-8`}`,children:[e.map((t,r)=>{let i=r===e.length-1;return(0,d.jsxs)(n.Fragment,{children:[(0,d.jsx)(Lt,{section:t,sectionIndex:r,dividerRef:i?m:void 0,isLast:i}),!i&&(0,d.jsx)(`div`,{className:`h-px w-full bg-light-secondary dark:bg-dark-secondary`})]},t.userMessage.messageId)}),i&&!a&&(0,d.jsx)(`div`,{className:`flex items-center justify-center`,children:(0,d.jsx)(`div`,{style:{height:`200px`,width:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},children:(0,d.jsx)(S.default,{autoRandomize:!0,onSphereClick:()=>console.log(`Sphere clicked`),className:`my-custom-class`})})}),(0,d.jsx)(`div`,{ref:h,className:`h-0`})]}),(0,d.jsx)(`div`,{className:`sticky bottom-[60px] md:bottom-0 z-40 bg-gradient-to-t from-background via-background to-transparent pt-4 pb-2`,children:(0,d.jsx)(Tn,{})})]}),(0,d.jsx)(Zn,{})]})};function $n({radius:e=60,opacityDecay:t=.025,backgroundColor:r=`transparent`,color:i,colorGenerator:a}){let o=(0,n.useRef)(null),s=(0,n.useRef)({x:0,y:0}),c=(0,n.useRef)([]),l=()=>[Math.floor(Math.random()*130+10),Math.floor(.5*Math.random()*50),Math.floor(.5*Math.random()*255)],u=()=>i||a?.()||l();return(0,n.useEffect)(()=>{let n=o.current;if(!n)return;let i=n.getContext(`2d`);if(!i)return;let a=0,l=()=>{n.width=window.innerWidth,n.height=window.innerHeight};l();let d=()=>{i.globalCompositeOperation=`source-over`,r===`transparent`?i.clearRect(0,0,n.width,n.height):(i.fillStyle=r,i.fillRect(0,0,n.width,n.height)),i.globalCompositeOperation=`lighter`;let o={col:u(),x:s.current.x,y:s.current.y,grdblur:i.createRadialGradient(s.current.x,s.current.y,0,s.current.x,s.current.y,e),alpha:1};c.current.push(o);let l=[];for(let n=0;n<c.current.length;n++){let r=c.current[n];r.grdblur.addColorStop(0,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.95)`),r.grdblur.addColorStop(.2,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.7)`),r.grdblur.addColorStop(.5,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0.3)`),r.grdblur.addColorStop(1,`rgba(${r.col[0]},${r.col[1]},${r.col[2]},0)`),i.beginPath(),i.fillStyle=r.grdblur,i.globalAlpha=r.alpha,i.arc(r.x,r.y,e,0,Math.PI*2),i.fill(),r.alpha-=t,r.alpha<=0&&l.push(n)}for(let e=l.length-1;e>=0;e--)c.current.splice(l[e],1);i.globalAlpha=1,a=requestAnimationFrame(d)},f=e=>{s.current.x=e.pageX,s.current.y=e.pageY},p=e=>{s.current.x=e.touches[0].pageX,s.current.y=e.touches[0].pageY};return window.addEventListener(`mousemove`,f),window.addEventListener(`touchmove`,p,{passive:!0}),window.addEventListener(`resize`,l),d(),()=>{cancelAnimationFrame(a),window.removeEventListener(`mousemove`,f),window.removeEventListener(`touchmove`,p),window.removeEventListener(`resize`,l),c.current=[]}},[e,t,r,i,a]),(0,d.jsx)(`div`,{className:`relative w-full h-screen overflow-hidden pointer-events-none`,children:(0,d.jsx)(`canvas`,{ref:o,className:`absolute inset-0`,style:{background:`transparent`}})})}var er=`qwksearch_pinned_chats`;function tr(e){let t=e.messages?.[e.messages.length-1],n=t&&`createdAt`in t?t.createdAt:void 0;if(n){let e=new Date(n).getTime();if(!Number.isNaN(e))return new Date(e).toISOString()}return e.createdAt}function nr(){if(typeof window>`u`)return[];try{let e=localStorage.getItem(er);return e?JSON.parse(e):[]}catch{return[]}}function rr(e){typeof window>`u`||localStorage.setItem(er,JSON.stringify(e))}function ir(){let[e,t]=(0,n.useState)([]),[r,i]=(0,n.useState)(!0),[a,o]=(0,n.useState)(!1),[s,l]=(0,n.useState)(null),[u,d]=(0,n.useState)(!1),[f,p]=(0,n.useState)(!1),[h,g]=(0,n.useState)(!1),[_,v]=(0,n.useState)([]),[y,b]=(0,n.useState)(``),[x,S]=(0,n.useState)([]),[C,w]=(0,n.useState)(!1),{isAuthenticated:T,isLoading:E}=Qe(),{incognito:D,setIncognito:O}=G();(0,n.useEffect)(()=>{v(nr())},[]);let k=(0,n.useCallback)((e,t)=>{e.preventDefault(),e.stopPropagation(),v(e=>{let n=e.includes(t)?e.filter(e=>e!==t):[...e,t];return rr(n),n})},[]),A=(0,n.useMemo)(()=>[...e].sort((e,t)=>{let n=_.includes(e.id),r=_.includes(t.id);return n&&!r?-1:!n&&r?1:0}),[e,_]),j=(0,n.useMemo)(()=>y.trim()?x:A,[y,x,A]),M=(0,n.useCallback)(async()=>{if(!E){i(!0);try{if(T){let{data:e,error:n}=await(0,c.listChats)();if(n&&n.status===401){let e=Me().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:tr(e)}));t(e);return}if(n)throw Error(`Failed to fetch chats: ${n.message}`);t(Array.isArray(e?.chats)?e.chats:[])}else{let e=Me().map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0}));t(e)}}catch(e){console.error(`Failed to fetch chat history:`,e),t([]),m.toast.error(`Failed to load chat history`)}finally{i(!1)}}},[T,E]);(0,n.useEffect)(()=>{M()},[M]);let N=(e,t)=>{e.preventDefault(),e.stopPropagation(),l(t),o(!0)},P=async()=>{if(s){d(!0);try{if(T){let{error:e}=await(0,c.deleteChatById)({path:{id:s}});if(e)throw Error(`Failed to delete chat: ${e.message}`)}else Fe(s);t(e=>e.filter(e=>e.id!==s)),m.toast.success(`Chat deleted`)}catch(e){m.toast.error(e.message||`Failed to delete chat`)}finally{o(!1),l(null),d(!1)}}},F=()=>{p(!0)},I=async()=>{g(!0);try{if(T){let{error:e}=await(0,c.deleteAllChats)();if(e)throw Error(`Failed to clear history: ${e.message}`)}else Ie();t([]),m.toast.success(`All history cleared`)}catch(e){m.toast.error(e.message||`Failed to clear history`)}finally{p(!1),g(!1)}},L=()=>{O(!D),m.toast.success(D?`Private mode off`:`Private mode on — messages won't be saved`)},R=(0,n.useCallback)(async e=>{if(!e.trim()){S([]),w(!1);return}w(!0);try{if(T){let{data:t,error:n}=await(0,c.searchChats)({query:{q:e}});if(n)throw Error(`Failed to search chats: ${n.message}`);S(Array.isArray(t?.chats)?t.chats:[])}else{let t=Me().filter(t=>{let n=t.title.toLowerCase().includes(e.toLowerCase()),r=t.messages?.some(t=>`content`in t&&t.content?.toLowerCase().includes(e.toLowerCase()));return n||r});S(t.map(e=>({...e,messageCount:e.messages?.filter(e=>e.role===`user`).length??0,lastMessageAt:tr(e)})))}}catch(e){console.error(`Failed to search chat history:`,e),S([]),m.toast.error(`Failed to search chat history`)}finally{w(!1)}},[T]);return(0,n.useEffect)(()=>{let e=setTimeout(()=>{R(y)},300);return()=>clearTimeout(e)},[y,R]),{chats:e,sortedChats:A,displayChats:j,loading:r,pinnedIds:_,togglePin:k,incognito:D,toggleIncognito:L,searchQuery:y,searchResults:x,searching:C,handleSearchChange:(0,n.useCallback)(e=>{b(e)},[]),deleteDialogOpen:a,setDeleteDialogOpen:o,chatToDelete:s,setChatToDelete:l,deleting:u,handleDeleteClick:N,handleConfirmDelete:P,clearAllDialogOpen:f,setClearAllDialogOpen:p,clearingAll:h,handleClearAllClick:F,handleConfirmClearAll:I}}function ar({incognito:e,onToggleIncognito:t,showClearAll:n,onClearAll:r,searchQuery:i,onSearchChange:a}){return(0,d.jsxs)(`div`,{className:`mb-2 pb-2 border-b border-border space-y-2`,children:[(0,d.jsxs)(`div`,{className:`flex items-center justify-between`,children:[(0,d.jsx)(`p`,{className:`text-xs font-medium text-muted-foreground/80 uppercase tracking-wide`,children:`Chat History`}),(0,d.jsxs)(`div`,{className:`flex items-center gap-1`,children:[(0,d.jsxs)(`button`,{onClick:t,className:`flex items-center gap-1 px-2 py-1 text-xs rounded-lg transition-colors duration-200 ${e?`text-primary bg-primary/10`:`text-muted-foreground hover:text-foreground hover:bg-secondary`}`,title:e?`Private mode on`:`Private mode`,children:[(0,d.jsx)(s.Lock,{size:12}),(0,d.jsx)(`span`,{children:`Private`})]}),n&&(0,d.jsxs)(`button`,{onClick:r,className:`flex items-center gap-1 px-2 py-1 text-xs text-muted-foreground hover:text-red-500 hover:bg-red-500/10 rounded-lg transition-colors duration-200`,title:`Clear all history`,children:[(0,d.jsx)(s.Trash2,{size:12}),(0,d.jsx)(`span`,{children:`Clear All`})]})]})]}),(0,d.jsxs)(`div`,{className:`relative`,children:[(0,d.jsx)(s.Search,{className:`absolute left-2 top-1/2 -translate-y-1/2 text-muted-foreground`,size:14}),(0,d.jsx)(`input`,{type:`text`,placeholder:`Search chats...`,value:i,onChange:e=>a(e.target.value),className:`w-full pl-7 pr-7 py-1.5 text-sm bg-secondary/50 border border-border rounded-lg focus:outline-none focus:ring-2 focus:ring-primary/50 placeholder:text-muted-foreground/50`}),i&&(0,d.jsx)(`button`,{onClick:()=>a(``),className:`absolute right-2 top-1/2 -translate-y-1/2 text-muted-foreground hover:text-foreground`,children:(0,d.jsx)(s.X,{size:14})})]})]})}function or({chat:e,isPinned:n,onTogglePin:r,onDelete:i}){let a=e.messageCount??0;return(0,d.jsxs)(`div`,{className:`group flex items-center gap-1 px-2 py-1 rounded-lg hover:bg-secondary transition-colors duration-200`,children:[(0,d.jsxs)(E.default,{href:`/c/${e.id}`,onClick:n=>{t.researchAgentUIConfig.onOpenChat?.(e.id)&&n.preventDefault()},className:`flex-1 min-w-0 flex items-center gap-1.5`,children:[(0,d.jsxs)(`span`,{className:`flex items-center gap-1 shrink-0`,children:[a>0&&(0,d.jsxs)(Ft,{className:`px-1.5 py-0 text-[10px] font-medium bg-zinc-200 text-zinc-700 hover:bg-zinc-200 dark:bg-zinc-700 dark:text-zinc-300 dark:hover:bg-zinc-700 border-0 rounded-md`,children:[a,`Q`]}),(0,d.jsx)(Ft,{className:`px-1.5 py-0 text-[10px] font-medium bg-zinc-100 text-zinc-500 hover:bg-zinc-100 dark:bg-zinc-800 dark:text-zinc-400 dark:hover:bg-zinc-800 border-0 rounded-md`,children:N(new Date,e.createdAt)})]}),(0,d.jsxs)(`p`,{className:`text-xs text-popover-foreground truncate`,children:[n&&(0,d.jsx)(s.Pin,{size:10,className:`inline mr-1 text-primary`}),e.title]})]}),(0,d.jsx)(`button`,{onClick:t=>r(t,e.id),className:`p-1.5 rounded-lg transition-all duration-200 ${n?`opacity-100 text-primary hover:bg-primary/10`:`opacity-0 group-hover:opacity-100 text-muted-foreground hover:text-primary hover:bg-primary/10`}`,title:n?`Unpin chat`:`Pin chat`,children:(0,d.jsx)(s.Pin,{size:14})}),(0,d.jsx)(`button`,{onClick:t=>i(t,e.id),className:`opacity-0 group-hover:opacity-100 p-1.5 rounded-lg hover:bg-red-500/10 text-muted-foreground hover:text-red-500 transition-all duration-200`,title:`Delete chat`,children:(0,d.jsx)(s.Trash,{size:14})})]})}function sr({open:e,onOpenChange:t,title:n,description:r,confirmLabel:i,loadingLabel:a,loading:o,onConfirm:s}){return(0,d.jsx)(ae,{open:e,onOpenChange:e=>{!e&&!o&&t(!1)},children:(0,d.jsxs)(V,{className:`w-full max-w-md transform rounded-2xl bg-light-secondary dark:bg-dark-secondary border border-light-200 dark:border-dark-200 p-6 text-left align-middle shadow-xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6 dark:text-white`,children:n}),(0,d.jsx)(H,{className:`text-sm dark:text-white/70 text-black/70 mt-2`,children:r}),(0,d.jsxs)(`div`,{className:`flex flex-row items-end justify-end space-x-4 mt-6`,children:[(0,d.jsx)(`button`,{onClick:()=>{o||t(!1)},className:`text-black/50 dark:text-white/50 text-sm hover:text-black/70 hover:dark:text-white/70 transition duration-200`,children:`Cancel`}),(0,d.jsx)(`button`,{onClick:s,disabled:o,className:`text-red-400 text-sm hover:text-red-500 transition duration-200 disabled:opacity-50`,children:o?a:i})]})]})})}function cr({deleteDialogOpen:e,setDeleteDialogOpen:t,chatToDelete:n,setChatToDelete:r,deleting:i,onConfirmDelete:a,clearAllDialogOpen:o,setClearAllDialogOpen:s,clearingAll:c,onConfirmClearAll:l}){return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(sr,{open:e,onOpenChange:e=>{t(e),e||r(null)},title:`Delete Confirmation`,description:`Are you sure you want to delete this chat?`,confirmLabel:`Delete`,loadingLabel:`Deleting...`,loading:i,onConfirm:a}),(0,d.jsx)(sr,{open:o,onOpenChange:s,title:`Clear All History`,description:`Are you sure you want to delete all your chat history? This action cannot be undone.`,confirmLabel:`Clear All`,loadingLabel:`Clearing...`,loading:c,onConfirm:l})]})}var lr={Today:(0,d.jsx)(s.Sun,{size:12}),Yesterday:(0,d.jsx)(s.Clock,{size:12}),"This Week":(0,d.jsx)(s.CalendarDays,{size:12}),Older:(0,d.jsx)(s.Archive,{size:12})};function ur(e){let t=new Date,n=new Date(t.getFullYear(),t.getMonth(),t.getDate()),r=new Date(n.getTime()-864e5),i=new Date(n.getTime()-5184e5),a={Today:[],Yesterday:[],"This Week":[],Older:[]};for(let t of e){let e=new Date(t.createdAt);e>=n?a.Today.push(t):e>=r?a.Yesterday.push(t):e>=i?a[`This Week`].push(t):a.Older.push(t)}return[`Today`,`Yesterday`,`This Week`,`Older`].filter(e=>a[e].length>0).map(e=>({label:e,chats:a[e]}))}var dr=({showLabel:e=!1})=>{let t=ir();return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsxs)(ae,{children:[(0,d.jsxs)(oe,{className:e?`inline-flex items-center gap-1.5 px-3 py-1 rounded-full text-xs text-muted-foreground bg-secondary hover:bg-secondary/80 hover:text-foreground transition-colors duration-150`:`p-2 text-muted-foreground rounded-2xl bg-background/60 backdrop-blur-md hover:bg-secondary/80 transition duration-200 hover:text-foreground border border-border/30`,children:[(0,d.jsx)(s.History,{size:e?14:18}),e&&(0,d.jsx)(`span`,{children:`History`})]}),(0,d.jsxs)(V,{className:`max-w-[420px] p-3`,children:[(0,d.jsx)(le,{className:`sr-only`,children:`Chat History`}),(0,d.jsx)(ar,{incognito:t.incognito,onToggleIncognito:t.toggleIncognito,showClearAll:t.chats.length>0&&!t.loading,onClearAll:t.handleClearAllClick,searchQuery:t.searchQuery,onSearchChange:t.handleSearchChange}),t.loading||t.searching?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsxs)(`svg`,{"aria-hidden":`true`,className:`w-6 h-6 text-light-200 fill-light-secondary dark:text-[#202020] animate-spin dark:fill-[#ffffff3b]`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,d.jsx)(`path`,{d:`M100 50.5908C100.003 78.2051 78.1951 100.003 50.5908 100C22.9765 99.9972 0.997224 78.018 1 50.4037C1.00281 22.7993 22.8108 0.997224 50.4251 1C78.0395 1.00281 100.018 22.8108 100 50.4251ZM9.08164 50.594C9.06312 73.3997 27.7909 92.1272 50.5966 92.1457C73.4023 92.1642 92.1298 73.4365 92.1483 50.6308C92.1669 27.8251 73.4392 9.0973 50.6335 9.07878C27.8278 9.06026 9.10003 27.787 9.08164 50.594Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4037 97.8624 35.9116 96.9801 33.5533C95.1945 28.8227 92.871 24.3692 90.0681 20.348C85.6237 14.1775 79.4473 9.36872 72.0454 6.45794C64.6435 3.54717 56.3134 2.65431 48.3133 3.89319C45.869 4.27179 44.3768 6.77534 45.014 9.20079C45.6512 11.6262 48.1343 13.0956 50.5786 12.717C56.5073 11.8281 62.5542 12.5399 68.0406 14.7911C73.527 17.0422 78.2187 20.7487 81.5841 25.4923C83.7976 28.5886 85.4467 32.059 86.4416 35.7474C87.1273 38.1189 89.5423 39.6781 91.9676 39.0409Z`,fill:`currentFill`})]})}):t.searchQuery.trim()&&t.displayChats.length===0?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No matching chats found.`})}):t.chats.length===0?(0,d.jsx)(`div`,{className:`flex items-center justify-center py-8`,children:(0,d.jsx)(`p`,{className:`text-sm text-muted-foreground`,children:`No chats found.`})}):(0,d.jsx)(`div`,{className:`space-y-1 max-h-[500px] overflow-y-auto`,children:t.searchQuery.trim()?t.displayChats.map(e=>(0,d.jsx)(or,{chat:e,isPinned:t.pinnedIds.includes(e.id),onTogglePin:t.togglePin,onDelete:t.handleDeleteClick},e.id)):ur(t.displayChats).map(({label:e,chats:n})=>(0,d.jsxs)(`div`,{children:[(0,d.jsxs)(`div`,{className:`flex items-center gap-1.5 px-3 py-1.5 text-xs font-semibold text-muted-foreground/70 uppercase tracking-wider`,children:[lr[e],e]}),n.map(e=>(0,d.jsx)(or,{chat:e,isPinned:t.pinnedIds.includes(e.id),onTogglePin:t.togglePin,onDelete:t.handleDeleteClick},e.id))]},e))}),t.chats.length>0&&(0,d.jsx)(`div`,{className:`mt-2 pt-2 border-t border-border`,children:(0,d.jsx)(E.default,{href:`/library`,className:`block text-center text-xs text-primary hover:underline`,children:`View all chats`})})]})]}),(0,d.jsx)(cr,{deleteDialogOpen:t.deleteDialogOpen,setDeleteDialogOpen:t.setDeleteDialogOpen,chatToDelete:t.chatToDelete,setChatToDelete:t.setChatToDelete,deleting:t.deleting,onConfirmDelete:t.handleConfirmDelete,clearAllDialogOpen:t.clearAllDialogOpen,setClearAllDialogOpen:t.setClearAllDialogOpen,clearingAll:t.clearingAll,onConfirmClearAll:t.handleConfirmClearAll})]})},fr=e=>new Date(e.lastMessageAt||e.createdAt).getTime();function pr(){let{chats:e,loading:n}=ir(),r=[...e].sort((e,t)=>fr(t)-fr(e)).slice(0,5);return n||r.length===0?null:(0,d.jsxs)(`div`,{className:`flex flex-row items-center justify-center gap-2 flex-wrap`,children:[(0,d.jsx)(dr,{showLabel:!0}),r.map(e=>{let n=mn(e.lastMessageAt||e.createdAt);return(0,d.jsxs)(E.default,{href:`/c/${e.id}`,onClick:n=>{t.researchAgentUIConfig.onOpenChat?.(e.id)&&n.preventDefault()},className:`flex items-center gap-1.5 px-3 py-1 rounded-full text-xs text-muted-foreground bg-secondary hover:bg-secondary/80 hover:text-foreground transition-colors duration-150 max-w-[220px]`,title:e.title,children:[(0,d.jsx)(`span`,{className:`truncate`,children:e.title}),n&&(0,d.jsx)(`span`,{className:`italic text-muted-foreground/70 whitespace-nowrap`,children:n})]},e.id)})]})}function mr({listFooterLinks:e=[],optionShowIcons:t=!0,optionBackgroundColor:r=`bg-black/40`}){let[i,a]=(0,n.useState)(!1),o=(0,n.useRef)(null);(0,n.useEffect)(()=>{if(!i)return;let e=e=>{o.current&&!o.current.contains(e.target)&&a(!1)};return document.addEventListener(`mousedown`,e),()=>document.removeEventListener(`mousedown`,e)},[i]);let c=()=>e.map(({url:e,text:n,icon:r,onClick:i})=>{let a=r?s[r]:null,o=e.startsWith(`http`),c=o?{target:`_blank`,rel:`noopener noreferrer`}:{},l=(0,d.jsxs)(d.Fragment,{children:[t&&a&&(0,d.jsx)(a,{size:14}),(0,d.jsx)(`span`,{className:`font-semibold tracking-wide text-md`,style:{fontVariant:`small-caps`},children:n}),(0,d.jsx)(`span`,{className:`absolute bottom-0 left-0 w-0 h-0.5 bg-current transition-all duration-300 group-hover:w-full group-hover:shadow-[0_0_8px_rgba(255,255,255,0.6)]`})]});return i?(0,d.jsx)(`button`,{type:`button`,onClick:i,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e):o?(0,d.jsx)(`a`,{href:e,...c,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e):(0,d.jsx)(E.default,{href:e,className:`relative group inline-flex items-center gap-1 hover:text-white hover:drop-shadow-[0_0_8px_rgba(255,255,255,0.8)] transition-all duration-300 whitespace-nowrap`,children:l},e)}),l=s.Info;return(0,d.jsxs)(d.Fragment,{children:[(0,d.jsx)(`div`,{className:`hidden md:flex absolute bottom-2 left-1/2 -translate-x-1/2 text-slate-200 text-xs z-20 ${r} rounded-lg px-2 py-1 shadow-lg hover:shadow-xl hover:-translate-y-1 transition-all duration-300 flex-wrap items-center justify-center gap-x-6 max-w-[90vw]`,children:(0,d.jsx)(`div`,{className:`max-w-4xl mx-auto grid grid-cols-3 gap-2`,children:c()})}),(0,d.jsxs)(`div`,{ref:o,className:`md:hidden fixed top-[calc(8px+env(safe-area-inset-top,0px))] right-2 z-30`,children:[i&&(0,d.jsx)(`div`,{className:`absolute top-full right-0 mt-2 text-slate-200 text-xs ${r} rounded-lg px-3 py-2 shadow-lg flex flex-col items-start gap-2 backdrop-blur-sm`,children:c()}),(0,d.jsx)(`button`,{type:`button`,onClick:()=>a(e=>!e),"aria-label":i?`Hide links`:`Show links`,"aria-expanded":i,className:`flex items-center justify-center h-8 w-8 rounded-full text-slate-200 ${r} shadow-lg backdrop-blur-sm hover:text-white transition-all duration-300`,children:l?(0,d.jsx)(l,{size:16}):`i`})]})]})}function hr({open:e,onOpenChange:n}){return(0,d.jsx)(ae,{open:e,onOpenChange:n,children:(0,d.jsxs)(V,{className:`w-full max-w-md rounded-2xl bg-light-secondary dark:bg-dark-secondary border border-light-200 dark:border-dark-200 p-6 text-center align-middle shadow-xl`,children:[(0,d.jsx)(le,{className:`text-lg font-medium leading-6 dark:text-white`,children:`Download QwkSearch`}),(0,d.jsx)(H,{className:`text-sm dark:text-white/70 text-black/70 mt-2`,children:`Get QwkSearch on your browser or desktop.`}),(0,d.jsxs)(`div`,{className:`flex flex-wrap items-center justify-center gap-3 mt-6`,children:[(0,d.jsx)(O.DownloadAppButton,{platform:`chrome-extension`,href:t.researchAgentUIConfig.downloadChromeUrl,autoHighlight:!0}),(0,d.jsx)(O.DownloadAppButton,{platform:`windows`,appId:t.researchAgentUIConfig.downloadWindowsStoreId,autoHighlight:!0})]})]})})}function gr(){let e=`hyZbH3n.mp4,iOeZcCk.mp4,dUZlxYE.mp4,GpWeP6E.gif,LuKUsLE.png,w7X11Dd.png,MHmVtCr.png,HmnUAee.png,vKP22VU.png,l1lsV39.png,Ku8F2qc.png,KUEXtwm.png,vvKFPmY.png,5p8eaEf.png,VAKuJcG.png,sTMPtQW.png,m0gHbZZ.png,cKu7dWQ.png,ogfefYD.png,ey5vAae.png,twuLrvk.png,ELILiYt.png,9el5qpP.png,Up6xTkk.png,W1XKBo0.png,1Y6xvW0.png,JXOytMz.png,DNiI6pp.png,XDv5s6p.jpeg,eRwiRJ9.jpeg,DRAfJoc.jpeg,ASVRQ1G.jpeg,35svwUT.jpeg,81xLiVI.jpeg,6kod2Em.jpeg,eU0C8zt.jpeg,Bv0PBY8.jpeg,DQNbjIZ.jpeg,2uACPqZ.jpeg,XEKltMF.jpeg,WHgLfBm.jpeg,QFYM0Fw.jpeg,K12HCao.jpeg,oN8rtsE.jpeg,9fGnrns.jpeg,2ONJJeW.jpeg,DO23Va7.jpeg,QaKeoXk.jpeg,QU5oCBR.jpeg,MhlYZmh.jpeg,ylL1ToB.jpeg,AWWsCv8.jpeg,Tk9Tzzj.jpeg`.split(`,`);return`https://i.imgur.com/`+e[Math.floor(Math.random()*e.length)]}function _r(e){return e?e.split(/\r?\n/).map(e=>e.trim()).filter(Boolean).map(e=>{let t=e.split(`,`).map(e=>e.trim()),n=Number(t[t.length-2]),r=Number(t[t.length-1]);return t.length>=2&&t[t.length-2]!==``&&t[t.length-1]!==``&&Number.isFinite(n)&&Number.isFinite(r)?{label:t.slice(0,t.length-2).filter(Boolean).join(`, `)||void 0,latitude:n,longitude:r}:{label:e}}):[]}function vr(){let{sendMessage:e}=G(),[r,i]=(0,n.useState)(null),[a,o]=(0,n.useState)(null),[s,c]=(0,n.useState)(!1),[l,u]=(0,n.useState)(!1),[f,p]=(0,n.useState)([]),[m,h]=(0,n.useState)(null),[g,_]=(0,n.useState)(!1),[v,y]=(0,n.useState)(!1),b=t.researchAgentUIConfig.footerLinks.map(e=>e.url===`/#downloads`?{...e,onClick:()=>u(!0)}:e);(0,n.useEffect)(()=>{let e=()=>{p(_r(localStorage.getItem(`weatherLocations`))),h(localStorage.getItem(`trendingNewsApiUrl`)),_(localStorage.getItem(`orbHoverGlow`)===`true`),y(localStorage.getItem(`cursorGlowTrail`)===`true`)};return e(),window.addEventListener(`client-config-changed`,e),window.addEventListener(`storage`,e),()=>{window.removeEventListener(`client-config-changed`,e),window.removeEventListener(`storage`,e)}},[]),(0,n.useEffect)(()=>{if(localStorage.getItem(`showBackgroundArt`)===`false`)return;i(gr());let e=setInterval(()=>{let e=gr();o(e),c(!0),setTimeout(()=>{i(e),c(!1),o(null)},1e3)},2e4);return()=>clearInterval(e)},[]);let x=e=>e.endsWith(`.webm`)||e.endsWith(`.mp4`),C=(e,t)=>x(e)?(0,d.jsx)(`video`,{src:e,autoPlay:!0,loop:!0,muted:!0,playsInline:!0,className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 ${t}`},e):(0,d.jsx)(`img`,{src:e,alt:``,className:`absolute inset-0 w-full h-full object-cover transition-opacity duration-1000 ${t}`},e);return(0,d.jsxs)(`div`,{className:`relative min-h-screen w-full`,children:[(0,d.jsxs)(`div`,{className:`absolute inset-0 z-0`,children:[r&&C(r,s?`opacity-0`:`opacity-30`),a&&C(a,s?`opacity-30`:`opacity-0`),v&&(0,d.jsx)($n,{})]}),(0,d.jsx)(`div`,{className:`relative z-10`,children:(0,d.jsxs)(`div`,{className:`flex flex-col items-center justify-end md:justify-center min-h-[calc(100dvh-64px)] md:min-h-screen max-w-screen-sm mx-auto p-2 pb-1 md:pb-2`,children:[(0,d.jsx)(`div`,{style:{height:`200px`,width:`100%`,display:`flex`,alignItems:`center`,justifyContent:`center`},className:g?void 0:`pointer-events-none`,children:(0,d.jsx)(S.default,{autoRandomize:!0,onSphereClick:()=>console.log(`Sphere clicked`),className:`my-custom-class`})}),(0,d.jsxs)(`div`,{className:`w-full max-w-2xl mt-8 space-y-2`,children:[(0,d.jsx)(pr,{}),(0,d.jsxs)(`div`,{className:`flex flex-col md:flex-row gap-2 w-full`,children:[(0,d.jsx)(k.WeatherForecast,{compact:!0,forecastDays:5,forecastHours:12,locations:f.length>0?f:void 0,className:`rounded-2xl`,style:{background:`rgba(255,255,255,0.08)`,border:`1px solid rgba(255,255,255,0.15)`,color:`inherit`,backdropFilter:`blur(8px)`}}),(0,d.jsx)(A.TrendingNews,{compact:!0,maxTopics:6,apiEndpoint:m||void 0,className:`rounded-2xl md:flex-1`,style:{background:`rgba(255,255,255,0.08)`,border:`1px solid rgba(255,255,255,0.15)`,color:`inherit`,backdropFilter:`blur(8px)`,maxWidth:`100%`}})]}),(0,d.jsx)(Tn,{})]})]})}),(0,d.jsx)(mr,{listFooterLinks:b}),(0,d.jsx)(hr,{open:l,onOpenChange:u})]})}var yr=()=>(0,d.jsxs)(`svg`,{"aria-hidden":`true`,className:`w-8 h-8 text-border fill-secondary animate-spin`,viewBox:`0 0 100 101`,fill:`none`,xmlns:`http://www.w3.org/2000/svg`,children:[(0,d.jsx)(`path`,{d:`M100 50.5908C100.003 78.2051 78.1951 100.003 50.5908 100C22.9765 99.9972 0.997224 78.018 1 50.4037C1.00281 22.7993 22.8108 0.997224 50.4251 1C78.0395 1.00281 100.018 22.8108 100 50.4251ZM9.08164 50.594C9.06312 73.3997 27.7909 92.1272 50.5966 92.1457C73.4023 92.1642 92.1298 73.4365 92.1483 50.6308C92.1669 27.8251 73.4392 9.0973 50.6335 9.07878C27.8278 9.06026 9.10003 27.787 9.08164 50.594Z`,fill:`currentColor`}),(0,d.jsx)(`path`,{d:`M93.9676 39.0409C96.393 38.4037 97.8624 35.9116 96.9801 33.5533C95.1945 28.8227 92.871 24.3692 90.0681 20.348C85.6237 14.1775 79.4473 9.36872 72.0454 6.45794C64.6435 3.54717 56.3134 2.65431 48.3133 3.89319C45.869 4.27179 44.3768 6.77534 45.014 9.20079C45.6512 11.6262 48.1343 13.0956 50.5786 12.717C56.5073 11.8281 62.5542 12.5399 68.0406 14.7911C73.527 17.0422 78.2187 20.7487 81.5841 25.4923C83.7976 28.5886 85.4467 32.059 86.4416 35.7474C87.1273 38.1189 89.5423 39.6781 91.9676 39.0409Z`,fill:`currentFill`})]});function br(){return(0,d.jsx)(`div`,{className:`flex min-h-screen flex-col items-center justify-center p-8`,children:(0,d.jsxs)(`div`,{className:`max-w-2xl w-full space-y-6 bg-light-secondary dark:bg-dark-secondary rounded-lg p-8 border border-black/10 dark:border-white/10`,children:[(0,d.jsxs)(`div`,{className:`space-y-2`,children:[(0,d.jsx)(`h1`,{className:`text-2xl font-semibold text-black dark:text-white`,children:`⚠️ Configuration Required`}),(0,d.jsx)(`p`,{className:`text-black/70 dark:text-white/70`,children:`No AI model providers are configured. Add at least one API key to continue.`})]}),(0,d.jsxs)(`div`,{className:`space-y-4`,children:[(0,d.jsx)(`h2`,{className:`text-lg font-medium text-black dark:text-white`,children:`Quick Setup:`}),(0,d.jsxs)(`div`,{className:`space-y-3 text-sm`,children:[(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:`1. Create environment file:`}),(0,d.jsx)(`code`,{className:`block bg-black/10 dark:bg-white/10 rounded p-2 text-xs overflow-x-auto`,children:`apps/qwksearch-web/.env.local`})]}),(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:`2. Add required variables:`}),(0,d.jsx)(`pre`,{className:`block bg-black/10 dark:bg-white/10 rounded p-3 text-xs overflow-x-auto text-black/80 dark:text-white/80`,children:`# Database
|
|
34
34
|
DATABASE_URL=file:./data/qwksearch.db
|
|
35
35
|
|
|
36
36
|
# Auth (generate: openssl rand -base64 32)
|
|
@@ -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 br=()=>{let e=(0,r.useRouter)(),{hasError:t,isReady:i,notFound:a,messages:o}=G(),{isAuthenticated:s}=Ze();return(0,n.useEffect)(()=>{i&&a&&!s&&e.replace(`/`)},[i,a,s,e]),t?(0,d.jsx)(yr,{}):i&&a&&!s?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(vr,{})}):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)(Zn,{})}):(0,d.jsx)(_r,{})}):(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(vr,{})})};function xr(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 we();let e=await Ee();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 Te()).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:De()}}var Sr={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 Cr({preloadOnMount:e=!1}){let{status:t,modelReady:r,voices:i,selectedVoice:a,error:o,warmupModel:c,changeVoice:l,backend:u}=xr(``,{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:j(`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}),Sr[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:j(`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:Sr[e]||e},e))})]})]})}function wr(){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)(()=>Gt()),{start:u,speechStatus:f}=Oe(`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),Kt(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)(Cr,{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:j(`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.`]})})]})]})}exports.ARTICLE_TOOLBAR_SHORTCUTS=On,exports.ArticleAIResponse=Fn,exports.ArticleActionButtons=Mn,exports.ArticleContent=Ln,exports.ArticleFollowupQuestions=Pn,exports.ArticlePanelHeader=En,exports.ArticlePromptInput=Nn,exports.ChatInputBox=wn,exports.ChatProvider=Qe,exports.ChatWindow=br,exports.ExtractPanelProvider=L,exports.HistoryDialogs=sr,exports.HistoryDropdown=ur,exports.KokoroVoiceSelector=Cr,exports.LexicalArticleViewer=In,exports.SessionProvider=Xe,exports.UnifiedMarkdown=qn,exports.VoiceSettingsPanel=wr,exports.cn=j,exports.configureResearchAgentUI=t.configureResearchAgentUI,exports.formatMessageTime=M,exports.formatTimeDifference=N,exports.formatToolbarShortcut=An,exports.researchAgentUIConfig=t.researchAgentUIConfig,exports.useChat=G,exports.useChatState=Ke,exports.useExtractPanel=I,exports.useHistoryState=rr,exports.useKokoroTTS=xr,exports.useSession=Ze,exports.useTextToSpeech=Oe;
|
|
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 xr=()=>{let e=(0,r.useRouter)(),{hasError:t,isReady:i,notFound:a,messages:o}=G(),{isAuthenticated:s}=Qe();return(0,n.useEffect)(()=>{i&&a&&!s&&e.replace(`/`)},[i,a,s,e]),t?(0,d.jsx)(br,{}):i&&a&&!s?(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(yr,{})}):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)(Qn,{})}):(0,d.jsx)(vr,{})}):(0,d.jsx)(`div`,{className:`flex flex-row items-center justify-center min-h-screen`,children:(0,d.jsx)(yr,{})})};function Sr(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 Te();let e=await De();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 Ee()).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:Oe()}}var Cr={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 wr({preloadOnMount:e=!1}){let{status:t,modelReady:r,voices:i,selectedVoice:a,error:o,warmupModel:c,changeVoice:l,backend:u}=Sr(``,{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:j(`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}),Cr[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:j(`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:Cr[e]||e},e))})]})]})}function Tr(){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)(()=>Kt()),{start:u,speechStatus:f}=ke(`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),qt(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)(wr,{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:j(`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.`]})})]})]})}exports.ARTICLE_TOOLBAR_SHORTCUTS=kn,exports.ArticleAIResponse=In,exports.ArticleActionButtons=Nn,exports.ArticleContent=Rn,exports.ArticleFollowupQuestions=Fn,exports.ArticlePanelHeader=Dn,exports.ArticlePromptInput=Pn,exports.ChatInputBox=Tn,exports.ChatProvider=$e,exports.ChatWindow=xr,exports.ExtractPanelProvider=L,exports.HistoryDialogs=cr,exports.HistoryDropdown=dr,exports.KokoroVoiceSelector=wr,exports.LexicalArticleViewer=Ln,exports.SessionProvider=Ze,exports.UnifiedMarkdown=Jn,exports.VoiceSettingsPanel=Tr,exports.cn=j,exports.configureResearchAgentUI=t.configureResearchAgentUI,exports.formatMessageTime=M,exports.formatTimeDifference=N,exports.formatToolbarShortcut=jn,exports.researchAgentUIConfig=t.researchAgentUIConfig,exports.useChat=G,exports.useChatState=qe,exports.useExtractPanel=I,exports.useHistoryState=ir,exports.useKokoroTTS=Sr,exports.useSession=Qe,exports.useTextToSpeech=ke;
|