1"use strict";(self.rspackChunknewapi_web=self.rspackChunknewapi_web||[]).push([[5569],{27711(e,t,r){var n=r(79015),a=r(58197),s=r(91174),l=r(89766),i=r(40116),o=r(82939),d=r(52300),c=r(53926),u=r(35140),m=r(70556),h=r(70367),p=r(65311),x=r(89077),f=r(73178),g=r(52909),b=r(47801);let v=(0,p.createContext)({code:"",language:"plaintext"}),j={csharp:"c#",golang:"go",js:"javascript",shell:"bash",shellscript:"bash",ts:"typescript"},y=/^[a-z0-9][a-z0-9+#._-]{0,31}$/i,w=i.Lz.theme({"&":{background:"transparent",color:"var(--foreground)",fontSize:"13px"},".cm-content":{caretColor:"var(--foreground)",fontFamily:"var(--font-mono)",lineHeight:"1.5rem",minHeight:"var(--code-editor-min-height)",minWidth:"max-content",padding:"1rem 1rem 1rem 0"},".cm-editor":{background:"transparent",width:"100%"},".cm-focused":{outline:"none"},".cm-gutters":{background:"transparent",borderRight:"0",color:"var(--muted-foreground)",fontFamily:"var(--font-mono)",fontSize:"13px",lineHeight:"1.5rem",padding:"1rem 1rem 1rem 0"},".cm-gutters:empty":{display:"none"},".cm-lineNumbers .cm-gutterElement":{minWidth:"2.5rem",padding:"0 1rem 0 0",textAlign:"right"},".cm-line":{padding:"0"},".cm-scroller":{fontFamily:"var(--font-mono)",lineHeight:"1.5rem",minHeight:"var(--code-editor-min-height)",overflow:"auto"},".cm-selectionBackground":{background:"color-mix(in oklch, var(--primary) 28%, transparent) !important"}}),N=(0,s.y9)(s.cr.define([{tag:o._A.heading,color:"#e06c75",fontWeight:"600"},{tag:[o._A.strong,o._A.emphasis],color:"#d19a66"},{tag:[o._A.link,o._A.url],color:"#61afef"},{tag:[o._A.monospace,o._A.contentSeparator],color:"#98c379"},{tag:[o._A.keyword,o._A.processingInstruction],color:"#c678dd"},{tag:[o._A.atom,o._A.bool,o._A.number],color:"#d19a66"},{tag:[o._A.string,o._A.inserted],color:"#98c379"},{tag:[o._A.deleted,o._A.invalid],color:"#e06c75"},{tag:[o._A.meta,o._A.comment],color:"var(--muted-foreground)"}]));function k(e){let t=e?.trim().toLowerCase()||"plaintext";return y.test(t)?j[t]??t:"plaintext"}function C(e){return`${1.5*Math.max(4,e)+2}rem`}function A(e){let{ariaLabel:t,autoFocus:r=!1,language:s,onChange:o,onKeyDown:d,readOnly:c=!1,rows:u=8,showLineNumbers:m=!0,value:h}=e,x=(0,p.useRef)(null),f=(0,p.useRef)(null),g=(0,p.useRef)(h),b=(0,p.useRef)(o),v=`${1.5*Math.max(4,u)+2}rem`,j=(0,p.useMemo)(()=>{var e;let t,r;return r=["markdown"===(t=k((e={language:s,onKeyDown:d,readOnly:c,showLineNumbers:m}).language))||"md"===t||"mdx"===t?(0,a.wD)():[],N,w,l.$t.tabSize.of(2),l.$t.readOnly.of(e.readOnly),i.Lz.editable.of(!e.readOnly)],e.showLineNumbers&&r.unshift((0,i.$K)()),e.onKeyDown&&r.push(i.Lz.domEventHandlers({keydown:t=>(e.onKeyDown?.(t),t.defaultPrevented)})),r},[s,d,c,m]);return(0,p.useEffect)(()=>{b.current=o},[o]),(0,p.useEffect)(()=>{let e=x.current;if(!e)return;let t=new i.Lz({doc:g.current,extensions:[...j,i.Lz.updateListener.of(e=>{e.docChanged&&b.current?.(e.state.doc.toString())})],parent:e});return f.current=t,r&&t.focus(),()=>{t.destroy(),f.current=null}},[r,j]),(0,p.useEffect)(()=>{let e=f.current;e&&e.state.doc.toString()!==h&&e.dispatch({changes:{from:0,to:e.state.doc.length,insert:h}})},[h]),(0,n.jsx)("div",{"aria-label":t,"aria-readonly":c,className:"min-h-(--code-editor-min-height)",ref:x,role:"textbox",style:{"--code-editor-min-height":v}})}let S=e=>{let{bodyClassName:t,bodyMaxHeight:r,bodyOverlay:a,children:s,className:l,endActions:i,showToolbar:o=!1,title:d,...c}=e;return(0,n.jsxs)("div",{className:(0,b.cn)("group/code-block bg-muted/20 text-foreground my-3 w-full max-w-full overflow-hidden rounded-lg border shadow-xs",l),...c,children:[o&&(0,n.jsxs)("div",{className:"bg-muted/35 border-border/70 flex min-h-10 items-center gap-2 border-b px-2 py-1.5",children:[(0,n.jsx)("div",{className:"min-w-0 flex-1",children:(0,n.jsx)("div",{className:"text-muted-foreground truncate font-mono text-[11px] font-medium tracking-wide uppercase",children:d})}),i&&(0,n.jsx)("div",{className:"flex shrink-0 items-center gap-1",children:i})]}),(0,n.jsxs)("div",{className:"relative min-w-0",children:[(0,n.jsx)("div",{className:(0,b.cn)("code-block-scroll max-w-full overflow-auto transition-[max-height] duration-200 ease-out",t),style:{maxHeight:r},children:s}),a]})]})};r.d(t,{},{NG:e=>{let{code:t,collapsedLines:r=12,defaultCollapsed:a,enableCollapse:s=!0,filename:l,language:i,maxExpandedLines:o,maxCollapsedLines:m,showLineNumbers:h=!1,showToolbar:b=!1,title:j,className:y,children:w,...N}=e,{t:_}=(0,x.Bd)(),[R,E]=(0,p.useState)(!!a),M=k(i),z=(0,p.useMemo)(()=>t?t.split("\n").length:1,[t]),T=m??r,L=s&&z>T,O=L&&R,$=j??M,F=O?C(T):o?C(o):void 0;return(0,n.jsx)(v.Provider,{value:{code:t,language:M},children:(0,n.jsx)(S,{bodyClassName:"p-0",bodyMaxHeight:F,bodyOverlay:(0,n.jsxs)(n.Fragment,{children:[O&&(0,n.jsx)("div",{className:"from-muted/20 to-background pointer-events-none absolute inset-x-0 bottom-0 h-16 bg-linear-to-b"}),!b&&w&&(0,n.jsx)("div",{className:"absolute top-2 right-2 flex items-center gap-1",children:w})]}),className:y,endActions:(0,n.jsxs)(n.Fragment,{children:[L&&(0,n.jsxs)(g.m_,{children:[(0,n.jsx)(g.k$,{render:(0,n.jsx)(f.$,{"aria-label":_(O?"Expand":"Collapse"),className:"size-8",onClick:()=>E(e=>!e),size:"icon-sm",type:"button",variant:"ghost",children:O?(0,n.jsx)(d.A,{className:"size-4"}):(0,n.jsx)(c.A,{className:"size-4"})})}),(0,n.jsx)(g.ZI,{children:(0,n.jsx)("p",{children:_(O?"Expand":"Collapse")})})]}),b&&w,(0,n.jsxs)(g.m_,{children:[(0,n.jsx)(g.k$,{render:(0,n.jsx)(f.$,{"aria-label":_("Download"),className:"size-8",onClick:()=>
1{if("u"<typeof window)return;let e=new Blob([t],{type:"text/plain;charset=utf-8"}),r=URL.createObjectURL(e),n=document.createElement("a");n.href=r,n.download=l||`code.${"plaintext"===M?"txt":M}`,n.click(),URL.revokeObjectURL(r)},size:"icon-sm",type:"button",variant:"ghost",children:(0,n.jsx)(u.A,{className:"size-4"})})}),(0,n.jsx)(g.ZI,{children:(0,n.jsx)("p",{children:_("Download")})})]})]}),showToolbar:b,title:$,...N,children:(0,n.jsx)(A,{ariaLabel:"string"==typeof $?$:M,language:i,readOnly:!0,rows:Math.min(Math.max(z,4),o??z),showLineNumbers:h,value:t})})})},gZ:e=>{let{onCopy:t,onError:r,timeout:a=2e3,children:s,className:l,...i}=e,{t:o}=(0,x.Bd)(),[d,c]=(0,p.useState)(!1),{code:u}=(0,p.useContext)(v),j=async()=>{if("u"<typeof window||!navigator?.clipboard?.writeText)return void r?.(Error("Clipboard API not available"));try{await navigator.clipboard.writeText(u),c(!0),t?.(),setTimeout(()=>c(!1),a)}catch(e){r?.(e)}},y=d?m.A:h.A,w=(0,n.jsx)(f.$,{"aria-label":o(d?"Copied!":"Copy code"),className:(0,b.cn)("size-8 shrink-0",l),onClick:j,size:"icon-sm",type:"button",variant:"ghost",...i,children:s??(0,n.jsx)(y,{size:14})});return(0,n.jsxs)(g.m_,{children:[(0,n.jsx)(g.k$,{render:w}),(0,n.jsx)(g.ZI,{children:(0,n.jsx)("p",{children:o(d?"Copied!":"Copy code")})})]})},oJ:e=>{let{actions:t,ariaLabel:r,className:a,language:s,onChange:l,onKeyDown:i,rows:o=8,title:d,value:c,...u}=e;return(0,n.jsx)(S,{bodyClassName:"p-0",className:a,endActions:t,showToolbar:!0,title:d,...u,children:(0,n.jsx)(A,{ariaLabel:r,autoFocus:!0,language:s,onChange:l,onKeyDown:i,rows:o,showLineNumbers:!0,value:c})})}})},62301(e,t,r){var n=r(79015);r(65311);var a=r(27953),s=r(47801);function l(e){let{...t}=e;return(0,n.jsx)(a._s.Root,{"data-slot":"drawer",...t})}function i(e){let{...t}=e;return(0,n.jsx)(a._s.Trigger,{"data-slot":"drawer-trigger",...t})}function o(e){let{...t}=e;return(0,n.jsx)(a._s.Portal,{"data-slot":"drawer-portal",...t})}function d(e){let{className:t,...r}=e;return(0,n.jsx)(a._s.Overlay,{"data-slot":"drawer-overlay",className:(0,s.cn)("data-open:animate-in data-open:fade-in-0 data-closed:animate-out data-closed:fade-out-0 fixed inset-0 z-50 bg-black/10 supports-backdrop-filter:backdrop-blur-xs",t),...r})}function c(e){let{className:t,children:r,...l}=e;return(0,n.jsxs)(o,{"data-slot":"drawer-portal",children:[(0,n.jsx)(d,{}),(0,n.jsxs)(a._s.Content,{"data-slot":"drawer-content",className:(0,s.cn)("group/drawer-content bg-background text-foreground fixed z-50 flex h-auto flex-col overflow-hidden text-sm shadow-none data-[vaul-drawer-direction=bottom]:inset-x-0 data-[vaul-drawer-direction=bottom]:bottom-0 data-[vaul-drawer-direction=bottom]:mt-24 data-[vaul-drawer-direction=bottom]:max-h-[80vh] data-[vaul-drawer-direction=bottom]:rounded-t-xl data-[vaul-drawer-direction=bottom]:border-t data-[vaul-drawer-direction=left]:inset-y-0 data-[vaul-drawer-direction=left]:left-0 data-[vaul-drawer-direction=left]:w-3/4 data-[vaul-drawer-direction=left]:rounded-r-xl data-[vaul-drawer-direction=left]:border-r data-[vaul-drawer-direction=right]:inset-y-0 data-[vaul-drawer-direction=right]:right-0 data-[vaul-drawer-direction=right]:w-3/4 data-[vaul-drawer-direction=right]:rounded-l-xl data-[vaul-drawer-direction=right]:border-l data-[vaul-drawer-direction=top]:inset-x-0 data-[vaul-drawer-direction=top]:top-0 data-[vaul-drawer-direction=top]:mb-24 data-[vaul-drawer-direction=top]:max-h-[80vh] data-[vaul-drawer-direction=top]:rounded-b-xl data-[vaul-drawer-direction=top]:border-b data-[vaul-drawer-direction=left]:sm:max-w-sm data-[vaul-drawer-direction=right]:sm:max-w-sm",t),...l,children:[(0,n.jsx)("div",{className:"bg-muted mx-auto mt-4 hidden h-1 w-[100px] shrink-0 rounded-full group-data-[vaul-drawer-direction=bottom]/drawer-content:block"}),r]})]})}function u(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"drawer-header",className:(0,s.cn)("flex flex-col gap-0.5 p-4 group-data-[vaul-drawer-direction=bottom]/drawer-content:text-center group-data-[vaul-drawer-direction=top]/drawer-content:text-center md:gap-0.5 md:text-left",t),...r})}function m(e){let{className:t,...r}=e;return(0,n.jsx)("div",{"data-slot":"drawer-footer",className:(0,s.cn)("mt-auto flex flex-col gap-2 p-4",t),...r})}function h(e){let{className:t,...r}=e;return(0,n.jsx)(a._s.Title,{"data-slot":"drawer-title",className:(0,s.cn)("text-foreground text-base font-medium",t),...r})}function p(e){let{className:t,...r}=e;return(0,n.jsx)(a._s.Description,{"data-slot":"drawer-description",className:(0,s.cn)("text-muted-foreground text-sm",t),...r})}r.d(t,{BE:()=>u,I6:()=>p,Uz:()=>i,_s:()=>l,gk:()=>h,tb:()=>m,zj:()=>c})},59080(e,t,r){r.r(t),r.d(t,{component:()=>rN});var n=r(79015),a=r(51571),s=r(65311),l=r(89077),i=r(10200),o=r(4921),d=r(73178),c=r(47801);let u=e=>{let{className:t,...r}=e;
1return(0,n.jsx)(o.z,{className:(0,c.cn)("relative min-h-0 flex-1 overflow-hidden",t),initial:"smooth",resize:"smooth",role:"log",...r})},m=e=>{let{className:t,...r}=e;return(0,n.jsx)(o.z.Content,{className:(0,c.cn)("p-4",t),...r})},h=e=>{let{className:t,...r}=e,{isAtBottom:a,scrollToBottom:l}=(0,o.B)(),u=(0,s.useCallback)(()=>{l()},[l]);return!a&&(0,n.jsx)(d.$,{className:(0,c.cn)("absolute bottom-4 left-[50%] translate-x-[-50%]",t),onClick:u,size:"icon",type:"button",variant:"outline","aria-label":"Scroll to bottom",...r,children:(0,n.jsx)(i.A,{className:"size-4","aria-hidden":"true"})})},p=e=>{let{size:t=16}=e,{t:r}=(0,l.Bd)();return(0,n.jsxs)("svg",{height:t,strokeLinejoin:"round",style:{color:"currentcolor"},viewBox:"0 0 16 16",width:t,children:[(0,n.jsx)("title",{children:r("Loader")}),(0,n.jsxs)("g",{clipPath:"url(#clip0_2393_1490)",children:[(0,n.jsx)("path",{d:"M8 0V4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M8 16V12",opacity:"0.5",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 1.52783L5.64887 4.7639",opacity:"0.9",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 1.52783L10.3511 4.7639",opacity:"0.1",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M12.7023 14.472L10.3511 11.236",opacity:"0.4",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M3.29773 14.472L5.64887 11.236",opacity:"0.6",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 5.52783L11.8043 6.7639",opacity:"0.2",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 10.472L4.19583 9.23598",opacity:"0.7",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M15.6085 10.4722L11.8043 9.2361",opacity:"0.3",stroke:"currentColor",strokeWidth:"1.5"}),(0,n.jsx)("path",{d:"M0.391602 5.52783L4.19583 6.7639",opacity:"0.8",stroke:"currentColor",strokeWidth:"1.5"})]}),(0,n.jsx)("defs",{children:(0,n.jsx)("clipPath",{id:"clip0_2393_1490",children:(0,n.jsx)("rect",{fill:"white",height:"16",width:"16"})})})]})},x=e=>{let{className:t,size:r=16,...a}=e;return(0,n.jsx)("div",{className:(0,c.cn)("inline-flex animate-spin items-center justify-center",t),...a,children:(0,n.jsx)(p,{size:r})})};var f=r(13849);r(52613);let g=e=>{let{className:t,from:r,...a}=e;return(0,n.jsx)("div",{className:(0,c.cn)("group flex w-full items-end justify-end gap-2","user"===r?"is-user":"is-assistant flex-row-reverse justify-end",t),...a})},b=(0,f.F)("is-user:dark flex flex-col gap-2 overflow-hidden rounded-lg text-sm",{variants:{variant:{contained:["max-w-[100%] px-3 py-1","group-[.is-user]:bg-primary group-[.is-user]:text-primary-foreground","group-[.is-assistant]:bg-secondary group-[.is-assistant]:text-foreground"],flat:["group-[.is-user]:max-w-[80%] group-[.is-user]:bg-secondary group-[.is-user]:px-3 group-[.is-user]:py-1 group-[.is-user]:text-foreground","group-[.is-assistant]:text-foreground"]}},defaultVariants:{variant:"contained"}}),v=e=>{let{children:t,className:r,variant:a,...s}=e;return(0,n.jsx)("div",{className:(0,c.cn)(b({variant:a,className:r})),...s,children:t})};var j=r(77326),y=r(6863),w=r(16806),N=r(18209);let k=[{action:"upload-file",icon:j.A,label:"Upload file"},{action:"upload-photo",icon:y.A,label:"Upload photo"},{action:"take-screenshot",icon:w.A,label:"Take screenshot"},{action:"take-photo",icon:N.A,label:"Take photo"}],C="user",A="assistant",S="loading",_="streaming",R="complete",E="error",M="/pg/chat/completions",z={model:"gpt-4o",group:"default",temperature:.7,top_p:1,max_tokens:4096,frequency_penalty:0,presence_penalty:0,seed:null,stream:!0},T={temperature:!0,top_p:!0,max_tokens:!1,frequency_penalty:!0,presence_penalty:!0,seed:!1},L="playground_config",O="playground_messages",$="playground_parameter_enabled",F={API_REQUEST_ERROR:"Request error occurred",NETWORK_ERROR:"Network connection failed or server not responding",PARSE_ERROR:"Error parsing response data",STREAM_START_ERROR:"Error establishing connection",CONNECTION_CLOSED:"Connection closed",INTERRUPTED:"Generation was interrupted"};var I=r(40144);function P(e){return{id:(0,I.Ak)(),content:e}}function D(e){return e.versions[0]||{id:"default",content:""}}function B(e){return D(e).content}function U(e){return""!==B(e).trim()}function G(e,t){let r=D(e);return{...e,versions:[{...r,content:t}]}}function K(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:Date.now();return{key:(0,I.Ak)(),from:A,versions:[P("")],createdAt:e,startedAt:e,reasoning:void 0,isReasoningComplete:!1,isContentComplete:!1,isReasoningStreaming:!1,status:S}}function W(e){let t=D(e);return{role:e.from,content:t.content}}function q(e){return!!e&&!!e.from&&!!e.versions.length&&(e.from!==A||!!U(e))}function H(e){if(!e.includes("<think>"))return{visibleContent:e,reasoning:"",hasUnclosedTag:!1};let t=[],r=[],n=0,a=!1;for(;;){let s=e.indexOf("<think>",n);if(-1===s){n<e.length&&t.push(e.slice(n));break}s>n&&t.push(e.slice(n,s));let l=e.indexOf("</think>",s+7);if(-1===l){r.push(e.slice(s+7)),a=!0;break}r.push(e.slice(s+7,l)),n=l+8}return{visibleContent:t.join("").trim(),reasoning:r.join("\n\n").trim(),hasUnclosedTag:a}}let V="An unknown error occurred";function Y(e){return e.status===E}var Z=r(54958);function Q(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();if(e.from!==A)return e;let r=e.startedAt??e.createdAt??t;return{...e,startedAt:r,completedAt:t,durationMs:Math.max(0,t-r)}}function J(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return{content:e.reasoning?.content??"",duration:e.reasoning?.duration??0,startedAt:e.reasoning?.startedAt??t,completedAt:e.reasoning?.completedAt,durationMs:e.reasoning?.durationMs}}function X(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();if(!e.reasoning||void 0!==e.reasoning.durationMs)return e;let r=e.reasoning.startedAt??e.startedAt??t,n=Math.max(0,t-r);return{...e,reasoning:{...e.reasoning,startedAt:r,completedAt:t,durationMs:n,duration:Math.ceil(n/1e3)}}}function ee(e,t){return e&&t.startsWith(e)?t.slice(e.length):t}function et(e,t,r){if(e.status===E)return e;if("reasoning"===t){let t=J(e),n=ee(t.content,r);return{...e,reasoning:{...t,content:t.content+n},isReasoningStreaming:!0,status:_}}let n=ee(D(e).content,r),a=function(e,t){let r=D(e),n=t?r.content+t:r.content;if(!e.reasoning&&!n.includes("<think>"))return{...G(e,n),isReasoningStreaming:!1};let{reasoning:a,hasUnclosedTag:s}=H(n),l=a?{...J(e),content:a}:e.reasoning;return{...G(e,n),reasoning:l,isReasoningStreaming:s}}(e,n);return{...a.isReasoningStreaming?a:X(a),status:_}}function er(e,t){let r=D(e),n=r.content.includes("<think>")?H(r.content):void 0,a=n?.visibleContent??r.content,s=t||e.reasoning?.content||n?.reasoning||"";return X({...G(e,a),reasoning:s?{...J(e),content:s}:void 0,isReasoningStreaming:!1})}function en(e){return Q({...er(e),status:R})}function ea(e){return e.status===S||e.status===_}function es(e,t){if(0===e.length)return e;let r=e.at(-1);if(!r||r.from!==A)return e;let n=[...e];return n[n.length-1]=t(r),n}function el(e,t){return e instanceof Error?e.message:t}var ei=r(25589);let eo=ei.Ik({model:ei.Yj().optional(),group:ei.Yj().optional(),temperature:ei.ai().optional(),top_p:ei.ai().optional(),max_tokens:ei.ai().optional(),frequency_penalty:ei.ai().optional(),presence_penalty:ei.ai().optional(),seed:ei.ai().nullable().optional(),stream:ei.zM().optional()}),ed=ei.Ik({temperature:ei.zM().optional(),top_p:ei.zM().optional(),max_tokens:ei.zM().optional(),frequency_penalty:ei.zM().optional(),presence_penalty:ei.zM().optional(),seed:ei.zM().optional()}),ec=ei.k5(["user","assistant","system"]),eu=ei.k5(["loading","streaming","complete","error"]),em=ei.Ik({id:ei.Yj(),content:ei.Yj()}),eh=ei.Ik({href:ei.Yj(),title:ei.Yj()}),ep=ei.Ik({content:ei.Yj(),duration:ei.ai(),startedAt:ei.ai().optional(),completedAt:ei.ai().optional(),durationMs:ei.ai().optional()}),ex=ei.Ik({key:ei.Yj(),from:ec,versions:ei.YO(em).min(1),createdAt:ei.ai().optional(),startedAt:ei.ai().optional(),completedAt:ei.ai().optional(),durationMs:ei.ai().optional(),sources:ei.YO(eh).optional(),reasoning:ep.optional(),isReasoningStreaming:ei.zM().optional(),isReasoningComplete:ei.zM().optional(),isContentComplete:ei.zM().optional(),status:eu.optional(),errorCode:ei.Yj().nullable().optional()}),ef=ei.YO(ex),eg="\n\n[...]",eb=/^#{2,6}\s+\d+\.\s+.+$/gm;function ev(e){let t=localStorage.getItem(e);return t?JSON.parse(t):null}function ej(e){return e&&"object"==typeof e&&"version"in e&&"data"in e?e.data:e}function ey(e,t){localStorage.setItem(e,JSON.stringify({version:1,data:t}))}function ew(e){return e.length<=100?e:e.slice(-100)}function eN(e,t){return e.length<=t?e:t<=eg.length?e.slice(0,t):`${e.slice(0,t-eg.length)}${eg}`}function ek(e){let t=!1,r=e.versions.map(e=>{let r=function(e){if(e.length<2e3)return e;let t=function(e){let t=function(e){let t=[];for(let r of e.matchAll(eb)){let e=r.index;void 0!==e&&t.push({heading:r[0],index:e})}return t}(e),r=function(e){let t=new Map;for(let r of e)t.set(r.heading,(t.get(r.heading)??0)+1);return t}(t),n=[],a=new Set;for(let e=t.length-1;e>=0;e--){let s=t[e];(r.get(s.heading)??0)<3||a.has(s.heading)||(a.add(s.heading),n.push(s.index))}return 0===n.length?-1:Math.min(...n)}(e);return -1===t?e:e.slice(t)}(e.content),n=eN(r,4e4);return n===e.content&&r===e.content?e:(t=!0,{...e,content:n})}),n=e.reasoning?{...e.reasoning,content:eN(e.reasoning.content,4e4)}:void 0;n?.content!==e.reasoning?.content&&(t=!0);let a=t?{...e,versions:r,reasoning:n}:e;if(!ea(a))return a;let s=U(a),l=a.reasoning?.content.trim();if(!s&&!l)return a;let i=a.completedAt??a.reasoning?.completedAt??a.startedAt??a.createdAt??Date.now();return Q({...er(a),status:R,isReasoningStreaming:!1},i)}function eC(e){try{let t=eo.parse(e);ey(L,t)}catch(e){console.error("Failed to save config:",e)}}function eA(e){try{let t=ed.parse(e);ey($,t)}catch(e){console.error("Failed to save parameter enabled:",e)}}function eS(e){try{let t=ew(e),r=ef.parse(t);ey(O,r)}catch(e){console.error("Failed to save messages:",e)}}function e_(){return{...z,...function(){try{let e=ev(L);if(!e)return{};return eo.parse(ej(e))}catch(e){console.error("Failed to load config:",e)}return{}}()}}function eR(){return{...T,...function(){try{let e=ev($);if(!e)return{};return ed.parse(ej(e))}catch(e){console.error("Failed to load parameter enabled:",e)}return{}}()}}function eE(e,t,r){let n=e.filter(q).map(W),a={model:t.model,group:t.group,messages:n,stream:t.stream};return r.temperature&&(a.temperature=t.temperature),r.top_p&&(a.top_p=t.top_p),r.max_tokens&&(a.max_tokens=t.max_tokens),r.frequency_penalty&&(a.frequency_penalty=t.frequency_penalty),r.presence_penalty&&(a.presence_penalty=t.presence_penalty),r.seed&&null!==t.seed&&(a.seed=t.seed),a}
1var eM=r(70556),ez=r(70367),eT=r(13578),eL=r(79736),eO=r(60991),e$=r(30935),eF=r(60061),eI=r(26028),eP=r(30218),eD=r(52909),eB=r(95871);function eU(e){let{icon:t,label:r,onClick:a,disabled:s=!1,className:l="",variant:i="default"}=e;return(0,n.jsxs)(eD.m_,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(d.$,{variant:"ghost",size:"icon",className:`${"destructive"===i?"size-7 text-muted-foreground hover:text-destructive":"size-7 text-muted-foreground hover:text-foreground"} ${l}`,onClick:a,disabled:s,"aria-label":r}),children:(0,n.jsx)(t,{className:"size-4"})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:r})})]})}function eG(e){let{message:t,onCopy:r,onRegenerate:a,onToggleSource:i,onEdit:o,onDelete:c,isSourceVisible:u=!1,isGenerating:m=!1,alwaysVisible:h=!1,className:p=""}=e,{t:x}=(0,l.Bd)(),{copiedText:f,copyToClipboard:g}=(0,eB.C)(),{guardAction:b}=function(e){let{t}=(0,l.Bd)();return{guardAction:(0,s.useCallback)(r=>()=>{e?eI.oR.warning(t("Please wait for the current generation to complete")):r()},[e,t])}}(m),{content:v,hasContent:j,isAssistant:y,isLoading:w,isUser:N}={content:B(t),hasContent:U(t),isAssistant:t.from===A,isUser:t.from===C,isLoading:t.status===S||t.status===_},k=f===v,R=b(()=>a?.(t)),E=b(()=>o?.(t)),M=b(()=>c?.(t)),z=[];return(j&&z.push({className:k?"text-green-600":"",icon:k?eM.A:ez.A,label:k?"Copied!":"Copy",onClick:()=>{v?(g(v),r?.(t)):eI.oR.warning(x("No content to copy"))}}),y&&j&&!w&&i&&z.push({icon:eT.A,label:u?"Show preview":"Show source",onClick:()=>i?.(t)}),(y||N)&&j&&!w&&a&&z.push({disabled:m,icon:eL.A,label:"Regenerate",onClick:R}),j&&o&&z.push({disabled:m,icon:eO.A,label:"Edit",onClick:E}),c&&z.push({disabled:m,icon:e$.A,label:"Delete",onClick:M,variant:"destructive"}),0===z.length)?null:(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(eD.Bc,{delay:300,children:(0,n.jsx)("div",{className:`hidden items-center gap-0.5 transition-opacity md:flex ${h?"opacity-100":"opacity-0 group-hover:opacity-100 max-md:opacity-100"} ${p}`,children:z.map(e=>(0,n.jsx)(eU,{className:e.className,disabled:e.disabled,icon:e.icon,label:x(e.label),onClick:e.onClick,variant:e.variant},e.label))})}),(0,n.jsx)("div",{className:`md:hidden ${p}`,children:(0,n.jsxs)(eP.rI,{modal:!1,children:[(0,n.jsxs)(eP.ty,{render:(0,n.jsx)(d.$,{"aria-label":x("Open menu"),className:"data-popup-open:bg-muted text-muted-foreground hover:text-foreground size-11",size:"icon",variant:"ghost"}),children:[(0,n.jsx)(eF.A,{className:"size-4"}),(0,n.jsx)("span",{className:"sr-only",children:x("Open menu")})]}),(0,n.jsx)(eP.SQ,{align:"end",className:"w-44",children:z.map(e=>{let t=e.icon;return(0,n.jsxs)(eP._2,{className:"min-h-11",disabled:e.disabled,onClick:e.onClick,variant:e.variant,children:[x(e.label),(0,n.jsx)(eP.V0,{children:(0,n.jsx)(t,{className:"size-4"})})]},e.label)})})]})})]})}function eK(e){let{disabled:t=!1,onDelete:r,onEditPrompt:a,onRetry:s}=e,{t:i}=(0,l.Bd)();return s||a||r?(0,n.jsxs)("div",{className:"flex flex-wrap items-center gap-0.5 pt-2",children:[s&&(0,n.jsx)(eU,{disabled:t,icon:eL.A,label:i("Retry"),onClick:s}),a&&(0,n.jsx)(eU,{disabled:t,icon:eO.A,label:i("Edit"),onClick:a}),r&&(0,n.jsx)(eU,{disabled:t,icon:e$.A,label:i("Delete"),onClick:r,variant:"destructive"})]}):null}var eW=r(27711),eq=r(76048),eH=r(53926),eV=r(28368);function eY(e){let{prop:t,defaultProp:r,onChange:n}=e,[a,l]=s.useState(r),i=void 0!==t,o=i?t:a,d=s.useRef(n);return s.useEffect(()=>{d.current=n}),[o,s.useCallback(e=>{if(i){let r="function"==typeof e?e(t):e;r!==t&&d.current?.(r)}else l(e)},[i,t])]}var eZ=r(46076);function eQ(e){return"children"in e&&Array.isArray(e.children)}function eJ(e){return"html_block"===e.type&&"tag"in e}let eX=/^(`{3,}|~{3,})([^\n]*)$/,e0=/^(`{3,}|~{3,})\s*$/,e1=/^#{2,6}\s+\d+\.\s+/,e2=new Set(["markdown","md","mdx"]);function e5(e,t){let r=t.fenceChar.repeat(function(e){let t=3;for(let r of e.contentLines)r.startsWith(e.fenceChar)&&(t=Math.max(t,function(e,t){let r=0;for(let n of e){if(n!==t)break;r++}return r}(r,e.fenceChar)+1));return t}(t));e.push(`${r}${t.language}`),e.push(...t.contentLines),e.push(r)}function e3(e){let t=e.split("\n"),r=[],n=null;for(let e of t){if(!n){let t=e.match(eX);if(!t){r.push(e);continue}let a=t[2].trim().toLowerCase();if(e2.has(a)){n={contentLines:[],fenceChar:t[1][0],language:a,nestedFence:!1};continue}r.push(e);continue}if(!n.nestedFence&&e1.test(e)){e5(r,n),r.push(e),n=null;continue}if(n.nestedFence&&e0.test(e)){n.contentLines.push(e),n.nestedFence=!1;continue}if(e.startsWith(n.fenceChar.repeat(3))&&!e0.test(e)){n.contentLines.push(e),n.nestedFence=!0;continue}if(e0.test(e)){e5(r,n),n=null;continue}n.contentLines.push(e)}return n&&e5(r,n),r.join("\n")}function e4(e){return"string"!=typeof e?String(e??""):e.replaceAll(/<\/?(conversation|conversationcontent|reasoning|reasoningcontent|reasoningtrigger|sources|sourcescontent|sourcestrigger|branch|branchmessages|branchnext|branchpage|branchprevious|branchselector|message|messagecontent)\b[^>]*>/gi,"").replaceAll(/<\/?think\b[^>]*>/gi,"")}function e6(e,t){let r="string"==typeof e.raw?e.raw:"";return`${e.type}-${t}-${r.slice(0,24)}`}let e7={note:{label:"Note",className:"border-blue-500/40 bg-blue-500/8 text-blue-950 dar
1k:text-blue-100",markerClassName:"text-blue-600 dark:text-blue-300"},tip:{label:"Tip",className:"border-emerald-500/40 bg-emerald-500/8 text-emerald-950 dark:text-emerald-100",markerClassName:"text-emerald-600 dark:text-emerald-300"},important:{label:"Important",className:"border-violet-500/40 bg-violet-500/8 text-violet-950 dark:text-violet-100",markerClassName:"text-violet-600 dark:text-violet-300"},warning:{label:"Warning",className:"border-amber-500/40 bg-amber-500/8 text-amber-950 dark:text-amber-100",markerClassName:"text-amber-600 dark:text-amber-300"},caution:{label:"Caution",className:"border-red-500/40 bg-red-500/8 text-red-950 dark:text-red-100",markerClassName:"text-red-600 dark:text-red-300"}},e8={1:"mt-6 mb-3 text-xl font-semibold tracking-normal",2:"mt-6 mb-3 text-lg font-semibold tracking-normal",3:"mt-5 mb-2 text-base font-semibold tracking-normal",4:"mt-5 mb-2 text-sm font-semibold tracking-normal",5:"text-muted-foreground mt-4 mb-2 text-sm font-semibold tracking-normal",6:"text-muted-foreground mt-4 mb-2 text-xs font-semibold tracking-normal uppercase"};function e9(e){return eJ(e)&&"summary"===e.tag}function te(e){let{t}
1=(0,l.Bd)(),[r,a]=(0,s.useState)(!1),i=(0,eZ.x3)(e.node.src);return!i||r?(0,n.jsx)("span",{className:"border-border/70 text-muted-foreground my-4 inline-flex rounded-md border px-3 py-2 text-xs italic",children:e.node.alt||t("Image not available")}):(0,n.jsx)("img",{alt:e.node.alt,className:"border-border/70 my-4 block h-auto max-h-96 max-w-full rounded-lg border object-contain",loading:"lazy",onError:()=>a(!0),src:i,title:e.node.title??void 0})}function tt(e,t,r){var a;let s="right"===(a=e.align)?"text-right":"center"===a?"text-center":"text-left";return e.header?(0,n.jsx)("th",{className:(0,c.cn)("text-muted-foreground px-3 py-2 text-xs font-semibold whitespace-nowrap",s),children:r.renderChildren(e.children)},t):(0,n.jsx)("td",{className:(0,c.cn)("px-3 py-2 align-top",s),children:r.renderChildren(e.children)},t)}function tr(e){return e.map((e,t)=>(function(e,t){var r,a,s,l,i,o,d;if("text"===e.type&&"content"in e)return e.content;if("heading"===e.type&&"level"in e&&eQ(e)){let a,s,l;return r={renderChildren:tr},s=e8[a=Math.min(Math.max(e.level,1),6)],l=r.renderChildren(e.children),1===a?(0,n.jsx)("h1",{className:s,children:l},t):2===a?(0,n.jsx)("h2",{className:s,children:l},t):3===a?(0,n.jsx)("h3",{className:s,children:l},t):4===a?(0,n.jsx)("h4",{className:s,children:l},t):5===a?(0,n.jsx)("h5",{className:s,children:l},t):(0,n.jsx)("h6",{className:s,children:l},t)}if("paragraph"===e.type&&eQ(e))return(0,n.jsx)("p",{className:"my-3 leading-7",children:tr(e.children)},t);if("inline"===e.type&&eQ(e))return(0,n.jsx)("span",{children:tr(e.children)},t);if("list"===e.type&&"items"in e&&Array.isArray(e.items)){let r,s;return a={renderChildren:tr},r=(0,c.cn)("my-3 list-outside space-y-1.5 pl-5",e.ordered?"list-decimal":"list-disc"),s=e.items.map((e,t)=>(0,n.jsx)("li",{className:"marker:text-muted-foreground pl-1 leading-7",children:a.renderChildren(e.children)},e6(e,t))),e.ordered?(0,n.jsx)("ol",{className:r,start:e.start,children:s},t):(0,n.jsx)("ul",{className:r,children:s},t)}if("code_block"===e.type&&"code"in e&&"language"in e){let r,a;return r=e.language||"plaintext",a=e.code.split("\n").length,(0,n.jsx)(eW.NG,{collapsedLines:14,code:e.code,defaultCollapsed:a>14,language:r,maxExpandedLines:44,showLineNumbers:!0,showToolbar:!0,title:r,children:(0,n.jsx)(eW.gZ,{})},t)}if("inline_code"===e.type&&"code"in e)return(0,n.jsx)("code",{className:"bg-muted/70 text-foreground rounded px-1 py-0.5 font-mono text-[0.9em]",children:String(e.code)},t);if("link"===e.type&&"href"in e&&eQ(e)){let r;return r=(0,eZ.M7)(e.href),(0,n.jsx)("a",{className:"text-primary underline-offset-4 hover:underline",href:e.href,rel:r?"noreferrer noopener":void 0,target:r?"_blank":void 0,title:e.title??void 0,children:tr(e.children)},t)}if("image"===e.type&&"src"in e&&"alt"in e)return(0,n.jsx)(te,{node:e},t);if("blockquote"===e.type&&eQ(e))return function(e,t,r){let a=function(e){let t=e.children[0];if(!t||"paragraph"!==t.type||!eQ(t))return null;let r=t.children[0];if(!r||"text"!==r.type||!("content"in r)||"string"!=typeof r.content)return null;let n=r.content.match(/^\[!(NOTE|TIP|IMPORTANT|WARNING|CAUTION)\]\s*\n?/i);return n?n[1].toLowerCase():null}(e);if(a){let s=e7[a],l=function(e,t){let r=e.children[0];if(!r||"paragraph"!==r.type||!eQ(r))return e.children;let n=r.children[0];if(!n||"text"!==n.type||!("content"in n)||"string"!=typeof n.content)return e.children;let a=`[!${t.toUpperCase()}]`,s=n.content.replace(a,"").replace(/^\s*\n?/,""),l={...r,children:[{...n,content:s,raw:s},...r.children.slice(1)]};return s||1!==l.children.length?[l,...e.children.slice(1)]:e.children.slice(1)}(e,a);return(0,n.jsxs)("aside",{className:(0,c.cn)("my-4 rounded-lg border px-4 py-3 text-sm","[&>*:first-child]:mt-0 [&>*:last-child]:mb-0",s.className),children:[(0,n.jsx)("div",{className:(0,c.cn)("mb-2 text-xs font-semibold tracking-wide uppercase",s.markerClassName),children:(0,Z.t)(s.label)}),r.renderChildren(l)]},t)}return(0,n.jsx)("blockquote",{className:"border-border text-muted-foreground my-4 border-l-2 pl-4",children:r.renderChildren(e.children)},t)}(e,t,{renderChildren:tr});if("table"===e.type&&"header"in e&&"rows"in e)return s={renderChildren:tr},(0,n.jsx)("div",{className:"border-border/70 my-4 w-full overflow-x-auto rounded-lg border",children:(0,n.jsxs)("table",{className:"my-0 w-full min-w-max border-separate border-spacing-0 text-sm",children:[(0,n.jsx)("thead",{className:"bg-muted/60",children:(0,n.jsx)("tr",{className:"border-border/70",children:e.header.cells.map((e,t)=>tt(e,e6(e,t),s))})}),(0,n.jsx)("tbody",{className:"divide-border/70 divide-y",children:e.rows.map((e,t)=>(0,n.jsx)("tr",{className:"border-border/70",children:e.cells.map((e,t)=>tt(e,e6(e,t),s))},e6(e,t)))})]})},t);
1if("definition_list"===e.type&&"items"in e&&Array.isArray(e.items))return l={renderChildren:tr},(0,n.jsx)("dl",{className:"my-4 space-y-3",children:e.items.map((e,t)=>{var r,a,s;return r=e,a=t,s=l,(0,n.jsxs)("div",{children:[(0,n.jsx)("dt",{className:"font-semibold",children:s.renderChildren(r.term)}),(0,n.jsx)("dd",{className:"text-muted-foreground mt-1 pl-4",children:s.renderChildren(r.definition)})]},`definition-${a}`)})},t);if("strong"===e.type&&eQ(e))return(0,n.jsx)("strong",{className:"text-foreground font-semibold",children:tr(e.children)},t);if("emphasis"===e.type&&eQ(e))return(0,n.jsx)("em",{children:tr(e.children)},t);if("strikethrough"===e.type&&eQ(e))return(0,n.jsx)("del",{children:tr(e.children)},t);if("highlight"===e.type&&eQ(e))return(0,n.jsx)("mark",{children:tr(e.children)},t);if("insert"===e.type&&eQ(e))return(0,n.jsx)("ins",{children:tr(e.children)},t);if("subscript"===e.type&&eQ(e))return(0,n.jsx)("sub",{children:tr(e.children)},t);if("superscript"===e.type&&eQ(e))return(0,n.jsx)("sup",{children:tr(e.children)},t);if(("checkbox"===e.type||"checkbox_input"===e.type)&&"checked"in e)return(0,n.jsx)("input",{checked:!!e.checked,className:"accent-primary mr-2 size-4 align-[-0.15em]",disabled:!0,readOnly:!0,type:"checkbox"},t);if("hardbreak"===e.type)return(0,n.jsx)("br",{},t);if("thematic_break"===e.type)return(0,n.jsx)("hr",{className:"border-border/70 my-6"},t);if("math_block"===e.type&&"content"in e)return(0,n.jsx)("pre",{className:"border-border bg-muted/40 my-4 overflow-x-auto rounded-lg border p-4 font-mono text-sm",children:e.content},t);if("math_inline"===e.type&&"content"in e)return(0,n.jsx)("code",{className:"bg-muted/70 text-foreground rounded px-1 py-0.5 font-mono text-[0.9em]",children:e.content},t);if("footnote_reference"===e.type&&"id"in e)return(0,n.jsx)("sup",{className:"text-primary mx-0.5 text-xs",children:(0,n.jsxs)("a",{className:"underline-offset-2 hover:underline",href:`#footnote-${String(e.id)}`,id:`footnote-ref-${String(e.id)}`,children:["[",String(e.id),"]"]})},t);if("footnote_anchor"===e.type)return null;if(eJ(e)&&"details"===e.tag){let r,a,s,l;return i={renderChildren:tr},a=(r=Array.isArray(e.children)?e.children:[]).find(e9),s=r.filter(e=>e!==a),o=a,d=i,l=o&&eQ(o)?d.renderChildren(o.children):(0,Z.t)("Details"),(0,n.jsxs)("details",{className:"border-border/70 my-4 rounded-lg border px-4 py-3",children:[(0,n.jsx)("summary",{className:"text-foreground cursor-pointer text-sm font-semibold",children:l}),(0,n.jsx)("div",{className:"border-border/70 mt-3 border-l pl-4 [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:i.renderChildren(s)})]},t)}return"html_block"===e.type&&"content"in e||"html_inline"===e.type&&"content"in e?(0,n.jsx)("span",{children:String(e.content)},t):eQ(e)?(0,n.jsx)("span",{children:tr(e.children)},t):"content"in e&&"string"==typeof e.content?(0,n.jsx)("span",{children:e.content},t):(0,n.jsx)("span",{children:e.raw},t)})(e,e6(e,t)))}let tn=(0,eZ.up)("new-api-response"),ta=(0,s.memo)(e=>{var t,r,a;let l=Array.isArray(t=e.children)?e3(e4(t.join(""))):e3(e4(t)),i=l.length<=2e4,o=(0,s.useMemo)(()=>i?(0,eZ.te)(l,tn,{final:e.final??!0,validateLink:tn.options.validateLink}):[],[l,e.final,i]),d=(0,s.useMemo)(()=>(function(e){let t=[],r=[];for(let n of e){if("footnote"===n.type&&"id"in n&&eQ(n)){t.push(n);continue}r.push(n)}return{bodyNodes:r,footnotes:t}})(o),[o]),u=d.bodyNodes.length>0?tr(d.bodyNodes):l,m=(r=d.footnotes,a={renderChildren:tr},0===r.length?null:(0,n.jsx)("section",{className:"border-border/70 text-muted-foreground mt-6 border-t pt-3 text-sm",children:(0,n.jsx)("ol",{className:"list-decimal space-y-2 pl-5",children:r.map(e=>(0,n.jsxs)("li",{id:`footnote-${e.id}`,children:[(0,n.jsx)("div",{className:"inline [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",children:a.renderChildren(e.children)}),(0,n.jsx)("a",{"aria-label":(0,Z.t)("Back to footnote {{id}} reference",{id:e.id}),className:"text-primary ml-2 underline-offset-2 hover:underline",href:`#footnote-ref-${e.id}`,children:(0,Z.t)("Back")})]},e.id))})}));return(0,n.jsxs)("div",{className:(0,c.cn)("size-full min-w-0 text-pretty [&>*:first-child]:mt-0 [&>*:last-child]:mb-0",e.className),children:[u,m]})});ta.displayName="Response";let ts=r(84500).PY1.p,tl=(0,s.memo)(e=>{let{children:t,className:r,duration:a=2,spread:l=2}=e,i=(0,s.useMemo)(()=>(t?.length??0)*l,[t,l]);return(0,n.jsx)(ts,{animate:{backgroundPosition:"0% center"}
1,className:(0,c.cn)("relative inline-block bg-[length:250%_100%,auto] bg-clip-text text-transparent","[background-repeat:no-repeat,padding-box] [--bg:linear-gradient(90deg,#0000_calc(50%-var(--spread)),var(--color-background),#0000_calc(50%+var(--spread)))]",r),initial:{backgroundPosition:"100% center"},style:{"--spread":`${i}px`,backgroundImage:"var(--bg), linear-gradient(var(--color-muted-foreground), var(--color-muted-foreground))"},transition:{repeat:1/0,duration:a,ease:"linear"},children:t})}),ti=(0,s.createContext)(null),to=(0,s.memo)(e=>{let{className:t,isStreaming:r=!1,open:a,defaultOpen:l=!0,onOpenChange:i,duration:o,children:d,...u}=e,[m,h]=eY({prop:a,defaultProp:l,onChange:i}),[p,x]=eY({prop:o,defaultProp:0}),[f,g]=(0,s.useState)(!1),[b,v]=(0,s.useState)(null);return(0,s.useEffect)(()=>{r?null===b&&v(Date.now()):null!==b&&(x(Math.ceil((Date.now()-b)/1e3)),v(null))},[r,b,x]),(0,s.useEffect)(()=>{if(l&&!r&&m&&!f){let e=setTimeout(()=>{h(!1),g(!0)},1e3);return()=>clearTimeout(e)}},[r,m,l,h,f]),(0,n.jsx)(ti.Provider,{value:{isStreaming:r,isOpen:m,setIsOpen:h,duration:p},children:(0,n.jsx)(eV.Nt,{className:(0,c.cn)("not-prose mb-4",t),onOpenChange:e=>{h(e)},open:m,...u,children:d})})}),td=(0,s.memo)(e=>{let{className:t,children:r,...a}=e,{isStreaming:i,isOpen:o,duration:d}=(()=>{let e=(0,s.useContext)(ti);if(!e)throw Error("Reasoning components must be used within Reasoning");return e})(),{t:u}=(0,l.Bd)(),m=u("Thought for {{duration}} seconds",{duration:d??0});return(0,n.jsx)(eV.R6,{className:(0,c.cn)("text-muted-foreground hover:text-foreground inline-grid w-fit max-w-full grid-cols-[0.875rem_minmax(0,auto)_0.875rem] items-center gap-1.5 text-sm leading-none transition-colors [&_p]:m-0",t),...a,children:r??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{className:"grid size-3.5 place-items-center",children:(0,n.jsx)(eq.A,{className:"size-3.5"})}),(0,n.jsx)("span",{className:"min-w-0 truncate leading-none",children:i?(0,n.jsx)(tl,{duration:1,children:u("Thinking...")}):m}),(0,n.jsx)("span",{className:"grid size-3.5 place-items-center",children:(0,n.jsx)(eH.A,{className:(0,c.cn)("size-3.5 transition-transform duration-200 ease-out",o?"rotate-180":"rotate-0")})})]})})}),tc=(0,s.memo)(e=>{let{className:t,children:r,...a}=e;return(0,n.jsx)(eV.Ke,{className:(0,c.cn)("CollapsibleContent group/reasoning-content border-border/70 mt-2 ml-1.5 border-l pl-3 text-sm leading-5","text-muted-foreground outline-none",t),...a,children:(0,n.jsx)("div",{className:"transition-[opacity,transform] duration-200 ease-out group-data-[closed]/reasoning-content:-translate-y-1 group-data-[closed]/reasoning-content:opacity-0 group-data-[open]/reasoning-content:translate-y-0 group-data-[open]/reasoning-content:opacity-100 motion-reduce:transition-none",children:(0,n.jsx)(ta,{className:"grid gap-1.5 [&_li]:my-0.5 [&_ol]:my-1.5 [&_p]:my-1.5 [&_p]:leading-5 [&_ul]:my-1.5",children:r})})})});to.displayName="Reasoning",td.displayName="ReasoningTrigger",tc.displayName="ReasoningContent";var tu=r(8367);let tm=e=>{let{className:t,...r}=e;return(0,n.jsx)(eV.Nt,{className:(0,c.cn)("not-prose text-primary mb-4 text-xs",t),...r})},th=e=>{let{className:t,count:r,children:a,...s}=e,{t:i}=(0,l.Bd)();return(0,n.jsx)(eV.R6,{className:(0,c.cn)("flex items-center gap-2",t),...s,children:a??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)("p",{className:"font-medium",children:[i("Used")," ",r," ",i("sources")]}),(0,n.jsx)(eH.A,{className:"h-4 w-4"})]})})},tp=e=>{let{className:t,...r}=e;return(0,n.jsx)(eV.Ke,{className:(0,c.cn)("border-border/70 mt-3 ml-2 flex w-fit flex-col gap-2 border-l pl-4","data-closed:fade-out-0 data-closed:slide-out-to-top-2 data-open:slide-in-from-top-2 data-closed:animate-out data-open:animate-in outline-none",t),...r})},tx=e=>{let{href:t,title:r,children:a,...s}=e;return(0,n.jsx)("a",{className:"flex items-center gap-2",href:t,rel:"noreferrer",target:"_blank",...s,children:a??(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(tu.A,{className:"h-4 w-4"}),(0,n.jsx)("span",{className:"block font-medium",children:r})]})})};var tf=r(60033),tg=r(35671),tb=r(48537),tv=r(30518),tj=r(65965);function ty(e){var t;let{message:r,className:a="",actions:s}=e,{t:i}=(0,l.Bd)(),o=(0,tj.n)(e=>e.auth.user),c=function(e,t){if(!Y(e))return null;let r=B(e)||V,n="model_price_error"===e.errorCode;return{content:r,kind:n?"model-price":"generic",showSettingsLink:n&&t}}(r,null!=(t=o?.role)&&t>=10);if(!c)return null;
1if("model-price"===c.kind){let e=c.content===V?i(V):c.content;return(0,n.jsxs)(tv.Fc,{variant:"default",className:a,children:[(0,n.jsx)(tf.A,{className:"text-orange-500"}),(0,n.jsx)(tv.XL,{children:i("Model Price Not Configured")}),(0,n.jsxs)(tv.TN,{className:"space-y-2",children:[(0,n.jsx)("p",{children:e}),c.showSettingsLink&&(0,n.jsxs)(d.$,{variant:"outline",size:"sm",onClick:()=>window.open("/system-settings/billing/model-pricing","_blank"),children:[(0,n.jsx)(tg.A,{className:"mr-1 h-3.5 w-3.5"}),i("Go to Settings")]}),s]})]})}return(0,n.jsxs)(tv.Fc,{variant:"destructive",className:a,children:[(0,n.jsx)(tb.A,{}),(0,n.jsx)(tv.XL,{children:i("Error")}),(0,n.jsxs)(tv.TN,{className:"space-y-2",children:[(0,n.jsx)("p",{children:c.content===V?i(V):c.content}),s]})]})}function tw(e){let{t}=(0,l.Bd)(),r=function(e){if("number"==typeof e&&Number.isFinite(e))return new Intl.DateTimeFormat(void 0,{hour:"2-digit",minute:"2-digit",second:"2-digit"}).format(new Date(e))}(e.message.createdAt),a=function(e,t){if("number"==typeof e&&Number.isFinite(e))return e<1e3?t("{{value}}ms",{value:Math.max(1,Math.round(e))}):t("{{value}}s",{value:(e/1e3).toFixed(2)})}(e.message.durationMs,t);return r||a?(0,n.jsxs)("div",{className:(0,c.cn)("text-muted-foreground mt-1 flex min-h-4 items-center gap-1.5 text-[11px] leading-none","right"===e.alignment&&"justify-end"),children:[r&&(0,n.jsx)("time",{children:r}),a&&(0,n.jsxs)(n.Fragment,{children:[r&&(0,n.jsx)("span",{"aria-hidden":"true",children:"·"}),(0,n.jsx)("span",{children:t("Response time: {{duration}}",{duration:a})})]})]}):null}function tN(e){let t,r,a,s,i,o,{actions:d,alignment:u,errorActions:m,isSourceVisible:h=!1,message:p,versionContent:f}=e,{t:g}=(0,l.Bd)(),{displayContent:b,hasReasoning:j,hasSources:y,reasoningContent:w,showLoader:N,showMessageContent:k,sources:R}=(t=p.from===A,r=p.sources??[],a=t?p.reasoning?.content:void 0,s=t&&!p.isReasoningStreaming&&(p.status===S||p.status===_&&!f),i=(p.from===C||!p.isReasoningStreaming)&&f.length>0,o={displayContent:p.from===A&&f.includes("<think>")?H(f).visibleContent:f,hasSources:r.length>0,isAssistant:t,showLoader:s,showMessageContent:i,sources:r},a?{...o,hasReasoning:!0,reasoningContent:a}:{...o,hasReasoning:!1,reasoningContent:void 0}),E=Y(p),M=p.status!==S&&p.status!==_;return(0,n.jsxs)("div",{className:(0,c.cn)("flex w-full min-w-0 flex-col","right"===u?"items-end text-right":"items-start text-left"),children:[y&&(0,n.jsxs)(tm,{children:[(0,n.jsx)(th,{count:R.length}),(0,n.jsx)(tp,{children:R.map(e=>(0,n.jsx)(tx,{href:e.href,title:e.title},`${e.href}-${e.title}`))})]}),j&&(0,n.jsxs)(to,{defaultOpen:!0,duration:p.reasoning?.duration,isStreaming:p.isReasoningStreaming,children:[(0,n.jsx)(td,{}),(0,n.jsx)(tc,{children:w})]}),N&&(0,n.jsxs)("div",{className:"flex items-center gap-2 py-2",children:[(0,n.jsx)(x,{}),(0,n.jsx)(tl,{className:"text-sm",duration:1,children:g("Responding...")})]}),E&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(ty,{message:p,className:"mb-2"}),(0,n.jsx)(tw,{alignment:u,message:p}),m]}),!E&&k&&(0,n.jsxs)(n.Fragment,{children:[h?(0,n.jsx)(eW.NG,{code:f,className:"my-0 group-[.is-assistant]:w-full group-[.is-assistant]:max-w-[78ch]",collapsedLines:24,defaultCollapsed:!1,language:"markdown",maxExpandedLines:48,showLineNumbers:!0,showToolbar:!0,title:g("Raw response"),children:(0,n.jsx)(eW.gZ,{})}):(0,n.jsx)(v,{variant:"flat",className:(0,c.cn)("group-[.is-assistant]:w-full group-[.is-assistant]:max-w-[78ch] group-[.is-user]:w-fit group-[.is-user]:rounded-2xl group-[.is-user]:rounded-br-md group-[.is-user]:border group-[.is-user]:border-border/70 group-[.is-user]:bg-muted/70 group-[.is-user]:px-4 group-[.is-user]:py-2.5 group-[.is-user]:text-foreground group-[.is-user]:shadow-sm group-[.is-user]:shadow-black/5 group-[.is-assistant]:bg-transparent group-[.is-assistant]:p-0 group-[.is-assistant]:rounded-none group-[.is-assistant]:overflow-visible group-[.is-assistant]:[font-family:var(--font-body)] group-[.is-assistant]:text-foreground/90 text-[0.95rem] leading-6 break-words whitespace-pre-wrap sm:text-[0.975rem] sm:leading-7 group-[.is-user]:max-w-[85%] sm:group-[.is-user]:max-w-[62
1ch] md:group-[.is-user]:max-w-[68ch] lg:group-[.is-user]:max-w-[72ch]"),children:(0,n.jsx)(ta,{final:M,children:b})}),(0,n.jsx)(tw,{alignment:u,message:p}),d]})]})}var tk=r(30754),tC=r(62711),tA=r(73704);function tS(e){let t,r,{editText:a,message:s,onCancelEdit:i,onEditTextChange:o,onSaveEdit:c,onSaveEditAndSubmit:u,originalText:m}=e,{t:h}=(0,l.Bd)(),{canSave:p,hasChanged:x,showSaveAndSubmit:f}=(t=a.trim().length>0,r=a!==m,{canSave:t&&r,hasChanged:r,showSaveAndSubmit:s.from===C}),g=()=>{(!x||window.confirm(h("You have unsaved changes. Are you sure you want to leave?")))&&i?.(!1)},b=(0,n.jsxs)(n.Fragment,{children:[f&&(0,n.jsx)(d.$,{"aria-label":h("Save & Submit"),disabled:!p,onClick:()=>u?.(a),size:"icon-sm",type:"button",children:(0,n.jsx)(tk.A,{className:"size-4"})}),(0,n.jsx)(d.$,{"aria-label":h("Save"),disabled:!p,onClick:()=>c?.(a),size:"icon-sm",type:"button",variant:f?"ghost":"default",children:(0,n.jsx)(eM.A,{className:"size-4"})}),x&&(0,n.jsx)(d.$,{"aria-label":h("Reset"),onClick:()=>o(m),size:"icon-sm",type:"button",variant:"ghost",children:(0,n.jsx)(tC.A,{className:"size-4"})}),(0,n.jsx)(d.$,{"aria-label":h("Cancel"),onClick:g,size:"icon-sm",type:"button",variant:"ghost",children:(0,n.jsx)(tA.A,{className:"size-4"})})]});return(0,n.jsx)(eW.oJ,{actions:b,ariaLabel:h("Edit"),className:"my-0 group-[.is-assistant]:w-full group-[.is-assistant]:max-w-[78ch] group-[.is-user]:max-w-[85%] sm:group-[.is-user]:max-w-[62ch] md:group-[.is-user]:max-w-[68ch] lg:group-[.is-user]:max-w-[72ch]",language:"markdown",onChange:o,onKeyDown:e=>{if("Escape"===e.key){e.preventDefault(),g();return}if((e.metaKey||e.ctrlKey)&&"Enter"===e.key){if(e.preventDefault(),!p)return;f?u?.(a):c?.(a)}},rows:8,title:(0,n.jsxs)("span",{className:"inline-flex items-center gap-2",children:[(0,n.jsx)("span",{children:h("Edit")}),(0,n.jsx)("span",{className:"text-muted-foreground/80 normal-case",children:x?h("Unsaved changes"):h("No changes")})]}),value:a})}var t_=r(22519),tR=r(18325),tE=r(59593),tM=r(84295),tz=r(30336);let tT=[{icon:t_.A,text:"Analyze data"},{icon:tR.A,text:"Summarize text"},{icon:tE.A,text:"Code"},{icon:tM.A,text:"Get advice"}];function tL(e){let{onSelectPrompt:t}=e,{t:r}=(0,l.Bd)();return(0,n.jsx)("div",{className:"flex min-h-[min(520px,calc(100svh-18rem))] items-center justify-center px-1 py-8 md:py-12",children:(0,n.jsxs)("div",{className:"grid w-full max-w-2xl gap-5 text-center",children:[(0,n.jsx)("div",{className:"bg-muted/50 text-muted-foreground mx-auto flex size-11 items-center justify-center rounded-xl border",children:(0,n.jsx)(tz.A,{className:"size-5","aria-hidden":"true"})}),(0,n.jsxs)("div",{className:"grid gap-2",children:[(0,n.jsx)("h2",{className:"text-xl font-semibold tracking-tight text-balance md:text-2xl",children:r("Start a playground chat")}),(0,n.jsx)("p",{className:"text-muted-foreground mx-auto max-w-lg text-sm leading-6 text-balance",children:r("Test a model with a starter prompt, or write your own request below.")})]}),(0,n.jsx)("div",{className:"grid gap-2 sm:grid-cols-2",children:tT.map(e=>{let{icon:a,text:s}=e,l=r(s);return(0,n.jsxs)(d.$,{className:"h-auto min-h-11 justify-start gap-2 px-3 py-2.5 text-left whitespace-normal",onClick:()=>t(l),variant:"outline",children:[(0,n.jsx)(a,{className:"text-muted-foreground size-4"}),(0,n.jsx)("span",{children:l})]},s)})})]})})}function tO(e){let{messages:t,onCopyMessage:r,onRegenerateMessage:a,onEditMessage:i,onDeleteMessage:o,onSelectPrompt:d,isGenerating:c=!1,isLoadingMessages:p=!1,editingKey:f,onSaveEdit:b,onCancelEdit:v,onSaveEditAndSubmit:j,messageLayoutMode:y="alternating"}=e,{t:w}=(0,l.Bd)(),[N,k]=(0,s.useState)(""),[S,_]=(0,s.useState)(""),[R,E]=(0,s.useState)(()=>new Set),M=Math.max(0,t.length-24),z=t.slice(M);function T(e){E(t=>{let r=new Set(t);return r.has(e.key)?r.delete(e.key):r.add(e.key),r})}(0,s.useEffect)(()=>{if(!f)return;let e=function(e,t){if(!t)return"";let r=e.find(e=>e.key===t);return r?B(r):""}(t,f);k(e),_(e)},[f,t]);let L=z.map((e,s)=>{let l=M+s,{alwaysShowActions:d,content:u,isEditing:m}={alwaysShowActions:l===t.length-1&&e.from===A,content:B(e),isEditing:f===e.key},h=Y(e),p=h?function(e,t){for(let r=t-1;r>=0;r--)if(e[r].from===C)return e[r];return null}(t,l):null,x="left"===y?"left":e.from===C?"right":"left",w=R.has(e.key);return(0,n.jsx)(g,{className:"group flex-row-reverse py-2.5",from:e.from,children:(0,n.jsx)("div",{className:"w-full min-w-0 flex-1 basis-full",children:m?(0,n.jsx)(tS,{editText:N,message:e,onCancelEdit:v,onEditTextChange:k,onSaveEdit:b,onSaveEditAndSubmit:j,originalText:S}):(0,n.jsx)(tN,{alignment:x,actions:(0,n.jsx)(eG,{message:e,onCopy:r,onRegenerate:a,onToggleSource:T,onEdit:i,onDelete:o,isSourceVisible:w,isGenerating:c,alwaysVisible:d,className:"mt-1.5"}),isSourceVisible:w,message:e,errorActions:h?(0,n.jsx)(eK,{disabled:c,onRetry:a?()=>a(e):void 0,onEditPrompt:i&&p?()=>i(p):void 0,onDelete:o?()=>o(e):void 0}):void 0,versionContent:u})})},e.key)});return 0===z.length&&d&&(L=[(0,n.jsx)(tL,{onSelectPrompt:d},"empty")]),p&&(L=[(0,n.jsxs)("div",{className:"text-muted-foreground flex min-h-[min(520px,calc(100svh-18rem))] items-center justify-center gap-2 text-sm",children:[(0,n.jsx)(x,{}),(0,n.jsx)("span",{children:w("Loading conversation...")})]},"loading")]),(0,n.jsxs)(u,{children:[(0,n.jsx)(m,{className:"p-0",children:(0,n.jsx)("div",{className:"mx-auto w-full max-w-4xl px-4 py-4",children:L})}),(0,n.jsx)(h,{})]})}var t$=r(93439),tF=r(15686);r(50010);let tI=(0,s.createContext)(null),tP=(0,s.createContext)(null),tD=()=>(0,s.useContext)(tI),tB=(0,s.createContext)(null),tU=e=>{let{className:t,groupClassName:r,accept:a,multiple:i,globalDrop:o,syncHiddenInput:d,maxFiles:u,maxFileSize:m,onError:h,onSubmit:p,children:x,...f}=e,{t:g}=(0,l.Bd)(),b=tD(),v=!!b,j=(0,s.useRef)(null),y=(0,s.useRef)(null),w=(0,s.useRef)(null);(0,s.useEffect)(()=>{let e=y.current?.closest("form");e instanceof HTMLFormElement&&(w.current=e)},[]);
1let[N,k]=(0,s.useState)([]),C=v?b.attachments.files:N,A=(0,s.useCallback)(()=>{j.current?.click()},[]),S=(0,s.useCallback)(e=>!a||""===a.trim()||!a.includes("image/*")||e.type.startsWith("image/"),[a]),_=(0,s.useCallback)(e=>{let t=Array.from(e),r=t.filter(e=>S(e));if(t.length&&0===r.length)return void h?.({code:"accept",message:g("No files match the accepted types.")});let n=r.filter(e=>!m||e.size<=m);r.length>0&&0===n.length?h?.({code:"max_file_size",message:g("All files exceed the maximum size.")}):k(e=>{let t="number"==typeof u?Math.max(0,u-e.length):void 0,r="number"==typeof t?n.slice(0,t):n;"number"==typeof t&&n.length>t&&h?.({code:"max_files",message:g("Too many files. Some were not added.")});let a=[];for(let e of r)a.push({id:(0,I.Ak)(),type:"file",url:URL.createObjectURL(e),mediaType:e.type,filename:e.name});return e.concat(a)})},[S,u,m,h,g]),R=(0,s.useMemo)(()=>b?e=>b.attachments.add(e):_,[b,_]),E=(0,s.useMemo)(()=>b?e=>b.attachments.remove(e):e=>k(t=>{let r=t.find(t=>t.id===e);return r?.url&&URL.revokeObjectURL(r.url),t.filter(t=>t.id!==e)}),[b]),M=(0,s.useMemo)(()=>b?()=>b.attachments.clear():()=>k(e=>{for(let t of e)t.url&&URL.revokeObjectURL(t.url);return[]}),[b]),z=(0,s.useMemo)(()=>b?()=>b.attachments.openFileDialog():A,[b,A]);(0,s.useEffect)(()=>{v&&b.__registerFileInput(j,()=>j.current?.click())},[v,b]),(0,s.useEffect)(()=>{d&&j.current&&0===C.length&&(j.current.value="")},[C,d]),(0,s.useEffect)(()=>{let e=w.current;if(!e)return;let t=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault()},r=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault(),e.dataTransfer?.files&&e.dataTransfer.files.length>0&&R(e.dataTransfer.files)};return e.addEventListener("dragover",t),e.addEventListener("drop",r),()=>{e.removeEventListener("dragover",t),e.removeEventListener("drop",r)}},[R]),(0,s.useEffect)(()=>{if(!o)return;let e=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault()},t=e=>{e.dataTransfer?.types?.includes("Files")&&e.preventDefault(),e.dataTransfer?.files&&e.dataTransfer.files.length>0&&R(e.dataTransfer.files)};return document.addEventListener("dragover",e),document.addEventListener("drop",t),()=>{document.removeEventListener("dragover",e),document.removeEventListener("drop",t)}},[R,o]),(0,s.useEffect)(()=>()=>{if(!v)for(let e of C)e.url&&URL.revokeObjectURL(e.url)},[v,C]);let T=async e=>{let t=await fetch(e),r=await t.blob();return new Promise((e,t)=>{let n=new FileReader;n.onloadend=()=>e(n.result),n.onerror=t,n.readAsDataURL(r)})},L=(0,s.useMemo)(()=>({files:C.map(e=>({...e,id:e.id})),add:R,remove:E,clear:M,openFileDialog:z,fileInputRef:j}),[C,R,E,M,z]),O=(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)("span",{"aria-hidden":"true",className:"hidden",ref:y}),(0,n.jsx)("input",{accept:a,"aria-label":g("Upload files"),className:"hidden",multiple:i,onChange:e=>{e.currentTarget.files&&R(e.currentTarget.files)},ref:j,title:g("Upload files"),type:"file"}),(0,n.jsx)("form",{className:(0,c.cn)("w-full",t),onSubmit:e=>{e.preventDefault();let t=e.currentTarget,r=v?b.textInput.value:new FormData(t).get("message")||"";v||t.reset(),Promise.all(C.map(async e=>{let{id:t,...r}=e;return r.url&&r.url.startsWith("blob:")?{...r,url:await T(r.url)}:r})).then(t=>{try{let n=p({text:r,files:t},e);n instanceof Promise?n.then(()=>{M(),v&&b.textInput.clear()}).catch(()=>{}):(M(),v&&b.textInput.clear())}catch(e){}})},...f,children:(0,n.jsx)(tF.MG,{className:r,children:x})})]});return v?O:(0,n.jsx)(tB.Provider,{value:L,children:O})},tG=e=>{let{onChange:t,className:r,placeholder:a,...i}=e,{t:o}=(0,l.Bd)(),d=tD(),u=(()=>{let e=(0,s.useContext)(tP),t=(0,s.useContext)(tB),r=e??t;if(!r)throw Error("usePromptInputAttachments must be used within a PromptInput or PromptInputProvider");return r}
1)(),m=a??o("What would you like to know?"),[h,p]=(0,s.useState)(!1),x=d?{value:d.textInput.value,onChange:e=>{d.textInput.setInput(e.currentTarget.value),t?.(e)}}:{onChange:t};return(0,n.jsx)(tF.oR,{className:(0,c.cn)("field-sizing-content max-h-48 min-h-16",r),name:"message",onCompositionEnd:()=>p(!1),onCompositionStart:()=>p(!0),onKeyDown:e=>{if("Enter"===e.key){if(h||e.nativeEvent.isComposing||e.shiftKey)return;e.preventDefault(),e.currentTarget.form?.requestSubmit()}if("Backspace"===e.key&&""===e.currentTarget.value&&u.files.length>0){e.preventDefault();let t=u.files.length>0?u.files[u.files.length-1]:void 0;t&&u.remove(t.id)}},onPaste:e=>{let t=e.clipboardData?.items;if(!t)return;let r=[];for(let e of t)if("file"===e.kind){let t=e.getAsFile();t&&r.push(t)}r.length>0&&(e.preventDefault(),u.add(r))},placeholder:m,...i,...x})},tK=e=>{let{className:t,...r}=e;return(0,n.jsx)(tF.Sq,{align:"block-end",className:(0,c.cn)("justify-between gap-1",t),...r})},tW=e=>{let{className:t,...r}=e;return(0,n.jsx)("div",{className:(0,
1c.cn)("flex items-center gap-1",t),...r})},tq=e=>{let{variant:t="ghost",className:r,size:a,...l}=e,i=a??(s.Children.count(l.children)>1?"sm":"icon-sm");return(0,n.jsx)(tF.Ik,{className:(0,c.cn)(r),size:i,type:"button",variant:t,...l})};var tH=r(64881),tV=r(81702),tY=r(81211),tZ=r(58550),tQ=r(62301),tJ=r(7803),tX=r(20631);function t0(e,t){if(t&&e?.offsetTop!==void 0&&void 0!==e.offsetHeight){let r=Math.max(0,e.offsetTop-(t.clientHeight-e.offsetHeight)/2);t.scrollTo?t.scrollTo({top:r,behavior:"auto"}):t.scrollTop=r;return}e?.scrollIntoView({block:"center",inline:"nearest"})}let t1=s.forwardRef((e,t)=>{let{currentLabel:r,triggerClassName:a,isDisabled:s,...l}=e;return(0,n.jsxs)(d.$,{ref:t,variant:"outline",role:"combobox",size:"sm",disabled:s,className:(0,c.cn)("flex h-8 items-center gap-2 border px-3 font-medium","justify-center p-0 sm:w-auto sm:justify-start sm:px-3","w-8","bg-background text-foreground","hover:bg-accent transition-colors","focus:!ring-0 focus:!outline-none","shadow-none",a),...l,children:[(0,n.jsx)(tV.A,{className:"text-muted-foreground block size-4 sm:hidden"}),(0,n.jsx)("span",{className:"text-muted-foreground sm:text-foreground hidden truncate text-xs sm:block",children:r}),(0,n.jsx)(tY.A,{className:"text-muted-foreground hidden h-4 w-4 opacity-50 sm:block"})]})});t1.displayName="ModelTriggerButton";let t2=s.forwardRef((e,t)=>{let{currentLabel:r,triggerClassName:a,isDisabled:s,...l}=e;return(0,n.jsxs)(d.$,{ref:t,variant:"outline",role:"combobox",size:"sm",disabled:s,className:(0,c.cn)("flex h-8 items-center gap-2 border px-3 font-medium","justify-center p-0 sm:w-auto sm:justify-start sm:px-3","w-8","bg-background text-foreground","hover:bg-accent transition-colors","focus:!ring-0 focus:!outline-none","shadow-none",a),...l,children:[(0,n.jsx)(tZ.A,{className:"text-muted-foreground block size-4 sm:hidden"}),(0,n.jsx)("span",{className:"text-muted-foreground sm:text-foreground hidden truncate text-xs sm:block",children:r}),(0,n.jsx)(tY.A,{className:"text-muted-foreground hidden h-4 w-4 opacity-50 sm:block"})]})});t2.displayName="GroupTriggerButton",s.memo(e=>{let{selectedModel:t,models:r,onModelChange:a,className:i,disabled:o=!1}=e,{t:d}
1=(0,l.Bd)(),[u,m]=(0,s.useState)(!1),[h,p]=(0,s.useState)(""),x=(0,tX.a)(),f=(0,s.useMemo)(()=>r.find(e=>e.value===t),[r,t]),g=(0,s.useMemo)(()=>r.reduce((e,t)=>{let r=t.category||d("Other");return e[r]||(e[r]=[]),e[r].push(t),e},{}),[r,d]),b=(0,s.useMemo)(()=>{if(!h.trim())return g;let e=h.toLowerCase(),t={};return Object.entries(g).forEach(r=>{let[n,a]=r,s=a.filter(t=>t.label.toLowerCase().includes(e)||t.value.toLowerCase().includes(e)||t.description?.toLowerCase().includes(e));s.length>0&&(t[n]=s)}),t},[g,h]),v=(0,s.useCallback)(e=>{a(e),m(!1),p("")},[a]),j=()=>(0,n.jsxs)(t$.uB,{className:(0,c.cn)(x?"h-full flex-1 rounded-lg border-0 bg-transparent":"rounded-lg"),filter:()=>1,shouldFilter:!1,children:[!x&&(0,n.jsx)(t$.G7,{placeholder:d("Search models..."),className:"h-9",value:h,onValueChange:p}),(0,n.jsx)(t$.xL,{children:d("No model found.")}),(0,n.jsx)(t$.oI,{className:x?"!max-h-full flex-1 p-2":"max-h-[300px]",children:0===Object.keys(b).length?(0,n.jsx)("div",{className:"text-muted-foreground px-3 py-6 text-xs",children:d("No model found.")}):Object.entries(b).map((e,r)=>{let[a,s]=e;return(0,n.jsxs)(t$.L$,{children:[r>0&&(0,n.jsx)("div",{className:"border-border my-1 border-t"}),(0,n.jsx)("div",{className:(0,c.cn)("text-muted-foreground px-2 py-1 font-medium",x?"text-xs":"text-[10px]"),children:d("{{category}} Models",{category:a})}),s.map(e=>(0,n.jsx)(t$.h_,{value:e.value,onSelect:v,className:(0,c.cn)("mb-0.5 flex items-center justify-between rounded-lg px-2 py-1.5 text-xs","transition-all duration-200","hover:bg-accent","data-[selected=true]:bg-accent"),children:(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-1",children:[(0,n.jsx)("div",{className:(0,c.cn)("truncate font-medium",x?"text-sm":"text-[11px]"),children:(0,n.jsx)("span",{className:"inline",children:e.label})}),(0,n.jsx)(eM.A,{className:(0,c.cn)("h-4 w-4 flex-shrink-0",t===e.value?"opacity-100":"opacity-0")})]})},e.value))]},a)})})]});return x?(0,n.jsxs)(tQ._s,{open:u,onOpenChange:m,children:[(0,n.jsx)(tQ.Uz,{asChild:!0,children:(0,n.jsx)(t1,{currentLabel:f?.label||d("Model"),triggerClassName:i,isDisabled:o,"aria-expanded":u})}),(0,n.jsxs)(tQ.zj,{className:"flex max-h-[80vh] min-h-[60vh] flex-col",children:[(0,n.jsx)(tQ.BE,{className:"flex-shrink-0 pb-4",children:(0,n.jsx)(tQ.gk,{className:"flex items-center gap-2 text-left text-lg font-medium",children:d("Select Model")})}),(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col",children:j()})]})]}):(0,n.jsxs)(tJ.AM,{open:u,onOpenChange:m,children:[(0,n.jsx)(tJ.Wv,{render:(0,n.jsx)(t1,{currentLabel:f?.label||d("Model"),triggerClassName:i,isDisabled:o,"aria-expanded":u})}),(0,n.jsx)(tJ.hl,{className:"bg-popover z-40 w-[90vw] max-w-[20em] rounded-lg border p-0 !shadow-none sm:w-[20em]",align:"start",side:"bottom",sideOffset:4,collisionPadding:8,children:j()})]})}).displayName="ModelSelector",s.memo(e=>{let{selectedGroup:t,groups:r,onGroupChange:a,className:i,disabled:o=!1}=e,{t:u}=(0,l.Bd)(),[m,h]=(0,s.useState)(!1),p=(0,tX.a)(),x=(0,s.useMemo)(()=>r.find(e=>e.value===t),[r,t]),f=(0,s.useCallback)(e=>{a(e),h(!1)},[a]);return p?(0,n.jsxs)(tQ._s,{open:m,onOpenChange:h,children:[(0,n.jsx)(tQ.Uz,{asChild:!0,children:(0,n.jsx)(t2,{currentLabel:x?.label||u("Group"),triggerClassName:i,isDisabled:o,"aria-expanded":m})}),(0,n.jsxs)(tQ.zj,{className:"max-h-[80vh]",children:[(0,n.jsx)(tQ.BE,{className:"pb-4 text-left",children:(0,n.jsx)(tQ.gk,{children:u("Choose Group")})}),(0,n.jsx)("div",{className:"max-h-[calc(80vh-100px)] overflow-y-auto px-4 pb-6",children:(0,n.jsx)("div",{className:"space-y-2",children:r.map(e=>(0,n.jsxs)(d.$,{variant:"outline",onClick:()=>f(e.value),className:(0,c.cn)("flex h-auto w-full items-center justify-between rounded-lg p-4 text-left whitespace-normal","border-border hover:bg-accent",t===e.value?"bg-accent border-primary/20":"bg-background"),children:[(0,n.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,n.jsx)("span",{className:"text-foreground text-sm font-medium",children:e.label}),(e.desc||e.description)&&(0,n.jsxs)("div",{className:"text-muted-foreground mt-0.5 text-xs",children:[e.desc||e.description,e.ratio&&(0,n.jsxs)(n.Fragment,{children:[" · ",u("Ratio: {{value}}",{value:e.ratio})]})]})]})}
1),(0,n.jsx)(eM.A,{className:(0,c.cn)("ml-3 h-5 w-5 shrink-0",t===e.value?"opacity-100":"opacity-0")})]},e.value))})})]})]}):(0,n.jsxs)(tJ.AM,{open:m,onOpenChange:h,children:[(0,n.jsx)(tJ.Wv,{render:(0,n.jsx)(t2,{currentLabel:x?.label||u("Group"),triggerClassName:i,isDisabled:o,"aria-expanded":m})}),(0,n.jsx)(tJ.hl,{className:"bg-popover z-50 w-[90vw] max-w-[14em] rounded-lg border p-0 !shadow-none sm:w-[14em]",align:"start",side:"bottom",sideOffset:4,collisionPadding:8,children:(0,n.jsxs)(t$.uB,{className:(0,c.cn)(p?"h-full flex-1 rounded-lg border-0 bg-transparent":"rounded-lg"),filter:(e,t)=>{let n=r.find(t=>t.value===e);if(!n||!t)return 1;let a=t.toLowerCase();return+!![n.label,n.description||"",n.value].join(" ").toLowerCase().includes(a)},children:[(0,n.jsx)(t$.G7,{placeholder:u("Search groups..."),className:"h-9"}),(0,n.jsx)(t$.xL,{children:u("No group found.")}),(0,n.jsx)(t$.oI,{className:p?"!max-h-full flex-1 p-2":"max-h-[240px]",children:(0,n.jsxs)(t$.L$,{children:[(0,n.jsx)("div",{className:"text-muted-foreground px-2 py-1 text-[10px] font-medium",children:u("Model Group")}),r.map(e=>(0,n.jsxs)(t$.h_,{value:e.value,onSelect:f,className:(0,c.cn)("mb-0.5 flex items-center justify-between rounded-lg px-2 py-2 text-xs","transition-all duration-200","hover:bg-accent","data-[selected=true]:bg-accent"),children:[(0,n.jsx)("div",{className:"flex min-w-0 flex-1 items-center gap-2 pr-4",children:(0,n.jsxs)("div",{className:"flex min-w-0 flex-1 flex-col",children:[(0,n.jsx)("span",{className:"text-foreground truncate text-[11px] font-medium",children:e.label}),(e.desc||e.description)&&(0,n.jsxs)("div",{className:"text-muted-foreground truncate text-[9px] leading-tight",children:[e.desc||e.description,e.ratio&&(0,n.jsxs)(n.Fragment,{children:[" · ",u("Ratio: {{value}}",{value:e.ratio})]})]})]})}),(0,n.jsx)(eM.A,{className:(0,c.cn)("ml-auto h-4 w-4",t===e.value?"opacity-100":"opacity-0")})]},e.value))]})})]})})]})}).displayName="GroupSelector";let t5=e=>{let{selectedModel:t,models:r,onModelChange:a,selectedGroup:i,groups:o,onGroupChange:u,className:m,disabled:h=!1}=e,{t:p}=(0,l.Bd)(),[x,f]=(0,s.useState)(!1),[g,b]=(0,s.useState)(""),v=(0,tX.a)(),j=(0,s.useRef)(null),y=(0,s.useRef)(null),w=(0,s.useRef)(null),N=(0,s.useMemo)(()=>r.find(e=>e.value===t),[r,t]),k=(0,s.useMemo)(()=>o.find(e=>e.value===i),[o,i]),C=(0,s.useMemo)(()=>{let e=g.trim().toLowerCase();return e?r.filter(t=>[t.label,t.value,t.description||"",t.category||""].join(" ").toLowerCase().includes(e)):r},[r,g]),A=(0,s.useCallback)(e=>{a(e),f(!1),b("")},[a]),S=(0,s.useCallback)(e=>{u(e)},[u]);(0,s.useEffect)(()=>{if(!x)return;let e=0,t=window.requestAnimationFrame(()=>{e=window.requestAnimationFrame(()=>{t0(y.current,j.current),t0(w.current)})});return()=>{window.cancelAnimationFrame(t),window.cancelAnimationFrame(e)}},[x,i,t]);let _=()=>(0,n.jsxs)(d.$,{"aria-expanded":x,className:(0,c.cn)("h-8 max-w-[15rem] justify-start gap-2 border px-2.5 font-medium shadow-none","bg-background/80 hover:bg-accent/70 text-foreground","focus:!ring-0 focus:!outline-none",m),disabled:h,role:"combobox",size:"sm",variant:"outline",children:[(0,n.jsx)(tV.A,{className:"text-muted-foreground size-4 shrink-0"}),(0,n.jsx)("span",{className:"min-w-0 truncate text-xs",children:N?.label||p("Model")}),(0,n.jsx)("span",{className:"bg-muted text-muted-foreground hidden max-w-20 shrink-0 rounded px-1.5 py-0.5 text-[10px] sm:inline-flex",children:k?.label||p("Group")}),(0,n.jsx)(tY.A,{className:"text-muted-foreground ml-auto size-3.5 shrink-0 opacity-60"})]}),R=()=>(0,n.jsxs)("div",{className:v?"grid gap-3 p-2 md:grid-cols-[9.5rem_minmax(0,1fr)]":"grid h-[min(50vh,28rem)] max-h-[min(50vh,28rem)] min-h-0 gap-3 p-2 md:grid-cols-[9.5rem_minmax(0,1fr)]",children:[(0,n.jsxs)("div",{className:(0,c.cn)("min-w-0 space-y-2",!v&&"flex h-full min-h-0 min-w-0 flex-col overflow-hidden"),children:[(0,n.jsx)("div",{className:"text-muted-foreground px-1 text-[11px] leading-4 font-medium",children:p("Model Group")}),(0,n.jsx)("div",{className:(0,c.cn)("grid gap-1",!v&&"mt-2 grid min-h-0 flex-1 gap-1 overflow-y-auto pr-1"),ref:j,children:o.map(e=>{let t=i===e.value;
1return(0,n.jsxs)("button",{className:(0,c.cn)("flex min-w-0 items-center justify-between gap-2 rounded-md px-2.5 py-2 text-left text-[12px] leading-4 transition-colors",t?"bg-primary/10 text-foreground":"text-muted-foreground hover:bg-accent hover:text-foreground"),disabled:h,onClick:()=>S(e.value),ref:t?y:void 0,type:"button",children:[(0,n.jsx)("span",{className:"min-w-0 truncate font-medium",children:e.label}),(0,n.jsx)(eM.A,{className:(0,c.cn)("size-3.5 shrink-0",t?"opacity-100":"opacity-0")})]},e.value)})})]}),(0,n.jsx)("div",{className:(0,c.cn)("min-w-0 overflow-hidden rounded-lg border",!v&&"flex h-full min-h-0 min-w-0 overflow-hidden rounded-lg border"),children:(0,n.jsxs)(t$.uB,{className:(0,c.cn)("min-w-0 rounded-lg border-0 bg-transparent p-1",!v&&"min-h-0 flex-1 rounded-lg border-0 bg-transparent p-1"),filter:()=>1,shouldFilter:!1,children:[(0,n.jsx)(t$.G7,{className:"h-8 text-[13px]",onValueChange:b,placeholder:p("Search models..."),value:g}),(0,n.jsx)(t$.oI,{className:v?"max-h-[45vh]":"min-h-0 flex-1 max-h-none [scrollbar-color:var(--border)_transparent] [scrollbar-width:thin] [&::-webkit-scrollbar]:block [&::-webkit-scrollbar]:w-1.5 [&::-webkit-scrollbar-thumb]:rounded-full [&::-webkit-scrollbar-thumb]:bg-border [&::-webkit-scrollbar-track]:bg-transparent",children:0===C.length?(0,n.jsx)("div",{className:"text-muted-foreground px-3 py-8 text-center text-[12px] leading-5",children:p("No model found.")}):(0,n.jsx)(t$.L$,{className:"p-1",children:C.map(e=>(0,n.jsxs)(t$.h_,{className:(0,c.cn)("relative mb-0.5 flex items-center justify-between rounded-md border border-transparent px-2 py-1.5 pl-3 text-[12px] leading-4 transition-colors before:absolute before:inset-y-2 before:left-1 before:w-1 before:rounded-full before:bg-transparent",t===e.value?"border-primary/40 bg-primary/12 text-foreground shadow-sm before:bg-primary":"text-muted-foreground hover:bg-accent hover:text-foreground"),onSelect:A,ref:t===e.value?w:void 0,value:e.value,children:[(0,n.jsx)("span",{className:(0,c.cn)("min-w-0 truncate",t===e.value?"font-semibold text-foreground":"font-medium"),children:e.label}),(0,n.jsx)(eM.A,{className:(0,c.cn)("size-3.5 shrink-0",t===e.value?"opacity-100":"opacity-0")})]},e.value))})})]})})]});return v?(0,n.jsxs)(tQ._s,{open:x,onOpenChange:f,children:[(0,n.jsx)(tQ.Uz,{asChild:!0,children:_()}),(0,n.jsxs)(tQ.zj,{className:"flex max-h-[80vh] min-h-[60vh] flex-col",children:[(0,n.jsx)(tQ.BE,{className:"pb-3 text-left",children:(0,n.jsx)(tQ.gk,{children:p("Select Model")})}),(0,n.jsx)("div",{className:"min-h-0 flex-1 overflow-y-auto px-4 pb-5",children:R()})]})]}):(0,n.jsxs)(tJ.AM,{open:x,onOpenChange:f,children:[(0,n.jsx)(tJ.Wv,{render:_()}),(0,n.jsx)(tJ.hl,{align:"end",className:(0,c.cn)("bg-popover z-50 w-[34rem] max-w-[calc(100vw-2rem)] rounded-xl border p-0 shadow-lg","max-h-[min(50vh,28rem)] overflow-hidden"),collisionPadding:8,side:"top",sideOffset:8,children:R()})]})};function t3(e){let{disabled:t,groups:r,groupValue:a,isGenerating:s,isModelLoading:i=!1,models:o,modelValue:d,onGroupChange:c,onModelChange:u,onStop:m,text:h,tools:p}=e,{t:x}=(0,l.Bd)(),{canSubmit:f,isSelectorDisabled:g,shouldShowStop:b}=function(e){let{disabled:t,groups:r,hasStopHandler:n,isGenerating:a,isModelLoading:s,models:l,text:i}=e,o=l.length>0;return{canSubmit:!t&&o&&i.trim().length>0,isSelectorDisabled:t||s||0===r.length,shouldShowStop:!!(a&&n)}}({disabled:t,groups:r,hasStopHandler:!!m,isGenerating:s,isModelLoading:i,models:o,text:h}),v=()=>(0,n.jsx)(t5,{selectedModel:d,models:o,onModelChange:u,selectedGroup:a,groups:r,onGroupChange:c,disabled:g}),j=()=>b?(0,n.jsxs)(tq,{className:"border-destructive/25 bg-destructive/10 text-destructive hover:bg-destructive/15 font-medium",onClick:m,variant:"secondary",children:[(0,n.jsx)(tH.A,{className:"fill-current",size:16}),(0,n.jsx)("span",{className:"hidden sm:inline",children:x("Stop")}),(0,n.jsx)("span",{className:"sr-only sm:hidden",children:x("Stop")})]}):(0,n.jsxs)(tq,{className:"bg-primary text-primary-foreground hover:bg-primary/90 disabled:bg-muted disabled:text-muted-foreground h-8 px-3 font-medium shadow-sm",disabled:!f,type:"submit",variant:"default",children:[(0,n.jsx)(tk.A,{size:16}),(0,n.jsx)("span",{className:"hidden sm:inline",children:x("Send")}),(0,n.jsx)("span",{className:"sr-only sm:hidden",children:x("Send")})]});return(0,n.jsxs)("div",{className:"flex w-full flex-col gap-2.5 md:flex-row md:items-center md:justify-between",children:[(0,n.jsx)("div",{className:"flex min-w-0 items-center justify-end md:hidden",children:v()}),(0,n.jsxs)("div",{className:"flex items-center justify-between gap-2 md:justify-start",children:[p,(0,n.jsx)("div",{className:"flex items-center gap-1.5 md:hidden",children:j()})]}),(0,n.jsxs)("div",{className:"hidden min-w-0 items-center gap-2 md:flex",children:[v(),j()]})]})}var t4=r(40964),t6=r(41948),t7=r(73406),t8=r(94699),t9=r(83357),re=r(62724),rt=r(9273),rr=r(44736),rn=r(99915),ra=r(17512),rs=r(32488),rl=r(8583);function ri(e){let{className:t,defaultValue:r,value:a,min:s=0,max:l=100,...i}=e,o=Array.isArray(a)?a:Array.isArray(r)?r:[s,l];
1return(0,n.jsx)(rr.g,{className:(0,c.cn)("data-horizontal:w-full data-vertical:h-full",t),"data-slot":"slider",defaultValue:r,value:a,min:s,max:l,thumbAlignment:"edge",...i,children:(0,n.jsxs)(rn.X,{className:"relative flex w-full touch-none items-center select-none data-disabled:opacity-50 data-vertical:h-full data-vertical:min-h-40 data-vertical:w-auto data-vertical:flex-col",children:[(0,n.jsx)(ra.h,{"data-slot":"slider-track",className:"bg-muted relative grow overflow-hidden rounded-full select-none data-horizontal:h-1 data-horizontal:w-full data-vertical:h-full data-vertical:w-1",children:(0,n.jsx)(rs.X,{"data-slot":"slider-range",className:"bg-primary select-none data-horizontal:h-full data-vertical:w-full"})}),Array.from({length:o.length},(e,t)=>(0,n.jsx)(rl.O,{"data-slot":"slider-thumb",className:"border-ring ring-ring/50 relative block size-3 shrink-0 rounded-full border bg-white transition-[color,box-shadow] select-none after:absolute after:-inset-2 hover:ring-3 focus-visible:ring-3 focus-visible:outline-hidden active:ring-3 disabled:pointer-events-none disabled:opacity-50"},t))]})})}var ro=r(14826);let rd=[{key:"temperature",labelKey:"Temperature",descriptionKey:"Controls randomness and creativity",valueType:"slider",min:.1,max:1,step:.1},{key:"top_p",labelKey:"Top P",descriptionKey:"Limits token selection to a probability mass",valueType:"slider",min:.1,max:1,step:.1},{key:"frequency_penalty",labelKey:"Frequency Penalty",descriptionKey:"Reduces repeated wording",valueType:"slider",min:-2,max:2,step:.1},{key:"presence_penalty",labelKey:"Presence Penalty",descriptionKey:"Encourages new topics",valueType:"slider",min:-2,max:2,step:.1},{key:"max_tokens",labelKey:"Max Tokens",descriptionKey:"Caps the response length",valueType:"number",min:0,max:2e5,step:1},{key:"seed",labelKey:"Seed",descriptionKey:"Keeps compatible responses more repeatable",valueType:"number",min:0,max:0x7fffffff,step:1}];function rc(e,t){if(""===t)return"seed"===e?null:0;let r=rd.find(t=>t.key===e),n="number"==typeof t?t:Number.parseFloat(t);if(!r||Number.isNaN(n))return"seed"===e?null:0;let a=Math.min(r.max,Math.max(r.min,n));if(r.step>=1)return Math.trunc(a);let s=Math.max(0,String(r.step).split(".")[1]?.length??0);return Number(a.toFixed(s))}function ru(e){let{compact:t=!1,config:r,disabled:a,onConfigChange:s,onParameterEnabledChange:i,parameterEnabled:o}=e,{t:d}=(0,l.Bd)(),u=(e,t)=>{"seed"===e?s("seed",t):s(e,t??0)};return(0,n.jsx)("div",{className:(0,c.cn)("grid gap-3","max-h-[min(28rem,calc(100vh-10rem))] overflow-y-auto pr-1",t?"px-4 pb-4":"p-1"),children:rd.map(e=>{var t;let s=o[e.key],l=r[e.key],m=`playground-${e.key}`;return(0,n.jsxs)("div",{className:(0,c.cn)("border-border/70 bg-background/60 grid gap-2 rounded-lg border p-3 transition-opacity",(!s||a)&&"opacity-55"),children:[(0,n.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,n.jsxs)("div",{className:"min-w-0 space-y-1",children:[(0,n.jsxs)("div",{className:"flex min-w-0 items-center gap-2",children:[(0,n.jsx)("label",{className:"truncate text-sm leading-5 font-medium",htmlFor:m,children:d(e.labelKey)}),(0,n.jsx)(t9.E,{className:"h-5 max-w-24 shrink-0 px-1.5 font-mono text-[11px]",variant:"outline",children:d((t=e.key,"seed"===t&&null===l?"Not set":String(l)))})]}),(0,n.jsx)("p",{className:"text-muted-foreground text-xs leading-4",children:d(e.descriptionKey)})]}),(0,n.jsx)(ro.d,{"aria-label":d("Enable {{parameter}}",{parameter:d(e.labelKey)}),checked:s,disabled:a,onCheckedChange:t=>i(e.key,t),size:"sm"})]}),"slider"===e.valueType?(0,n.jsx)(ri,{className:"py-1.5",disabled:a||!s,id:m,max:e.max,min:e.min,onValueChange:t=>{let r=Array.isArray(t)?t[0]:t;u(e.key,rc(e.key,r))},step:e.step,value:[Number(l)]}):(0,n.jsx)(re.p,{disabled:a||!s,id:m,inputMode:"numeric",max:e.max,min:e.min,onChange:t=>{u(e.key,rc(e.key,t.target.value))},step:e.step,type:"number",value:l??""})]},e.key)})})}function rm(e){let{t}=(0,l.Bd)(),r=(0,tX.a)(),a=rd.filter(t=>e.parameterEnabled[t.key]).length,s=(0,n.jsxs)(tq,{"aria-label":t("Parameters"),className:"text-muted-foreground hover:text-foreground hover:bg-muted/70 relative font-medium",disabled:e.disabled,variant:"ghost",children:[(0,n.jsx)(t8.A,{size:16}),(0,n.jsx)("span",{className:"bg-primary text-primary-foreground absolute -top-1 -right-1 flex h-3.5 min-w-3.5 items-center justify-center rounded-full px-1 text-[9px] leading-none font-semibold",children:a})]});return r?(0,n.jsxs)(rt.cj,{children:[(0,n.jsxs)(eD.m_,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(rt.CG,{render:s})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:t("Parameters")})})]}),(0,n.jsxs)(rt.h,{className:"max-h-[85vh] overflow-hidden rounded-t-xl",side:"bottom",children:[(0,n.jsx)(rt.Fm,{children:(0,n.jsx)(rt.qp,{children:t("Parameter settings")})}),(0,n.jsx)(ru,{...e,compact:!0})]})]}):(0,n.jsxs)(tJ.AM,{children:[(0,n.jsxs)(eD.m_,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(tJ.Wv,{render:s})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:t("Parameters")})})]}),(0,n.jsxs)(tJ.hl,{align:"start",className:"w-[22rem] max-w-[calc(100vw-2rem)] gap-3 p-3",collisionPadding:8,side:"top",sideOffset:8,children:[(0,n.jsxs)("div",{className:"space-y-1 px-1",children:[(0,n.jsx)("div",{className:"text-sm font-semibold",children:t("Parameter settings")}),(0,n.jsx)("div",{className:"text-muted-foreground text-xs leading-4",children:t("Only enabled parameters are sent with the request.")})]}),(0,n.jsx)(ru,{...e})]})]})}
1function rh(e){let{config:t,disabled:r,hasMessages:a=!1,onClearMessages:i,onConfigChange:o,onParameterEnabledChange:d,parameterEnabled:c}=e,{t:u}=(0,l.Bd)(),[m,h]=(0,s.useState)(!1);return(0,n.jsxs)(n.Fragment,{children:[(0,n.jsxs)(tW,{className:"bg-background/70 border-border/60 rounded-lg border p-1 shadow-xs",children:[(0,n.jsx)(eD.m_,{children:(0,n.jsxs)(eP.rI,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(eP.ty,{render:(0,n.jsx)(tq,{"aria-label":u("Attach"),className:"text-muted-foreground hover:text-foreground hover:bg-muted/70 font-medium",disabled:r,variant:"ghost"}),children:(0,n.jsx)(t4.A,{size:16})})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:u("Attach")})}),(0,n.jsx)(eP.SQ,{align:"start",children:k.map(e=>{let{action:t,icon:r,label:a}=e;return(0,n.jsxs)(eP._2,{onClick:()=>{var e;return e=t,void eI.oR.info(u("Feature in development"),{description:e})},children:[(0,n.jsx)(r,{className:"mr-2",size:16}),u(a)]},t)})})]})}),(0,n.jsxs)(eD.m_,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(tq,{"aria-label":u("Search"),className:"text-muted-foreground hover:text-foreground hover:bg-muted/70 font-medium",disabled:r,onClick:()=>{eI.oR.info(u("Search feature in development"))},variant:"ghost",children:(0,n.jsx)(t6.A,{size:16})})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:u("Search")})})]}),(0,n.jsx)(rm,{config:t,disabled:r,onConfigChange:o,onParameterEnabledChange:d,parameterEnabled:c}),(0,n.jsxs)(eD.m_,{children:[(0,n.jsx)(eD.k$,{render:(0,n.jsx)(tq,{"aria-label":u("Clear chat history"),className:"text-muted-foreground hover:text-destructive hover:bg-destructive/10 font-medium",disabled:r||!a||!i,onClick:()=>h(!0),variant:"ghost",children:(0,n.jsx)(e$.A,{size:16})})}),(0,n.jsx)(eD.ZI,{children:(0,n.jsx)("p",{children:u("Clear chat history")})})]})]}),(0,n.jsx)(t7.T,{destructive:!0,desc:u("All playground messages saved in this browser will be removed. This cannot be undone."),confirmText:u("Clear"),handleConfirm:()=>{i?.(),h(!1),eI.oR.success(u("Conversation cleared"))},open:m,onOpenChange:h,title:u("Clear chat history?")})]})}function rp(e){let{config:t,onSubmit:r,onStop:a,disabled:i,isGenerating:o,models:d,modelValue:c,onModelChange:u,isModelLoading:m=!1,groups:h,groupValue:p,onGroupChange:x,hasMessages:f=!1,onConfigChange:g,onClearMessages:b,onParameterEnabledChange:v,parameterEnabled:j}=e,{t:y}=(0,l.Bd)(),[w,N]=(0,s.useState)("");return(0,n.jsx)("div",{className:"grid shrink-0 gap-4 px-1 md:pb-4",children:(0,n.jsxs)(tU,{className:"relative",groupClassName:"bg-background/95 dark:bg-background/80 border-border/70 shadow-[0_18px_60px_-32px_rgba(0,0,0,0.65)] ring-1 ring-foreground/5 rounded-xl overflow-hidden transition-all duration-200 focus-within:border-primary/45 focus-within:ring-primary/15 focus-within:shadow-[0_22px_70px_-34px_rgba(0,0,0,0.75)]",onSubmit:e=>{let t=i||!e.text?.trim()?null:e.text;t&&(r(t),N(""))},children:[(0,n.jsx)(tG,{autoComplete:"off",autoCorrect:"off",autoCapitalize:"off",spellCheck:!1,className:"min-h-20 px-5 pt-4 pb-3 leading-7 md:min-h-24 md:text-base",disabled:i,onChange:e=>N(e.target.value),placeholder:y("Ask anything"),value:w}),(0,n.jsx)(tK,{className:"border-border/60 bg-muted/20 dark:bg-muted/10 border-t px-3 py-2.5 backdrop-blur",children:(0,n.jsx)(t3,{disabled:i,groups:h,groupValue:p,isGenerating:o,isModelLoading:m,models:d,modelValue:c,onGroupChange:x,onModelChange:u,onStop:a,text:w,tools:(0,n.jsx)(rh,{config:t,disabled:i,hasMessages:f,onConfigChange:g,onClearMessages:b,onParameterEnabledChange:v,parameterEnabled:j})})})]})})}var rx=r(13302),rf=r(63228);async function rg(e,t){return(await rf.FH.post(M,e,{signal:t,skipErrorHandler:!0})).data}async function rb(e){let{data:t}=await rf.FH.get("/api/user/models",{params:{group:e}});return t.success&&Array.isArray(t.data)?t.data.map(e=>({label:e,value:e})):[]}async function rv(){let{data:e}=await rf.FH.get("/api/user/self/groups");return e.success&&e.data?Object.entries(e.data).map(e=>{let[t,r]=e;return{label:t,value:t,ratio:r.ratio,desc:r.desc}}):[]}let rj=new Set(Object.values(F));var ry=r(43866);function rw(){let{config:e,parameterEnabled:t,messages:r,isLoadingMessages:a,models:i,groups:o,updateMessages:d,setModels:c,setGroups:u,updateConfig:m,updateParameterEnabled:h,clearMessages:p}
1=function(){let[e,t]=(0,s.useState)(e_),[r,n]=(0,s.useState)(eR),[a,l]=(0,s.useState)([]),[i,o]=(0,s.useState)(!0),d=(0,s.useRef)(null),c=(0,s.useRef)(a),u=(0,s.useRef)(!1),[m,h]=(0,s.useState)([]),[p,x]=(0,s.useState)([]),f=(0,s.useCallback)(e=>{c.current=e,u.current&&(null!==d.current&&window.clearTimeout(d.current),d.current=window.setTimeout(()=>{d.current=null,eS(c.current)},500))},[]);(0,s.useEffect)(()=>{let e=!1;return window.setTimeout(()=>{let t=function(){try{let e,t=(e=localStorage.getItem(O))?e.length>1048576?(localStorage.removeItem(O),null):JSON.parse(e):null;if(!t)return null;let r=ef.parse(ej(t)),n=r.map(ek),a=n.some((e,t)=>e!==r[t]),s=ew(n),l=function(e){let t=0,r=[];for(let a=e.length-1;a>=0;a--){var n;let s=e[a],l=(n=s).versions.reduce((e,t)=>e+t.content.length,0)+(n.reasoning?.content.length??0);if(r.length>0&&t+l>12e4)break;t+=l,r.push(s)}return r.reverse()}(s),i=function(e){let t=-1;for(let n=e.length-1;n>=0;n--){var r;if(r=e[n],r?.from===A&&ea(r)){t=n;break}}if(-1===t)return e;let n=er(e[t]),a=U(n),s=n.reasoning?.content?.trim(),l=a||s?Q({...n,status:R,isReasoningStreaming:!1}):Q({...G(n,`${(0,Z.t)(F.API_REQUEST_ERROR)}: ${(0,Z.t)(F.INTERRUPTED)}`),status:E,isReasoningStreaming:!1}),i=[...e];return i[t]=l,i}(l);return(a||s!==n||l!==s||i!==l)&&eS(i),i}catch(e){console.error("Failed to load messages:",e)}return null}()??[];e||(c.current=t,u.current=!0,l(t),o(!1))},0),()=>{e=!0}},[]),(0,s.useEffect)(()=>()=>{null!==d.current&&(window.clearTimeout(d.current),eS(c.current))},[]);let g=(0,s.useCallback)((e,r)=>{t(t=>{let n={...t,[e]:r};return eC(n),n})},[]),b=(0,s.useCallback)((e,t)=>{n(r=>{let n={...r,[e]:t};return eA(n),n})},[]),v=(0,s.useCallback)(e=>{l(t=>{let r="function"==typeof e?e(t):e;return f(r),r})},[f]),j=(0,s.useCallback)(()=>{v([])},[v]);return{config:e,parameterEnabled:r,messages:a,isLoadingMessages:i,models:m,groups:p,setModels:h,setGroups:x,updateConfig:g,updateParameterEnabled:b,updateMessages:v,clearMessages:j,resetConfig:(0,s.useCallback)(()=>{t(z),n(T),eC(z),eA(T)},[])}}(),{sendChat:x,stopGeneration:f,isGenerating:g}=function(e){let{config:t,parameterEnabled:r,onMessageUpdate:n}=e,{t:a}=(0,l.Bd)(),{sendStreamRequest:i,stopStream:o,isStreaming:d}=function(){let e=(0,s.useRef)(null),t=(0,s.useRef)(!1),[r,n]=(0,s.useState)(!1),a=(0,s.useCallback)(t=>{let r=t??e.current;r?.close(),t&&e.current!==t||(e.current=null,n(!1))},[]);return{sendStreamRequest:(0,s.useCallback)((r,s,l,i)=>{e.current?.close();let o=new rx.y(M,{headers:(0,rf.Ql)(),method:"POST",payload:JSON.stringify(r)});e.current=o,t.current=!1,n(!0);let d=(e,r)=>{t.current||(i(e,r),a(o))};o.addEventListener("message",e=>{if("[DONE]"===e.data){t.current=!0,a(o),l();return}try{for(let t of function(e){let t=JSON.parse(e),r=t.choices?.[0]?.delta;if(!r)return[];let n=[];return r.reasoning_content&&n.push({type:"reasoning",chunk:r.reasoning_content}),r.content&&n.push({type:"content",chunk:r.content}),n}(e.data))s(t.type,t.chunk)}catch(e){console.error("Failed to parse SSE message:",e),d(F.PARSE_ERROR)}}),o.addEventListener("error",e=>{if(2!==o.readyState){console.error("SSE Error:",e);let{errorCode:t,errorMessage:r}=function(e){let t=e||F.API_REQUEST_ERROR;if(!e)return{errorMessage:t};try{let r=JSON.parse(e);if(!r?.error)return{errorMessage:t};return{errorCode:r.error.code||void 0,errorMessage:r.error.message||t}}catch{return{errorMessage:t}}}(e.data);d(r,t)}}),o.addEventListener("readystatechange",e=>{var t;let r,n=(t=e.readyState,r=o.status,void 0!==t&&t>=2&&void 0!==r&&200!==r?`HTTP ${r}: ${F.CONNECTION_CLOSED}`:null);n&&d(n)});try{o.stream()}catch(e){console.error("Failed to start SSE stream:",e),i(F.STREAM_START_ERROR),a(o)}},[a]),stopStream:(0,s.useCallback)(()=>{a()},[a]),isStreaming:r}}(),[c,u]=(0,s.useState)(!1),m=(0,s.useRef)(null),h=(0,s.useRef)(0),p=(0,s.useRef)({content:"",reasoning:""}),x=(0,s.useRef)(null),f=(0,s.useCallback)(()=>{null!==x.current&&(window.clearTimeout(x.current),x.current=null);let e=p.current;(e.reasoning||e.content)&&(p.current={content:"",reasoning:""},n(t=>es(t,t=>{let r=t;return e.reasoning&&(r=et(r,"reasoning",e.reasoning)),e.content&&(r=et(r,"content",e.content)),r})))},[n]),g=(0,s.useCallback)(()=>{null===x.current&&(x.current=window.setTimeout(f,50))},[f]);(0,s.useEffect)(()=>()=>{null!==x.current&&window.clearTimeout(x.current)},[]);let b=(0,s.useCallback)(e=>{if(rj.has(e))return a(e);let t=`: ${F.CONNECTION_CLOSED}`;return e.endsWith(t)?`${e.slice(0,-F.CONNECTION_CLOSED.length)}${a(F.CONNECTION_CLOSED)}`:e},[a]),v=(0,s.useCallback)((e,t)=>{var r;p.current[e]=(r=p.current[e],r&&t.startsWith(r)?t:r+t),g()},[g]),j=(0,s.useCallback)(()=>{f(),u(!1),n(e=>es(e,e=>e.status===R||e.status===E?e:en(e)))},[f,n]),y=(0,s.useCallback)((e,t)=>{f(),u(!1);
1let r=b(e);eI.oR.error(r);let s=a(F.API_REQUEST_ERROR);n(e=>(function(e,t,r){let n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:F.API_REQUEST_ERROR;return es(e,e=>Q({...G(e,`${n}: ${t}`),status:E,isReasoningStreaming:!1,errorCode:r||null}))})(e,r,t,s))},[f,b,n,a]),w=(0,s.useCallback)(e=>{u(!0),i(eE(e,t,r),v,j,y)},[t,r,i,v,j,y]),N=(0,s.useCallback)(async e=>{let a=eE(e,t,r),s=h.current+1,l=new AbortController;h.current=s,m.current=l;try{u(!0);let e=await rg(a,l.signal);if(l.signal.aborted)return;if(!e.choices?.[0])return void y(F.API_REQUEST_ERROR);n(t=>es(t,t=>(function(e,t){let r=t.choices?.[0];return r?Q({...er(G(e,r.message?.content||""),r.message?.reasoning_content),status:R}):null})(t,e)??t))}catch(r){if(l.signal.aborted)return;let{errorCode:e,errorMessage:t}={errorCode:r?.response?.data?.error?.code||void 0,errorMessage:r?.response?.data?.message||r?.message||F.API_REQUEST_ERROR};y(t,e)}finally{h.current===s&&(m.current=null,u(!1))}},[t,r,n,y]);return{sendChat:(0,s.useCallback)(e=>{t.stream?w(e):N(e)},[t.stream,w,N]),stopGeneration:(0,s.useCallback)(()=>{o(),f(),m.current?.abort(),m.current=null,u(!1),n(e=>es(e,e=>ea(e)?en(e):e))},[o,f,n]),isGenerating:d||c}}({config:e,parameterEnabled:t,onMessageUpdate:d}),{editingMessageKey:b,handleSendMessage:v,handleRegenerateMessage:j,handleEditMessage:y,handleEditOpenChange:w,applyEdit:N,handleDeleteMessage:k}=function(e){let{messages:t,updateMessages:r,sendChat:n}=e,[a,l]=(0,s.useState)(null),i=(0,s.useCallback)(e=>{let a,s=[...t,function(e){let t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:Date.now();return{key:(0,I.Ak)(),from:C,versions:[P(e)],createdAt:t}}(e,a=Date.now()),K(a)];r(s),n(s)},[t,r,n]),o=(0,s.useCallback)(e=>{var a;let s,l=(a=e.key,-1===(s=t.findIndex(e=>e.key===a))?null:t[s].from===C?[...t.slice(0,s+1),K()]:[...t.slice(0,s),K()]);l&&(r(l),n(l))},[t,r,n]),d=(0,s.useCallback)(e=>{l(e.key)},[]),c=(0,s.useCallback)(e=>{e||l(null)},[]),u=(0,s.useCallback)((e,s)=>{if(!a)return;let i=function(e,t,r,n){let a=Date.now(),s=e.findIndex(e=>e.key===t);if(-1===s)return null;let l=e.map(e=>e.key===t?{...G(e,r),createdAt:n?a:e.createdAt}:e);return n&&l[s].from===C?{messages:[...l.slice(0,s+1),K(a)],shouldSend:!0}:{messages:l,shouldSend:!1}}(t,a,e,s);i&&(l(null),r(i.messages),i.shouldSend&&n(i.messages))},[a,t,r,n]);return{editingMessageKey:a,handleSendMessage:i,handleRegenerateMessage:o,handleEditMessage:d,handleEditOpenChange:c,applyEdit:u,handleDeleteMessage:(0,s.useCallback)(e=>{r(t=>{var r;return r=e.key,t.filter(e=>e.key!==r)})},[r])}}({messages:r,updateMessages:d,sendChat:x}),{isLoadingModels:S}=function(e){let{currentGroup:t,currentModel:r,setGroups:n,setModels:a,updateConfig:i}=e,{t:o}=(0,l.Bd)(),{data:d,error:c,isError:u,isLoading:m}=(0,ry.I)({queryKey:["playground-models",t],queryFn:()=>rb(t),enabled:""!==t}),{data:h,error:p,isError:x}=(0,ry.I)({queryKey:["playground-groups"],queryFn:rv});return(0,s.useEffect)(()=>{u&&eI.oR.error(el(c,o("Failed to load playground models")))},[u,c,o]),(0,s.useEffect)(()=>{x&&eI.oR.error(el(p,o("Failed to load playground groups")))},[x,p,o]),(0,s.useEffect)(()=>{if(!d)return;a(d);let e=d.some(e=>e.value===r)||0===d.length?null:d[0].value;e?i("model",e):""===r||d.some(e=>e.value===r)||i("model","")},[d,r,a,i]),(0,s.useEffect)(()=>{if(!h)return;n(h);let e=h.some(e=>e.value===t)||0===h.length?null:h.find(e=>"default"===e.value)?.value??h[0].value;e&&i("group",e)},[h,t,n,i]),{isLoadingModels:m}}({currentGroup:e.group,currentModel:e.model,setGroups:u,setModels:c,updateConfig:m});return(0,n.jsxs)("div",{className:"relative flex size-full min-h-0 flex-col overflow-hidden",children:[(0,n.jsx)("div",{className:"flex min-h-0 flex-1 flex-col overflow-hidden",children:(0,n.jsx)(tO,{messages:r,isLoadingMessages:a,onRegenerateMessage:j,onEditMessage:y,onDeleteMessage:k,onSelectPrompt:v,isGenerating:g,editingKey:b,onCancelEdit:w,onSaveEdit:e=>N(e,!1),onSaveEditAndSubmit:e=>N(e,!0)})}),(0,n.jsx)("div",{className:"mx-auto w-full max-w-4xl",children:(0,n.jsx)(rp,{config:e,disabled:g,groups:o,groupValue:e.group,isGenerating:g,isModelLoading:S,modelValue:e.model,models:i,onGroupChange:e=>m("group",e),onConfigChange:m,onClearMessages:()=>{w(!1),p()},onModelChange:e=>m("model",e),onParameterEnabledChange:h,onStop:f,onSubmit:v,parameterEnabled:t,hasMessages:r.length>0})})]})}function rN(){return(0,n.jsx)(a.gZ,{className:"p-0",children:(0,n.jsx)(rw,{})})}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.