@mcp-b/embedded-agent 0.0.2 → 0.0.3

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,6 +1,6 @@
1
- var WebMCPAgent=(function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T){var E=Object.create,D=Object.defineProperty,O=Object.getOwnPropertyDescriptor,k=Object.getOwnPropertyNames,A=Object.getPrototypeOf,j=Object.prototype.hasOwnProperty,M=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=k(t),a=0,o=i.length,s;a<o;a++)s=i[a],!j.call(e,s)&&s!==n&&D(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=O(t,s))||r.enumerable});return e},N=(e,t,n)=>(n=e==null?{}:E(A(e)),M(t||!e||!e.__esModule?D(n,`default`,{value:e,enumerable:!0}):n,e));i=N(i),o=N(o),l=N(l),m=N(m),h=N(h),g=N(g),b=N(b);function P(...e){return(0,d.twMerge)((0,u.clsx)(e))}typeof window<`u`&&window.__WEBMCP_DEBUG__;function F(e,t,n){typeof window<`u`&&window.__WEBMCP_DEBUG__===!0&&(n===void 0?console.log(`[${e}] ${t}`):console.log(`[${e}] ${t}`,n))}var I=class{audioContext=null;analyser=null;source=null;dataArray=null;animationId=null;async initialize(e){let t=e.getAudioTracks();F(`AudioAnalyzer`,`Initializing with stream`,{streamId:e.id,audioTracks:t.length,trackInfo:t.map(e=>({id:e.id,label:e.label,enabled:e.enabled,muted:e.muted,readyState:e.readyState}))}),this.audioContext=new AudioContext,F(`AudioAnalyzer`,`AudioContext created, initial state: ${this.audioContext.state}`);try{await this.audioContext.resume(),F(`AudioAnalyzer`,`AudioContext after resume: ${this.audioContext.state}`)}catch(e){console.warn(`[AudioAnalyzer] Failed to resume AudioContext:`,e)}this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8,this.source=this.audioContext.createMediaStreamSource(e),this.source.connect(this.analyser);let n=this.analyser.frequencyBinCount;this.dataArray=new Uint8Array(new ArrayBuffer(n)),F(`AudioAnalyzer`,`Setup complete`,{sampleRate:this.audioContext.sampleRate,frequencyBinCount:n,contextState:this.audioContext.state})}getAudioLevel(){if(!this.analyser||!this.dataArray)return 0;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];let t=e/this.dataArray.length;return Math.min(1,t/128)}getFrequencyData(e=16){if(!this.analyser||!this.dataArray)return Array(e).fill(0);this.analyser.getByteFrequencyData(this.dataArray);let t=[],n=Math.floor(this.dataArray.length/e);for(let r=0;r<e;r++){let e=0;for(let t=0;t<n;t++)e+=this.dataArray[r*n+t];t.push(Math.min(1,e/n/255))}return t}startAnalysis(e){let t=()=>{e(this.getAudioLevel(),this.getFrequencyData()),this.animationId=requestAnimationFrame(t)};t()}stopAnalysis(){this.animationId!==null&&(cancelAnimationFrame(this.animationId),this.animationId=null)}destroy(){this.stopAnalysis(),this.source&&=(this.source.disconnect(),null),this.analyser&&=(this.analyser.disconnect(),null),this.audioContext&&=(this.audioContext.close(),null),this.dataArray=null}},L=class{listeners=new Map;on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set);let n=this.listeners.get(e);n&&n.add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(e,t){this.listeners.get(e)?.forEach(n=>{try{n(t)}catch(t){console.error(`Error in event listener for ${e}:`,t)}})}removeAllListeners(e){e?this.listeners.delete(e):this.listeners.clear()}listenerCount(e){return this.listeners.get(e)?.size||0}};function R(e){return e.type===`function_call`&&e.status===`completed`&&typeof e.name==`string`&&typeof e.call_id==`string`}var z=class{isProcessingResponse=!1;pendingFunctionCalls=new Set;responseRequestTimer=null;hasRequestedResponse=!1;constructor(e,t){this.toolManager=e,this.eventEmitter=t}async handleMessage(e,t){let n;try{n=JSON.parse(e)}catch(e){console.error(`Failed to parse realtime message:`,e);return}switch(n.type){case`response.created`:this.handleResponseCreated(n);break;case`response.done`:await this.handleResponseDone(n,t);break;case`response.function_call_arguments.done`:this.handleFunctionCallArguments();break;case`input_audio_buffer.speech_started`:case`input_audio_buffer.speech_stopped`:this.handleSpeechEvents(n);break;case`response.output_audio.delta`:case`response.output_audio.done`:this.handleAudioEvents(n);break;case`response.output_audio_transcript.delta`:case`response.output_audio_transcript.done`:case`response.output_text.delta`:case`response.output_text.done`:this.handleTranscriptEvents(n);break;case`conversation.item.input_audio_transcription.completed`:this.handleUserTranscript(n);break;case`error`:this.handleError(n);break;case`session.created`:case`session.updated`:this.handleSessionEvents(n);break;case`conversation.item.created`:case`input_audio_buffer.committed`:break}}handleResponseCreated(e){this.isProcessingResponse=!0,this.hasRequestedResponse=!1}async handleResponseDone(e,t){let n=this.extractResponseOutput(e.response);if(n.some(R)||(this.isProcessingResponse=!1,this.hasRequestedResponse=!1),n.length>0){let e=n.filter(R).map(e=>({name:e.name,call_id:e.call_id,arguments:e.arguments??``}));for(let n of e)this.pendingFunctionCalls.has(n.call_id)?console.warn(`[MessageHandler] Skipping duplicate function call: ${n.name} (${n.call_id})`):(this.pendingFunctionCalls.add(n.call_id),await this.executeFunctionCall(n,t));e.length>0&&this.pendingFunctionCalls.size===0&&this.requestResponseIfNeeded(t)}}extractResponseOutput(e){if(!e||typeof e!=`object`)return[];let t=e;return Array.isArray(t.output)?t.output.filter(e=>typeof e==`object`&&!!e&&typeof e.type==`string`):[]}handleFunctionCallArguments(){}handleSpeechEvents(e){let t=e.type===`input_audio_buffer.speech_started`?`speech_started`:`speech_stopped`;this.eventEmitter.emit(t,e)}handleAudioEvents(e){let t=e.type===`response.output_audio.delta`?`audio_started`:`audio_stopped`;console.log(`[MessageHandler] Assistant ${t}`,{type:e.type,hasAudio:!!e.delta}),this.eventEmitter.emit(t,e)}handleTranscriptEvents(e){let t={"response.output_audio_transcript.delta":`assistant_transcript`,"response.output_audio_transcript.done":`assistant_transcript_done`,"response.output_text.delta":`text`,"response.output_text.done":`text_done`}[e.type];t&&this.eventEmitter.emit(t,e)}handleUserTranscript(e){this.eventEmitter.emit(`user_transcript_done`,{text:e.transcript})}handleSessionEvents(e){}handleError(e){console.error(`Realtime API error:`,e),this.eventEmitter.emit(`error`,e),this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null)}async executeFunctionCall(e,t){let{name:n,call_id:r}=e;try{this.eventEmitter.emit(`tool_call_started`,{name:n});let i=await this.toolManager.executeToolCall(e);if(t.readyState!==`open`){console.error(`[MessageHandler] Cannot send tool result for ${n}: DataChannel is ${t.readyState}`),this.eventEmitter.emit(`tool_call_completed`,{name:n,error:`DataChannel closed during tool execution`});return}let a={type:`conversation.item.create`,item:{type:`function_call_output`,call_id:r,output:JSON.stringify(i.success?i.data:{error:i.error,success:!1})}};t.send(JSON.stringify(a)),this.eventEmitter.emit(`tool_call_completed`,{name:n,error:i.success?void 0:i.error})}catch(e){console.error(`[MessageHandler] Tool execution failed for ${n}:`,e),this.sendToolError(r,String(e),t)}finally{this.pendingFunctionCalls.delete(r),this.pendingFunctionCalls.size===0&&(this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.requestResponseIfNeeded(t))}}sendToolError(e,t,n){if(n.readyState!==`open`){console.error(`[MessageHandler] Cannot send tool error: DataChannel is ${n.readyState}`);return}let r={type:`conversation.item.create`,item:{type:`function_call_output`,call_id:e,output:JSON.stringify({error:t,success:!1})}};n.send(JSON.stringify(r))}requestResponseIfNeeded(e){this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null),this.responseRequestTimer=setTimeout(()=>{!this.isProcessingResponse&&!this.hasRequestedResponse&&e.readyState===`open`&&this.pendingFunctionCalls.size===0&&(this.hasRequestedResponse=!0,this.isProcessingResponse=!0,e.send(JSON.stringify({type:`response.create`}))),this.responseRequestTimer=null},150)}reset(){this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.pendingFunctionCalls.clear(),this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null)}},B=class{tools=[];executor=null;lastSentToolSignature=``;setTools(e){this.tools=e}setExecutor(e){this.executor=e}resetSession(){console.log(`[ToolManager] resetSession called (lastSentToolSignature preserved)`)}getToolSignature(e){return e.map(e=>e.name).sort().join(`|`)}hasToolsChanged(){return this.getToolSignature(this.tools)!==this.lastSentToolSignature}markToolsSent(){this.lastSentToolSignature=this.getToolSignature(this.tools)}formatToolsForOpenAI(){let e=[{type:`function`,name:`list_available_tools`,description:`List all currently available tools that can be called. Use this when you need to know what tools are available or when the user asks about available capabilities.`,parameters:{type:`object`,properties:{},required:[]}}],t=this.tools.map(e=>({type:`function`,name:e.name,description:e.description||`Execute ${e.name} action`,parameters:this.validateToolSchema(e.inputSchema)}));return[...e,...t]}validateToolSchema(e){if(!e)return{type:`object`,properties:{},required:[]};let t={type:`object`,...e};return t.type===`object`&&(t.properties=t.properties||{},!t.required&&t.properties&&(t.required=Object.entries(t.properties).filter(([,e])=>{if(e&&typeof e==`object`){let t=e;return!t.optional&&!t.nullable&&t.type!==`null`}return!1}).map(([e])=>e))),t}async executeToolCall(e){let{name:t,arguments:n}=e;if(t===`list_available_tools`)return this.executeListTools();if(!this.executor)return{success:!1,error:`Tool executor not configured`};if(!this.tools.find(e=>e.name===t))return console.error(`[ToolManager] Tool not found: ${t}`),{success:!1,error:`Tool not found: ${t}`};let r;try{r=n?JSON.parse(n):{}}catch(e){return console.error(`[ToolManager] Failed to parse arguments:`,e),{success:!1,error:`Invalid arguments format`}}try{return{success:!0,data:await this.executor(t,r)}}catch(e){return console.error(`[ToolManager] Tool execution error for ${t}:`,e),{success:!1,error:String(e)}}}executeListTools(){let e=this.tools.map(e=>({name:e.name,description:e.description||`No description available`,parameters:e.inputSchema||{}}));return{success:!0,data:{tools:e,count:e.length,message:e.length>0?`Found ${e.length} available tools`:`No tools currently available`}}}getChangesSummary(){if(!this.hasToolsChanged())return null;let e=this.lastSentToolSignature.split(`|`).filter(Boolean),t=this.tools.map(e=>e.name),n=new Set(e),r=new Set(t);return{added:t.filter(e=>!n.has(e)),removed:e.filter(e=>!r.has(e)),total:this.tools.length}}};function V(e){return!e||typeof e!=`object`?!1:typeof e.client_secret?.value==`string`}var H=class{tokenEndpoint;constructor(e){this.tokenEndpoint=e}async createSession(e={}){let t=e.model||`gpt-4o-realtime-preview-2024-12-17`,n=e.voice||`verse`,r=e.apiUrl||`https://api.openai.com/v1/realtime`,i=await this.getEphemeralToken(t,n),a=new RTCPeerConnection,o=this.createAudioElement(),s=null;a.ontrack=e=>{s=e.streams[0],o.srcObject=s,F(`WebRTC`,`Remote audio stream received and connected to audio element`,{streamId:s.id,tracks:s.getTracks().length})};let c=await this.getUserMedia();F(`WebRTC`,`Local microphone stream acquired`,{streamId:c.id,tracks:c.getTracks().map(e=>({kind:e.kind,enabled:e.enabled,muted:e.muted,readyState:e.readyState}))}),c.getTracks().forEach(e=>{a.addTrack(e,c)});let l=a.createDataChannel(`oai-events`),u=await a.createOffer();if(await a.setLocalDescription(u),!u.sdp)throw Error(`Failed to create offer SDP`);let d=await this.connectToOpenAI(r,t,u.sdp,i);return await a.setRemoteDescription(d),{pc:a,dataChannel:l,audioElement:o,localStream:c,remoteStream:s,cleanup:()=>{c.getTracks().forEach(e=>{e.stop()}),o.remove(),l.close(),a.close()}}}async getEphemeralToken(e,t){let n=await fetch(this.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({model:e,voice:t})});if(!n.ok){let e=await n.text();throw console.error(`Failed to get ephemeral token:`,e),Error(`Failed to get ephemeral token: ${n.statusText}`)}let r=await n.json();if(!V(r))throw Error(`Invalid token response format`);return r.client_secret.value}createAudioElement(){let e=document.createElement(`audio`);return e.autoplay=!0,e.style.display=`none`,document.body.appendChild(e),e}async getUserMedia(){try{return await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(e){throw Error(`Failed to access microphone: ${e}`)}}async connectToOpenAI(e,t,n,r){let i=await fetch(`${e}?model=${t}`,{method:`POST`,body:n,headers:{Authorization:`Bearer ${r}`,"Content-Type":`application/sdp`}});if(!i.ok)throw Error(`Failed to establish WebRTC connection: ${i.statusText}`);return{type:`answer`,sdp:await i.text()}}};let U=Object.freeze(Array(32).fill(0)),W=()=>[...U];var ee=class{session=null;webrtcManager;toolManager;messageHandler;eventEmitter;muted=!1;lastState=`disconnected`;localAnalyzer=null;remoteAnalyzer=null;visualizationInterval=null;sessionStartTime=null;onToolsChangedCallback=null;constructor(e){this.webrtcManager=new H(e),this.toolManager=new B,this.eventEmitter=new L,this.messageHandler=new z(this.toolManager,this.eventEmitter)}setTools(e){this.toolManager.setTools(e),this.isSessionActive()&&this.updateSessionTools()}setToolExecutor(e){this.toolManager.setExecutor(e)}onToolsChanged(e){this.onToolsChangedCallback=e}async startSession(e={}){try{this.session&&this.stopSession(),this.muted=!1,this.sessionStartTime=Date.now(),this.emitSessionState(`connecting`),this.session=await this.webrtcManager.createSession(e),this.setupDataChannel(this.session.dataChannel),this.setupPeerConnectionMonitoring(this.session.pc),this.session.localStream&&await this.initializeLocalAnalyzer(this.session.localStream),this.session.remoteStream&&this.initializeRemoteAnalyzer(this.session.remoteStream);let t=this.session.pc.ontrack,n=this.session;return this.session.pc.ontrack=e=>{t&&t.call(n.pc,e),this.session&&(this.session.remoteStream=e.streams[0]);let r=e.streams[0];if(!r){console.warn(`[OpenAIRealtimeService] Received ontrack event without stream`);return}this.initializeRemoteAnalyzer(r)},this.session}catch(e){throw this.handleSessionError(e),e}}stopSession(){let e=0;this.sessionStartTime&&(e=Math.floor((Date.now()-this.sessionStartTime)/1e3)),this.visualizationInterval&&=(clearInterval(this.visualizationInterval),null),this.localAnalyzer&&=(this.localAnalyzer.destroy(),null),this.remoteAnalyzer&&=(this.remoteAnalyzer.destroy(),null),this.session&&=(this.session.cleanup(),null),this.messageHandler.reset(),this.toolManager.resetSession(),this.muted=!1,this.emitSessionState(`disconnected`,{durationSeconds:e}),this.sessionStartTime=null}sendUserMessage(e){if(!this.isSessionActive())throw Error(`No active session`);let t={type:`conversation.item.create`,item:{type:`message`,role:`user`,content:[{type:`input_text`,text:e}]}};if(!this.session)throw Error(`Session is not active`);this.session.dataChannel.send(JSON.stringify(t)),this.session.dataChannel.send(JSON.stringify({type:`response.create`}))}isSessionActive(){return this.session!==null&&this.session.dataChannel.readyState===`open`}getLocalStream(){return this.session?.localStream||null}getRemoteStream(){return this.session?.remoteStream||null}toggleMute(e){this.session?.audioElement&&(this.session.audioElement.muted=e),this.muted=e,this.emitSessionState(this.lastState,{isMuted:this.muted})}on(e,t){this.eventEmitter.on(e,t)}off(e,t){this.eventEmitter.off(e,t)}getSessionStatus(){return{state:this.lastState,isActive:this.lastState===`connected`,isMuted:this.muted}}setupDataChannel(e){e.addEventListener(`open`,()=>{this.configureSession(e),this.muted=!1,this.emitSessionState(`connected`)}),e.addEventListener(`message`,t=>{(async()=>{try{await this.messageHandler.handleMessage(t.data,e)}catch(e){console.error(`Error handling message:`,e)}})()}),e.addEventListener(`error`,e=>{console.error(`DataChannel error:`,e),this.eventEmitter.emit(`error`,{type:`datachannel_error`,error:e})}),e.addEventListener(`close`,()=>{this.messageHandler.reset(),this.eventEmitter.emit(`session_closed`,{})})}setupPeerConnectionMonitoring(e){e.addEventListener(`connectionstatechange`,()=>{(e.connectionState===`failed`||e.connectionState===`disconnected`)&&(console.error(`Peer connection failed or disconnected`),this.messageHandler.reset(),this.eventEmitter.emit(`error`,{type:`connection_error`,message:`Connection ${e.connectionState}`}))}),e.addEventListener(`iceconnectionstatechange`,()=>{(e.iceConnectionState===`failed`||e.iceConnectionState===`disconnected`)&&console.error(`ICE connection failed or disconnected`)}),e.addEventListener(`signalingstatechange`,()=>{})}configureSession(e){this.toolManager.resetSession();let t=this.toolManager.formatToolsForOpenAI();this.toolManager.markToolsSent();let n={type:`session.update`,session:{modalities:[`text`,`audio`],instructions:this.getSessionInstructions(),voice:`verse`,tools:t,tool_choice:`auto`,turn_detection:{type:`server_vad`,threshold:.5,prefix_padding_ms:300,silence_duration_ms:500},input_audio_transcription:{model:`whisper-1`}}};e.send(JSON.stringify(n))}updateSessionTools(){if(!this.session){console.warn(`[OpenAIRealtimeService] Cannot update tools: no active session`);return}if(this.session.dataChannel.readyState!==`open`){console.warn(`[OpenAIRealtimeService] Cannot update tools: DataChannel is ${this.session.dataChannel.readyState}`);return}let e=this.toolManager.getChangesSummary();if(!e)return;let t=this.toolManager.formatToolsForOpenAI();console.log(`[OpenAIRealtimeService] Sending tool update to OpenAI:`,`${e.total} total tools,`,e.added.length>0?`+${e.added.length} added (${e.added.slice(0,3).join(`, `)}${e.added.length>3?`...`:``})`:``,e.removed.length>0?`-${e.removed.length} removed`:``),this.toolManager.markToolsSent();let n={type:`session.update`,session:{tools:t,tool_choice:`auto`}};this.session.dataChannel.send(JSON.stringify(n))}getSessionInstructions(){return`You are a helpful assistant with access to tools.
1
+ var WebMCPAgent=(function(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v,y,b,x,S,C,w,T,E){var D=Object.create,O=Object.defineProperty,k=Object.getOwnPropertyDescriptor,A=Object.getOwnPropertyNames,j=Object.getPrototypeOf,M=Object.prototype.hasOwnProperty,N=(e,t,n,r)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var i=A(t),a=0,o=i.length,s;a<o;a++)s=i[a],!M.call(e,s)&&s!==n&&O(e,s,{get:(e=>t[e]).bind(null,s),enumerable:!(r=k(t,s))||r.enumerable});return e},P=(e,t,n)=>(n=e==null?{}:D(j(e)),N(t||!e||!e.__esModule?O(n,`default`,{value:e,enumerable:!0}):n,e));i=P(i),o=P(o),l=P(l),m=P(m),h=P(h),g=P(g),b=P(b),E=P(E);function F(...e){return(0,d.twMerge)((0,u.clsx)(e))}typeof window<`u`&&window.__WEBMCP_DEBUG__;function I(e,t,n){typeof window<`u`&&window.__WEBMCP_DEBUG__===!0&&(n===void 0?console.log(`[${e}] ${t}`):console.log(`[${e}] ${t}`,n))}var L=class{audioContext=null;analyser=null;source=null;dataArray=null;animationId=null;async initialize(e){let t=e.getAudioTracks();I(`AudioAnalyzer`,`Initializing with stream`,{streamId:e.id,audioTracks:t.length,trackInfo:t.map(e=>({id:e.id,label:e.label,enabled:e.enabled,muted:e.muted,readyState:e.readyState}))}),this.audioContext=new AudioContext,I(`AudioAnalyzer`,`AudioContext created, initial state: ${this.audioContext.state}`);try{await this.audioContext.resume(),I(`AudioAnalyzer`,`AudioContext after resume: ${this.audioContext.state}`)}catch(e){console.warn(`[AudioAnalyzer] Failed to resume AudioContext:`,e)}this.analyser=this.audioContext.createAnalyser(),this.analyser.fftSize=256,this.analyser.smoothingTimeConstant=.8,this.source=this.audioContext.createMediaStreamSource(e),this.source.connect(this.analyser);let n=this.analyser.frequencyBinCount;this.dataArray=new Uint8Array(new ArrayBuffer(n)),I(`AudioAnalyzer`,`Setup complete`,{sampleRate:this.audioContext.sampleRate,frequencyBinCount:n,contextState:this.audioContext.state})}getAudioLevel(){if(!this.analyser||!this.dataArray)return 0;this.analyser.getByteFrequencyData(this.dataArray);let e=0;for(let t=0;t<this.dataArray.length;t++)e+=this.dataArray[t];let t=e/this.dataArray.length;return Math.min(1,t/128)}getFrequencyData(e=16){if(!this.analyser||!this.dataArray)return Array(e).fill(0);this.analyser.getByteFrequencyData(this.dataArray);let t=[],n=Math.floor(this.dataArray.length/e);for(let r=0;r<e;r++){let e=0;for(let t=0;t<n;t++)e+=this.dataArray[r*n+t];t.push(Math.min(1,e/n/255))}return t}startAnalysis(e){let t=()=>{e(this.getAudioLevel(),this.getFrequencyData()),this.animationId=requestAnimationFrame(t)};t()}stopAnalysis(){this.animationId!==null&&(cancelAnimationFrame(this.animationId),this.animationId=null)}destroy(){this.stopAnalysis(),this.source&&=(this.source.disconnect(),null),this.analyser&&=(this.analyser.disconnect(),null),this.audioContext&&=(this.audioContext.close(),null),this.dataArray=null}},R=class{listeners=new Map;on(e,t){this.listeners.has(e)||this.listeners.set(e,new Set);let n=this.listeners.get(e);n&&n.add(t)}off(e,t){this.listeners.get(e)?.delete(t)}emit(e,t){this.listeners.get(e)?.forEach(n=>{try{n(t)}catch(t){console.error(`Error in event listener for ${e}:`,t)}})}removeAllListeners(e){e?this.listeners.delete(e):this.listeners.clear()}listenerCount(e){return this.listeners.get(e)?.size||0}};function z(e){return e.type===`function_call`&&e.status===`completed`&&typeof e.name==`string`&&typeof e.call_id==`string`}var B=class{isProcessingResponse=!1;pendingFunctionCalls=new Set;responseRequestTimer=null;hasRequestedResponse=!1;constructor(e,t){this.toolManager=e,this.eventEmitter=t}async handleMessage(e,t){let n;try{n=JSON.parse(e)}catch(e){console.error(`Failed to parse realtime message:`,e);return}switch(n.type){case`response.created`:this.handleResponseCreated(n);break;case`response.done`:await this.handleResponseDone(n,t);break;case`response.function_call_arguments.done`:this.handleFunctionCallArguments();break;case`input_audio_buffer.speech_started`:case`input_audio_buffer.speech_stopped`:this.handleSpeechEvents(n);break;case`response.output_audio.delta`:case`response.output_audio.done`:this.handleAudioEvents(n);break;case`response.output_audio_transcript.delta`:case`response.output_audio_transcript.done`:case`response.output_text.delta`:case`response.output_text.done`:this.handleTranscriptEvents(n);break;case`conversation.item.input_audio_transcription.completed`:this.handleUserTranscript(n);break;case`error`:this.handleError(n);break;case`session.created`:case`session.updated`:this.handleSessionEvents(n);break;case`conversation.item.created`:case`input_audio_buffer.committed`:break}}handleResponseCreated(e){this.isProcessingResponse=!0,this.hasRequestedResponse=!1}async handleResponseDone(e,t){let n=this.extractResponseOutput(e.response);if(n.some(z)||(this.isProcessingResponse=!1,this.hasRequestedResponse=!1),n.length>0){let e=n.filter(z).map(e=>({name:e.name,call_id:e.call_id,arguments:e.arguments??``}));for(let n of e)this.pendingFunctionCalls.has(n.call_id)?console.warn(`[MessageHandler] Skipping duplicate function call: ${n.name} (${n.call_id})`):(this.pendingFunctionCalls.add(n.call_id),await this.executeFunctionCall(n,t));e.length>0&&this.pendingFunctionCalls.size===0&&this.requestResponseIfNeeded(t)}}extractResponseOutput(e){if(!e||typeof e!=`object`)return[];let t=e;return Array.isArray(t.output)?t.output.filter(e=>typeof e==`object`&&!!e&&typeof e.type==`string`):[]}handleFunctionCallArguments(){}handleSpeechEvents(e){let t=e.type===`input_audio_buffer.speech_started`?`speech_started`:`speech_stopped`;this.eventEmitter.emit(t,e)}handleAudioEvents(e){let t=e.type===`response.output_audio.delta`?`audio_started`:`audio_stopped`;console.log(`[MessageHandler] Assistant ${t}`,{type:e.type,hasAudio:!!e.delta}),this.eventEmitter.emit(t,e)}handleTranscriptEvents(e){let t={"response.output_audio_transcript.delta":`assistant_transcript`,"response.output_audio_transcript.done":`assistant_transcript_done`,"response.output_text.delta":`text`,"response.output_text.done":`text_done`}[e.type];t&&this.eventEmitter.emit(t,e)}handleUserTranscript(e){this.eventEmitter.emit(`user_transcript_done`,{text:e.transcript})}handleSessionEvents(e){}handleError(e){console.error(`Realtime API error:`,e),this.eventEmitter.emit(`error`,e),this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null)}async executeFunctionCall(e,t){let{name:n,call_id:r}=e;try{this.eventEmitter.emit(`tool_call_started`,{name:n});let i=await this.toolManager.executeToolCall(e);if(t.readyState!==`open`){console.error(`[MessageHandler] Cannot send tool result for ${n}: DataChannel is ${t.readyState}`),this.eventEmitter.emit(`tool_call_completed`,{name:n,error:`DataChannel closed during tool execution`});return}let a={type:`conversation.item.create`,item:{type:`function_call_output`,call_id:r,output:JSON.stringify(i.success?i.data:{error:i.error,success:!1})}};t.send(JSON.stringify(a)),this.eventEmitter.emit(`tool_call_completed`,{name:n,error:i.success?void 0:i.error})}catch(e){console.error(`[MessageHandler] Tool execution failed for ${n}:`,e),this.sendToolError(r,String(e),t)}finally{this.pendingFunctionCalls.delete(r),this.pendingFunctionCalls.size===0&&(this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.requestResponseIfNeeded(t))}}sendToolError(e,t,n){if(n.readyState!==`open`){console.error(`[MessageHandler] Cannot send tool error: DataChannel is ${n.readyState}`);return}let r={type:`conversation.item.create`,item:{type:`function_call_output`,call_id:e,output:JSON.stringify({error:t,success:!1})}};n.send(JSON.stringify(r))}requestResponseIfNeeded(e){this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null),this.responseRequestTimer=setTimeout(()=>{!this.isProcessingResponse&&!this.hasRequestedResponse&&e.readyState===`open`&&this.pendingFunctionCalls.size===0&&(this.hasRequestedResponse=!0,this.isProcessingResponse=!0,e.send(JSON.stringify({type:`response.create`}))),this.responseRequestTimer=null},150)}reset(){this.isProcessingResponse=!1,this.hasRequestedResponse=!1,this.pendingFunctionCalls.clear(),this.responseRequestTimer&&=(clearTimeout(this.responseRequestTimer),null)}},V=class{tools=[];executor=null;lastSentToolSignature=``;setTools(e){this.tools=e}setExecutor(e){this.executor=e}resetSession(){console.log(`[ToolManager] resetSession called (lastSentToolSignature preserved)`)}getToolSignature(e){return e.map(e=>e.name).sort().join(`|`)}hasToolsChanged(){return this.getToolSignature(this.tools)!==this.lastSentToolSignature}markToolsSent(){this.lastSentToolSignature=this.getToolSignature(this.tools)}formatToolsForOpenAI(){let e=[{type:`function`,name:`list_available_tools`,description:`List all currently available tools that can be called. Use this when you need to know what tools are available or when the user asks about available capabilities.`,parameters:{type:`object`,properties:{},required:[]}}],t=this.tools.map(e=>({type:`function`,name:e.name,description:e.description||`Execute ${e.name} action`,parameters:this.validateToolSchema(e.inputSchema)}));return[...e,...t]}validateToolSchema(e){if(!e)return{type:`object`,properties:{},required:[]};let t={type:`object`,...e};return t.type===`object`&&(t.properties=t.properties||{},!t.required&&t.properties&&(t.required=Object.entries(t.properties).filter(([,e])=>{if(e&&typeof e==`object`){let t=e;return!t.optional&&!t.nullable&&t.type!==`null`}return!1}).map(([e])=>e))),t}async executeToolCall(e){let{name:t,arguments:n}=e;if(t===`list_available_tools`)return this.executeListTools();if(!this.executor)return{success:!1,error:`Tool executor not configured`};if(!this.tools.find(e=>e.name===t))return console.error(`[ToolManager] Tool not found: ${t}`),{success:!1,error:`Tool not found: ${t}`};let r;try{r=n?JSON.parse(n):{}}catch(e){return console.error(`[ToolManager] Failed to parse arguments:`,e),{success:!1,error:`Invalid arguments format`}}try{return{success:!0,data:await this.executor(t,r)}}catch(e){return console.error(`[ToolManager] Tool execution error for ${t}:`,e),{success:!1,error:String(e)}}}executeListTools(){let e=this.tools.map(e=>({name:e.name,description:e.description||`No description available`,parameters:e.inputSchema||{}}));return{success:!0,data:{tools:e,count:e.length,message:e.length>0?`Found ${e.length} available tools`:`No tools currently available`}}}getChangesSummary(){if(!this.hasToolsChanged())return null;let e=this.lastSentToolSignature.split(`|`).filter(Boolean),t=this.tools.map(e=>e.name),n=new Set(e),r=new Set(t);return{added:t.filter(e=>!n.has(e)),removed:e.filter(e=>!r.has(e)),total:this.tools.length}}};function H(e){return!e||typeof e!=`object`?!1:typeof e.client_secret?.value==`string`}var U=class{tokenEndpoint;constructor(e){this.tokenEndpoint=e}async createSession(e={}){let t=e.model||`gpt-4o-realtime-preview-2024-12-17`,n=e.voice||`verse`,r=e.apiUrl||`https://api.openai.com/v1/realtime`,i=await this.getEphemeralToken(t,n),a=new RTCPeerConnection,o=this.createAudioElement(),s=null;a.ontrack=e=>{s=e.streams[0],o.srcObject=s,I(`WebRTC`,`Remote audio stream received and connected to audio element`,{streamId:s.id,tracks:s.getTracks().length})};let c=await this.getUserMedia();I(`WebRTC`,`Local microphone stream acquired`,{streamId:c.id,tracks:c.getTracks().map(e=>({kind:e.kind,enabled:e.enabled,muted:e.muted,readyState:e.readyState}))}),c.getTracks().forEach(e=>{a.addTrack(e,c)});let l=a.createDataChannel(`oai-events`),u=await a.createOffer();if(await a.setLocalDescription(u),!u.sdp)throw Error(`Failed to create offer SDP`);let d=await this.connectToOpenAI(r,t,u.sdp,i);return await a.setRemoteDescription(d),{pc:a,dataChannel:l,audioElement:o,localStream:c,remoteStream:s,cleanup:()=>{c.getTracks().forEach(e=>{e.stop()}),o.remove(),l.close(),a.close()}}}async getEphemeralToken(e,t){let n=await fetch(this.tokenEndpoint,{method:`POST`,headers:{"Content-Type":`application/json`},body:JSON.stringify({model:e,voice:t})});if(!n.ok){let e=await n.text();throw console.error(`Failed to get ephemeral token:`,e),Error(`Failed to get ephemeral token: ${n.statusText}`)}let r=await n.json();if(!H(r))throw Error(`Invalid token response format`);return r.client_secret.value}createAudioElement(){let e=document.createElement(`audio`);return e.autoplay=!0,e.style.display=`none`,document.body.appendChild(e),e}async getUserMedia(){try{return await navigator.mediaDevices.getUserMedia({audio:{echoCancellation:!0,noiseSuppression:!0,autoGainControl:!0}})}catch(e){throw Error(`Failed to access microphone: ${e}`)}}async connectToOpenAI(e,t,n,r){let i=await fetch(`${e}?model=${t}`,{method:`POST`,body:n,headers:{Authorization:`Bearer ${r}`,"Content-Type":`application/sdp`}});if(!i.ok)throw Error(`Failed to establish WebRTC connection: ${i.statusText}`);return{type:`answer`,sdp:await i.text()}}};let W=Object.freeze(Array(32).fill(0)),G=()=>[...W];var K=class{session=null;webrtcManager;toolManager;messageHandler;eventEmitter;muted=!1;lastState=`disconnected`;localAnalyzer=null;remoteAnalyzer=null;visualizationInterval=null;sessionStartTime=null;onToolsChangedCallback=null;constructor(e){this.webrtcManager=new U(e),this.toolManager=new V,this.eventEmitter=new R,this.messageHandler=new B(this.toolManager,this.eventEmitter)}setTools(e){this.toolManager.setTools(e),this.isSessionActive()&&this.updateSessionTools()}setToolExecutor(e){this.toolManager.setExecutor(e)}onToolsChanged(e){this.onToolsChangedCallback=e}async startSession(e={}){try{this.session&&this.stopSession(),this.muted=!1,this.sessionStartTime=Date.now(),this.emitSessionState(`connecting`),this.session=await this.webrtcManager.createSession(e),this.setupDataChannel(this.session.dataChannel),this.setupPeerConnectionMonitoring(this.session.pc),this.session.localStream&&await this.initializeLocalAnalyzer(this.session.localStream),this.session.remoteStream&&this.initializeRemoteAnalyzer(this.session.remoteStream);let t=this.session.pc.ontrack,n=this.session;return this.session.pc.ontrack=e=>{t&&t.call(n.pc,e),this.session&&(this.session.remoteStream=e.streams[0]);let r=e.streams[0];if(!r){console.warn(`[OpenAIRealtimeService] Received ontrack event without stream`);return}this.initializeRemoteAnalyzer(r)},this.session}catch(e){throw this.handleSessionError(e),e}}stopSession(){let e=0;this.sessionStartTime&&(e=Math.floor((Date.now()-this.sessionStartTime)/1e3)),this.visualizationInterval&&=(clearInterval(this.visualizationInterval),null),this.localAnalyzer&&=(this.localAnalyzer.destroy(),null),this.remoteAnalyzer&&=(this.remoteAnalyzer.destroy(),null),this.session&&=(this.session.cleanup(),null),this.messageHandler.reset(),this.toolManager.resetSession(),this.muted=!1,this.emitSessionState(`disconnected`,{durationSeconds:e}),this.sessionStartTime=null}sendUserMessage(e){if(!this.isSessionActive())throw Error(`No active session`);let t={type:`conversation.item.create`,item:{type:`message`,role:`user`,content:[{type:`input_text`,text:e}]}};if(!this.session)throw Error(`Session is not active`);this.session.dataChannel.send(JSON.stringify(t)),this.session.dataChannel.send(JSON.stringify({type:`response.create`}))}isSessionActive(){return this.session!==null&&this.session.dataChannel.readyState===`open`}getLocalStream(){return this.session?.localStream||null}getRemoteStream(){return this.session?.remoteStream||null}toggleMute(e){this.session?.audioElement&&(this.session.audioElement.muted=e),this.muted=e,this.emitSessionState(this.lastState,{isMuted:this.muted})}on(e,t){this.eventEmitter.on(e,t)}off(e,t){this.eventEmitter.off(e,t)}getSessionStatus(){return{state:this.lastState,isActive:this.lastState===`connected`,isMuted:this.muted}}setupDataChannel(e){e.addEventListener(`open`,()=>{this.configureSession(e),this.muted=!1,this.emitSessionState(`connected`)}),e.addEventListener(`message`,t=>{(async()=>{try{await this.messageHandler.handleMessage(t.data,e)}catch(e){console.error(`Error handling message:`,e)}})()}),e.addEventListener(`error`,e=>{console.error(`DataChannel error:`,e),this.eventEmitter.emit(`error`,{type:`datachannel_error`,error:e})}),e.addEventListener(`close`,()=>{this.messageHandler.reset(),this.eventEmitter.emit(`session_closed`,{})})}setupPeerConnectionMonitoring(e){e.addEventListener(`connectionstatechange`,()=>{(e.connectionState===`failed`||e.connectionState===`disconnected`)&&(console.error(`Peer connection failed or disconnected`),this.messageHandler.reset(),this.eventEmitter.emit(`error`,{type:`connection_error`,message:`Connection ${e.connectionState}`}))}),e.addEventListener(`iceconnectionstatechange`,()=>{(e.iceConnectionState===`failed`||e.iceConnectionState===`disconnected`)&&console.error(`ICE connection failed or disconnected`)}),e.addEventListener(`signalingstatechange`,()=>{})}configureSession(e){this.toolManager.resetSession();let t=this.toolManager.formatToolsForOpenAI();this.toolManager.markToolsSent();let n={type:`session.update`,session:{modalities:[`text`,`audio`],instructions:this.getSessionInstructions(),voice:`verse`,tools:t,tool_choice:`auto`,turn_detection:{type:`server_vad`,threshold:.5,prefix_padding_ms:300,silence_duration_ms:500},input_audio_transcription:{model:`whisper-1`}}};e.send(JSON.stringify(n))}updateSessionTools(){if(!this.session){console.warn(`[OpenAIRealtimeService] Cannot update tools: no active session`);return}if(this.session.dataChannel.readyState!==`open`){console.warn(`[OpenAIRealtimeService] Cannot update tools: DataChannel is ${this.session.dataChannel.readyState}`);return}let e=this.toolManager.getChangesSummary();if(!e)return;let t=this.toolManager.formatToolsForOpenAI();console.log(`[OpenAIRealtimeService] Sending tool update to OpenAI:`,`${e.total} total tools,`,e.added.length>0?`+${e.added.length} added (${e.added.slice(0,3).join(`, `)}${e.added.length>3?`...`:``})`:``,e.removed.length>0?`-${e.removed.length} removed`:``),this.toolManager.markToolsSent();let n={type:`session.update`,session:{tools:t,tool_choice:`auto`}};this.session.dataChannel.send(JSON.stringify(n))}getSessionInstructions(){return`You are a helpful assistant with access to tools.
2
2
  Use the available tools to help users with their tasks.
3
3
  You can use the list_available_tools function to see what tools are currently available.
4
- Be concise and helpful in your responses.`}handleSessionError(e){console.error(`Session error:`,e),this.emitSessionState(`error`,{type:`session_error`,error:String(e)}),this.stopSession()}async initializeLocalAnalyzer(e){this.localAnalyzer&&this.localAnalyzer.destroy(),this.localAnalyzer=new I;try{let t=new MediaStream(e.getAudioTracks().map(e=>e.clone()));await this.localAnalyzer.initialize(t),this.startAudioVisualization()}catch(e){console.error(`[OpenAIRealtimeService] Failed to initialize local audio analyzer`,e),this.localAnalyzer&&=(this.localAnalyzer.destroy(),null)}}async initializeRemoteAnalyzer(e){this.remoteAnalyzer&&this.remoteAnalyzer.destroy(),this.remoteAnalyzer=new I;try{let t=new MediaStream(e.getAudioTracks().map(e=>e.clone()));await this.remoteAnalyzer.initialize(t),this.startAudioVisualization()}catch(e){console.error(`[OpenAIRealtimeService] Failed to initialize remote audio analyzer`,e),this.remoteAnalyzer&&=(this.remoteAnalyzer.destroy(),null)}}startAudioVisualization(){if(!this.localAnalyzer&&!this.remoteAnalyzer){F(`OpenAIRealtimeService`,`Audio visualization not started: no analyzers ready`);return}this.visualizationInterval&&clearInterval(this.visualizationInterval);let e=0;this.visualizationInterval=setInterval(()=>{let t=this.localAnalyzer?.getAudioLevel()??0,n=this.localAnalyzer?.getFrequencyData(32)??W(),r=this.remoteAnalyzer?.getAudioLevel()??0,i=this.remoteAnalyzer?.getFrequencyData(32)??W();e++,e%60==0&&F(`OpenAIRealtimeService`,`Audio levels`,{mic:t.toFixed(3),speaker:r.toFixed(3)}),this.eventEmitter.emit(`audio_level`,{micLevel:t,micFrequency:n,speakerLevel:r,speakerFrequency:i})},16)}emitSessionState(e,t={}){this.lastState=e;let n={state:e,isActive:e===`connected`,isMuted:this.muted,...t};switch(this.eventEmitter.emit(`session_state`,n),e){case`connecting`:this.eventEmitter.emit(`session_connecting`,n);break;case`connected`:this.eventEmitter.emit(`session_connected`,n);break;case`disconnected`:this.eventEmitter.emit(`session_closed`,n);break;case`error`:this.eventEmitter.emit(`error`,n);break;default:break}}};function te(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.state==`string`&&[`connecting`,`connected`,`disconnected`,`error`].includes(t.state)&&typeof t.isActive==`boolean`&&typeof t.isMuted==`boolean`}function ne(e){return!e||typeof e!=`object`?!1:typeof e.text==`string`}function G(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.delta===void 0||typeof t.delta==`string`}function re(e){return!e||typeof e!=`object`?!1:typeof e.name==`string`}function ie(e){return!e||typeof e!=`object`?!1:typeof e.name==`string`}function K(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.error==`string`||typeof t.message==`string`||typeof t.type==`string`}function q(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.micLevel==`number`&&Array.isArray(t.micFrequency)&&typeof t.speakerLevel==`number`&&Array.isArray(t.speakerFrequency)}function J(e){let n=(0,t.c)(43),{tokenEndpoint:r,tools:i,toolExecutor:a,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d}=e,[f,p]=(0,o.useState)(!1),[m,h]=(0,o.useState)(!1),[g,_]=(0,o.useState)(!1),[v,y]=(0,o.useState)(!1),[b,x]=(0,o.useState)(`disconnected`),[S,C]=(0,o.useState)(),[w,T]=(0,o.useState)(),[E,D]=(0,o.useState)(),[O,k]=(0,o.useState)(),A=(0,o.useRef)(null),j=(0,o.useRef)(s),M=(0,o.useRef)(c),N=(0,o.useRef)(l),P=(0,o.useRef)(u),F=(0,o.useRef)(d),I,L;n[0]!==d||n[1]!==s||n[2]!==c||n[3]!==l||n[4]!==u?(I=()=>{j.current=s,M.current=c,N.current=l,P.current=u,F.current=d},L=[s,c,l,u,d],n[0]=d,n[1]=s,n[2]=c,n[3]=l,n[4]=u,n[5]=I,n[6]=L):(I=n[5],L=n[6]),(0,o.useEffect)(I,L);let R;n[7]===r?R=n[8]:(R=()=>(A.current||=new ee(r),A.current),n[7]=r,n[8]=R);let z=R,B,V;n[9]!==z||n[10]!==i?(B=()=>{i&&z().setTools(i)},V=[i,z],n[9]=z,n[10]=i,n[11]=B,n[12]=V):(B=n[11],V=n[12]),(0,o.useEffect)(B,V);let H,U;n[13]!==z||n[14]!==a?(H=()=>{a&&z().setToolExecutor(a)},U=[a,z],n[13]=z,n[14]=a,n[15]=H,n[16]=U):(H=n[15],U=n[16]),(0,o.useEffect)(H,U);let W,J;n[17]===z?(W=n[18],J=n[19]):(W=()=>{let e=z(),t=e=>{if(!te(e)){console.warn(`[useVoiceMode] Invalid session state event data:`,e);return}x(e.state),p(e.isActive),_(e.isMuted),h(e.state===`connecting`),y(e.state===`error`),e.state===`connected`?j.current?.():e.state===`disconnected`&&M.current?.(e.durationSeconds??0)},n=e=>{q(e)&&C(e)},r=e=>{if(!ne(e)){console.warn(`[useVoiceMode] Invalid user transcript event data:`,e);return}T({type:`user`,text:e.text,isDone:!0}),P.current?.(e.text)},i=e=>{if(!G(e))return;let t=e.delta||e.transcript||``;T(e=>({type:`assistant`,text:e?.type===`assistant`?e.text+t:t,isDone:!1}))},a=e=>{if(!G(e))return;let t=e.transcript||``;T({type:`assistant`,text:t,isDone:!0}),F.current?.(t)},o=e=>{if(!re(e)){console.warn(`[useVoiceMode] Invalid tool call started event data:`,e);return}D({status:`started`,toolName:e.name})},s=e=>{if(!ie(e)){console.warn(`[useVoiceMode] Invalid tool call completed event data:`,e);return}D({status:`completed`,toolName:e.name,error:e.error}),setTimeout(()=>{D(void 0)},e.error?3e3:1500)},c=e=>{if(!K(e)){k(`Unknown error`),y(!0),N.current?.(`Unknown error`);return}let t=e.error||e.message||`Unknown error`;k(t),y(!0),N.current?.(t)};return e.on(`session_state`,t),e.on(`audio_level`,n),e.on(`user_transcript_done`,r),e.on(`assistant_transcript`,i),e.on(`assistant_transcript_done`,a),e.on(`tool_call_started`,o),e.on(`tool_call_completed`,s),e.on(`error`,c),()=>{e.off(`session_state`,t),e.off(`audio_level`,n),e.off(`user_transcript_done`,r),e.off(`assistant_transcript`,i),e.off(`assistant_transcript_done`,a),e.off(`tool_call_started`,o),e.off(`tool_call_completed`,s),e.off(`error`,c)}},J=[z],n[17]=z,n[18]=W,n[19]=J),(0,o.useEffect)(W,J);let Y;n[20]===z?Y=n[21]:(Y=async e=>{try{h(!0),y(!1),k(void 0),await z().startSession(e)}catch(e){let t=e;h(!1),y(!0);let n=t instanceof Error?t.message:`Failed to start session`;k(n),N.current?.(n)}},n[20]=z,n[21]=Y);let X=Y,Z;n[22]===z?Z=n[23]:(Z=()=>{z().stopSession(),C(void 0),T(void 0),D(void 0)},n[22]=z,n[23]=Z);let ae=Z,oe;n[24]!==z||n[25]!==g?(oe=e=>{let t=z(),n=e===void 0?!g:e;t.toggleMute(n),_(n)},n[24]=z,n[25]=g,n[26]=oe):oe=n[26];let se=oe,ce;n[27]===z?ce=n[28]:(ce=e=>{let t=z();t.isSessionActive()&&t.sendUserMessage(e)},n[27]=z,n[28]=ce);let le=ce,ue;return n[29]!==S||n[30]!==b||n[31]!==O||n[32]!==f||n[33]!==m||n[34]!==v||n[35]!==g||n[36]!==le||n[37]!==X||n[38]!==ae||n[39]!==se||n[40]!==E||n[41]!==w?(ue={isActive:f,isConnecting:m,isMuted:g,isError:v,connectionState:b,audioLevel:S,transcript:w,toolCall:E,error:O,startSession:X,stopSession:ae,toggleMute:se,sendMessage:le},n[29]=S,n[30]=b,n[31]=O,n[32]=f,n[33]=m,n[34]=v,n[35]=g,n[36]=le,n[37]=X,n[38]=ae,n[39]=se,n[40]=E,n[41]=w,n[42]=ue):ue=n[42],ue}let Y=(0,o.createContext)(null);function X(){return!!(typeof window<`u`&&window.RTCPeerConnection&&navigator.mediaDevices?.getUserMedia)}function Z(e){let n=(0,t.c)(15),{children:r,tokenEndpoint:i,tools:a,toolExecutor:o,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d}=e,p;n[0]!==d||n[1]!==s||n[2]!==c||n[3]!==l||n[4]!==u||n[5]!==i||n[6]!==o||n[7]!==a?(p={tokenEndpoint:i,tools:a,toolExecutor:o,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d},n[0]=d,n[1]=s,n[2]=c,n[3]=l,n[4]=u,n[5]=i,n[6]=o,n[7]=a,n[8]=p):p=n[8];let m=J(p),h;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=X(),n[9]=h):h=n[9];let g=h,_;n[10]===m?_=n[11]:(_={...m,isSupported:g},n[10]=m,n[11]=_);let v=_,y;return n[12]!==r||n[13]!==v?(y=(0,f.jsx)(Y.Provider,{value:v,children:r}),n[12]=r,n[13]=v,n[14]=y):y=n[14],y}function ae(){return(0,o.useContext)(Y)}function oe(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Root,{"data-slot":`avatar`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function se(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`aspect-square size-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Image,{"data-slot":`avatar-image`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function ce(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`bg-muted flex size-full items-center justify-center rounded-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Fallback,{"data-slot":`avatar-fallback`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function le(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Root,{"data-slot":`dialog`,...r}),n[2]=r,n[3]=i),i}function ue(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Trigger,{"data-slot":`dialog-trigger`,...r}),n[2]=r,n[3]=i),i}function de(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Portal,{"data-slot":`dialog-portal`,...r}),n[2]=r,n[3]=i),i}function fe(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Overlay,{"data-slot":`dialog-overlay`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function pe(e){let n=(0,t.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,showCloseButton:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c=o===void 0?!0:o,l;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(fe,{}),n[5]=l):l=n[5];let u;n[6]===i?u=n[7]:(u=P(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,i),n[6]=i,n[7]=u);let d;n[8]===c?d=n[9]:(d=c&&(0,f.jsxs)(h.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,f.jsx)(s.XIcon,{}),(0,f.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[8]=c,n[9]=d);let p;return n[10]!==r||n[11]!==a||n[12]!==u||n[13]!==d?(p=(0,f.jsxs)(de,{"data-slot":`dialog-portal`,children:[l,(0,f.jsxs)(h.Content,{"data-slot":`dialog-content`,className:u,...a,children:[r,d]})]}),n[10]=r,n[11]=a,n[12]=u,n[13]=d,n[14]=p):p=n[14],p}function me(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`flex flex-col gap-2 text-center sm:text-left`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function he(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`text-lg leading-none font-semibold`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Title,{"data-slot":`dialog-title`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function ge(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=P(`text-muted-foreground text-sm`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Description,{"data-slot":`dialog-description`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function _e(e){let n=(0,t.c)(6),r,i;n[0]===e?(r=n[1],i=n[2]):({delayDuration:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a=i===void 0?0:i,o;return n[3]!==a||n[4]!==r?(o=(0,f.jsx)(g.Provider,{"data-slot":`tooltip-provider`,delayDuration:a,...r}),n[3]=a,n[4]=r,n[5]=o):o=n[5],o}function ve(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(_e,{children:(0,f.jsx)(g.Root,{"data-slot":`tooltip`,...r})}),n[2]=r,n[3]=i),i}function ye(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(g.Trigger,{"data-slot":`tooltip-trigger`,...r}),n[2]=r,n[3]=i),i}function be(e){let n=(0,t.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,sideOffset:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?0:o,c;n[5]===i?c=n[6]:(c=P(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,i),n[5]=i,n[6]=c);let l;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(g.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`}),n[7]=l):l=n[7];let u;return n[8]!==r||n[9]!==a||n[10]!==s||n[11]!==c?(u=(0,f.jsx)(g.Portal,{children:(0,f.jsxs)(g.Content,{"data-slot":`tooltip-content`,sideOffset:s,className:c,...a,children:[r,l]})}),n[8]=r,n[9]=a,n[10]=s,n[11]=c,n[12]=u):u=n[12],u}let xe=(0,v.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function Q(e){let n=(0,t.c)(14),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:r,variant:s,size:a,asChild:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=o!==void 0&&o?_.Slot:`button`,l;n[6]!==r||n[7]!==a||n[8]!==s?(l=P(xe({variant:s,size:a,className:r})),n[6]=r,n[7]=a,n[8]=s,n[9]=l):l=n[9];let u;return n[10]!==c||n[11]!==i||n[12]!==l?(u=(0,f.jsx)(c,{"data-slot":`button`,className:l,...i}),n[10]=c,n[11]=i,n[12]=l,n[13]=u):u=n[13],u}let $=(0,o.forwardRef)((e,n)=>{let r=(0,t.c)(24),i,a,o,s,c;r[0]===e?(i=r[1],a=r[2],o=r[3],s=r[4],c=r[5]):({children:i,tooltip:c,side:s,className:a,...o}=e,r[0]=e,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=c);let l=s===void 0?`bottom`:s,u;r[6]===a?u=r[7]:(u=P(`aui-button-icon size-6 p-1`,a),r[6]=a,r[7]=u);let d;r[8]===i?d=r[9]:(d=(0,f.jsx)(_.Slottable,{children:i}),r[8]=i,r[9]=d);let p;r[10]===c?p=r[11]:(p=(0,f.jsx)(`span`,{className:`aui-sr-only sr-only`,children:c}),r[10]=c,r[11]=p);let m;r[12]!==n||r[13]!==o||r[14]!==u||r[15]!==d||r[16]!==p?(m=(0,f.jsx)(ye,{asChild:!0,children:(0,f.jsxs)(Q,{variant:`ghost`,size:`icon`,...o,className:u,ref:n,children:[d,p]})}),r[12]=n,r[13]=o,r[14]=u,r[15]=d,r[16]=p,r[17]=m):m=r[17];let h;r[18]!==l||r[19]!==c?(h=(0,f.jsx)(be,{side:l,children:c}),r[18]=l,r[19]=c,r[20]=h):h=r[20];let g;return r[21]!==m||r[22]!==h?(g=(0,f.jsxs)(ve,{children:[m,h]}),r[21]=m,r[22]=h,r[23]=g):g=r[23],g});$.displayName=`TooltipIconButton`;let Se=e=>{let n=(0,t.c)(3),[r,i]=(0,o.useState)(void 0),a,s;return n[0]===e?(a=n[1],s=n[2]):(a=()=>{if(!e){i(void 0);return}let t=URL.createObjectURL(e);return i(t),()=>{URL.revokeObjectURL(t)}},s=[e],n[0]=e,n[1]=a,n[2]=s),(0,o.useEffect)(a,s),r},Ce=()=>{let{file:e,src:t}=(0,n.useAssistantState)((0,p.useShallow)(Ne));return Se(e)??t},we=e=>{let n=(0,t.c)(2),{src:r}=e,i;return n[0]===r?i=n[1]:(i=(0,f.jsx)(`img`,{src:r,alt:`Image Preview`,width:1,height:1,className:`aui-attachment-preview-image-loaded block h-auto max-h-[80vh] w-auto max-w-full object-contain`}),n[0]=r,n[1]=i),i},Te=e=>{let n=(0,t.c)(8),{children:r}=e,i=Ce();if(!i)return r;let a;n[0]===r?a=n[1]:(a=(0,f.jsx)(ue,{className:`aui-attachment-preview-trigger cursor-pointer transition-colors hover:bg-accent/50`,asChild:!0,children:r}),n[0]=r,n[1]=a);let o;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,f.jsx)(he,{className:`aui-sr-only sr-only`,children:`Image Attachment Preview`}),n[2]=o):o=n[2];let s;n[3]===i?s=n[4]:(s=(0,f.jsxs)(pe,{className:`aui-attachment-preview-dialog-content p-2 sm:max-w-3xl [&_svg]:text-background [&>button]:rounded-full [&>button]:bg-foreground/60 [&>button]:p-1 [&>button]:opacity-100 [&>button]:!ring-0 [&>button]:hover:[&_svg]:text-destructive`,children:[o,(0,f.jsx)(`div`,{className:`aui-attachment-preview relative mx-auto flex max-h-[80dvh] w-full items-center justify-center overflow-hidden bg-background`,children:(0,f.jsx)(we,{src:i})})]}),n[3]=i,n[4]=s);let c;return n[5]!==a||n[6]!==s?(c=(0,f.jsxs)(le,{children:[a,s]}),n[5]=a,n[6]=s,n[7]=c):c=n[7],c},Ee=()=>{let e=(0,t.c)(8),r=(0,n.useAssistantState)(Pe),i=Ce(),a;e[0]===i?a=e[1]:(a=(0,f.jsx)(se,{src:i,alt:`Attachment preview`,className:`aui-attachment-tile-image object-cover`}),e[0]=i,e[1]=a);let o=r?200:0,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(s.FileText,{className:`aui-attachment-tile-fallback-icon size-8 text-muted-foreground`}),e[2]=c):c=e[2];let l;e[3]===o?l=e[4]:(l=(0,f.jsx)(ce,{delayMs:o,children:c}),e[3]=o,e[4]=l);let u;return e[5]!==a||e[6]!==l?(u=(0,f.jsxs)(oe,{className:`aui-attachment-tile-avatar h-full w-full rounded-none`,children:[a,l]}),e[5]=a,e[6]=l,e[7]=u):u=e[7],u},De=()=>{let e=(0,t.c)(17),r=(0,n.useAssistantApi)().attachment.source===`composer`,i=(0,n.useAssistantState)(Fe),a=(0,n.useAssistantState)(Ie),o=i&&`aui-attachment-root-composer only:[&>#attachment-tile]:size-24`,s;e[0]===o?s=e[1]:(s=P(`aui-attachment-root relative`,o),e[0]=o,e[1]=s);let c=r&&`aui-attachment-tile-composer border-foreground/20`,l;e[2]===c?l=e[3]:(l=P(`aui-attachment-tile size-14 cursor-pointer overflow-hidden rounded-[14px] border bg-muted transition-opacity hover:opacity-75`,c),e[2]=c,e[3]=l);let u=`${a} attachment`,d;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,f.jsx)(Ee,{}),e[4]=d):d=e[4];let p;e[5]!==l||e[6]!==u?(p=(0,f.jsx)(Te,{children:(0,f.jsx)(ye,{asChild:!0,children:(0,f.jsx)(`div`,{className:l,role:`button`,id:`attachment-tile`,"aria-label":u,children:d})})}),e[5]=l,e[6]=u,e[7]=p):p=e[7];let m;e[8]===r?m=e[9]:(m=r&&(0,f.jsx)(Oe,{}),e[8]=r,e[9]=m);let h;e[10]!==s||e[11]!==p||e[12]!==m?(h=(0,f.jsxs)(n.AttachmentPrimitive.Root,{className:s,children:[p,m]}),e[10]=s,e[11]=p,e[12]=m,e[13]=h):h=e[13];let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,f.jsx)(be,{side:`top`,children:(0,f.jsx)(n.AttachmentPrimitive.Name,{})}),e[14]=g):g=e[14];let _;return e[15]===h?_=e[16]:(_=(0,f.jsxs)(ve,{children:[h,g]}),e[15]=h,e[16]=_),_},Oe=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.AttachmentPrimitive.Remove,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Remove file`,className:`aui-attachment-tile-remove absolute top-1.5 right-1.5 size-3.5 rounded-full bg-white text-muted-foreground opacity-100 shadow-sm hover:!bg-white [&_svg]:text-black hover:[&_svg]:text-destructive`,side:`top`,children:(0,f.jsx)(s.XIcon,{className:`aui-attachment-remove-icon size-3 dark:stroke-[2.5px]`})})}),e[0]=r):r=e[0],r},ke=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:`aui-user-message-attachments-end col-span-full col-start-1 row-start-1 flex w-full flex-row justify-end gap-2`,children:(0,f.jsx)(n.MessagePrimitive.Attachments,{components:{Attachment:De}})}),e[0]=r):r=e[0],r},Ae=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:`aui-composer-attachments mb-2 flex w-full flex-row items-center gap-2 overflow-x-auto px-1.5 pt-0.5 pb-1 empty:hidden`,children:(0,f.jsx)(n.ComposerPrimitive.Attachments,{components:{Attachment:De}})}),e[0]=r):r=e[0],r},je=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ComposerPrimitive.AddAttachment,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Add Attachment`,side:`bottom`,variant:`ghost`,size:`icon`,className:`aui-composer-add-attachment size-[34px] rounded-full p-1 text-xs font-semibold hover:bg-muted-foreground/15 dark:border-muted-foreground/15 dark:hover:bg-muted-foreground/30`,"aria-label":`Add Attachment`,children:(0,f.jsx)(s.PlusIcon,{className:`aui-attachment-add-icon size-5 stroke-[1.5px]`})})}),e[0]=r):r=e[0],r};function Me(e){return e.type===`image`}function Ne(e){let{attachment:t}=e;if(t.type!==`image`)return{};if(t.file)return{file:t.file};let n=t.content?.filter(Me)[0]?.image;return n?{src:n}:{}}function Pe(e){let{attachment:t}=e;return t.type===`image`}function Fe(e){let{attachment:t}=e;return t.type===`image`}function Ie(e){let{attachment:t}=e,n=t.type;switch(n){case`image`:return`Image`;case`document`:return`Document`;case`file`:return`File`;default:{let e=n;throw Error(`Unknown attachment type: ${e}`)}}}let Le=(0,o.memo)(()=>{let e=(0,t.c)(1),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(y.MarkdownTextPrimitive,{remarkPlugins:[b.default],className:`aui-md`,components:Be}),e[0]=n):n=e[0],n}),Re=e=>{let n=(0,t.c)(17),{language:r,code:i}=e,{isCopied:a,copyToClipboard:o}=ze(),c;n[0]!==i||n[1]!==o||n[2]!==a?(c=()=>{!i||a||o(i)},n[0]=i,n[1]=o,n[2]=a,n[3]=c):c=n[3];let l=c,u;n[4]===r?u=n[5]:(u=(0,f.jsx)(`span`,{className:`aui-code-header-language lowercase [&>span]:text-xs`,children:r}),n[4]=r,n[5]=u);let d;n[6]===a?d=n[7]:(d=!a&&(0,f.jsx)(s.CopyIcon,{}),n[6]=a,n[7]=d);let p;n[8]===a?p=n[9]:(p=a&&(0,f.jsx)(s.CheckIcon,{}),n[8]=a,n[9]=p);let m;n[10]!==l||n[11]!==d||n[12]!==p?(m=(0,f.jsxs)($,{tooltip:`Copy`,onClick:l,children:[d,p]}),n[10]=l,n[11]=d,n[12]=p,n[13]=m):m=n[13];let h;return n[14]!==u||n[15]!==m?(h=(0,f.jsxs)(`div`,{className:`aui-code-header-root mt-2 flex items-center justify-between gap-2 rounded-t-lg bg-muted-foreground/15 px-2 py-1 text-sm font-semibold text-foreground dark:bg-muted-foreground/20`,children:[u,m]}),n[14]=u,n[15]=m,n[16]=h):h=n[16],h},ze=e=>{let n=(0,t.c)(7),r;n[0]===e?r=n[1]:(r=e===void 0?{}:e,n[0]=e,n[1]=r);let{copiedDuration:i}=r,a=i===void 0?3e3:i,[s,c]=(0,o.useState)(!1),l;n[2]===a?l=n[3]:(l=e=>{e&&navigator.clipboard.writeText(e).then(()=>{c(!0),setTimeout(()=>c(!1),a)})},n[2]=a,n[3]=l);let u=l,d;return n[4]!==u||n[5]!==s?(d={isCopied:s,copyToClipboard:u},n[4]=u,n[5]=s,n[6]=d):d=n[6],d},Be=(0,y.unstable_memoizeMarkdownComponents)({h1:({className:e,...t})=>(0,f.jsx)(`h1`,{className:P(`aui-md-h1 mb-4 scroll-m-20 text-[25px] font-extrabold tracking-tight last:mb-0`,e),...t}),h2:({className:e,...t})=>(0,f.jsx)(`h2`,{className:P(`aui-md-h2 mt-4 mb-2 scroll-m-20 text-[21px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h3:({className:e,...t})=>(0,f.jsx)(`h3`,{className:P(`aui-md-h3 mt-3 mb-2 scroll-m-20 text-[19px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h4:({className:e,...t})=>(0,f.jsx)(`h4`,{className:P(`aui-md-h4 mt-3 mb-2 scroll-m-20 text-[17px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h5:({className:e,...t})=>(0,f.jsx)(`h5`,{className:P(`aui-md-h5 my-2 text-[15px] font-semibold first:mt-0 last:mb-0`,e),...t}),h6:({className:e,...t})=>(0,f.jsx)(`h6`,{className:P(`aui-md-h6 my-2 text-[15px] font-semibold first:mt-0 last:mb-0`,e),...t}),p:({className:e,...t})=>(0,f.jsx)(`p`,{className:P(`aui-md-p mt-2 mb-2 text-[13px] leading-relaxed first:mt-0 last:mb-0`,e),...t}),a:({className:e,...t})=>(0,f.jsx)(`a`,{className:P(`aui-md-a text-[13px] font-medium text-primary underline underline-offset-4`,e),...t}),blockquote:({className:e,...t})=>(0,f.jsx)(`blockquote`,{className:P(`aui-md-blockquote text-[13px] border-l-2 pl-3 italic`,e),...t}),ul:({className:e,...t})=>(0,f.jsx)(`ul`,{className:P(`aui-md-ul text-[13px] my-2 ml-4 list-disc [&>li]:mt-1`,e),...t}),ol:({className:e,...t})=>(0,f.jsx)(`ol`,{className:P(`aui-md-ol text-[13px] my-2 ml-4 list-decimal [&>li]:mt-1`,e),...t}),hr:({className:e,...t})=>(0,f.jsx)(`hr`,{className:P(`aui-md-hr my-2 border-b`,e),...t}),table:({className:e,...t})=>(0,f.jsx)(`table`,{className:P(`aui-md-table text-[13px] my-2 w-full border-separate border-spacing-0 overflow-y-auto`,e),...t}),th:({className:e,...t})=>(0,f.jsx)(`th`,{className:P(`aui-md-th bg-muted px-2 py-1 text-left font-bold first:rounded-tl-lg last:rounded-tr-lg [&[align=center]]:text-center [&[align=right]]:text-right`,e),...t}),td:({className:e,...t})=>(0,f.jsx)(`td`,{className:P(`aui-md-td border-b border-l px-2 py-1 text-left last:border-r [&[align=center]]:text-center [&[align=right]]:text-right`,e),...t}),tr:({className:e,...t})=>(0,f.jsx)(`tr`,{className:P(`aui-md-tr m-0 border-b p-0 first:border-t [&:last-child>td:first-child]:rounded-bl-lg [&:last-child>td:last-child]:rounded-br-lg`,e),...t}),sup:({className:e,...t})=>(0,f.jsx)(`sup`,{className:P(`aui-md-sup [&>a]:text-xs [&>a]:no-underline`,e),...t}),pre:({className:e,...t})=>(0,f.jsx)(`pre`,{className:P(`aui-md-pre text-[13px] overflow-x-auto !rounded-t-none rounded-b-lg bg-black p-2 text-white`,e),...t}),code:function({className:e,...t}){return(0,f.jsx)(`code`,{className:P(!(0,y.useIsMarkdownCodeBlock)()&&`aui-md-inline-code text-[13px] rounded border bg-muted font-semibold`,e),...t})},CodeHeader:Re});function Ve(e,t=`http`){if(e.type===`tab`)return new C.TabClientTransport({targetOrigin:e.targetOrigin??window.location.origin,channelId:e.channelId??`mcp-default`});let n=new URL(e.url),r={Accept:`application/json, text/event-stream`,...e.customHeaders??{}};e.authToken&&(r.Authorization=`Bearer ${e.authToken}`);let i={requestInit:{headers:r}};return t===`sse`?new w.SSEClientTransport(n,i):new T.StreamableHTTPClientTransport(n,i)}let He=(0,o.createContext)(null);function Ue({children:e,autoConnectLocal:t=!0,onToolsChange:n}){let r=(0,o.useRef)(new Map),[,i]=(0,o.useState)({}),[a,s]=(0,o.useState)([]),c=(0,o.useCallback)(()=>{let e=[];r.current.forEach(t=>{t.tools.forEach(n=>{e.push({...n,_sourceId:t.id})})}),s(e)},[]),l=(0,o.useCallback)(e=>({id:e.id,config:e.config,state:e.state,error:e.error,tools:e.tools,resources:e.resources,resourceTemplates:e.resourceTemplates,prompts:e.prompts}),[]),u=(0,o.useCallback)(async(e,t)=>{r.current.has(e)&&await d(e);let n={id:e,config:t,state:`connecting`,error:null,tools:[],resources:[],resourceTemplates:[],prompts:[],client:null,transport:null};r.current.set(e,n),i({});try{let r=new x.Client({name:`MCP-Source-${e}`,version:`1.0.0`}),a=Ve(t);await r.connect(a),n.client=r,n.transport=a;let{tools:o}=await r.listTools();n.tools=o,n.state=`connected`,r.setNotificationHandler(S.ToolListChangedNotificationSchema,async()=>{try{n.tools=(await r.listTools()).tools,c(),i({})}catch(t){console.error(`[MCPToolsProvider:${e}] Failed to update tools:`,t)}}),c(),i({})}catch(t){let r=t instanceof Error?t:Error(String(t));console.error(`[MCPToolsProvider:${e}] Connection failed:`,r),n.state=`error`,n.error=r,i({})}},[c]),d=(0,o.useCallback)(async e=>{let t=r.current.get(e);if(t){if(t.client)try{await t.client.close()}catch(t){console.error(`[MCPToolsProvider:${e}] Error closing client:`,t)}if(t.transport)try{await t.transport.close()}catch(t){console.error(`[MCPToolsProvider:${e}] Error closing transport:`,t)}r.current.delete(e),c(),i({})}},[c]),p=(0,o.useCallback)(e=>{let t=r.current.get(e);return t?l(t):void 0},[l]),m=(0,o.useCallback)(e=>r.current.get(e)?.state===`connected`,[]),h=(0,o.useCallback)(async(e,t,n)=>{let i=r.current.get(e);if(!i?.client)throw Error(`Source '${e}' not connected`);return await i.client.callTool({name:t,arguments:n})},[]),g=(0,o.useCallback)(async(e,t)=>{let n=a.find(t=>t.name===e);if(!n)throw Error(`Tool '${e}' not found`);return h(n._sourceId,e,t)},[a,h]),_=(0,o.useMemo)(()=>{let e=new Map;return r.current.forEach(t=>{e.set(t.id,l(t))}),e},[a,l]);(0,o.useEffect)(()=>{if(t){let e=setTimeout(()=>{u(`local`,{type:`tab`})},100);return()=>clearTimeout(e)}},[t,u]),(0,o.useEffect)(()=>{n?.(a)},[a,n]),(0,o.useEffect)(()=>{let e=r;return()=>{e.current.forEach(e=>{e.client&&e.client.close().catch(console.error),e.transport&&e.transport.close().catch(console.error)}),e.current.clear()}},[]);let v=(0,o.useMemo)(()=>({tools:a,sources:_,addSource:u,removeSource:d,getSource:p,isConnected:m,callTool:g,callToolOnSource:h}),[a,_,u,d,p,m,g,h]);return(0,f.jsx)(He.Provider,{value:v,children:e})}function We(){let e=(0,o.useContext)(He);if(!e)throw Error(`useMCPTools must be used within an MCPToolsProvider`);return e}let Ge=()=>{let{sources:e,addSource:t,removeSource:n}=We(),[r,i]=(0,o.useState)(!1),[a,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(!1),[d,p]=(0,o.useState)(null),m=[];e.forEach((e,t)=>{e.config.type===`http`&&t!==`local`&&m.push({id:t,url:e.config.url})});let h=(0,o.useCallback)(async()=>{if(!a.trim()){p(`Please enter a URL`);return}try{new URL(a)}catch{p(`Please enter a valid URL`);return}u(!0),p(null);try{await t(m.length===0?`remote`:`remote-${Date.now()}`,{type:`http`,url:a}),c(``)}catch(e){p(e instanceof Error?e.message:`Failed to connect`)}finally{u(!1)}},[a,t,m.length]),g=(0,o.useCallback)(async e=>{await n(e)},[n]),_=(0,o.useCallback)(e=>{e.key===`Enter`&&!l&&h()},[h,l]),v=m.filter(t=>e.get(t.id)?.state===`connected`).length;return(0,f.jsxs)(le,{open:r,onOpenChange:i,children:[(0,f.jsx)(ue,{asChild:!0,children:(0,f.jsxs)($,{tooltip:`Connect MCP Server`,variant:`ghost`,size:`sm`,className:P(`gap-2 rounded-full text-muted-foreground hover:text-foreground`,v>0&&`text-green-600 dark:text-green-400`),children:[(0,f.jsx)(s.Plug,{className:`h-4 w-4`}),v>0&&(0,f.jsx)(`span`,{className:`text-xs`,children:v})]})}),(0,f.jsxs)(pe,{className:`sm:max-w-md`,children:[(0,f.jsxs)(me,{children:[(0,f.jsx)(he,{children:`Remote MCP Servers`}),(0,f.jsx)(ge,{children:`Connect to remote MCP servers to access their tools, resources, and prompts.`})]}),(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsx)(`label`,{htmlFor:`mcp-url`,className:`text-sm font-medium`,children:`Server URL`}),(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(`input`,{id:`mcp-url`,type:`url`,value:a,onChange:e=>c(e.target.value),onKeyDown:_,placeholder:`https://mcp.example.com/sse`,disabled:l,className:P(`flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors`,`placeholder:text-muted-foreground`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`)}),(0,f.jsx)(Q,{onClick:()=>void h(),disabled:l||!a.trim(),size:`sm`,className:`shrink-0`,children:l?(0,f.jsx)(s.Loader2,{className:`h-4 w-4 animate-spin`}):(0,f.jsx)(s.Plus,{className:`h-4 w-4`})})]}),d&&(0,f.jsx)(`p`,{className:`text-xs text-destructive`,children:d})]}),m.length>0&&(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsx)(`label`,{className:`text-sm font-medium`,children:`Connected Servers`}),(0,f.jsx)(`div`,{className:`space-y-2`,children:m.map(t=>{let n=e.get(t.id),r=n?.state===`connected`,i=n?.state===`connecting`;return(0,f.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border bg-muted/50 px-3 py-2`,children:[(0,f.jsx)(`div`,{className:P(`h-2 w-2 shrink-0 rounded-full`,r&&`bg-green-500`,i&&`bg-yellow-500 animate-pulse`,n?.state===`error`&&`bg-red-500`)}),(0,f.jsx)(`span`,{className:`flex-1 truncate text-xs text-muted-foreground`,children:t.url}),r&&n&&(0,f.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n.tools.length,` tools`]}),(0,f.jsx)(`button`,{type:`button`,onClick:()=>void g(t.id),className:`shrink-0 rounded p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Disconnect server`,children:i?(0,f.jsx)(s.Loader2,{className:`h-3 w-3 animate-spin`}):(0,f.jsx)(s.X,{className:`h-3 w-3`})})]},t.id)})})]}),(0,f.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Enter the URL of an MCP server that supports the Streamable HTTP transport (SSE).`})]})]})]})},Ke=e=>{let n=(0,t.c)(15),{toolName:r,argsText:i,result:a}=e,[c,l]=(0,o.useState)(!0),u;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,f.jsx)(s.CheckIcon,{className:`aui-tool-fallback-icon size-3.5 text-emerald-500`}),n[0]=u):u=n[0];let d;n[1]===r?d=n[2]:(d=(0,f.jsx)(`p`,{className:`aui-tool-fallback-title flex-grow text-sm font-medium`,children:r}),n[1]=r,n[2]=d);let p;n[3]===c?p=n[4]:(p=(0,f.jsx)(Q,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>l(!c),children:c?(0,f.jsx)(s.ChevronUpIcon,{className:`size-3.5`}):(0,f.jsx)(s.ChevronDownIcon,{className:`size-3.5`})}),n[3]=c,n[4]=p);let m;n[5]!==d||n[6]!==p?(m=(0,f.jsxs)(`div`,{className:`aui-tool-fallback-header flex items-center gap-2 px-3`,children:[u,d,p]}),n[5]=d,n[6]=p,n[7]=m):m=n[7];let h;n[8]!==i||n[9]!==c||n[10]!==a?(h=!c&&(0,f.jsxs)(`div`,{className:`aui-tool-fallback-content flex flex-col gap-2 border-t border-border/20 pt-2`,children:[(0,f.jsxs)(`div`,{className:`aui-tool-fallback-args-root px-3`,children:[(0,f.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,children:`Input`}),(0,f.jsx)(`pre`,{className:`aui-tool-fallback-args-value mt-1 max-h-40 overflow-auto rounded-lg bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed text-foreground/80 whitespace-pre-wrap`,children:i})]}),a!==void 0&&(0,f.jsxs)(`div`,{className:`aui-tool-fallback-result-root border-t border-dashed border-border/20 px-3 pt-2`,children:[(0,f.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,children:`Output`}),(0,f.jsx)(`pre`,{className:`aui-tool-fallback-result-content mt-1 max-h-60 overflow-auto rounded-lg bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed text-foreground/80 whitespace-pre-wrap`,children:typeof a==`string`?a:JSON.stringify(a,null,2)})]})]}),n[8]=i,n[9]=c,n[10]=a,n[11]=h):h=n[11];let g;return n[12]!==m||n[13]!==h?(g=(0,f.jsxs)(`div`,{className:`aui-tool-fallback-root mb-3 flex w-full flex-col gap-2 rounded-xl border border-border/20 bg-muted/5 py-2`,children:[m,h]}),n[12]=m,n[13]=h,n[14]=g):g=n[14],g},qe=e=>{let n=(0,t.c)(54),r,i,a,s,c,l,u,d,p,m,h,g,_,v;n[0]===e?(r=n[1],i=n[2],a=n[3],s=n[4],c=n[5],l=n[6],u=n[7],d=n[8],p=n[9],m=n[10],h=n[11],g=n[12],_=n[13],v=n[14]):({active:c,processing:u,barWidth:d,barGap:p,barRadius:m,barColor:r,fadeEdges:h,fadeWidth:g,height:_,sensitivity:v,mode:l,manualAudioLevel:a,className:i,...s}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=s,n[5]=c,n[6]=l,n[7]=u,n[8]=d,n[9]=p,n[10]=m,n[11]=h,n[12]=g,n[13]=_,n[14]=v);let y=c===void 0?!1:c,b=u===void 0?!1:u,x=d===void 0?3:d,S=p===void 0?1:p,C=m===void 0?1.5:m,w=h===void 0?!0:h,T=g===void 0?24:g,E=_===void 0?64:_,D=v===void 0?1:v,O=l===void 0?`static`:l,k=(0,o.useRef)(null),A=(0,o.useRef)(null),j;n[15]===Symbol.for(`react.memo_cache_sentinel`)?(j=[],n[15]=j):j=n[15];let M=(0,o.useRef)(j);(0,o.useRef)(0);let N=(0,o.useRef)(0),F=(0,o.useRef)(null),I;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(I=[],n[16]=I):I=n[16];let L=(0,o.useRef)(I),R=(0,o.useRef)(0),z;n[17]===Symbol.for(`react.memo_cache_sentinel`)?(z=[],n[17]=z):z=n[17];let B=(0,o.useRef)(z),V=(0,o.useRef)(!0),H=(0,o.useRef)(null),U=(0,o.useRef)(0),W=typeof E==`number`?`${E}px`:E,ee,te;n[18]===Symbol.for(`react.memo_cache_sentinel`)?(ee=()=>{let e=k.current,t=A.current;if(!e||!t)return;let n=new ResizeObserver(()=>{let n=t.getBoundingClientRect(),r=window.devicePixelRatio||1;e.width=n.width*r,e.height=n.height*r,e.style.width=`${n.width}px`,e.style.height=`${n.height}px`;let i=e.getContext(`2d`);i&&i.scale(r,r),H.current=null,U.current=n.width,V.current=!0});return n.observe(t),()=>n.disconnect()},te=[],n[18]=ee,n[19]=te):(ee=n[18],te=n[19]),(0,o.useEffect)(ee,te);let ne,G;n[20]!==y||n[21]!==S||n[22]!==x||n[23]!==O||n[24]!==b?(ne=()=>{if(b&&!y){let e=0;R.current=0;let t=()=>{e+=.03,R.current=Math.min(1,R.current+.02);let n=[],r=Math.floor((A.current?.getBoundingClientRect().width||200)/(x+S));if(O===`static`){let t=Math.floor(r/2);for(let i=0;i<r;i++){let r=(i-t)/t,a=1-Math.abs(r)*.4,o=Math.sin(e*1.5+r*3)*.25,s=Math.sin(e*.8-r*2)*.2,c=Math.cos(e*2+r)*.15,l=(.2+(o+s+c))*a,u=l;if(L.current.length>0&&R.current<1){let e=Math.min(i,L.current.length-1);u=(L.current[e]||0)*(1-R.current)+l*R.current}n.push(Math.max(.05,Math.min(1,u)))}}else for(let t=0;t<r;t++){let i=(t-r/2)/(r/2),a=1-Math.abs(i)*.4,o=Math.sin(e*1.5+t*.15)*.25,s=Math.sin(e*.8-t*.1)*.2,c=Math.cos(e*2+t*.05)*.15,l=(.2+(o+s+c))*a,u=l;if(L.current.length>0&&R.current<1){let e=Math.floor(t/r*L.current.length);u=(L.current[e]||0)*(1-R.current)+l*R.current}n.push(Math.max(.05,Math.min(1,u)))}O===`static`?B.current=n:M.current=n,V.current=!0,F.current=requestAnimationFrame(t)};return t(),()=>{F.current&&cancelAnimationFrame(F.current)}}if(!y&&!b&&(O===`static`?B.current.length>0:M.current.length>0)){let e=0,t=()=>{e+=.03,e<1?(O===`static`?B.current=B.current.map(t=>t*(1-e)):M.current=M.current.map(t=>t*(1-e)),V.current=!0,requestAnimationFrame(t)):O===`static`?B.current=[]:M.current=[]};t()}},G=[b,y,x,S,O],n[20]=y,n[21]=S,n[22]=x,n[23]=O,n[24]=b,n[25]=ne,n[26]=G):(ne=n[25],G=n[26]),(0,o.useEffect)(ne,G);let re,ie;n[27]!==y||n[28]!==r||n[29]!==S||n[30]!==C||n[31]!==x||n[32]!==w||n[33]!==T||n[34]!==a||n[35]!==O||n[36]!==b||n[37]!==D?(re=()=>{let e=k.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n,i=o=>{let s=e.getBoundingClientRect();if(y&&o-N.current>30&&(N.current=o,a!==void 0)){let e=Math.max(.05,Math.min(1,a*D));if(O===`static`){let t=Math.floor(s.width/(x+S)),n=Math.floor(t/2),r=[];for(let t=n-1;t>=0;t--){let i=e*(1-Math.abs(t-n/2)/(n/2)*.3);r.push(Math.max(.05,i))}for(let t=0;t<n;t++){let i=e*(1-Math.abs(t-n/2)/(n/2)*.3);r.push(Math.max(.05,i))}B.current=r,L.current=r}else M.current.push(e),L.current=[...M.current],M.current.length>60&&M.current.shift();V.current=!0}if(!V.current&&!y){n=requestAnimationFrame(i);return}V.current=y,t.clearRect(0,0,s.width,s.height);let c=r||(()=>getComputedStyle(e).color||`#000`)(),l=x+S,u=Math.floor(s.width/l),d=s.height/2;if(O===`static`){let e=b||y||B.current.length>0?B.current:[];for(let n=0;n<u&&n<e.length;n++){let r=e[n]||.1,i=n*l,a=Math.max(4,r*s.height*.8),o=d-a/2;t.fillStyle=c,t.globalAlpha=.4+r*.6,C>0?(t.beginPath(),t.roundRect(i,o,x,a,C),t.fill()):t.fillRect(i,o,x,a)}}else for(let e=0;e<u&&e<M.current.length;e++){let n=M.current.length-1-e,r=M.current[n]||.1,i=s.width-(e+1)*l,a=Math.max(4,r*s.height*.8),o=d-a/2;t.fillStyle=c,t.globalAlpha=.4+r*.6,C>0?(t.beginPath(),t.roundRect(i,o,x,a,C),t.fill()):t.fillRect(i,o,x,a)}if(w&&T>0&&s.width>0){if(!H.current||U.current!==s.width){let e=t.createLinearGradient(0,0,s.width,0),n=Math.min(.3,T/s.width);e.addColorStop(0,`rgba(255,255,255,1)`),e.addColorStop(n,`rgba(255,255,255,0)`),e.addColorStop(1-n,`rgba(255,255,255,0)`),e.addColorStop(1,`rgba(255,255,255,1)`),H.current=e,U.current=s.width}t.globalCompositeOperation=`destination-out`,t.fillStyle=H.current,t.fillRect(0,0,s.width,s.height),t.globalCompositeOperation=`source-over`}t.globalAlpha=1,n=requestAnimationFrame(i)};return n=requestAnimationFrame(i),()=>{n&&cancelAnimationFrame(n)}},ie=[y,b,D,x,S,C,r,w,T,O,a,60,30],n[27]=y,n[28]=r,n[29]=S,n[30]=C,n[31]=x,n[32]=w,n[33]=T,n[34]=a,n[35]=O,n[36]=b,n[37]=D,n[38]=re,n[39]=ie):(re=n[38],ie=n[39]),(0,o.useEffect)(re,ie);let K;n[40]===i?K=n[41]:(K=P(`relative h-full w-full`,i),n[40]=i,n[41]=K);let q;n[42]===W?q=n[43]:(q={height:W},n[42]=W,n[43]=q);let J=y?`Live audio waveform`:b?`Processing audio`:`Audio waveform idle`,Y;n[44]!==y||n[45]!==b?(Y=!y&&!b&&(0,f.jsx)(`div`,{className:`border-muted-foreground/20 absolute top-1/2 right-0 left-0 -translate-y-1/2 border-t-2 border-dotted`}),n[44]=y,n[45]=b,n[46]=Y):Y=n[46];let X;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(X=(0,f.jsx)(`canvas`,{className:`block h-full w-full`,ref:k}),n[47]=X):X=n[47];let Z;return n[48]!==s||n[49]!==K||n[50]!==q||n[51]!==J||n[52]!==Y?(Z=(0,f.jsxs)(`div`,{className:K,ref:A,style:q,"aria-label":J,role:`img`,...s,children:[Y,X]}),n[48]=s,n[49]=K,n[50]=q,n[51]=J,n[52]=Y,n[53]=Z):Z=n[53],Z};function Je(e){let n=(0,t.c)(65),{isActive:r,isConnecting:i,isMuted:a,audioLevel:o,toolCall:c,onStart:l,onStop:u,onToggleMute:d,className:p}=e,m=o?.micLevel??0,h=o?.speakerLevel??0,g=c?.status===`started`?`calling`:c?.status===`completed`?c.error?`error`:`success`:`idle`,_;n[0]===g?_=n[1]:(_=()=>{switch(g){case`calling`:return`border-blue-500/60 shadow-[0_0_12px_rgba(59,130,246,0.3)]`;case`success`:return`border-green-500/60 shadow-[0_0_12px_rgba(34,197,94,0.3)]`;case`error`:return`border-red-500/60 shadow-[0_0_12px_rgba(239,68,68,0.3)]`;default:return`border-border`}},n[0]=g,n[1]=_);let v=_;if(!r&&!i){let e;n[2]===p?e=n[3]:(e=P(`flex items-center`,p),n[2]=p,n[3]=e);let t,r;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,f.jsx)(s.Phone,{className:`h-4 w-4`}),r=(0,f.jsx)(`span`,{className:`text-xs`,children:`Voice`}),n[4]=t,n[5]=r):(t=n[4],r=n[5]);let i;n[6]===l?i=n[7]:(i=(0,f.jsxs)(Q,{variant:`outline`,size:`sm`,onClick:l,className:`gap-2 rounded-full`,"aria-label":`Start voice session`,children:[t,r]}),n[6]=l,n[7]=i);let a;return n[8]!==e||n[9]!==i?(a=(0,f.jsx)(`div`,{className:e,children:i}),n[8]=e,n[9]=i,n[10]=a):a=n[10],a}let y;n[11]!==p||n[12]!==v?(y=P(`flex items-center gap-3 rounded-full border bg-background/95 px-3 py-2 backdrop-blur-sm transition-all duration-300`,v(),p),n[11]=p,n[12]=v,n[13]=y):y=n[13];let b=a?`bg-muted text-muted-foreground`:`bg-primary/10 text-primary`,x;n[14]===b?x=n[15]:(x=P(`flex h-8 w-8 items-center justify-center rounded-full transition-colors`,b),n[14]=b,n[15]=x);let S;n[16]===a?S=n[17]:(S=a?(0,f.jsx)(s.MicOff,{className:`h-4 w-4`}):(0,f.jsx)(s.Mic,{className:`h-4 w-4`}),n[16]=a,n[17]=S);let C;n[18]!==x||n[19]!==S?(C=(0,f.jsx)(`div`,{className:x,children:S}),n[18]=x,n[19]=S,n[20]=C):C=n[20];let w=r&&!a,T;n[21]!==i||n[22]!==m||n[23]!==w?(T=(0,f.jsx)(`div`,{className:`h-6 w-16`,children:(0,f.jsx)(qe,{active:w,processing:i,manualAudioLevel:m,barWidth:2,barGap:1,barRadius:2,barColor:`hsl(var(--primary))`,height:24,mode:`static`,sensitivity:2,fadeEdges:!1})}),n[21]=i,n[22]=m,n[23]=w,n[24]=T):T=n[24];let E;n[25]!==C||n[26]!==T?(E=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C,T]}),n[25]=C,n[26]=T,n[27]=E):E=n[27];let D;n[28]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,f.jsx)(`div`,{className:`h-6 w-px bg-border`}),n[28]=D):D=n[28];let O;n[29]!==r||n[30]!==i||n[31]!==h?(O=(0,f.jsx)(`div`,{className:`h-6 w-16`,children:(0,f.jsx)(qe,{active:r,processing:i,manualAudioLevel:h,barWidth:2,barGap:1,barRadius:2,barColor:`hsl(var(--muted-foreground))`,height:24,mode:`static`,sensitivity:2,fadeEdges:!1})}),n[29]=r,n[30]=i,n[31]=h,n[32]=O):O=n[32];let k;n[33]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,f.jsx)(`div`,{className:P(`flex h-8 w-8 items-center justify-center rounded-full bg-muted text-muted-foreground`),children:(0,f.jsx)(s.Volume2,{className:`h-4 w-4`})}),n[33]=k):k=n[33];let A;n[34]===O?A=n[35]:(A=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k]}),n[34]=O,n[35]=A);let j;n[36]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,f.jsx)(`div`,{className:`h-6 w-px bg-border`}),n[36]=j):j=n[36];let M=!r,N=a&&`text-destructive hover:text-destructive`,F;n[37]===N?F=n[38]:(F=P(`h-8 w-8 rounded-full`,N),n[37]=N,n[38]=F);let I=a?`Unmute microphone`:`Mute microphone`,L;n[39]===a?L=n[40]:(L=a?(0,f.jsx)(s.MicOff,{className:`h-4 w-4`}):(0,f.jsx)(s.Mic,{className:`h-4 w-4`}),n[39]=a,n[40]=L);let R;n[41]!==d||n[42]!==M||n[43]!==F||n[44]!==I||n[45]!==L?(R=(0,f.jsx)(Q,{variant:`ghost`,size:`icon`,onClick:d,disabled:M,className:F,"aria-label":I,children:L}),n[41]=d,n[42]=M,n[43]=F,n[44]=I,n[45]=L,n[46]=R):R=n[46];let z;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,f.jsx)(s.PhoneOff,{className:`h-4 w-4`}),n[47]=z):z=n[47];let B;n[48]===u?B=n[49]:(B=(0,f.jsx)(Q,{variant:`ghost`,size:`icon`,onClick:u,className:`h-8 w-8 rounded-full text-destructive hover:bg-destructive/10 hover:text-destructive`,"aria-label":`End voice session`,children:z}),n[48]=u,n[49]=B);let V;n[50]!==R||n[51]!==B?(V=(0,f.jsxs)(`div`,{className:`flex items-center gap-1`,children:[R,B]}),n[50]=R,n[51]=B,n[52]=V):V=n[52];let H;n[53]!==c||n[54]!==g?(H=c&&g!==`idle`&&(0,f.jsxs)(`div`,{className:P(`ml-1 flex items-center gap-1 rounded-full px-2 py-0.5 text-xs`,g===`calling`&&`bg-blue-500/10 text-blue-600`,g===`success`&&`bg-green-500/10 text-green-600`,g===`error`&&`bg-red-500/10 text-red-600`),children:[(0,f.jsx)(`span`,{className:P(`h-1.5 w-1.5 rounded-full`,g===`calling`&&`animate-pulse bg-blue-500`,g===`success`&&`bg-green-500`,g===`error`&&`bg-red-500`)}),(0,f.jsx)(`span`,{className:`max-w-[80px] truncate`,children:c.toolName})]}),n[53]=c,n[54]=g,n[55]=H):H=n[55];let U;n[56]===i?U=n[57]:(U=i&&(0,f.jsxs)(`div`,{className:`ml-1 flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,f.jsx)(`span`,{className:`h-1.5 w-1.5 animate-pulse rounded-full bg-amber-500`}),(0,f.jsx)(`span`,{children:`Connecting...`})]}),n[56]=i,n[57]=U);let W;return n[58]!==A||n[59]!==y||n[60]!==V||n[61]!==H||n[62]!==U||n[63]!==E?(W=(0,f.jsxs)(`div`,{className:y,children:[E,D,A,j,V,H,U]}),n[58]=A,n[59]=y,n[60]=V,n[61]=H,n[62]=U,n[63]=E,n[64]=W):W=n[64],W}let Ye=()=>(0,f.jsx)(c.LazyMotion,{features:c.domAnimation,children:(0,f.jsx)(c.MotionConfig,{reducedMotion:`user`,children:(0,f.jsx)(n.ThreadPrimitive.Root,{className:`aui-root aui-thread-root app-shell @container relative flex h-full flex-col bg-background/50`,style:{"--thread-max-width":`100%`},children:(0,f.jsxs)(n.ThreadPrimitive.Viewport,{className:`aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4`,children:[(0,f.jsx)(n.ThreadPrimitive.If,{empty:!0,children:(0,f.jsx)($e,{})}),(0,f.jsx)(n.ThreadPrimitive.Messages,{components:{UserMessage:it,EditComposer:ot,AssistantMessage:nt}}),(0,f.jsx)(n.ThreadPrimitive.If,{empty:!1,children:(0,f.jsx)(`div`,{className:`aui-thread-viewport-spacer min-h-8 grow`})}),(0,f.jsx)(Xe,{})]})})})}),Xe=()=>{let e=(0,t.c)(8),n=ae(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(Qe,{}),e[0]=r):r=e[0];let i;e[1]===n?i=e[2]:(i=n?.isSupported&&(n.isActive||n.isConnecting)&&(0,f.jsx)(l.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},className:`flex justify-center`,children:(0,f.jsx)(Je,{isActive:n.isActive,isConnecting:n.isConnecting,isMuted:n.isMuted,audioLevel:n.audioLevel,toolCall:n.toolCall,onStart:n.startSession,onStop:n.stopSession,onToggleMute:()=>n.toggleMute()})}),e[1]=n,e[2]=i);let a;e[3]===i?a=e[4]:(a=(0,f.jsx)(c.AnimatePresence,{children:i}),e[3]=i,e[4]=a);let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,f.jsx)(Ze,{}),e[5]=o):o=e[5];let s;return e[6]===a?s=e[7]:(s=(0,f.jsxs)(`div`,{className:`aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl pb-4 md:pb-6`,children:[r,a,o]}),e[6]=a,e[7]=s),s},Ze=()=>{let e=(0,t.c)(13),r=ae(),i,a,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=P(`aui-composer-root group/composer flex w-full flex-col overflow-hidden rounded-2xl px-3 py-2`,`border border-border/40 shadow-sm backdrop-blur-md`,`bg-background/80`,`transition-all duration-200`,`focus-within:border-ring/50 focus-within:shadow-md`,`hover:border-border/60`),a=(0,f.jsx)(Ae,{}),o=(0,f.jsx)(n.ComposerPrimitive.Input,{placeholder:`Send a message...`,className:`aui-composer-input mt-2 max-h-24 w-full resize-none bg-transparent px-0 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground/70 focus-visible:outline-none focus-visible:ring-0`,rows:1,autoFocus:!0,"aria-label":`Message input`}),e[0]=i,e[1]=a,e[2]=o):(i=e[0],a=e[1],o=e[2]);let c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(je,{}),l=(0,f.jsx)(Ge,{}),e[3]=c,e[4]=l):(c=e[3],l=e[4]);let u;e[5]===r?u=e[6]:(u=r?.isSupported&&(0,f.jsxs)(Q,{variant:`ghost`,size:`sm`,onClick:()=>r.startSession(),className:`gap-2 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Start voice session`,children:[(0,f.jsx)(s.Phone,{className:`h-4 w-4`}),(0,f.jsx)(`span`,{className:`text-xs`,children:`Voice`})]}),e[5]=r,e[6]=u);let d;e[7]===u?d=e[8]:(d=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l,u]}),e[7]=u,e[8]=d);let p;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,f.jsx)(n.ThreadPrimitive.If,{running:!1,children:(0,f.jsx)(n.ComposerPrimitive.Send,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Send message`,side:`top`,type:`submit`,variant:`ghost`,size:`icon`,className:`aui-composer-send size-8 shrink-0 rounded-full border border-primary/60 bg-primary px-0 text-primary-foreground shadow-[0_12px_24px_-16px_rgba(37,99,235,0.55)] transition-shadow hover:shadow-[0_14px_24px_-14px_rgba(37,99,235,0.6)] focus-visible:ring-2 focus-visible:ring-primary/40`,"aria-label":`Send message`,children:(0,f.jsx)(s.ArrowUpIcon,{className:`aui-composer-send-icon size-4`})})})}),e[9]=p):p=e[9];let m;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[p,(0,f.jsx)(n.ThreadPrimitive.If,{running:!0,children:(0,f.jsx)(n.ComposerPrimitive.Cancel,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Stop generating`,side:`top`,type:`button`,variant:`ghost`,size:`icon`,className:`aui-composer-cancel size-8 shrink-0 rounded-full border border-destructive/60 bg-destructive px-0 text-destructive-foreground shadow-[0_12px_24px_-18px_rgba(220,38,38,0.55)] transition-shadow hover:shadow-[0_14px_24px_-16px_rgba(220,38,38,0.6)] focus-visible:ring-2 focus-visible:ring-destructive/40`,"aria-label":`Stop generating`,children:(0,f.jsx)(s.Square,{className:`aui-composer-cancel-icon size-3.5`})})})})]}),e[10]=m):m=e[10];let h;return e[11]===d?h=e[12]:(h=(0,f.jsxs)(n.ComposerPrimitive.Root,{className:i,children:[a,o,(0,f.jsxs)(`div`,{className:`aui-composer-action-wrapper mt-2 flex items-center justify-between text-muted-foreground`,children:[d,m]})]}),e[11]=d,e[12]=h),h},Qe=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ThreadPrimitive.ScrollToBottom,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Scroll to bottom`,variant:`outline`,className:`aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent`,children:(0,f.jsx)(s.ArrowDownIcon,{})})}),e[0]=r):r=e[0],r},$e=()=>{let e=(0,t.c)(2),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(l.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},className:`aui-thread-welcome-message-motion-1 text-3xl font-bold tracking-tight`,children:`Hello there!`}),e[0]=n):n=e[0];let r;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsxs)(`div`,{className:`aui-thread-welcome-root mx-auto my-auto flex w-full max-w-[var(--thread-max-width)] flex-grow flex-col`,children:[(0,f.jsx)(`div`,{className:`aui-thread-welcome-center flex w-full flex-grow flex-col items-center justify-center`,children:(0,f.jsxs)(`div`,{className:`aui-thread-welcome-message flex size-full flex-col justify-center px-8`,children:[n,(0,f.jsx)(l.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.1},className:`aui-thread-welcome-message-motion-2 mt-2 text-lg text-muted-foreground`,children:`How can I help you today?`})]})}),(0,f.jsx)(et,{})]}),e[1]=r):r=e[1],r},et=()=>{let e=(0,t.c)(1),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(`div`,{className:`aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2`,children:[{title:`What's the weather`,label:`in San Francisco?`,action:`What's the weather in San Francisco?`},{title:`Explain React hooks`,label:`like useState and useEffect`,action:`Explain React hooks like useState and useEffect`},{title:`Write a SQL query`,label:`to find top customers`,action:`Write a SQL query to find top customers`},{title:`Create a meal plan`,label:`for healthy weight loss`,action:`Create a meal plan for healthy weight loss`}].map(ct)}),e[0]=n):n=e[0],n},tt=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.Error,{children:(0,f.jsx)(n.ErrorPrimitive.Root,{className:`aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200`,children:(0,f.jsx)(n.ErrorPrimitive.Message,{className:`aui-message-error-message line-clamp-2`})})}),e[0]=r):r=e[0],r},nt=()=>{let e=(0,t.c)(2),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsxs)(`div`,{className:`aui-assistant-message-content mx-2 leading-7 break-words text-foreground`,children:[(0,f.jsx)(n.MessagePrimitive.Parts,{components:{Text:Le,tools:{Fallback:Ke}}}),(0,f.jsx)(tt,{})]}),e[0]=r):r=e[0];let i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsxs)(`div`,{className:`aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] animate-in py-4 duration-200 fade-in slide-in-from-bottom-1 last:mb-24`,"data-role":`assistant`,children:[r,(0,f.jsxs)(`div`,{className:`aui-assistant-message-footer mt-2 ml-2 flex`,children:[(0,f.jsx)(st,{}),(0,f.jsx)(rt,{})]})]})}),e[1]=i):i=e[1],i},rt=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.If,{copied:!0,children:(0,f.jsx)(s.CheckIcon,{})}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.ActionBarPrimitive.Copy,{asChild:!0,children:(0,f.jsxs)($,{tooltip:`Copy`,children:[r,(0,f.jsx)(n.MessagePrimitive.If,{copied:!1,children:(0,f.jsx)(s.CopyIcon,{})})]})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsxs)(n.ActionBarPrimitive.Root,{hideWhenRunning:!0,autohide:`not-last`,autohideFloat:`single-branch`,className:`aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex gap-1 text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm`,children:[i,(0,f.jsx)(n.ActionBarPrimitive.Reload,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Refresh`,children:(0,f.jsx)(s.RefreshCwIcon,{})})})]}),e[2]=a):a=e[2],a},it=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(ke,{}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(`div`,{className:`aui-user-message-content rounded-2xl rounded-tr-sm bg-primary text-primary-foreground px-4 py-3 text-sm leading-relaxed shadow-sm`,children:(0,f.jsx)(n.MessagePrimitive.Parts,{})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsxs)(`div`,{className:`aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-200 fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2`,"data-role":`user`,children:[r,(0,f.jsxs)(`div`,{className:`aui-user-message-content-wrapper relative col-start-2 min-w-0 max-w-[85%]`,children:[i,(0,f.jsx)(`div`,{className:`aui-user-action-bar-wrapper absolute top-1/2 left-0 -translate-x-full -translate-y-1/2 pr-2`,children:(0,f.jsx)(at,{})})]}),(0,f.jsx)(st,{className:`aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end`})]})}),e[2]=a):a=e[2],a},at=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ActionBarPrimitive.Root,{hideWhenRunning:!0,autohide:`not-last`,className:`aui-user-action-bar-root flex flex-col items-end`,children:(0,f.jsx)(n.ActionBarPrimitive.Edit,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Edit`,className:`aui-user-action-edit p-4`,children:(0,f.jsx)(s.PencilIcon,{})})})}),e[0]=r):r=e[0],r},ot=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ComposerPrimitive.Input,{className:`aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none`,autoFocus:!0}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.ComposerPrimitive.Cancel,{asChild:!0,children:(0,f.jsx)(Q,{variant:`ghost`,size:`sm`,"aria-label":`Cancel edit`,children:`Cancel`})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(`div`,{className:`aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4`,children:(0,f.jsxs)(n.ComposerPrimitive.Root,{className:`aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted`,children:[r,(0,f.jsxs)(`div`,{className:`aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end`,children:[i,(0,f.jsx)(n.ComposerPrimitive.Send,{asChild:!0,children:(0,f.jsx)(Q,{size:`sm`,"aria-label":`Update message`,children:`Update`})})]})]})}),e[2]=a):a=e[2],a},st=e=>{let r=(0,t.c)(12),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=P(`aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground`,i),r[3]=i,r[4]=o);let c;r[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(n.BranchPickerPrimitive.Previous,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Previous`,children:(0,f.jsx)(s.ChevronLeftIcon,{})})}),r[5]=c):c=r[5];let l;r[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(n.BranchPickerPrimitive.Number,{}),r[6]=l):l=r[6];let u;r[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,f.jsxs)(`span`,{className:`aui-branch-picker-state font-medium`,children:[l,` / `,(0,f.jsx)(n.BranchPickerPrimitive.Count,{})]}),r[7]=u):u=r[7];let d;r[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,f.jsx)(n.BranchPickerPrimitive.Next,{asChild:!0,children:(0,f.jsx)($,{tooltip:`Next`,children:(0,f.jsx)(s.ChevronRightIcon,{})})}),r[8]=d):d=r[8];let p;return r[9]!==a||r[10]!==o?(p=(0,f.jsxs)(n.BranchPickerPrimitive.Root,{hideWhenSingleBranch:!0,className:o,...a,children:[c,u,d]}),r[9]=a,r[10]=o,r[11]=p):p=r[11],p};function ct(e,t){return(0,f.jsx)(l.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{delay:.05*t},className:`aui-thread-welcome-suggestion-display [&:nth-child(n+3)]:hidden @md:[&:nth-child(n+3)]:block`,children:(0,f.jsx)(n.ThreadPrimitive.Suggestion,{prompt:e.action,send:!0,asChild:!0,children:(0,f.jsxs)(Q,{variant:`outline`,className:`aui-thread-welcome-suggestion h-auto w-full flex-1 flex-wrap items-start justify-start gap-1 rounded-xl border-border/50 bg-background/50 px-4 py-3 text-left text-sm transition-colors hover:bg-accent/50 hover:border-accent @md:flex-col`,"aria-label":e.action,children:[(0,f.jsx)(`span`,{className:`aui-thread-welcome-suggestion-text-1 font-medium text-foreground`,children:e.title}),(0,f.jsx)(`span`,{className:`aui-thread-welcome-suggestion-text-2 text-muted-foreground text-xs`,children:e.label})]})})},`suggested-action-${e.title}-${t}`)}let lt=()=>{let e=(0,t.c)(2),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.AssistantModalPrimitive.Anchor,{className:`aui-root aui-modal-anchor fixed right-6 bottom-6 size-14`,children:(0,f.jsx)(n.AssistantModalPrimitive.Trigger,{asChild:!0,children:(0,f.jsx)(ut,{})})}),e[0]=r):r=e[0];let i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsxs)(n.AssistantModalPrimitive.Root,{children:[r,(0,f.jsx)(n.AssistantModalPrimitive.Content,{sideOffset:16,className:`aui-root aui-modal-content z-50 h-[600px] w-[500px] overflow-clip overscroll-contain rounded-2xl border border-border/50 bg-popover/95 backdrop-blur-xl p-0 text-popover-foreground shadow-2xl outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-bottom-1/2 data-[state=closed]:slide-out-to-right-1/2 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-bottom-1/2 data-[state=open]:slide-in-from-right-1/2 data-[state=open]:zoom-in-95 [&>.aui-thread-root]:bg-inherit`,children:(0,f.jsx)(Ye,{})})]}),e[1]=i):i=e[1],i},ut=(0,o.forwardRef)((e,n)=>{let r=(0,t.c)(15),i,a;r[0]===e?(i=r[1],a=r[2]):({"data-state":a,...i}=e,r[0]=e,r[1]=i,r[2]=a);let o=a===`open`?`Close Assistant`:`Open Assistant`,c,l;r[3]===a?(c=r[4],l=r[5]):(c=(0,f.jsx)(`img`,{src:`/logo.png`,alt:`Assistant`,"data-state":a,className:`aui-modal-button-closed-icon absolute size-full object-contain drop-shadow-xl transition-all duration-300 ease-in-out hover:drop-shadow-2xl data-[state=closed]:scale-100 data-[state=closed]:rotate-0 data-[state=open]:scale-0 data-[state=open]:rotate-90`}),l=(0,f.jsx)(s.ChevronDownIcon,{"data-state":a,className:`aui-modal-button-open-icon absolute size-full rounded-full bg-primary p-3 text-primary-foreground shadow-xl transition-all duration-300 ease-in-out hover:shadow-2xl data-[state=closed]:scale-0 data-[state=closed]:-rotate-90 data-[state=open]:scale-100 data-[state=open]:rotate-0`}),r[3]=a,r[4]=c,r[5]=l);let u;r[6]===o?u=r[7]:(u=(0,f.jsx)(`span`,{className:`aui-sr-only sr-only`,children:o}),r[6]=o,r[7]=u);let d;return r[8]!==n||r[9]!==i||r[10]!==c||r[11]!==l||r[12]!==u||r[13]!==o?(d=(0,f.jsxs)($,{variant:`ghost`,tooltip:o,side:`left`,...i,className:`aui-modal-button size-full rounded-full transition-all hover:scale-105 hover:bg-transparent active:scale-95`,ref:n,children:[c,l,u]}),r[8]=n,r[9]=i,r[10]=c,r[11]=l,r[12]=u,r[13]=o,r[14]=d):d=r[14],d});ut.displayName=`AssistantModalButton`;let dt=({tool:e,callTool:t})=>((0,n.useAssistantTool)({toolName:e.name,description:e.description??``,parameters:e.inputSchema??{},execute:async n=>{try{return(await t(e.name,n)).content.map(e=>`text`in e&&typeof e.text==`string`?e.text:JSON.stringify(e)).join(`
5
- `)||`Tool executed successfully`}catch(t){throw console.error(`[ToolBridge] Tool '${e.name}' execution failed:`,t),t}}}),null),ft=()=>{let e=(0,t.c)(7),{tools:n,callTool:r}=We(),i;if(e[0]!==r||e[1]!==n){let t;e[3]===r?t=e[4]:(t=e=>(0,f.jsx)(dt,{tool:e,callTool:r},`${e._sourceId}-${e.name}`),e[3]=r,e[4]=t),i=n.map(t),e[0]=r,e[1]=n,e[2]=i}else i=e[2];let a;return e[5]===i?a=e[6]:(a=(0,f.jsx)(f.Fragment,{children:i}),e[5]=i,e[6]=a),a};function pt(){if(typeof document>`u`)return;let e=`webmcp-agent-styles`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=`/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
6
- @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklch,var(--ring),transparent 50%)}}body{background-color:var(--background);color:var(--foreground)}}@layer components{.app-shell{z-index:0;background-color:var(--background);background-image:radial-gradient(80% 60% at -10% -10%,oklch(82% .15 270/.15),#0000),radial-gradient(60% 50% at 110% 10%,oklch(85% .1 220/.12),#0000),radial-gradient(50% 45% at 50% 120%,oklch(95% .02 250/.08),#0000);position:relative}.dark .app-shell{background-image:radial-gradient(80% 60% at -10% -10%,oklch(55% .14 270/.25),#0000),radial-gradient(60% 50% at 110% 15%,oklch(60% .12 220/.22),#0000),radial-gradient(50% 45% at 50% 120%,oklch(35% .04 250/.16),#0000)}.app-shell:before,.app-shell:after{content:"";pointer-events:none;filter:blur(32px);opacity:.6;z-index:-1;border-radius:9999px;position:absolute;inset:auto}.app-shell:before{background:radial-gradient(60% 60% at 40% 40%,oklch(80% .12 270/.3),#0000);width:260px;height:260px;top:-60px;left:-80px}.app-shell:after{background:radial-gradient(60% 60% at 60% 60%,oklch(84% .1 220/.25),#0000);width:300px;height:300px;bottom:-80px;right:-60px}.toolbar-surface{border-top:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-surface-top{border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface-top{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-inner{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.toolbar-card{background:var(--card);justify-content:space-between;align-items:center;gap:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.toolbar-card{background:color-mix(in oklch,var(--card),transparent 60%)}}.toolbar-card{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem}.toolbar-group{align-items:center;gap:.25rem;display:flex}.btn-toolbar-primary{background:linear-gradient(to right,var(--primary),var(--primary));border-radius:.75rem;align-items:center;gap:.5rem;height:2.25rem;padding:0 .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 95%),color-mix(in oklch,var(--primary),transparent 90%))}}.btn-toolbar-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 80%)}}.btn-toolbar-primary{transition:all .2s}.btn-toolbar-primary:hover{background:linear-gradient(to right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary:hover{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,var(--primary),var(--primary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 70%)}}.btn-toolbar-icon-primary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 80%),color-mix(in oklch,var(--primary),transparent 70%))}}.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,var(--secondary),var(--secondary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 90%),color-mix(in oklch,var(--secondary),transparent 80%))}}.btn-toolbar-icon-secondary{border:1px solid var(--secondary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{border:1px solid color-mix(in oklch,var(--secondary),transparent 70%)}}.btn-toolbar-icon-secondary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,var(--secondary),var(--secondary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 80%),color-mix(in oklch,var(--secondary),transparent 70%))}}.badge-compact{height:1.25rem;padding:0 .5rem;font-size:10px}.badge-mini{height:1rem;padding:0 .375rem;font-size:10px}@keyframes shimmer-bg{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/1000px 100%;animation:3s linear infinite shimmer-bg}.animate-shimmer{animation:2s linear infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(var(--primary),.1)}50%{box-shadow:0 0 30px rgba(var(--primary),.2)}}.pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes gradient-x{0%,to{background-position:0%}50%{background-position:100%}}.animate-gradient-x{animation:8s ease-in-out infinite gradient-x}.gradient-text{background:linear-gradient(to right,var(--foreground),var(--foreground))}@supports (color:color-mix(in lab, red, red)){.gradient-text{background:linear-gradient(to right,var(--foreground),color-mix(in oklch,var(--foreground),transparent 30%))}}.gradient-text{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklch,var(--background),transparent 50%)}}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.glass{border:1px solid color-mix(in oklch,var(--border),transparent 50%)}}.tool-card{transition:all .3s ease-out}.tool-card:hover{transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb{background-color:color-mix(in oklch,var(--primary),transparent 80%)}}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklch,var(--primary),transparent 70%)}}}@layer utilities{.\\@container{container-type:inline-size}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.inset-0{inset:calc(var(--spacing)*0)}.-top-12{top:calc(var(--spacing)*-12)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-2{margin-block:calc(var(--spacing)*2)}.my-auto{margin-block:auto}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.-ml-2{margin-left:calc(var(--spacing)*-2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[34px\\]{width:34px;height:34px}.size-full{width:100%;height:100%}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-6{height:calc(var(--spacing)*6)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-\\[600px\\]{height:600px}.h-auto{height:auto}.h-full{height:100%}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[80dvh\\]{max-height:80dvh}.max-h-\\[80vh\\]{max-height:80vh}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\\[60px\\]{min-height:60px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-6{width:calc(var(--spacing)*6)}.w-8{width:calc(var(--spacing)*8)}.w-16{width:calc(var(--spacing)*16)}.w-\\[500px\\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7\\/8{max-width:87.5%}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[80px\\]{max-width:80px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-\\[var\\(--thread-max-width\\)\\]{max-width:var(--thread-max-width)}.max-w-full{max-width:100%}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-m-20{scroll-margin:calc(var(--spacing)*20)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-\\[minmax\\(72px\\,1fr\\)_auto\\]{grid-template-columns:minmax(72px,1fr) auto}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[14px\\]{border-radius:14px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.\\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-blue-500\\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\\/60{border-color:#3080ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/60{border-color:color-mix(in oklab,var(--color-blue-500)60%,transparent)}}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab,var(--border)20%,transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-destructive,.border-destructive\\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\\/60{border-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.border-foreground\\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-green-500\\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-500\\/60{border-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/60{border-color:color-mix(in oklab,var(--color-green-500)60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary\\/60{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-red-500\\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/60{border-color:color-mix(in oklab,var(--color-red-500)60%,transparent)}}.border-transparent{border-color:#0000}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:rgb(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:color-mix(in oklab,rgb(var(--background))20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive,.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted\\/5{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/5{background-color:color-mix(in oklab,var(--muted)5%,transparent)}}.bg-muted\\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover\\/95{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.bg-popover\\/95{background-color:color-mix(in oklab,var(--popover)95%,transparent)}}.bg-primary,.bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-yellow-500{background-color:var(--color-yellow-500)}.fill-foreground{fill:var(--foreground)}.stroke-\\[1\\.5px\\]{stroke-width:1.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.text-\\[19px\\]{font-size:19px}.text-\\[21px\\]{font-size:21px}.text-\\[25px\\]{font-size:25px}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\\/65{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--muted-foreground)65%,transparent)}}.text-muted-foreground\\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(34\\,197\\,94\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(239\\,68\\,68\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef44444d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-16px_rgba\\(37\\,99\\,235\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -16px var(--tw-shadow-color,#2563eb8c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-18px_rgba\\(220\\,38\\,38\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#dc26268c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:inset_0_1px_2px_0_rgba\\(255\\,255\\,255\\,0\\.15\\)\\]{box-shadow:inset 0 1px 2px #ffffff26}.shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\\:text-muted-foreground::placeholder,.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.first\\:mt-3:first-child{margin-top:calc(var(--spacing)*3)}.first\\:mt-4:first-child{margin-top:calc(var(--spacing)*4)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\\:mb-5:last-child{margin-bottom:calc(var(--spacing)*5)}.last\\:mb-24:last-child{margin-bottom:calc(var(--spacing)*24)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\\:border-r:last-child{border-right-style:var(--tw-border-style);border-right-width:1px}.empty\\:hidden:empty{display:none}.focus-within\\:border-ring\\/50:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-ring\\/50:focus-within{border-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-within\\:border-white\\/20:focus-within{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-white\\/20:focus-within{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:border-accent:hover{border-color:var(--accent)}.hover\\:border-border\\/60:hover{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\\:border-border\\/60:hover{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\\:border-white\\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/15:hover{border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.hover\\:\\!bg-white:hover{background-color:var(--color-white)!important}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\\:bg-destructive\\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\\:bg-destructive\\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-muted-foreground\\/15:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted-foreground\\/15:hover{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-destructive:hover{color:var(--destructive)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-75:hover{opacity:.75}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-14px_rgba\\(37\\,99\\,235\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -14px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-16px_rgba\\(220\\,38\\,38\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -16px var(--tw-shadow-color,#dc262699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:drop-shadow-2xl:hover{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:invisible:disabled{visibility:hidden}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-floating\\:absolute[data-floating]{position:absolute}.data-floating\\:rounded-md[data-floating]{border-radius:calc(var(--radius) - 2px)}.data-floating\\:border[data-floating]{border-style:var(--tw-border-style);border-width:1px}.data-floating\\:bg-background[data-floating]{background-color:var(--background)}.data-floating\\:p-1[data-floating]{padding:calc(var(--spacing)*1)}.data-floating\\:shadow-sm[data-floating]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[state\\=closed\\]\\:scale-0[data-state=closed]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:scale-100[data-state=closed]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:-rotate-90[data-state=closed]{rotate:-90deg}.data-\\[state\\=closed\\]\\:rotate-0[data-state=closed]{rotate:none}.data-\\[state\\=open\\]\\:scale-0[data-state=open]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:rotate-0[data-state=open]{rotate:none}.data-\\[state\\=open\\]\\:rotate-90[data-state=open]{rotate:90deg}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}@media (min-width:40rem){.sm\\:max-w-3xl{max-width:var(--container-3xl)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:max-w-md{max-width:var(--container-md)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:pb-6{padding-bottom:calc(var(--spacing)*6)}}@container (min-width:28rem){.\\@md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\\@md\\:flex-col{flex-direction:column}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.dark\\:bg-background:is(.dark *){background-color:var(--background)}.dark\\:bg-destructive\\/5:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/5:is(.dark *){background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.dark\\:stroke-\\[2\\.5px\\]:is(.dark *){stroke-width:2.5px}.dark\\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\\:text-red-200:is(.dark *){color:var(--color-red-200)}@media (hover:hover){.dark\\:hover\\:bg-accent:is(.dark *):hover,.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-background svg{color:var(--background)}.\\[\\&_svg\\]\\:text-black svg{color:var(--color-black)}@media (hover:hover){.hover\\:\\[\\&_svg\\]\\:text-destructive:hover svg{color:var(--destructive)}}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\\[\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:hidden:nth-child(n+3){display:none}@container (min-width:28rem){.\\@md\\:\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:block:nth-child(n+3){display:block}}.\\[\\&\\:where\\(\\>\\*\\)\\]\\:col-start-2:where(){grid-column-start:2}.only\\:\\[\\&\\>\\#attachment-tile\\]\\:size-24:only-child>#attachment-tile{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.\\[\\&\\>\\.aui-thread-root\\]\\:bg-inherit>.aui-thread-root{background-color:inherit}.\\[\\&\\>a\\]\\:text-xs>a{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\>a\\]\\:no-underline>a{text-decoration-line:none}.\\[\\&\\>button\\]\\:rounded-full>button{border-radius:3.40282e38px}.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.\\[\\&\\>button\\]\\:p-1>button{padding:calc(var(--spacing)*1)}.\\[\\&\\>button\\]\\:opacity-100>button{opacity:1}.\\[\\&\\>button\\]\\:\\!ring-0>button{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}@media (hover:hover){.\\[\\&\\>button\\]\\:hover\\:\\[\\&_svg\\]\\:text-destructive>button:hover svg{color:var(--destructive)}}.\\[\\&\\>li\\]\\:mt-1>li{margin-top:calc(var(--spacing)*1)}.\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes smooth-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%,to{transform:translate(0%)translateY(0%)}25%{transform:translate(100%)translateY(100%)}50%{transform:translate(100%)translateY(0%)}75%{transform:translate(0%)translateY(100%)}}@keyframes float{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(-30px)translate(20px)}66%{transform:translateY(20px)translate(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(30px)translate(-30px)}66%{transform:translateY(-20px)translate(20px)}}.tool-card-transition{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.tool-card-smooth{transition:all .35s cubic-bezier(.4,0,.2,1)}.animate-fadeInUp{opacity:0;animation:.5s ease-out forwards fadeInUp}.animate-gradient-shift{background-size:200% 200%;animation:20s ease-in-out infinite gradient-shift}.animate-float-slow{animation:20s ease-in-out infinite float}.animate-float-delayed{animation:25s ease-in-out 5s infinite float-delayed}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{--aui-content:"●";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`,document.head.appendChild(t)}let mt=e=>{let i=(0,t.c)(14),{appId:a,apiBase:o,tokenEndpoint:s,autoConnectLocal:c,onToolsChange:l,onVoiceError:u,onVoiceConnect:d,onVoiceDisconnect:p}=e,m=c===void 0?!0:c,h=o?`${o}/api/chat`:`/api/chat`,g;i[0]===h?g=i[1]:(g=new r.AssistantChatTransport({api:h}),i[0]=h,i[1]=g);let _=g,v;i[2]===_?v=i[3]:(v={transport:_,sendAutomaticallyWhen:_t},i[2]=_,i[3]=v);let y=(0,r.useChatRuntime)(v),b=s||(o?`${o}/api/realtime/session`:void 0);a&&typeof window<`u`&&console.debug(`[WebMCP] Initialized with app_id:`,a);let x;i[4]!==d||i[5]!==p||i[6]!==u||i[7]!==b||i[8]!==y?(x=b?(0,f.jsx)(Z,{tokenEndpoint:b,onError:u,onConnect:d,onDisconnect:p,children:(0,f.jsxs)(n.AssistantRuntimeProvider,{runtime:y,children:[(0,f.jsx)(ft,{}),(0,f.jsx)(lt,{})]})}):(0,f.jsxs)(n.AssistantRuntimeProvider,{runtime:y,children:[(0,f.jsx)(ft,{}),(0,f.jsx)(lt,{})]}),i[4]=d,i[5]=p,i[6]=u,i[7]=b,i[8]=y,i[9]=x):x=i[9];let S;return i[10]!==m||i[11]!==l||i[12]!==x?(S=(0,f.jsx)(Ue,{autoConnectLocal:m,onToolsChange:l,children:x}),i[10]=m,i[11]=l,i[12]=x,i[13]=S):S=i[13],S},ht=(0,i.default)(mt,{props:{appId:`string`,apiBase:`string`,tokenEndpoint:`string`,autoConnectLocal:`boolean`}});function gt(e=`webmcp-agent`){typeof window>`u`||(pt(),customElements.get(e)||customElements.define(e,ht))}gt();function _t(e){return(0,a.lastAssistantMessageIsCompleteWithToolCalls)(e)}return e.EmbeddedAgent=mt,e.WebMCPAgentElement=ht,e.registerWebMCPAgent=gt,e})({},react_compiler_runtime,__assistant_ui_react,__assistant_ui_react_ai_sdk,__r2wc_react_to_web_component,ai,react,lucide_react,motion_react,motion_react_m,clsx,tailwind_merge,react_jsx_runtime,zustand_shallow,__radix_ui_react_avatar,__radix_ui_react_dialog,__radix_ui_react_tooltip,__radix_ui_react_slot,class_variance_authority,__assistant_ui_react_markdown,remark_gfm,__modelcontextprotocol_sdk_client_index_js,__modelcontextprotocol_sdk_types_js,__mcp_b_transports,__modelcontextprotocol_sdk_client_sse_js,__modelcontextprotocol_sdk_client_streamableHttp_js);
4
+ Be concise and helpful in your responses.`}handleSessionError(e){console.error(`Session error:`,e),this.emitSessionState(`error`,{type:`session_error`,error:String(e)}),this.stopSession()}async initializeLocalAnalyzer(e){this.localAnalyzer&&this.localAnalyzer.destroy(),this.localAnalyzer=new L;try{let t=new MediaStream(e.getAudioTracks().map(e=>e.clone()));await this.localAnalyzer.initialize(t),this.startAudioVisualization()}catch(e){console.error(`[OpenAIRealtimeService] Failed to initialize local audio analyzer`,e),this.localAnalyzer&&=(this.localAnalyzer.destroy(),null)}}async initializeRemoteAnalyzer(e){this.remoteAnalyzer&&this.remoteAnalyzer.destroy(),this.remoteAnalyzer=new L;try{let t=new MediaStream(e.getAudioTracks().map(e=>e.clone()));await this.remoteAnalyzer.initialize(t),this.startAudioVisualization()}catch(e){console.error(`[OpenAIRealtimeService] Failed to initialize remote audio analyzer`,e),this.remoteAnalyzer&&=(this.remoteAnalyzer.destroy(),null)}}startAudioVisualization(){if(!this.localAnalyzer&&!this.remoteAnalyzer){I(`OpenAIRealtimeService`,`Audio visualization not started: no analyzers ready`);return}this.visualizationInterval&&clearInterval(this.visualizationInterval);let e=0;this.visualizationInterval=setInterval(()=>{let t=this.localAnalyzer?.getAudioLevel()??0,n=this.localAnalyzer?.getFrequencyData(32)??G(),r=this.remoteAnalyzer?.getAudioLevel()??0,i=this.remoteAnalyzer?.getFrequencyData(32)??G();e++,e%60==0&&I(`OpenAIRealtimeService`,`Audio levels`,{mic:t.toFixed(3),speaker:r.toFixed(3)}),this.eventEmitter.emit(`audio_level`,{micLevel:t,micFrequency:n,speakerLevel:r,speakerFrequency:i})},16)}emitSessionState(e,t={}){this.lastState=e;let n={state:e,isActive:e===`connected`,isMuted:this.muted,...t};switch(this.eventEmitter.emit(`session_state`,n),e){case`connecting`:this.eventEmitter.emit(`session_connecting`,n);break;case`connected`:this.eventEmitter.emit(`session_connected`,n);break;case`disconnected`:this.eventEmitter.emit(`session_closed`,n);break;case`error`:this.eventEmitter.emit(`error`,n);break;default:break}}};function ee(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.state==`string`&&[`connecting`,`connected`,`disconnected`,`error`].includes(t.state)&&typeof t.isActive==`boolean`&&typeof t.isMuted==`boolean`}function q(e){return!e||typeof e!=`object`?!1:typeof e.text==`string`}function J(e){if(!e||typeof e!=`object`)return!1;let t=e;return t.delta===void 0||typeof t.delta==`string`}function te(e){return!e||typeof e!=`object`?!1:typeof e.name==`string`}function ne(e){return!e||typeof e!=`object`?!1:typeof e.name==`string`}function Y(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.error==`string`||typeof t.message==`string`||typeof t.type==`string`}function X(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.micLevel==`number`&&Array.isArray(t.micFrequency)&&typeof t.speakerLevel==`number`&&Array.isArray(t.speakerFrequency)}function Z(e){let n=(0,t.c)(43),{tokenEndpoint:r,tools:i,toolExecutor:a,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d}=e,[f,p]=(0,o.useState)(!1),[m,h]=(0,o.useState)(!1),[g,_]=(0,o.useState)(!1),[v,y]=(0,o.useState)(!1),[b,x]=(0,o.useState)(`disconnected`),[S,C]=(0,o.useState)(),[w,T]=(0,o.useState)(),[E,D]=(0,o.useState)(),[O,k]=(0,o.useState)(),A=(0,o.useRef)(null),j=(0,o.useRef)(s),M=(0,o.useRef)(c),N=(0,o.useRef)(l),P=(0,o.useRef)(u),F=(0,o.useRef)(d),I,L;n[0]!==d||n[1]!==s||n[2]!==c||n[3]!==l||n[4]!==u?(I=()=>{j.current=s,M.current=c,N.current=l,P.current=u,F.current=d},L=[s,c,l,u,d],n[0]=d,n[1]=s,n[2]=c,n[3]=l,n[4]=u,n[5]=I,n[6]=L):(I=n[5],L=n[6]),(0,o.useEffect)(I,L);let R;n[7]===r?R=n[8]:(R=()=>(A.current||=new K(r),A.current),n[7]=r,n[8]=R);let z=R,B,V;n[9]!==z||n[10]!==i?(B=()=>{i&&z().setTools(i)},V=[i,z],n[9]=z,n[10]=i,n[11]=B,n[12]=V):(B=n[11],V=n[12]),(0,o.useEffect)(B,V);let H,U;n[13]!==z||n[14]!==a?(H=()=>{a&&z().setToolExecutor(a)},U=[a,z],n[13]=z,n[14]=a,n[15]=H,n[16]=U):(H=n[15],U=n[16]),(0,o.useEffect)(H,U);let W,G;n[17]===z?(W=n[18],G=n[19]):(W=()=>{let e=z(),t=e=>{if(!ee(e)){console.warn(`[useVoiceMode] Invalid session state event data:`,e);return}x(e.state),p(e.isActive),_(e.isMuted),h(e.state===`connecting`),y(e.state===`error`),e.state===`connected`?j.current?.():e.state===`disconnected`&&M.current?.(e.durationSeconds??0)},n=e=>{X(e)&&C(e)},r=e=>{if(!q(e)){console.warn(`[useVoiceMode] Invalid user transcript event data:`,e);return}T({type:`user`,text:e.text,isDone:!0}),P.current?.(e.text)},i=e=>{if(!J(e))return;let t=e.delta||e.transcript||``;T(e=>({type:`assistant`,text:e?.type===`assistant`?e.text+t:t,isDone:!1}))},a=e=>{if(!J(e))return;let t=e.transcript||``;T({type:`assistant`,text:t,isDone:!0}),F.current?.(t)},o=e=>{if(!te(e)){console.warn(`[useVoiceMode] Invalid tool call started event data:`,e);return}D({status:`started`,toolName:e.name})},s=e=>{if(!ne(e)){console.warn(`[useVoiceMode] Invalid tool call completed event data:`,e);return}D({status:`completed`,toolName:e.name,error:e.error}),setTimeout(()=>{D(void 0)},e.error?3e3:1500)},c=e=>{if(!Y(e)){k(`Unknown error`),y(!0),N.current?.(`Unknown error`);return}let t=e.error||e.message||`Unknown error`;k(t),y(!0),N.current?.(t)};return e.on(`session_state`,t),e.on(`audio_level`,n),e.on(`user_transcript_done`,r),e.on(`assistant_transcript`,i),e.on(`assistant_transcript_done`,a),e.on(`tool_call_started`,o),e.on(`tool_call_completed`,s),e.on(`error`,c),()=>{e.off(`session_state`,t),e.off(`audio_level`,n),e.off(`user_transcript_done`,r),e.off(`assistant_transcript`,i),e.off(`assistant_transcript_done`,a),e.off(`tool_call_started`,o),e.off(`tool_call_completed`,s),e.off(`error`,c)}},G=[z],n[17]=z,n[18]=W,n[19]=G),(0,o.useEffect)(W,G);let Z;n[20]===z?Z=n[21]:(Z=async e=>{try{h(!0),y(!1),k(void 0),await z().startSession(e)}catch(e){let t=e;h(!1),y(!0);let n=t instanceof Error?t.message:`Failed to start session`;k(n),N.current?.(n)}},n[20]=z,n[21]=Z);let Q=Z,$;n[22]===z?$=n[23]:($=()=>{z().stopSession(),C(void 0),T(void 0),D(void 0)},n[22]=z,n[23]=$);let re=$,ie;n[24]!==z||n[25]!==g?(ie=e=>{let t=z(),n=e===void 0?!g:e;t.toggleMute(n),_(n)},n[24]=z,n[25]=g,n[26]=ie):ie=n[26];let ae=ie,oe;n[27]===z?oe=n[28]:(oe=e=>{let t=z();t.isSessionActive()&&t.sendUserMessage(e)},n[27]=z,n[28]=oe);let se=oe,ce;return n[29]!==S||n[30]!==b||n[31]!==O||n[32]!==f||n[33]!==m||n[34]!==v||n[35]!==g||n[36]!==se||n[37]!==Q||n[38]!==re||n[39]!==ae||n[40]!==E||n[41]!==w?(ce={isActive:f,isConnecting:m,isMuted:g,isError:v,connectionState:b,audioLevel:S,transcript:w,toolCall:E,error:O,startSession:Q,stopSession:re,toggleMute:ae,sendMessage:se},n[29]=S,n[30]=b,n[31]=O,n[32]=f,n[33]=m,n[34]=v,n[35]=g,n[36]=se,n[37]=Q,n[38]=re,n[39]=ae,n[40]=E,n[41]=w,n[42]=ce):ce=n[42],ce}let Q=(0,o.createContext)(null);function $(){return!!(typeof window<`u`&&window.RTCPeerConnection&&navigator.mediaDevices?.getUserMedia)}function re(e){let n=(0,t.c)(15),{children:r,tokenEndpoint:i,tools:a,toolExecutor:o,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d}=e,p;n[0]!==d||n[1]!==s||n[2]!==c||n[3]!==l||n[4]!==u||n[5]!==i||n[6]!==o||n[7]!==a?(p={tokenEndpoint:i,tools:a,toolExecutor:o,onConnect:s,onDisconnect:c,onError:l,onUserTranscript:u,onAssistantTranscript:d},n[0]=d,n[1]=s,n[2]=c,n[3]=l,n[4]=u,n[5]=i,n[6]=o,n[7]=a,n[8]=p):p=n[8];let m=Z(p),h;n[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=$(),n[9]=h):h=n[9];let g=h,_;n[10]===m?_=n[11]:(_={...m,isSupported:g},n[10]=m,n[11]=_);let v=_,y;return n[12]!==r||n[13]!==v?(y=(0,f.jsx)(Q.Provider,{value:v,children:r}),n[12]=r,n[13]=v,n[14]=y):y=n[14],y}function ie(){return(0,o.useContext)(Q)}function ae(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`relative flex size-8 shrink-0 overflow-hidden rounded-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Root,{"data-slot":`avatar`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function oe(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`aspect-square size-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Image,{"data-slot":`avatar-image`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function se(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`bg-muted flex size-full items-center justify-center rounded-full`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(m.Fallback,{"data-slot":`avatar-fallback`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function ce(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Root,{"data-slot":`dialog`,...r}),n[2]=r,n[3]=i),i}function le(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Trigger,{"data-slot":`dialog-trigger`,...r}),n[2]=r,n[3]=i),i}function ue(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(h.Portal,{"data-slot":`dialog-portal`,...r}),n[2]=r,n[3]=i),i}function de(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 fixed inset-0 z-50 bg-black/50`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Overlay,{"data-slot":`dialog-overlay`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function fe(e){let n=(0,t.c)(15),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,children:r,showCloseButton:o,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let c=o===void 0?!0:o,l;n[5]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(de,{}),n[5]=l):l=n[5];let u;n[6]===i?u=n[7]:(u=F(`bg-background data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 fixed top-[50%] left-[50%] z-50 grid w-full max-w-[calc(100%-2rem)] translate-x-[-50%] translate-y-[-50%] gap-4 rounded-lg border p-6 shadow-lg duration-200 sm:max-w-lg`,i),n[6]=i,n[7]=u);let d;n[8]===c?d=n[9]:(d=c&&(0,f.jsxs)(h.Close,{"data-slot":`dialog-close`,className:`ring-offset-background focus:ring-ring data-[state=open]:bg-accent data-[state=open]:text-muted-foreground absolute top-4 right-4 rounded-xs opacity-70 transition-opacity hover:opacity-100 focus:ring-2 focus:ring-offset-2 focus:outline-hidden disabled:pointer-events-none [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4`,children:[(0,f.jsx)(s.XIcon,{}),(0,f.jsx)(`span`,{className:`sr-only`,children:`Close`})]}),n[8]=c,n[9]=d);let p;return n[10]!==r||n[11]!==a||n[12]!==u||n[13]!==d?(p=(0,f.jsxs)(ue,{"data-slot":`dialog-portal`,children:[l,(0,f.jsxs)(h.Content,{"data-slot":`dialog-content`,className:u,...a,children:[r,d]})]}),n[10]=r,n[11]=a,n[12]=u,n[13]=d,n[14]=p):p=n[14],p}function pe(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`flex flex-col gap-2 text-center sm:text-left`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(`div`,{"data-slot":`dialog-header`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function me(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`text-lg leading-none font-semibold`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Title,{"data-slot":`dialog-title`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function he(e){let n=(0,t.c)(8),r,i;n[0]===e?(r=n[1],i=n[2]):({className:r,...i}=e,n[0]=e,n[1]=r,n[2]=i);let a;n[3]===r?a=n[4]:(a=F(`text-muted-foreground text-sm`,r),n[3]=r,n[4]=a);let o;return n[5]!==i||n[6]!==a?(o=(0,f.jsx)(h.Description,{"data-slot":`dialog-description`,className:a,...i}),n[5]=i,n[6]=a,n[7]=o):o=n[7],o}function ge(e){let n=(0,t.c)(6),r,i;n[0]===e?(r=n[1],i=n[2]):({delayDuration:i,...r}=e,n[0]=e,n[1]=r,n[2]=i);let a=i===void 0?0:i,o;return n[3]!==a||n[4]!==r?(o=(0,f.jsx)(g.Provider,{"data-slot":`tooltip-provider`,delayDuration:a,...r}),n[3]=a,n[4]=r,n[5]=o):o=n[5],o}function _e(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(ge,{children:(0,f.jsx)(g.Root,{"data-slot":`tooltip`,...r})}),n[2]=r,n[3]=i),i}function ve(e){let n=(0,t.c)(4),r;n[0]===e?r=n[1]:({...r}=e,n[0]=e,n[1]=r);let i;return n[2]===r?i=n[3]:(i=(0,f.jsx)(g.Trigger,{"data-slot":`tooltip-trigger`,...r}),n[2]=r,n[3]=i),i}function ye(e){let n=(0,t.c)(13),r,i,a,o;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4]):({className:i,sideOffset:o,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o);let s=o===void 0?0:o,c;n[5]===i?c=n[6]:(c=F(`bg-foreground text-background animate-in fade-in-0 zoom-in-95 data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:zoom-out-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 w-fit origin-(--radix-tooltip-content-transform-origin) rounded-md px-3 py-1.5 text-xs text-balance`,i),n[5]=i,n[6]=c);let l;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(g.Arrow,{className:`bg-foreground fill-foreground z-50 size-2.5 translate-y-[calc(-50%_-_2px)] rotate-45 rounded-[2px]`}),n[7]=l):l=n[7];let u;return n[8]!==r||n[9]!==a||n[10]!==s||n[11]!==c?(u=(0,f.jsx)(g.Portal,{children:(0,f.jsxs)(g.Content,{"data-slot":`tooltip-content`,sideOffset:s,className:c,...a,children:[r,l]})}),n[8]=r,n[9]=a,n[10]=s,n[11]=c,n[12]=u):u=n[12],u}let be=(0,v.cva)(`inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive`,{variants:{variant:{default:`bg-primary text-primary-foreground hover:bg-primary/90`,destructive:`bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60`,outline:`border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50`,secondary:`bg-secondary text-secondary-foreground hover:bg-secondary/80`,ghost:`hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50`,link:`text-primary underline-offset-4 hover:underline`},size:{default:`h-9 px-4 py-2 has-[>svg]:px-3`,sm:`h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5`,lg:`h-10 rounded-md px-6 has-[>svg]:px-4`,icon:`size-9`,"icon-sm":`size-8`,"icon-lg":`size-10`}},defaultVariants:{variant:`default`,size:`default`}});function xe(e){let n=(0,t.c)(14),r,i,a,o,s;n[0]===e?(r=n[1],i=n[2],a=n[3],o=n[4],s=n[5]):({className:r,variant:s,size:a,asChild:o,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=o,n[5]=s);let c=o!==void 0&&o?_.Slot:`button`,l;n[6]!==r||n[7]!==a||n[8]!==s?(l=F(be({variant:s,size:a,className:r})),n[6]=r,n[7]=a,n[8]=s,n[9]=l):l=n[9];let u;return n[10]!==c||n[11]!==i||n[12]!==l?(u=(0,f.jsx)(c,{"data-slot":`button`,className:l,...i}),n[10]=c,n[11]=i,n[12]=l,n[13]=u):u=n[13],u}let Se=(0,o.forwardRef)((e,n)=>{let r=(0,t.c)(24),i,a,o,s,c;r[0]===e?(i=r[1],a=r[2],o=r[3],s=r[4],c=r[5]):({children:i,tooltip:c,side:s,className:a,...o}=e,r[0]=e,r[1]=i,r[2]=a,r[3]=o,r[4]=s,r[5]=c);let l=s===void 0?`bottom`:s,u;r[6]===a?u=r[7]:(u=F(`aui-button-icon size-6 p-1`,a),r[6]=a,r[7]=u);let d;r[8]===i?d=r[9]:(d=(0,f.jsx)(_.Slottable,{children:i}),r[8]=i,r[9]=d);let p;r[10]===c?p=r[11]:(p=(0,f.jsx)(`span`,{className:`aui-sr-only sr-only`,children:c}),r[10]=c,r[11]=p);let m;r[12]!==n||r[13]!==o||r[14]!==u||r[15]!==d||r[16]!==p?(m=(0,f.jsx)(ve,{asChild:!0,children:(0,f.jsxs)(xe,{variant:`ghost`,size:`icon`,...o,className:u,ref:n,children:[d,p]})}),r[12]=n,r[13]=o,r[14]=u,r[15]=d,r[16]=p,r[17]=m):m=r[17];let h;r[18]!==l||r[19]!==c?(h=(0,f.jsx)(ye,{side:l,children:c}),r[18]=l,r[19]=c,r[20]=h):h=r[20];let g;return r[21]!==m||r[22]!==h?(g=(0,f.jsxs)(_e,{children:[m,h]}),r[21]=m,r[22]=h,r[23]=g):g=r[23],g});Se.displayName=`TooltipIconButton`;let Ce=e=>{let n=(0,t.c)(3),[r,i]=(0,o.useState)(void 0),a,s;return n[0]===e?(a=n[1],s=n[2]):(a=()=>{if(!e){i(void 0);return}let t=URL.createObjectURL(e);return i(t),()=>{URL.revokeObjectURL(t)}},s=[e],n[0]=e,n[1]=a,n[2]=s),(0,o.useEffect)(a,s),r},we=()=>{let{file:e,src:t}=(0,n.useAssistantState)((0,p.useShallow)(Pe));return Ce(e)??t},Te=e=>{let n=(0,t.c)(2),{src:r}=e,i;return n[0]===r?i=n[1]:(i=(0,f.jsx)(`img`,{src:r,alt:`Image Preview`,width:1,height:1,className:`aui-attachment-preview-image-loaded block h-auto max-h-[80vh] w-auto max-w-full object-contain`}),n[0]=r,n[1]=i),i},Ee=e=>{let n=(0,t.c)(8),{children:r}=e,i=we();if(!i)return r;let a;n[0]===r?a=n[1]:(a=(0,f.jsx)(le,{className:`aui-attachment-preview-trigger cursor-pointer transition-colors hover:bg-accent/50`,asChild:!0,children:r}),n[0]=r,n[1]=a);let o;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,f.jsx)(me,{className:`aui-sr-only sr-only`,children:`Image Attachment Preview`}),n[2]=o):o=n[2];let s;n[3]===i?s=n[4]:(s=(0,f.jsxs)(fe,{className:`aui-attachment-preview-dialog-content p-2 sm:max-w-3xl [&_svg]:text-background [&>button]:rounded-full [&>button]:bg-foreground/60 [&>button]:p-1 [&>button]:opacity-100 [&>button]:!ring-0 [&>button]:hover:[&_svg]:text-destructive`,children:[o,(0,f.jsx)(`div`,{className:`aui-attachment-preview relative mx-auto flex max-h-[80dvh] w-full items-center justify-center overflow-hidden bg-background`,children:(0,f.jsx)(Te,{src:i})})]}),n[3]=i,n[4]=s);let c;return n[5]!==a||n[6]!==s?(c=(0,f.jsxs)(ce,{children:[a,s]}),n[5]=a,n[6]=s,n[7]=c):c=n[7],c},De=()=>{let e=(0,t.c)(8),r=(0,n.useAssistantState)(Fe),i=we(),a;e[0]===i?a=e[1]:(a=(0,f.jsx)(oe,{src:i,alt:`Attachment preview`,className:`aui-attachment-tile-image object-cover`}),e[0]=i,e[1]=a);let o=r?200:0,c;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(s.FileText,{className:`aui-attachment-tile-fallback-icon size-8 text-muted-foreground`}),e[2]=c):c=e[2];let l;e[3]===o?l=e[4]:(l=(0,f.jsx)(se,{delayMs:o,children:c}),e[3]=o,e[4]=l);let u;return e[5]!==a||e[6]!==l?(u=(0,f.jsxs)(ae,{className:`aui-attachment-tile-avatar h-full w-full rounded-none`,children:[a,l]}),e[5]=a,e[6]=l,e[7]=u):u=e[7],u},Oe=()=>{let e=(0,t.c)(17),r=(0,n.useAssistantApi)().attachment.source===`composer`,i=(0,n.useAssistantState)(Ie),a=(0,n.useAssistantState)(Le),o=i&&`aui-attachment-root-composer only:[&>#attachment-tile]:size-24`,s;e[0]===o?s=e[1]:(s=F(`aui-attachment-root relative`,o),e[0]=o,e[1]=s);let c=r&&`aui-attachment-tile-composer border-foreground/20`,l;e[2]===c?l=e[3]:(l=F(`aui-attachment-tile size-14 cursor-pointer overflow-hidden rounded-[14px] border bg-muted transition-opacity hover:opacity-75`,c),e[2]=c,e[3]=l);let u=`${a} attachment`,d;e[4]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,f.jsx)(De,{}),e[4]=d):d=e[4];let p;e[5]!==l||e[6]!==u?(p=(0,f.jsx)(Ee,{children:(0,f.jsx)(ve,{asChild:!0,children:(0,f.jsx)(`div`,{className:l,role:`button`,id:`attachment-tile`,"aria-label":u,children:d})})}),e[5]=l,e[6]=u,e[7]=p):p=e[7];let m;e[8]===r?m=e[9]:(m=r&&(0,f.jsx)(ke,{}),e[8]=r,e[9]=m);let h;e[10]!==s||e[11]!==p||e[12]!==m?(h=(0,f.jsxs)(n.AttachmentPrimitive.Root,{className:s,children:[p,m]}),e[10]=s,e[11]=p,e[12]=m,e[13]=h):h=e[13];let g;e[14]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,f.jsx)(ye,{side:`top`,children:(0,f.jsx)(n.AttachmentPrimitive.Name,{})}),e[14]=g):g=e[14];let _;return e[15]===h?_=e[16]:(_=(0,f.jsxs)(_e,{children:[h,g]}),e[15]=h,e[16]=_),_},ke=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.AttachmentPrimitive.Remove,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Remove file`,className:`aui-attachment-tile-remove absolute top-1.5 right-1.5 size-3.5 rounded-full bg-white text-muted-foreground opacity-100 shadow-sm hover:!bg-white [&_svg]:text-black hover:[&_svg]:text-destructive`,side:`top`,children:(0,f.jsx)(s.XIcon,{className:`aui-attachment-remove-icon size-3 dark:stroke-[2.5px]`})})}),e[0]=r):r=e[0],r},Ae=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:`aui-user-message-attachments-end col-span-full col-start-1 row-start-1 flex w-full flex-row justify-end gap-2`,children:(0,f.jsx)(n.MessagePrimitive.Attachments,{components:{Attachment:Oe}})}),e[0]=r):r=e[0],r},je=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(`div`,{className:`aui-composer-attachments mb-2 flex w-full flex-row items-center gap-2 overflow-x-auto px-1.5 pt-0.5 pb-1 empty:hidden`,children:(0,f.jsx)(n.ComposerPrimitive.Attachments,{components:{Attachment:Oe}})}),e[0]=r):r=e[0],r},Me=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ComposerPrimitive.AddAttachment,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Add Attachment`,side:`bottom`,variant:`ghost`,size:`icon`,className:`aui-composer-add-attachment size-[34px] rounded-full p-1 text-xs font-semibold hover:bg-muted-foreground/15 dark:border-muted-foreground/15 dark:hover:bg-muted-foreground/30`,"aria-label":`Add Attachment`,children:(0,f.jsx)(s.PlusIcon,{className:`aui-attachment-add-icon size-5 stroke-[1.5px]`})})}),e[0]=r):r=e[0],r};function Ne(e){return e.type===`image`}function Pe(e){let{attachment:t}=e;if(t.type!==`image`)return{};if(t.file)return{file:t.file};let n=t.content?.filter(Ne)[0]?.image;return n?{src:n}:{}}function Fe(e){let{attachment:t}=e;return t.type===`image`}function Ie(e){let{attachment:t}=e;return t.type===`image`}function Le(e){let{attachment:t}=e,n=t.type;switch(n){case`image`:return`Image`;case`document`:return`Document`;case`file`:return`File`;default:{let e=n;throw Error(`Unknown attachment type: ${e}`)}}}let Re=(0,o.memo)(()=>{let e=(0,t.c)(1),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(y.MarkdownTextPrimitive,{remarkPlugins:[b.default],className:`aui-md`,components:Ve}),e[0]=n):n=e[0],n}),ze=e=>{let n=(0,t.c)(17),{language:r,code:i}=e,{isCopied:a,copyToClipboard:o}=Be(),c;n[0]!==i||n[1]!==o||n[2]!==a?(c=()=>{!i||a||o(i)},n[0]=i,n[1]=o,n[2]=a,n[3]=c):c=n[3];let l=c,u;n[4]===r?u=n[5]:(u=(0,f.jsx)(`span`,{className:`aui-code-header-language lowercase [&>span]:text-xs`,children:r}),n[4]=r,n[5]=u);let d;n[6]===a?d=n[7]:(d=!a&&(0,f.jsx)(s.CopyIcon,{}),n[6]=a,n[7]=d);let p;n[8]===a?p=n[9]:(p=a&&(0,f.jsx)(s.CheckIcon,{}),n[8]=a,n[9]=p);let m;n[10]!==l||n[11]!==d||n[12]!==p?(m=(0,f.jsxs)(Se,{tooltip:`Copy`,onClick:l,children:[d,p]}),n[10]=l,n[11]=d,n[12]=p,n[13]=m):m=n[13];let h;return n[14]!==u||n[15]!==m?(h=(0,f.jsxs)(`div`,{className:`aui-code-header-root mt-2 flex items-center justify-between gap-2 rounded-t-lg bg-muted-foreground/15 px-2 py-1 text-sm font-semibold text-foreground dark:bg-muted-foreground/20`,children:[u,m]}),n[14]=u,n[15]=m,n[16]=h):h=n[16],h},Be=e=>{let n=(0,t.c)(7),r;n[0]===e?r=n[1]:(r=e===void 0?{}:e,n[0]=e,n[1]=r);let{copiedDuration:i}=r,a=i===void 0?3e3:i,[s,c]=(0,o.useState)(!1),l;n[2]===a?l=n[3]:(l=e=>{e&&navigator.clipboard.writeText(e).then(()=>{c(!0),setTimeout(()=>c(!1),a)})},n[2]=a,n[3]=l);let u=l,d;return n[4]!==u||n[5]!==s?(d={isCopied:s,copyToClipboard:u},n[4]=u,n[5]=s,n[6]=d):d=n[6],d},Ve=(0,y.unstable_memoizeMarkdownComponents)({h1:({className:e,...t})=>(0,f.jsx)(`h1`,{className:F(`aui-md-h1 mb-4 scroll-m-20 text-[25px] font-extrabold tracking-tight last:mb-0`,e),...t}),h2:({className:e,...t})=>(0,f.jsx)(`h2`,{className:F(`aui-md-h2 mt-4 mb-2 scroll-m-20 text-[21px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h3:({className:e,...t})=>(0,f.jsx)(`h3`,{className:F(`aui-md-h3 mt-3 mb-2 scroll-m-20 text-[19px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h4:({className:e,...t})=>(0,f.jsx)(`h4`,{className:F(`aui-md-h4 mt-3 mb-2 scroll-m-20 text-[17px] font-semibold tracking-tight first:mt-0 last:mb-0`,e),...t}),h5:({className:e,...t})=>(0,f.jsx)(`h5`,{className:F(`aui-md-h5 my-2 text-[15px] font-semibold first:mt-0 last:mb-0`,e),...t}),h6:({className:e,...t})=>(0,f.jsx)(`h6`,{className:F(`aui-md-h6 my-2 text-[15px] font-semibold first:mt-0 last:mb-0`,e),...t}),p:({className:e,...t})=>(0,f.jsx)(`p`,{className:F(`aui-md-p mt-2 mb-2 text-[13px] leading-relaxed first:mt-0 last:mb-0`,e),...t}),a:({className:e,...t})=>(0,f.jsx)(`a`,{className:F(`aui-md-a text-[13px] font-medium text-primary underline underline-offset-4`,e),...t}),blockquote:({className:e,...t})=>(0,f.jsx)(`blockquote`,{className:F(`aui-md-blockquote text-[13px] border-l-2 pl-3 italic`,e),...t}),ul:({className:e,...t})=>(0,f.jsx)(`ul`,{className:F(`aui-md-ul text-[13px] my-2 ml-4 list-disc [&>li]:mt-1`,e),...t}),ol:({className:e,...t})=>(0,f.jsx)(`ol`,{className:F(`aui-md-ol text-[13px] my-2 ml-4 list-decimal [&>li]:mt-1`,e),...t}),hr:({className:e,...t})=>(0,f.jsx)(`hr`,{className:F(`aui-md-hr my-2 border-b`,e),...t}),table:({className:e,...t})=>(0,f.jsx)(`table`,{className:F(`aui-md-table text-[13px] my-2 w-full border-separate border-spacing-0 overflow-y-auto`,e),...t}),th:({className:e,...t})=>(0,f.jsx)(`th`,{className:F(`aui-md-th bg-muted px-2 py-1 text-left font-bold first:rounded-tl-lg last:rounded-tr-lg [&[align=center]]:text-center [&[align=right]]:text-right`,e),...t}),td:({className:e,...t})=>(0,f.jsx)(`td`,{className:F(`aui-md-td border-b border-l px-2 py-1 text-left last:border-r [&[align=center]]:text-center [&[align=right]]:text-right`,e),...t}),tr:({className:e,...t})=>(0,f.jsx)(`tr`,{className:F(`aui-md-tr m-0 border-b p-0 first:border-t [&:last-child>td:first-child]:rounded-bl-lg [&:last-child>td:last-child]:rounded-br-lg`,e),...t}),sup:({className:e,...t})=>(0,f.jsx)(`sup`,{className:F(`aui-md-sup [&>a]:text-xs [&>a]:no-underline`,e),...t}),pre:({className:e,...t})=>(0,f.jsx)(`pre`,{className:F(`aui-md-pre text-[13px] overflow-x-auto !rounded-t-none rounded-b-lg bg-black p-2 text-white`,e),...t}),code:function({className:e,...t}){return(0,f.jsx)(`code`,{className:F(!(0,y.useIsMarkdownCodeBlock)()&&`aui-md-inline-code text-[13px] rounded border bg-muted font-semibold`,e),...t})},CodeHeader:ze});function He(e,t=`http`){if(e.type===`tab`)return new C.TabClientTransport({targetOrigin:e.targetOrigin??window.location.origin,channelId:e.channelId??`mcp-default`});let n=new URL(e.url),r={Accept:`application/json, text/event-stream`,...e.customHeaders??{}};e.authToken&&(r.Authorization=`Bearer ${e.authToken}`);let i={requestInit:{headers:r}};return t===`sse`?new w.SSEClientTransport(n,i):new T.StreamableHTTPClientTransport(n,i)}let Ue=(0,o.createContext)(null);function We({children:e,autoConnectLocal:t=!0,onToolsChange:n}){let r=(0,o.useRef)(new Map),[,i]=(0,o.useState)({}),[a,s]=(0,o.useState)([]),c=(0,o.useCallback)(()=>{let e=[];r.current.forEach(t=>{t.tools.forEach(n=>{e.push({...n,_sourceId:t.id})})}),s(e)},[]),l=(0,o.useCallback)(e=>({id:e.id,config:e.config,state:e.state,error:e.error,tools:e.tools,resources:e.resources,resourceTemplates:e.resourceTemplates,prompts:e.prompts}),[]),u=(0,o.useCallback)(async(e,t)=>{r.current.has(e)&&await d(e);let n={id:e,config:t,state:`connecting`,error:null,tools:[],resources:[],resourceTemplates:[],prompts:[],client:null,transport:null};r.current.set(e,n),i({});try{let r=new x.Client({name:`MCP-Source-${e}`,version:`1.0.0`}),a=He(t);await r.connect(a),n.client=r,n.transport=a;let{tools:o}=await r.listTools();n.tools=o,n.state=`connected`,r.setNotificationHandler(S.ToolListChangedNotificationSchema,async()=>{try{n.tools=(await r.listTools()).tools,c(),i({})}catch(t){console.error(`[MCPToolsProvider:${e}] Failed to update tools:`,t)}}),c(),i({})}catch(t){let r=t instanceof Error?t:Error(String(t));console.error(`[MCPToolsProvider:${e}] Connection failed:`,r),n.state=`error`,n.error=r,i({})}},[c]),d=(0,o.useCallback)(async e=>{let t=r.current.get(e);if(t){if(t.client)try{await t.client.close()}catch(t){console.error(`[MCPToolsProvider:${e}] Error closing client:`,t)}if(t.transport)try{await t.transport.close()}catch(t){console.error(`[MCPToolsProvider:${e}] Error closing transport:`,t)}r.current.delete(e),c(),i({})}},[c]),p=(0,o.useCallback)(e=>{let t=r.current.get(e);return t?l(t):void 0},[l]),m=(0,o.useCallback)(e=>r.current.get(e)?.state===`connected`,[]),h=(0,o.useCallback)(async(e,t,n)=>{let i=r.current.get(e);if(!i?.client)throw Error(`Source '${e}' not connected`);return await i.client.callTool({name:t,arguments:n})},[]),g=(0,o.useCallback)(async(e,t)=>{let n=a.find(t=>t.name===e);if(!n)throw Error(`Tool '${e}' not found`);return h(n._sourceId,e,t)},[a,h]),_=(0,o.useMemo)(()=>{let e=new Map;return r.current.forEach(t=>{e.set(t.id,l(t))}),e},[a,l]);(0,o.useEffect)(()=>{if(t){let e=setTimeout(()=>{u(`local`,{type:`tab`})},100);return()=>clearTimeout(e)}},[t,u]),(0,o.useEffect)(()=>{n?.(a)},[a,n]),(0,o.useEffect)(()=>{let e=r;return()=>{e.current.forEach(e=>{e.client&&e.client.close().catch(console.error),e.transport&&e.transport.close().catch(console.error)}),e.current.clear()}},[]);let v=(0,o.useMemo)(()=>({tools:a,sources:_,addSource:u,removeSource:d,getSource:p,isConnected:m,callTool:g,callToolOnSource:h}),[a,_,u,d,p,m,g,h]);return(0,f.jsx)(Ue.Provider,{value:v,children:e})}function Ge(){let e=(0,o.useContext)(Ue);if(!e)throw Error(`useMCPTools must be used within an MCPToolsProvider`);return e}let Ke=()=>{let{sources:e,addSource:t,removeSource:n}=Ge(),[r,i]=(0,o.useState)(!1),[a,c]=(0,o.useState)(``),[l,u]=(0,o.useState)(!1),[d,p]=(0,o.useState)(null),m=[];e.forEach((e,t)=>{e.config.type===`http`&&t!==`local`&&m.push({id:t,url:e.config.url})});let h=(0,o.useCallback)(async()=>{if(!a.trim()){p(`Please enter a URL`);return}try{new URL(a)}catch{p(`Please enter a valid URL`);return}u(!0),p(null);try{await t(m.length===0?`remote`:`remote-${Date.now()}`,{type:`http`,url:a}),c(``)}catch(e){p(e instanceof Error?e.message:`Failed to connect`)}finally{u(!1)}},[a,t,m.length]),g=(0,o.useCallback)(async e=>{await n(e)},[n]),_=(0,o.useCallback)(e=>{e.key===`Enter`&&!l&&h()},[h,l]),v=m.filter(t=>e.get(t.id)?.state===`connected`).length;return(0,f.jsxs)(ce,{open:r,onOpenChange:i,children:[(0,f.jsx)(le,{asChild:!0,children:(0,f.jsxs)(Se,{tooltip:`Connect MCP Server`,variant:`ghost`,size:`sm`,className:F(`gap-2 rounded-full text-muted-foreground hover:text-foreground`,v>0&&`text-green-600 dark:text-green-400`),children:[(0,f.jsx)(s.Plug,{className:`h-4 w-4`}),v>0&&(0,f.jsx)(`span`,{className:`text-xs`,children:v})]})}),(0,f.jsxs)(fe,{className:`sm:max-w-md`,children:[(0,f.jsxs)(pe,{children:[(0,f.jsx)(me,{children:`Remote MCP Servers`}),(0,f.jsx)(he,{children:`Connect to remote MCP servers to access their tools, resources, and prompts.`})]}),(0,f.jsxs)(`div`,{className:`space-y-4`,children:[(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsx)(`label`,{htmlFor:`mcp-url`,className:`text-sm font-medium`,children:`Server URL`}),(0,f.jsxs)(`div`,{className:`flex gap-2`,children:[(0,f.jsx)(`input`,{id:`mcp-url`,type:`url`,value:a,onChange:e=>c(e.target.value),onKeyDown:_,placeholder:`https://mcp.example.com/sse`,disabled:l,className:F(`flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm shadow-sm transition-colors`,`placeholder:text-muted-foreground`,`focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring`,`disabled:cursor-not-allowed disabled:opacity-50`)}),(0,f.jsx)(xe,{onClick:()=>void h(),disabled:l||!a.trim(),size:`sm`,className:`shrink-0`,children:l?(0,f.jsx)(s.Loader2,{className:`h-4 w-4 animate-spin`}):(0,f.jsx)(s.Plus,{className:`h-4 w-4`})})]}),d&&(0,f.jsx)(`p`,{className:`text-xs text-destructive`,children:d})]}),m.length>0&&(0,f.jsxs)(`div`,{className:`space-y-2`,children:[(0,f.jsx)(`label`,{className:`text-sm font-medium`,children:`Connected Servers`}),(0,f.jsx)(`div`,{className:`space-y-2`,children:m.map(t=>{let n=e.get(t.id),r=n?.state===`connected`,i=n?.state===`connecting`;return(0,f.jsxs)(`div`,{className:`flex items-center gap-2 rounded-md border border-border bg-muted/50 px-3 py-2`,children:[(0,f.jsx)(`div`,{className:F(`h-2 w-2 shrink-0 rounded-full`,r&&`bg-green-500`,i&&`bg-yellow-500 animate-pulse`,n?.state===`error`&&`bg-red-500`)}),(0,f.jsx)(`span`,{className:`flex-1 truncate text-xs text-muted-foreground`,children:t.url}),r&&n&&(0,f.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[n.tools.length,` tools`]}),(0,f.jsx)(`button`,{type:`button`,onClick:()=>void g(t.id),className:`shrink-0 rounded p-1 text-muted-foreground hover:bg-destructive/10 hover:text-destructive`,"aria-label":`Disconnect server`,children:i?(0,f.jsx)(s.Loader2,{className:`h-3 w-3 animate-spin`}):(0,f.jsx)(s.X,{className:`h-3 w-3`})})]},t.id)})})]}),(0,f.jsx)(`p`,{className:`text-xs text-muted-foreground`,children:`Enter the URL of an MCP server that supports the Streamable HTTP transport (SSE).`})]})]})]})},qe=e=>{let n=(0,t.c)(15),{toolName:r,argsText:i,result:a}=e,[c,l]=(0,o.useState)(!0),u;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,f.jsx)(s.CheckIcon,{className:`aui-tool-fallback-icon size-3.5 text-emerald-500`}),n[0]=u):u=n[0];let d;n[1]===r?d=n[2]:(d=(0,f.jsx)(`p`,{className:`aui-tool-fallback-title flex-grow text-sm font-medium`,children:r}),n[1]=r,n[2]=d);let p;n[3]===c?p=n[4]:(p=(0,f.jsx)(xe,{variant:`ghost`,size:`sm`,className:`h-6 w-6 p-0`,onClick:()=>l(!c),children:c?(0,f.jsx)(s.ChevronUpIcon,{className:`size-3.5`}):(0,f.jsx)(s.ChevronDownIcon,{className:`size-3.5`})}),n[3]=c,n[4]=p);let m;n[5]!==d||n[6]!==p?(m=(0,f.jsxs)(`div`,{className:`aui-tool-fallback-header flex items-center gap-2 px-3`,children:[u,d,p]}),n[5]=d,n[6]=p,n[7]=m):m=n[7];let h;n[8]!==i||n[9]!==c||n[10]!==a?(h=!c&&(0,f.jsxs)(`div`,{className:`aui-tool-fallback-content flex flex-col gap-2 border-t border-border/20 pt-2`,children:[(0,f.jsxs)(`div`,{className:`aui-tool-fallback-args-root px-3`,children:[(0,f.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,children:`Input`}),(0,f.jsx)(`pre`,{className:`aui-tool-fallback-args-value mt-1 max-h-40 overflow-auto rounded-lg bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed text-foreground/80 whitespace-pre-wrap`,children:i})]}),a!==void 0&&(0,f.jsxs)(`div`,{className:`aui-tool-fallback-result-root border-t border-dashed border-border/20 px-3 pt-2`,children:[(0,f.jsx)(`span`,{className:`text-[10px] font-medium uppercase tracking-wide text-muted-foreground/70`,children:`Output`}),(0,f.jsx)(`pre`,{className:`aui-tool-fallback-result-content mt-1 max-h-60 overflow-auto rounded-lg bg-muted/30 px-2 py-1.5 font-mono text-[11px] leading-relaxed text-foreground/80 whitespace-pre-wrap`,children:typeof a==`string`?a:JSON.stringify(a,null,2)})]})]}),n[8]=i,n[9]=c,n[10]=a,n[11]=h):h=n[11];let g;return n[12]!==m||n[13]!==h?(g=(0,f.jsxs)(`div`,{className:`aui-tool-fallback-root mb-3 flex w-full flex-col gap-2 rounded-xl border border-border/20 bg-muted/5 py-2`,children:[m,h]}),n[12]=m,n[13]=h,n[14]=g):g=n[14],g},Je=e=>{let n=(0,t.c)(54),r,i,a,s,c,l,u,d,p,m,h,g,_,v;n[0]===e?(r=n[1],i=n[2],a=n[3],s=n[4],c=n[5],l=n[6],u=n[7],d=n[8],p=n[9],m=n[10],h=n[11],g=n[12],_=n[13],v=n[14]):({active:c,processing:u,barWidth:d,barGap:p,barRadius:m,barColor:r,fadeEdges:h,fadeWidth:g,height:_,sensitivity:v,mode:l,manualAudioLevel:a,className:i,...s}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a,n[4]=s,n[5]=c,n[6]=l,n[7]=u,n[8]=d,n[9]=p,n[10]=m,n[11]=h,n[12]=g,n[13]=_,n[14]=v);let y=c===void 0?!1:c,b=u===void 0?!1:u,x=d===void 0?3:d,S=p===void 0?1:p,C=m===void 0?1.5:m,w=h===void 0?!0:h,T=g===void 0?24:g,E=_===void 0?64:_,D=v===void 0?1:v,O=l===void 0?`static`:l,k=(0,o.useRef)(null),A=(0,o.useRef)(null),j;n[15]===Symbol.for(`react.memo_cache_sentinel`)?(j=[],n[15]=j):j=n[15];let M=(0,o.useRef)(j);(0,o.useRef)(0);let N=(0,o.useRef)(0),P=(0,o.useRef)(null),I;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(I=[],n[16]=I):I=n[16];let L=(0,o.useRef)(I),R=(0,o.useRef)(0),z;n[17]===Symbol.for(`react.memo_cache_sentinel`)?(z=[],n[17]=z):z=n[17];let B=(0,o.useRef)(z),V=(0,o.useRef)(!0),H=(0,o.useRef)(null),U=(0,o.useRef)(0),W=typeof E==`number`?`${E}px`:E,G,K;n[18]===Symbol.for(`react.memo_cache_sentinel`)?(G=()=>{let e=k.current,t=A.current;if(!e||!t)return;let n=new ResizeObserver(()=>{let n=t.getBoundingClientRect(),r=window.devicePixelRatio||1;e.width=n.width*r,e.height=n.height*r,e.style.width=`${n.width}px`,e.style.height=`${n.height}px`;let i=e.getContext(`2d`);i&&i.scale(r,r),H.current=null,U.current=n.width,V.current=!0});return n.observe(t),()=>n.disconnect()},K=[],n[18]=G,n[19]=K):(G=n[18],K=n[19]),(0,o.useEffect)(G,K);let ee,q;n[20]!==y||n[21]!==S||n[22]!==x||n[23]!==O||n[24]!==b?(ee=()=>{if(b&&!y){let e=0;R.current=0;let t=()=>{e+=.03,R.current=Math.min(1,R.current+.02);let n=[],r=Math.floor((A.current?.getBoundingClientRect().width||200)/(x+S));if(O===`static`){let t=Math.floor(r/2);for(let i=0;i<r;i++){let r=(i-t)/t,a=1-Math.abs(r)*.4,o=Math.sin(e*1.5+r*3)*.25,s=Math.sin(e*.8-r*2)*.2,c=Math.cos(e*2+r)*.15,l=(.2+(o+s+c))*a,u=l;if(L.current.length>0&&R.current<1){let e=Math.min(i,L.current.length-1);u=(L.current[e]||0)*(1-R.current)+l*R.current}n.push(Math.max(.05,Math.min(1,u)))}}else for(let t=0;t<r;t++){let i=(t-r/2)/(r/2),a=1-Math.abs(i)*.4,o=Math.sin(e*1.5+t*.15)*.25,s=Math.sin(e*.8-t*.1)*.2,c=Math.cos(e*2+t*.05)*.15,l=(.2+(o+s+c))*a,u=l;if(L.current.length>0&&R.current<1){let e=Math.floor(t/r*L.current.length);u=(L.current[e]||0)*(1-R.current)+l*R.current}n.push(Math.max(.05,Math.min(1,u)))}O===`static`?B.current=n:M.current=n,V.current=!0,P.current=requestAnimationFrame(t)};return t(),()=>{P.current&&cancelAnimationFrame(P.current)}}if(!y&&!b&&(O===`static`?B.current.length>0:M.current.length>0)){let e=0,t=()=>{e+=.03,e<1?(O===`static`?B.current=B.current.map(t=>t*(1-e)):M.current=M.current.map(t=>t*(1-e)),V.current=!0,requestAnimationFrame(t)):O===`static`?B.current=[]:M.current=[]};t()}},q=[b,y,x,S,O],n[20]=y,n[21]=S,n[22]=x,n[23]=O,n[24]=b,n[25]=ee,n[26]=q):(ee=n[25],q=n[26]),(0,o.useEffect)(ee,q);let J,te;n[27]!==y||n[28]!==r||n[29]!==S||n[30]!==C||n[31]!==x||n[32]!==w||n[33]!==T||n[34]!==a||n[35]!==O||n[36]!==b||n[37]!==D?(J=()=>{let e=k.current;if(!e)return;let t=e.getContext(`2d`);if(!t)return;let n,i=o=>{let s=e.getBoundingClientRect();if(y&&o-N.current>30&&(N.current=o,a!==void 0)){let e=Math.max(.05,Math.min(1,a*D));if(O===`static`){let t=Math.floor(s.width/(x+S)),n=Math.floor(t/2),r=[];for(let t=n-1;t>=0;t--){let i=e*(1-Math.abs(t-n/2)/(n/2)*.3);r.push(Math.max(.05,i))}for(let t=0;t<n;t++){let i=e*(1-Math.abs(t-n/2)/(n/2)*.3);r.push(Math.max(.05,i))}B.current=r,L.current=r}else M.current.push(e),L.current=[...M.current],M.current.length>60&&M.current.shift();V.current=!0}if(!V.current&&!y){n=requestAnimationFrame(i);return}V.current=y,t.clearRect(0,0,s.width,s.height);let c=r||(()=>getComputedStyle(e).color||`#000`)(),l=x+S,u=Math.floor(s.width/l),d=s.height/2;if(O===`static`){let e=b||y||B.current.length>0?B.current:[];for(let n=0;n<u&&n<e.length;n++){let r=e[n]||.1,i=n*l,a=Math.max(4,r*s.height*.8),o=d-a/2;t.fillStyle=c,t.globalAlpha=.4+r*.6,C>0?(t.beginPath(),t.roundRect(i,o,x,a,C),t.fill()):t.fillRect(i,o,x,a)}}else for(let e=0;e<u&&e<M.current.length;e++){let n=M.current.length-1-e,r=M.current[n]||.1,i=s.width-(e+1)*l,a=Math.max(4,r*s.height*.8),o=d-a/2;t.fillStyle=c,t.globalAlpha=.4+r*.6,C>0?(t.beginPath(),t.roundRect(i,o,x,a,C),t.fill()):t.fillRect(i,o,x,a)}if(w&&T>0&&s.width>0){if(!H.current||U.current!==s.width){let e=t.createLinearGradient(0,0,s.width,0),n=Math.min(.3,T/s.width);e.addColorStop(0,`rgba(255,255,255,1)`),e.addColorStop(n,`rgba(255,255,255,0)`),e.addColorStop(1-n,`rgba(255,255,255,0)`),e.addColorStop(1,`rgba(255,255,255,1)`),H.current=e,U.current=s.width}t.globalCompositeOperation=`destination-out`,t.fillStyle=H.current,t.fillRect(0,0,s.width,s.height),t.globalCompositeOperation=`source-over`}t.globalAlpha=1,n=requestAnimationFrame(i)};return n=requestAnimationFrame(i),()=>{n&&cancelAnimationFrame(n)}},te=[y,b,D,x,S,C,r,w,T,O,a,60,30],n[27]=y,n[28]=r,n[29]=S,n[30]=C,n[31]=x,n[32]=w,n[33]=T,n[34]=a,n[35]=O,n[36]=b,n[37]=D,n[38]=J,n[39]=te):(J=n[38],te=n[39]),(0,o.useEffect)(J,te);let ne;n[40]===i?ne=n[41]:(ne=F(`relative h-full w-full`,i),n[40]=i,n[41]=ne);let Y;n[42]===W?Y=n[43]:(Y={height:W},n[42]=W,n[43]=Y);let X=y?`Live audio waveform`:b?`Processing audio`:`Audio waveform idle`,Z;n[44]!==y||n[45]!==b?(Z=!y&&!b&&(0,f.jsx)(`div`,{className:`border-muted-foreground/20 absolute top-1/2 right-0 left-0 -translate-y-1/2 border-t-2 border-dotted`}),n[44]=y,n[45]=b,n[46]=Z):Z=n[46];let Q;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(Q=(0,f.jsx)(`canvas`,{className:`block h-full w-full`,ref:k}),n[47]=Q):Q=n[47];let $;return n[48]!==s||n[49]!==ne||n[50]!==Y||n[51]!==X||n[52]!==Z?($=(0,f.jsxs)(`div`,{className:ne,ref:A,style:Y,"aria-label":X,role:`img`,...s,children:[Z,Q]}),n[48]=s,n[49]=ne,n[50]=Y,n[51]=X,n[52]=Z,n[53]=$):$=n[53],$};function Ye(e){let n=(0,t.c)(65),{isActive:r,isConnecting:i,isMuted:a,audioLevel:o,toolCall:c,onStart:l,onStop:u,onToggleMute:d,className:p}=e,m=o?.micLevel??0,h=o?.speakerLevel??0,g=c?.status===`started`?`calling`:c?.status===`completed`?c.error?`error`:`success`:`idle`,_;n[0]===g?_=n[1]:(_=()=>{switch(g){case`calling`:return`border-blue-500/60 shadow-[0_0_12px_rgba(59,130,246,0.3)]`;case`success`:return`border-green-500/60 shadow-[0_0_12px_rgba(34,197,94,0.3)]`;case`error`:return`border-red-500/60 shadow-[0_0_12px_rgba(239,68,68,0.3)]`;default:return`border-border`}},n[0]=g,n[1]=_);let v=_;if(!r&&!i){let e;n[2]===p?e=n[3]:(e=F(`flex items-center`,p),n[2]=p,n[3]=e);let t,r;n[4]===Symbol.for(`react.memo_cache_sentinel`)?(t=(0,f.jsx)(s.Phone,{className:`h-4 w-4`}),r=(0,f.jsx)(`span`,{className:`text-xs`,children:`Voice`}),n[4]=t,n[5]=r):(t=n[4],r=n[5]);let i;n[6]===l?i=n[7]:(i=(0,f.jsxs)(xe,{variant:`outline`,size:`sm`,onClick:l,className:`gap-2 rounded-full`,"aria-label":`Start voice session`,children:[t,r]}),n[6]=l,n[7]=i);let a;return n[8]!==e||n[9]!==i?(a=(0,f.jsx)(`div`,{className:e,children:i}),n[8]=e,n[9]=i,n[10]=a):a=n[10],a}let y;n[11]!==p||n[12]!==v?(y=F(`flex items-center gap-3 rounded-full border bg-background/95 px-3 py-2 backdrop-blur-sm transition-all duration-300`,v(),p),n[11]=p,n[12]=v,n[13]=y):y=n[13];let b=a?`bg-muted text-muted-foreground`:`bg-primary/10 text-primary`,x;n[14]===b?x=n[15]:(x=F(`flex h-8 w-8 items-center justify-center rounded-full transition-colors`,b),n[14]=b,n[15]=x);let S;n[16]===a?S=n[17]:(S=a?(0,f.jsx)(s.MicOff,{className:`h-4 w-4`}):(0,f.jsx)(s.Mic,{className:`h-4 w-4`}),n[16]=a,n[17]=S);let C;n[18]!==x||n[19]!==S?(C=(0,f.jsx)(`div`,{className:x,children:S}),n[18]=x,n[19]=S,n[20]=C):C=n[20];let w=r&&!a,T;n[21]!==i||n[22]!==m||n[23]!==w?(T=(0,f.jsx)(`div`,{className:`h-6 w-16`,children:(0,f.jsx)(Je,{active:w,processing:i,manualAudioLevel:m,barWidth:2,barGap:1,barRadius:2,barColor:`hsl(var(--primary))`,height:24,mode:`static`,sensitivity:2,fadeEdges:!1})}),n[21]=i,n[22]=m,n[23]=w,n[24]=T):T=n[24];let E;n[25]!==C||n[26]!==T?(E=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[C,T]}),n[25]=C,n[26]=T,n[27]=E):E=n[27];let D;n[28]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,f.jsx)(`div`,{className:`h-6 w-px bg-border`}),n[28]=D):D=n[28];let O;n[29]!==r||n[30]!==i||n[31]!==h?(O=(0,f.jsx)(`div`,{className:`h-6 w-16`,children:(0,f.jsx)(Je,{active:r,processing:i,manualAudioLevel:h,barWidth:2,barGap:1,barRadius:2,barColor:`hsl(var(--muted-foreground))`,height:24,mode:`static`,sensitivity:2,fadeEdges:!1})}),n[29]=r,n[30]=i,n[31]=h,n[32]=O):O=n[32];let k;n[33]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,f.jsx)(`div`,{className:F(`flex h-8 w-8 items-center justify-center rounded-full bg-muted text-muted-foreground`),children:(0,f.jsx)(s.Volume2,{className:`h-4 w-4`})}),n[33]=k):k=n[33];let A;n[34]===O?A=n[35]:(A=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[O,k]}),n[34]=O,n[35]=A);let j;n[36]===Symbol.for(`react.memo_cache_sentinel`)?(j=(0,f.jsx)(`div`,{className:`h-6 w-px bg-border`}),n[36]=j):j=n[36];let M=!r,N=a&&`text-destructive hover:text-destructive`,P;n[37]===N?P=n[38]:(P=F(`h-8 w-8 rounded-full`,N),n[37]=N,n[38]=P);let I=a?`Unmute microphone`:`Mute microphone`,L;n[39]===a?L=n[40]:(L=a?(0,f.jsx)(s.MicOff,{className:`h-4 w-4`}):(0,f.jsx)(s.Mic,{className:`h-4 w-4`}),n[39]=a,n[40]=L);let R;n[41]!==d||n[42]!==M||n[43]!==P||n[44]!==I||n[45]!==L?(R=(0,f.jsx)(xe,{variant:`ghost`,size:`icon`,onClick:d,disabled:M,className:P,"aria-label":I,children:L}),n[41]=d,n[42]=M,n[43]=P,n[44]=I,n[45]=L,n[46]=R):R=n[46];let z;n[47]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,f.jsx)(s.PhoneOff,{className:`h-4 w-4`}),n[47]=z):z=n[47];let B;n[48]===u?B=n[49]:(B=(0,f.jsx)(xe,{variant:`ghost`,size:`icon`,onClick:u,className:`h-8 w-8 rounded-full text-destructive hover:bg-destructive/10 hover:text-destructive`,"aria-label":`End voice session`,children:z}),n[48]=u,n[49]=B);let V;n[50]!==R||n[51]!==B?(V=(0,f.jsxs)(`div`,{className:`flex items-center gap-1`,children:[R,B]}),n[50]=R,n[51]=B,n[52]=V):V=n[52];let H;n[53]!==c||n[54]!==g?(H=c&&g!==`idle`&&(0,f.jsxs)(`div`,{className:F(`ml-1 flex items-center gap-1 rounded-full px-2 py-0.5 text-xs`,g===`calling`&&`bg-blue-500/10 text-blue-600`,g===`success`&&`bg-green-500/10 text-green-600`,g===`error`&&`bg-red-500/10 text-red-600`),children:[(0,f.jsx)(`span`,{className:F(`h-1.5 w-1.5 rounded-full`,g===`calling`&&`animate-pulse bg-blue-500`,g===`success`&&`bg-green-500`,g===`error`&&`bg-red-500`)}),(0,f.jsx)(`span`,{className:`max-w-[80px] truncate`,children:c.toolName})]}),n[53]=c,n[54]=g,n[55]=H):H=n[55];let U;n[56]===i?U=n[57]:(U=i&&(0,f.jsxs)(`div`,{className:`ml-1 flex items-center gap-1 text-xs text-muted-foreground`,children:[(0,f.jsx)(`span`,{className:`h-1.5 w-1.5 animate-pulse rounded-full bg-amber-500`}),(0,f.jsx)(`span`,{children:`Connecting...`})]}),n[56]=i,n[57]=U);let W;return n[58]!==A||n[59]!==y||n[60]!==V||n[61]!==H||n[62]!==U||n[63]!==E?(W=(0,f.jsxs)(`div`,{className:y,children:[E,D,A,j,V,H,U]}),n[58]=A,n[59]=y,n[60]=V,n[61]=H,n[62]=U,n[63]=E,n[64]=W):W=n[64],W}let Xe=()=>(0,f.jsx)(c.LazyMotion,{features:c.domAnimation,children:(0,f.jsx)(c.MotionConfig,{reducedMotion:`user`,children:(0,f.jsx)(n.ThreadPrimitive.Root,{className:`aui-root aui-thread-root app-shell @container relative flex h-full flex-col bg-background/50`,style:{"--thread-max-width":`100%`},children:(0,f.jsxs)(n.ThreadPrimitive.Viewport,{className:`aui-thread-viewport relative flex flex-1 flex-col overflow-x-auto overflow-y-scroll px-4`,children:[(0,f.jsx)(n.ThreadPrimitive.If,{empty:!0,children:(0,f.jsx)(et,{})}),(0,f.jsx)(n.ThreadPrimitive.Messages,{components:{UserMessage:at,EditComposer:st,AssistantMessage:rt}}),(0,f.jsx)(n.ThreadPrimitive.If,{empty:!1,children:(0,f.jsx)(`div`,{className:`aui-thread-viewport-spacer min-h-8 grow`})}),(0,f.jsx)(Ze,{})]})})})}),Ze=()=>{let e=(0,t.c)(8),n=ie(),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)($e,{}),e[0]=r):r=e[0];let i;e[1]===n?i=e[2]:(i=n?.isSupported&&(n.isActive||n.isConnecting)&&(0,f.jsx)(l.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.2},className:`flex justify-center`,children:(0,f.jsx)(Ye,{isActive:n.isActive,isConnecting:n.isConnecting,isMuted:n.isMuted,audioLevel:n.audioLevel,toolCall:n.toolCall,onStart:n.startSession,onStop:n.stopSession,onToggleMute:()=>n.toggleMute()})}),e[1]=n,e[2]=i);let a;e[3]===i?a=e[4]:(a=(0,f.jsx)(c.AnimatePresence,{children:i}),e[3]=i,e[4]=a);let o;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,f.jsx)(Qe,{}),e[5]=o):o=e[5];let s;return e[6]===a?s=e[7]:(s=(0,f.jsxs)(`div`,{className:`aui-composer-wrapper sticky bottom-0 mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 overflow-visible rounded-t-3xl pb-4 md:pb-6`,children:[r,a,o]}),e[6]=a,e[7]=s),s},Qe=()=>{let e=(0,t.c)(13),r=ie(),i,a,o;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(i=F(`aui-composer-root group/composer flex w-full flex-col overflow-hidden rounded-2xl px-3 py-2`,`border border-border/40 shadow-sm backdrop-blur-md`,`bg-background/80`,`transition-all duration-200`,`focus-within:border-ring/50 focus-within:shadow-md`,`hover:border-border/60`),a=(0,f.jsx)(je,{}),o=(0,f.jsx)(n.ComposerPrimitive.Input,{placeholder:`Send a message...`,className:`aui-composer-input mt-2 max-h-24 w-full resize-none bg-transparent px-0 py-2 text-sm leading-relaxed text-foreground placeholder:text-muted-foreground/70 focus-visible:outline-none focus-visible:ring-0`,rows:1,autoFocus:!0,"aria-label":`Message input`}),e[0]=i,e[1]=a,e[2]=o):(i=e[0],a=e[1],o=e[2]);let c,l;e[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(Me,{}),l=(0,f.jsx)(Ke,{}),e[3]=c,e[4]=l):(c=e[3],l=e[4]);let u;e[5]===r?u=e[6]:(u=r?.isSupported&&(0,f.jsxs)(xe,{variant:`ghost`,size:`sm`,onClick:()=>r.startSession(),className:`gap-2 rounded-full text-muted-foreground hover:text-foreground`,"aria-label":`Start voice session`,children:[(0,f.jsx)(s.Phone,{className:`h-4 w-4`}),(0,f.jsx)(`span`,{className:`text-xs`,children:`Voice`})]}),e[5]=r,e[6]=u);let d;e[7]===u?d=e[8]:(d=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l,u]}),e[7]=u,e[8]=d);let p;e[9]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,f.jsx)(n.ThreadPrimitive.If,{running:!1,children:(0,f.jsx)(n.ComposerPrimitive.Send,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Send message`,side:`top`,type:`submit`,variant:`ghost`,size:`icon`,className:`aui-composer-send size-8 shrink-0 rounded-full border border-primary/60 bg-primary px-0 text-primary-foreground shadow-[0_12px_24px_-16px_rgba(37,99,235,0.55)] transition-shadow hover:shadow-[0_14px_24px_-14px_rgba(37,99,235,0.6)] focus-visible:ring-2 focus-visible:ring-primary/40`,"aria-label":`Send message`,children:(0,f.jsx)(s.ArrowUpIcon,{className:`aui-composer-send-icon size-4`})})})}),e[9]=p):p=e[9];let m;e[10]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,f.jsxs)(`div`,{className:`flex items-center gap-1.5`,children:[p,(0,f.jsx)(n.ThreadPrimitive.If,{running:!0,children:(0,f.jsx)(n.ComposerPrimitive.Cancel,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Stop generating`,side:`top`,type:`button`,variant:`ghost`,size:`icon`,className:`aui-composer-cancel size-8 shrink-0 rounded-full border border-destructive/60 bg-destructive px-0 text-destructive-foreground shadow-[0_12px_24px_-18px_rgba(220,38,38,0.55)] transition-shadow hover:shadow-[0_14px_24px_-16px_rgba(220,38,38,0.6)] focus-visible:ring-2 focus-visible:ring-destructive/40`,"aria-label":`Stop generating`,children:(0,f.jsx)(s.Square,{className:`aui-composer-cancel-icon size-3.5`})})})})]}),e[10]=m):m=e[10];let h;return e[11]===d?h=e[12]:(h=(0,f.jsxs)(n.ComposerPrimitive.Root,{className:i,children:[a,o,(0,f.jsxs)(`div`,{className:`aui-composer-action-wrapper mt-2 flex items-center justify-between text-muted-foreground`,children:[d,m]})]}),e[11]=d,e[12]=h),h},$e=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ThreadPrimitive.ScrollToBottom,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Scroll to bottom`,variant:`outline`,className:`aui-thread-scroll-to-bottom absolute -top-12 z-10 self-center rounded-full p-4 disabled:invisible dark:bg-background dark:hover:bg-accent`,children:(0,f.jsx)(s.ArrowDownIcon,{})})}),e[0]=r):r=e[0],r},et=()=>{let e=(0,t.c)(2),n;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(l.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},className:`aui-thread-welcome-message-motion-1 text-3xl font-bold tracking-tight`,children:`Hello there!`}),e[0]=n):n=e[0];let r;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsxs)(`div`,{className:`aui-thread-welcome-root mx-auto my-auto flex w-full max-w-[var(--thread-max-width)] flex-grow flex-col`,children:[(0,f.jsx)(`div`,{className:`aui-thread-welcome-center flex w-full flex-grow flex-col items-center justify-center`,children:(0,f.jsxs)(`div`,{className:`aui-thread-welcome-message flex size-full flex-col justify-center px-8`,children:[n,(0,f.jsx)(l.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:10},transition:{delay:.1},className:`aui-thread-welcome-message-motion-2 mt-2 text-lg text-muted-foreground`,children:`How can I help you today?`})]})}),(0,f.jsx)(tt,{})]}),e[1]=r):r=e[1],r},tt=()=>{let e=(0,t.c)(1),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsx)(`div`,{className:`aui-thread-welcome-suggestions grid w-full gap-2 pb-4 @md:grid-cols-2`,children:[{title:`What's the weather`,label:`in San Francisco?`,action:`What's the weather in San Francisco?`},{title:`Explain React hooks`,label:`like useState and useEffect`,action:`Explain React hooks like useState and useEffect`},{title:`Write a SQL query`,label:`to find top customers`,action:`Write a SQL query to find top customers`},{title:`Create a meal plan`,label:`for healthy weight loss`,action:`Create a meal plan for healthy weight loss`}].map(lt)}),e[0]=n):n=e[0],n},nt=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.Error,{children:(0,f.jsx)(n.ErrorPrimitive.Root,{className:`aui-message-error-root mt-2 rounded-md border border-destructive bg-destructive/10 p-3 text-sm text-destructive dark:bg-destructive/5 dark:text-red-200`,children:(0,f.jsx)(n.ErrorPrimitive.Message,{className:`aui-message-error-message line-clamp-2`})})}),e[0]=r):r=e[0],r},rt=()=>{let e=(0,t.c)(2),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsxs)(`div`,{className:`aui-assistant-message-content mx-2 leading-7 break-words text-foreground`,children:[(0,f.jsx)(n.MessagePrimitive.Parts,{components:{Text:Re,tools:{Fallback:qe}}}),(0,f.jsx)(nt,{})]}),e[0]=r):r=e[0];let i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsxs)(`div`,{className:`aui-assistant-message-root relative mx-auto w-full max-w-[var(--thread-max-width)] animate-in py-4 duration-200 fade-in slide-in-from-bottom-1 last:mb-24`,"data-role":`assistant`,children:[r,(0,f.jsxs)(`div`,{className:`aui-assistant-message-footer mt-2 ml-2 flex`,children:[(0,f.jsx)(ct,{}),(0,f.jsx)(it,{})]})]})}),e[1]=i):i=e[1],i},it=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.If,{copied:!0,children:(0,f.jsx)(s.CheckIcon,{})}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.ActionBarPrimitive.Copy,{asChild:!0,children:(0,f.jsxs)(Se,{tooltip:`Copy`,children:[r,(0,f.jsx)(n.MessagePrimitive.If,{copied:!1,children:(0,f.jsx)(s.CopyIcon,{})})]})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsxs)(n.ActionBarPrimitive.Root,{hideWhenRunning:!0,autohide:`not-last`,autohideFloat:`single-branch`,className:`aui-assistant-action-bar-root col-start-3 row-start-2 -ml-1 flex gap-1 text-muted-foreground data-floating:absolute data-floating:rounded-md data-floating:border data-floating:bg-background data-floating:p-1 data-floating:shadow-sm`,children:[i,(0,f.jsx)(n.ActionBarPrimitive.Reload,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Refresh`,children:(0,f.jsx)(s.RefreshCwIcon,{})})})]}),e[2]=a):a=e[2],a},at=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(Ae,{}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(`div`,{className:`aui-user-message-content rounded-2xl rounded-tr-sm bg-primary text-primary-foreground px-4 py-3 text-sm leading-relaxed shadow-sm`,children:(0,f.jsx)(n.MessagePrimitive.Parts,{})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsxs)(`div`,{className:`aui-user-message-root mx-auto grid w-full max-w-[var(--thread-max-width)] animate-in auto-rows-auto grid-cols-[minmax(72px,1fr)_auto] gap-y-2 px-2 py-4 duration-200 fade-in slide-in-from-bottom-1 first:mt-3 last:mb-5 [&:where(>*)]:col-start-2`,"data-role":`user`,children:[r,(0,f.jsxs)(`div`,{className:`aui-user-message-content-wrapper relative col-start-2 min-w-0 max-w-[85%]`,children:[i,(0,f.jsx)(`div`,{className:`aui-user-action-bar-wrapper absolute top-1/2 left-0 -translate-x-full -translate-y-1/2 pr-2`,children:(0,f.jsx)(ot,{})})]}),(0,f.jsx)(ct,{className:`aui-user-branch-picker col-span-full col-start-1 row-start-3 -mr-1 justify-end`})]})}),e[2]=a):a=e[2],a},ot=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ActionBarPrimitive.Root,{hideWhenRunning:!0,autohide:`not-last`,className:`aui-user-action-bar-root flex flex-col items-end`,children:(0,f.jsx)(n.ActionBarPrimitive.Edit,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Edit`,className:`aui-user-action-edit p-4`,children:(0,f.jsx)(s.PencilIcon,{})})})}),e[0]=r):r=e[0],r},st=()=>{let e=(0,t.c)(3),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ComposerPrimitive.Input,{className:`aui-edit-composer-input flex min-h-[60px] w-full resize-none bg-transparent p-4 text-foreground outline-none`,autoFocus:!0}),e[0]=r):r=e[0];let i;e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsx)(n.ComposerPrimitive.Cancel,{asChild:!0,children:(0,f.jsx)(xe,{variant:`ghost`,size:`sm`,"aria-label":`Cancel edit`,children:`Cancel`})}),e[1]=i):i=e[1];let a;return e[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(`div`,{className:`aui-edit-composer-wrapper mx-auto flex w-full max-w-[var(--thread-max-width)] flex-col gap-4 px-2 first:mt-4`,children:(0,f.jsxs)(n.ComposerPrimitive.Root,{className:`aui-edit-composer-root ml-auto flex w-full max-w-7/8 flex-col rounded-xl bg-muted`,children:[r,(0,f.jsxs)(`div`,{className:`aui-edit-composer-footer mx-3 mb-3 flex items-center justify-center gap-2 self-end`,children:[i,(0,f.jsx)(n.ComposerPrimitive.Send,{asChild:!0,children:(0,f.jsx)(xe,{size:`sm`,"aria-label":`Update message`,children:`Update`})})]})]})}),e[2]=a):a=e[2],a},ct=e=>{let r=(0,t.c)(12),i,a;r[0]===e?(i=r[1],a=r[2]):({className:i,...a}=e,r[0]=e,r[1]=i,r[2]=a);let o;r[3]===i?o=r[4]:(o=F(`aui-branch-picker-root mr-2 -ml-2 inline-flex items-center text-xs text-muted-foreground`,i),r[3]=i,r[4]=o);let c;r[5]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,f.jsx)(n.BranchPickerPrimitive.Previous,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Previous`,children:(0,f.jsx)(s.ChevronLeftIcon,{})})}),r[5]=c):c=r[5];let l;r[6]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,f.jsx)(n.BranchPickerPrimitive.Number,{}),r[6]=l):l=r[6];let u;r[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,f.jsxs)(`span`,{className:`aui-branch-picker-state font-medium`,children:[l,` / `,(0,f.jsx)(n.BranchPickerPrimitive.Count,{})]}),r[7]=u):u=r[7];let d;r[8]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,f.jsx)(n.BranchPickerPrimitive.Next,{asChild:!0,children:(0,f.jsx)(Se,{tooltip:`Next`,children:(0,f.jsx)(s.ChevronRightIcon,{})})}),r[8]=d):d=r[8];let p;return r[9]!==a||r[10]!==o?(p=(0,f.jsxs)(n.BranchPickerPrimitive.Root,{hideWhenSingleBranch:!0,className:o,...a,children:[c,u,d]}),r[9]=a,r[10]=o,r[11]=p):p=r[11],p};function lt(e,t){return(0,f.jsx)(l.div,{initial:{opacity:0,y:20},animate:{opacity:1,y:0},exit:{opacity:0,y:20},transition:{delay:.05*t},className:`aui-thread-welcome-suggestion-display [&:nth-child(n+3)]:hidden @md:[&:nth-child(n+3)]:block`,children:(0,f.jsx)(n.ThreadPrimitive.Suggestion,{prompt:e.action,send:!0,asChild:!0,children:(0,f.jsxs)(xe,{variant:`outline`,className:`aui-thread-welcome-suggestion h-auto w-full flex-1 flex-wrap items-start justify-start gap-1 rounded-xl border-border/50 bg-background/50 px-4 py-3 text-left text-sm transition-colors hover:bg-accent/50 hover:border-accent @md:flex-col`,"aria-label":e.action,children:[(0,f.jsx)(`span`,{className:`aui-thread-welcome-suggestion-text-1 font-medium text-foreground`,children:e.title}),(0,f.jsx)(`span`,{className:`aui-thread-welcome-suggestion-text-2 text-muted-foreground text-xs`,children:e.label})]})})},`suggested-action-${e.title}-${t}`)}let ut=()=>{let e=(0,t.c)(2),r;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.AssistantModalPrimitive.Anchor,{className:`aui-root aui-modal-anchor fixed right-6 bottom-6 size-14`,children:(0,f.jsx)(n.AssistantModalPrimitive.Trigger,{asChild:!0,children:(0,f.jsx)(dt,{})})}),e[0]=r):r=e[0];let i;return e[1]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,f.jsxs)(n.AssistantModalPrimitive.Root,{children:[r,(0,f.jsx)(n.AssistantModalPrimitive.Content,{sideOffset:16,className:`aui-root aui-modal-content z-50 h-[600px] w-[500px] overflow-clip overscroll-contain rounded-2xl border border-border/50 bg-popover/95 backdrop-blur-xl p-0 text-popover-foreground shadow-2xl outline-none data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=closed]:slide-out-to-bottom-1/2 data-[state=closed]:slide-out-to-right-1/2 data-[state=closed]:zoom-out-95 data-[state=open]:animate-in data-[state=open]:fade-in-0 data-[state=open]:slide-in-from-bottom-1/2 data-[state=open]:slide-in-from-right-1/2 data-[state=open]:zoom-in-95 [&>.aui-thread-root]:bg-inherit`,children:(0,f.jsx)(Xe,{})})]}),e[1]=i):i=e[1],i},dt=(0,o.forwardRef)((e,n)=>{let r=(0,t.c)(15),i,a;r[0]===e?(i=r[1],a=r[2]):({"data-state":a,...i}=e,r[0]=e,r[1]=i,r[2]=a);let o=a===`open`?`Close Assistant`:`Open Assistant`,c,l;r[3]===a?(c=r[4],l=r[5]):(c=(0,f.jsx)(`img`,{src:`/logo.png`,alt:`Assistant`,"data-state":a,className:`aui-modal-button-closed-icon absolute size-full object-contain drop-shadow-xl transition-all duration-300 ease-in-out hover:drop-shadow-2xl data-[state=closed]:scale-100 data-[state=closed]:rotate-0 data-[state=open]:scale-0 data-[state=open]:rotate-90`}),l=(0,f.jsx)(s.ChevronDownIcon,{"data-state":a,className:`aui-modal-button-open-icon absolute size-full rounded-full bg-primary p-3 text-primary-foreground shadow-xl transition-all duration-300 ease-in-out hover:shadow-2xl data-[state=closed]:scale-0 data-[state=closed]:-rotate-90 data-[state=open]:scale-100 data-[state=open]:rotate-0`}),r[3]=a,r[4]=c,r[5]=l);let u;r[6]===o?u=r[7]:(u=(0,f.jsx)(`span`,{className:`aui-sr-only sr-only`,children:o}),r[6]=o,r[7]=u);let d;return r[8]!==n||r[9]!==i||r[10]!==c||r[11]!==l||r[12]!==u||r[13]!==o?(d=(0,f.jsxs)(Se,{variant:`ghost`,tooltip:o,side:`left`,...i,className:`aui-modal-button size-full rounded-full transition-all hover:scale-105 hover:bg-transparent active:scale-95`,ref:n,children:[c,l,u]}),r[8]=n,r[9]=i,r[10]=c,r[11]=l,r[12]=u,r[13]=o,r[14]=d):d=r[14],d});dt.displayName=`AssistantModalButton`;let ft=({tool:e,callTool:t})=>((0,n.useAssistantTool)({toolName:e.name,description:e.description??``,parameters:e.inputSchema??{},execute:async n=>{try{return(await t(e.name,n)).content.map(e=>`text`in e&&typeof e.text==`string`?e.text:JSON.stringify(e)).join(`
5
+ `)||`Tool executed successfully`}catch(t){throw console.error(`[ToolBridge] Tool '${e.name}' execution failed:`,t),t}}}),null),pt=()=>{let e=(0,t.c)(7),{tools:n,callTool:r}=Ge(),i;if(e[0]!==r||e[1]!==n){let t;e[3]===r?t=e[4]:(t=e=>(0,f.jsx)(ft,{tool:e,callTool:r},`${e._sourceId}-${e.name}`),e[3]=r,e[4]=t),i=n.map(t),e[0]=r,e[1]=n,e[2]=i}else i=e[2];let a;return e[5]===i?a=e[6]:(a=(0,f.jsx)(f.Fragment,{children:i}),e[5]=i,e[6]=a),a};function mt(e,t=!1){let n=e.replace(/([a-z])([A-Z])/g,`$1 $2`).replace(/_/g,` `).toLowerCase().split(` `);if(n.length===0)return e;if(t){let e=n[0],t=e.endsWith(`e`)?e.slice(0,-1)+`ing`:e+`ing`;n[0]=t.charAt(0).toUpperCase()+t.slice(1)}else n[0]=n[0].charAt(0).toUpperCase()+n[0].slice(1);return n.join(` `)}function ht(){let e=(0,t.c)(3),r=(0,n.useThread)(gt),i;bb0:{if(!r||r.length===0){let t;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(t=[],e[0]=t):t=e[0],i=t;break bb0}let t;if(e[1]!==r){t=[];for(let e of r)if(e.role===`assistant`)for(let n of e.content){if(n.type!==`tool-call`)continue;let e=n,r=e.result!==void 0,i=e.result&&typeof e.result==`object`&&`error`in e.result,a;a=i?`error`:r?`success`:`running`,t.push({id:e.toolCallId,toolName:e.toolName,label:mt(e.toolName,a===`running`),status:a,args:e.args,result:e.result,error:i?String(e.result.error):void 0})}e[1]=r,e[2]=t}else t=e[2];i=t}return i}function gt(e){return e.messages}function _t(){let e=(0,t.c)(2),n=ht(),r;return e[0]===n?r=e[1]:(r=n.find(vt)??null,e[0]=n,e[1]=r),r}function vt(e){return e.status===`running`}function yt(e){let n=(0,t.c)(3),r=e===void 0?3:e,i=ht(),a;return n[0]!==i||n[1]!==r?(a=i.filter(bt).slice(-r),n[0]=i,n[1]=r,n[2]=a):a=n[2],a}function bt(e){return e.status===`success`||e.status===`error`}let xt=e=>{let n=(0,t.c)(13),{currentAction:r,recentActions:i,showRecent:a,className:o}=e,s;n[0]===i?s=n[1]:(s=i===void 0?[]:i,n[0]=i,n[1]=s);let c=s,l=a===void 0?!0:a;if(!r&&c.length===0)return null;let u;n[2]===o?u=n[3]:(u=F(`space-y-2`,o),n[2]=o,n[3]=u);let d;n[4]===r?d=n[5]:(d=r&&(0,f.jsxs)(`div`,{className:`flex items-center gap-2.5`,children:[(0,f.jsx)(St,{status:r.status}),(0,f.jsxs)(`span`,{className:`text-sm font-medium text-white`,children:[r.label,`...`]})]}),n[4]=r,n[5]=d);let p;n[6]!==c||n[7]!==l?(p=l&&c.length>0&&(0,f.jsx)(`div`,{className:`ml-1 border-l border-white/20 pl-3 space-y-1`,children:c.map(wt)}),n[6]=c,n[7]=l,n[8]=p):p=n[8];let m;return n[9]!==u||n[10]!==d||n[11]!==p?(m=(0,f.jsxs)(`div`,{className:u,children:[d,p]}),n[9]=u,n[10]=d,n[11]=p,n[12]=m):m=n[12],m},St=e=>{let n=(0,t.c)(25),{status:r,size:i,className:a}=e,o=(i===void 0?`md`:i)===`sm`?`h-3 w-3`:`h-4 w-4`;switch(r){case`queued`:{let e;n[0]!==a||n[1]!==o?(e=F(o,`text-white/40`,a),n[0]=a,n[1]=o,n[2]=e):e=n[2];let t;return n[3]===e?t=n[4]:(t=(0,f.jsx)(s.Circle,{className:e}),n[3]=e,n[4]=t),t}case`running`:{let e;n[5]!==a||n[6]!==o?(e=F(o,`text-blue-400 animate-spin`,a),n[5]=a,n[6]=o,n[7]=e):e=n[7];let t;return n[8]===e?t=n[9]:(t=(0,f.jsx)(s.Loader2,{className:e}),n[8]=e,n[9]=t),t}case`success`:{let e;n[10]!==a||n[11]!==o?(e=F(o,`text-green-400`,a),n[10]=a,n[11]=o,n[12]=e):e=n[12];let t;return n[13]===e?t=n[14]:(t=(0,f.jsx)(s.CheckCircle2,{className:e}),n[13]=e,n[14]=t),t}case`error`:{let e;n[15]!==a||n[16]!==o?(e=F(o,`text-red-400`,a),n[15]=a,n[16]=o,n[17]=e):e=n[17];let t;return n[18]===e?t=n[19]:(t=(0,f.jsx)(s.AlertCircle,{className:e}),n[18]=e,n[19]=t),t}default:{let e;n[20]!==a||n[21]!==o?(e=F(o,`text-white/40`,a),n[20]=a,n[21]=o,n[22]=e):e=n[22];let t;return n[23]===e?t=n[24]:(t=(0,f.jsx)(s.Circle,{className:e}),n[23]=e,n[24]=t),t}}},Ct=e=>{let n=(0,t.c)(6),{className:r}=e,i;n[0]===r?i=n[1]:(i=F(`flex items-center gap-2 text-white/50`,r),n[0]=r,n[1]=i);let a,o;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(`div`,{className:`h-2 w-2 rounded-full bg-green-400/60`}),o=(0,f.jsx)(`span`,{className:`text-xs`,children:`Ready`}),n[2]=a,n[3]=o):(a=n[2],o=n[3]);let s;return n[4]===i?s=n[5]:(s=(0,f.jsxs)(`div`,{className:i,children:[a,o]}),n[4]=i,n[5]=s),s};function wt(e){return(0,f.jsxs)(`div`,{className:`flex items-center gap-2 text-xs text-white/60`,children:[(0,f.jsx)(St,{status:e.status,size:`sm`}),(0,f.jsx)(`span`,{className:F(e.status===`error`&&`text-red-400`),children:e.label})]},e.id)}let Tt=e=>{let n=(0,t.c)(34),{actions:r,defaultCollapsed:i,className:a}=e,[c,l]=(0,o.useState)(i===void 0?!0:i);if(r.length===0)return null;let u;n[0]===r?u=n[1]:(u=r.filter(Ot),n[0]=r,n[1]=u);let d=u.length,p=r.length,m;n[2]===a?m=n[3]:(m=F(``,a),n[2]=a,n[3]=m);let h;n[4]===c?h=n[5]:(h=()=>l(!c),n[4]=c,n[5]=h);let g;n[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=F(`flex w-full items-center justify-between`,`rounded-lg px-3 py-2`,`bg-white/5 hover:bg-white/10`,`transition-colors duration-200`),n[6]=g):g=n[6];let _=!c,v;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,f.jsx)(`span`,{className:`text-xs font-medium text-white/80`,children:`Actions`}),n[7]=v):v=n[7];let y;n[8]!==d||n[9]!==p?(y=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[v,(0,f.jsxs)(`span`,{className:`text-xs text-white/50`,children:[`(`,d,`/`,p,`)`]})]}),n[8]=d,n[9]=p,n[10]=y):y=n[10];let b=!c&&`rotate-180`,x;n[11]===b?x=n[12]:(x=F(`h-4 w-4 text-white/50 transition-transform duration-200`,b),n[11]=b,n[12]=x);let S;n[13]===x?S=n[14]:(S=(0,f.jsx)(s.ChevronDown,{className:x}),n[13]=x,n[14]=S);let C;n[15]!==S||n[16]!==h||n[17]!==_||n[18]!==y?(C=(0,f.jsxs)(`button`,{type:`button`,onClick:h,className:g,"aria-expanded":_,children:[y,S]}),n[15]=S,n[16]=h,n[17]=_,n[18]=y,n[19]=C):C=n[19];let w=c?`grid-rows-[0fr]`:`grid-rows-[1fr]`,T;n[20]===w?T=n[21]:(T=F(`grid transition-[grid-template-rows] duration-300 ease-out`,w),n[20]=w,n[21]=T);let E;n[22]===r?E=n[23]:(E=r.map(kt),n[22]=r,n[23]=E);let D;n[24]===E?D=n[25]:(D=(0,f.jsx)(`div`,{className:`overflow-hidden`,children:(0,f.jsx)(`div`,{className:`mt-2 max-h-48 space-y-1 overflow-y-auto px-1`,children:E})}),n[24]=E,n[25]=D);let O;n[26]!==c||n[27]!==T||n[28]!==D?(O=(0,f.jsx)(`div`,{className:T,"aria-hidden":c,children:D}),n[26]=c,n[27]=T,n[28]=D,n[29]=O):O=n[29];let k;return n[30]!==C||n[31]!==O||n[32]!==m?(k=(0,f.jsxs)(`div`,{className:m,children:[C,O]}),n[30]=C,n[31]=O,n[32]=m,n[33]=k):k=n[33],k},Et=e=>{let n=(0,t.c)(25),{action:r,className:i}=e,a;n[0]===i?a=n[1]:(a=F(`flex items-center justify-between`,`rounded-md px-3 py-1.5`,`hover:bg-white/5`,`transition-colors duration-150`,i),n[0]=i,n[1]=a);let o;n[2]===r.status?o=n[3]:(o=(0,f.jsx)(St,{status:r.status,size:`sm`}),n[2]=r.status,n[3]=o);let s=r.status===`success`&&`text-white/60`,c=r.status===`running`&&`text-white`,l=r.status===`error`&&`text-red-400`,u=r.status===`queued`&&`text-white/40`,d;n[4]!==s||n[5]!==c||n[6]!==l||n[7]!==u?(d=F(`text-sm truncate`,s,c,l,u),n[4]=s,n[5]=c,n[6]=l,n[7]=u,n[8]=d):d=n[8];let p;n[9]!==r.label||n[10]!==d?(p=(0,f.jsx)(`span`,{className:d,children:r.label}),n[9]=r.label,n[10]=d,n[11]=p):p=n[11];let m;n[12]!==o||n[13]!==p?(m=(0,f.jsxs)(`div`,{className:`flex items-center gap-2.5 min-w-0`,children:[o,p]}),n[12]=o,n[13]=p,n[14]=m):m=n[14];let h;n[15]===r.duration?h=n[16]:(h=r.duration&&(0,f.jsx)(`span`,{className:`text-[10px] text-white/40 tabular-nums`,children:Dt(r.duration)}),n[15]=r.duration,n[16]=h);let g;n[17]!==r.error||n[18]!==r.status?(g=r.status===`error`&&r.error&&(0,f.jsx)(`span`,{className:`text-[10px] text-red-400 truncate max-w-[100px]`,title:r.error,children:r.error}),n[17]=r.error,n[18]=r.status,n[19]=g):g=n[19];let _;return n[20]!==a||n[21]!==h||n[22]!==g||n[23]!==m?(_=(0,f.jsxs)(`div`,{className:a,children:[m,h,g]}),n[20]=a,n[21]=h,n[22]=g,n[23]=m,n[24]=_):_=n[24],_};function Dt(e){if(e<1e3)return`${e}ms`;let t=e/1e3;return t<60?`${t.toFixed(1)}s`:`${Math.floor(t/60)}m ${Math.floor(t%60)}s`}function Ot(e){return e.status===`success`}function kt(e){return(0,f.jsx)(Et,{action:e},e.id)}let At=e=>{let r=(0,t.c)(17),{placeholder:i,showVoiceButton:a,isVoiceActive:o,onVoiceToggle:c,className:l}=e,u=i===void 0?`Ask something...`:i,d=a===void 0?!1:a,p=o===void 0?!1:o,m;r[0]===l?m=r[1]:(m=F(`flex items-center gap-2`,`rounded-full`,`bg-white/10 border border-white/10`,`px-3 py-2`,`focus-within:border-white/20 focus-within:bg-white/15`,`transition-colors duration-200`,l),r[0]=l,r[1]=m);let h;r[2]===Symbol.for(`react.memo_cache_sentinel`)?(h=F(`flex-1 min-w-0`,`bg-transparent`,`text-sm text-white placeholder:text-white/40`,`outline-none`,`resize-none`),r[2]=h):h=r[2];let g;r[3]===u?g=r[4]:(g=(0,f.jsx)(n.ComposerPrimitive.Input,{placeholder:u,className:h,autoFocus:!0}),r[3]=u,r[4]=g);let _;r[5]!==p||r[6]!==c||r[7]!==d?(_=d&&c&&(0,f.jsx)(`button`,{type:`button`,onClick:c,className:F(`flex-shrink-0`,`p-1.5 rounded-full`,`transition-colors duration-200`,p?`bg-red-500 text-white`:`hover:bg-white/10 text-white/60 hover:text-white`),"aria-label":p?`Stop voice input`:`Start voice input`,children:(0,f.jsx)(s.Mic,{className:`h-4 w-4`})}),r[5]=p,r[6]=c,r[7]=d,r[8]=_):_=r[8];let v;r[9]===Symbol.for(`react.memo_cache_sentinel`)?(v=F(`flex-shrink-0`,`p-1.5 rounded-full`,`bg-primary text-primary-foreground`,`hover:bg-primary/90`,`disabled:opacity-50 disabled:cursor-not-allowed`,`transition-colors duration-200`),r[9]=v):v=r[9];let y;r[10]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,f.jsx)(n.ThreadPrimitive.If,{running:!1,children:(0,f.jsx)(n.ComposerPrimitive.Send,{asChild:!0,children:(0,f.jsx)(`button`,{type:`submit`,className:v,"aria-label":`Send message`,children:(0,f.jsx)(s.Send,{className:`h-4 w-4`})})})}),r[10]=y):y=r[10];let b;r[11]===Symbol.for(`react.memo_cache_sentinel`)?(b=F(`flex-shrink-0`,`p-1.5 rounded-full`,`bg-red-500 text-white`,`hover:bg-red-600`,`transition-colors duration-200`),r[11]=b):b=r[11];let x;r[12]===Symbol.for(`react.memo_cache_sentinel`)?(x=(0,f.jsx)(n.ThreadPrimitive.If,{running:!0,children:(0,f.jsx)(n.ComposerPrimitive.Cancel,{asChild:!0,children:(0,f.jsx)(`button`,{type:`button`,className:b,"aria-label":`Stop generating`,children:(0,f.jsx)(s.Square,{className:`h-3.5 w-3.5`})})})}),r[12]=x):x=r[12];let S;return r[13]!==m||r[14]!==g||r[15]!==_?(S=(0,f.jsxs)(n.ComposerPrimitive.Root,{className:m,children:[g,_,y,x]}),r[13]=m,r[14]=g,r[15]=_,r[16]=S):S=r[16],S},jt={type:`spring`,stiffness:300,damping:28,mass:.8},Mt={collapsed:{width:`40px`,height:`3px`,padding:`0px`,borderRadius:`9999px`},hovered:{width:`180px`,height:`32px`,padding:`0px 12px`,borderRadius:`9999px`},composing:{width:`min(360px, calc(100vw - 2rem))`,height:`auto`,padding:`10px 14px`,borderRadius:`20px`},active:{width:`min(360px, calc(100vw - 2rem))`,height:`auto`,padding:`10px 14px`,borderRadius:`20px`},expanded:{width:`min(400px, calc(100vw - 2rem))`,height:`auto`,padding:`12px 16px`,borderRadius:`20px`}},Nt={hidden:{opacity:0,y:8,scale:.95},visible:{opacity:1,y:0,scale:1,transition:{type:`spring`,stiffness:500,damping:30,staggerChildren:.05}},exit:{opacity:0,y:-4,scale:.98,transition:{duration:.15,ease:`easeOut`}}},Pt={hidden:{opacity:0,scale:.9},visible:{opacity:1,scale:1,transition:{delay:.1,duration:.2}},exit:{opacity:0,scale:.9,transition:{duration:.1}}},Ft={idle:{opacity:.6,scaleX:1},hover:{opacity:1,scaleX:1.1,transition:{duration:.2}}},It=e=>{let n=(0,t.c)(55),{mode:r,children:i,onModeChange:a,className:s}=e,[l,u]=(0,o.useState)(!1),d=(0,o.useRef)(null),p;n[0]!==r||n[1]!==a?(p=()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{u(!0),r===`collapsed`&&a?.(`hovered`)},100)},n[0]=r,n[1]=a,n[2]=p):p=n[2];let m=p,h;n[3]!==r||n[4]!==a?(h=()=>{d.current&&clearTimeout(d.current),u(!1),r===`hovered`&&(d.current=setTimeout(()=>{a?.(`collapsed`)},50))},n[3]=r,n[4]=a,n[5]=h):h=n[5];let g=h,_;n[6]!==r||n[7]!==a?(_=()=>{(r===`collapsed`||r===`hovered`)&&a?.(`composing`)},n[6]=r,n[7]=a,n[8]=_):_=n[8];let v=_,y,b;n[9]!==r||n[10]!==a?(y=()=>{let e=e=>{(e.ctrlKey||e.metaKey)&&e.shiftKey&&e.key.toLowerCase()===`k`&&(e.preventDefault(),r===`collapsed`?a?.(`composing`):(r===`composing`||r===`hovered`)&&a?.(`collapsed`))};return window.addEventListener(`keydown`,e),()=>window.removeEventListener(`keydown`,e)},b=[r,a],n[9]=r,n[10]=a,n[11]=y,n[12]=b):(y=n[11],b=n[12]),(0,o.useEffect)(y,b);let x,S;n[13]===Symbol.for(`react.memo_cache_sentinel`)?(x=()=>()=>{d.current&&clearTimeout(d.current)},S=[],n[13]=x,n[14]=S):(x=n[13],S=n[14]),(0,o.useEffect)(x,S);let C=r!==`collapsed`&&r!==`hovered`,w=Mt[r],T=r===`collapsed`&&`glass-pill-collapsed glass-shimmer`,E=r===`hovered`&&`glass-pill-hovered`,D=(r===`composing`||r===`expanded`)&&`glass-pill`,O=r===`active`&&`glass-pill glass-active`,k;n[15]!==s||n[16]!==D||n[17]!==O||n[18]!==T||n[19]!==E?(k=F(`relative overflow-hidden`,`will-change-transform`,T,E,D,O,s),n[15]=s,n[16]=D,n[17]=O,n[18]=T,n[19]=E,n[20]=k):k=n[20];let A=k,j;n[21]!==w.borderRadius||n[22]!==w.height||n[23]!==w.padding||n[24]!==w.width?(j={width:w.width,height:w.height,padding:w.padding,borderRadius:w.borderRadius},n[21]=w.borderRadius,n[22]=w.height,n[23]=w.padding,n[24]=w.width,n[25]=j):j=n[25];let M=r===`collapsed`||r===`hovered`?`button`:void 0,N=r===`collapsed`||r===`hovered`?0:void 0,P=r===`collapsed`?`Open assistant`:void 0,I=C?`60px`:void 0,L;n[26]===I?L=n[27]:(L={minHeight:I},n[26]=I,n[27]=L);let R;n[28]!==l||n[29]!==r?(R=r===`collapsed`&&(0,f.jsx)(c.motion.div,{className:`absolute inset-0`,variants:Ft,initial:`idle`,animate:l?`hover`:`idle`,exit:{opacity:0,transition:{duration:.1}},style:{background:`linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent)`,backgroundSize:`200% 100%`}},`collapsed-bar`),n[28]=l,n[29]=r,n[30]=R):R=n[30];let z;n[31]===R?z=n[32]:(z=(0,f.jsx)(c.AnimatePresence,{mode:`wait`,children:R}),n[31]=R,n[32]=z);let B;n[33]===r?B=n[34]:(B=r===`hovered`&&(0,f.jsx)(c.motion.div,{className:`relative z-10 flex h-full w-full items-center justify-center`,variants:Pt,initial:`hidden`,animate:`visible`,exit:`exit`,children:(0,f.jsxs)(`span`,{className:`text-xs text-white/70`,children:[`Click or`,` `,(0,f.jsx)(`kbd`,{className:`rounded bg-white/10 px-1.5 py-0.5 font-mono text-[10px]`,children:`⌘⇧K`})]})},`hover-hint`),n[33]=r,n[34]=B);let V;n[35]===B?V=n[36]:(V=(0,f.jsx)(c.AnimatePresence,{mode:`wait`,children:B}),n[35]=B,n[36]=V);let H;n[37]!==i||n[38]!==C?(H=C&&(0,f.jsx)(c.motion.div,{className:`relative z-10 flex flex-col gap-2`,variants:Nt,initial:`hidden`,animate:`visible`,exit:`exit`,children:i},`content`),n[37]=i,n[38]=C,n[39]=H):H=n[39];let U;n[40]===H?U=n[41]:(U=(0,f.jsx)(c.AnimatePresence,{mode:`wait`,children:H}),n[40]=H,n[41]=U);let W;return n[42]!==A||n[43]!==v||n[44]!==m||n[45]!==g||n[46]!==j||n[47]!==M||n[48]!==N||n[49]!==P||n[50]!==L||n[51]!==z||n[52]!==V||n[53]!==U?(W=(0,f.jsxs)(c.motion.div,{layout:!0,className:A,initial:!1,animate:j,transition:jt,onMouseEnter:m,onMouseLeave:g,onClick:v,role:M,tabIndex:N,"aria-label":P,style:L,children:[z,V,U]}),n[42]=A,n[43]=v,n[44]=m,n[45]=g,n[46]=j,n[47]=M,n[48]=N,n[49]=P,n[50]=L,n[51]=z,n[52]=V,n[53]=U,n[54]=W):W=n[54],W},Lt={hidden:{opacity:0,scale:.95,y:4},visible:{opacity:1,scale:1,y:0,transition:{type:`spring`,stiffness:400,damping:30}},exit:{opacity:0,scale:.95,y:-4,transition:{duration:.15}}},Rt={idle:{scale:1},hover:{scale:1.05},tap:{scale:.95}},zt={hidden:{opacity:0,height:0},visible:{opacity:1,height:`auto`,transition:{type:`spring`,stiffness:300,damping:25}},exit:{opacity:0,height:0,transition:{duration:.1}}};function Bt(e){return e?e.status===`started`?`calling`:e.status===`completed`?e.error?`error`:`success`:`idle`:`idle`}let Vt=e=>{let n=(0,t.c)(98),{onEnd:r,compact:i,className:a}=e,o=i===void 0?!1:i,l=ie(),u;n[0]!==r||n[1]!==l?(u=()=>{l?.stopSession(),r?.()},n[0]=r,n[1]=l,n[2]=u):u=n[2];let d=u,p;n[3]===l?p=n[4]:(p=()=>{l?.toggleMute()},n[3]=l,n[4]=p);let m=p;if(!l||!l.isActive&&!l.isConnecting&&!l.isError)return null;let{isActive:h,isConnecting:g,isMuted:_,isError:v,error:y,audioLevel:b,transcript:x,toolCall:S}=l,C=b?.micLevel??0,w=b?.speakerLevel??0,T;n[5]===a?T=n[6]:(T=F(`flex flex-col gap-3`,a),n[5]=a,n[6]=T);let E=_?`bg-red-500/20 text-red-400`:`bg-white/10 text-white/80`,D;n[7]===E?D=n[8]:(D=F(`flex h-7 w-7 shrink-0 items-center justify-center rounded-full`,E),n[7]=E,n[8]=D);let O=_?.6:1,k;n[9]===O?k=n[10]:(k={opacity:O},n[9]=O,n[10]=k);let A;n[11]===_?A=n[12]:(A=_?(0,f.jsx)(s.MicOff,{className:`h-3.5 w-3.5`}):(0,f.jsx)(s.Mic,{className:`h-3.5 w-3.5`}),n[11]=_,n[12]=A);let j;n[13]!==D||n[14]!==k||n[15]!==A?(j=(0,f.jsx)(c.motion.div,{className:D,animate:k,children:A}),n[13]=D,n[14]=k,n[15]=A,n[16]=j):j=n[16];let M=o?`max-w-16`:`max-w-24`,N;n[17]===M?N=n[18]:(N=F(`h-5 flex-1`,M),n[17]=M,n[18]=N);let P=h&&!_,I;n[19]!==g||n[20]!==C||n[21]!==P?(I=(0,f.jsx)(Je,{active:P,processing:g,manualAudioLevel:C,barWidth:2,barGap:1,barRadius:1,barColor:`rgba(255, 255, 255, 0.7)`,height:20,mode:`static`,sensitivity:2,fadeEdges:!1}),n[19]=g,n[20]=C,n[21]=P,n[22]=I):I=n[22];let L;n[23]!==N||n[24]!==I?(L=(0,f.jsx)(`div`,{className:N,children:I}),n[23]=N,n[24]=I,n[25]=L):L=n[25];let R;n[26]!==j||n[27]!==L?(R=(0,f.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[j,L]}),n[26]=j,n[27]=L,n[28]=R):R=n[28];let z;n[29]===Symbol.for(`react.memo_cache_sentinel`)?(z=(0,f.jsx)(`div`,{className:`h-5 w-px bg-white/10`}),n[29]=z):z=n[29];let B=o?`max-w-16`:`max-w-24`,V;n[30]===B?V=n[31]:(V=F(`h-5 flex-1`,B),n[30]=B,n[31]=V);let H;n[32]!==h||n[33]!==g||n[34]!==w?(H=(0,f.jsx)(Je,{active:h,processing:g,manualAudioLevel:w,barWidth:2,barGap:1,barRadius:1,barColor:`rgba(255, 255, 255, 0.4)`,height:20,mode:`static`,sensitivity:2,fadeEdges:!1}),n[32]=h,n[33]=g,n[34]=w,n[35]=H):H=n[35];let U;n[36]!==V||n[37]!==H?(U=(0,f.jsx)(`div`,{className:V,children:H}),n[36]=V,n[37]=H,n[38]=U):U=n[38];let W;n[39]===w?W=n[40]:(W=w>.1?[1,1.2,1]:1,n[39]=w,n[40]=W);let G=w>.1?1:.5,K;n[41]!==W||n[42]!==G?(K={scale:W,opacity:G},n[41]=W,n[42]=G,n[43]=K):K=n[43];let ee;n[44]===Symbol.for(`react.memo_cache_sentinel`)?(ee={duration:.2},n[44]=ee):ee=n[44];let q;n[45]===K?q=n[46]:(q=(0,f.jsx)(`div`,{className:`flex h-7 w-7 shrink-0 items-center justify-center rounded-full bg-white/10`,children:(0,f.jsx)(c.motion.div,{className:`h-2.5 w-2.5 rounded-full bg-green-400`,animate:K,transition:ee})}),n[45]=K,n[46]=q);let J;n[47]!==U||n[48]!==q?(J=(0,f.jsxs)(`div`,{className:`flex flex-1 items-center gap-2`,children:[U,q]}),n[47]=U,n[48]=q,n[49]=J):J=n[49];let te;n[50]===Symbol.for(`react.memo_cache_sentinel`)?(te=(0,f.jsx)(`div`,{className:`h-5 w-px bg-white/10`}),n[50]=te):te=n[50];let ne=!h,Y=_?`bg-red-500/20 text-red-400 hover:bg-red-500/30`:`bg-white/10 text-white/70 hover:bg-white/20 hover:text-white`,X;n[51]===Y?X=n[52]:(X=F(`flex h-7 w-7 items-center justify-center rounded-full`,`transition-colors duration-150`,Y),n[51]=Y,n[52]=X);let Z=_?`Unmute microphone`:`Mute microphone`,Q;n[53]===_?Q=n[54]:(Q=_?(0,f.jsx)(s.MicOff,{className:`h-3.5 w-3.5`}):(0,f.jsx)(s.Mic,{className:`h-3.5 w-3.5`}),n[53]=_,n[54]=Q);let $;n[55]!==m||n[56]!==ne||n[57]!==X||n[58]!==Z||n[59]!==Q?($=(0,f.jsx)(c.motion.button,{type:`button`,onClick:m,disabled:ne,className:X,variants:Rt,initial:`idle`,whileHover:`hover`,whileTap:`tap`,"aria-label":Z,children:Q}),n[55]=m,n[56]=ne,n[57]=X,n[58]=Z,n[59]=Q,n[60]=$):$=n[60];let re;n[61]===Symbol.for(`react.memo_cache_sentinel`)?(re=F(`flex h-7 w-7 items-center justify-center rounded-full`,`bg-red-500/20 text-red-400`,`hover:bg-red-500/30 hover:text-red-300`,`transition-colors duration-150`),n[61]=re):re=n[61];let ae;n[62]===Symbol.for(`react.memo_cache_sentinel`)?(ae=(0,f.jsx)(s.PhoneOff,{className:`h-3.5 w-3.5`}),n[62]=ae):ae=n[62];let oe;n[63]===d?oe=n[64]:(oe=(0,f.jsx)(c.motion.button,{type:`button`,onClick:d,className:re,variants:Rt,initial:`idle`,whileHover:`hover`,whileTap:`tap`,"aria-label":`End voice session`,children:ae}),n[63]=d,n[64]=oe);let se;n[65]!==$||n[66]!==oe?(se=(0,f.jsxs)(`div`,{className:`flex shrink-0 items-center gap-1.5`,children:[$,oe]}),n[65]=$,n[66]=oe,n[67]=se):se=n[67];let ce;n[68]!==R||n[69]!==J||n[70]!==se?(ce=(0,f.jsxs)(`div`,{className:`flex items-center gap-3`,children:[R,z,J,te,se]}),n[68]=R,n[69]=J,n[70]=se,n[71]=ce):ce=n[71];let le;n[72]===S?le=n[73]:(le=S&&(0,f.jsxs)(c.motion.div,{className:F(`flex max-w-full items-center gap-2 rounded-full px-3 py-1.5`,`text-xs`,S.status===`started`&&`bg-blue-500/10 text-blue-400`,S.status===`completed`&&!S.error&&`bg-green-500/10 text-green-400`,S.status===`completed`&&S.error&&`bg-red-500/10 text-red-400`),initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},transition:{type:`spring`,stiffness:400,damping:30},children:[(0,f.jsx)(c.motion.span,{className:F(`h-1.5 w-1.5 shrink-0 rounded-full`,S.status===`started`&&`bg-blue-500`,S.status===`completed`&&!S.error&&`bg-green-500`,S.status===`completed`&&S.error&&`bg-red-500`),animate:S.status===`started`?{opacity:[1,.5,1]}:{},transition:{duration:.8,repeat:1/0}}),(0,f.jsx)(`span`,{className:`min-w-0 truncate`,children:S.toolName})]}),n[72]=S,n[73]=le);let ue;n[74]===le?ue=n[75]:(ue=(0,f.jsx)(c.AnimatePresence,{children:le}),n[74]=le,n[75]=ue);let de;n[76]===x?de=n[77]:(de=x&&x.text&&(0,f.jsx)(c.motion.div,{className:`overflow-hidden`,variants:zt,initial:`hidden`,animate:`visible`,exit:`exit`,children:(0,f.jsxs)(`div`,{className:F(`rounded-lg px-3 py-2 text-xs`,x.type===`user`?`bg-white/10 text-white/80`:`bg-white/5 text-white/60`),children:[(0,f.jsx)(`span`,{className:`mr-1.5 shrink-0 text-white/40`,children:x.type===`user`?`You:`:`Agent:`}),(0,f.jsx)(`span`,{className:F(`line-clamp-3`,!x.isDone&&`animate-pulse`),children:x.text})]})}),n[76]=x,n[77]=de);let fe;n[78]===de?fe=n[79]:(fe=(0,f.jsx)(c.AnimatePresence,{children:de}),n[78]=de,n[79]=fe);let pe;n[80]!==h||n[81]!==g?(pe=g&&!h&&(0,f.jsxs)(c.motion.div,{className:`flex items-center justify-center gap-2 py-2 text-xs text-white/50`,initial:{opacity:0},animate:{opacity:1},exit:{opacity:0},children:[(0,f.jsx)(c.motion.span,{className:`h-1.5 w-1.5 rounded-full bg-amber-500`,animate:{opacity:[1,.5,1]},transition:{duration:.8,repeat:1/0}}),(0,f.jsx)(`span`,{children:`Connecting...`})]}),n[80]=h,n[81]=g,n[82]=pe):pe=n[82];let me;n[83]===pe?me=n[84]:(me=(0,f.jsx)(c.AnimatePresence,{children:pe}),n[83]=pe,n[84]=me);let he;n[85]!==y||n[86]!==d||n[87]!==v?(he=v&&y&&(0,f.jsxs)(c.motion.div,{className:`flex items-center gap-2 rounded-lg bg-red-500/10 px-3 py-2 text-xs text-red-400`,initial:{opacity:0,y:-4},animate:{opacity:1,y:0},exit:{opacity:0,y:-4},children:[(0,f.jsx)(`span`,{className:`h-1.5 w-1.5 shrink-0 rounded-full bg-red-500`}),(0,f.jsx)(`span`,{className:`line-clamp-2`,children:y}),(0,f.jsx)(`button`,{type:`button`,onClick:d,className:`ml-auto shrink-0 text-red-300 hover:text-red-200`,children:`Dismiss`})]}),n[85]=y,n[86]=d,n[87]=v,n[88]=he):he=n[88];let ge;n[89]===he?ge=n[90]:(ge=(0,f.jsx)(c.AnimatePresence,{children:he}),n[89]=he,n[90]=ge);let _e;return n[91]!==ce||n[92]!==T||n[93]!==ue||n[94]!==fe||n[95]!==me||n[96]!==ge?(_e=(0,f.jsxs)(c.motion.div,{className:T,variants:Lt,initial:`hidden`,animate:`visible`,exit:`exit`,children:[ce,ue,fe,me,ge]}),n[91]=ce,n[92]=T,n[93]=ue,n[94]=fe,n[95]=me,n[96]=ge,n[97]=_e):_e=n[97],_e};function Ht(){let e=(0,t.c)(2),n=ie();if(!n)return`idle`;let r;return e[0]===n.toolCall?r=e[1]:(r=Bt(n.toolCall),e[0]=n.toolCall,e[1]=r),r}let Ut=(0,o.memo)(e=>{let n=(0,t.c)(33),{content:r,className:i,compact:a}=e,o,s,c,l,u,d,p;n[0]===a?(o=n[1],s=n[2],c=n[3],l=n[4],u=n[5],d=n[6],p=n[7]):(o=e=>{let{className:t,...n}=e;return(0,f.jsx)(`h1`,{className:F(`aui-md-h1 mb-3 scroll-m-20 font-extrabold tracking-tight last:mb-0`,a?`text-base`:`text-lg`,t),...n})},s=e=>{let{className:t,...n}=e;return(0,f.jsx)(`h2`,{className:F(`aui-md-h2 mt-3 mb-2 scroll-m-20 font-semibold tracking-tight first:mt-0 last:mb-0`,a?`text-sm`:`text-base`,t),...n})},c=e=>{let{className:t,...n}=e;return(0,f.jsx)(`h3`,{className:F(`aui-md-h3 mt-2 mb-1 scroll-m-20 font-semibold tracking-tight first:mt-0 last:mb-0`,a?`text-sm`:`text-[15px]`,t),...n})},l=e=>{let{className:t,...n}=e;return(0,f.jsx)(`p`,{className:F(`aui-md-p leading-relaxed first:mt-0 last:mb-0`,a?`text-xs my-1`:`text-sm my-2`,t),...n})},u=e=>{let{className:t,...n}=e;return(0,f.jsx)(`a`,{className:F(`aui-md-a font-medium text-primary underline underline-offset-4 hover:text-primary/80`,a?`text-xs`:`text-sm`,t),...n})},d=e=>{let{className:t,...n}=e;return(0,f.jsx)(`ul`,{className:F(`aui-md-ul ml-4 list-disc [&>li]:mt-0.5`,a?`text-xs my-1`:`text-sm my-2`,t),...n})},p=e=>{let{className:t,...n}=e;return(0,f.jsx)(`ol`,{className:F(`aui-md-ol ml-4 list-decimal [&>li]:mt-0.5`,a?`text-xs my-1`:`text-sm my-2`,t),...n})},n[0]=a,n[1]=o,n[2]=s,n[3]=c,n[4]=l,n[5]=u,n[6]=d,n[7]=p);let m,h,g;n[8]===a?(m=n[9],h=n[10],g=n[11]):(h=e=>{let{className:t,...n}=e;return(0,f.jsx)(`blockquote`,{className:F(`aui-md-blockquote border-l-2 border-white/20 pl-3 italic text-white/70`,a?`text-xs`:`text-sm`,t),...n})},g=e=>{let{className:t,...n}=e;return t?.includes(`language-`)?(0,f.jsx)(`code`,{className:F(`aui-md-code block font-mono`,a?`text-[10px]`:`text-xs`,t),...n}):(0,f.jsx)(`code`,{className:F(`aui-md-inline-code rounded bg-white/10 px-1 py-0.5 font-mono`,a?`text-[10px]`:`text-xs`,t),...n})},m=e=>{let{className:t,...n}=e;return(0,f.jsx)(`pre`,{className:F(`aui-md-pre overflow-x-auto rounded-lg bg-black/30 p-2 my-2`,a?`text-[10px]`:`text-xs`,t),...n})},n[8]=a,n[9]=m,n[10]=h,n[11]=g);let _;n[12]!==o||n[13]!==m||n[14]!==s||n[15]!==c||n[16]!==l||n[17]!==u||n[18]!==d||n[19]!==p||n[20]!==h||n[21]!==g?(_={h1:o,h2:s,h3:c,p:l,a:u,ul:d,ol:p,li:Wt,blockquote:h,code:g,pre:m,hr:Gt,strong:Kt,em:qt},n[12]=o,n[13]=m,n[14]=s,n[15]=c,n[16]=l,n[17]=u,n[18]=d,n[19]=p,n[20]=h,n[21]=g,n[22]=_):_=n[22];let v=_,y=a&&`pill-markdown-compact`,x;n[23]!==i||n[24]!==y?(x=F(`aui-md pill-markdown`,y,i),n[23]=i,n[24]=y,n[25]=x):x=n[25];let S;n[26]===Symbol.for(`react.memo_cache_sentinel`)?(S=[b.default],n[26]=S):S=n[26];let C;n[27]!==v||n[28]!==r?(C=(0,f.jsx)(E.default,{remarkPlugins:S,components:v,children:r}),n[27]=v,n[28]=r,n[29]=C):C=n[29];let w;return n[30]!==x||n[31]!==C?(w=(0,f.jsx)(`div`,{className:x,children:C}),n[30]=x,n[31]=C,n[32]=w):w=n[32],w});Ut.displayName=`PillMarkdown`;function Wt(e){let{className:t,...n}=e;return(0,f.jsx)(`li`,{className:F(`aui-md-li`,t),...n})}function Gt(e){let{className:t,...n}=e;return(0,f.jsx)(`hr`,{className:F(`aui-md-hr my-2 border-white/10`,t),...n})}function Kt(e){let{className:t,...n}=e;return(0,f.jsx)(`strong`,{className:F(`aui-md-strong font-semibold`,t),...n})}function qt(e){let{className:t,...n}=e;return(0,f.jsx)(`em`,{className:F(`aui-md-em italic`,t),...n})}let Jt=e=>{let n=(0,t.c)(17),{summary:r,isSuccess:i,isError:a,actions:o,className:c}=e,l=i&&`bg-green-500/10 border border-green-500/20`,u=a&&`bg-red-500/10 border border-red-500/20`,d=!i&&!a&&`bg-white/5 border border-white/10`,p;n[0]!==c||n[1]!==l||n[2]!==u||n[3]!==d?(p=F(`rounded-xl p-4`,l,u,d,c),n[0]=c,n[1]=l,n[2]=u,n[3]=d,n[4]=p):p=n[4];let m;n[5]!==a||n[6]!==i?(m=(i||a)&&(0,f.jsxs)(`div`,{className:`flex items-center gap-2 mb-3`,children:[i&&(0,f.jsx)(s.CheckCircle2,{className:`h-4 w-4 text-green-400`}),a&&(0,f.jsx)(s.AlertCircle,{className:`h-4 w-4 text-red-400`}),(0,f.jsx)(`span`,{className:F(`text-sm font-medium`,i&&`text-green-400`,a&&`text-red-400`),children:i?`Task Complete`:`Error`})]}),n[5]=a,n[6]=i,n[7]=m):m=n[7];let h;n[8]===r?h=n[9]:(h=(0,f.jsx)(Ut,{content:r,className:`text-white/90`}),n[8]=r,n[9]=h);let g;n[10]===o?g=n[11]:(g=o&&o.length>0&&(0,f.jsx)(`div`,{className:`flex flex-wrap gap-2 mt-4 pt-3 border-t border-white/10`,children:o.map(en)}),n[10]=o,n[11]=g);let _;return n[12]!==p||n[13]!==m||n[14]!==h||n[15]!==g?(_=(0,f.jsxs)(`div`,{className:p,children:[m,h,g]}),n[12]=p,n[13]=m,n[14]=h,n[15]=g,n[16]=_):_=n[16],_};function Yt(){let e=(0,t.c)(2),r=(0,n.useThread)(Qt),i;if(e[0]!==r){bb0:{if(!r||r.length===0){i=null;break bb0}let e=[...r].reverse().find(Zt);if(!e){i=null;break bb0}let t=e.content.filter(Xt).at(-1);if(!t){i=null;break bb0}i=t.text}e[0]=r,e[1]=i}else i=e[1];return i}function Xt(e){return e.type===`text`}function Zt(e){return e.role===`assistant`}function Qt(e){return e.messages}let $t=e=>{let n=(0,t.c)(6),{className:r}=e,i;n[0]===r?i=n[1]:(i=F(`text-center py-4`,r),n[0]=r,n[1]=i);let a,o;n[2]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,f.jsx)(`h3`,{className:`text-lg font-semibold text-white mb-1`,children:`Hello!`}),o=(0,f.jsx)(`p`,{className:`text-sm text-white/60`,children:`How can I help you today?`}),n[2]=a,n[3]=o):(a=n[2],o=n[3]);let s;return n[4]===i?s=n[5]:(s=(0,f.jsxs)(`div`,{className:i,children:[a,o]}),n[4]=i,n[5]=s),s};function en(e,t){return(0,f.jsx)(`button`,{onClick:e.onClick,className:F(`px-3 py-1.5 rounded-lg text-sm font-medium`,`transition-colors duration-200`,e.variant===`primary`?`bg-primary text-primary-foreground hover:bg-primary/90`:`bg-white/10 text-white/80 hover:bg-white/20`),children:e.label},t)}let tn={idle:{opacity:0,scale:1},calling:{opacity:1,scale:1,transition:{opacity:{duration:.15}}},error:{opacity:1,scale:1,transition:{opacity:{duration:.1}}}},nn={x:[0,-2,2,-2,2,0],transition:{duration:.3,ease:[.25,.1,.25,1]}},rn=e=>{let n=(0,t.c)(17),{status:r,children:i,className:a,borderRadius:o}=e,s=o===void 0?`20px`:o,l=r===`success`?`idle`:r,u;n[0]===a?u=n[1]:(u=F(`relative`,a),n[0]=a,n[1]=u);let d=l===`error`?nn:void 0,p;n[2]!==s||n[3]!==l?(p=l!==`idle`&&(0,f.jsx)(c.motion.div,{className:F(`absolute -inset-[1px] pointer-events-none`,l===`calling`&&`tool-border-calling`,l===`error`&&`tool-border-error`),style:{borderRadius:s},variants:tn,initial:`idle`,animate:l,exit:{opacity:0,transition:{duration:.15}}}),n[2]=s,n[3]=l,n[4]=p):p=n[4];let m;n[5]===p?m=n[6]:(m=(0,f.jsx)(c.AnimatePresence,{children:p}),n[5]=p,n[6]=m);let h;n[7]===s?h=n[8]:(h={borderRadius:s},n[7]=s,n[8]=h);let g;n[9]!==i||n[10]!==h?(g=(0,f.jsx)(`div`,{className:`relative`,style:h,children:i}),n[9]=i,n[10]=h,n[11]=g):g=n[11];let _;return n[12]!==u||n[13]!==d||n[14]!==m||n[15]!==g?(_=(0,f.jsxs)(c.motion.div,{className:u,animate:d,children:[m,g]}),n[12]=u,n[13]=d,n[14]=m,n[15]=g,n[16]=_):_=n[16],_};function an(e,n){let r=(0,t.c)(4),[i,a]=(0,o.useState)(`idle`),s=(0,o.useRef)(null),c,l;return r[0]!==e||r[1]!==n?(c=()=>(s.current&&=(clearTimeout(s.current),null),e?a(`calling`):n===`error`?(a(`error`),s.current=setTimeout(()=>{a(`idle`)},400)):a(`idle`),()=>{s.current&&clearTimeout(s.current)}),l=[e,n],r[0]=e,r[1]=n,r[2]=c,r[3]=l):(c=r[2],l=r[3]),(0,o.useEffect)(c,l),i}let on=e=>{let r=(0,t.c)(69),{position:i,onOpenHistory:a,showVoiceButton:l,isVoiceActive:u,onVoiceToggle:d,className:p}=e,m=i===void 0?`bottom-center`:i,h=l===void 0?!1:l,g=u===void 0?!1:u,[_,v]=(0,o.useState)(`collapsed`),y=(0,n.useThread)(sn),b=ie(),x=Ht(),S=b?.isActive||b?.isConnecting||b?.isError||g,C=ht(),w=_t(),T=yt(3),E=Yt(),D=(y?.length??0)>0,O;bb0:{if(!y||y.length===0){O=!1;break bb0}let e;r[0]===y?e=r[1]:(e=y.at(-1),r[0]=y,r[1]=e);let t=e;O=t?.role===`assistant`&&t.status?.type!==`complete`}let k=O,A;r[2]===C?A=r[3]:(A=C.filter(cn).at(-1),r[2]=C,r[3]=A);let j=A,M=an(!!w,j?.status===`success`?`success`:j?.status===`error`?`error`:null),N=S?x:M,P;bb1:{if(S){P=`active`;break bb1}if(_===`collapsed`){P=`collapsed`;break bb1}if(_===`hovered`){P=`hovered`;break bb1}if(k){P=`active`;break bb1}if(D){P=`expanded`;break bb1}if(_===`composing`){P=`composing`;break bb1}P=`collapsed`}let I=P,L;r[4]===Symbol.for(`react.memo_cache_sentinel`)?(L=e=>{v(e)},r[4]=L):L=r[4];let R=L,z;r[5]!==d||r[6]!==b?(z=()=>{b&&(b.isActive||b.isConnecting?b.stopSession():b.startSession()),d?.()},r[5]=d,r[6]=b,r[7]=z):z=r[7];let B=z,V=I===`collapsed`||I===`hovered`?`9999px`:`24px`,H=m===`bottom-center`&&`bottom-4 left-1/2 -translate-x-1/2`,U=m===`bottom-right`&&`bottom-4 right-4`,W;r[8]!==p||r[9]!==U||r[10]!==H?(W=F(`fixed z-50`,H,U,p),r[8]=p,r[9]=U,r[10]=H,r[11]=W):W=r[11];let G;r[12]!==S||r[13]!==I||r[14]!==a?(G=!S&&I!==`collapsed`&&I!==`hovered`&&a&&(0,f.jsx)(`button`,{type:`button`,onClick:a,className:F(`absolute top-3 right-3`,`p-1.5 rounded-full`,`hover:bg-white/10`,`text-white/50 hover:text-white/80`,`transition-colors duration-200`),"aria-label":`View conversation history`,children:(0,f.jsx)(s.History,{className:`h-4 w-4`})}),r[12]=S,r[13]=I,r[14]=a,r[15]=G):G=r[15];let K;r[16]!==B||r[17]!==S?(K=S&&(0,f.jsx)(Vt,{onEnd:B},`voice-mode`),r[16]=B,r[17]=S,r[18]=K):K=r[18];let ee;r[19]===K?ee=r[20]:(ee=(0,f.jsx)(c.AnimatePresence,{mode:`wait`,children:K}),r[19]=K,r[20]=ee);let q;r[21]!==D||r[22]!==S||r[23]!==I?(q=!S&&I===`composing`&&!D&&(0,f.jsx)($t,{}),r[21]=D,r[22]=S,r[23]=I,r[24]=q):q=r[24];let J;r[25]!==w||r[26]!==S||r[27]!==I||r[28]!==T?(J=!S&&I===`active`&&(0,f.jsx)(xt,{currentAction:w,recentActions:T,showRecent:!0}),r[25]=w,r[26]=S,r[27]=I,r[28]=T,r[29]=J):J=r[29];let te;r[30]!==k||r[31]!==S||r[32]!==j?.error||r[33]!==I||r[34]!==E?(te=!S&&I===`expanded`&&!k&&E&&(0,f.jsx)(Jt,{summary:E,isSuccess:!j?.error}),r[30]=k,r[31]=S,r[32]=j?.error,r[33]=I,r[34]=E,r[35]=te):te=r[35];let ne;r[36]!==k||r[37]!==S||r[38]!==I||r[39]!==E?(ne=!S&&I===`expanded`&&!k&&!E&&(0,f.jsx)(Ct,{}),r[36]=k,r[37]=S,r[38]=I,r[39]=E,r[40]=ne):ne=r[40];let Y;r[41]!==C||r[42]!==S||r[43]!==I?(Y=!S&&(I===`active`||I===`expanded`)&&C.length>0&&(0,f.jsx)(Tt,{actions:C,defaultCollapsed:I===`active`}),r[41]=C,r[42]=S,r[43]=I,r[44]=Y):Y=r[44];let X;r[45]!==B||r[46]!==g||r[47]!==S||r[48]!==I||r[49]!==h||r[50]!==b?.isSupported?(X=!S&&(I===`composing`||I===`active`||I===`expanded`)&&(0,f.jsx)(At,{showVoiceButton:h||!!b?.isSupported,isVoiceActive:g,onVoiceToggle:B}),r[45]=B,r[46]=g,r[47]=S,r[48]=I,r[49]=h,r[50]=b?.isSupported,r[51]=X):X=r[51];let Z;r[52]!==I||r[53]!==G||r[54]!==ee||r[55]!==q||r[56]!==J||r[57]!==te||r[58]!==ne||r[59]!==Y||r[60]!==X?(Z=(0,f.jsxs)(It,{mode:I,onModeChange:R,children:[G,ee,q,J,te,ne,Y,X]}),r[52]=I,r[53]=G,r[54]=ee,r[55]=q,r[56]=J,r[57]=te,r[58]=ne,r[59]=Y,r[60]=X,r[61]=Z):Z=r[61];let Q;r[62]!==V||r[63]!==N||r[64]!==Z?(Q=(0,f.jsx)(rn,{status:N,borderRadius:V,children:Z}),r[62]=V,r[63]=N,r[64]=Z,r[65]=Q):Q=r[65];let $;return r[66]!==W||r[67]!==Q?($=(0,f.jsx)(n.ThreadPrimitive.Root,{className:W,children:Q}),r[66]=W,r[67]=Q,r[68]=$):$=r[68],$};function sn(e){return e.messages}function cn(e){return e.status===`success`||e.status===`error`}let ln=e=>{let n=(0,t.c)(30),{isOpen:r,onClose:i,conversations:a,selectedId:c,onSelectConversation:l,className:u}=e,d;n[0]===a?d=n[1]:(d=a===void 0?[]:a,n[0]=a,n[1]=d);let p=d,[m,h]=(0,o.useState)(!1),g;n[2]!==r||n[3]!==i?(g=r&&(0,f.jsx)(`div`,{className:`fixed inset-0 z-40 bg-black/50 backdrop-blur-sm`,onClick:i,"aria-hidden":`true`}),n[2]=r,n[3]=i,n[4]=g):g=n[4];let _=r?`translate-x-0`:`translate-x-full`,v;n[5]!==u||n[6]!==_?(v=F(`fixed top-0 right-0 z-50`,`h-full w-full max-w-md`,`bg-slate-900/95 backdrop-blur-xl`,`border-l border-white/10`,`shadow-2xl`,`transform transition-transform duration-300 ease-out`,_,u),n[5]=u,n[6]=_,n[7]=v):v=n[7];let y;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,f.jsx)(s.MessageSquare,{className:`h-5 w-5 text-white/70`}),n[8]=y):y=n[8];let b=m?`Conversation`:`History`,x;n[9]===b?x=n[10]:(x=(0,f.jsxs)(`div`,{className:`flex items-center gap-2`,children:[y,(0,f.jsx)(`h2`,{className:`text-lg font-semibold text-white`,children:b})]}),n[9]=b,n[10]=x);let S;n[11]===Symbol.for(`react.memo_cache_sentinel`)?(S=F(`p-1.5 rounded-lg`,`hover:bg-white/10`,`text-white/60 hover:text-white`,`transition-colors duration-200`),n[11]=S):S=n[11];let C;n[12]===Symbol.for(`react.memo_cache_sentinel`)?(C=(0,f.jsx)(s.X,{className:`h-5 w-5`}),n[12]=C):C=n[12];let w;n[13]===i?w=n[14]:(w=(0,f.jsx)(`button`,{type:`button`,onClick:i,className:S,"aria-label":`Close sidebar`,children:C}),n[13]=i,n[14]=w);let T;n[15]!==w||n[16]!==x?(T=(0,f.jsxs)(`div`,{className:`flex items-center justify-between px-4 py-3 border-b border-white/10`,children:[x,w]}),n[15]=w,n[16]=x,n[17]=T):T=n[17];let E;n[18]!==p||n[19]!==l||n[20]!==c||n[21]!==m?(E=(0,f.jsx)(`div`,{className:`flex flex-col h-[calc(100%-60px)] overflow-hidden`,children:m&&c?(0,f.jsxs)(`div`,{className:`flex-1 overflow-y-auto`,children:[(0,f.jsx)(`button`,{type:`button`,onClick:()=>h(!1),className:`px-4 py-2 text-sm text-primary hover:underline`,children:`← Back to history`}),(0,f.jsx)(fn,{})]}):(0,f.jsx)(`div`,{className:`flex-1 overflow-y-auto p-4`,children:p.length===0?(0,f.jsx)(un,{}):(0,f.jsx)(dn,{conversations:p,selectedId:c,onSelect:e=>{l?.(e),h(!0)}})})}),n[18]=p,n[19]=l,n[20]=c,n[21]=m,n[22]=E):E=n[22];let D;n[23]!==T||n[24]!==E||n[25]!==v?(D=(0,f.jsxs)(`div`,{className:v,role:`dialog`,"aria-modal":`true`,"aria-label":`Conversation history`,children:[T,E]}),n[23]=T,n[24]=E,n[25]=v,n[26]=D):D=n[26];let O;return n[27]!==D||n[28]!==g?(O=(0,f.jsxs)(f.Fragment,{children:[g,D]}),n[27]=D,n[28]=g,n[29]=O):O=n[29],O},un=()=>{let e=(0,t.c)(1),n;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(n=(0,f.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-center px-8`,children:[(0,f.jsx)(s.MessageSquare,{className:`h-12 w-12 text-white/20 mb-4`}),(0,f.jsx)(`h3`,{className:`text-lg font-medium text-white/80 mb-2`,children:`No conversations yet`}),(0,f.jsx)(`p`,{className:`text-sm text-white/50`,children:`Your conversation history will appear here.`})]}),e[0]=n):n=e[0],n},dn=e=>{let n=(0,t.c)(11),{conversations:r,selectedId:i,onSelect:a}=e,o,s;if(n[0]!==r||n[1]!==a||n[2]!==i){let e=hn(r);o=`space-y-6`;let t;n[5]!==a||n[6]!==i?(t=e=>{let[t,n]=e;return(0,f.jsxs)(`div`,{children:[(0,f.jsx)(`h3`,{className:`text-xs font-medium text-white/50 uppercase tracking-wide mb-2`,children:t}),(0,f.jsx)(`div`,{className:`space-y-1`,children:n.map(e=>(0,f.jsxs)(`button`,{type:`button`,onClick:()=>a(e.id),className:F(`w-full text-left p-3 rounded-lg`,`hover:bg-white/10`,`transition-colors duration-200`,i===e.id&&`bg-white/10`),children:[(0,f.jsx)(`div`,{className:`font-medium text-white truncate`,children:e.title}),(0,f.jsx)(`div`,{className:`text-xs text-white/50 truncate mt-0.5`,children:e.preview}),(0,f.jsxs)(`div`,{className:`text-[10px] text-white/30 mt-1`,children:[e.messageCount,` messages • `,gn(e.timestamp)]})]},e.id))})]},t)},n[5]=a,n[6]=i,n[7]=t):t=n[7],s=e.map(t),n[0]=r,n[1]=a,n[2]=i,n[3]=o,n[4]=s}else o=n[3],s=n[4];let c;return n[8]!==o||n[9]!==s?(c=(0,f.jsx)(`div`,{className:o,children:s}),n[8]=o,n[9]=s,n[10]=c):c=n[10],c},fn=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.ThreadPrimitive.Root,{className:`flex flex-col h-full`,children:(0,f.jsx)(n.ThreadPrimitive.Viewport,{className:`flex-1 overflow-y-auto px-4 py-4`,children:(0,f.jsx)(n.ThreadPrimitive.Messages,{components:{UserMessage:pn,AssistantMessage:mn}})})}),e[0]=r):r=e[0],r},pn=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsx)(`div`,{className:`flex justify-end mb-4`,children:(0,f.jsx)(`div`,{className:`max-w-[80%] rounded-2xl bg-primary px-4 py-2 text-sm text-primary-foreground`,children:(0,f.jsx)(n.MessagePrimitive.Parts,{})})})}),e[0]=r):r=e[0],r},mn=()=>{let e=(0,t.c)(1),r;return e[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,f.jsx)(n.MessagePrimitive.Root,{asChild:!0,children:(0,f.jsx)(`div`,{className:`mb-4`,children:(0,f.jsx)(`div`,{className:`text-sm text-white/90`,children:(0,f.jsx)(n.MessagePrimitive.Parts,{components:{Text:Re,tools:{Fallback:qe}}})})})}),e[0]=r):r=e[0],r};function hn(e){let t=new Map,n=new Date;n.setHours(0,0,0,0);let r=new Date(n);r.setDate(r.getDate()-1);for(let i of e){let e=new Date(i.timestamp);e.setHours(0,0,0,0);let a;a=e.getTime()===n.getTime()?`Today`:e.getTime()===r.getTime()?`Yesterday`:e.getTime()>n.getTime()-10080*60*1e3?`This Week`:e.toLocaleDateString(`en-US`,{month:`long`,year:`numeric`}),t.has(a)||t.set(a,[]),t.get(a).push(i)}return Array.from(t.entries())}function gn(e){let t=new Date().getTime()-e.getTime(),n=Math.floor(t/6e4),r=Math.floor(t/36e5),i=Math.floor(t/864e5);return n<1?`just now`:n<60?`${n} min ago`:r<24?`${r} hr ago`:i<7?`${i} days ago`:e.toLocaleDateString(`en-US`,{month:`short`,day:`numeric`})}function _n(){if(typeof document>`u`)return;let e=`webmcp-agent-styles`;if(document.getElementById(e))return;let t=document.createElement(`style`);t.id=e,t.textContent=`/*! tailwindcss v4.1.17 | MIT License | https://tailwindcss.com */
6
+ @layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-duration:initial;--tw-ease:initial;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tool-border-angle:0deg}}}@layer theme{:root,:host{--font-sans:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-200:oklch(88.5% .062 18.334);--color-red-300:oklch(80.8% .114 19.571);--color-red-400:oklch(70.4% .191 22.216);--color-red-500:oklch(63.7% .237 25.331);--color-red-600:oklch(57.7% .245 27.325);--color-amber-500:oklch(76.9% .188 70.08);--color-yellow-500:oklch(79.5% .184 86.047);--color-green-400:oklch(79.2% .209 151.711);--color-green-500:oklch(72.3% .219 149.579);--color-green-600:oklch(62.7% .194 149.214);--color-emerald-500:oklch(69.6% .17 162.48);--color-blue-400:oklch(70.7% .165 254.624);--color-blue-500:oklch(62.3% .214 259.815);--color-blue-600:oklch(54.6% .245 262.881);--color-slate-900:oklch(20.8% .042 265.755);--color-black:#000;--color-white:#fff;--spacing:.25rem;--container-md:28rem;--container-lg:32rem;--container-2xl:42rem;--container-3xl:48rem;--text-xs:.75rem;--text-xs--line-height:calc(1/.75);--text-sm:.875rem;--text-sm--line-height:calc(1.25/.875);--text-base:1rem;--text-base--line-height:calc(1.5/1);--text-lg:1.125rem;--text-lg--line-height:calc(1.75/1.125);--text-2xl:1.5rem;--text-2xl--line-height:calc(2/1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25/1.875);--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--font-weight-extrabold:800;--tracking-tight:-.025em;--tracking-wide:.025em;--leading-relaxed:1.625;--radius-xs:.125rem;--radius-2xl:1rem;--radius-3xl:1.5rem;--drop-shadow-xl:0 9px 7px #0000001a;--drop-shadow-2xl:0 25px 25px #00000026;--ease-out:cubic-bezier(0,0,.2,1);--ease-in-out:cubic-bezier(.4,0,.2,1);--animate-spin:spin 1s linear infinite;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1)infinite;--blur-sm:8px;--blur-md:12px;--blur-xl:24px;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4,0,.2,1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}:root{--radius:.75rem;--background:oklch(100% 0 0);--foreground:oklch(14.1% .005 285.823);--card:oklch(100% 0 0);--card-foreground:oklch(14.1% .005 285.823);--popover:oklch(100% 0 0);--popover-foreground:oklch(14.1% .005 285.823);--primary:oklch(21% .006 285.885);--primary-foreground:oklch(98.5% 0 0);--secondary:oklch(96.7% .001 286.375);--secondary-foreground:oklch(21% .006 285.885);--muted:oklch(96.7% .001 286.375);--muted-foreground:oklch(55.2% .016 285.938);--accent:oklch(96.7% .001 286.375);--accent-foreground:oklch(21% .006 285.885);--destructive:oklch(57.7% .245 27.325);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(92% .004 286.32);--input:oklch(92% .004 286.32);--ring:oklch(70.5% .015 286.067)}.dark{--background:oklch(14.1% .005 285.823);--foreground:oklch(98.5% 0 0);--card:oklch(21% .006 285.885);--card-foreground:oklch(98.5% 0 0);--popover:oklch(21% .006 285.885);--popover-foreground:oklch(98.5% 0 0);--primary:oklch(92% .004 286.32);--primary-foreground:oklch(21% .006 285.885);--secondary:oklch(27.4% .006 286.033);--secondary-foreground:oklch(98.5% 0 0);--muted:oklch(27.4% .006 286.033);--muted-foreground:oklch(70.5% .015 286.067);--accent:oklch(27.4% .006 286.033);--accent-foreground:oklch(98.5% 0 0);--destructive:oklch(70.4% .191 22.216);--destructive-foreground:oklch(98.5% 0 0);--border:oklch(100% 0 0/.1);--input:oklch(100% 0 0/.15);--ring:oklch(55.2% .016 285.938)}*{border-color:var(--border);outline-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){*{outline-color:color-mix(in oklch,var(--ring),transparent 50%)}}body{background-color:var(--background);color:var(--foreground)}}@layer components{.app-shell{z-index:0;background-color:var(--background);background-image:radial-gradient(80% 60% at -10% -10%,oklch(82% .15 270/.15),#0000),radial-gradient(60% 50% at 110% 10%,oklch(85% .1 220/.12),#0000),radial-gradient(50% 45% at 50% 120%,oklch(95% .02 250/.08),#0000);position:relative}.dark .app-shell{background-image:radial-gradient(80% 60% at -10% -10%,oklch(55% .14 270/.25),#0000),radial-gradient(60% 50% at 110% 15%,oklch(60% .12 220/.22),#0000),radial-gradient(50% 45% at 50% 120%,oklch(35% .04 250/.16),#0000)}.app-shell:before,.app-shell:after{content:"";pointer-events:none;filter:blur(32px);opacity:.6;z-index:-1;border-radius:9999px;position:absolute;inset:auto}.app-shell:before{background:radial-gradient(60% 60% at 40% 40%,oklch(80% .12 270/.3),#0000);width:260px;height:260px;top:-60px;left:-80px}.app-shell:after{background:radial-gradient(60% 60% at 60% 60%,oklch(84% .1 220/.25),#0000);width:300px;height:300px;bottom:-80px;right:-60px}.toolbar-surface{border-top:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-surface-top{border-bottom:1px solid var(--border);background:linear-gradient(to right,var(--background),var(--background),var(--background))}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:linear-gradient(to right,var(--background),color-mix(in oklch,var(--background),transparent 5%),var(--background))}}.toolbar-surface-top{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}@supports ((-webkit-backdrop-filter:blur(12px)) or (backdrop-filter:blur(12px))){.toolbar-surface-top{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.toolbar-surface-top{background:color-mix(in oklch,var(--background),transparent 20%)}}}.toolbar-inner{justify-content:space-between;align-items:center;padding:.5rem .75rem;display:flex}.toolbar-card{background:var(--card);justify-content:space-between;align-items:center;gap:.5rem;display:flex}@supports (color:color-mix(in lab, red, red)){.toolbar-card{background:color-mix(in oklch,var(--card),transparent 60%)}}.toolbar-card{border:1px solid var(--border);border-radius:.75rem;padding:.5rem .75rem}.toolbar-group{align-items:center;gap:.25rem;display:flex}.btn-toolbar-primary{background:linear-gradient(to right,var(--primary),var(--primary));border-radius:.75rem;align-items:center;gap:.5rem;height:2.25rem;padding:0 .75rem;display:flex}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 95%),color-mix(in oklch,var(--primary),transparent 90%))}}.btn-toolbar-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 80%)}}.btn-toolbar-primary{transition:all .2s}.btn-toolbar-primary:hover{background:linear-gradient(to right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-primary:hover{background:linear-gradient(to right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,var(--primary),var(--primary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 90%),color-mix(in oklch,var(--primary),transparent 80%))}}.btn-toolbar-icon-primary{border:1px solid var(--primary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary{border:1px solid color-mix(in oklch,var(--primary),transparent 70%)}}.btn-toolbar-icon-primary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,var(--primary),var(--primary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-primary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--primary),transparent 80%),color-mix(in oklch,var(--primary),transparent 70%))}}.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,var(--secondary),var(--secondary));border-radius:9999px;width:2rem;height:2rem;padding:0}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 90%),color-mix(in oklch,var(--secondary),transparent 80%))}}.btn-toolbar-icon-secondary{border:1px solid var(--secondary)}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary{border:1px solid color-mix(in oklch,var(--secondary),transparent 70%)}}.btn-toolbar-icon-secondary{transition:all .2s;box-shadow:0 1px 2px #0000000d}.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,var(--secondary),var(--secondary))}@supports (color:color-mix(in lab, red, red)){.btn-toolbar-icon-secondary:hover{background:linear-gradient(to bottom right,color-mix(in oklch,var(--secondary),transparent 80%),color-mix(in oklch,var(--secondary),transparent 70%))}}.badge-compact{height:1.25rem;padding:0 .5rem;font-size:10px}.badge-mini{height:1rem;padding:0 .375rem;font-size:10px}@keyframes shimmer-bg{0%{background-position:-1000px 0}to{background-position:1000px 0}}.shimmer{background:linear-gradient(90deg,#0000,#ffffff1a,#0000) 0 0/1000px 100%;animation:3s linear infinite shimmer-bg}.animate-shimmer{animation:2s linear infinite shimmer}@keyframes pulse-glow{0%,to{box-shadow:0 0 20px rgba(var(--primary),.1)}50%{box-shadow:0 0 30px rgba(var(--primary),.2)}}.pulse-glow{animation:2s ease-in-out infinite pulse-glow}@keyframes gradient-x{0%,to{background-position:0%}50%{background-position:100%}}.animate-gradient-x{animation:8s ease-in-out infinite gradient-x}.gradient-text{background:linear-gradient(to right,var(--foreground),var(--foreground))}@supports (color:color-mix(in lab, red, red)){.gradient-text{background:linear-gradient(to right,var(--foreground),color-mix(in oklch,var(--foreground),transparent 30%))}}.gradient-text{-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text}.glass{background:var(--background)}@supports (color:color-mix(in lab, red, red)){.glass{background:color-mix(in oklch,var(--background),transparent 50%)}}.glass{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--border)}@supports (color:color-mix(in lab, red, red)){.glass{border:1px solid color-mix(in oklch,var(--border),transparent 50%)}}.tool-card{transition:all .3s ease-out}.tool-card:hover{transform:scale(1.02);box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.scrollbar-thin{scrollbar-width:thin}.scrollbar-thin::-webkit-scrollbar{width:6px;height:6px}.scrollbar-thin::-webkit-scrollbar-track{background:0 0}.scrollbar-thin::-webkit-scrollbar-thumb{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb{background-color:color-mix(in oklch,var(--primary),transparent 80%)}}.scrollbar-thin::-webkit-scrollbar-thumb{border-radius:3px}.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.scrollbar-thin::-webkit-scrollbar-thumb:hover{background-color:color-mix(in oklch,var(--primary),transparent 70%)}}}@layer utilities{.\\@container{container-type:inline-size}.pointer-events-none{pointer-events:none}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.-inset-\\[1px\\]{inset:-1px}.inset-0{inset:calc(var(--spacing)*0)}.-top-12{top:calc(var(--spacing)*-12)}.top-0{top:calc(var(--spacing)*0)}.top-1\\.5{top:calc(var(--spacing)*1.5)}.top-1\\/2{top:50%}.top-3{top:calc(var(--spacing)*3)}.top-4{top:calc(var(--spacing)*4)}.top-\\[50\\%\\]{top:50%}.right-0{right:calc(var(--spacing)*0)}.right-1\\.5{right:calc(var(--spacing)*1.5)}.right-3{right:calc(var(--spacing)*3)}.right-4{right:calc(var(--spacing)*4)}.right-6{right:calc(var(--spacing)*6)}.bottom-0{bottom:calc(var(--spacing)*0)}.bottom-4{bottom:calc(var(--spacing)*4)}.bottom-6{bottom:calc(var(--spacing)*6)}.left-0{left:calc(var(--spacing)*0)}.left-1\\/2,.left-\\[50\\%\\]{left:50%}.z-10{z-index:10}.z-40{z-index:40}.z-50{z-index:50}.col-span-full{grid-column:1/-1}.col-start-1{grid-column-start:1}.col-start-2{grid-column-start:2}.col-start-3{grid-column-start:3}.row-start-1{grid-row-start:1}.row-start-2{grid-row-start:2}.row-start-3{grid-row-start:3}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.m-0{margin:calc(var(--spacing)*0)}.mx-2{margin-inline:calc(var(--spacing)*2)}.mx-3{margin-inline:calc(var(--spacing)*3)}.mx-auto{margin-inline:auto}.my-1{margin-block:calc(var(--spacing)*1)}.my-2{margin-block:calc(var(--spacing)*2)}.my-auto{margin-block:auto}.mt-0\\.5{margin-top:calc(var(--spacing)*.5)}.mt-1{margin-top:calc(var(--spacing)*1)}.mt-2{margin-top:calc(var(--spacing)*2)}.mt-3{margin-top:calc(var(--spacing)*3)}.mt-4{margin-top:calc(var(--spacing)*4)}.-mr-1{margin-right:calc(var(--spacing)*-1)}.mr-1\\.5{margin-right:calc(var(--spacing)*1.5)}.mr-2{margin-right:calc(var(--spacing)*2)}.mb-1{margin-bottom:calc(var(--spacing)*1)}.mb-2{margin-bottom:calc(var(--spacing)*2)}.mb-3{margin-bottom:calc(var(--spacing)*3)}.mb-4{margin-bottom:calc(var(--spacing)*4)}.-ml-1{margin-left:calc(var(--spacing)*-1)}.-ml-2{margin-left:calc(var(--spacing)*-2)}.ml-1{margin-left:calc(var(--spacing)*1)}.ml-2{margin-left:calc(var(--spacing)*2)}.ml-4{margin-left:calc(var(--spacing)*4)}.ml-auto{margin-left:auto}.line-clamp-2{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.line-clamp-3{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.aspect-square{aspect-ratio:1}.size-2\\.5{width:calc(var(--spacing)*2.5);height:calc(var(--spacing)*2.5)}.size-3{width:calc(var(--spacing)*3);height:calc(var(--spacing)*3)}.size-3\\.5{width:calc(var(--spacing)*3.5);height:calc(var(--spacing)*3.5)}.size-4{width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.size-5{width:calc(var(--spacing)*5);height:calc(var(--spacing)*5)}.size-6{width:calc(var(--spacing)*6);height:calc(var(--spacing)*6)}.size-8{width:calc(var(--spacing)*8);height:calc(var(--spacing)*8)}.size-9{width:calc(var(--spacing)*9);height:calc(var(--spacing)*9)}.size-10{width:calc(var(--spacing)*10);height:calc(var(--spacing)*10)}.size-14{width:calc(var(--spacing)*14);height:calc(var(--spacing)*14)}.size-\\[34px\\]{width:34px;height:34px}.size-full{width:100%;height:100%}.h-1\\.5{height:calc(var(--spacing)*1.5)}.h-2{height:calc(var(--spacing)*2)}.h-2\\.5{height:calc(var(--spacing)*2.5)}.h-3{height:calc(var(--spacing)*3)}.h-3\\.5{height:calc(var(--spacing)*3.5)}.h-4{height:calc(var(--spacing)*4)}.h-5{height:calc(var(--spacing)*5)}.h-6{height:calc(var(--spacing)*6)}.h-7{height:calc(var(--spacing)*7)}.h-8{height:calc(var(--spacing)*8)}.h-9{height:calc(var(--spacing)*9)}.h-10{height:calc(var(--spacing)*10)}.h-12{height:calc(var(--spacing)*12)}.h-\\[600px\\]{height:600px}.h-\\[calc\\(100\\%-60px\\)\\]{height:calc(100% - 60px)}.h-auto{height:auto}.h-full{height:100%}.max-h-24{max-height:calc(var(--spacing)*24)}.max-h-40{max-height:calc(var(--spacing)*40)}.max-h-48{max-height:calc(var(--spacing)*48)}.max-h-60{max-height:calc(var(--spacing)*60)}.max-h-\\[80dvh\\]{max-height:80dvh}.max-h-\\[80vh\\]{max-height:80vh}.min-h-8{min-height:calc(var(--spacing)*8)}.min-h-\\[60px\\]{min-height:60px}.w-1\\.5{width:calc(var(--spacing)*1.5)}.w-2{width:calc(var(--spacing)*2)}.w-2\\.5{width:calc(var(--spacing)*2.5)}.w-3{width:calc(var(--spacing)*3)}.w-3\\.5{width:calc(var(--spacing)*3.5)}.w-4{width:calc(var(--spacing)*4)}.w-5{width:calc(var(--spacing)*5)}.w-6{width:calc(var(--spacing)*6)}.w-7{width:calc(var(--spacing)*7)}.w-8{width:calc(var(--spacing)*8)}.w-12{width:calc(var(--spacing)*12)}.w-16{width:calc(var(--spacing)*16)}.w-\\[500px\\]{width:500px}.w-auto{width:auto}.w-fit{width:fit-content}.w-full{width:100%}.w-px{width:1px}.max-w-2xl{max-width:var(--container-2xl)}.max-w-7\\/8{max-width:87.5%}.max-w-16{max-width:calc(var(--spacing)*16)}.max-w-24{max-width:calc(var(--spacing)*24)}.max-w-\\[80\\%\\]{max-width:80%}.max-w-\\[80px\\]{max-width:80px}.max-w-\\[85\\%\\]{max-width:85%}.max-w-\\[100px\\]{max-width:100px}.max-w-\\[calc\\(100\\%-2rem\\)\\]{max-width:calc(100% - 2rem)}.max-w-\\[var\\(--thread-max-width\\)\\]{max-width:var(--thread-max-width)}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.min-w-0{min-width:calc(var(--spacing)*0)}.flex-1{flex:1}.flex-shrink-0,.shrink-0{flex-shrink:0}.flex-grow,.grow{flex-grow:1}.border-separate{border-collapse:separate}.border-spacing-0{--tw-border-spacing-x:calc(var(--spacing)*0);--tw-border-spacing-y:calc(var(--spacing)*0);border-spacing:var(--tw-border-spacing-x)var(--tw-border-spacing-y)}.origin-\\(--radix-tooltip-content-transform-origin\\){transform-origin:var(--radix-tooltip-content-transform-origin)}.-translate-x-1\\/2{--tw-translate-x:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-x-full{--tw-translate-x:-100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-0{--tw-translate-x:calc(var(--spacing)*0);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-\\[-50\\%\\]{--tw-translate-x:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-x-full{--tw-translate-x:100%;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\\/2{--tw-translate-y:calc(calc(1/2*100%)*-1);translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[-50\\%\\]{--tw-translate-y:-50%;translate:var(--tw-translate-x)var(--tw-translate-y)}.translate-y-\\[calc\\(-50\\%_-_2px\\)\\]{--tw-translate-y:calc(-50% - 2px);translate:var(--tw-translate-x)var(--tw-translate-y)}.rotate-45{rotate:45deg}.rotate-180{rotate:180deg}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.animate-pulse{animation:var(--animate-pulse)}.animate-spin{animation:var(--animate-spin)}.cursor-pointer{cursor:pointer}.touch-none{touch-action:none}.resize-none{resize:none}.scroll-m-20{scroll-margin:calc(var(--spacing)*20)}.list-decimal{list-style-type:decimal}.list-disc{list-style-type:disc}.auto-rows-auto{grid-auto-rows:auto}.grid-cols-\\[minmax\\(72px\\,1fr\\)_auto\\]{grid-template-columns:minmax(72px,1fr) auto}.grid-rows-\\[0fr\\]{grid-template-rows:0fr}.grid-rows-\\[1fr\\]{grid-template-rows:1fr}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.justify-start{justify-content:flex-start}.gap-0\\.5{gap:calc(var(--spacing)*.5)}.gap-1{gap:calc(var(--spacing)*1)}.gap-1\\.5{gap:calc(var(--spacing)*1.5)}.gap-2{gap:calc(var(--spacing)*2)}.gap-2\\.5{gap:calc(var(--spacing)*2.5)}.gap-3{gap:calc(var(--spacing)*3)}.gap-4{gap:calc(var(--spacing)*4)}:where(.space-y-1>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*1)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*1)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*2)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*2)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*4)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*4)*calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-6>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing)*6)*var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing)*6)*calc(1 - var(--tw-space-y-reverse)))}.gap-y-2{row-gap:calc(var(--spacing)*2)}.self-center{align-self:center}.self-end{align-self:flex-end}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-auto{overflow:auto}.overflow-clip{overflow:clip}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-y-scroll{overflow-y:scroll}.overscroll-contain{overscroll-behavior:contain}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-3xl{border-radius:var(--radius-3xl)}.rounded-\\[2px\\]{border-radius:2px}.rounded-\\[14px\\]{border-radius:14px}.rounded-\\[inherit\\]{border-radius:inherit}.rounded-full{border-radius:3.40282e38px}.rounded-lg{border-radius:var(--radius)}.rounded-md{border-radius:calc(var(--radius) - 2px)}.rounded-none{border-radius:0}.rounded-xl{border-radius:calc(var(--radius) + 4px)}.rounded-xs{border-radius:var(--radius-xs)}.\\!rounded-t-none{border-top-left-radius:0!important;border-top-right-radius:0!important}.rounded-t-3xl{border-top-left-radius:var(--radius-3xl);border-top-right-radius:var(--radius-3xl)}.rounded-t-lg{border-top-left-radius:var(--radius);border-top-right-radius:var(--radius)}.rounded-tr-sm{border-top-right-radius:calc(var(--radius) - 4px)}.rounded-b-lg{border-bottom-right-radius:var(--radius);border-bottom-left-radius:var(--radius)}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-t-2{border-top-style:var(--tw-border-style);border-top-width:2px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-l-2{border-left-style:var(--tw-border-style);border-left-width:2px}.border-dashed{--tw-border-style:dashed;border-style:dashed}.border-dotted{--tw-border-style:dotted;border-style:dotted}.border-blue-500\\/40{border-color:#3080ff66}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/40{border-color:color-mix(in oklab,var(--color-blue-500)40%,transparent)}}.border-blue-500\\/60{border-color:#3080ff99}@supports (color:color-mix(in lab, red, red)){.border-blue-500\\/60{border-color:color-mix(in oklab,var(--color-blue-500)60%,transparent)}}.border-border,.border-border\\/20{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/20{border-color:color-mix(in oklab,var(--border)20%,transparent)}}.border-border\\/40{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/40{border-color:color-mix(in oklab,var(--border)40%,transparent)}}.border-border\\/50{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.border-border\\/50{border-color:color-mix(in oklab,var(--border)50%,transparent)}}.border-destructive,.border-destructive\\/60{border-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.border-destructive\\/60{border-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.border-foreground\\/20{border-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.border-foreground\\/20{border-color:color-mix(in oklab,var(--foreground)20%,transparent)}}.border-green-500\\/20{border-color:#00c75833}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/20{border-color:color-mix(in oklab,var(--color-green-500)20%,transparent)}}.border-green-500\\/40{border-color:#00c75866}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/40{border-color:color-mix(in oklab,var(--color-green-500)40%,transparent)}}.border-green-500\\/60{border-color:#00c75899}@supports (color:color-mix(in lab, red, red)){.border-green-500\\/60{border-color:color-mix(in oklab,var(--color-green-500)60%,transparent)}}.border-input{border-color:var(--input)}.border-muted-foreground\\/20{border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.border-muted-foreground\\/20{border-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.border-primary\\/60{border-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.border-primary\\/60{border-color:color-mix(in oklab,var(--primary)60%,transparent)}}.border-red-500\\/20{border-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/20{border-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.border-red-500\\/40{border-color:#fb2c3666}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/40{border-color:color-mix(in oklab,var(--color-red-500)40%,transparent)}}.border-red-500\\/60{border-color:#fb2c3699}@supports (color:color-mix(in lab, red, red)){.border-red-500\\/60{border-color:color-mix(in oklab,var(--color-red-500)60%,transparent)}}.border-transparent{border-color:#0000}.border-white\\/10{border-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.border-white\\/10{border-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.border-white\\/20{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.border-white\\/20{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.border-t-transparent{border-top-color:#0000}.border-l-transparent{border-left-color:#0000}.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:rgb(var(--background))}@supports (color:color-mix(in lab, red, red)){.bg-\\[color-mix\\(in_oklab\\,rgb\\(var\\(--background\\)\\)_20\\%\\,transparent\\)\\]{background-color:color-mix(in oklab,rgb(var(--background))20%,transparent)}}.bg-amber-500{background-color:var(--color-amber-500)}.bg-background,.bg-background\\/50{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/50{background-color:color-mix(in oklab,var(--background)50%,transparent)}}.bg-background\\/80{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/80{background-color:color-mix(in oklab,var(--background)80%,transparent)}}.bg-background\\/95{background-color:var(--background)}@supports (color:color-mix(in lab, red, red)){.bg-background\\/95{background-color:color-mix(in oklab,var(--background)95%,transparent)}}.bg-black{background-color:var(--color-black)}.bg-black\\/30{background-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.bg-black\\/30{background-color:color-mix(in oklab,var(--color-black)30%,transparent)}}.bg-black\\/50{background-color:#00000080}@supports (color:color-mix(in lab, red, red)){.bg-black\\/50{background-color:color-mix(in oklab,var(--color-black)50%,transparent)}}.bg-blue-400{background-color:var(--color-blue-400)}.bg-blue-500{background-color:var(--color-blue-500)}.bg-blue-500\\/5{background-color:#3080ff0d}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/5{background-color:color-mix(in oklab,var(--color-blue-500)5%,transparent)}}.bg-blue-500\\/10{background-color:#3080ff1a}@supports (color:color-mix(in lab, red, red)){.bg-blue-500\\/10{background-color:color-mix(in oklab,var(--color-blue-500)10%,transparent)}}.bg-border{background-color:var(--border)}.bg-destructive,.bg-destructive\\/10{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.bg-destructive\\/10{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.bg-foreground{background-color:var(--foreground)}.bg-green-400{background-color:var(--color-green-400)}.bg-green-400\\/60{background-color:#05df7299}@supports (color:color-mix(in lab, red, red)){.bg-green-400\\/60{background-color:color-mix(in oklab,var(--color-green-400)60%,transparent)}}.bg-green-500{background-color:var(--color-green-500)}.bg-green-500\\/5{background-color:#00c7580d}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/5{background-color:color-mix(in oklab,var(--color-green-500)5%,transparent)}}.bg-green-500\\/10{background-color:#00c7581a}@supports (color:color-mix(in lab, red, red)){.bg-green-500\\/10{background-color:color-mix(in oklab,var(--color-green-500)10%,transparent)}}.bg-muted{background-color:var(--muted)}.bg-muted-foreground\\/15{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.bg-muted-foreground\\/15{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.bg-muted\\/5{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/5{background-color:color-mix(in oklab,var(--muted)5%,transparent)}}.bg-muted\\/30{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/30{background-color:color-mix(in oklab,var(--muted)30%,transparent)}}.bg-muted\\/50{background-color:var(--muted)}@supports (color:color-mix(in lab, red, red)){.bg-muted\\/50{background-color:color-mix(in oklab,var(--muted)50%,transparent)}}.bg-popover\\/95{background-color:var(--popover)}@supports (color:color-mix(in lab, red, red)){.bg-popover\\/95{background-color:color-mix(in oklab,var(--popover)95%,transparent)}}.bg-primary,.bg-primary\\/10{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.bg-primary\\/10{background-color:color-mix(in oklab,var(--primary)10%,transparent)}}.bg-red-500{background-color:var(--color-red-500)}.bg-red-500\\/5{background-color:#fb2c360d}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/5{background-color:color-mix(in oklab,var(--color-red-500)5%,transparent)}}.bg-red-500\\/10{background-color:#fb2c361a}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/10{background-color:color-mix(in oklab,var(--color-red-500)10%,transparent)}}.bg-red-500\\/20{background-color:#fb2c3633}@supports (color:color-mix(in lab, red, red)){.bg-red-500\\/20{background-color:color-mix(in oklab,var(--color-red-500)20%,transparent)}}.bg-secondary{background-color:var(--secondary)}.bg-slate-900\\/95{background-color:#0f172bf2}@supports (color:color-mix(in lab, red, red)){.bg-slate-900\\/95{background-color:color-mix(in oklab,var(--color-slate-900)95%,transparent)}}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.bg-white\\/5{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.bg-white\\/5{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.bg-white\\/10{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.bg-white\\/10{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.bg-yellow-500{background-color:var(--color-yellow-500)}.fill-foreground{fill:var(--foreground)}.stroke-\\[1\\.5px\\]{stroke-width:1.5px}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.p-0{padding:calc(var(--spacing)*0)}.p-1{padding:calc(var(--spacing)*1)}.p-1\\.5{padding:calc(var(--spacing)*1.5)}.p-2{padding:calc(var(--spacing)*2)}.p-3{padding:calc(var(--spacing)*3)}.p-4{padding:calc(var(--spacing)*4)}.p-6{padding:calc(var(--spacing)*6)}.p-px{padding:1px}.px-0{padding-inline:calc(var(--spacing)*0)}.px-1{padding-inline:calc(var(--spacing)*1)}.px-1\\.5{padding-inline:calc(var(--spacing)*1.5)}.px-2{padding-inline:calc(var(--spacing)*2)}.px-2\\.5{padding-inline:calc(var(--spacing)*2.5)}.px-3{padding-inline:calc(var(--spacing)*3)}.px-4{padding-inline:calc(var(--spacing)*4)}.px-5{padding-inline:calc(var(--spacing)*5)}.px-6{padding-inline:calc(var(--spacing)*6)}.px-8{padding-inline:calc(var(--spacing)*8)}.py-0\\.5{padding-block:calc(var(--spacing)*.5)}.py-1{padding-block:calc(var(--spacing)*1)}.py-1\\.5{padding-block:calc(var(--spacing)*1.5)}.py-2{padding-block:calc(var(--spacing)*2)}.py-2\\.5{padding-block:calc(var(--spacing)*2.5)}.py-3{padding-block:calc(var(--spacing)*3)}.py-4{padding-block:calc(var(--spacing)*4)}.pt-0\\.5{padding-top:calc(var(--spacing)*.5)}.pt-2{padding-top:calc(var(--spacing)*2)}.pt-3{padding-top:calc(var(--spacing)*3)}.pr-2{padding-right:calc(var(--spacing)*2)}.pb-1{padding-bottom:calc(var(--spacing)*1)}.pb-4{padding-bottom:calc(var(--spacing)*4)}.pl-3{padding-left:calc(var(--spacing)*3)}.pl-4{padding-left:calc(var(--spacing)*4)}.text-center{text-align:center}.text-left{text-align:left}.font-mono{font-family:var(--font-mono)}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.text-\\[10px\\]{font-size:10px}.text-\\[11px\\]{font-size:11px}.text-\\[13px\\]{font-size:13px}.text-\\[15px\\]{font-size:15px}.text-\\[17px\\]{font-size:17px}.text-\\[19px\\]{font-size:19px}.text-\\[21px\\]{font-size:21px}.text-\\[25px\\]{font-size:25px}.leading-7{--tw-leading:calc(var(--spacing)*7);line-height:calc(var(--spacing)*7)}.leading-none{--tw-leading:1;line-height:1}.leading-relaxed{--tw-leading:var(--leading-relaxed);line-height:var(--leading-relaxed)}.font-bold{--tw-font-weight:var(--font-weight-bold);font-weight:var(--font-weight-bold)}.font-extrabold{--tw-font-weight:var(--font-weight-extrabold);font-weight:var(--font-weight-extrabold)}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.tracking-wide{--tw-tracking:var(--tracking-wide);letter-spacing:var(--tracking-wide)}.text-balance{text-wrap:balance}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-background{color:var(--background)}.text-blue-400{color:var(--color-blue-400)}.text-blue-600{color:var(--color-blue-600)}.text-destructive{color:var(--destructive)}.text-destructive-foreground{color:var(--destructive-foreground)}.text-emerald-500{color:var(--color-emerald-500)}.text-foreground,.text-foreground\\/80{color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.text-foreground\\/80{color:color-mix(in oklab,var(--foreground)80%,transparent)}}.text-green-400{color:var(--color-green-400)}.text-green-600{color:var(--color-green-600)}.text-muted-foreground,.text-muted-foreground\\/65{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/65{color:color-mix(in oklab,var(--muted-foreground)65%,transparent)}}.text-muted-foreground\\/70{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.text-muted-foreground\\/70{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.text-popover-foreground{color:var(--popover-foreground)}.text-primary{color:var(--primary)}.text-primary-foreground{color:var(--primary-foreground)}.text-red-300{color:var(--color-red-300)}.text-red-400{color:var(--color-red-400)}.text-red-600{color:var(--color-red-600)}.text-secondary-foreground{color:var(--secondary-foreground)}.text-white{color:var(--color-white)}.text-white\\/20{color:#fff3}@supports (color:color-mix(in lab, red, red)){.text-white\\/20{color:color-mix(in oklab,var(--color-white)20%,transparent)}}.text-white\\/30{color:#ffffff4d}@supports (color:color-mix(in lab, red, red)){.text-white\\/30{color:color-mix(in oklab,var(--color-white)30%,transparent)}}.text-white\\/40{color:#fff6}@supports (color:color-mix(in lab, red, red)){.text-white\\/40{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.text-white\\/50{color:#ffffff80}@supports (color:color-mix(in lab, red, red)){.text-white\\/50{color:color-mix(in oklab,var(--color-white)50%,transparent)}}.text-white\\/60{color:#fff9}@supports (color:color-mix(in lab, red, red)){.text-white\\/60{color:color-mix(in oklab,var(--color-white)60%,transparent)}}.text-white\\/70{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.text-white\\/70{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.text-white\\/80{color:#fffc}@supports (color:color-mix(in lab, red, red)){.text-white\\/80{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.text-white\\/90{color:#ffffffe6}@supports (color:color-mix(in lab, red, red)){.text-white\\/90{color:color-mix(in oklab,var(--color-white)90%,transparent)}}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.tabular-nums{--tw-numeric-spacing:tabular-nums;font-variant-numeric:var(--tw-ordinal,)var(--tw-slashed-zero,)var(--tw-numeric-figure,)var(--tw-numeric-spacing,)var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-4{text-underline-offset:4px}.opacity-70{opacity:.7}.opacity-100{opacity:1}.shadow-2xl{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(34\\,197\\,94\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#22c55e4d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(59\\,130\\,246\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#3b82f64d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_0_12px_rgba\\(239\\,68\\,68\\,0\\.3\\)\\]{--tw-shadow:0 0 12px var(--tw-shadow-color,#ef44444d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-16px_rgba\\(37\\,99\\,235\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -16px var(--tw-shadow-color,#2563eb8c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\\[0_12px_24px_-18px_rgba\\(220\\,38\\,38\\,0\\.55\\)\\]{--tw-shadow:0 12px 24px -18px var(--tw-shadow-color,#dc26268c);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px var(--tw-shadow-color,#0000001a),0 4px 6px -4px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px var(--tw-shadow-color,#0000001a),0 8px 10px -6px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-xs{--tw-shadow:0 1px 2px 0 var(--tw-shadow-color,#0000000d);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.ring{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.\\[box-shadow\\:inset_0_1px_2px_0_rgba\\(255\\,255\\,255\\,0\\.15\\)\\]{box-shadow:inset 0 1px 2px #ffffff26}.shadow-black\\/20{--tw-shadow-color:#0003}@supports (color:color-mix(in lab, red, red)){.shadow-black\\/20{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)20%,transparent)var(--tw-shadow-alpha),transparent)}}.ring-offset-background{--tw-ring-offset-color:var(--background)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.drop-shadow-xl{--tw-drop-shadow-size:drop-shadow(0 9px 7px var(--tw-drop-shadow-color,#0000001a));--tw-drop-shadow:drop-shadow(var(--drop-shadow-xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.backdrop-blur-md{--tw-backdrop-blur:blur(var(--blur-md));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-sm{--tw-backdrop-blur:blur(var(--blur-sm));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.backdrop-blur-xl{--tw-backdrop-blur:blur(var(--blur-xl));-webkit-backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,)var(--tw-backdrop-brightness,)var(--tw-backdrop-contrast,)var(--tw-backdrop-grayscale,)var(--tw-backdrop-hue-rotate,)var(--tw-backdrop-invert,)var(--tw-backdrop-opacity,)var(--tw-backdrop-saturate,)var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[color\\,box-shadow\\]{transition-property:color,box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-\\[grid-template-rows\\]{transition-property:grid-template-rows;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.duration-200{--tw-duration:.2s;transition-duration:.2s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.ease-in-out{--tw-ease:var(--ease-in-out);transition-timing-function:var(--ease-in-out)}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}.will-change-transform{will-change:transform}.outline-none{--tw-outline-style:none;outline-style:none}.select-none{-webkit-user-select:none;user-select:none}.placeholder\\:text-muted-foreground::placeholder,.placeholder\\:text-muted-foreground\\/70::placeholder{color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-muted-foreground\\/70::placeholder{color:color-mix(in oklab,var(--muted-foreground)70%,transparent)}}.placeholder\\:text-white\\/40::placeholder{color:#fff6}@supports (color:color-mix(in lab, red, red)){.placeholder\\:text-white\\/40::placeholder{color:color-mix(in oklab,var(--color-white)40%,transparent)}}.first\\:mt-0:first-child{margin-top:calc(var(--spacing)*0)}.first\\:mt-3:first-child{margin-top:calc(var(--spacing)*3)}.first\\:mt-4:first-child{margin-top:calc(var(--spacing)*4)}.first\\:rounded-tl-lg:first-child{border-top-left-radius:var(--radius)}.first\\:border-t:first-child{border-top-style:var(--tw-border-style);border-top-width:1px}.last\\:mb-0:last-child{margin-bottom:calc(var(--spacing)*0)}.last\\:mb-5:last-child{margin-bottom:calc(var(--spacing)*5)}.last\\:mb-24:last-child{margin-bottom:calc(var(--spacing)*24)}.last\\:rounded-tr-lg:last-child{border-top-right-radius:var(--radius)}.last\\:border-r:last-child{border-right-style:var(--tw-border-style);border-right-width:1px}.empty\\:hidden:empty{display:none}.focus-within\\:border-ring\\/50:focus-within{border-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-ring\\/50:focus-within{border-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-within\\:border-white\\/20:focus-within{border-color:#fff3}@supports (color:color-mix(in lab, red, red)){.focus-within\\:border-white\\/20:focus-within{border-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.focus-within\\:bg-white\\/15:focus-within{background-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.focus-within\\:bg-white\\/15:focus-within{background-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.focus-within\\:shadow-2xl:focus-within{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:shadow-md:focus-within{--tw-shadow:0 4px 6px -1px var(--tw-shadow-color,#0000001a),0 2px 4px -2px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:ring-2:focus-within{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:#0000004d}@supports (color:color-mix(in lab, red, red)){.focus-within\\:shadow-black\\/30:focus-within{--tw-shadow-color:color-mix(in oklab,color-mix(in oklab,var(--color-black)30%,transparent)var(--tw-shadow-alpha),transparent)}}.focus-within\\:ring-ring:focus-within{--tw-ring-color:var(--ring)}.focus-within\\:ring-offset-2:focus-within{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}@media (hover:hover){.hover\\:scale-105:hover{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.hover\\:border-accent:hover{border-color:var(--accent)}.hover\\:border-border\\/60:hover{border-color:var(--border)}@supports (color:color-mix(in lab, red, red)){.hover\\:border-border\\/60:hover{border-color:color-mix(in oklab,var(--border)60%,transparent)}}.hover\\:border-white\\/15:hover{border-color:#ffffff26}@supports (color:color-mix(in lab, red, red)){.hover\\:border-white\\/15:hover{border-color:color-mix(in oklab,var(--color-white)15%,transparent)}}.hover\\:\\!bg-white:hover{background-color:var(--color-white)!important}.hover\\:bg-accent:hover,.hover\\:bg-accent\\/50:hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-accent\\/50:hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.hover\\:bg-destructive\\/10:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/10:hover{background-color:color-mix(in oklab,var(--destructive)10%,transparent)}}.hover\\:bg-destructive\\/80:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/80:hover{background-color:color-mix(in oklab,var(--destructive)80%,transparent)}}.hover\\:bg-destructive\\/90:hover{background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-destructive\\/90:hover{background-color:color-mix(in oklab,var(--destructive)90%,transparent)}}.hover\\:bg-muted-foreground\\/15:hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-muted-foreground\\/15:hover{background-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.hover\\:bg-primary\\/80:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/80:hover{background-color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:bg-primary\\/90:hover{background-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-primary\\/90:hover{background-color:color-mix(in oklab,var(--primary)90%,transparent)}}.hover\\:bg-red-500\\/30:hover{background-color:#fb2c364d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-red-500\\/30:hover{background-color:color-mix(in oklab,var(--color-red-500)30%,transparent)}}.hover\\:bg-red-600:hover{background-color:var(--color-red-600)}.hover\\:bg-secondary\\/80:hover{background-color:var(--secondary)}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-secondary\\/80:hover{background-color:color-mix(in oklab,var(--secondary)80%,transparent)}}.hover\\:bg-transparent:hover{background-color:#0000}.hover\\:bg-white\\/5:hover{background-color:#ffffff0d}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/5:hover{background-color:color-mix(in oklab,var(--color-white)5%,transparent)}}.hover\\:bg-white\\/10:hover{background-color:#ffffff1a}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/10:hover{background-color:color-mix(in oklab,var(--color-white)10%,transparent)}}.hover\\:bg-white\\/20:hover{background-color:#fff3}@supports (color:color-mix(in lab, red, red)){.hover\\:bg-white\\/20:hover{background-color:color-mix(in oklab,var(--color-white)20%,transparent)}}.hover\\:text-accent-foreground:hover{color:var(--accent-foreground)}.hover\\:text-destructive:hover{color:var(--destructive)}.hover\\:text-foreground:hover{color:var(--foreground)}.hover\\:text-primary\\/80:hover{color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.hover\\:text-primary\\/80:hover{color:color-mix(in oklab,var(--primary)80%,transparent)}}.hover\\:text-red-200:hover{color:var(--color-red-200)}.hover\\:text-red-300:hover{color:var(--color-red-300)}.hover\\:text-white:hover{color:var(--color-white)}.hover\\:text-white\\/70:hover{color:#ffffffb3}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/70:hover{color:color-mix(in oklab,var(--color-white)70%,transparent)}}.hover\\:text-white\\/80:hover{color:#fffc}@supports (color:color-mix(in lab, red, red)){.hover\\:text-white\\/80:hover{color:color-mix(in oklab,var(--color-white)80%,transparent)}}.hover\\:underline:hover{text-decoration-line:underline}.hover\\:opacity-75:hover{opacity:.75}.hover\\:opacity-100:hover{opacity:1}.hover\\:shadow-2xl:hover{--tw-shadow:0 25px 50px -12px var(--tw-shadow-color,#00000040);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-14px_rgba\\(37\\,99\\,235\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -14px var(--tw-shadow-color,#2563eb99);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:shadow-\\[0_14px_24px_-16px_rgba\\(220\\,38\\,38\\,0\\.6\\)\\]:hover{--tw-shadow:0 14px 24px -16px var(--tw-shadow-color,#dc262699);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.hover\\:drop-shadow-2xl:hover{--tw-drop-shadow-size:drop-shadow(0 25px 25px var(--tw-drop-shadow-color,#00000026));--tw-drop-shadow:drop-shadow(var(--drop-shadow-2xl));filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}}.focus\\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus\\:ring-ring:focus{--tw-ring-color:var(--ring)}.focus\\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,)0 0 0 var(--tw-ring-offset-width)var(--tw-ring-offset-color)}.focus\\:outline-hidden:focus{--tw-outline-style:none;outline-style:none}@media (forced-colors:active){.focus\\:outline-hidden:focus{outline-offset:2px;outline:2px solid #0000}}.focus\\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\\:border-ring:focus-visible{border-color:var(--ring)}.focus-visible\\:ring-0:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(1px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-\\[3px\\]:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(3px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/20:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-destructive\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:var(--primary)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-primary\\/40:focus-visible{--tw-ring-color:color-mix(in oklab,var(--primary)40%,transparent)}}.focus-visible\\:ring-ring:focus-visible,.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:var(--ring)}@supports (color:color-mix(in lab, red, red)){.focus-visible\\:ring-ring\\/50:focus-visible{--tw-ring-color:color-mix(in oklab,var(--ring)50%,transparent)}}.focus-visible\\:outline-1:focus-visible{outline-style:var(--tw-outline-style);outline-width:1px}.focus-visible\\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.active\\:scale-95:active{--tw-scale-x:95%;--tw-scale-y:95%;--tw-scale-z:95%;scale:var(--tw-scale-x)var(--tw-scale-y)}.disabled\\:pointer-events-none:disabled{pointer-events:none}.disabled\\:invisible:disabled{visibility:hidden}.disabled\\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\\:opacity-50:disabled{opacity:.5}.has-\\[\\>svg\\]\\:px-2\\.5:has(>svg){padding-inline:calc(var(--spacing)*2.5)}.has-\\[\\>svg\\]\\:px-3:has(>svg){padding-inline:calc(var(--spacing)*3)}.has-\\[\\>svg\\]\\:px-4:has(>svg){padding-inline:calc(var(--spacing)*4)}.aria-invalid\\:border-destructive[aria-invalid=true]{border-color:var(--destructive)}.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.aria-invalid\\:ring-destructive\\/20[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)20%,transparent)}}.data-floating\\:absolute[data-floating]{position:absolute}.data-floating\\:rounded-md[data-floating]{border-radius:calc(var(--radius) - 2px)}.data-floating\\:border[data-floating]{border-style:var(--tw-border-style);border-width:1px}.data-floating\\:bg-background[data-floating]{background-color:var(--background)}.data-floating\\:p-1[data-floating]{padding:calc(var(--spacing)*1)}.data-floating\\:shadow-sm[data-floating]{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a),0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.data-\\[orientation\\=horizontal\\]\\:h-px[data-orientation=horizontal]{height:1px}.data-\\[orientation\\=horizontal\\]\\:w-full[data-orientation=horizontal]{width:100%}.data-\\[orientation\\=vertical\\]\\:h-full[data-orientation=vertical]{height:100%}.data-\\[orientation\\=vertical\\]\\:w-px[data-orientation=vertical]{width:1px}.data-\\[state\\=closed\\]\\:scale-0[data-state=closed]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:scale-100[data-state=closed]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=closed\\]\\:-rotate-90[data-state=closed]{rotate:-90deg}.data-\\[state\\=closed\\]\\:rotate-0[data-state=closed]{rotate:none}.data-\\[state\\=open\\]\\:scale-0[data-state=open]{--tw-scale-x:0%;--tw-scale-y:0%;--tw-scale-z:0%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:scale-100[data-state=open]{--tw-scale-x:100%;--tw-scale-y:100%;--tw-scale-z:100%;scale:var(--tw-scale-x)var(--tw-scale-y)}.data-\\[state\\=open\\]\\:rotate-0[data-state=open]{rotate:none}.data-\\[state\\=open\\]\\:rotate-90[data-state=open]{rotate:90deg}.data-\\[state\\=open\\]\\:bg-accent[data-state=open]{background-color:var(--accent)}.data-\\[state\\=open\\]\\:text-muted-foreground[data-state=open]{color:var(--muted-foreground)}@media (min-width:40rem){.sm\\:max-w-3xl{max-width:var(--container-3xl)}.sm\\:max-w-lg{max-width:var(--container-lg)}.sm\\:max-w-md{max-width:var(--container-md)}.sm\\:flex-row{flex-direction:row}.sm\\:justify-end{justify-content:flex-end}.sm\\:text-left{text-align:left}}@media (min-width:48rem){.md\\:pb-6{padding-bottom:calc(var(--spacing)*6)}}@container (min-width:28rem){.\\@md\\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.\\@md\\:flex-col{flex-direction:column}}.dark\\:border-input:is(.dark *){border-color:var(--input)}.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:border-muted-foreground\\/15:is(.dark *){border-color:color-mix(in oklab,var(--muted-foreground)15%,transparent)}}.dark\\:bg-background:is(.dark *){background-color:var(--background)}.dark\\:bg-destructive\\/5:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/5:is(.dark *){background-color:color-mix(in oklab,var(--destructive)5%,transparent)}}.dark\\:bg-destructive\\/60:is(.dark *){background-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-destructive\\/60:is(.dark *){background-color:color-mix(in oklab,var(--destructive)60%,transparent)}}.dark\\:bg-input\\/30:is(.dark *){background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-input\\/30:is(.dark *){background-color:color-mix(in oklab,var(--input)30%,transparent)}}.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:bg-muted-foreground\\/20:is(.dark *){background-color:color-mix(in oklab,var(--muted-foreground)20%,transparent)}}.dark\\:stroke-\\[2\\.5px\\]:is(.dark *){stroke-width:2.5px}.dark\\:text-green-400:is(.dark *){color:var(--color-green-400)}.dark\\:text-red-200:is(.dark *){color:var(--color-red-200)}@media (hover:hover){.dark\\:hover\\:bg-accent:is(.dark *):hover,.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)50%,transparent)}}.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:var(--accent)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-accent\\/60:is(.dark *):hover{background-color:color-mix(in oklab,var(--accent)60%,transparent)}}.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:var(--input)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-input\\/50:is(.dark *):hover{background-color:color-mix(in oklab,var(--input)50%,transparent)}}.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:var(--muted-foreground)}@supports (color:color-mix(in lab, red, red)){.dark\\:hover\\:bg-muted-foreground\\/30:is(.dark *):hover{background-color:color-mix(in oklab,var(--muted-foreground)30%,transparent)}}}.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:focus-visible\\:ring-destructive\\/40:is(.dark *):focus-visible{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:var(--destructive)}@supports (color:color-mix(in lab, red, red)){.dark\\:aria-invalid\\:ring-destructive\\/40:is(.dark *)[aria-invalid=true]{--tw-ring-color:color-mix(in oklab,var(--destructive)40%,transparent)}}.\\[\\&_svg\\]\\:pointer-events-none svg{pointer-events:none}.\\[\\&_svg\\]\\:shrink-0 svg{flex-shrink:0}.\\[\\&_svg\\]\\:text-background svg{color:var(--background)}.\\[\\&_svg\\]\\:text-black svg{color:var(--color-black)}@media (hover:hover){.hover\\:\\[\\&_svg\\]\\:text-destructive:hover svg{color:var(--destructive)}}.\\[\\&_svg\\:not\\(\\[class\\*\\=\\'size-\\'\\]\\)\\]\\:size-4 svg:not([class*=size-]){width:calc(var(--spacing)*4);height:calc(var(--spacing)*4)}.\\[\\&\\:last-child\\>td\\:first-child\\]\\:rounded-bl-lg:last-child>td:first-child{border-bottom-left-radius:var(--radius)}.\\[\\&\\:last-child\\>td\\:last-child\\]\\:rounded-br-lg:last-child>td:last-child{border-bottom-right-radius:var(--radius)}.\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:hidden:nth-child(n+3){display:none}@container (min-width:28rem){.\\@md\\:\\[\\&\\:nth-child\\(n\\+3\\)\\]\\:block:nth-child(n+3){display:block}}.\\[\\&\\:where\\(\\>\\*\\)\\]\\:col-start-2:where(){grid-column-start:2}.only\\:\\[\\&\\>\\#attachment-tile\\]\\:size-24:only-child>#attachment-tile{width:calc(var(--spacing)*24);height:calc(var(--spacing)*24)}.\\[\\&\\>\\.aui-thread-root\\]\\:bg-inherit>.aui-thread-root{background-color:inherit}.\\[\\&\\>a\\]\\:text-xs>a{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\>a\\]\\:no-underline>a{text-decoration-line:none}.\\[\\&\\>button\\]\\:rounded-full>button{border-radius:3.40282e38px}.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:var(--foreground)}@supports (color:color-mix(in lab, red, red)){.\\[\\&\\>button\\]\\:bg-foreground\\/60>button{background-color:color-mix(in oklab,var(--foreground)60%,transparent)}}.\\[\\&\\>button\\]\\:p-1>button{padding:calc(var(--spacing)*1)}.\\[\\&\\>button\\]\\:opacity-100>button{opacity:1}.\\[\\&\\>button\\]\\:\\!ring-0>button{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(0px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor)!important;box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)!important}@media (hover:hover){.\\[\\&\\>button\\]\\:hover\\:\\[\\&_svg\\]\\:text-destructive>button:hover svg{color:var(--destructive)}}.\\[\\&\\>li\\]\\:mt-0\\.5>li{margin-top:calc(var(--spacing)*.5)}.\\[\\&\\>li\\]\\:mt-1>li{margin-top:calc(var(--spacing)*1)}.\\[\\&\\>span\\]\\:text-xs>span{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.\\[\\&\\[align\\=center\\]\\]\\:text-center[align=center]{text-align:center}.\\[\\&\\[align\\=right\\]\\]\\:text-right[align=right]{text-align:right}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(200%)}}@keyframes subtle-pulse{0%,to{opacity:1}50%{opacity:.85}}@keyframes smooth-slide-down{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes gradient-shift{0%,to{transform:translate(0%)translateY(0%)}25%{transform:translate(100%)translateY(100%)}50%{transform:translate(100%)translateY(0%)}75%{transform:translate(0%)translateY(100%)}}@keyframes float{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(-30px)translate(20px)}66%{transform:translateY(20px)translate(-20px)}}@keyframes float-delayed{0%,to{transform:translateY(0)translate(0)}33%{transform:translateY(30px)translate(-30px)}66%{transform:translateY(-20px)translate(20px)}}.tool-card-transition{transition:all .4s cubic-bezier(.34,1.56,.64,1)}.tool-card-smooth{transition:all .35s cubic-bezier(.4,0,.2,1)}.animate-fadeInUp{opacity:0;animation:.5s ease-out forwards fadeInUp}.animate-gradient-shift{background-size:200% 200%;animation:20s ease-in-out infinite gradient-shift}.animate-float-slow{animation:20s ease-in-out infinite float}.animate-float-delayed{animation:25s ease-in-out 5s infinite float-delayed}.no-scrollbar::-webkit-scrollbar{display:none}.no-scrollbar{-ms-overflow-style:none;scrollbar-width:none}@keyframes tool-border-rotate{0%{--tool-border-angle:0deg}to{--tool-border-angle:360deg}}@property --tool-border-angle{syntax:"<angle>";inherits:false;initial-value:0deg}.tool-border-calling{background:conic-gradient(from var(--tool-border-angle),transparent 0deg,transparent 60deg,#3b82f680 90deg,#60a5fab3 120deg,#93c5fd80 150deg,transparent 180deg,transparent 360deg);animation:1.5s linear infinite tool-border-rotate}.tool-border-success{background:#22c55e66;box-shadow:0 0 12px #22c55e4d,inset 0 0 8px #22c55e1a}.tool-border-error{background:#ef444466;box-shadow:0 0 12px #ef44444d,inset 0 0 8px #ef44441a}@keyframes pulse-success{0%,to{box-shadow:0 0 #22c55e66}50%{box-shadow:0 0 0 8px #22c55e00}}@keyframes shake{0%,to{transform:translate(0)}10%,30%,50%,70%,90%{transform:translate(-2px)}20%,40%,60%,80%{transform:translate(2px)}}.animate-pulse-success{animation:.6s ease-out pulse-success}.animate-shake{animation:.3s ease-out shake}@keyframes aui-pulse{50%{opacity:.5}}:where(.aui-md[data-status=running]):empty:after,:where(.aui-md[data-status=running])>:where(:not(ol):not(ul):not(pre)):last-child:after,:where(.aui-md[data-status=running])>pre:last-child code:after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child:not(:has(*>li))):after,:where(.aui-md[data-status=running])>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child)>:where(:is(ol,ul):last-child)>:where(li:last-child):after{--aui-content:"●";content:var(--aui-content);margin-left:.25rem;margin-right:.25rem;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;animation:2s cubic-bezier(.4,0,.6,1) infinite aui-pulse}.glass-pill{-webkit-backdrop-filter:blur(20px)saturate(150%);background:#0f172ad9;border:1px solid #ffffff0f;box-shadow:0 4px 16px #0003,inset 0 .5px #ffffff14}.glass-pill:before{content:"";border-radius:inherit;pointer-events:none;z-index:1;background:linear-gradient(#ffffff0a 0%,#0000 40%);position:absolute;inset:0}.glass-pill:after{display:none}.glass-pill-collapsed{-webkit-backdrop-filter:blur(12px);background:#ffffff1f;border:none;box-shadow:0 1px 4px #00000026}.glass-pill-collapsed:before,.glass-pill-collapsed:after{display:none}.glass-pill-hovered{-webkit-backdrop-filter:blur(16px)saturate(140%);background:#0f172acc;border:1px solid #ffffff0f;box-shadow:0 2px 12px #0000002e}.glass-pill-hovered:before,.glass-pill-hovered:after{display:none}@keyframes glass-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.glass-shimmer{background:linear-gradient(90deg,#ffffff14 0%,#ffffff26 50%,#ffffff14 100%) 0 0/200% 100%;animation:4s ease-in-out infinite glass-shimmer}@property --tw-border-spacing-x{syntax:"<length>";inherits:false;initial-value:0}@property --tw-border-spacing-y{syntax:"<length>";inherits:false;initial-value:0}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.5}}`,document.head.appendChild(t)}let vn=e=>{let i=(0,t.c)(23),{appId:a,apiBase:s,tokenEndpoint:c,autoConnectLocal:l,viewMode:u,onToolsChange:d,onVoiceError:p,onVoiceConnect:m,onVoiceDisconnect:h}=e,g=l===void 0?!0:l,_=u===void 0?`pill`:u,v=s?`${s}/api/chat`:`/api/chat`,y;i[0]===v?y=i[1]:(y=new r.AssistantChatTransport({api:v}),i[0]=v,i[1]=y);let b=y,x;i[2]===b?x=i[3]:(x={transport:b,sendAutomaticallyWhen:xn},i[2]=b,i[3]=x);let S=(0,r.useChatRuntime)(x),[C,w]=(0,o.useState)(!1),T;i[4]===Symbol.for(`react.memo_cache_sentinel`)?(T=[],i[4]=T):T=i[4];let[E]=(0,o.useState)(T),D;i[5]===Symbol.for(`react.memo_cache_sentinel`)?(D=()=>{w(!0)},i[5]=D):D=i[5];let O=D,k;i[6]===Symbol.for(`react.memo_cache_sentinel`)?(k=()=>{w(!1)},i[6]=k):k=i[6];let A=k,j=c||(s?`${s}/api/realtime/session`:void 0);a&&typeof window<`u`&&console.debug(`[WebMCP] Initialized with app_id:`,a,`viewMode:`,_);let M;i[7]!==E||i[8]!==C||i[9]!==j||i[10]!==_?(M=()=>_===`pill`?(0,f.jsxs)(f.Fragment,{children:[(0,f.jsx)(on,{position:`bottom-center`,onOpenHistory:O,showVoiceButton:!!j}),(0,f.jsx)(ln,{isOpen:C,onClose:A,conversations:E})]}):(0,f.jsx)(ut,{}),i[7]=E,i[8]=C,i[9]=j,i[10]=_,i[11]=M):M=i[11];let N=M,P;i[12]!==m||i[13]!==h||i[14]!==p||i[15]!==N||i[16]!==j||i[17]!==S?(P=j?(0,f.jsx)(re,{tokenEndpoint:j,onError:p,onConnect:m,onDisconnect:h,children:(0,f.jsxs)(n.AssistantRuntimeProvider,{runtime:S,children:[(0,f.jsx)(pt,{}),N()]})}):(0,f.jsxs)(n.AssistantRuntimeProvider,{runtime:S,children:[(0,f.jsx)(pt,{}),N()]}),i[12]=m,i[13]=h,i[14]=p,i[15]=N,i[16]=j,i[17]=S,i[18]=P):P=i[18];let F;return i[19]!==g||i[20]!==d||i[21]!==P?(F=(0,f.jsx)(We,{autoConnectLocal:g,onToolsChange:d,children:P}),i[19]=g,i[20]=d,i[21]=P,i[22]=F):F=i[22],F},yn=(0,i.default)(vn,{props:{appId:`string`,apiBase:`string`,tokenEndpoint:`string`,autoConnectLocal:`boolean`,viewMode:`string`}});function bn(e=`webmcp-agent`){typeof window>`u`||(_n(),customElements.get(e)||customElements.define(e,yn))}bn();function xn(e){return(0,a.lastAssistantMessageIsCompleteWithToolCalls)(e)}return e.EmbeddedAgent=vn,e.WebMCPAgentElement=yn,e.registerWebMCPAgent=bn,e})({},react_compiler_runtime,__assistant_ui_react,__assistant_ui_react_ai_sdk,__r2wc_react_to_web_component,ai,react,lucide_react,motion_react,motion_react_m,clsx,tailwind_merge,react_jsx_runtime,zustand_shallow,__radix_ui_react_avatar,__radix_ui_react_dialog,__radix_ui_react_tooltip,__radix_ui_react_slot,class_variance_authority,__assistant_ui_react_markdown,remark_gfm,__modelcontextprotocol_sdk_client_index_js,__modelcontextprotocol_sdk_types_js,__mcp_b_transports,__modelcontextprotocol_sdk_client_sse_js,__modelcontextprotocol_sdk_client_streamableHttp_js,react_markdown);