@customer-agent/sdk 0.5.7 → 0.5.8-test.cec4b9ac207b

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.
@@ -1,4 +1,4 @@
1
- import{r as e,t}from"./interviewTypes-Ch2NsXKB.js";import{h as n,i as r,u as i}from"./routes-aV4LZuEj.js";import{r as a}from"../runtime.es.js";import{t as o}from"./react-CKmEJ8Ba.js";import{n as s}from"./client-duvjg9sB.js";import{t as c}from"./createLucideIcon-B1BLVEeA.js";import{t as l}from"./conversationRegistry-Y5Ouo35n.js";import{t as u}from"./x-CcuT5rCV.js";import{t as d}from"./jsx-runtime-S2ZBQkZm.js";import{t as f}from"./classNames-3q0x02_x.js";import{B as p,C as m,D as h,F as ee,G as g,H as _,I as v,J as y,K as b,L as x,M as S,N as C,P as w,Q as T,R as E,S as te,T as ne,U as re,V as D,W as ie,X as O,Y as k,Z as A,_ as ae,a as oe,b as se,c as ce,f as le,g as ue,h as de,i as fe,l as pe,m as me,o as he,p as ge,q as _e,s as ve,t as ye,u as be,v as xe,w as j,x as Se,y as Ce,z as M}from"./useSmooth-CYGvfMVe.js";import{C as we,S as N,a as Te,o as Ee,r as De,w as P,x as Oe,y as ke}from"./dist-dzGCY2H5.js";import{t as Ae}from"./dist-gFPJclVl.js";var je=c(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Me=c(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Ne=c(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Pe=c(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),Fe=c(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ie=c(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Le=c(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Re=c(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),ze=c(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Be=c(`smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),F=a(o(),1),Ve=F.createContext(!0);function He(){throw Error(`A function wrapped in useEffectEvent can't be called during rendering.`)}var Ue=`use`in F.default?()=>{try{return F.use(Ve)}catch{return!1}}:()=>!1;function We(e){let t=F.useRef(He);return F.useInsertionEffect(()=>{t.current=e},[e]),(...e)=>{Ue()&&He();let n=t.current;return n(...e)}}var I=(e,t)=>{let n=w(),r=We(t),{scope:i,event:a}=x(e);(0,F.useEffect)(()=>n.on({scope:i,event:a},r),[n,i,a,r])},Ge=e=>{let t=w(),n=(0,F.useRef)(!1),r=n.current?null:e(t);return C(()=>n.current?e(t):r),()=>(n.current=!0,e(t))},Ke=Object.freeze({});function qe({getItemState:e,children:t}){return Je(t(Ge(e)))}var Je=e=>{let t=typeof e==`object`&&e&&`type`in e?e:null,n=t?.type,r=t?.key;return(0,F.useMemo)(()=>t,[n,r,typeof t?.props==`object`&&t.props!=null&&Object.entries(t.props).length===0?Ke:t?.props])??e},Ye=re(e=>{if(e.key===void 0)throw Error(`tapClientResource: Element has no key`);return b(D(e))});function L(e,t){let n=g(()=>e().map(e=>Ye(e)),t),r=y(()=>Object.keys(n),[n]),i=y(()=>n.reduce((e,t,n)=>(e[t.key]=n,e),{}),[n]);return{state:y(()=>n.map(e=>e.state),[n]),get:e=>{if(`index`in e){if(e.index<0||e.index>=r.length)throw Error(`tapClientLookup: Index ${e.index} out of bounds (length: ${r.length})`);return n[e.index].methods}let t=i[e.key];if(t===void 0)throw Error(`tapClientLookup: Key "${e.key}" not found`);return n[t].methods}}}var Xe=T(e=>({getState:()=>e})),Ze=T(e=>{let[t]=O(()=>({suggestions:(e??[]).map(e=>typeof e==`string`?{title:e,label:``,prompt:e}:{title:e.title,label:e.label,prompt:e.prompt})})),n=L(()=>t.suggestions.map((e,t)=>A(t,Xe(e))),[t.suggestions]);return{getState:()=>t,suggestion:({index:e})=>n.get({index:e})}}),R=d(),Qe=Object.freeze({type:`complete`}),$e=T(({parts:e,getMessagePart:t})=>{let[n,r]=O(!0),i=y(()=>e[e.length-1]?.status??Qe,[e]),a=y(()=>({parts:e,collapsed:n,status:i}),[e,n,i]);return{getState:()=>a,setCollapsed:r,part:t}}),et=1,tt=T(()=>{let[e]=O(()=>({version:et+1})),t=y(()=>new h,[]);return{getState:()=>e,getModelContext:()=>t.getModelContext(),subscribe:e=>t.subscribe(e),register:e=>t.registerModelContextProvider(e)}}),nt=T(({toolkit:e,mcpApp:t})=>{let n=g(()=>t?[A(`mcpApp`,t)]:[],[t])[0],[r,i]=O(()=>({tools:{}})),a=y(()=>({tools:r.tools,mcpApp:n}),[r,n]),o=ee(),s=_e((e,t)=>(i(n=>({tools:{...n.tools,[e]:[...n.tools[e]??[],t]}})),()=>{i(n=>({tools:{...n.tools,[e]:n.tools[e]?.filter(e=>e!==t)??[]}}))}),[]);return k(()=>{if(!e)return;let t=[];for(let[n,r]of Object.entries(e))r.render&&t.push(s(n,r.render));let n=Object.entries(e).reduce((e,[t,n])=>{let{render:r,...i}=n;return e[t]=i,e},{});return t.push(o.current.modelContext().register({getModelContext:()=>({tools:n})})),()=>{t.forEach(e=>e())}},[e,s,o]),{getState:()=>a,setToolUI:s}});E(nt,(e,t)=>{!e.modelContext&&t.modelContext.source===null&&(e.modelContext=tt())});var rt=T(()=>{let[e,t]=O(()=>({renderers:{},fallbacks:[]}));return{getState:()=>e,setDataUI:_e((e,n)=>(t(t=>({...t,renderers:{...t.renderers,[e]:[...t.renderers[e]??[],n]}})),()=>{t(t=>({...t,renderers:{...t.renderers,[e]:t.renderers[e]?.filter(e=>e!==n)??[]}}))}),[]),setFallbackDataUI:_e(e=>(t(t=>({...t,fallbacks:[...t.fallbacks,e]})),()=>{t(t=>({...t,fallbacks:t.fallbacks.filter(t=>t!==e)}))}),[])}}),it=({index:e,children:t})=>(0,R.jsx)(p,{value:w({attachment:M({source:`composer`,query:{type:`index`,index:e},get:t=>t.composer().attachment({index:e})})}),children:t}),z=e=>{let[,t]=O(e.getState);return k(()=>(t(e.getState()),e.subscribe(()=>{t(e.getState())})),[e]),e.getState()},at=T(({runtime:e})=>{let t=z(e);return{getState:()=>t,remove:e.remove,__internal_getRuntime:()=>e}}),ot=T(({runtime:e})=>{let t=z(e);return{getState:()=>t,addToolResult:t=>e.addToolResult(t),resumeToolCall:t=>e.resumeToolCall(t),__internal_getRuntime:()=>e}}),st=T(({runtime:e,index:t})=>b(at({runtime:y(()=>e.getAttachmentByIndex(t),[e,t])}))),ct=T(({threadIdRef:e,messageIdRef:t,runtime:n})=>{let r=z(n),i=v();k(()=>{let r=[];for(let a of[`send`,`attachmentAdd`]){let o=n.unstable_on(a,()=>{i(`composer.${a}`,{threadId:e.current,...t&&{messageId:t.current}})});r.push(o)}return r.push(n.unstable_on(`attachmentAddError`,n=>{i(`composer.attachmentAddError`,{threadId:e.current,...t&&{messageId:t.current},...n.attachmentId&&{attachmentId:n.attachmentId},reason:n.reason,message:n.message})})),()=>{for(let e of r)e()}},[n,i,e,t]);let a=L(()=>r.attachments.map((e,t)=>A(e.id,st({runtime:n,index:t}))),[r.attachments,n]),o=y(()=>({text:r.text,role:r.role,attachments:a.state,runConfig:r.runConfig,isEditing:r.isEditing,canCancel:r.canCancel,canSend:r.canSend,attachmentAccept:r.attachmentAccept,isEmpty:r.isEmpty,type:r.type??`thread`,dictation:r.dictation,quote:r.quote,queue:[]}),[r,a.state]);return{getState:()=>o,setText:n.setText,setRole:n.setRole,setRunConfig:n.setRunConfig,addAttachment:n.addAttachment,reset:n.reset,clearAttachments:n.clearAttachments,send:n.send,cancel:n.cancel,beginEdit:n.beginEdit??(()=>{throw Error(`beginEdit is not supported in this runtime`)}),startDictation:n.startDictation,stopDictation:n.stopDictation,setQuote:n.setQuote,attachment:e=>`id`in e?a.get({key:e.id}):a.get(e),queueItem:()=>{throw Error(`Queue is not supported in this runtime`)},__internal_getRuntime:()=>n}}),lt=T(({runtime:e,index:t})=>b(at({runtime:y(()=>e.getAttachmentByIndex(t),[e,t])}))),ut=T(({runtime:e,index:t})=>b(ot({runtime:y(()=>e.getMessagePartByIndex(t),[e,t])}))),dt=T(({runtime:e,threadIdRef:t})=>{let n=z(e),[r,i]=O(!1),[a,o]=O(!1),s=y(()=>({get current(){return e.getState().id}}),[e]),c=_(ct({runtime:e.composer,threadIdRef:t,messageIdRef:s})),l=L(()=>n.content.map((t,n)=>A(`toolCallId`in t&&t.toolCallId!=null?`toolCallId-${t.toolCallId}`:`index-${n}`,ut({runtime:e,index:n}))),[n.content,e]),u=L(()=>(n.attachments??[]).map((t,n)=>A(t.id,lt({runtime:e,index:n}))),[n.attachments,e]),d=y(()=>({...n,parts:l.state,composer:c.state,isCopied:r,isHovering:a}),[n,l.state,c.state,r,a]);return{getState:()=>d,composer:()=>c.methods,reload:t=>e.reload(t),speak:()=>e.speak(),stopSpeaking:()=>e.stopSpeaking(),submitFeedback:t=>e.submitFeedback(t),switchToBranch:t=>e.switchToBranch(t),getCopyText:()=>e.unstable_getCopyText(),part:e=>`index`in e?l.get({index:e.index}):l.get({key:`toolCallId-${e.toolCallId}`}),attachment:e=>`id`in e?u.get({key:e.id}):u.get(e),setIsCopied:i,setIsHovering:o,__internal_getRuntime:()=>e}}),ft=T(({runtime:e,id:t,threadIdRef:n})=>b(dt({runtime:y(()=>e.getMessageById(t),[e,t]),threadIdRef:n}))),pt=T(({runtime:e})=>{let t=z(e),n=v();k(()=>{let t=[];for(let r of[`runStart`,`runEnd`,`initialize`,`modelContextUpdate`]){let i=e.unstable_on(r,()=>{let t=e.getState()?.threadId||`unknown`;n(`thread.${r}`,{threadId:t})});t.push(i)}return()=>{for(let e of t)e()}},[e,n]);let r=y(()=>({get current(){return e.getState().threadId}}),[e]),i=_(ct({runtime:e.composer,threadIdRef:r})),a=L(()=>t.messages.map(t=>A(t.id,ft({runtime:e,id:t.id,threadIdRef:r}))),[t.messages,e,r]),o=y(()=>({isEmpty:a.state.length===0&&!t.isLoading,isDisabled:t.isDisabled,isLoading:t.isLoading,isRunning:t.isRunning,capabilities:t.capabilities,state:t.state,suggestions:t.suggestions,extras:t.extras,speech:t.speech,voice:t.voice,composer:i.state,messages:a.state}),[t,a,i.state]);return{getState:()=>o,composer:()=>i.methods,append:e.append,startRun:e.startRun,resumeRun:e.resumeRun,cancelRun:e.cancelRun,getModelContext:e.getModelContext,export:e.export,import:e.import,reset:e.reset,stopSpeaking:e.stopSpeaking,connectVoice:e.connectVoice,disconnectVoice:e.disconnectVoice,getVoiceVolume:e.getVoiceVolume,subscribeVoiceVolume:e.subscribeVoiceVolume,muteVoice:e.muteVoice,unmuteVoice:e.unmuteVoice,message:e=>`id`in e?a.get({key:e.id}):a.get(e),__internal_getRuntime:()=>e}}),mt=T(({runtime:e})=>{let t=z(e),n=v();return k(()=>{let t=[];for(let r of[`switchedTo`,`switchedAway`]){let i=e.unstable_on(r,()=>{n(`threadListItem.${r}`,{threadId:e.getState().id})});t.push(i)}return()=>{for(let e of t)e()}},[e,n]),{getState:()=>t,switchTo:e.switchTo,rename:e.rename,archive:e.archive,unarchive:e.unarchive,delete:e.delete,generateTitle:e.generateTitle,initialize:e.initialize,detach:e.detach,__internal_getRuntime:()=>e}}),ht=T(({runtime:e,id:t})=>b(mt({runtime:y(()=>e.getItemById(t),[e,t])}))),gt=T(({runtime:e,__internal_assistantRuntime:t})=>{let n=z(e),r=_(pt({runtime:e.main})),i=L(()=>Object.keys(n.threadItems).map(t=>A(t,ht({runtime:e,id:t}))),[n.threadItems,e]),a=y(()=>({mainThreadId:n.mainThreadId,newThreadId:n.newThreadId??null,isLoading:n.isLoading,isLoadingMore:n.isLoadingMore,hasMore:n.hasMore,threadIds:n.threadIds,archivedThreadIds:n.archivedThreadIds,threadItems:i.state,main:r.state}),[n,i.state,r.state]);return{getState:()=>a,thread:()=>r.methods,item:e=>{if(e===`main`)return i.get({key:a.mainThreadId});if(`id`in e)return i.get({key:e.id});let{index:t,archived:n=!1}=e,r=n?a.archivedThreadIds[t]:a.threadIds[t];return i.get({key:r})},switchToThread:async t=>{await e.switchToThread(t)},switchToNewThread:async()=>{await e.switchToNewThread()},getLoadThreadsPromise:()=>e.getLoadThreadsPromise(),reload:()=>e.reload(),loadMore:()=>e.loadMore(),__internal_getAssistantRuntime:()=>t}}),_t=T(e=>{let t=ee();return k(()=>e.registerModelContextProvider(t.current.modelContext()),[e,t]),b(gt({runtime:e.threads,__internal_assistantRuntime:e}))}),vt=(e,t)=>{e.thread??=M({source:`threads`,query:{type:`main`},get:e=>e.threads().thread(`main`)}),e.threadListItem??=M({source:`threads`,query:{type:`main`},get:e=>e.threads().item(`main`)}),e.composer??=M({source:`thread`,query:{},get:e=>e.threads().thread(`main`).composer()}),!e.modelContext&&t.modelContext.source===null&&(e.modelContext=tt()),!e.suggestions&&t.suggestions.source===null&&(e.suggestions=Ze())},yt=({index:e,children:t})=>(0,R.jsx)(p,{value:w({message:M({source:`thread`,query:{type:`index`,index:e},get:t=>t.thread().message({index:e})}),composer:M({source:`message`,query:{},get:t=>t.thread().message({index:e}).composer()})}),children:t}),bt=({index:e,children:t})=>(0,R.jsx)(p,{value:w({part:M({source:`message`,query:{type:`index`,index:e},get:t=>t.message().part({index:e})})}),children:t}),xt=T(({text:e,isRunning:t})=>{let n=y(()=>({type:`text`,text:e,status:t?{type:`running`}:{type:`complete`}}),[e,t]);return{getState:()=>n,addToolResult:()=>{throw Error(`Not supported`)},resumeToolCall:()=>{throw Error(`Not supported`)}}}),St=({text:e,isRunning:t=!1,children:n})=>(0,R.jsx)(p,{value:w({part:xt({text:e,isRunning:t})}),children:n}),Ct=({startIndex:e,endIndex:t,children:n})=>{let r=C(e=>e.message.parts).slice(e,t+1),i=w();return(0,R.jsx)(p,{value:w({chainOfThought:$e({parts:r,getMessagePart:({index:t})=>{if(t<0||t>=r.length)throw Error(`ChainOfThought part index ${t} is out of bounds (0..${r.length-1})`);return i.message().part({index:e+t})}})}),children:n})},wt=class extends de{runtime;endEditCallback;get canCancel(){return!0}get canSend(){return!this.isEmpty}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_previousText;_previousAttachments;_nonTextPassthrough;_parentId;_sourceId;constructor(e,t,{parentId:n,message:r}){super(),this.runtime=e,this.endEditCallback=t,this._parentId=n,this._sourceId=r.id,this._previousText=j(r),this.setText(this._previousText),this.setRole(r.role),r.role===`user`?(this._previousAttachments=[...r.attachments??[],...ae(r.content)],this._nonTextPassthrough=[]):(this._previousAttachments=r.attachments??[],this._nonTextPassthrough=r.content.filter(e=>e.type!==`text`)),this.setAttachments(this._previousAttachments),this.setRunConfig({...e.composer.runConfig})}get parentId(){return this._parentId}get sourceId(){return this._sourceId}async handleSend(e,t){let n=j(e),r=!ue(e.attachments??[],this._previousAttachments);if(n!==this._previousText||r||t?.startRun){let n=this._nonTextPassthrough.length>0?[...e.content,...this._nonTextPassthrough]:e.content;this.runtime.append({...e,content:n,parentId:this._parentId,sourceId:this._sourceId,startRun:t?.startRun})}this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}},Tt=class{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new Ce;_voiceMessages=[];_voiceGeneration=0;_cachedMergedMessages=null;_cachedVoiceGeneration=-1;_cachedMergedBase=null;_markVoiceMessagesDirty(){this._voiceGeneration++,this._cachedMergedMessages=null}_getBaseMessages(){return this.repository.getMessages()}get messages(){if(this._voiceMessages.length===0)return this._getBaseMessages();let e=this._getBaseMessages();return(this._cachedVoiceGeneration!==this._voiceGeneration||this._cachedMergedBase!==e)&&(this._cachedMergedMessages=[...e,...this._voiceMessages],this._cachedVoiceGeneration=this._voiceGeneration,this._cachedMergedBase=e),this._cachedMergedMessages}get state(){let e;for(let t of this.messages)t.role===`assistant`&&(e=t);return e?.metadata.unstable_state??null}composer=new me(this);constructor(e){this._contextProvider=e}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw Error(`Edit already in progress`);this._editComposers.set(e,new wt(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch{let t=this.repository.getMessages(),n=this._voiceMessages.findIndex(t=>t.id===e);return n===-1?void 0:{parentId:n>0?this._voiceMessages[n-1].id:t.at(-1)?.id??null,message:this._voiceMessages[n],index:t.length+n}}}getBranches(e){return this._voiceMessages.some(t=>t.id===e)?[]:this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(let e of this._subscriptions)e()}_notifyEventSubscribers(e,t){let n=this._eventSubscribers.get(e);if(n)for(let e of n)e(t)}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){let n=this.adapters?.feedback;if(!n)throw Error(`Feedback adapter not configured`);let{message:r,parentId:i}=this.repository.getMessage(e);if(n.submit({message:r,type:t}),r.role===`assistant`){let e={...r,metadata:{...r.metadata,submittedFeedback:{type:t}}};this.repository.addOrUpdateMessage(i,e)}this._notifySubscribers()}_stopSpeaking;speech;speak(e){let t=this.adapters?.speech;if(!t)throw Error(`Speech adapter not configured`);let{message:n}=this.repository.getMessage(e);this._stopSpeaking?.();let r=t.speak(j(n)),i=r.subscribe(()=>{r.status.type===`ended`?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:r.status},this._notifySubscribers()});this.speech={messageId:e,status:r.status},this._notifySubscribers(),this._stopSpeaking=()=>{r.cancel(),i(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error(`No message is being spoken`);this._stopSpeaking(),this._notifySubscribers()}_voiceSession;_voiceUnsubs=[];voice;_voiceVolume=0;_voiceVolumeSubscribers=new Set;getVoiceVolume=()=>this._voiceVolume;subscribeVoiceVolume=e=>(this._voiceVolumeSubscribers.add(e),()=>this._voiceVolumeSubscribers.delete(e));connectVoice(){let e=this.adapters?.voice;if(!e)throw Error(`Voice adapter not configured`);this.disconnectVoice();let t=e.connect({});this._voiceSession=t;let n=[],r=`listening`;this.voice={status:t.status,isMuted:t.isMuted,mode:r},this._voiceVolume=0,this._notifySubscribers(),n.push(t.onStatusChange(e=>{e.type===`ended`?(this._finishVoiceAssistantMessage(),this._voiceSession=void 0,this.voice=void 0):this.voice={status:e,isMuted:t.isMuted,mode:r},this._notifySubscribers()})),n.push(t.onModeChange(e=>{r=e,this.voice&&(this.voice={...this.voice,mode:e},this._notifySubscribers())})),n.push(t.onVolumeChange(e=>{this._voiceVolume=e;for(let e of this._voiceVolumeSubscribers)e()})),n.push(t.onTranscript(e=>{this._handleVoiceTranscript(e)})),this._voiceUnsubs=n}_currentAssistantMsg=null;_handleVoiceTranscript(e){if(this.ensureInitialized(),e.role===`user`)this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null,e.isFinal&&(this._voiceMessages.push({id:m(),role:`user`,content:[{type:`text`,text:e.text}],metadata:{custom:{}},createdAt:new Date,status:{type:`complete`,reason:`unknown`},attachments:[]}),this._markVoiceMessagesDirty(),this._notifySubscribers());else{if(!this._currentAssistantMsg)this._currentAssistantMsg={id:m(),role:`assistant`,content:[{type:`text`,text:e.text}],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},status:{type:`running`},createdAt:new Date},this._voiceMessages.push(this._currentAssistantMsg);else{let t=this._voiceMessages.indexOf(this._currentAssistantMsg);if(t===-1)return;let n={...this._currentAssistantMsg,content:[{type:`text`,text:e.text}],...e.isFinal?{status:{type:`complete`,reason:`stop`}}:{}};this._voiceMessages[t]=n,this._currentAssistantMsg=n}e.isFinal&&(this._currentAssistantMsg=null),this._markVoiceMessagesDirty(),this._notifySubscribers()}}_finishVoiceAssistantMessage(){let e=this._voiceMessages.at(-1);if(e?.role===`assistant`&&e.status.type===`running`){let t=this._voiceMessages.length-1;this._voiceMessages[t]={...e,status:{type:`complete`,reason:`stop`}},this._markVoiceMessagesDirty(),this._notifySubscribers()}}disconnectVoice(){this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null;for(let e of this._voiceUnsubs)e();this._voiceUnsubs=[],this._voiceSession?.disconnect(),this._voiceSession=void 0,this.voice=void 0,this._voiceVolume=0;for(let e of this._voiceVolumeSubscribers)e();this._voiceMessages=[],this._markVoiceMessagesDirty(),this._notifySubscribers()}muteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.mute(),this.voice={...this.voice,isMuted:!0},this._notifySubscribers()}unmuteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.unmute(),this.voice={...this.voice,isMuted:!1},this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers(`initialize`,{}))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(xe.fromArray(e??[]))}_eventSubscribers=new Map;unstable_on(e,t){let n=t;if(e===`modelContextUpdate`)return this._contextProvider.subscribe?.(()=>n({}))??(()=>{});let r=this._eventSubscribers.get(e);return r||(r=new Set,this._eventSubscribers.set(e,r)),r.add(n),()=>{this._eventSubscribers.get(e)?.delete(n)}}},Et=T(e=>b(_t(e)));E(Et,(e,t)=>{vt(e,t),!e.tools&&t.tools.source===null&&(e.tools=nt({})),!e.dataRenderers&&t.dataRenderers.source===null&&(e.dataRenderers=rt())});var B=Object.freeze([]),V=`DEFAULT_THREAD_ID`,Dt=Object.freeze([V]),Ot=Object.freeze({id:V,remoteId:void 0,externalId:void 0,status:`regular`}),kt=Promise.resolve(),At=Object.freeze({[V]:Ot}),jt=class{threadFactory;_mainThreadId=V;_threads=Dt;_archivedThreads=B;_threadData=At;adapter={};get isLoading(){return this.adapter.isLoading??!1}get newThreadId(){}get threadIds(){return this._threads}get archivedThreadIds(){return this._archivedThreads}get threadItems(){return this._threadData}getLoadThreadsPromise(){return kt}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(e={},t){this.threadFactory=t,this.__internal_setAdapter(e,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error(`Method not implemented.`)}getItemById(e){return this._threadData[e]}__internal_setAdapter(e,t=!1){let n=this.adapter;this.adapter=e;let r=e.threadId??V,i=e.threads??B,a=e.archivedThreads??B,o=n.threadId??V,s=n.threads??B,c=n.archivedThreads??B;!t&&o===r&&s===i&&c===a||((s!==i||c!==a||o!==r)&&(this._threadData={...At,...Object.fromEntries(e.threads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`regular`}])??[]),...Object.fromEntries(e.archivedThreads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`archived`}])??[])}),s!==i&&(this._threads=this.adapter.threads?.map(e=>e.id)??B),c!==a&&(this._archivedThreads=this.adapter.archivedThreads?.map(e=>e.id)??B),(t||o!==r)&&(this._mainThreadId=r,this._mainThread=this.threadFactory()),this._threadData[this._mainThreadId]||(this._threadData={...this._threadData,[this._mainThreadId]:{id:this._mainThreadId,remoteId:void 0,externalId:void 0,status:`regular`}}),this._notifySubscribers())}async switchToThread(e){if(this._mainThreadId===e)return;let t=this.adapter.onSwitchToThread;if(!t)throw Error(`External store adapter does not support switching to thread`);await t(e)}async switchToNewThread(){let e=this.adapter.onSwitchToNewThread;if(!e)throw Error(`External store adapter does not support switching to new thread`);await e()}async rename(e,t){let n=this.adapter.onRename;if(!n)throw Error(`External store adapter does not support renaming`);await n(e,t)}async detach(){}async archive(e){let t=this.adapter.onArchive;if(!t)throw Error(`External store adapter does not support archiving`);await t(e)}async unarchive(e){let t=this.adapter.onUnarchive;if(!t)throw Error(`External store adapter does not support unarchiving`);await t(e)}async delete(e){let t=this.adapter.onDelete;if(!t)throw Error(`External store adapter does not support deleting`);await t(e)}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){throw Error(`Method not implemented.`)}_subscriptions=new Set;subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}_notifySubscribers(){for(let e of this._subscriptions)e()}},Mt=class{cache=new WeakMap;convertMessages(e,t){return e.map((e,n)=>{let r=t(this.cache.get(e),e,n);return this.cache.set(e,r),r})}},Nt=Object.freeze([]),Pt=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0},Ft=(e,t)=>e&&t[t.length-1]?.role!==`assistant`,It=class extends Tt{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,voice:!1,attachments:!1,feedback:!1,queue:!1};get capabilities(){return this._capabilities}_messages;isDisabled;isSendDisabled;get isLoading(){return this._store.isLoading??!1}get isRunning(){return this._store.isRunning}_getBaseMessages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new Mt;_store;beginEdit(e){if(!this._store.onEdit)throw Error(`Runtime does not support editing.`);super.beginEdit(e)}constructor(e,t){super(e),this.__internal_setAdapter(t)}__internal_setAdapter(e){if(this._store===e)return;let t=e.isRunning??!1;this.isDisabled=e.isDisabled??!1,this.isSendDisabled=e.isSendDisabled??!1;let n=this._store;this._store=e,this.extras!==e.extras&&(this.extras=e.extras);let r=e.suggestions??Nt;Pt(this.suggestions,r)||(this.suggestions=r);let i={switchToBranch:this._store.setMessages!==void 0,switchBranchDuringRun:!1,edit:this._store.onEdit!==void 0,reload:this._store.onReload!==void 0,cancel:this._store.onCancel!==void 0,speech:this._store.adapters?.speech!==void 0,dictation:this._store.adapters?.dictation!==void 0,voice:this._store.adapters?.voice!==void 0,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback,queue:!1};Pt(this._capabilities,i)||(this._capabilities=i);let a;if(e.messageRepository){if(n&&n.isRunning===e.isRunning&&n.messageRepository===e.messageRepository){this._notifySubscribers();return}this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(e.messageRepository),a=this.repository.getMessages()}else if(e.messages){if(n){if(n.convertMessage!==e.convertMessage)this._converter=new Mt;else if(n.isRunning===e.isRunning&&n.messages===e.messages){this._notifySubscribers();return}}a=e.convertMessage?this._converter.convertMessages(e.messages,(n,r,i)=>{if(!e.convertMessage)return r;let a=Se(i===(e.messages?.length??0)-1,t,!1,!1,void 0);if(n&&(n.role!==`assistant`||!te(n.status)||n.status===a))return n;let o=se(e.convertMessage(r,i),i.toString(),a);return le(o,r),o}):e.messages;for(let e=0;e<a.length;e++){let t=a[e],n=a[e-1];this.repository.addOrUpdateMessage(n?.id??null,t)}}else throw Error(`ExternalStoreAdapter must provide either 'messages' or 'messageRepository'`);a.length>0&&this.ensureInitialized(),(n?.isRunning??!1)!==(e.isRunning??!1)&&(e.isRunning?this._notifyEventSubscribers(`runStart`,{}):this._notifyEventSubscribers(`runEnd`,{})),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null),Ft(t,a)&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(a.at(-1)?.id??null,{role:`assistant`,content:[]})),this.repository.resetHead(this._assistantOptimisticId??a.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(e){if(!this._store.setMessages)throw Error(`Runtime does not support switching branches.`);this._store.isRunning||(this.repository.switchToBranch(e),this.updateMessages(this.repository.getMessages()))}async append(e){if(e.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error(`Runtime does not support editing messages.`);await this._store.onEdit(e)}else await this._store.onNew(e)}async startRun(e){if(!this._store.onReload)throw Error(`Runtime does not support reloading messages.`);await this._store.onReload(e.parentId,e)}async resumeRun(e){if(!this._store.onResume)throw Error(`Runtime does not support resuming runs.`);await this._store.onResume(e)}exportExternalState(){if(!this._store.onExportExternalState)throw Error(`Runtime does not support exporting external states.`);return this._store.onExportExternalState()}importExternalState(e){if(!this._store.onLoadExternalState)throw Error(`Runtime does not support importing external states.`);this._store.onLoadExternalState(e)}cancelRun(){if(!this._store.onCancel)throw Error(`Runtime does not support cancelling runs.`);this._store.onCancel(),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null);let e=this.repository.getMessages(),t=e[e.length-1];t?.role===`user`&&t.id===e.at(-1)?.id?(this.repository.deleteMessage(t.id),this.composer.text.trim()||this.composer.setText(j(t)),e=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(e)},0)}addToolResult(e){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error(`Runtime does not support tool results.`);this._store.onAddToolResult?.(e)}resumeToolCall(e){if(!this._store.onResumeToolCall)throw Error(`Runtime does not support resuming tool calls.`);this._store.onResumeToolCall(e)}reset(e){let t=new Ce;t.import(xe.fromArray(e??[])),this.updateMessages(t.getMessages())}import(e){this._assistantOptimisticId=null,super.import(e),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=e=>{this._store.convertMessage===void 0?this._store.setMessages?.(e):this._store.setMessages?.(e.flatMap(ge))}},Lt=e=>e.adapters?.threadList??{},Rt=class extends ne{threads;constructor(e){super(),this.threads=new jt(Lt(e),()=>new It(this._contextProvider,e))}setAdapter(e){this.threads.__internal_setAdapter(Lt(e)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(e)}},zt=e=>{let[t]=(0,F.useState)(()=>new Rt(e));(0,F.useEffect)(()=>{t.setAdapter(e)});let{modelContext:n}=pe()??{};return(0,F.useEffect)(()=>{if(n)return t.registerModelContextProvider(n)},[n,t]),(0,F.useMemo)(()=>new be(t),[t])},Bt=e=>e._core?.RenderComponent,Vt=(0,F.memo)(({runtime:e,aui:t=null,children:n})=>{let r=w({threads:Et(e)},{parent:t}),i=Bt(e);return(0,R.jsxs)(p,{value:r,children:[i&&(0,R.jsx)(i,{}),n]})}),Ht=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,Ut=()=>null,Wt=(e,t,n)=>{switch(t){case`user`:return n?e.UserEditComposer??e.EditComposer??e.UserMessage??e.Message:e.UserMessage??e.Message;case`assistant`:return n?e.AssistantEditComposer??e.EditComposer??e.AssistantMessage??e.Message:e.AssistantMessage??e.Message;case`system`:return n?e.SystemEditComposer??e.EditComposer??e.SystemMessage??e.Message:e.SystemMessage??e.Message??Ut;default:throw Error(`Unknown message role: ${t}`)}},Gt=({components:e})=>(0,R.jsx)(Wt(e,C(e=>e.message.role),C(e=>e.message.composer.isEditing)),{}),Kt=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(yt,{index:e,children:(0,R.jsx)(Gt,{components:t})}),(e,t)=>e.index===t.index&&Ht(e.components,t.components));Kt.displayName=`ThreadPrimitive.MessageByIndex`;var qt=({children:e})=>{let t=C(e=>e.thread.messages.length);return(0,F.useMemo)(()=>t===0?null:Array.from({length:t},(t,n)=>(0,R.jsx)(yt,{index:n,children:(0,R.jsx)(qe,{getItemState:e=>e.thread().message({index:n}).getState(),children:t=>e({get message(){return t()}})})},n)),[t,e])},Jt=({components:e,children:t})=>e?(0,R.jsx)(qt,{children:()=>(0,R.jsx)(Gt,{components:e})}):(0,R.jsx)(qt,{children:t});Jt.displayName=`ThreadPrimitive.Messages`;var Yt=(0,F.memo)(Jt,(e,t)=>e.children||t.children?e.children===t.children:Ht(e.components,t.components)),Xt=e=>{let t=e.message.metadata;if(!(!t||typeof t!=`object`))return t.custom?.quote},Zt=`ui://`,Qt=e=>!!e?.startsWith(Zt),$t=e=>Symbol.iterator in e,en=e=>`entries`in e,tn=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},nn=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$t(e)&&$t(t)?en(e)&&en(t)?tn(e,t):nn(e,t):tn({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function an(e){let t=F.useRef(void 0);return n=>{let r=e(n);return rn(t.current,r)?t.current:t.current=r}}var on=e=>{let t=-1;return{startGroup:e=>{t===-1&&(t=e)},endGroup:(n,r)=>{t!==-1&&(r.push({type:e,startIndex:t,endIndex:n}),t=-1)},finalize:(n,r)=>{t!==-1&&r.push({type:e,startIndex:t,endIndex:n})}}},sn=(e,t)=>{let n=[];if(t){let t=on(`chainOfThoughtGroup`);for(let r=0;r<e.length;r++){let i=e[r];i===`tool-call`||i===`reasoning`?t.startGroup(r):(t.endGroup(r-1,n),n.push({type:`single`,index:r}))}t.finalize(e.length-1,n)}else{let t=on(`toolGroup`),r=on(`reasoningGroup`);for(let i=0;i<e.length;i++){let a=e[i];a===`tool-call`?(r.endGroup(i-1,n),t.startGroup(i)):a===`reasoning`?(t.endGroup(i-1,n),r.startGroup(i)):(t.endGroup(i-1,n),r.endGroup(i-1,n),n.push({type:`single`,index:i}))}t.finalize(e.length-1,n),r.finalize(e.length-1,n)}return n},cn=e=>{let t=C(an(e=>e.message.parts.map(e=>e.type)));return(0,F.useMemo)(()=>t.length===0?[]:sn(t,e),[t,e])},ln=({Fallback:e,...t})=>{let n=C(n=>{let r=n.tools.tools[t.toolName]??e;return Array.isArray(r)?r[0]??e:r});return n?(0,R.jsx)(n,{...t}):null},un=(e,t,n)=>e.renderers[t]?.[0]||(e.fallbacks[0]??n),dn=({Fallback:e,...t})=>{let n=C(n=>un(n.dataRenderers,t.name,e));return n?(0,R.jsx)(n,{...t}):null},H={Text:()=>null,Reasoning:()=>null,Source:()=>null,Image:()=>null,File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},fn=({components:{Text:e=H.Text,Reasoning:t=H.Reasoning,Image:n=H.Image,Source:r=H.Source,File:i=H.File,Unstable_Audio:a=H.Unstable_Audio,tools:o={},data:s}={}})=>{let c=w(),l=C(e=>e.part),u=l.type;if(u===`tool-call`){let e=c.part().addToolResult,t=c.part().resumeToolCall;if(`Override`in o)return(0,R.jsx)(o.Override,{...l,addResult:e,resume:t});let n=o.by_name?.[l.toolName]??o.Fallback;return(0,R.jsx)(ln,{...l,Fallback:n,addResult:e,resume:t})}if(l.status?.type===`requires-action`)throw Error(`Encountered unexpected requires-action status`);switch(u){case`text`:return(0,R.jsx)(e,{...l});case`reasoning`:return(0,R.jsx)(t,{...l});case`source`:return(0,R.jsx)(r,{...l});case`image`:return(0,R.jsx)(n,{...l});case`file`:return(0,R.jsx)(i,{...l});case`audio`:return(0,R.jsx)(a,{...l});case`data`:{let e=s?.by_name?.[l.name]??s?.Fallback;return(0,R.jsx)(dn,{...l,Fallback:e})}default:return console.warn(`Unknown message part type: ${u}`),null}},U=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(bt,{index:e,children:(0,R.jsx)(fn,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Text===t.components?.Text&&e.components?.Reasoning===t.components?.Reasoning&&e.components?.Source===t.components?.Source&&e.components?.Image===t.components?.Image&&e.components?.File===t.components?.File&&e.components?.Unstable_Audio===t.components?.Unstable_Audio&&e.components?.tools===t.components?.tools&&e.components?.data===t.components?.data&&e.components?.ToolGroup===t.components?.ToolGroup&&e.components?.ReasoningGroup===t.components?.ReasoningGroup);U.displayName=`MessagePrimitive.PartByIndex`;var pn=({status:e,component:t})=>(0,R.jsx)(St,{text:``,isRunning:e.type===`running`,children:(0,R.jsx)(t,{type:`text`,text:``,status:e})}),mn=Object.freeze({type:`complete`}),hn=Object.freeze({type:`running`}),gn=(0,F.memo)(({components:e})=>{let t=C(e=>e.message.status??mn);return e?.Empty?(0,R.jsx)(e.Empty,{status:t}):t.type===`running`?(0,R.jsx)(pn,{status:t,component:e?.Text??H.Text}):null},(e,t)=>e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),_n=(0,F.memo)(({components:e,enabled:t})=>C(e=>{if(!t||e.message.parts.length===0)return!1;let n=e.message.parts[e.message.parts.length-1];return n?.type!==`text`&&n?.type!==`reasoning`})?(0,R.jsx)(gn,{components:e}):null,(e,t)=>e.enabled===t.enabled&&e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),vn=(0,F.memo)(({Quote:e})=>{let t=C(Xt);return t?(0,R.jsx)(e,{text:t.text,messageId:t.messageId}):null});function yn(e,t){let n=e.tools[t.toolName];return(Array.isArray(n)?n[0]??null:n??null)||(Qt(t.mcp?.app?.resourceUri)&&e.mcpApp?e.mcpApp.render:null)}var bn=()=>{let e=w(),t=C(e=>e.part),n=C(e=>e.part.type===`tool-call`?yn(e.tools,e.part):null);return!n||t.type!==`tool-call`?null:(0,R.jsx)(n,{...t,addResult:e.part().addToolResult,resume:e.part().resumeToolCall})},xn=()=>{let e=C(e=>e.part),t=C(e=>e.part.type===`data`?un(e.dataRenderers,e.part.name,void 0)??null:null);return!t||e.type!==`data`?null:(0,R.jsx)(t,{...e})},Sn=()=>{let e=C(e=>e.part.type);return e===`tool-call`?(0,R.jsx)(bn,{}):e===`data`?(0,R.jsx)(xn,{}):null},Cn=Object.freeze({type:`text`,text:``,status:hn}),wn=({index:e,children:t})=>{let n=w(),r=C(e=>e.dataRenderers);return(0,R.jsx)(bt,{index:e,children:(0,R.jsx)(qe,{getItemState:t=>t.message().part({index:e}).getState(),children:i=>t({get part(){let t=i();if(t.type===`tool-call`){let r=yn(n.tools().getState(),t)!==null,i=n.message().part({index:e});return{...t,toolUI:r?(0,R.jsx)(bn,{}):null,addResult:i.addToolResult,resume:i.resumeToolCall}}if(t.type===`data`){let e=un(r,t.name,void 0)!==void 0;return{...t,dataRendererUI:e?(0,R.jsx)(xn,{}):null}}return t}})})})},Tn=({children:e})=>{let t=C(e=>e.message.parts.length),n=C(e=>(e.message.status?.type??`complete`)===`running`);return t===0?t===0&&n?(0,R.jsx)(St,{text:``,isRunning:!0,children:e({part:Cn})}):null:(0,R.jsx)(R.Fragment,{children:Array.from({length:t},(t,n)=>(0,R.jsx)(wn,{index:n,children:t=>e(t)??(0,R.jsx)(Sn,{})},n))})},En=({components:e,unstable_showEmptyOnNonTextEnd:t=!0,children:n})=>n?(0,R.jsx)(Tn,{children:n}):(0,R.jsx)(Dn,{components:e,unstable_showEmptyOnNonTextEnd:t});En.displayName=`MessagePrimitive.Parts`;var Dn=({components:e,unstable_showEmptyOnNonTextEnd:t})=>{let n=C(e=>e.message.parts.length),r=cn(!!e?.ChainOfThought),i=(0,F.useMemo)(()=>n===0?(0,R.jsx)(gn,{components:e}):r.map(t=>{if(t.type===`single`)return(0,R.jsx)(U,{index:t.index,components:e},t.index);if(t.type===`chainOfThoughtGroup`){let n=e?.ChainOfThought;return n?(0,R.jsx)(Ct,{startIndex:t.startIndex,endIndex:t.endIndex,children:(0,R.jsx)(n,{})},`chainOfThought-${t.startIndex}`):null}else if(t.type===`toolGroup`)return(0,R.jsx)(e?.ToolGroup??H.ToolGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,R.jsx)(U,{index:t.startIndex+r,components:e},r))},`tool-${t.startIndex}`);else return(0,R.jsx)(e?.ReasoningGroup??H.ReasoningGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,R.jsx)(U,{index:t.startIndex+r,components:e},r))},`reasoning-${t.startIndex}`)}),[r,e,n]);return(0,R.jsxs)(R.Fragment,{children:[e?.Quote&&(0,R.jsx)(vn,{Quote:e.Quote}),i,(0,R.jsx)(_n,{components:e,enabled:t})]})},On=(e,t)=>{switch(t.type){case`image`:return e?.Image??e?.Attachment;case`document`:return e?.Document??e?.Attachment;case`file`:return e?.File??e?.Attachment;default:return e?.Attachment}},kn=({components:e})=>{let t=C(e=>e.attachment);if(!t)return null;let n=On(e,t);return n?(0,R.jsx)(n,{}):null},An=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(it,{index:e,children:(0,R.jsx)(kn,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Image===t.components?.Image&&e.components?.Document===t.components?.Document&&e.components?.File===t.components?.File&&e.components?.Attachment===t.components?.Attachment);An.displayName=`ComposerPrimitive.AttachmentByIndex`;var jn=({children:e})=>{let t=C(e=>e.composer.attachments.length);return(0,F.useMemo)(()=>Array.from({length:t},(t,n)=>(0,R.jsx)(it,{index:n,children:(0,R.jsx)(qe,{getItemState:e=>e.composer().attachment({index:n}).getState(),children:t=>e({get attachment(){return t()}})})},n)),[t,e])},Mn=({components:e,children:t})=>e?(0,R.jsx)(jn,{children:({attachment:t})=>{let n=On(e,t);return n?(0,R.jsx)(n,{}):null}}):(0,R.jsx)(jn,{children:t});Mn.displayName=`ComposerPrimitive.Attachments`;var Nn=()=>{let e=w(),t=C(e=>!e.composer.canSend||e.thread.isRunning&&!e.thread.capabilities.queue);return{send:(0,F.useCallback)(t=>{e.composer().send(t)},[e]),disabled:t}},Pn=()=>{let e=w(),t=C(e=>!e.composer.isEditing);return{addAttachment:(0,F.useCallback)(t=>e.composer().addAttachment(t),[e]),disabled:t}},Fn=e=>{let t=new Map,n=()=>{let n=0;for(let e of t.values())n+=e;e(n)};return{register:()=>{let e=Symbol();return t.set(e,0),{setHeight:r=>{t.get(e)!==r&&(t.set(e,r),n())},unregister:()=>{t.delete(e),n()}}}}},In=(e={})=>{let t=new Set,n=Fn(e=>{a.setState({height:{...a.getState().height,viewport:e}})}),r=Fn(e=>{a.setState({height:{...a.getState().height,inset:e}})}),i=(e,t)=>(a.setState({element:{...a.getState().element,[e]:t}}),()=>{a.getState().element[e]===t&&a.setState({element:{...a.getState().element,[e]:null}})}),a=S(()=>({isAtBottom:!0,scrollToBottom:({behavior:e=`auto`}={})=>{for(let n of t)n({behavior:e})},onScrollToBottom:e=>(t.add(e),()=>{t.delete(e)}),turnAnchor:e.turnAnchor??`bottom`,topAnchorMessageClamp:{tallerThan:e.topAnchorMessageClamp?.tallerThan??`10em`,visibleHeight:e.topAnchorMessageClamp?.visibleHeight??`6em`},height:{viewport:0,inset:0},element:{viewport:null,anchor:null,target:null},targetConfig:null,topAnchorTurn:null,registerViewport:n.register,registerContentInset:r.register,registerViewportElement:e=>i(`viewport`,e),registerAnchorElement:e=>i(`anchor`,e),registerAnchorTargetElement:(e,t)=>(a.setState({element:{...a.getState().element,target:e},targetConfig:e&&t?t:null}),()=>{a.getState().element.target===e&&a.setState({element:{...a.getState().element,target:null},targetConfig:null})}),setTopAnchorTurn:e=>{a.setState({topAnchorTurn:e})}}));return a};function Ln(e,t){function n(n){let r=(0,F.useContext)(e);if(!n?.optional&&!r)throw Error(`This component must be used within ${t}.`);return r}return n}var Rn=(0,F.createContext)(null),{useThreadViewport:W,useThreadViewportStore:G}=ce(Ln(Rn,`ThreadPrimitive.Viewport`),`useThreadViewport`),zn=e=>{let t=G({optional:!0}),[n]=(0,F.useState)(()=>In(e));return(0,F.useEffect)(()=>t?.getState().onScrollToBottom(()=>{n.getState().scrollToBottom()}),[t,n]),(0,F.useEffect)(()=>{if(t)return n.subscribe(e=>{t.getState().isAtBottom!==e.isAtBottom&&ve(t).setState({isAtBottom:e.isAtBottom})})},[n,t]),n},Bn=({children:e,options:t={}})=>{let n=zn(t),[r]=(0,F.useState)(()=>({useThreadViewport:n}));return(0,R.jsx)(Rn.Provider,{value:r,children:e})},Vn=()=>((0,F.useEffect)(()=>{},[w()]),null),Hn=(0,F.memo)(({children:e,aui:t,runtime:n})=>(0,R.jsxs)(Vt,{runtime:n,aui:t??null,children:[(0,R.jsx)(Vn,{}),(0,R.jsx)(Bn,{children:e})]})),Un=e=>{let t=e;t.__isBound||=(t.__internal_bindMethods?.(),!0)};function Wn(e,t=Gn){Un(e);let n=(0,F.useSyncExternalStore)(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return(0,F.useDebugValue)(n),n}var Gn=e=>e;function Kn(e){function t(t){let n=!1,r;typeof t==`function`?r=t:t&&(n=!!t.optional,r=t.selector);let i=e({optional:n});return i?Wn(i,r):null}return t}function qn(e){let t=w(),n=C(()=>t.composer.source?t.composer().__internal_getRuntime?.()??null:null);if(!n&&!e?.optional)throw Error(`ComposerRuntime is not available`);return n}function Jn(e){let t=w(),n=C(()=>t.thread.source?t.thread().__internal_getRuntime?.()??null:null);if(!n&&!e?.optional)throw Error(`ThreadRuntime is not available`);return n}var K=Kn(e=>Jn(e)?.composer??null);s();var Yn=Symbol.for(`react.lazy`),q=F.use;function Xn(e){return typeof e==`object`&&!!e&&`then`in e}function Zn(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Yn&&`_payload`in e&&Xn(e._payload)}function Qn(e){let t=$n(e),n=F.forwardRef((e,n)=>{let{children:r,...i}=e;Zn(r)&&typeof q==`function`&&(r=q(r._payload));let a=F.Children.toArray(r),o=a.find(tr);if(o){let e=o.props.children,r=a.map(t=>t===o?F.Children.count(e)>1?F.Children.only(null):F.isValidElement(e)?e.props.children:null:t);return(0,R.jsx)(t,{...i,ref:n,children:F.isValidElement(e)?F.cloneElement(e,void 0,r):null})}return(0,R.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function $n(e){let t=F.forwardRef((e,t)=>{let{children:n,...r}=e;if(Zn(n)&&typeof q==`function`&&(n=q(n._payload)),F.isValidElement(n)){let e=rr(n),i=nr(r,n.props);return n.type!==F.Fragment&&(i.ref=t?we(t,e):e),F.cloneElement(n,i)}return F.Children.count(n)>1?F.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var er=Symbol(`radix.slottable`);function tr(e){return F.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===er}function nr(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function rr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ir=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Qn(`Primitive.${t}`),r=F.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,R.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),ar=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`];function or(e){let t=(0,F.forwardRef)(({render:t,asChild:n,children:r,...i},a)=>{let o=e;if(t&&(0,F.isValidElement)(t)){let e=r===void 0?t.props.children:r;return(0,R.jsx)(o,{...i,asChild:!0,ref:a,children:(0,F.cloneElement)(t,void 0,e)})}return(0,R.jsx)(o,{...i,asChild:n,ref:a,children:r})});return t.displayName=typeof e==`string`?e:e.displayName??e.name??`Component`,t}function sr(e){let t=ir[e],n=or(t);return n.displayName=`Primitive.${e}`,n}var J=ar.reduce((e,t)=>(e[t]=sr(t),e),{}),cr=(e,t,n=[])=>{let r=(0,F.forwardRef)((e,r)=>{let i={},a={};Object.keys(e).forEach(t=>{n.includes(t)?i[t]=e[t]:a[t]=e[t]});let o=t(i)??void 0;return(0,R.jsx)(J.button,{...a,type:`button`,ref:r,disabled:a.disabled||!o,onClick:N(a.onClick,o)})});return r.displayName=e,r},lr=(0,F.forwardRef)((e,t)=>(0,R.jsx)(J.div,{...e,ref:t}));lr.displayName=`AttachmentPrimitive.Root`;var ur=()=>(0,R.jsx)(R.Fragment,{children:C(e=>e.attachment.name)});ur.displayName=`AttachmentPrimitive.Name`;var dr=cr(`AttachmentPrimitive.Remove`,()=>{let e=w();return(0,F.useCallback)(()=>{e.attachment().remove()},[e])}),fr=()=>{let{disabled:e,send:t}=Nn(),n=(0,F.useCallback)(()=>t(),[t]);return e?null:n};cr(`ComposerPrimitive.Send`,fr);var pr=(0,F.forwardRef)(({onSubmit:e,...t},n)=>{let r=fr(),i=e=>{e.preventDefault(),r&&r()};return(0,R.jsx)(J.form,{...t,ref:n,onSubmit:N(e,i)})});pr.displayName=`ComposerPrimitive.Root`;function mr(){return mr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mr.apply(null,arguments)}function hr(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var gr=F.useLayoutEffect,_r=function(e){var t=F.useRef(e);return gr(function(){t.current=e}),t},vr=function(e,t){if(typeof e==`function`){e(t);return}e.current=t},yr=function(e,t){var n=F.useRef();return F.useCallback(function(r){e.current=r,n.current&&vr(n.current,null),n.current=t,t&&vr(t,r)},[t])},br={"min-height":`0`,"max-height":`none`,height:`0`,visibility:`hidden`,overflow:`hidden`,position:`absolute`,"z-index":`-1000`,top:`0`,right:`0`,display:`block`},xr=function(e){Object.keys(br).forEach(function(t){e.style.setProperty(t,br[t],`important`)})},Y=null,Sr=function(e,t){var n=e.scrollHeight;return t.sizingStyle.boxSizing===`border-box`?n+t.borderSize:n-t.paddingSize};function Cr(e,t,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),Y||(Y=document.createElement(`textarea`),Y.setAttribute(`tabindex`,`-1`),Y.setAttribute(`aria-hidden`,`true`),xr(Y)),Y.parentNode===null&&document.body.appendChild(Y);var i=e.paddingSize,a=e.borderSize,o=e.sizingStyle,s=o.boxSizing;Object.keys(o).forEach(function(e){var t=e;Y.style[t]=o[t]}),xr(Y),Y.value=t;var c=Sr(Y,e);Y.value=t,c=Sr(Y,e),Y.value=`x`;var l=Y.scrollHeight-i,u=l*n;s===`border-box`&&(u=u+i+a),c=Math.max(u,c);var d=l*r;return s===`border-box`&&(d=d+i+a),c=Math.min(d,c),[c,l]}var wr=function(){},Tr=function(e,t){return e.reduce(function(e,n){return e[n]=t[n],e},{})},Er=[`borderBottomWidth`,`borderLeftWidth`,`borderRightWidth`,`borderTopWidth`,`boxSizing`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`letterSpacing`,`lineHeight`,`paddingBottom`,`paddingLeft`,`paddingRight`,`paddingTop`,`tabSize`,`textIndent`,`textRendering`,`textTransform`,`width`,`wordBreak`,`wordSpacing`,`scrollbarGutter`],Dr=!!document.documentElement.currentStyle,Or=function(e){var t=window.getComputedStyle(e);if(t===null)return null;var n=Tr(Er,t),r=n.boxSizing;return r===``?null:(Dr&&r===`border-box`&&(n.width=parseFloat(n.width)+parseFloat(n.borderRightWidth)+parseFloat(n.borderLeftWidth)+parseFloat(n.paddingRight)+parseFloat(n.paddingLeft)+`px`),{sizingStyle:n,paddingSize:parseFloat(n.paddingBottom)+parseFloat(n.paddingTop),borderSize:parseFloat(n.borderBottomWidth)+parseFloat(n.borderTopWidth)})};function kr(e,t,n){var r=_r(n);F.useLayoutEffect(function(){var n=function(e){return r.current(e)};if(e)return e.addEventListener(t,n),function(){return e.removeEventListener(t,n)}},[])}var Ar=function(e,t){kr(document.body,`reset`,function(n){e.current.form===n.target&&t(n)})},jr=function(e){kr(window,`resize`,e)},Mr=function(e){kr(document.fonts,`loadingdone`,e)},Nr=[`cacheMeasurements`,`maxRows`,`minRows`,`onChange`,`onHeightChange`],Pr=F.forwardRef(function(e,t){var n=e.cacheMeasurements,r=e.maxRows,i=e.minRows,a=e.onChange,o=a===void 0?wr:a,s=e.onHeightChange,c=s===void 0?wr:s,l=hr(e,Nr),u=l.value!==void 0,d=F.useRef(null),f=yr(d,t),p=F.useRef(0),m=F.useRef(),h=function(){var e=d.current,t=n&&m.current?m.current:Or(e);if(t){m.current=t;var a=Cr(t,e.value||e.placeholder||`x`,i,r),o=a[0],s=a[1];p.current!==o&&(p.current=o,e.style.setProperty(`height`,o+`px`,`important`),c(o,{rowHeight:s}))}};return F.useLayoutEffect(h),Ar(d,function(){if(!u){var e=d.current.value;requestAnimationFrame(function(){var t=d.current;t&&e!==t.value&&h()})}}),jr(h),Mr(h),F.createElement(`textarea`,mr({},l,{onChange:function(e){u||h(),o(e)},ref:f}))}),Fr=e=>{let t=Ae(e),n=W(e=>e.onScrollToBottom);(0,F.useEffect)(()=>n(t),[n,t])},Ir=(0,F.createContext)(null),Lr=(0,F.createContext)(null),Rr=()=>(0,F.useContext)(Ir),zr=()=>()=>{},Br=()=>null,Vr=()=>{let e=Rr();return(0,F.useSyncExternalStore)(e?e.subscribeAria:zr,e?e.getActiveAria:Br,e?e.getActiveAria:Br)};function Hr(){let e=(0,F.useRef)(new Set);return{notify:(0,F.useCallback)(()=>{for(let t of e.current)t()},[]),subscribe:(0,F.useCallback)(t=>(e.current.add(t),()=>{e.current.delete(t)}),[])}}var Ur=({children:e})=>{let t=(0,F.useRef)(new Map),n=(0,F.useRef)(new Set),{notify:r,subscribe:i}=Hr(),a=(0,F.useCallback)(e=>{let{char:i}=e;if(t.current.has(i))return()=>{};let a=new Map(t.current);a.set(i,e),t.current=a,r();for(let t of n.current)t.added(e);return()=>{let e=new Map(t.current);e.delete(i),t.current=e,r();for(let e of n.current)e.removed(i)}},[r]),o=(0,F.useCallback)(()=>t.current,[]),s=(0,F.useCallback)(e=>(n.current.add(e),()=>{n.current.delete(e)}),[]),c=(0,F.useRef)(null),l=(0,F.useRef)(null),{notify:u,subscribe:d}=Hr(),f=(0,F.useCallback)((e,t)=>{if(t===null){if(l.current!==e)return;c.current=null,l.current=null,u();return}let n=c.current;l.current===e&&n!==null&&n.popoverId===t.popoverId&&n.highlightedItemId===t.highlightedItemId||(c.current=t,l.current=e,u())},[u]),p=(0,F.useCallback)(()=>c.current,[]),m=(0,F.useMemo)(()=>({register:a,getTriggers:o,subscribe:i,subscribeLifecycle:s,getActiveAria:p,subscribeAria:d}),[a,o,i,s,p,d]),h=(0,F.useMemo)(()=>({setActiveAria:f}),[f]);return(0,R.jsx)(Ir.Provider,{value:m,children:(0,R.jsx)(Lr.Provider,{value:h,children:e})})},Wr=({children:e})=>he()?(0,R.jsx)(Ur,{children:e}):(0,R.jsx)(oe,{children:(0,R.jsx)(Ur,{children:e})});Wr.displayName=`ComposerPrimitive.TriggerPopoverRoot`;var Gr=(0,F.forwardRef)(({autoFocus:e=!1,asChild:t,render:n,disabled:r,onChange:i,onKeyDown:a,onPaste:o,onSelect:s,submitOnEnter:c,submitMode:l,cancelOnEscape:u=!0,unstable_focusOnRunStart:d=!0,unstable_focusOnScrollToBottom:f=!0,unstable_focusOnThreadSwitched:p=!0,addAttachmentOnPaste:m=!0,...h},ee)=>{let g=w(),_=he(),v=Vr(),y=l??(c===!1?`none`:`enter`),b=C(e=>e.composer.isEditing?e.composer.text:``),x=C(e=>e.thread.isDisabled||e.composer.dictation?.inputDisabled)||r,S=(0,F.useRef)(null),T=P(ee,S),E=(0,F.useRef)(!1);Oe(e=>{if(!S.current?.contains(e.target))return;if(_){for(let t of _.getPlugins())if(t.handleKeyDown(e))return}if(!u)return;let t=g.composer();t.getState().canCancel&&(t.cancel(),e.preventDefault())});let te=e=>{if(!x&&!e.nativeEvent.isComposing){if(_){for(let t of _.getPlugins())if(t.handleKeyDown(e))return}if(e.key===`Enter`){let t=g.thread().getState(),n=t.capabilities.queue;if(e.shiftKey&&(e.ctrlKey||e.metaKey)&&n&&y!==`none`&&g.composer().getState().canSend){e.preventDefault(),g.composer().send({steer:!0});return}if(e.shiftKey||t.isRunning&&!n)return;let r=!1;y===`ctrlEnter`?r=e.ctrlKey||e.metaKey:y===`enter`&&(r=!0),r&&(e.preventDefault(),S.current?.closest(`form`)?.requestSubmit())}}},ne=async e=>{if(!m)return;let t=g.thread().getState().capabilities,n=Array.from(e.clipboardData?.files||[]);if(t.attachments&&n.length>0)try{e.preventDefault(),await Promise.all(n.map(e=>g.composer().addAttachment(e)))}catch(e){console.error(`Error adding attachment:`,e)}},re=e&&!x,D=(0,F.useCallback)(()=>{let e=S.current;!e||!re||(e.focus({preventScroll:!0}),e.setSelectionRange(e.value.length,e.value.length))},[re]);(0,F.useEffect)(()=>D(),[D]),Fr(()=>{g.composer().getState().type===`thread`&&f&&D()}),(0,F.useEffect)(()=>{if(!(g.composer().getState().type!==`thread`||!d))return g.on(`thread.runStart`,D)},[d,D,g]),(0,F.useEffect)(()=>{if(!(g.composer().getState().type!==`thread`||!p))return g.on(`threadListItem.switchedTo`,D)},[p,D,g]);let O=v?{"aria-controls":v.popoverId,"aria-expanded":!0,"aria-haspopup":`listbox`,"aria-activedescendant":v.highlightedItemId}:{},k={name:`input`,value:b,...h,...O,ref:T,disabled:x,onChange:N(i,e=>{if(!g.composer().getState().isEditing)return;let t=e.nativeEvent.isComposing===!0;E.current&&!t&&(E.current=!1);let n=t||E.current;if(ie(()=>{g.composer().setText(e.target.value)}),n)return;let r=e.target.selectionStart??e.target.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(r)}),onKeyDown:N(a,te),onCompositionStart:N(h.onCompositionStart,()=>{E.current=!0}),onCompositionEnd:N(h.onCompositionEnd,e=>{if(E.current=!1,!g.composer().getState().isEditing)return;let t=e.target;ie(()=>{g.composer().setText(t.value)});let n=t.selectionStart??t.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(n)}),onSelect:N(s,e=>{if(E.current)return;let t=e.target,n=t.selectionStart??t.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(n)}),onPaste:N(o,ne)};if(n&&(0,F.isValidElement)(n)){let e=h.children===void 0?n.props.children:h.children;return(0,R.jsx)(ke,{...k,children:(0,F.cloneElement)(n,void 0,e)})}return(0,R.jsx)(t?ke:Pr,{...k})});Gr.displayName=`ComposerPrimitive.Input`;var Kr=cr(`ComposerPrimitive.AddAttachment`,({multiple:e=!0}={})=>{let{disabled:t,addAttachment:n}=Pn(),r=w(),i=(0,F.useCallback)(()=>{let t=document.createElement(`input`);t.type=`file`,t.multiple=e,t.hidden=!0;let i=r.composer().getState().attachmentAccept;i!==`*`&&(t.accept=i),document.body.appendChild(t),t.onchange=e=>{let r=e.target.files;if(r){for(let e of r)n(e);document.body.removeChild(t)}},t.oncancel=()=>{(!t.files||t.files.length===0)&&document.body.removeChild(t)},t.click()},[r,e,n]);return t?null:i},[`multiple`]),qr=(0,F.forwardRef)(({smooth:e=!0,component:t=`span`,...n},r)=>{let{text:i,status:a}=ye(fe(),e);return(0,R.jsx)(t,{"data-status":a.type,...n,ref:r,children:i})});qr.displayName=`MessagePartPrimitive.Text`;var Jr=()=>C(e=>{if(e.part.type!==`image`)throw Error(`MessagePartImage can only be used inside image message parts.`);return e.part}),Yr=(0,F.forwardRef)((e,t)=>{let{image:n}=Jr();return(0,R.jsx)(J.img,{src:n,...e,ref:t})});Yr.displayName=`MessagePartPrimitive.Image`;var Xr=({children:e})=>C(e=>e.part.status.type===`running`)?e:null;Xr.displayName=`MessagePartPrimitive.InProgress`;var X=e=>{let t=(0,F.useRef)(void 0);return(0,F.useCallback)(n=>{t.current&&=(t.current(),void 0),n&&(t.current=e(n))},[e])},Zr=(e,t)=>{let n=e.trim().match(/^(\d+(?:\.\d+)?|\.\d+)(em|px|rem)$/);if(!n)return 1/0;let r=Number(n[1]),i=n[2];return i===`px`?r:i===`em`?r*(parseFloat(getComputedStyle(t).fontSize)||16):i===`rem`?r*(parseFloat(getComputedStyle(document.documentElement).fontSize)||16):1/0},Qr=e=>e.dataset.messageId,$r=()=>{let e=document.createElement(`div`);return e.dataset.auiTopAnchorReserve=``,e.style.height=`0px`,e.style.flexShrink=`0`,e.style.pointerEvents=`none`,e.setAttribute(`aria-hidden`,`true`),e},ei=(e,t)=>{let n=`${t}px`;return e.style.height===n?!1:(e.style.height=n,!0)},ti=e=>{let t=window.devicePixelRatio||1;return Math.round(e*t)/t},ni=()=>{let e=w(),t=C(()=>e.message());return X((0,F.useCallback)(e=>{let n=()=>{t.setIsHovering(!0)},r=()=>{t.setIsHovering(!1)};return e.addEventListener(`mouseenter`,n),e.addEventListener(`mouseleave`,r),e.matches(`:hover`)&&queueMicrotask(()=>t.setIsHovering(!0)),()=>{e.removeEventListener(`mouseenter`,n),e.removeEventListener(`mouseleave`,r),t.setIsHovering(!1)}},[t]))},ri=()=>{let e=W(e=>e.topAnchorTurn?.anchorId);return C(t=>t.message.role===`user`&&t.message.index>0&&t.message.index===t.thread.messages.length-2&&t.thread.messages.at(-1)?.role===`assistant`&&(t.message.id===e||t.thread.isRunning))},ii=()=>{let e=W(e=>e.topAnchorTurn?.targetId);return C(t=>t.message.isLast&&t.message.role===`assistant`&&t.message.index>=1&&t.thread.messages.at(t.message.index-1)?.role===`user`&&(t.message.id===e||t.thread.isRunning))},ai=(e,t)=>X((0,F.useCallback)(n=>{if(e)return t.getState().registerAnchorElement(n)},[e,t])),oi=({active:e,threadViewportStore:t})=>X((0,F.useCallback)(n=>{if(!e)return;let r=t.getState(),i=r.topAnchorMessageClamp;return r.registerAnchorTargetElement(n,{tallerThan:Zr(i.tallerThan,n),visibleHeight:Zr(i.visibleHeight,n)})},[e,t])),si=({forwardedRef:e,...t})=>{let n=P(e,ni()),r=C(e=>e.message.id);return(0,R.jsx)(J.div,{...t,ref:n,"data-message-id":r})},ci=({forwardedRef:e,threadViewportStore:t,...n})=>{let r=ni(),i=ri(),a=ii(),o=P(e,r,ai(i,t),oi({active:a,threadViewportStore:t})),s=C(e=>e.message.id);return(0,R.jsx)(J.div,{...n,ref:o,"data-message-id":s,"data-aui-top-anchor-user":i?``:void 0,"data-aui-top-anchor-target":a?``:void 0})},li=(0,F.forwardRef)((e,t)=>{let n=G();return n.getState().turnAnchor===`top`?(0,R.jsx)(ci,{...e,forwardedRef:t,threadViewportStore:n}):(0,R.jsx)(si,{...e,forwardedRef:t})});li.displayName=`MessagePrimitive.Root`;var ui={...H,Text:()=>(0,R.jsxs)(`p`,{style:{whiteSpace:`pre-line`},children:[(0,R.jsx)(qr,{}),(0,R.jsx)(Xr,{children:(0,R.jsx)(`span`,{style:{fontFamily:`revert`},children:` ●`})})]}),Image:()=>(0,R.jsx)(Yr,{})},di=e=>{if(`children`in e)return(0,R.jsx)(En,{children:e.children});let{components:t,...n}=e;return(0,R.jsx)(En,{components:t?{Text:t.Text??ui.Text,Image:t.Image??ui.Image,Reasoning:t.Reasoning??H.Reasoning,Source:t.Source??H.Source,File:t.File??H.File,Unstable_Audio:t.Unstable_Audio??H.Unstable_Audio,...`ChainOfThought`in t?{ChainOfThought:t.ChainOfThought}:{tools:t.tools,data:t.data,ToolGroup:t.ToolGroup??H.ToolGroup,ReasoningGroup:t.ReasoningGroup??H.ReasoningGroup},Empty:t.Empty,Quote:t.Quote}:ui,...n})};di.displayName=`MessagePrimitive.Parts`;var fi=(0,F.forwardRef)((e,t)=>(0,R.jsx)(J.div,{...e,ref:t}));fi.displayName=`ThreadPrimitive.Root`;var pi=e=>{let t=Ae(e);return X((0,F.useCallback)(e=>{let n=new ResizeObserver(()=>{t()}),r=new MutationObserver(e=>{e.some(e=>e.type!==`attributes`||e.attributeName!==`style`)&&t()});return n.observe(e),r.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{n.disconnect(),r.disconnect()}},[t]))},mi=({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:n=!0,scrollToBottomOnThreadSwitch:r=!0})=>{let i=(0,F.useRef)(null),a=G();e===void 0&&(e=a.getState().turnAnchor!==`top`);let o=(0,F.useRef)(0),s=(0,F.useRef)(null),c=(0,F.useCallback)(e=>{let t=i.current;t&&(s.current=e,t.scrollTo({top:t.scrollHeight,behavior:e}))},[]),l=(0,F.useCallback)(()=>{let e=a.getState();return e.turnAnchor===`top`&&e.element.viewport===i.current&&e.element.anchor!==null},[a]),u=()=>{let e=i.current;if(!e)return;let t=a.getState().isAtBottom,n=Math.abs(e.scrollHeight-e.scrollTop-e.clientHeight)<1||e.scrollHeight<=e.clientHeight;!n&&o.current<e.scrollTop||(n&&(s.current=null),(n||s.current===null)&&n!==t&&ve(a).setState({isAtBottom:n})),o.current=e.scrollTop},d=pi(()=>{let t=s.current;t&&l()?s.current=null:t?c(t):e&&a.getState().isAtBottom&&c(`instant`),u()}),f=X(e=>(e.addEventListener(`scroll`,u),()=>{e.removeEventListener(`scroll`,u)}));return Fr(({behavior:e})=>{c(e)}),I(`thread.runStart`,()=>{t&&a.getState().turnAnchor!==`top`&&(s.current=`auto`,requestAnimationFrame(()=>{c(`auto`)}))}),I(`thread.initialize`,()=>{n&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),I(`threadListItem.switchedTo`,()=>{r&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),P(d,f,i)},hi=(e,t)=>X((0,F.useCallback)(n=>{if(!e)return;let r=e(),i=()=>{let e=t?t(n):n.offsetHeight;r.setHeight(e)},a=new ResizeObserver(i);return a.observe(n),i(),()=>{a.disconnect(),r.unregister()}},[e,t])),gi=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},_i=(e,t)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return r===t?n:gi(e)-gi(t)},vi=({viewport:e,anchor:t,tallerThan:n,visibleHeight:r})=>{let i=_i(t,e),a=t.offsetHeight;return i+Math.max(0,a-(a<=n?a:r))},yi=({scrollHeight:e,...t})=>{let{viewport:n}=t,r=vi(t)+n.clientHeight;return Math.max(0,r-e)},bi=({viewport:e,reserve:t,...n})=>yi({viewport:e,...n,scrollHeight:e.scrollHeight-t.offsetHeight}),xi=e=>{let t=new ResizeObserver(e),n=new MutationObserver(e),r=null,i=null,a=null,o=()=>{t.disconnect(),n.disconnect(),r=null,i=null,a=null};return{target:(e,s,c)=>{r===e&&i===s&&a===c||(o(),t.observe(e),t.observe(s),t.observe(c),n.observe(c,{childList:!0,subtree:!0,characterData:!0}),r=e,i=s,a=c)},disconnect:o}},Si=e=>{let t=null;return{schedule:()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))},cancel:()=>{t!==null&&(cancelAnimationFrame(t),t=null)}}},Ci=e=>{let t=null,n;function r(){let r=e.getState(),{viewport:o,anchor:s,target:c}=r.element,l=r.targetConfig;if(r.turnAnchor!==`top`||!o||!s||!c||!l){a.disconnect(),t&&(ei(t,0),t.remove());return}if(t??=$r(),(t.parentElement!==c.parentElement||t.previousElementSibling!==c)&&c.after(t),a.target(o,s,c),ei(t,bi({viewport:o,anchor:s,reserve:t,...l}))){i.schedule();return}let u=Qr(s);if(u!==void 0&&n===u)return;let d=ti(vi({viewport:o,anchor:s,...l}));Math.abs(o.scrollTop-d)>1&&o.scrollTo({top:d,behavior:`smooth`}),u!==void 0&&(n=u)}let i=Si(r),a=xi(i.schedule);i.schedule();let o=e.subscribe(i.schedule);return()=>{i.cancel(),o(),a.disconnect(),t?.remove()}},wi=e=>{let t=G();(0,F.useLayoutEffect)(()=>{if(e)return Ci(t)},[e,t])},Ti=({isRunning:e,messages:t})=>{if(!e)return null;let n=t.at(-1),r=t.at(-2);return r?.role!==`user`||n?.role!==`assistant`?null:{anchorId:r.id,targetId:n.id}},Ei=e=>Ti(e)?.anchorId,Di=e=>Ti(e)?.targetId,Oi=()=>hi(W(e=>e.registerViewport),(0,F.useCallback)(e=>e.clientHeight,[])),ki=()=>X(W(e=>e.registerViewportElement)),Ai=e=>{let t=G(),n=C(t=>{if(e)return Ei(t.thread)}),r=C(t=>{if(e)return Di(t.thread)}),i=(0,F.useMemo)(()=>!n||!r?null:{anchorId:n,targetId:r},[n,r]);(0,F.useLayoutEffect)(()=>{if(!i)return;let e=t.getState(),n=e.topAnchorTurn;n?.anchorId===i.anchorId&&n.targetId===i.targetId||e.setTopAnchorTurn(i)},[i,t]);let a=(0,F.useCallback)(()=>{t.getState().setTopAnchorTurn(null)},[t]);I(`thread.initialize`,a),I(`threadListItem.switchedTo`,a)},ji=(0,F.forwardRef)(({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r,children:i,...a},o)=>{let s=mi({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r}),c=Oi(),l=ki(),u=G().getState().turnAnchor===`top`;Ai(u),wi(u);let d=P(o,s,c,l);return(0,R.jsx)(J.div,{...a,ref:d,children:i})});ji.displayName=`ThreadPrimitive.ViewportScrollable`;var Mi=(0,F.forwardRef)(({turnAnchor:e,topAnchorMessageClamp:t,...n},r)=>(0,R.jsx)(Bn,{options:{turnAnchor:e,topAnchorMessageClamp:t},children:(0,R.jsx)(ji,{...n,ref:r})}));Mi.displayName=`ThreadPrimitive.Viewport`;function Ni(e){let t=n(e);return t?`customer_agent:interview_session:${encodeURIComponent(t)}`:null}function Pi(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.entryId==`string`&&typeof t.priority==`number`&&typeof t.sessionId==`string`&&typeof t.title==`string`?r(t.entryId)&&t.entryId===`interview/session/${t.sessionId}`:!1}function Fi(e){let t=Ni(e);if(!t)return null;try{let e=window.localStorage.getItem(t);if(!e)return null;let n=JSON.parse(e);return Pi(n)?n:null}catch{return null}}function Ii(e,t){let n=Ni(e);if(n)try{window.localStorage.setItem(n,JSON.stringify(t))}catch{}}function Li(e){let t=Ni(e);if(t)try{window.localStorage.removeItem(t)}catch{}}var Z=Object.freeze({ACTIVE:`active`,ERROR:`error`,IDLE:`idle`,LOADING:`loading`,SENDING:`sending`,TERMINAL:`terminal`});function Ri(e){return typeof crypto<`u`&&`randomUUID`in crypto?`${e}-${crypto.randomUUID()}`:`${e}-${Date.now()}-${Math.random().toString(36).slice(2)}`}function zi(e){return e.anonymous_id??e.user?.id}function Bi(e){return typeof e==`string`&&e.trim()?e.trim():null}function Vi(e){return Bi(e.user?.id)}function Hi(e){return Bi(e.brand?.name)??`Customer Agent`}function Ui(e){return{...e.context,...e.user,userId:e.user?.id,visitorId:zi(e)}}function Wi(e){return{content:e.content,createdAt:new Date(e.createdAt),id:e.id,role:e.role,status:e.role===`assistant`?{reason:`stop`,type:`complete`}:void 0}}function Gi({client:n,options:r}){let a=new Set,o=new Map,s={messages:[],phase:Z.IDLE};function c(){for(let e of a)e(s)}function u(t,n=s.completion){t.status!==e.ACTIVE&&Li(r),s={completion:n,messages:t.messages.map(Wi),phase:t.status===e.ACTIVE?Z.ACTIVE:Z.TERMINAL,sessionId:t.sessionId,status:t.status},c()}return{async chooseInvitation(e,t){await n.chooseInvitation(e,{choice:t})},async discoverInvitation(){if(!Vi(r))return null;let e=await n.checkEligibility({appId:r.app_id,locale:r.locale,pageContext:r.context??{},userContext:Ui(r),visitorId:zi(r)});if(!e.eligible||e.status&&e.status!==t.AVAILABLE||!e.campaignId||!e.showRequestId||!e.invitation)return null;let i=e.invitation,a=await n.createInvitation({appId:r.app_id,campaignId:e.campaignId,context:r.context??{},showRequestId:e.showRequestId,userContext:Ui(r),variantKey:e.variantKey,visitorId:zi(r)}),s={id:`interview/invite/${e.campaignId}`,kind:`interview`,priority:20,prompt:{anchor:`dock`,body:i.body,campaignId:e.campaignId,closeLabel:`No`,invitationId:a.invitationId,kind:`interview-invite`,laterLabel:i.laterCta,startLabel:i.startCta},status:l.INVITABLE,title:i.title};return o.set(a.invitationId,{priority:s.priority??20,title:s.title}),s},getState(){return s},hydrateSession(e){u(e)},async loadReward(e){let t=await n.getReward(e);return s={...s,reward:t},c(),t},async sendMessage(t){if(!s.sessionId)throw Error(`Cannot send an interview message before the session starts.`);let i=s.sessionId,a=Ri(`interview-message`),o=new Date;s={...s,messages:[...s.messages,{content:t,createdAt:o,id:a,role:`user`}],phase:Z.SENDING},c();let l=await n.sendMessage(i,{clientMessageId:a,content:t,locale:r.locale});s={...s,completion:l.completion,messages:[...s.messages,{content:l.assistantMessage,createdAt:new Date,id:Ri(`interview-assistant`),role:`assistant`,status:{reason:`stop`,type:`complete`}}],phase:l.sessionStatus===e.ACTIVE?Z.ACTIVE:Z.TERMINAL,status:l.sessionStatus},c(),l.sessionStatus!==e.ACTIVE&&Li(r),l.sessionStatus!==e.ACTIVE&&u(await n.getSession(i),l.completion)},async startInvitation(t){s={...s,phase:Z.LOADING};let a=await n.startInvitation(t,i(r)),c=`interview/session/${a.sessionId}`,l=o.get(t);return u(a),a.status===e.ACTIVE&&Ii(r,{entryId:c,priority:l?.priority??20,sessionId:a.sessionId,title:Hi(r)}),{entryId:c,sessionId:a.sessionId}},async restoreCachedSession(){let t=Fi(r);if(!t)return null;s={...s,phase:Z.LOADING},c();try{let i=await n.getSession(t.sessionId);return i.status===e.ACTIVE?(u(i),{id:t.entryId,kind:`interview`,priority:t.priority,status:l.ACTIVE,title:t.title}):(Li(r),s={messages:[],phase:Z.IDLE},c(),null)}catch{return Li(r),s={messages:[],phase:Z.IDLE},c(),null}},subscribe(e){return a.add(e),()=>{a.delete(e)}}}}function Ki(e){return typeof e==`string`&&e.trim()?e.trim():null}function qi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}function Ji(e,t,n,r){try{return new Intl.DateTimeFormat(t,{hour:`2-digit`,minute:`2-digit`,timeZone:n,timeZoneName:r}).formatToParts(e).find(e=>e.type===`timeZoneName`)?.value??null}catch{return null}}function Yi(e){let t=-e.getTimezoneOffset(),n=t>=0?`+`:`-`,r=Math.abs(t);return`GMT${n}${String(Math.floor(r/60)).padStart(2,`0`)}${String(r%60).padStart(2,`0`)}`}function Xi(e,t){if(!e||e===`UTC`)return e===`UTC`?`GMT+0000`:Yi(t);let n=/^GMT([+-])(\d{1,2})(?::?(\d{2}))?$/.exec(e);return n?`GMT${n[1]}${n[2].padStart(2,`0`)}${(n[3]??`00`).padStart(2,`0`)}`:Yi(t)}function Zi(e,t,n){return`${new Intl.DateTimeFormat(t,{day:`2-digit`,hour:`2-digit`,hour12:!0,minute:`2-digit`,month:`long`,timeZone:n,year:`numeric`}).format(e)} ${n} time ${Ji(e,t,n,`short`)??n} (${Xi(Ji(e,t,n,`longOffset`),e)})`}function Qi(e,t,n){return new Intl.DateTimeFormat(t,{hour:`2-digit`,hour12:!0,minute:`2-digit`,timeZone:n}).format(e)}function $i(e,t,n){return new Intl.DateTimeFormat(t,{day:`numeric`,month:`long`,timeZone:n,year:`numeric`}).format(e)}function ea(e,t,n){return new Intl.DateTimeFormat(t,{day:`2-digit`,month:`2-digit`,timeZone:n,year:`numeric`}).format(e)}function ta(e){return Ki(e?.user?.email)??Ki(e?.user?.name)??`You`}function na({conversationName:e,exportedAt:t,exportSourceName:n=e,locale:r,messages:i,startedAt:a,userSpeaker:o=`You`}){let s=i.map(e=>({...e,text:e.text.trim()})).filter(e=>e.text),c=qi(),l=a??s[0]?.createdAt??t,u=new Set(s.map(e=>ea(e.createdAt,r,c))).size>1,d=[`Conversation with ${e}`,`Started on ${Zi(l,r,c)}`,``,`---`,``],f=null;for(let t of s){let n=ea(t.createdAt,r,c),i=t.speaker??(t.role===`user`?o:e);u&&n!==f&&(d.push($i(t.createdAt,r,c)),d.push(``),f=n),d.push(`${Qi(t.createdAt,r,c)} | ${i}: ${t.text}`),d.push(``)}return d.push(`---`),d.push(`Exported from ${n} on ${Zi(t,r,c)}`),d.join(`
1
+ import{r as e,t}from"./interviewTypes-Ch2NsXKB.js";import{h as n,i as r,u as i}from"./routes-Dh46ka4-.js";import{r as a}from"../runtime.es.js";import{t as o}from"./react-CKmEJ8Ba.js";import{n as s}from"./client-duvjg9sB.js";import{t as c}from"./createLucideIcon-B1BLVEeA.js";import{t as l}from"./conversationRegistry-Y5Ouo35n.js";import{t as u}from"./x-CcuT5rCV.js";import{t as d}from"./jsx-runtime-S2ZBQkZm.js";import{t as f}from"./classNames-3q0x02_x.js";import{B as p,C as m,D as h,F as ee,G as g,H as _,I as v,J as y,K as b,L as x,M as S,N as C,P as w,Q as T,R as E,S as te,T as ne,U as re,V as D,W as ie,X as O,Y as k,Z as A,_ as ae,a as oe,b as se,c as ce,f as le,g as ue,h as de,i as fe,l as pe,m as me,o as he,p as ge,q as _e,s as ve,t as ye,u as be,v as xe,w as j,x as Se,y as Ce,z as M}from"./useSmooth-CYGvfMVe.js";import{C as we,S as N,a as Te,o as Ee,r as De,w as P,x as Oe,y as ke}from"./dist-dzGCY2H5.js";import{t as Ae}from"./dist-gFPJclVl.js";var je=c(`arrow-up`,[[`path`,{d:`m5 12 7-7 7 7`,key:`hav0vg`}],[`path`,{d:`M12 19V5`,key:`x0mq9r`}]]),Me=c(`download`,[[`path`,{d:`M12 15V3`,key:`m9g1x1`}],[`path`,{d:`M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4`,key:`ih7n3h`}],[`path`,{d:`m7 10 5 5 5-5`,key:`brsn70`}]]),Ne=c(`ellipsis`,[[`circle`,{cx:`12`,cy:`12`,r:`1`,key:`41hilf`}],[`circle`,{cx:`19`,cy:`12`,r:`1`,key:`1wjl8i`}],[`circle`,{cx:`5`,cy:`12`,r:`1`,key:`1pcz8c`}]]),Pe=c(`file`,[[`path`,{d:`M6 22a2 2 0 0 1-2-2V4a2 2 0 0 1 2-2h8a2.4 2.4 0 0 1 1.704.706l3.588 3.588A2.4 2.4 0 0 1 20 8v12a2 2 0 0 1-2 2z`,key:`1oefj6`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}]]),Fe=c(`loader-circle`,[[`path`,{d:`M21 12a9 9 0 1 1-6.219-8.56`,key:`13zald`}]]),Ie=c(`maximize-2`,[[`path`,{d:`M15 3h6v6`,key:`1q9fwt`}],[`path`,{d:`m21 3-7 7`,key:`1l2asr`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M9 21H3v-6`,key:`wtvkvv`}]]),Le=c(`menu`,[[`path`,{d:`M4 5h16`,key:`1tepv9`}],[`path`,{d:`M4 12h16`,key:`1lakjw`}],[`path`,{d:`M4 19h16`,key:`1djgab`}]]),Re=c(`minimize-2`,[[`path`,{d:`m14 10 7-7`,key:`oa77jy`}],[`path`,{d:`M20 10h-6V4`,key:`mjg0md`}],[`path`,{d:`m3 21 7-7`,key:`tjx5ai`}],[`path`,{d:`M4 14h6v6`,key:`rmj7iw`}]]),ze=c(`paperclip`,[[`path`,{d:`m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551`,key:`1miecu`}]]),Be=c(`smile`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`path`,{d:`M8 14s1.5 2 4 2 4-2 4-2`,key:`1y1vjs`}],[`line`,{x1:`9`,x2:`9.01`,y1:`9`,y2:`9`,key:`yxxnd0`}],[`line`,{x1:`15`,x2:`15.01`,y1:`9`,y2:`9`,key:`1p4y9e`}]]),F=a(o(),1),Ve=F.createContext(!0);function He(){throw Error(`A function wrapped in useEffectEvent can't be called during rendering.`)}var Ue=`use`in F.default?()=>{try{return F.use(Ve)}catch{return!1}}:()=>!1;function We(e){let t=F.useRef(He);return F.useInsertionEffect(()=>{t.current=e},[e]),(...e)=>{Ue()&&He();let n=t.current;return n(...e)}}var I=(e,t)=>{let n=w(),r=We(t),{scope:i,event:a}=x(e);(0,F.useEffect)(()=>n.on({scope:i,event:a},r),[n,i,a,r])},Ge=e=>{let t=w(),n=(0,F.useRef)(!1),r=n.current?null:e(t);return C(()=>n.current?e(t):r),()=>(n.current=!0,e(t))},Ke=Object.freeze({});function qe({getItemState:e,children:t}){return Je(t(Ge(e)))}var Je=e=>{let t=typeof e==`object`&&e&&`type`in e?e:null,n=t?.type,r=t?.key;return(0,F.useMemo)(()=>t,[n,r,typeof t?.props==`object`&&t.props!=null&&Object.entries(t.props).length===0?Ke:t?.props])??e},Ye=re(e=>{if(e.key===void 0)throw Error(`tapClientResource: Element has no key`);return b(D(e))});function L(e,t){let n=g(()=>e().map(e=>Ye(e)),t),r=y(()=>Object.keys(n),[n]),i=y(()=>n.reduce((e,t,n)=>(e[t.key]=n,e),{}),[n]);return{state:y(()=>n.map(e=>e.state),[n]),get:e=>{if(`index`in e){if(e.index<0||e.index>=r.length)throw Error(`tapClientLookup: Index ${e.index} out of bounds (length: ${r.length})`);return n[e.index].methods}let t=i[e.key];if(t===void 0)throw Error(`tapClientLookup: Key "${e.key}" not found`);return n[t].methods}}}var Xe=T(e=>({getState:()=>e})),Ze=T(e=>{let[t]=O(()=>({suggestions:(e??[]).map(e=>typeof e==`string`?{title:e,label:``,prompt:e}:{title:e.title,label:e.label,prompt:e.prompt})})),n=L(()=>t.suggestions.map((e,t)=>A(t,Xe(e))),[t.suggestions]);return{getState:()=>t,suggestion:({index:e})=>n.get({index:e})}}),R=d(),Qe=Object.freeze({type:`complete`}),$e=T(({parts:e,getMessagePart:t})=>{let[n,r]=O(!0),i=y(()=>e[e.length-1]?.status??Qe,[e]),a=y(()=>({parts:e,collapsed:n,status:i}),[e,n,i]);return{getState:()=>a,setCollapsed:r,part:t}}),et=1,tt=T(()=>{let[e]=O(()=>({version:et+1})),t=y(()=>new h,[]);return{getState:()=>e,getModelContext:()=>t.getModelContext(),subscribe:e=>t.subscribe(e),register:e=>t.registerModelContextProvider(e)}}),nt=T(({toolkit:e,mcpApp:t})=>{let n=g(()=>t?[A(`mcpApp`,t)]:[],[t])[0],[r,i]=O(()=>({tools:{}})),a=y(()=>({tools:r.tools,mcpApp:n}),[r,n]),o=ee(),s=_e((e,t)=>(i(n=>({tools:{...n.tools,[e]:[...n.tools[e]??[],t]}})),()=>{i(n=>({tools:{...n.tools,[e]:n.tools[e]?.filter(e=>e!==t)??[]}}))}),[]);return k(()=>{if(!e)return;let t=[];for(let[n,r]of Object.entries(e))r.render&&t.push(s(n,r.render));let n=Object.entries(e).reduce((e,[t,n])=>{let{render:r,...i}=n;return e[t]=i,e},{});return t.push(o.current.modelContext().register({getModelContext:()=>({tools:n})})),()=>{t.forEach(e=>e())}},[e,s,o]),{getState:()=>a,setToolUI:s}});E(nt,(e,t)=>{!e.modelContext&&t.modelContext.source===null&&(e.modelContext=tt())});var rt=T(()=>{let[e,t]=O(()=>({renderers:{},fallbacks:[]}));return{getState:()=>e,setDataUI:_e((e,n)=>(t(t=>({...t,renderers:{...t.renderers,[e]:[...t.renderers[e]??[],n]}})),()=>{t(t=>({...t,renderers:{...t.renderers,[e]:t.renderers[e]?.filter(e=>e!==n)??[]}}))}),[]),setFallbackDataUI:_e(e=>(t(t=>({...t,fallbacks:[...t.fallbacks,e]})),()=>{t(t=>({...t,fallbacks:t.fallbacks.filter(t=>t!==e)}))}),[])}}),it=({index:e,children:t})=>(0,R.jsx)(p,{value:w({attachment:M({source:`composer`,query:{type:`index`,index:e},get:t=>t.composer().attachment({index:e})})}),children:t}),z=e=>{let[,t]=O(e.getState);return k(()=>(t(e.getState()),e.subscribe(()=>{t(e.getState())})),[e]),e.getState()},at=T(({runtime:e})=>{let t=z(e);return{getState:()=>t,remove:e.remove,__internal_getRuntime:()=>e}}),ot=T(({runtime:e})=>{let t=z(e);return{getState:()=>t,addToolResult:t=>e.addToolResult(t),resumeToolCall:t=>e.resumeToolCall(t),__internal_getRuntime:()=>e}}),st=T(({runtime:e,index:t})=>b(at({runtime:y(()=>e.getAttachmentByIndex(t),[e,t])}))),ct=T(({threadIdRef:e,messageIdRef:t,runtime:n})=>{let r=z(n),i=v();k(()=>{let r=[];for(let a of[`send`,`attachmentAdd`]){let o=n.unstable_on(a,()=>{i(`composer.${a}`,{threadId:e.current,...t&&{messageId:t.current}})});r.push(o)}return r.push(n.unstable_on(`attachmentAddError`,n=>{i(`composer.attachmentAddError`,{threadId:e.current,...t&&{messageId:t.current},...n.attachmentId&&{attachmentId:n.attachmentId},reason:n.reason,message:n.message})})),()=>{for(let e of r)e()}},[n,i,e,t]);let a=L(()=>r.attachments.map((e,t)=>A(e.id,st({runtime:n,index:t}))),[r.attachments,n]),o=y(()=>({text:r.text,role:r.role,attachments:a.state,runConfig:r.runConfig,isEditing:r.isEditing,canCancel:r.canCancel,canSend:r.canSend,attachmentAccept:r.attachmentAccept,isEmpty:r.isEmpty,type:r.type??`thread`,dictation:r.dictation,quote:r.quote,queue:[]}),[r,a.state]);return{getState:()=>o,setText:n.setText,setRole:n.setRole,setRunConfig:n.setRunConfig,addAttachment:n.addAttachment,reset:n.reset,clearAttachments:n.clearAttachments,send:n.send,cancel:n.cancel,beginEdit:n.beginEdit??(()=>{throw Error(`beginEdit is not supported in this runtime`)}),startDictation:n.startDictation,stopDictation:n.stopDictation,setQuote:n.setQuote,attachment:e=>`id`in e?a.get({key:e.id}):a.get(e),queueItem:()=>{throw Error(`Queue is not supported in this runtime`)},__internal_getRuntime:()=>n}}),lt=T(({runtime:e,index:t})=>b(at({runtime:y(()=>e.getAttachmentByIndex(t),[e,t])}))),ut=T(({runtime:e,index:t})=>b(ot({runtime:y(()=>e.getMessagePartByIndex(t),[e,t])}))),dt=T(({runtime:e,threadIdRef:t})=>{let n=z(e),[r,i]=O(!1),[a,o]=O(!1),s=y(()=>({get current(){return e.getState().id}}),[e]),c=_(ct({runtime:e.composer,threadIdRef:t,messageIdRef:s})),l=L(()=>n.content.map((t,n)=>A(`toolCallId`in t&&t.toolCallId!=null?`toolCallId-${t.toolCallId}`:`index-${n}`,ut({runtime:e,index:n}))),[n.content,e]),u=L(()=>(n.attachments??[]).map((t,n)=>A(t.id,lt({runtime:e,index:n}))),[n.attachments,e]),d=y(()=>({...n,parts:l.state,composer:c.state,isCopied:r,isHovering:a}),[n,l.state,c.state,r,a]);return{getState:()=>d,composer:()=>c.methods,reload:t=>e.reload(t),speak:()=>e.speak(),stopSpeaking:()=>e.stopSpeaking(),submitFeedback:t=>e.submitFeedback(t),switchToBranch:t=>e.switchToBranch(t),getCopyText:()=>e.unstable_getCopyText(),part:e=>`index`in e?l.get({index:e.index}):l.get({key:`toolCallId-${e.toolCallId}`}),attachment:e=>`id`in e?u.get({key:e.id}):u.get(e),setIsCopied:i,setIsHovering:o,__internal_getRuntime:()=>e}}),ft=T(({runtime:e,id:t,threadIdRef:n})=>b(dt({runtime:y(()=>e.getMessageById(t),[e,t]),threadIdRef:n}))),pt=T(({runtime:e})=>{let t=z(e),n=v();k(()=>{let t=[];for(let r of[`runStart`,`runEnd`,`initialize`,`modelContextUpdate`]){let i=e.unstable_on(r,()=>{let t=e.getState()?.threadId||`unknown`;n(`thread.${r}`,{threadId:t})});t.push(i)}return()=>{for(let e of t)e()}},[e,n]);let r=y(()=>({get current(){return e.getState().threadId}}),[e]),i=_(ct({runtime:e.composer,threadIdRef:r})),a=L(()=>t.messages.map(t=>A(t.id,ft({runtime:e,id:t.id,threadIdRef:r}))),[t.messages,e,r]),o=y(()=>({isEmpty:a.state.length===0&&!t.isLoading,isDisabled:t.isDisabled,isLoading:t.isLoading,isRunning:t.isRunning,capabilities:t.capabilities,state:t.state,suggestions:t.suggestions,extras:t.extras,speech:t.speech,voice:t.voice,composer:i.state,messages:a.state}),[t,a,i.state]);return{getState:()=>o,composer:()=>i.methods,append:e.append,startRun:e.startRun,resumeRun:e.resumeRun,cancelRun:e.cancelRun,getModelContext:e.getModelContext,export:e.export,import:e.import,reset:e.reset,stopSpeaking:e.stopSpeaking,connectVoice:e.connectVoice,disconnectVoice:e.disconnectVoice,getVoiceVolume:e.getVoiceVolume,subscribeVoiceVolume:e.subscribeVoiceVolume,muteVoice:e.muteVoice,unmuteVoice:e.unmuteVoice,message:e=>`id`in e?a.get({key:e.id}):a.get(e),__internal_getRuntime:()=>e}}),mt=T(({runtime:e})=>{let t=z(e),n=v();return k(()=>{let t=[];for(let r of[`switchedTo`,`switchedAway`]){let i=e.unstable_on(r,()=>{n(`threadListItem.${r}`,{threadId:e.getState().id})});t.push(i)}return()=>{for(let e of t)e()}},[e,n]),{getState:()=>t,switchTo:e.switchTo,rename:e.rename,archive:e.archive,unarchive:e.unarchive,delete:e.delete,generateTitle:e.generateTitle,initialize:e.initialize,detach:e.detach,__internal_getRuntime:()=>e}}),ht=T(({runtime:e,id:t})=>b(mt({runtime:y(()=>e.getItemById(t),[e,t])}))),gt=T(({runtime:e,__internal_assistantRuntime:t})=>{let n=z(e),r=_(pt({runtime:e.main})),i=L(()=>Object.keys(n.threadItems).map(t=>A(t,ht({runtime:e,id:t}))),[n.threadItems,e]),a=y(()=>({mainThreadId:n.mainThreadId,newThreadId:n.newThreadId??null,isLoading:n.isLoading,isLoadingMore:n.isLoadingMore,hasMore:n.hasMore,threadIds:n.threadIds,archivedThreadIds:n.archivedThreadIds,threadItems:i.state,main:r.state}),[n,i.state,r.state]);return{getState:()=>a,thread:()=>r.methods,item:e=>{if(e===`main`)return i.get({key:a.mainThreadId});if(`id`in e)return i.get({key:e.id});let{index:t,archived:n=!1}=e,r=n?a.archivedThreadIds[t]:a.threadIds[t];return i.get({key:r})},switchToThread:async t=>{await e.switchToThread(t)},switchToNewThread:async()=>{await e.switchToNewThread()},getLoadThreadsPromise:()=>e.getLoadThreadsPromise(),reload:()=>e.reload(),loadMore:()=>e.loadMore(),__internal_getAssistantRuntime:()=>t}}),_t=T(e=>{let t=ee();return k(()=>e.registerModelContextProvider(t.current.modelContext()),[e,t]),b(gt({runtime:e.threads,__internal_assistantRuntime:e}))}),vt=(e,t)=>{e.thread??=M({source:`threads`,query:{type:`main`},get:e=>e.threads().thread(`main`)}),e.threadListItem??=M({source:`threads`,query:{type:`main`},get:e=>e.threads().item(`main`)}),e.composer??=M({source:`thread`,query:{},get:e=>e.threads().thread(`main`).composer()}),!e.modelContext&&t.modelContext.source===null&&(e.modelContext=tt()),!e.suggestions&&t.suggestions.source===null&&(e.suggestions=Ze())},yt=({index:e,children:t})=>(0,R.jsx)(p,{value:w({message:M({source:`thread`,query:{type:`index`,index:e},get:t=>t.thread().message({index:e})}),composer:M({source:`message`,query:{},get:t=>t.thread().message({index:e}).composer()})}),children:t}),bt=({index:e,children:t})=>(0,R.jsx)(p,{value:w({part:M({source:`message`,query:{type:`index`,index:e},get:t=>t.message().part({index:e})})}),children:t}),xt=T(({text:e,isRunning:t})=>{let n=y(()=>({type:`text`,text:e,status:t?{type:`running`}:{type:`complete`}}),[e,t]);return{getState:()=>n,addToolResult:()=>{throw Error(`Not supported`)},resumeToolCall:()=>{throw Error(`Not supported`)}}}),St=({text:e,isRunning:t=!1,children:n})=>(0,R.jsx)(p,{value:w({part:xt({text:e,isRunning:t})}),children:n}),Ct=({startIndex:e,endIndex:t,children:n})=>{let r=C(e=>e.message.parts).slice(e,t+1),i=w();return(0,R.jsx)(p,{value:w({chainOfThought:$e({parts:r,getMessagePart:({index:t})=>{if(t<0||t>=r.length)throw Error(`ChainOfThought part index ${t} is out of bounds (0..${r.length-1})`);return i.message().part({index:e+t})}})}),children:n})},wt=class extends de{runtime;endEditCallback;get canCancel(){return!0}get canSend(){return!this.isEmpty}getAttachmentAdapter(){return this.runtime.adapters?.attachments}getDictationAdapter(){return this.runtime.adapters?.dictation}_previousText;_previousAttachments;_nonTextPassthrough;_parentId;_sourceId;constructor(e,t,{parentId:n,message:r}){super(),this.runtime=e,this.endEditCallback=t,this._parentId=n,this._sourceId=r.id,this._previousText=j(r),this.setText(this._previousText),this.setRole(r.role),r.role===`user`?(this._previousAttachments=[...r.attachments??[],...ae(r.content)],this._nonTextPassthrough=[]):(this._previousAttachments=r.attachments??[],this._nonTextPassthrough=r.content.filter(e=>e.type!==`text`)),this.setAttachments(this._previousAttachments),this.setRunConfig({...e.composer.runConfig})}get parentId(){return this._parentId}get sourceId(){return this._sourceId}async handleSend(e,t){let n=j(e),r=!ue(e.attachments??[],this._previousAttachments);if(n!==this._previousText||r||t?.startRun){let n=this._nonTextPassthrough.length>0?[...e.content,...this._nonTextPassthrough]:e.content;this.runtime.append({...e,content:n,parentId:this._parentId,sourceId:this._sourceId,startRun:t?.startRun})}this.handleCancel()}handleCancel(){this.endEditCallback(),this._notifySubscribers()}},Tt=class{_contextProvider;_subscriptions=new Set;_isInitialized=!1;repository=new Ce;_voiceMessages=[];_voiceGeneration=0;_cachedMergedMessages=null;_cachedVoiceGeneration=-1;_cachedMergedBase=null;_markVoiceMessagesDirty(){this._voiceGeneration++,this._cachedMergedMessages=null}_getBaseMessages(){return this.repository.getMessages()}get messages(){if(this._voiceMessages.length===0)return this._getBaseMessages();let e=this._getBaseMessages();return(this._cachedVoiceGeneration!==this._voiceGeneration||this._cachedMergedBase!==e)&&(this._cachedMergedMessages=[...e,...this._voiceMessages],this._cachedVoiceGeneration=this._voiceGeneration,this._cachedMergedBase=e),this._cachedMergedMessages}get state(){let e;for(let t of this.messages)t.role===`assistant`&&(e=t);return e?.metadata.unstable_state??null}composer=new me(this);constructor(e){this._contextProvider=e}getModelContext(){return this._contextProvider.getModelContext()}_editComposers=new Map;getEditComposer(e){return this._editComposers.get(e)}beginEdit(e){if(this._editComposers.has(e))throw Error(`Edit already in progress`);this._editComposers.set(e,new wt(this,()=>this._editComposers.delete(e),this.repository.getMessage(e))),this._notifySubscribers()}getMessageById(e){try{return this.repository.getMessage(e)}catch{let t=this.repository.getMessages(),n=this._voiceMessages.findIndex(t=>t.id===e);return n===-1?void 0:{parentId:n>0?this._voiceMessages[n-1].id:t.at(-1)?.id??null,message:this._voiceMessages[n],index:t.length+n}}}getBranches(e){return this._voiceMessages.some(t=>t.id===e)?[]:this.repository.getBranches(e)}switchToBranch(e){this.repository.switchToBranch(e),this._notifySubscribers()}_notifySubscribers(){for(let e of this._subscriptions)e()}_notifyEventSubscribers(e,t){let n=this._eventSubscribers.get(e);if(n)for(let e of n)e(t)}subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}submitFeedback({messageId:e,type:t}){let n=this.adapters?.feedback;if(!n)throw Error(`Feedback adapter not configured`);let{message:r,parentId:i}=this.repository.getMessage(e);if(n.submit({message:r,type:t}),r.role===`assistant`){let e={...r,metadata:{...r.metadata,submittedFeedback:{type:t}}};this.repository.addOrUpdateMessage(i,e)}this._notifySubscribers()}_stopSpeaking;speech;speak(e){let t=this.adapters?.speech;if(!t)throw Error(`Speech adapter not configured`);let{message:n}=this.repository.getMessage(e);this._stopSpeaking?.();let r=t.speak(j(n)),i=r.subscribe(()=>{r.status.type===`ended`?(this._stopSpeaking=void 0,this.speech=void 0):this.speech={messageId:e,status:r.status},this._notifySubscribers()});this.speech={messageId:e,status:r.status},this._notifySubscribers(),this._stopSpeaking=()=>{r.cancel(),i(),this.speech=void 0,this._stopSpeaking=void 0}}stopSpeaking(){if(!this._stopSpeaking)throw Error(`No message is being spoken`);this._stopSpeaking(),this._notifySubscribers()}_voiceSession;_voiceUnsubs=[];voice;_voiceVolume=0;_voiceVolumeSubscribers=new Set;getVoiceVolume=()=>this._voiceVolume;subscribeVoiceVolume=e=>(this._voiceVolumeSubscribers.add(e),()=>this._voiceVolumeSubscribers.delete(e));connectVoice(){let e=this.adapters?.voice;if(!e)throw Error(`Voice adapter not configured`);this.disconnectVoice();let t=e.connect({});this._voiceSession=t;let n=[],r=`listening`;this.voice={status:t.status,isMuted:t.isMuted,mode:r},this._voiceVolume=0,this._notifySubscribers(),n.push(t.onStatusChange(e=>{e.type===`ended`?(this._finishVoiceAssistantMessage(),this._voiceSession=void 0,this.voice=void 0):this.voice={status:e,isMuted:t.isMuted,mode:r},this._notifySubscribers()})),n.push(t.onModeChange(e=>{r=e,this.voice&&(this.voice={...this.voice,mode:e},this._notifySubscribers())})),n.push(t.onVolumeChange(e=>{this._voiceVolume=e;for(let e of this._voiceVolumeSubscribers)e()})),n.push(t.onTranscript(e=>{this._handleVoiceTranscript(e)})),this._voiceUnsubs=n}_currentAssistantMsg=null;_handleVoiceTranscript(e){if(this.ensureInitialized(),e.role===`user`)this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null,e.isFinal&&(this._voiceMessages.push({id:m(),role:`user`,content:[{type:`text`,text:e.text}],metadata:{custom:{}},createdAt:new Date,status:{type:`complete`,reason:`unknown`},attachments:[]}),this._markVoiceMessagesDirty(),this._notifySubscribers());else{if(!this._currentAssistantMsg)this._currentAssistantMsg={id:m(),role:`assistant`,content:[{type:`text`,text:e.text}],metadata:{unstable_state:this.state,unstable_annotations:[],unstable_data:[],steps:[],custom:{}},status:{type:`running`},createdAt:new Date},this._voiceMessages.push(this._currentAssistantMsg);else{let t=this._voiceMessages.indexOf(this._currentAssistantMsg);if(t===-1)return;let n={...this._currentAssistantMsg,content:[{type:`text`,text:e.text}],...e.isFinal?{status:{type:`complete`,reason:`stop`}}:{}};this._voiceMessages[t]=n,this._currentAssistantMsg=n}e.isFinal&&(this._currentAssistantMsg=null),this._markVoiceMessagesDirty(),this._notifySubscribers()}}_finishVoiceAssistantMessage(){let e=this._voiceMessages.at(-1);if(e?.role===`assistant`&&e.status.type===`running`){let t=this._voiceMessages.length-1;this._voiceMessages[t]={...e,status:{type:`complete`,reason:`stop`}},this._markVoiceMessagesDirty(),this._notifySubscribers()}}disconnectVoice(){this._finishVoiceAssistantMessage(),this._currentAssistantMsg=null;for(let e of this._voiceUnsubs)e();this._voiceUnsubs=[],this._voiceSession?.disconnect(),this._voiceSession=void 0,this.voice=void 0,this._voiceVolume=0;for(let e of this._voiceVolumeSubscribers)e();this._voiceMessages=[],this._markVoiceMessagesDirty(),this._notifySubscribers()}muteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.mute(),this.voice={...this.voice,isMuted:!0},this._notifySubscribers()}unmuteVoice(){if(!this._voiceSession)throw Error(`No active voice session`);this._voiceSession.unmute(),this.voice={...this.voice,isMuted:!1},this._notifySubscribers()}ensureInitialized(){this._isInitialized||(this._isInitialized=!0,this._notifyEventSubscribers(`initialize`,{}))}export(){return this.repository.export()}import(e){this.ensureInitialized(),this.repository.clear(),this.repository.import(e),this._notifySubscribers()}reset(e){this.import(xe.fromArray(e??[]))}_eventSubscribers=new Map;unstable_on(e,t){let n=t;if(e===`modelContextUpdate`)return this._contextProvider.subscribe?.(()=>n({}))??(()=>{});let r=this._eventSubscribers.get(e);return r||(r=new Set,this._eventSubscribers.set(e,r)),r.add(n),()=>{this._eventSubscribers.get(e)?.delete(n)}}},Et=T(e=>b(_t(e)));E(Et,(e,t)=>{vt(e,t),!e.tools&&t.tools.source===null&&(e.tools=nt({})),!e.dataRenderers&&t.dataRenderers.source===null&&(e.dataRenderers=rt())});var B=Object.freeze([]),V=`DEFAULT_THREAD_ID`,Dt=Object.freeze([V]),Ot=Object.freeze({id:V,remoteId:void 0,externalId:void 0,status:`regular`}),kt=Promise.resolve(),At=Object.freeze({[V]:Ot}),jt=class{threadFactory;_mainThreadId=V;_threads=Dt;_archivedThreads=B;_threadData=At;adapter={};get isLoading(){return this.adapter.isLoading??!1}get newThreadId(){}get threadIds(){return this._threads}get archivedThreadIds(){return this._archivedThreads}get threadItems(){return this._threadData}getLoadThreadsPromise(){return kt}_mainThread;get mainThreadId(){return this._mainThreadId}constructor(e={},t){this.threadFactory=t,this.__internal_setAdapter(e,!0)}getMainThreadRuntimeCore(){return this._mainThread}getThreadRuntimeCore(){throw Error(`Method not implemented.`)}getItemById(e){return this._threadData[e]}__internal_setAdapter(e,t=!1){let n=this.adapter;this.adapter=e;let r=e.threadId??V,i=e.threads??B,a=e.archivedThreads??B,o=n.threadId??V,s=n.threads??B,c=n.archivedThreads??B;!t&&o===r&&s===i&&c===a||((s!==i||c!==a||o!==r)&&(this._threadData={...At,...Object.fromEntries(e.threads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`regular`}])??[]),...Object.fromEntries(e.archivedThreads?.map(e=>[e.id,{...e,remoteId:e.remoteId,externalId:e.externalId,status:`archived`}])??[])}),s!==i&&(this._threads=this.adapter.threads?.map(e=>e.id)??B),c!==a&&(this._archivedThreads=this.adapter.archivedThreads?.map(e=>e.id)??B),(t||o!==r)&&(this._mainThreadId=r,this._mainThread=this.threadFactory()),this._threadData[this._mainThreadId]||(this._threadData={...this._threadData,[this._mainThreadId]:{id:this._mainThreadId,remoteId:void 0,externalId:void 0,status:`regular`}}),this._notifySubscribers())}async switchToThread(e){if(this._mainThreadId===e)return;let t=this.adapter.onSwitchToThread;if(!t)throw Error(`External store adapter does not support switching to thread`);await t(e)}async switchToNewThread(){let e=this.adapter.onSwitchToNewThread;if(!e)throw Error(`External store adapter does not support switching to new thread`);await e()}async rename(e,t){let n=this.adapter.onRename;if(!n)throw Error(`External store adapter does not support renaming`);await n(e,t)}async detach(){}async archive(e){let t=this.adapter.onArchive;if(!t)throw Error(`External store adapter does not support archiving`);await t(e)}async unarchive(e){let t=this.adapter.onUnarchive;if(!t)throw Error(`External store adapter does not support unarchiving`);await t(e)}async delete(e){let t=this.adapter.onDelete;if(!t)throw Error(`External store adapter does not support deleting`);await t(e)}initialize(e){return Promise.resolve({remoteId:e,externalId:void 0})}generateTitle(){throw Error(`Method not implemented.`)}_subscriptions=new Set;subscribe(e){return this._subscriptions.add(e),()=>this._subscriptions.delete(e)}_notifySubscribers(){for(let e of this._subscriptions)e()}},Mt=class{cache=new WeakMap;convertMessages(e,t){return e.map((e,n)=>{let r=t(this.cache.get(e),e,n);return this.cache.set(e,r),r})}},Nt=Object.freeze([]),Pt=(e,t)=>{let n=Object.keys(e);if(n.length!==Object.keys(t).length)return!1;for(let r of n)if(e[r]!==t[r])return!1;return!0},Ft=(e,t)=>e&&t[t.length-1]?.role!==`assistant`,It=class extends Tt{_assistantOptimisticId=null;_capabilities={switchToBranch:!1,switchBranchDuringRun:!1,edit:!1,reload:!1,cancel:!1,unstable_copy:!1,speech:!1,dictation:!1,voice:!1,attachments:!1,feedback:!1,queue:!1};get capabilities(){return this._capabilities}_messages;isDisabled;isSendDisabled;get isLoading(){return this._store.isLoading??!1}get isRunning(){return this._store.isRunning}_getBaseMessages(){return this._messages}get state(){return this._store.state??super.state}get adapters(){return this._store.adapters}suggestions=[];extras=void 0;_converter=new Mt;_store;beginEdit(e){if(!this._store.onEdit)throw Error(`Runtime does not support editing.`);super.beginEdit(e)}constructor(e,t){super(e),this.__internal_setAdapter(t)}__internal_setAdapter(e){if(this._store===e)return;let t=e.isRunning??!1;this.isDisabled=e.isDisabled??!1,this.isSendDisabled=e.isSendDisabled??!1;let n=this._store;this._store=e,this.extras!==e.extras&&(this.extras=e.extras);let r=e.suggestions??Nt;Pt(this.suggestions,r)||(this.suggestions=r);let i={switchToBranch:this._store.setMessages!==void 0,switchBranchDuringRun:!1,edit:this._store.onEdit!==void 0,reload:this._store.onReload!==void 0,cancel:this._store.onCancel!==void 0,speech:this._store.adapters?.speech!==void 0,dictation:this._store.adapters?.dictation!==void 0,voice:this._store.adapters?.voice!==void 0,unstable_copy:this._store.unstable_capabilities?.copy!==!1,attachments:!!this._store.adapters?.attachments,feedback:!!this._store.adapters?.feedback,queue:!1};Pt(this._capabilities,i)||(this._capabilities=i);let a;if(e.messageRepository){if(n&&n.isRunning===e.isRunning&&n.messageRepository===e.messageRepository){this._notifySubscribers();return}this.repository.clear(),this._assistantOptimisticId=null,this.repository.import(e.messageRepository),a=this.repository.getMessages()}else if(e.messages){if(n){if(n.convertMessage!==e.convertMessage)this._converter=new Mt;else if(n.isRunning===e.isRunning&&n.messages===e.messages){this._notifySubscribers();return}}a=e.convertMessage?this._converter.convertMessages(e.messages,(n,r,i)=>{if(!e.convertMessage)return r;let a=Se(i===(e.messages?.length??0)-1,t,!1,!1,void 0);if(n&&(n.role!==`assistant`||!te(n.status)||n.status===a))return n;let o=se(e.convertMessage(r,i),i.toString(),a);return le(o,r),o}):e.messages;for(let e=0;e<a.length;e++){let t=a[e],n=a[e-1];this.repository.addOrUpdateMessage(n?.id??null,t)}}else throw Error(`ExternalStoreAdapter must provide either 'messages' or 'messageRepository'`);a.length>0&&this.ensureInitialized(),(n?.isRunning??!1)!==(e.isRunning??!1)&&(e.isRunning?this._notifyEventSubscribers(`runStart`,{}):this._notifyEventSubscribers(`runEnd`,{})),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null),Ft(t,a)&&(this._assistantOptimisticId=this.repository.appendOptimisticMessage(a.at(-1)?.id??null,{role:`assistant`,content:[]})),this.repository.resetHead(this._assistantOptimisticId??a.at(-1)?.id??null),this._messages=this.repository.getMessages(),this._notifySubscribers()}switchToBranch(e){if(!this._store.setMessages)throw Error(`Runtime does not support switching branches.`);this._store.isRunning||(this.repository.switchToBranch(e),this.updateMessages(this.repository.getMessages()))}async append(e){if(e.parentId!==(this.messages.at(-1)?.id??null)){if(!this._store.onEdit)throw Error(`Runtime does not support editing messages.`);await this._store.onEdit(e)}else await this._store.onNew(e)}async startRun(e){if(!this._store.onReload)throw Error(`Runtime does not support reloading messages.`);await this._store.onReload(e.parentId,e)}async resumeRun(e){if(!this._store.onResume)throw Error(`Runtime does not support resuming runs.`);await this._store.onResume(e)}exportExternalState(){if(!this._store.onExportExternalState)throw Error(`Runtime does not support exporting external states.`);return this._store.onExportExternalState()}importExternalState(e){if(!this._store.onLoadExternalState)throw Error(`Runtime does not support importing external states.`);this._store.onLoadExternalState(e)}cancelRun(){if(!this._store.onCancel)throw Error(`Runtime does not support cancelling runs.`);this._store.onCancel(),this._assistantOptimisticId&&=(this.repository.deleteMessage(this._assistantOptimisticId),null);let e=this.repository.getMessages(),t=e[e.length-1];t?.role===`user`&&t.id===e.at(-1)?.id?(this.repository.deleteMessage(t.id),this.composer.text.trim()||this.composer.setText(j(t)),e=this.repository.getMessages()):this._notifySubscribers(),setTimeout(()=>{this.updateMessages(e)},0)}addToolResult(e){if(!this._store.onAddToolResult&&!this._store.onAddToolResult)throw Error(`Runtime does not support tool results.`);this._store.onAddToolResult?.(e)}resumeToolCall(e){if(!this._store.onResumeToolCall)throw Error(`Runtime does not support resuming tool calls.`);this._store.onResumeToolCall(e)}reset(e){let t=new Ce;t.import(xe.fromArray(e??[])),this.updateMessages(t.getMessages())}import(e){this._assistantOptimisticId=null,super.import(e),this._store.onImport&&this._store.onImport(this.repository.getMessages())}updateMessages=e=>{this._store.convertMessage===void 0?this._store.setMessages?.(e):this._store.setMessages?.(e.flatMap(ge))}},Lt=e=>e.adapters?.threadList??{},Rt=class extends ne{threads;constructor(e){super(),this.threads=new jt(Lt(e),()=>new It(this._contextProvider,e))}setAdapter(e){this.threads.__internal_setAdapter(Lt(e)),this.threads.getMainThreadRuntimeCore().__internal_setAdapter(e)}},zt=e=>{let[t]=(0,F.useState)(()=>new Rt(e));(0,F.useEffect)(()=>{t.setAdapter(e)});let{modelContext:n}=pe()??{};return(0,F.useEffect)(()=>{if(n)return t.registerModelContextProvider(n)},[n,t]),(0,F.useMemo)(()=>new be(t),[t])},Bt=e=>e._core?.RenderComponent,Vt=(0,F.memo)(({runtime:e,aui:t=null,children:n})=>{let r=w({threads:Et(e)},{parent:t}),i=Bt(e);return(0,R.jsxs)(p,{value:r,children:[i&&(0,R.jsx)(i,{}),n]})}),Ht=(e,t)=>e.Message===t.Message&&e.EditComposer===t.EditComposer&&e.UserEditComposer===t.UserEditComposer&&e.AssistantEditComposer===t.AssistantEditComposer&&e.SystemEditComposer===t.SystemEditComposer&&e.UserMessage===t.UserMessage&&e.AssistantMessage===t.AssistantMessage&&e.SystemMessage===t.SystemMessage,Ut=()=>null,Wt=(e,t,n)=>{switch(t){case`user`:return n?e.UserEditComposer??e.EditComposer??e.UserMessage??e.Message:e.UserMessage??e.Message;case`assistant`:return n?e.AssistantEditComposer??e.EditComposer??e.AssistantMessage??e.Message:e.AssistantMessage??e.Message;case`system`:return n?e.SystemEditComposer??e.EditComposer??e.SystemMessage??e.Message:e.SystemMessage??e.Message??Ut;default:throw Error(`Unknown message role: ${t}`)}},Gt=({components:e})=>(0,R.jsx)(Wt(e,C(e=>e.message.role),C(e=>e.message.composer.isEditing)),{}),Kt=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(yt,{index:e,children:(0,R.jsx)(Gt,{components:t})}),(e,t)=>e.index===t.index&&Ht(e.components,t.components));Kt.displayName=`ThreadPrimitive.MessageByIndex`;var qt=({children:e})=>{let t=C(e=>e.thread.messages.length);return(0,F.useMemo)(()=>t===0?null:Array.from({length:t},(t,n)=>(0,R.jsx)(yt,{index:n,children:(0,R.jsx)(qe,{getItemState:e=>e.thread().message({index:n}).getState(),children:t=>e({get message(){return t()}})})},n)),[t,e])},Jt=({components:e,children:t})=>e?(0,R.jsx)(qt,{children:()=>(0,R.jsx)(Gt,{components:e})}):(0,R.jsx)(qt,{children:t});Jt.displayName=`ThreadPrimitive.Messages`;var Yt=(0,F.memo)(Jt,(e,t)=>e.children||t.children?e.children===t.children:Ht(e.components,t.components)),Xt=e=>{let t=e.message.metadata;if(!(!t||typeof t!=`object`))return t.custom?.quote},Zt=`ui://`,Qt=e=>!!e?.startsWith(Zt),$t=e=>Symbol.iterator in e,en=e=>`entries`in e,tn=(e,t)=>{let n=e instanceof Map?e:new Map(e.entries()),r=t instanceof Map?t:new Map(t.entries());if(n.size!==r.size)return!1;for(let[e,t]of n)if(!r.has(e)||!Object.is(t,r.get(e)))return!1;return!0},nn=(e,t)=>{let n=e[Symbol.iterator](),r=t[Symbol.iterator](),i=n.next(),a=r.next();for(;!i.done&&!a.done;){if(!Object.is(i.value,a.value))return!1;i=n.next(),a=r.next()}return!!i.done&&!!a.done};function rn(e,t){return Object.is(e,t)?!0:typeof e!=`object`||!e||typeof t!=`object`||!t||Object.getPrototypeOf(e)!==Object.getPrototypeOf(t)?!1:$t(e)&&$t(t)?en(e)&&en(t)?tn(e,t):nn(e,t):tn({entries:()=>Object.entries(e)},{entries:()=>Object.entries(t)})}function an(e){let t=F.useRef(void 0);return n=>{let r=e(n);return rn(t.current,r)?t.current:t.current=r}}var on=e=>{let t=-1;return{startGroup:e=>{t===-1&&(t=e)},endGroup:(n,r)=>{t!==-1&&(r.push({type:e,startIndex:t,endIndex:n}),t=-1)},finalize:(n,r)=>{t!==-1&&r.push({type:e,startIndex:t,endIndex:n})}}},sn=(e,t)=>{let n=[];if(t){let t=on(`chainOfThoughtGroup`);for(let r=0;r<e.length;r++){let i=e[r];i===`tool-call`||i===`reasoning`?t.startGroup(r):(t.endGroup(r-1,n),n.push({type:`single`,index:r}))}t.finalize(e.length-1,n)}else{let t=on(`toolGroup`),r=on(`reasoningGroup`);for(let i=0;i<e.length;i++){let a=e[i];a===`tool-call`?(r.endGroup(i-1,n),t.startGroup(i)):a===`reasoning`?(t.endGroup(i-1,n),r.startGroup(i)):(t.endGroup(i-1,n),r.endGroup(i-1,n),n.push({type:`single`,index:i}))}t.finalize(e.length-1,n),r.finalize(e.length-1,n)}return n},cn=e=>{let t=C(an(e=>e.message.parts.map(e=>e.type)));return(0,F.useMemo)(()=>t.length===0?[]:sn(t,e),[t,e])},ln=({Fallback:e,...t})=>{let n=C(n=>{let r=n.tools.tools[t.toolName]??e;return Array.isArray(r)?r[0]??e:r});return n?(0,R.jsx)(n,{...t}):null},un=(e,t,n)=>e.renderers[t]?.[0]||(e.fallbacks[0]??n),dn=({Fallback:e,...t})=>{let n=C(n=>un(n.dataRenderers,t.name,e));return n?(0,R.jsx)(n,{...t}):null},H={Text:()=>null,Reasoning:()=>null,Source:()=>null,Image:()=>null,File:()=>null,Unstable_Audio:()=>null,ToolGroup:({children:e})=>e,ReasoningGroup:({children:e})=>e},fn=({components:{Text:e=H.Text,Reasoning:t=H.Reasoning,Image:n=H.Image,Source:r=H.Source,File:i=H.File,Unstable_Audio:a=H.Unstable_Audio,tools:o={},data:s}={}})=>{let c=w(),l=C(e=>e.part),u=l.type;if(u===`tool-call`){let e=c.part().addToolResult,t=c.part().resumeToolCall;if(`Override`in o)return(0,R.jsx)(o.Override,{...l,addResult:e,resume:t});let n=o.by_name?.[l.toolName]??o.Fallback;return(0,R.jsx)(ln,{...l,Fallback:n,addResult:e,resume:t})}if(l.status?.type===`requires-action`)throw Error(`Encountered unexpected requires-action status`);switch(u){case`text`:return(0,R.jsx)(e,{...l});case`reasoning`:return(0,R.jsx)(t,{...l});case`source`:return(0,R.jsx)(r,{...l});case`image`:return(0,R.jsx)(n,{...l});case`file`:return(0,R.jsx)(i,{...l});case`audio`:return(0,R.jsx)(a,{...l});case`data`:{let e=s?.by_name?.[l.name]??s?.Fallback;return(0,R.jsx)(dn,{...l,Fallback:e})}default:return console.warn(`Unknown message part type: ${u}`),null}},U=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(bt,{index:e,children:(0,R.jsx)(fn,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Text===t.components?.Text&&e.components?.Reasoning===t.components?.Reasoning&&e.components?.Source===t.components?.Source&&e.components?.Image===t.components?.Image&&e.components?.File===t.components?.File&&e.components?.Unstable_Audio===t.components?.Unstable_Audio&&e.components?.tools===t.components?.tools&&e.components?.data===t.components?.data&&e.components?.ToolGroup===t.components?.ToolGroup&&e.components?.ReasoningGroup===t.components?.ReasoningGroup);U.displayName=`MessagePrimitive.PartByIndex`;var pn=({status:e,component:t})=>(0,R.jsx)(St,{text:``,isRunning:e.type===`running`,children:(0,R.jsx)(t,{type:`text`,text:``,status:e})}),mn=Object.freeze({type:`complete`}),hn=Object.freeze({type:`running`}),gn=(0,F.memo)(({components:e})=>{let t=C(e=>e.message.status??mn);return e?.Empty?(0,R.jsx)(e.Empty,{status:t}):t.type===`running`?(0,R.jsx)(pn,{status:t,component:e?.Text??H.Text}):null},(e,t)=>e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),_n=(0,F.memo)(({components:e,enabled:t})=>C(e=>{if(!t||e.message.parts.length===0)return!1;let n=e.message.parts[e.message.parts.length-1];return n?.type!==`text`&&n?.type!==`reasoning`})?(0,R.jsx)(gn,{components:e}):null,(e,t)=>e.enabled===t.enabled&&e.components?.Empty===t.components?.Empty&&e.components?.Text===t.components?.Text),vn=(0,F.memo)(({Quote:e})=>{let t=C(Xt);return t?(0,R.jsx)(e,{text:t.text,messageId:t.messageId}):null});function yn(e,t){let n=e.tools[t.toolName];return(Array.isArray(n)?n[0]??null:n??null)||(Qt(t.mcp?.app?.resourceUri)&&e.mcpApp?e.mcpApp.render:null)}var bn=()=>{let e=w(),t=C(e=>e.part),n=C(e=>e.part.type===`tool-call`?yn(e.tools,e.part):null);return!n||t.type!==`tool-call`?null:(0,R.jsx)(n,{...t,addResult:e.part().addToolResult,resume:e.part().resumeToolCall})},xn=()=>{let e=C(e=>e.part),t=C(e=>e.part.type===`data`?un(e.dataRenderers,e.part.name,void 0)??null:null);return!t||e.type!==`data`?null:(0,R.jsx)(t,{...e})},Sn=()=>{let e=C(e=>e.part.type);return e===`tool-call`?(0,R.jsx)(bn,{}):e===`data`?(0,R.jsx)(xn,{}):null},Cn=Object.freeze({type:`text`,text:``,status:hn}),wn=({index:e,children:t})=>{let n=w(),r=C(e=>e.dataRenderers);return(0,R.jsx)(bt,{index:e,children:(0,R.jsx)(qe,{getItemState:t=>t.message().part({index:e}).getState(),children:i=>t({get part(){let t=i();if(t.type===`tool-call`){let r=yn(n.tools().getState(),t)!==null,i=n.message().part({index:e});return{...t,toolUI:r?(0,R.jsx)(bn,{}):null,addResult:i.addToolResult,resume:i.resumeToolCall}}if(t.type===`data`){let e=un(r,t.name,void 0)!==void 0;return{...t,dataRendererUI:e?(0,R.jsx)(xn,{}):null}}return t}})})})},Tn=({children:e})=>{let t=C(e=>e.message.parts.length),n=C(e=>(e.message.status?.type??`complete`)===`running`);return t===0?t===0&&n?(0,R.jsx)(St,{text:``,isRunning:!0,children:e({part:Cn})}):null:(0,R.jsx)(R.Fragment,{children:Array.from({length:t},(t,n)=>(0,R.jsx)(wn,{index:n,children:t=>e(t)??(0,R.jsx)(Sn,{})},n))})},En=({components:e,unstable_showEmptyOnNonTextEnd:t=!0,children:n})=>n?(0,R.jsx)(Tn,{children:n}):(0,R.jsx)(Dn,{components:e,unstable_showEmptyOnNonTextEnd:t});En.displayName=`MessagePrimitive.Parts`;var Dn=({components:e,unstable_showEmptyOnNonTextEnd:t})=>{let n=C(e=>e.message.parts.length),r=cn(!!e?.ChainOfThought),i=(0,F.useMemo)(()=>n===0?(0,R.jsx)(gn,{components:e}):r.map(t=>{if(t.type===`single`)return(0,R.jsx)(U,{index:t.index,components:e},t.index);if(t.type===`chainOfThoughtGroup`){let n=e?.ChainOfThought;return n?(0,R.jsx)(Ct,{startIndex:t.startIndex,endIndex:t.endIndex,children:(0,R.jsx)(n,{})},`chainOfThought-${t.startIndex}`):null}else if(t.type===`toolGroup`)return(0,R.jsx)(e?.ToolGroup??H.ToolGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,R.jsx)(U,{index:t.startIndex+r,components:e},r))},`tool-${t.startIndex}`);else return(0,R.jsx)(e?.ReasoningGroup??H.ReasoningGroup,{startIndex:t.startIndex,endIndex:t.endIndex,children:Array.from({length:t.endIndex-t.startIndex+1},(n,r)=>(0,R.jsx)(U,{index:t.startIndex+r,components:e},r))},`reasoning-${t.startIndex}`)}),[r,e,n]);return(0,R.jsxs)(R.Fragment,{children:[e?.Quote&&(0,R.jsx)(vn,{Quote:e.Quote}),i,(0,R.jsx)(_n,{components:e,enabled:t})]})},On=(e,t)=>{switch(t.type){case`image`:return e?.Image??e?.Attachment;case`document`:return e?.Document??e?.Attachment;case`file`:return e?.File??e?.Attachment;default:return e?.Attachment}},kn=({components:e})=>{let t=C(e=>e.attachment);if(!t)return null;let n=On(e,t);return n?(0,R.jsx)(n,{}):null},An=(0,F.memo)(({index:e,components:t})=>(0,R.jsx)(it,{index:e,children:(0,R.jsx)(kn,{components:t})}),(e,t)=>e.index===t.index&&e.components?.Image===t.components?.Image&&e.components?.Document===t.components?.Document&&e.components?.File===t.components?.File&&e.components?.Attachment===t.components?.Attachment);An.displayName=`ComposerPrimitive.AttachmentByIndex`;var jn=({children:e})=>{let t=C(e=>e.composer.attachments.length);return(0,F.useMemo)(()=>Array.from({length:t},(t,n)=>(0,R.jsx)(it,{index:n,children:(0,R.jsx)(qe,{getItemState:e=>e.composer().attachment({index:n}).getState(),children:t=>e({get attachment(){return t()}})})},n)),[t,e])},Mn=({components:e,children:t})=>e?(0,R.jsx)(jn,{children:({attachment:t})=>{let n=On(e,t);return n?(0,R.jsx)(n,{}):null}}):(0,R.jsx)(jn,{children:t});Mn.displayName=`ComposerPrimitive.Attachments`;var Nn=()=>{let e=w(),t=C(e=>!e.composer.canSend||e.thread.isRunning&&!e.thread.capabilities.queue);return{send:(0,F.useCallback)(t=>{e.composer().send(t)},[e]),disabled:t}},Pn=()=>{let e=w(),t=C(e=>!e.composer.isEditing);return{addAttachment:(0,F.useCallback)(t=>e.composer().addAttachment(t),[e]),disabled:t}},Fn=e=>{let t=new Map,n=()=>{let n=0;for(let e of t.values())n+=e;e(n)};return{register:()=>{let e=Symbol();return t.set(e,0),{setHeight:r=>{t.get(e)!==r&&(t.set(e,r),n())},unregister:()=>{t.delete(e),n()}}}}},In=(e={})=>{let t=new Set,n=Fn(e=>{a.setState({height:{...a.getState().height,viewport:e}})}),r=Fn(e=>{a.setState({height:{...a.getState().height,inset:e}})}),i=(e,t)=>(a.setState({element:{...a.getState().element,[e]:t}}),()=>{a.getState().element[e]===t&&a.setState({element:{...a.getState().element,[e]:null}})}),a=S(()=>({isAtBottom:!0,scrollToBottom:({behavior:e=`auto`}={})=>{for(let n of t)n({behavior:e})},onScrollToBottom:e=>(t.add(e),()=>{t.delete(e)}),turnAnchor:e.turnAnchor??`bottom`,topAnchorMessageClamp:{tallerThan:e.topAnchorMessageClamp?.tallerThan??`10em`,visibleHeight:e.topAnchorMessageClamp?.visibleHeight??`6em`},height:{viewport:0,inset:0},element:{viewport:null,anchor:null,target:null},targetConfig:null,topAnchorTurn:null,registerViewport:n.register,registerContentInset:r.register,registerViewportElement:e=>i(`viewport`,e),registerAnchorElement:e=>i(`anchor`,e),registerAnchorTargetElement:(e,t)=>(a.setState({element:{...a.getState().element,target:e},targetConfig:e&&t?t:null}),()=>{a.getState().element.target===e&&a.setState({element:{...a.getState().element,target:null},targetConfig:null})}),setTopAnchorTurn:e=>{a.setState({topAnchorTurn:e})}}));return a};function Ln(e,t){function n(n){let r=(0,F.useContext)(e);if(!n?.optional&&!r)throw Error(`This component must be used within ${t}.`);return r}return n}var Rn=(0,F.createContext)(null),{useThreadViewport:W,useThreadViewportStore:G}=ce(Ln(Rn,`ThreadPrimitive.Viewport`),`useThreadViewport`),zn=e=>{let t=G({optional:!0}),[n]=(0,F.useState)(()=>In(e));return(0,F.useEffect)(()=>t?.getState().onScrollToBottom(()=>{n.getState().scrollToBottom()}),[t,n]),(0,F.useEffect)(()=>{if(t)return n.subscribe(e=>{t.getState().isAtBottom!==e.isAtBottom&&ve(t).setState({isAtBottom:e.isAtBottom})})},[n,t]),n},Bn=({children:e,options:t={}})=>{let n=zn(t),[r]=(0,F.useState)(()=>({useThreadViewport:n}));return(0,R.jsx)(Rn.Provider,{value:r,children:e})},Vn=()=>((0,F.useEffect)(()=>{},[w()]),null),Hn=(0,F.memo)(({children:e,aui:t,runtime:n})=>(0,R.jsxs)(Vt,{runtime:n,aui:t??null,children:[(0,R.jsx)(Vn,{}),(0,R.jsx)(Bn,{children:e})]})),Un=e=>{let t=e;t.__isBound||=(t.__internal_bindMethods?.(),!0)};function Wn(e,t=Gn){Un(e);let n=(0,F.useSyncExternalStore)(e.subscribe,()=>t(e.getState()),()=>t(e.getState()));return(0,F.useDebugValue)(n),n}var Gn=e=>e;function Kn(e){function t(t){let n=!1,r;typeof t==`function`?r=t:t&&(n=!!t.optional,r=t.selector);let i=e({optional:n});return i?Wn(i,r):null}return t}function qn(e){let t=w(),n=C(()=>t.composer.source?t.composer().__internal_getRuntime?.()??null:null);if(!n&&!e?.optional)throw Error(`ComposerRuntime is not available`);return n}function Jn(e){let t=w(),n=C(()=>t.thread.source?t.thread().__internal_getRuntime?.()??null:null);if(!n&&!e?.optional)throw Error(`ThreadRuntime is not available`);return n}var K=Kn(e=>Jn(e)?.composer??null);s();var Yn=Symbol.for(`react.lazy`),q=F.use;function Xn(e){return typeof e==`object`&&!!e&&`then`in e}function Zn(e){return typeof e==`object`&&!!e&&`$$typeof`in e&&e.$$typeof===Yn&&`_payload`in e&&Xn(e._payload)}function Qn(e){let t=$n(e),n=F.forwardRef((e,n)=>{let{children:r,...i}=e;Zn(r)&&typeof q==`function`&&(r=q(r._payload));let a=F.Children.toArray(r),o=a.find(tr);if(o){let e=o.props.children,r=a.map(t=>t===o?F.Children.count(e)>1?F.Children.only(null):F.isValidElement(e)?e.props.children:null:t);return(0,R.jsx)(t,{...i,ref:n,children:F.isValidElement(e)?F.cloneElement(e,void 0,r):null})}return(0,R.jsx)(t,{...i,ref:n,children:r})});return n.displayName=`${e}.Slot`,n}function $n(e){let t=F.forwardRef((e,t)=>{let{children:n,...r}=e;if(Zn(n)&&typeof q==`function`&&(n=q(n._payload)),F.isValidElement(n)){let e=rr(n),i=nr(r,n.props);return n.type!==F.Fragment&&(i.ref=t?we(t,e):e),F.cloneElement(n,i)}return F.Children.count(n)>1?F.Children.only(null):null});return t.displayName=`${e}.SlotClone`,t}var er=Symbol(`radix.slottable`);function tr(e){return F.isValidElement(e)&&typeof e.type==`function`&&`__radixId`in e.type&&e.type.__radixId===er}function nr(e,t){let n={...t};for(let r in t){let i=e[r],a=t[r];/^on[A-Z]/.test(r)?i&&a?n[r]=(...e)=>{let t=a(...e);return i(...e),t}:i&&(n[r]=i):r===`style`?n[r]={...i,...a}:r===`className`&&(n[r]=[i,a].filter(Boolean).join(` `))}return{...e,...n}}function rr(e){let t=Object.getOwnPropertyDescriptor(e.props,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning;return n?e.ref:(t=Object.getOwnPropertyDescriptor(e,`ref`)?.get,n=t&&`isReactWarning`in t&&t.isReactWarning,n?e.props.ref:e.props.ref||e.ref)}var ir=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`].reduce((e,t)=>{let n=Qn(`Primitive.${t}`),r=F.forwardRef((e,r)=>{let{asChild:i,...a}=e,o=i?n:t;return typeof window<`u`&&(window[Symbol.for(`radix-ui`)]=!0),(0,R.jsx)(o,{...a,ref:r})});return r.displayName=`Primitive.${t}`,{...e,[t]:r}},{}),ar=[`a`,`button`,`div`,`form`,`h2`,`h3`,`img`,`input`,`label`,`li`,`nav`,`ol`,`p`,`select`,`span`,`svg`,`ul`];function or(e){let t=(0,F.forwardRef)(({render:t,asChild:n,children:r,...i},a)=>{let o=e;if(t&&(0,F.isValidElement)(t)){let e=r===void 0?t.props.children:r;return(0,R.jsx)(o,{...i,asChild:!0,ref:a,children:(0,F.cloneElement)(t,void 0,e)})}return(0,R.jsx)(o,{...i,asChild:n,ref:a,children:r})});return t.displayName=typeof e==`string`?e:e.displayName??e.name??`Component`,t}function sr(e){let t=ir[e],n=or(t);return n.displayName=`Primitive.${e}`,n}var J=ar.reduce((e,t)=>(e[t]=sr(t),e),{}),cr=(e,t,n=[])=>{let r=(0,F.forwardRef)((e,r)=>{let i={},a={};Object.keys(e).forEach(t=>{n.includes(t)?i[t]=e[t]:a[t]=e[t]});let o=t(i)??void 0;return(0,R.jsx)(J.button,{...a,type:`button`,ref:r,disabled:a.disabled||!o,onClick:N(a.onClick,o)})});return r.displayName=e,r},lr=(0,F.forwardRef)((e,t)=>(0,R.jsx)(J.div,{...e,ref:t}));lr.displayName=`AttachmentPrimitive.Root`;var ur=()=>(0,R.jsx)(R.Fragment,{children:C(e=>e.attachment.name)});ur.displayName=`AttachmentPrimitive.Name`;var dr=cr(`AttachmentPrimitive.Remove`,()=>{let e=w();return(0,F.useCallback)(()=>{e.attachment().remove()},[e])}),fr=()=>{let{disabled:e,send:t}=Nn(),n=(0,F.useCallback)(()=>t(),[t]);return e?null:n};cr(`ComposerPrimitive.Send`,fr);var pr=(0,F.forwardRef)(({onSubmit:e,...t},n)=>{let r=fr(),i=e=>{e.preventDefault(),r&&r()};return(0,R.jsx)(J.form,{...t,ref:n,onSubmit:N(e,i)})});pr.displayName=`ComposerPrimitive.Root`;function mr(){return mr=Object.assign?Object.assign.bind():function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)({}).hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e},mr.apply(null,arguments)}function hr(e,t){if(e==null)return{};var n={};for(var r in e)if({}.hasOwnProperty.call(e,r)){if(t.indexOf(r)!==-1)continue;n[r]=e[r]}return n}var gr=F.useLayoutEffect,_r=function(e){var t=F.useRef(e);return gr(function(){t.current=e}),t},vr=function(e,t){if(typeof e==`function`){e(t);return}e.current=t},yr=function(e,t){var n=F.useRef();return F.useCallback(function(r){e.current=r,n.current&&vr(n.current,null),n.current=t,t&&vr(t,r)},[t])},br={"min-height":`0`,"max-height":`none`,height:`0`,visibility:`hidden`,overflow:`hidden`,position:`absolute`,"z-index":`-1000`,top:`0`,right:`0`,display:`block`},xr=function(e){Object.keys(br).forEach(function(t){e.style.setProperty(t,br[t],`important`)})},Y=null,Sr=function(e,t){var n=e.scrollHeight;return t.sizingStyle.boxSizing===`border-box`?n+t.borderSize:n-t.paddingSize};function Cr(e,t,n,r){n===void 0&&(n=1),r===void 0&&(r=1/0),Y||(Y=document.createElement(`textarea`),Y.setAttribute(`tabindex`,`-1`),Y.setAttribute(`aria-hidden`,`true`),xr(Y)),Y.parentNode===null&&document.body.appendChild(Y);var i=e.paddingSize,a=e.borderSize,o=e.sizingStyle,s=o.boxSizing;Object.keys(o).forEach(function(e){var t=e;Y.style[t]=o[t]}),xr(Y),Y.value=t;var c=Sr(Y,e);Y.value=t,c=Sr(Y,e),Y.value=`x`;var l=Y.scrollHeight-i,u=l*n;s===`border-box`&&(u=u+i+a),c=Math.max(u,c);var d=l*r;return s===`border-box`&&(d=d+i+a),c=Math.min(d,c),[c,l]}var wr=function(){},Tr=function(e,t){return e.reduce(function(e,n){return e[n]=t[n],e},{})},Er=[`borderBottomWidth`,`borderLeftWidth`,`borderRightWidth`,`borderTopWidth`,`boxSizing`,`fontFamily`,`fontSize`,`fontStyle`,`fontWeight`,`letterSpacing`,`lineHeight`,`paddingBottom`,`paddingLeft`,`paddingRight`,`paddingTop`,`tabSize`,`textIndent`,`textRendering`,`textTransform`,`width`,`wordBreak`,`wordSpacing`,`scrollbarGutter`],Dr=!!document.documentElement.currentStyle,Or=function(e){var t=window.getComputedStyle(e);if(t===null)return null;var n=Tr(Er,t),r=n.boxSizing;return r===``?null:(Dr&&r===`border-box`&&(n.width=parseFloat(n.width)+parseFloat(n.borderRightWidth)+parseFloat(n.borderLeftWidth)+parseFloat(n.paddingRight)+parseFloat(n.paddingLeft)+`px`),{sizingStyle:n,paddingSize:parseFloat(n.paddingBottom)+parseFloat(n.paddingTop),borderSize:parseFloat(n.borderBottomWidth)+parseFloat(n.borderTopWidth)})};function kr(e,t,n){var r=_r(n);F.useLayoutEffect(function(){var n=function(e){return r.current(e)};if(e)return e.addEventListener(t,n),function(){return e.removeEventListener(t,n)}},[])}var Ar=function(e,t){kr(document.body,`reset`,function(n){e.current.form===n.target&&t(n)})},jr=function(e){kr(window,`resize`,e)},Mr=function(e){kr(document.fonts,`loadingdone`,e)},Nr=[`cacheMeasurements`,`maxRows`,`minRows`,`onChange`,`onHeightChange`],Pr=F.forwardRef(function(e,t){var n=e.cacheMeasurements,r=e.maxRows,i=e.minRows,a=e.onChange,o=a===void 0?wr:a,s=e.onHeightChange,c=s===void 0?wr:s,l=hr(e,Nr),u=l.value!==void 0,d=F.useRef(null),f=yr(d,t),p=F.useRef(0),m=F.useRef(),h=function(){var e=d.current,t=n&&m.current?m.current:Or(e);if(t){m.current=t;var a=Cr(t,e.value||e.placeholder||`x`,i,r),o=a[0],s=a[1];p.current!==o&&(p.current=o,e.style.setProperty(`height`,o+`px`,`important`),c(o,{rowHeight:s}))}};return F.useLayoutEffect(h),Ar(d,function(){if(!u){var e=d.current.value;requestAnimationFrame(function(){var t=d.current;t&&e!==t.value&&h()})}}),jr(h),Mr(h),F.createElement(`textarea`,mr({},l,{onChange:function(e){u||h(),o(e)},ref:f}))}),Fr=e=>{let t=Ae(e),n=W(e=>e.onScrollToBottom);(0,F.useEffect)(()=>n(t),[n,t])},Ir=(0,F.createContext)(null),Lr=(0,F.createContext)(null),Rr=()=>(0,F.useContext)(Ir),zr=()=>()=>{},Br=()=>null,Vr=()=>{let e=Rr();return(0,F.useSyncExternalStore)(e?e.subscribeAria:zr,e?e.getActiveAria:Br,e?e.getActiveAria:Br)};function Hr(){let e=(0,F.useRef)(new Set);return{notify:(0,F.useCallback)(()=>{for(let t of e.current)t()},[]),subscribe:(0,F.useCallback)(t=>(e.current.add(t),()=>{e.current.delete(t)}),[])}}var Ur=({children:e})=>{let t=(0,F.useRef)(new Map),n=(0,F.useRef)(new Set),{notify:r,subscribe:i}=Hr(),a=(0,F.useCallback)(e=>{let{char:i}=e;if(t.current.has(i))return()=>{};let a=new Map(t.current);a.set(i,e),t.current=a,r();for(let t of n.current)t.added(e);return()=>{let e=new Map(t.current);e.delete(i),t.current=e,r();for(let e of n.current)e.removed(i)}},[r]),o=(0,F.useCallback)(()=>t.current,[]),s=(0,F.useCallback)(e=>(n.current.add(e),()=>{n.current.delete(e)}),[]),c=(0,F.useRef)(null),l=(0,F.useRef)(null),{notify:u,subscribe:d}=Hr(),f=(0,F.useCallback)((e,t)=>{if(t===null){if(l.current!==e)return;c.current=null,l.current=null,u();return}let n=c.current;l.current===e&&n!==null&&n.popoverId===t.popoverId&&n.highlightedItemId===t.highlightedItemId||(c.current=t,l.current=e,u())},[u]),p=(0,F.useCallback)(()=>c.current,[]),m=(0,F.useMemo)(()=>({register:a,getTriggers:o,subscribe:i,subscribeLifecycle:s,getActiveAria:p,subscribeAria:d}),[a,o,i,s,p,d]),h=(0,F.useMemo)(()=>({setActiveAria:f}),[f]);return(0,R.jsx)(Ir.Provider,{value:m,children:(0,R.jsx)(Lr.Provider,{value:h,children:e})})},Wr=({children:e})=>he()?(0,R.jsx)(Ur,{children:e}):(0,R.jsx)(oe,{children:(0,R.jsx)(Ur,{children:e})});Wr.displayName=`ComposerPrimitive.TriggerPopoverRoot`;var Gr=(0,F.forwardRef)(({autoFocus:e=!1,asChild:t,render:n,disabled:r,onChange:i,onKeyDown:a,onPaste:o,onSelect:s,submitOnEnter:c,submitMode:l,cancelOnEscape:u=!0,unstable_focusOnRunStart:d=!0,unstable_focusOnScrollToBottom:f=!0,unstable_focusOnThreadSwitched:p=!0,addAttachmentOnPaste:m=!0,...h},ee)=>{let g=w(),_=he(),v=Vr(),y=l??(c===!1?`none`:`enter`),b=C(e=>e.composer.isEditing?e.composer.text:``),x=C(e=>e.thread.isDisabled||e.composer.dictation?.inputDisabled)||r,S=(0,F.useRef)(null),T=P(ee,S),E=(0,F.useRef)(!1);Oe(e=>{if(!S.current?.contains(e.target))return;if(_){for(let t of _.getPlugins())if(t.handleKeyDown(e))return}if(!u)return;let t=g.composer();t.getState().canCancel&&(t.cancel(),e.preventDefault())});let te=e=>{if(!x&&!e.nativeEvent.isComposing){if(_){for(let t of _.getPlugins())if(t.handleKeyDown(e))return}if(e.key===`Enter`){let t=g.thread().getState(),n=t.capabilities.queue;if(e.shiftKey&&(e.ctrlKey||e.metaKey)&&n&&y!==`none`&&g.composer().getState().canSend){e.preventDefault(),g.composer().send({steer:!0});return}if(e.shiftKey||t.isRunning&&!n)return;let r=!1;y===`ctrlEnter`?r=e.ctrlKey||e.metaKey:y===`enter`&&(r=!0),r&&(e.preventDefault(),S.current?.closest(`form`)?.requestSubmit())}}},ne=async e=>{if(!m)return;let t=g.thread().getState().capabilities,n=Array.from(e.clipboardData?.files||[]);if(t.attachments&&n.length>0)try{e.preventDefault(),await Promise.all(n.map(e=>g.composer().addAttachment(e)))}catch(e){console.error(`Error adding attachment:`,e)}},re=e&&!x,D=(0,F.useCallback)(()=>{let e=S.current;!e||!re||(e.focus({preventScroll:!0}),e.setSelectionRange(e.value.length,e.value.length))},[re]);(0,F.useEffect)(()=>D(),[D]),Fr(()=>{g.composer().getState().type===`thread`&&f&&D()}),(0,F.useEffect)(()=>{if(!(g.composer().getState().type!==`thread`||!d))return g.on(`thread.runStart`,D)},[d,D,g]),(0,F.useEffect)(()=>{if(!(g.composer().getState().type!==`thread`||!p))return g.on(`threadListItem.switchedTo`,D)},[p,D,g]);let O=v?{"aria-controls":v.popoverId,"aria-expanded":!0,"aria-haspopup":`listbox`,"aria-activedescendant":v.highlightedItemId}:{},k={name:`input`,value:b,...h,...O,ref:T,disabled:x,onChange:N(i,e=>{if(!g.composer().getState().isEditing)return;let t=e.nativeEvent.isComposing===!0;E.current&&!t&&(E.current=!1);let n=t||E.current;if(ie(()=>{g.composer().setText(e.target.value)}),n)return;let r=e.target.selectionStart??e.target.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(r)}),onKeyDown:N(a,te),onCompositionStart:N(h.onCompositionStart,()=>{E.current=!0}),onCompositionEnd:N(h.onCompositionEnd,e=>{if(E.current=!1,!g.composer().getState().isEditing)return;let t=e.target;ie(()=>{g.composer().setText(t.value)});let n=t.selectionStart??t.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(n)}),onSelect:N(s,e=>{if(E.current)return;let t=e.target,n=t.selectionStart??t.value.length;if(_)for(let e of _.getPlugins())e.setCursorPosition(n)}),onPaste:N(o,ne)};if(n&&(0,F.isValidElement)(n)){let e=h.children===void 0?n.props.children:h.children;return(0,R.jsx)(ke,{...k,children:(0,F.cloneElement)(n,void 0,e)})}return(0,R.jsx)(t?ke:Pr,{...k})});Gr.displayName=`ComposerPrimitive.Input`;var Kr=cr(`ComposerPrimitive.AddAttachment`,({multiple:e=!0}={})=>{let{disabled:t,addAttachment:n}=Pn(),r=w(),i=(0,F.useCallback)(()=>{let t=document.createElement(`input`);t.type=`file`,t.multiple=e,t.hidden=!0;let i=r.composer().getState().attachmentAccept;i!==`*`&&(t.accept=i),document.body.appendChild(t),t.onchange=e=>{let r=e.target.files;if(r){for(let e of r)n(e);document.body.removeChild(t)}},t.oncancel=()=>{(!t.files||t.files.length===0)&&document.body.removeChild(t)},t.click()},[r,e,n]);return t?null:i},[`multiple`]),qr=(0,F.forwardRef)(({smooth:e=!0,component:t=`span`,...n},r)=>{let{text:i,status:a}=ye(fe(),e);return(0,R.jsx)(t,{"data-status":a.type,...n,ref:r,children:i})});qr.displayName=`MessagePartPrimitive.Text`;var Jr=()=>C(e=>{if(e.part.type!==`image`)throw Error(`MessagePartImage can only be used inside image message parts.`);return e.part}),Yr=(0,F.forwardRef)((e,t)=>{let{image:n}=Jr();return(0,R.jsx)(J.img,{src:n,...e,ref:t})});Yr.displayName=`MessagePartPrimitive.Image`;var Xr=({children:e})=>C(e=>e.part.status.type===`running`)?e:null;Xr.displayName=`MessagePartPrimitive.InProgress`;var X=e=>{let t=(0,F.useRef)(void 0);return(0,F.useCallback)(n=>{t.current&&=(t.current(),void 0),n&&(t.current=e(n))},[e])},Zr=(e,t)=>{let n=e.trim().match(/^(\d+(?:\.\d+)?|\.\d+)(em|px|rem)$/);if(!n)return 1/0;let r=Number(n[1]),i=n[2];return i===`px`?r:i===`em`?r*(parseFloat(getComputedStyle(t).fontSize)||16):i===`rem`?r*(parseFloat(getComputedStyle(document.documentElement).fontSize)||16):1/0},Qr=e=>e.dataset.messageId,$r=()=>{let e=document.createElement(`div`);return e.dataset.auiTopAnchorReserve=``,e.style.height=`0px`,e.style.flexShrink=`0`,e.style.pointerEvents=`none`,e.setAttribute(`aria-hidden`,`true`),e},ei=(e,t)=>{let n=`${t}px`;return e.style.height===n?!1:(e.style.height=n,!0)},ti=e=>{let t=window.devicePixelRatio||1;return Math.round(e*t)/t},ni=()=>{let e=w(),t=C(()=>e.message());return X((0,F.useCallback)(e=>{let n=()=>{t.setIsHovering(!0)},r=()=>{t.setIsHovering(!1)};return e.addEventListener(`mouseenter`,n),e.addEventListener(`mouseleave`,r),e.matches(`:hover`)&&queueMicrotask(()=>t.setIsHovering(!0)),()=>{e.removeEventListener(`mouseenter`,n),e.removeEventListener(`mouseleave`,r),t.setIsHovering(!1)}},[t]))},ri=()=>{let e=W(e=>e.topAnchorTurn?.anchorId);return C(t=>t.message.role===`user`&&t.message.index>0&&t.message.index===t.thread.messages.length-2&&t.thread.messages.at(-1)?.role===`assistant`&&(t.message.id===e||t.thread.isRunning))},ii=()=>{let e=W(e=>e.topAnchorTurn?.targetId);return C(t=>t.message.isLast&&t.message.role===`assistant`&&t.message.index>=1&&t.thread.messages.at(t.message.index-1)?.role===`user`&&(t.message.id===e||t.thread.isRunning))},ai=(e,t)=>X((0,F.useCallback)(n=>{if(e)return t.getState().registerAnchorElement(n)},[e,t])),oi=({active:e,threadViewportStore:t})=>X((0,F.useCallback)(n=>{if(!e)return;let r=t.getState(),i=r.topAnchorMessageClamp;return r.registerAnchorTargetElement(n,{tallerThan:Zr(i.tallerThan,n),visibleHeight:Zr(i.visibleHeight,n)})},[e,t])),si=({forwardedRef:e,...t})=>{let n=P(e,ni()),r=C(e=>e.message.id);return(0,R.jsx)(J.div,{...t,ref:n,"data-message-id":r})},ci=({forwardedRef:e,threadViewportStore:t,...n})=>{let r=ni(),i=ri(),a=ii(),o=P(e,r,ai(i,t),oi({active:a,threadViewportStore:t})),s=C(e=>e.message.id);return(0,R.jsx)(J.div,{...n,ref:o,"data-message-id":s,"data-aui-top-anchor-user":i?``:void 0,"data-aui-top-anchor-target":a?``:void 0})},li=(0,F.forwardRef)((e,t)=>{let n=G();return n.getState().turnAnchor===`top`?(0,R.jsx)(ci,{...e,forwardedRef:t,threadViewportStore:n}):(0,R.jsx)(si,{...e,forwardedRef:t})});li.displayName=`MessagePrimitive.Root`;var ui={...H,Text:()=>(0,R.jsxs)(`p`,{style:{whiteSpace:`pre-line`},children:[(0,R.jsx)(qr,{}),(0,R.jsx)(Xr,{children:(0,R.jsx)(`span`,{style:{fontFamily:`revert`},children:` ●`})})]}),Image:()=>(0,R.jsx)(Yr,{})},di=e=>{if(`children`in e)return(0,R.jsx)(En,{children:e.children});let{components:t,...n}=e;return(0,R.jsx)(En,{components:t?{Text:t.Text??ui.Text,Image:t.Image??ui.Image,Reasoning:t.Reasoning??H.Reasoning,Source:t.Source??H.Source,File:t.File??H.File,Unstable_Audio:t.Unstable_Audio??H.Unstable_Audio,...`ChainOfThought`in t?{ChainOfThought:t.ChainOfThought}:{tools:t.tools,data:t.data,ToolGroup:t.ToolGroup??H.ToolGroup,ReasoningGroup:t.ReasoningGroup??H.ReasoningGroup},Empty:t.Empty,Quote:t.Quote}:ui,...n})};di.displayName=`MessagePrimitive.Parts`;var fi=(0,F.forwardRef)((e,t)=>(0,R.jsx)(J.div,{...e,ref:t}));fi.displayName=`ThreadPrimitive.Root`;var pi=e=>{let t=Ae(e);return X((0,F.useCallback)(e=>{let n=new ResizeObserver(()=>{t()}),r=new MutationObserver(e=>{e.some(e=>e.type!==`attributes`||e.attributeName!==`style`)&&t()});return n.observe(e),r.observe(e,{childList:!0,subtree:!0,attributes:!0,characterData:!0}),()=>{n.disconnect(),r.disconnect()}},[t]))},mi=({autoScroll:e,scrollToBottomOnRunStart:t=!0,scrollToBottomOnInitialize:n=!0,scrollToBottomOnThreadSwitch:r=!0})=>{let i=(0,F.useRef)(null),a=G();e===void 0&&(e=a.getState().turnAnchor!==`top`);let o=(0,F.useRef)(0),s=(0,F.useRef)(null),c=(0,F.useCallback)(e=>{let t=i.current;t&&(s.current=e,t.scrollTo({top:t.scrollHeight,behavior:e}))},[]),l=(0,F.useCallback)(()=>{let e=a.getState();return e.turnAnchor===`top`&&e.element.viewport===i.current&&e.element.anchor!==null},[a]),u=()=>{let e=i.current;if(!e)return;let t=a.getState().isAtBottom,n=Math.abs(e.scrollHeight-e.scrollTop-e.clientHeight)<1||e.scrollHeight<=e.clientHeight;!n&&o.current<e.scrollTop||(n&&(s.current=null),(n||s.current===null)&&n!==t&&ve(a).setState({isAtBottom:n})),o.current=e.scrollTop},d=pi(()=>{let t=s.current;t&&l()?s.current=null:t?c(t):e&&a.getState().isAtBottom&&c(`instant`),u()}),f=X(e=>(e.addEventListener(`scroll`,u),()=>{e.removeEventListener(`scroll`,u)}));return Fr(({behavior:e})=>{c(e)}),I(`thread.runStart`,()=>{t&&a.getState().turnAnchor!==`top`&&(s.current=`auto`,requestAnimationFrame(()=>{c(`auto`)}))}),I(`thread.initialize`,()=>{n&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),I(`threadListItem.switchedTo`,()=>{r&&(s.current=`instant`,requestAnimationFrame(()=>{c(`instant`)}))}),P(d,f,i)},hi=(e,t)=>X((0,F.useCallback)(n=>{if(!e)return;let r=e(),i=()=>{let e=t?t(n):n.offsetHeight;r.setHeight(e)},a=new ResizeObserver(i);return a.observe(n),i(),()=>{a.disconnect(),r.unregister()}},[e,t])),gi=e=>{let t=0,n=e;for(;n;)t+=n.offsetTop,n=n.offsetParent;return t},_i=(e,t)=>{let n=0,r=e;for(;r&&r!==t;)n+=r.offsetTop,r=r.offsetParent;return r===t?n:gi(e)-gi(t)},vi=({viewport:e,anchor:t,tallerThan:n,visibleHeight:r})=>{let i=_i(t,e),a=t.offsetHeight;return i+Math.max(0,a-(a<=n?a:r))},yi=({scrollHeight:e,...t})=>{let{viewport:n}=t,r=vi(t)+n.clientHeight;return Math.max(0,r-e)},bi=({viewport:e,reserve:t,...n})=>yi({viewport:e,...n,scrollHeight:e.scrollHeight-t.offsetHeight}),xi=e=>{let t=new ResizeObserver(e),n=new MutationObserver(e),r=null,i=null,a=null,o=()=>{t.disconnect(),n.disconnect(),r=null,i=null,a=null};return{target:(e,s,c)=>{r===e&&i===s&&a===c||(o(),t.observe(e),t.observe(s),t.observe(c),n.observe(c,{childList:!0,subtree:!0,characterData:!0}),r=e,i=s,a=c)},disconnect:o}},Si=e=>{let t=null;return{schedule:()=>{t===null&&(t=requestAnimationFrame(()=>{t=null,e()}))},cancel:()=>{t!==null&&(cancelAnimationFrame(t),t=null)}}},Ci=e=>{let t=null,n;function r(){let r=e.getState(),{viewport:o,anchor:s,target:c}=r.element,l=r.targetConfig;if(r.turnAnchor!==`top`||!o||!s||!c||!l){a.disconnect(),t&&(ei(t,0),t.remove());return}if(t??=$r(),(t.parentElement!==c.parentElement||t.previousElementSibling!==c)&&c.after(t),a.target(o,s,c),ei(t,bi({viewport:o,anchor:s,reserve:t,...l}))){i.schedule();return}let u=Qr(s);if(u!==void 0&&n===u)return;let d=ti(vi({viewport:o,anchor:s,...l}));Math.abs(o.scrollTop-d)>1&&o.scrollTo({top:d,behavior:`smooth`}),u!==void 0&&(n=u)}let i=Si(r),a=xi(i.schedule);i.schedule();let o=e.subscribe(i.schedule);return()=>{i.cancel(),o(),a.disconnect(),t?.remove()}},wi=e=>{let t=G();(0,F.useLayoutEffect)(()=>{if(e)return Ci(t)},[e,t])},Ti=({isRunning:e,messages:t})=>{if(!e)return null;let n=t.at(-1),r=t.at(-2);return r?.role!==`user`||n?.role!==`assistant`?null:{anchorId:r.id,targetId:n.id}},Ei=e=>Ti(e)?.anchorId,Di=e=>Ti(e)?.targetId,Oi=()=>hi(W(e=>e.registerViewport),(0,F.useCallback)(e=>e.clientHeight,[])),ki=()=>X(W(e=>e.registerViewportElement)),Ai=e=>{let t=G(),n=C(t=>{if(e)return Ei(t.thread)}),r=C(t=>{if(e)return Di(t.thread)}),i=(0,F.useMemo)(()=>!n||!r?null:{anchorId:n,targetId:r},[n,r]);(0,F.useLayoutEffect)(()=>{if(!i)return;let e=t.getState(),n=e.topAnchorTurn;n?.anchorId===i.anchorId&&n.targetId===i.targetId||e.setTopAnchorTurn(i)},[i,t]);let a=(0,F.useCallback)(()=>{t.getState().setTopAnchorTurn(null)},[t]);I(`thread.initialize`,a),I(`threadListItem.switchedTo`,a)},ji=(0,F.forwardRef)(({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r,children:i,...a},o)=>{let s=mi({autoScroll:e,scrollToBottomOnRunStart:t,scrollToBottomOnInitialize:n,scrollToBottomOnThreadSwitch:r}),c=Oi(),l=ki(),u=G().getState().turnAnchor===`top`;Ai(u),wi(u);let d=P(o,s,c,l);return(0,R.jsx)(J.div,{...a,ref:d,children:i})});ji.displayName=`ThreadPrimitive.ViewportScrollable`;var Mi=(0,F.forwardRef)(({turnAnchor:e,topAnchorMessageClamp:t,...n},r)=>(0,R.jsx)(Bn,{options:{turnAnchor:e,topAnchorMessageClamp:t},children:(0,R.jsx)(ji,{...n,ref:r})}));Mi.displayName=`ThreadPrimitive.Viewport`;function Ni(e){let t=n(e);return t?`customer_agent:interview_session:${encodeURIComponent(t)}`:null}function Pi(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.entryId==`string`&&typeof t.priority==`number`&&typeof t.sessionId==`string`&&typeof t.title==`string`?r(t.entryId)&&t.entryId===`interview/session/${t.sessionId}`:!1}function Fi(e){let t=Ni(e);if(!t)return null;try{let e=window.localStorage.getItem(t);if(!e)return null;let n=JSON.parse(e);return Pi(n)?n:null}catch{return null}}function Ii(e,t){let n=Ni(e);if(n)try{window.localStorage.setItem(n,JSON.stringify(t))}catch{}}function Li(e){let t=Ni(e);if(t)try{window.localStorage.removeItem(t)}catch{}}var Z=Object.freeze({ACTIVE:`active`,ERROR:`error`,IDLE:`idle`,LOADING:`loading`,SENDING:`sending`,TERMINAL:`terminal`});function Ri(e){return typeof crypto<`u`&&`randomUUID`in crypto?`${e}-${crypto.randomUUID()}`:`${e}-${Date.now()}-${Math.random().toString(36).slice(2)}`}function zi(e){return e.anonymous_id??e.user?.id}function Bi(e){return typeof e==`string`&&e.trim()?e.trim():null}function Vi(e){return Bi(e.user?.id)}function Hi(e){return Bi(e.brand?.name)??`Customer Agent`}function Ui(e){return{...e.context,...e.user,userId:e.user?.id,visitorId:zi(e)}}function Wi(e){return{content:e.content,createdAt:new Date(e.createdAt),id:e.id,role:e.role,status:e.role===`assistant`?{reason:`stop`,type:`complete`}:void 0}}function Gi({client:n,options:r}){let a=new Set,o=new Map,s={messages:[],phase:Z.IDLE};function c(){for(let e of a)e(s)}function u(t,n=s.completion){t.status!==e.ACTIVE&&Li(r),s={completion:n,messages:t.messages.map(Wi),phase:t.status===e.ACTIVE?Z.ACTIVE:Z.TERMINAL,sessionId:t.sessionId,status:t.status},c()}return{async chooseInvitation(e,t){await n.chooseInvitation(e,{choice:t})},async discoverInvitation(){if(!Vi(r))return null;let e=await n.checkEligibility({appId:r.app_id,locale:r.locale,pageContext:r.context??{},userContext:Ui(r),visitorId:zi(r)});if(!e.eligible||e.status&&e.status!==t.AVAILABLE||!e.campaignId||!e.showRequestId||!e.invitation)return null;let i=e.invitation,a=await n.createInvitation({appId:r.app_id,campaignId:e.campaignId,context:r.context??{},showRequestId:e.showRequestId,userContext:Ui(r),variantKey:e.variantKey,visitorId:zi(r)}),s={id:`interview/invite/${e.campaignId}`,kind:`interview`,priority:20,prompt:{anchor:`dock`,body:i.body,campaignId:e.campaignId,closeLabel:`No`,invitationId:a.invitationId,kind:`interview-invite`,laterLabel:i.laterCta,startLabel:i.startCta},status:l.INVITABLE,title:i.title};return o.set(a.invitationId,{priority:s.priority??20,title:s.title}),s},getState(){return s},hydrateSession(e){u(e)},async loadReward(e){let t=await n.getReward(e);return s={...s,reward:t},c(),t},async sendMessage(t){if(!s.sessionId)throw Error(`Cannot send an interview message before the session starts.`);let i=s.sessionId,a=Ri(`interview-message`),o=new Date;s={...s,messages:[...s.messages,{content:t,createdAt:o,id:a,role:`user`}],phase:Z.SENDING},c();let l=await n.sendMessage(i,{clientMessageId:a,content:t,locale:r.locale});s={...s,completion:l.completion,messages:[...s.messages,{content:l.assistantMessage,createdAt:new Date,id:Ri(`interview-assistant`),role:`assistant`,status:{reason:`stop`,type:`complete`}}],phase:l.sessionStatus===e.ACTIVE?Z.ACTIVE:Z.TERMINAL,status:l.sessionStatus},c(),l.sessionStatus!==e.ACTIVE&&Li(r),l.sessionStatus!==e.ACTIVE&&u(await n.getSession(i),l.completion)},async startInvitation(t){s={...s,phase:Z.LOADING};let a=await n.startInvitation(t,i(r)),c=`interview/session/${a.sessionId}`,l=o.get(t);return u(a),a.status===e.ACTIVE&&Ii(r,{entryId:c,priority:l?.priority??20,sessionId:a.sessionId,title:Hi(r)}),{entryId:c,sessionId:a.sessionId}},async restoreCachedSession(){let t=Fi(r);if(!t)return null;s={...s,phase:Z.LOADING},c();try{let i=await n.getSession(t.sessionId);return i.status===e.ACTIVE?(u(i),{id:t.entryId,kind:`interview`,priority:t.priority,status:l.ACTIVE,title:t.title}):(Li(r),s={messages:[],phase:Z.IDLE},c(),null)}catch{return Li(r),s={messages:[],phase:Z.IDLE},c(),null}},subscribe(e){return a.add(e),()=>{a.delete(e)}}}}function Ki(e){return typeof e==`string`&&e.trim()?e.trim():null}function qi(){try{return Intl.DateTimeFormat().resolvedOptions().timeZone||`UTC`}catch{return`UTC`}}function Ji(e,t,n,r){try{return new Intl.DateTimeFormat(t,{hour:`2-digit`,minute:`2-digit`,timeZone:n,timeZoneName:r}).formatToParts(e).find(e=>e.type===`timeZoneName`)?.value??null}catch{return null}}function Yi(e){let t=-e.getTimezoneOffset(),n=t>=0?`+`:`-`,r=Math.abs(t);return`GMT${n}${String(Math.floor(r/60)).padStart(2,`0`)}${String(r%60).padStart(2,`0`)}`}function Xi(e,t){if(!e||e===`UTC`)return e===`UTC`?`GMT+0000`:Yi(t);let n=/^GMT([+-])(\d{1,2})(?::?(\d{2}))?$/.exec(e);return n?`GMT${n[1]}${n[2].padStart(2,`0`)}${(n[3]??`00`).padStart(2,`0`)}`:Yi(t)}function Zi(e,t,n){return`${new Intl.DateTimeFormat(t,{day:`2-digit`,hour:`2-digit`,hour12:!0,minute:`2-digit`,month:`long`,timeZone:n,year:`numeric`}).format(e)} ${n} time ${Ji(e,t,n,`short`)??n} (${Xi(Ji(e,t,n,`longOffset`),e)})`}function Qi(e,t,n){return new Intl.DateTimeFormat(t,{hour:`2-digit`,hour12:!0,minute:`2-digit`,timeZone:n}).format(e)}function $i(e,t,n){return new Intl.DateTimeFormat(t,{day:`numeric`,month:`long`,timeZone:n,year:`numeric`}).format(e)}function ea(e,t,n){return new Intl.DateTimeFormat(t,{day:`2-digit`,month:`2-digit`,timeZone:n,year:`numeric`}).format(e)}function ta(e){return Ki(e?.user?.email)??Ki(e?.user?.name)??`You`}function na({conversationName:e,exportedAt:t,exportSourceName:n=e,locale:r,messages:i,startedAt:a,userSpeaker:o=`You`}){let s=i.map(e=>({...e,text:e.text.trim()})).filter(e=>e.text),c=qi(),l=a??s[0]?.createdAt??t,u=new Set(s.map(e=>ea(e.createdAt,r,c))).size>1,d=[`Conversation with ${e}`,`Started on ${Zi(l,r,c)}`,``,`---`,``],f=null;for(let t of s){let n=ea(t.createdAt,r,c),i=t.speaker??(t.role===`user`?o:e);u&&n!==f&&(d.push($i(t.createdAt,r,c)),d.push(``),f=n),d.push(`${Qi(t.createdAt,r,c)} | ${i}: ${t.text}`),d.push(``)}return d.push(`---`),d.push(`Exported from ${n} on ${Zi(t,r,c)}`),d.join(`
2
2
  `)}var ra=``+new URL(`../assets/emoji/en-emojibase-data.json`,import.meta.url).href,Q=Object.freeze({ERROR:`error`,IDLE:`idle`,LOADING:`loading`,READY:`ready`}),ia=null,aa=`https://cdn.jsdelivr.net/npm/emoji-picker-element-data@^1/en/emojibase/data.json`;function oa(e,t){try{let n=new URL(e,t);return n.protocol===`file:`?aa:n.toString()}catch{return aa}}function sa(e,t){return e||t}function ca({bundledDataSourceUrl:e,isDev:t,moduleUrl:n,pageUrl:r,sdkFormat:i}){if(e)return oa(e,r);let a=sa(n,r);return oa(t?`../../node_modules/emoji-picker-element-data/en/emojibase/data.json`:i===`iife`?`assets/emoji/en-emojibase-data.json`:`../assets/emoji/en-emojibase-data.json`,a)}async function la(){return{dataSource:ca({bundledDataSourceUrl:ra,isDev:!1,moduleUrl:import.meta.url,pageUrl:window.location.href,sdkFormat:`es`}),locale:`en`}}function ua(){return ia??=Promise.all([import(`./emoji-picker-element-H87_ifwm.js`),la()]).then(([{Picker:e},t])=>({Picker:e,pickerOptions:t})).catch(e=>{throw ia=null,e}),ia}function da(e){if(!e)return;let t=e.value.length;e.focus(),e.setSelectionRange(t,t)}function fa({composerRuntime:e,inputRef:t,shouldSuppressComposerFocus:n=!1}){let r=(0,F.useRef)(e),i=(0,F.useRef)(t),a=(0,F.useRef)(n),[o,s]=(0,F.useState)(!1),[c,l]=(0,F.useState)(Q.IDLE),[u,d]=(0,F.useState)(null);return r.current=e,i.current=t,a.current=n,(0,F.useEffect)(()=>{ua().catch(e=>{console.error(`CustomerAgent emoji picker failed to preload.`,e)})},[]),(0,F.useEffect)(()=>{if(!o||!u)return;let e=!1,t=null,n=null;return l(Q.LOADING),u.replaceChildren(),ua().then(({Picker:o,pickerOptions:c})=>{if(e)return;t=new o(c);let d=document.createElement(`style`);t.className=`light`,t.style.width=`100%`,t.style.height=`304px`,t.style.setProperty(`--background`,`var(--bg-elevated)`),t.style.setProperty(`--border-color`,`transparent`),t.style.setProperty(`--border-radius`,`var(--radius-14)`),t.style.setProperty(`--border-size`,`0`),t.style.setProperty(`--button-hover-background`,`var(--gray-3)`),t.style.setProperty(`--button-active-background`,`var(--gray-5)`),t.style.setProperty(`--category-emoji-padding`,`0.35rem`),t.style.setProperty(`--category-emoji-size`,`1.15rem`),t.style.setProperty(`--category-font-color`,`var(--text-tertiary)`),t.style.setProperty(`--category-font-size`,`0.72rem`),t.style.setProperty(`--emoji-padding`,`0.34rem`),t.style.setProperty(`--emoji-size`,`1.28rem`),t.style.setProperty(`--indicator-color`,`var(--customer-agent-primary)`),t.style.setProperty(`--indicator-height`,`3px`),t.style.setProperty(`--input-border-color`,`var(--gray-5)`),t.style.setProperty(`--input-border-radius`,`var(--radius-md)`),t.style.setProperty(`--input-font-size`,`0.92rem`),t.style.setProperty(`--input-font-color`,`var(--text-primary)`),t.style.setProperty(`--input-line-height`,`1.35`),t.style.setProperty(`--input-padding`,`0.55rem 0.7rem`),t.style.setProperty(`--input-placeholder-color`,`var(--text-tertiary)`),t.style.setProperty(`--num-columns`,`8`),t.style.setProperty(`--outline-color`,`var(--customer-agent-primary)`),t.style.setProperty(`--outline-size`,`2px`),d.textContent=`
3
3
  :host {
4
4
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
@@ -0,0 +1 @@
1
+ var e=`0.5.8-test.cec4b9ac207b`;function t(){typeof window>`u`||(window.__customerAgentVersion=e)}var n=Object.freeze({BUG_REPORTED:`support.bug_reported`,CONVERSATION_CREATED:`conversation.created`,ERROR:`error`,FEEDBACK_SUBMITTED:`support.feedback_submitted`,HANDOFF_REQUESTED:`support.handoff_requested`,INTERVIEW_INVITATION_CLOSED:`interview.invitation_closed`,INTERVIEW_INVITATION_LATER:`interview.invitation_later`,INTERVIEW_INVITATION_SHOWN:`interview.invitation_shown`,INTERVIEW_AVAILABLE:`interview.available`,INTERVIEW_REWARD_UPDATED:`interview.reward_updated`,INTERVIEW_STATE_CHANGED:`interview.state_changed`,INTERVIEW_SESSION_COMPLETED:`interview.session_completed`,INTERVIEW_SESSION_STARTED:`interview.session_started`,MESSAGE_COMPLETED:`message.completed`,MESSAGE_FAILED:`message.failed`,MESSAGE_RETRY:`message.retry`,MESSAGE_SEND_FAILED:`message.send_failed`,MESSAGE_SENT:`message.sent`,MESSAGE_STARTED:`message.started`,SUPPORT_STATE_CHANGED:`support.state_changed`,TRANSCRIPT_DOWNLOADED:`transcript.downloaded`,WIDGET_CLOSED:`widget.closed`,WIDGET_COLLAPSED:`widget.collapsed`,WIDGET_EXPANDED:`widget.expanded`,WIDGET_OPENED:`widget.opened`,WIDGET_READY:`widget.ready`});export{t as n,n as t};
@@ -1 +1 @@
1
- import{n as e}from"./constants-CaCwMTk0.js";var t=Symbol.for(`@customer-agent/sdk.controller`),n=`__customerAgentRuntime`;e();function r(){let e=globalThis;return e[t]??={loaderState:`idle`,pendingTasks:[],runtime:null,runtimePromise:null},e[t]}function i(e){let t=e.CustomerAgent??e.default;if(typeof t!=`function`)throw Error(`CustomerAgent widget runtime module did not export CustomerAgent.`);return Object.assign(t,{[n]:!0})}function a(){let e=r();if(!e.runtime)return;let t=e.pendingTasks.splice(0);for(let n of t)n(e.runtime)}async function o(){let e=r();return e.loaderState===`ready`&&e.runtime?e.runtime:e.loaderState===`loading`&&e.runtimePromise?await e.runtimePromise:(e.loaderState=`loading`,e.runtimePromise=import(`../runtime.es.js`).then(t=>(e.runtime=i(t),e.loaderState=`ready`,a(),e.runtime)).catch(t=>{throw e.loaderState=`failed`,e.runtimePromise=null,console.error(`CustomerAgent widget runtime failed to load.`,t),t}),await e.runtimePromise)}function s(e){let t=r();if(t.runtime){e(t.runtime);return}t.pendingTasks.push(e),o().catch(()=>{})}function c(e,t){s(n=>{let r=n[e];typeof r==`function`&&r(...t)})}function l(e){return s(t=>{t(`boot`,e)}),A}async function u(){return await(await o()).ensureInvitation()}async function d(e){return await(await o()).startInvitation(e)}async function f(){return await(await o()).startInterview()}async function p(e,t){await(await o()).chooseInvitation(e,t)}async function m(e){await(await o()).sendInterviewMessage(e)}async function h(e){return await(await o()).loadInterviewReward(e)}function g(e){c(`update`,[e])}function _(e){c(`show`,[e])}function v(){c(`hide`,[])}function y(e){c(`toggle`,[e])}function b(e){c(`openEntry`,[e])}function x(){c(`shutdown`,[])}function S(e){c(`identify`,[e])}function C(e,t){c(`setContext`,[e,t])}async function w(){return await(await o()).getSession()}function T(){return r().runtime?.getSupportState()??null}function E(){return r().runtime?.getInterviewState()??null}function D(){return r().runtime?.getInterviewSession()??null}function O(){return r().runtime?.getState()??null}function k(e,t){let n=!0,r=()=>{};return s(i=>{n&&(r=i.on(e,t))}),()=>{n=!1,r()}}var A={chooseInvitation:p,async ensureInvitation(){let e=await u();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewState(){let e=E();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewSession(){return D()},async getSession(){let e=await w();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getState(){let e=O();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getSupportState(){let e=T();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},hide:v,identify:S,on:k,openEntry:b,loadInterviewReward:h,sendInterviewMessage:m,setContext:C,show:_,shutdown:x,async startInterview(){let e=await f();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},async startInvitation(e){let t=await d(e);if(!t)throw Error(`CustomerAgent widget is not initialized.`);return t},toggle:y,update:g};function j(e,...t){switch(e){case`boot`:return l(t[0]);case`chooseInvitation`:return p(t[0],t[1]);case`ensureInvitation`:return u();case`getSession`:return w();case`getState`:return O();case`getSupportState`:return T();case`getInterviewState`:return E();case`getInterviewSession`:return D();case`hide`:return v();case`identify`:return S(t[0]);case`on`:return k(t[0],t[1]);case`openEntry`:return b(t[0]);case`loadInterviewReward`:return h(t[0]);case`sendInterviewMessage`:return m(t[0]);case`setContext`:return C(t[0],t[1]);case`show`:return _(t[0]);case`shutdown`:return x();case`startInvitation`:return d(t[0]);case`startInterview`:return f();case`toggle`:return y(t[0]);case`update`:return g(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var M=Object.assign(j,{boot:l,chooseInvitation:p,ensureInvitation:u,getInterviewState:E,getInterviewSession:D,getSession:w,getState:O,getSupportState:T,hide:v,identify:S,on:k,openEntry:b,loadInterviewReward:h,sendInterviewMessage:m,setContext:C,show:_,shutdown:x,startInterview:f,startInvitation:d,toggle:y,update:g});export{g as S,_,D as a,d as b,O as c,S as d,h as f,C as g,m as h,u as i,T as l,b as m,l as n,E as o,k as p,p as r,w as s,M as t,v as u,x as v,y as x,f as y};
1
+ import{n as e}from"./constants-CNcksVbZ.js";var t=Symbol.for(`@customer-agent/sdk.controller`),n=`__customerAgentRuntime`;e();function r(){let e=globalThis;return e[t]??={loaderState:`idle`,pendingTasks:[],runtime:null,runtimePromise:null},e[t]}function i(e){let t=e.CustomerAgent??e.default;if(typeof t!=`function`)throw Error(`CustomerAgent widget runtime module did not export CustomerAgent.`);return Object.assign(t,{[n]:!0})}function a(){let e=r();if(!e.runtime)return;let t=e.pendingTasks.splice(0);for(let n of t)n(e.runtime)}async function o(){let e=r();return e.loaderState===`ready`&&e.runtime?e.runtime:e.loaderState===`loading`&&e.runtimePromise?await e.runtimePromise:(e.loaderState=`loading`,e.runtimePromise=import(`../runtime.es.js`).then(t=>(e.runtime=i(t),e.loaderState=`ready`,a(),e.runtime)).catch(t=>{throw e.loaderState=`failed`,e.runtimePromise=null,console.error(`CustomerAgent widget runtime failed to load.`,t),t}),await e.runtimePromise)}function s(e){let t=r();if(t.runtime){e(t.runtime);return}t.pendingTasks.push(e),o().catch(()=>{})}function c(e,t){s(n=>{let r=n[e];typeof r==`function`&&r(...t)})}function l(e){return s(t=>{t(`boot`,e)}),A}async function u(){return await(await o()).ensureInvitation()}async function d(e){return await(await o()).startInvitation(e)}async function f(){return await(await o()).startInterview()}async function p(e,t){await(await o()).chooseInvitation(e,t)}async function m(e){await(await o()).sendInterviewMessage(e)}async function h(e){return await(await o()).loadInterviewReward(e)}function g(e){c(`update`,[e])}function _(e){c(`show`,[e])}function v(){c(`hide`,[])}function y(e){c(`toggle`,[e])}function b(e){c(`openEntry`,[e])}function x(){c(`shutdown`,[])}function S(e){c(`identify`,[e])}function C(e,t){c(`setContext`,[e,t])}async function w(){return await(await o()).getSession()}function T(){return r().runtime?.getSupportState()??null}function E(){return r().runtime?.getInterviewState()??null}function D(){return r().runtime?.getInterviewSession()??null}function O(){return r().runtime?.getState()??null}function k(e,t){let n=!0,r=()=>{};return s(i=>{n&&(r=i.on(e,t))}),()=>{n=!1,r()}}var A={chooseInvitation:p,async ensureInvitation(){let e=await u();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewState(){let e=E();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getInterviewSession(){return D()},async getSession(){let e=await w();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getState(){let e=O();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},getSupportState(){let e=T();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},hide:v,identify:S,on:k,openEntry:b,loadInterviewReward:h,sendInterviewMessage:m,setContext:C,show:_,shutdown:x,async startInterview(){let e=await f();if(!e)throw Error(`CustomerAgent widget is not initialized.`);return e},async startInvitation(e){let t=await d(e);if(!t)throw Error(`CustomerAgent widget is not initialized.`);return t},toggle:y,update:g};function j(e,...t){switch(e){case`boot`:return l(t[0]);case`chooseInvitation`:return p(t[0],t[1]);case`ensureInvitation`:return u();case`getSession`:return w();case`getState`:return O();case`getSupportState`:return T();case`getInterviewState`:return E();case`getInterviewSession`:return D();case`hide`:return v();case`identify`:return S(t[0]);case`on`:return k(t[0],t[1]);case`openEntry`:return b(t[0]);case`loadInterviewReward`:return h(t[0]);case`sendInterviewMessage`:return m(t[0]);case`setContext`:return C(t[0],t[1]);case`show`:return _(t[0]);case`shutdown`:return x();case`startInvitation`:return d(t[0]);case`startInterview`:return f();case`toggle`:return y(t[0]);case`update`:return g(t[0]);default:throw Error(`CustomerAgent received an unknown command: ${String(e)}.`)}}var M=Object.assign(j,{boot:l,chooseInvitation:p,ensureInvitation:u,getInterviewState:E,getInterviewSession:D,getSession:w,getState:O,getSupportState:T,hide:v,identify:S,on:k,openEntry:b,loadInterviewReward:h,sendInterviewMessage:m,setContext:C,show:_,shutdown:x,startInterview:f,startInvitation:d,toggle:y,update:g});export{g as S,_,D as a,d as b,O as c,S as d,h as f,C as g,m as h,u as i,T as l,b as m,l as n,E as o,k as p,p as r,w as s,M as t,v as u,x as v,y as x,f as y};