1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[1398],{52302:(e,t,r)=>{r.d(t,{A:()=>rl,B:()=>tK,D:()=>rE,Dt:()=>eA,I:()=>t1,L:()=>t0,O:()=>rj,Ot:()=>eS,Q:()=>tz,R:()=>tX,W:()=>tB,X:()=>tO,Y:()=>tP,Z:()=>t$,at:()=>ty,b:()=>rD,et:()=>tT,it:()=>tw,jt:()=>ea,nt:()=>tS,ot:()=>tb,rt:()=>tI,st:()=>tk,t:()=>nv,tt:()=>tA,y:()=>rW});var n,s=r(12115),a=r(65695),o=r(45150),i=r(75889),l=r(44725),c=r(32156),d=r(35623),u=r(31734),p=r(8650),f=r(29593),g=r(43633),m=r(29699),h=r(76318),k=r(12176),x=r(20973),b=r(76854),y=r(68419),v=r(36142),w=r(10988),C=r(84701),j=r(78526),I=r(99597),R=r(85245),N=r(91494),E=r(82051),S=r(53915),T=r(85591),M=r(92172),A=r(26068),z=r(27201),$=r(5597),O=r(3401),L=r(72613),_=r(62432),P=r(95155),B=r(32467),F=r(83101),U=r(2821),D=r(47520),K=r(95736),H=r(79572),W=r(75165),Y=r(98734),q=r(7188),V=r(87501),Q=r(22220),J=r(47650),G=r(96195),X=r(50129);function Z(e,t){let r=Object.keys(e),n=Object.keys(t);if(r.length!==n.length)return!1;for(let n of r)if(e[n]!==t[n])return!1;return!0}function ee(e){return null!==e&&"object"==typeof e&&"[object Object]"===Object.prototype.toString.call(e)}function et(e){let t=(0,s.useRef)(e);return t.current===e||ee(t.current)&&ee(e)&&Z(t.current,e)||(t.current=e),t.current}r(38139);let er={chatInputPlaceholder:"Type a message...",chatInputToolbarStartTranscribeButtonLabel:"Transcribe",chatInputToolbarCancelTranscribeButtonLabel:"Cancel",chatInputToolbarFinishTranscribeButtonLabel:"Finish",chatInputToolbarAddButtonLabel:"Add attachments",chatInputToolbarToolsButtonLabel:"Tools",assistantMessageToolbarCopyCodeLabel:"Copy",assistantMessageToolbarCopyCodeCopiedLabel:"Copied",assistantMessageToolbarCopyMessageLabel:"Copy",assistantMessageToolbarInspectorLabel:"View in Inspector",assistantMessageToolbarInspectorLocalOnlyLabel:"Local Only",assistantMessageToolbarThumbsUpLabel:"Good response",assistantMessageToolbarThumbsDownLabel:"Bad response",assistantMessageToolbarReadAloudLabel:"Read aloud",assistantMessageToolbarRegenerateLabel:"Regenerate",userMessageToolbarCopyMessageLabel:"Copy",userMessageToolbarEditMessageLabel:"Edit",chatDisclaimerText:"AI can make mistakes. Please verify important information.",chatToggleOpenLabel:"Open chat",chatToggleCloseLabel:"Close chat",modalHeaderTitle:"CopilotKit Chat",welcomeMessageText:"How can I help you today?"};function en(){return"undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(max-width: 767px)").matches}let es=(0,s.createContext)(null),ea=({children:e,labels:t,agentId:r,threadId:n,hasExplicitThreadId:a,isModalDefaultOpen:o})=>{let i=(0,s.useContext)(es),l=et(t),c=(0,s.useMemo)(()=>({...er,...i?.labels,...l}),[l,i?.labels]),d=r??i?.agentId??E.kv,u=void 0!==n&&!1!==a,[p,f]=(0,s.useState)(null),g=(0,s.useMemo)(()=>u?n:p?p.threadId:i?.threadId?i.threadId:n||(0,S.N4)(),[u,n,i?.threadId,p]),m=!!u||(p?.explicit??a??!1)||!!i?.hasExplicitThreadId,[h,k]=(0,s.useState)(o??!0),x=void 0!==o,b=(0,s.useCallback)(e=>{k(e),i?.setModalOpen(e)},[i?.setModalOpen]),y=(0,s.useRef)(!1);(0,s.useEffect)(()=>{if(x){if(!y.current){y.current=!0;return}i?.isModalOpen!==void 0&&k(i.isModalOpen)}},[i?.isModalOpen,x]);let v=x?h:i?.isModalOpen??h,w=x?b:i?.setModalOpen??k,[C,j]=(0,s.useState)(!1),[I,R]=(0,s.useState)(0),N=(0,s.useRef)(()=>{});N.current=w;let T=(0,s.useRef)([]),M=(0,s.useCallback)(e=>(T.current.push(e),()=>{T.current=T.current.filter(t=>t!==e)}),[]),A=(0,s.useCallback)(e=>{if(j(e),e&&en()){let e=T.current;(e.length>0?e[e.length-1]:N.current)(!1)}},[]),z=(0,s.useCallback)(()=>(R(e=>e+1),()=>{R(e=>Math.max(0,e-1))}),[]),$=i?i.drawerOpen:C,O=i?i.setDrawerOpen:A,L=i?i.drawerRegistered:I>0,_=i?i.registerDrawer:z,B=i?i.ɵregisterModalCloser:M;(0,s.useEffect)(()=>{if(x)return B(w)},[x,B,w]);let F=(0,s.useRef)(u);F.current=u;let U=(0,s.useCallback)((e,t)=>{f({threadId:e,explicit:t?.explicit??!0})},[]),D=(0,s.useCallback)(()=>{f({threadId:(0,S.N4)(),explicit:!1})},[]),K=i?.setActiveThreadId,H=i?.startNewThread,W=(0,s.useCallback)((e,t)=>F.current?void console.warn("[CopilotKit] Ignoring setActiveThreadId(): threadId is controlled via the `threadId` prop on CopilotChatConfigurationProvider."):K?void K(e,t):void U(e,t),[K,U]),Y=(0,s.useCallback)(()=>F.current?void console.warn("[CopilotKit] Ignoring startNewThread(): threadId is controlled via the `threadId` prop on CopilotChatConfigurationProvider."):H?void H():void D(),[H,D]
1),q=(0,s.useCallback)(e=>{e&&en()&&O(!1),w(e)},[w,O]),V=(0,s.useMemo)(()=>({labels:c,agentId:d,threadId:g,hasExplicitThreadId:m,isModalOpen:v,setModalOpen:q,drawerOpen:$,setDrawerOpen:O,drawerRegistered:L,registerDrawer:_,ɵregisterModalCloser:B,setActiveThreadId:W,startNewThread:Y}),[c,d,g,m,v,q,$,O,L,_,B,W,Y]);return(0,P.jsx)(es.Provider,{value:V,children:e})},eo=()=>(0,s.useContext)(es),ei=(0,i.zu)({prefix:"cpk"});function el(...e){return ei((0,U.$)(e))}let ec=(0,F.F)("cpk:inline-flex cpk:items-center cpk:justify-center cpk:gap-2 cpk:whitespace-nowrap cpk:rounded-md cpk:text-sm cpk:font-medium cpk:transition-all cpk:disabled:pointer-events-none cpk:disabled:opacity-50 cpk:[&_svg]:pointer-events-none cpk:[&_svg:not([class*='size-'])]:size-4 cpk:shrink-0 cpk:[&_svg]:shrink-0 cpk:outline-none cpk:focus-visible:border-ring cpk:focus-visible:ring-ring/50 cpk:focus-visible:ring-[3px] cpk:aria-invalid:ring-destructive/20 cpk:dark:aria-invalid:ring-destructive/40 cpk:aria-invalid:border-destructive",{variants:{variant:{default:"cpk:bg-primary cpk:text-primary-foreground cpk:shadow-xs cpk:hover:bg-primary/90",destructive:"cpk:bg-destructive cpk:text-white cpk:shadow-xs cpk:hover:bg-destructive/90 cpk:focus-visible:ring-destructive/20 cpk:dark:focus-visible:ring-destructive/40 cpk:dark:bg-destructive/60",outline:"cpk:border cpk:bg-background cpk:shadow-xs cpk:hover:bg-accent cpk:hover:text-accent-foreground cpk:dark:bg-input/30 cpk:dark:border-input cpk:dark:hover:bg-input/50",secondary:"cpk:bg-secondary cpk:text-secondary-foreground cpk:shadow-xs cpk:hover:bg-secondary/80",ghost:"cpk:hover:bg-accent cpk:hover:text-accent-foreground cpk:dark:hover:bg-accent/50 cpk:cursor-pointer",link:"cpk:text-primary cpk:underline-offset-4 cpk:hover:underline",assistantMessageToolbarButton:["cpk:cursor-pointer","cpk:p-0 cpk:text-[rgb(93,93,93)] cpk:hover:bg-[#E8E8E8]","cpk:dark:text-[rgb(243,243,243)] cpk:dark:hover:bg-[#303030]","cpk:h-8 cpk:w-8","cpk:transition-colors","cpk:hover:text-[rgb(93,93,93)]","cpk:dark:hover:text-[rgb(243,243,243)]"],chatInputToolbarPrimary:["cpk:cursor-pointer","cpk:bg-black cpk:text-white","cpk:dark:bg-white cpk:dark:text-black cpk:dark:focus-visible:outline-white","cpk:rounded-full","cpk:transition-colors","cpk:focus:outline-none","cpk:hover:opacity-70 cpk:disabled:hover:opacity-100","cpk:disabled:cursor-not-allowed cpk:disabled:bg-[#00000014] cpk:disabled:text-[rgb(13,13,13)]","cpk:dark:disabled:bg-[#454545] cpk:dark:disabled:text-white "],chatInputToolbarSecondary:["cpk:cursor-pointer","cpk:bg-transparent cpk:text-[#444444]","cpk:dark:text-white cpk:dark:border-[#404040]","cpk:rounded-full","cpk:transition-colors","cpk:focus:outline-none","cpk:hover:bg-[#f8f8f8] cpk:hover:text-[#333333]","cpk:dark:hover:bg-[#404040] cpk:dark:hover:text-[#FFFFFF]","cpk:disabled:cursor-not-allowed cpk:disabled:opacity-50","cpk:disabled:hover:bg-transparent cpk:disabled:hover:text-[#444444]","cpk:dark:disabled:hover:bg-transparent cpk:dark:disabled:hover:text-[#CCCCCC]"]},size:{default:"cpk:h-9 cpk:px-4 cpk:py-2 cpk:has-[>svg]:px-3",sm:"cpk:h-8 cpk:rounded-md cpk:gap-1.5 cpk:px-3 cpk:has-[>svg]:px-2.5",lg:"cpk:h-10 cpk:rounded-md cpk:px-6 cpk:has-[>svg]:px-4",icon:"cpk:size-9",chatInputToolbarIcon:["cpk:h-9 cpk:w-9 cpk:rounded-full"],chatInputToolbarIconLabel:["cpk:h-9 cpk:px-3 cpk:rounded-full","cpk:gap-2","cpk:font-normal"]}},defaultVariants:{variant:"default",size:"default"}}),ed=s.forwardRef(function({className:e,variant:t,size:r,asChild:n=!1,...s},a){return(0,P.jsx)(n?B.DX:"button",{ref:a,"data-slot":"button",className:el(ec({variant:t,size:r,className:e})),...s})});function eu({delayDuration:e=0,...t}){return(0,P.jsx)(D.Kq,{"data-slot":"tooltip-provider",delayDuration:e,...t})}function ep({...e}){return(0,P.jsx)(eu,{children:(0,P.jsx)(D.bL,{"data-slot":"tooltip",...e})})}let ef=s.forwardRef(function({...e},t){return(0,P.jsx)(D.l9,{ref:t,"data-slot":"tooltip-trigger",...e})});function eg({className:e,sideOffset:t=0,children:r,...n}){return(0,P.jsx)(D.ZL,{children:(0,P.jsxs)(D.UC,{"data-copilotkit":!0,"data-slot":"tooltip-content",sideOffset:t,className:el("cpk:bg-primary cpk:text-primary-foreground cpk:animate-in cpk:fade-in-0 cpk:zoom-in-95 cpk:data-[state=closed]:animate-out cpk:data-[state=closed]:fade-out-0 cpk:data-[state=closed]:zoom-out-95 cpk:data-[side=bottom]:slide-in-from-top-2 cpk:data-[side=left]:slide-in-from-right-2 cpk:data-[side=right]:sli
1de-in-from-left-2 cpk:data-[side=top]:slide-in-from-bottom-2 cpk:z-50 cpk:w-fit cpk:origin-(--radix-tooltip-content-transform-origin) cpk:rounded-md cpk:px-3 cpk:py-1.5 cpk:text-xs cpk:text-balance",e),...n,children:[r,(0,P.jsx)(D.i3,{className:"cpk:bg-primary cpk:fill-primary cpk:z-50 cpk:size-2.5 cpk:translate-y-[calc(-50%_-_2px)] cpk:rotate-45 cpk:rounded-[2px]"})]})})}function em({...e}){return(0,P.jsx)(K.bL,{"data-slot":"dropdown-menu",...e})}let eh=s.forwardRef(function({...e},t){return(0,P.jsx)(K.l9,{ref:t,"data-slot":"dropdown-menu-trigger",...e})});function ek({className:e,sideOffset:t=4,...r}){return(0,P.jsx)(K.ZL,{children:(0,P.jsx)(K.UC,{"data-copilotkit":!0,"data-slot":"dropdown-menu-content",sideOffset:t,className:el("cpk:bg-popover cpk:text-popover-foreground cpk:data-[state=open]:animate-in cpk:data-[state=closed]:animate-out cpk:data-[state=closed]:fade-out-0 cpk:data-[state=open]:fade-in-0 cpk:data-[state=closed]:zoom-out-95 cpk:data-[state=open]:zoom-in-95 cpk:data-[side=bottom]:slide-in-from-top-2 cpk:data-[side=left]:slide-in-from-right-2 cpk:data-[side=right]:slide-in-from-left-2 cpk:data-[side=top]:slide-in-from-bottom-2 cpk:z-50 cpk:max-h-(--radix-dropdown-menu-content-available-height) cpk:min-w-[8rem] cpk:origin-(--radix-dropdown-menu-content-transform-origin) cpk:overflow-x-hidden cpk:overflow-y-auto cpk:rounded-md cpk:border cpk:p-1 cpk:shadow-md",e),...r})})}function ex({className:e,inset:t,variant:r="default",...n}){return(0,P.jsx)(K.q7,{"data-slot":"dropdown-menu-item","data-inset":t,"data-variant":r,className:el("cpk:focus:bg-accent cpk:focus:text-accent-foreground cpk:data-[variant=destructive]:text-destructive cpk:data-[variant=destructive]:focus:bg-destructive/10 cpk:dark:data-[variant=destructive]:focus:bg-destructive/20 cpk:data-[variant=destructive]:focus:text-destructive cpk:data-[variant=destructive]:*:[svg]:!text-destructive cpk:[&_svg:not([class*='text-'])]:text-muted-foreground cpk:relative cpk:flex cpk:cursor-default cpk:items-center cpk:gap-2 cpk:rounded-sm cpk:px-2 cpk:py-1.5 cpk:text-sm cpk:outline-hidden cpk:select-none cpk:data-[disabled]:pointer-events-none cpk:data-[disabled]:opacity-50 cpk:data-[inset]:pl-8 cpk:[&_svg]:pointer-events-none cpk:[&_svg]:shrink-0 cpk:[&_svg:not([class*='size-'])]:size-4",e),...n})}function eb({className:e,...t}){return(0,P.jsx)(K.wv,{"data-slot":"dropdown-menu-separator",className:el("cpk:bg-border cpk:-mx-1 cpk:my-1 cpk:h-px",e),...t})}function ey({...e}){return(0,P.jsx)(K.Pb,{"data-slot":"dropdown-menu-sub",...e})}function ev({className:e,inset:t,children:r,...n}){return(0,P.jsxs)(K.ZP,{"data-slot":"dropdown-menu-sub-trigger","data-inset":t,className:el("cpk:focus:bg-accent cpk:focus:text-accent-foreground cpk:data-[state=open]:bg-accent cpk:data-[state=open]:text-accent-foreground cpk:flex cpk:cursor-default cpk:items-center cpk:rounded-sm cpk:px-2 cpk:py-1.5 cpk:text-sm cpk:outline-hidden cpk:select-none cpk:data-[inset]:pl-8",e),...n,children:[r,(0,P.jsx)(l.A,{className:"cpk:ml-auto cpk:size-4"})]})}function ew({className:e,...t}){return(0,P.jsx)(K.G5,{"data-slot":"dropdown-menu-sub-content",className:el("cpk:bg-popover cpk:text-popover-foreground cpk:data-[state=open]:animate-in cpk:data-[state=closed]:animate-out cpk:data-[state=closed]:fade-out-0 cpk:data-[state=open]:fade-in-0 cpk:data-[state=closed]:zoom-out-95 cpk:data-[state=open]:zoom-in-95 cpk:data-[side=bottom]:slide-in-from-top-2 cpk:data-[side=left]:slide-in-from-right-2 cpk:data-[side=right]:slide-in-from-left-2 cpk:data-[side=top]:slide-in-from-bottom-2 cpk:z-50 cpk:min-w-[8rem] cpk:origin-(--radix-dropdown-menu-content-transform-origin) cpk:overflow-hidden cpk:rounded-md cpk:border cpk:p-1 cpk:shadow-lg",e),...t})}var eC=class extends Error{constructor(e){super(e),this.name="AudioRecorderError"}};let ej=(0,s.forwardRef)((e,t)=>{let{className:r,...n}=e,a=(0,s.useRef)(null),[o,l]=(0,s.useState)("idle"),c=(0,s.useRef)(null),d=(0,s.useRef)([]),u=(0,s.useRef)(null),p=(0,s.useRef)(null),f=(0,s.useRef)(null),g=(0,s.useRef)(null),m=(0,s.useRef)([]),h=(0,s.useRef)(0),k=(0,s.useRef)(0),x=(0,s.useRef)(0),b=(0,s.useRef)(0),y=(0,s.useCallback)(()=>
1{if(g.current&&(cancelAnimationFrame(g.current),g.current=null),c.current&&"inactive"!==c.current.state)try{c.current.stop()}catch{}u.current&&(u.current.getTracks().forEach(e=>e.stop()),u.current=null),f.current&&"closed"!==f.current.state&&(f.current.close().catch(()=>{}),f.current=null),c.current=null,p.current=null,d.current=[],m.current=[],h.current=0,k.current=0,x.current=0,b.current=0},[]),v=(0,s.useCallback)(async()=>{if("idle"!==o)throw new eC("Recorder is already active");try{let e=await navigator.mediaDevices.getUserMedia({audio:!0});u.current=e;let t=new AudioContext;f.current=t;let r=t.createMediaStreamSource(e),n=t.createAnalyser();n.fftSize=2048,r.connect(n),p.current=n;let s=MediaRecorder.isTypeSupported("audio/webm;codecs=opus")?"audio/webm;codecs=opus":MediaRecorder.isTypeSupported("audio/webm")?"audio/webm":MediaRecorder.isTypeSupported("audio/mp4")?"audio/mp4":"",a=new MediaRecorder(e,s?{mimeType:s}:{});c.current=a,d.current=[],a.ondataavailable=e=>{e.data.size>0&&d.current.push(e.data)},a.start(100),l("recording")}catch(e){if(y(),e instanceof Error&&"NotAllowedError"===e.name)throw new eC("Microphone permission denied");if(e instanceof Error&&"NotFoundError"===e.name)throw new eC("No microphone found");throw new eC(e instanceof Error?e.message:"Failed to start recording")}},[o,y]),w=(0,s.useCallback)(()=>new Promise((e,t)=>{let r=c.current;if(!r||"recording"!==o)return void t(new eC("No active recording"));l("processing"),r.onstop=()=>{let t=r.mimeType||"audio/webm",n=new Blob(d.current,{type:t});y(),l("idle"),e(n)},r.onerror=()=>{y(),l("idle"),t(new eC("Recording failed"))},r.stop()}),[o,y]);return(0,s.useEffect)(()=>{let e=a.current;if(!e)return;let t=e.getContext("2d");if(!t)return;let r=1/3,n=()=>{let s=e.getBoundingClientRect(),a=window.devicePixelRatio||1;(e.width!==s.width*a||e.height!==s.height*a)&&(e.width=s.width*a,e.height=s.height*a,t.scale(a,a));let i=Math.floor(s.width/3)+2;if(p.current&&"recording"===o){0===m.current.length&&(m.current=Array(i).fill(0)),b.current<1&&(b.current=Math.min(1,b.current+.03)),k.current+=r;let e=new Uint8Array(p.current.fftSize);p.current.getByteTimeDomainData(e);let t=(e=>{let t=0;for(let r=0;r<e.length;r++){let n=(e[r]??128)/128-1;t+=n*n}return Math.sqrt(t/e.length)})(e),n=t>x.current?.12:.08;x.current+=(t-x.current)*n,k.current>=3&&(k.current-=3,m.current.push(x.current),m.current.length>i&&(m.current=m.current.slice(-i)))}t.clearRect(0,0,s.width,s.height),t.fillStyle=getComputedStyle(e).color,t.globalAlpha=b.current;let l=s.height/2,c=s.height/2-2,d=m.current;if(d.length>0){let e=k.current;for(let r=0;r<d.length;r++){let n=Math.max(2,Math.min(4*(d[r]??0),1)*c*2),a=s.width-(d.length-r)*3-e,o=l-n/2;if(a+2>0&&a<s.width){let e=1;a<12?e=Math.max(0,a/12):a>s.width-12&&(e=Math.max(0,(s.width-a)/12)),t.globalAlpha=b.current*e,t.fillRect(a,o,2,n)}}}g.current=requestAnimationFrame(n)};return n(),()=>{g.current&&cancelAnimationFrame(g.current)}},[o]),(0,s.useEffect)(()=>y,[y]),(0,s.useImperativeHandle)(t,()=>({get state(){return o},start:v,stop:w,dispose:y}),[o,v,w,y]),(0,P.jsx)("div",{className:(0,i.QP)("cpk:w-full cpk:py-3 cpk:px-5",r),...n,children:(0,P.jsx)("canvas",{ref:a,className:"cpk:block cpk:w-full cpk:h-[26px]"})})});function eI(e){return!("function"!=typeof e&&(!e||"object"!=typeof e||!("$$typeof"in e)||s.isValidElement(e)))}ej.displayName="CopilotChatAudioRecorder";let eR=s.memo(s.forwardRef(function(e,t){let{$slot:r,$component:n,...a}=e;var o=null!==t?{...a,ref:t}:a;if("string"==typeof r){let e=o.className;return s.createElement(n,{...o,className:(0,i.QP)(e,r)})}return eI(r)?s.createElement(r,o):r&&"object"==typeof r&&!s.isValidElement(r)?s.createElement(n,{...o,...r}):s.createElement(n,o)}),(e,t)=>{if(e.$slot!==t.$slot||e.$component!==t.$component)return!1;let{$slot:r,$component:n,...s}=e,{$slot:a,$component:o,...i}=t;return Z(s,i)});function eN(e,t,r){return s.createElement(eR,{...r,$slot:e,$component:t})}function eE({mode:e="input",onSubmitMessage:t,onStop:r,isRunning:n=!1,onStartTranscribe:a,onCancelTranscribe:o,onFinishTranscribe:l,onFinishTranscribeWithAudio:u,onAddFile:p,onChange:f,value:g,toolsMenu:m,autoFocus:h=!1,positioning:k="static",keyboardHeight:x=0,containerRef:b,showDisclaimer:y,bottomAnchored:v=!1,textArea:w,sendButton:C,startTranscribeButton:j,cancelTranscribeButton:I,finishTranscribeButton:R,addMenuButton:N,audioRecorder:E,disclaimer:S,children:T,className:M,...A}
1){let z=void 0!==g,[$,O]=(0,s.useState)(()=>g??"");(0,s.useEffect)(()=>{z||void 0===g||O(g)},[z,g]);let L=z?g??"":$,[_,B]=(0,s.useState)("compact"),F=(0,s.useRef)(!1),U=(0,s.useRef)(null),D="input"===e&&"expanded"===_,[K,H]=(0,s.useState)(null),[W,Y]=(0,s.useState)(0),q=(0,s.useRef)(null),V=(0,s.useRef)(null),Q=(0,s.useRef)(null),J=(0,s.useRef)(null),G=(0,s.useRef)(null),X=(0,s.useRef)(null),Z=eo(),ee=Z?.labels??er,et=(0,s.useRef)(void 0),en=(0,s.useRef)(null),es=(0,s.useRef)({singleLineHeight:0,maxHeight:0,paddingLeft:0,paddingRight:0}),ea=(0,s.useRef)(null),ei=(0,s.useMemo)(()=>{let e=[],t=new Set,r=n=>{if("-"!==n){if(n.items&&n.items.length>0){for(let e of n.items)r(e);return}t.has(n.label)||(t.add(n.label),e.push(n))}};if(p&&r({label:ee.chatInputToolbarAddButtonLabel,action:p}),m&&m.length>0)for(let e of m)r(e);return e},[ee.chatInputToolbarAddButtonLabel,p,m]),ec=(0,s.useMemo)(()=>{if(null===K||0===ei.length)return[];let e=K.trim().toLowerCase();if(0===e.length)return ei;let t=[],r=[];for(let n of ei){let s=n.label.toLowerCase();s.startsWith(e)?t.push(n):s.includes(e)&&r.push(n)}return[...t,...r]},[ei,K]);(0,s.useEffect)(()=>{if(!h){et.current=Z?.isModalOpen;return}Z?.isModalOpen&&!et.current&&q.current?.focus({preventScroll:!0}),et.current=Z?.isModalOpen},[Z?.isModalOpen,h]),(0,s.useEffect)(()=>{0===ei.length&&null!==K&&H(null)},[ei.length,K]);let ed=(0,s.useRef)(null);(0,s.useEffect)(()=>{null!==K&&K!==ed.current&&ec.length>0&&Y(0),ed.current=K},[K,ec.length]),(0,s.useEffect)(()=>{if(null===K)return void Y(0);0===ec.length?Y(-1):(W<0||W>=ec.length)&&Y(0)},[K,ec,W]),(0,s.useEffect)(()=>{let t=G.current;t&&("transcribe"===e?t.start().catch(console.error):"recording"===t.state&&t.stop().catch(console.error))},[e]),(0,s.useEffect)(()=>{"input"!==e&&(B("compact"),H(null))},[e]);let eu=(0,s.useCallback)(e=>{if(0===ei.length)return void H(e=>null===e?e:null);if(e.startsWith("/")){let t=(e.split(/\r?\n/,1)[0]??"").slice(1);H(e=>e===t?e:t)}else H(e=>null===e?e:null)},[ei.length]);(0,s.useEffect)(()=>{eu(L)},[L,eu]);let ep=(0,s.useCallback)(()=>{z||O(""),f&&f("")},[z,f]),ef=(0,s.useCallback)(e=>{ep(),e.action?.(),H(null),Y(0),requestAnimationFrame(()=>{q.current?.focus()})},[ep]),eg=()=>{if(!t)return;let e=L.trim();e&&(t(e),z||O(""),f?.(""),q.current&&q.current.focus())},em=eN(w,eE.TextArea,{ref:q,value:L,onChange:e=>{let t=e.target.value;z||O(t),f?.(t),eu(t)},onKeyDown:t=>{if(!t.nativeEvent.isComposing&&229!==t.keyCode){if(null!==K&&"input"===e){if("ArrowDown"===t.key){ec.length>0&&(t.preventDefault(),Y(e=>0===ec.length?e:-1===e?0:(e+1)%ec.length));return}if("ArrowUp"===t.key){ec.length>0&&(t.preventDefault(),Y(e=>0===ec.length?e:-1===e||e<=0?ec.length-1:e-1));return}if("Enter"===t.key){let e=W>=0?ec[W]:void 0;if(e){t.preventDefault(),ef(e);return}}if("Escape"===t.key){t.preventDefault(),H(null);return}}"Enter"!==t.key||t.shiftKey||(t.preventDefault(),eh&&!ek?r?.():eg())}},onCompositionStart:()=>{eM.current=!0},onCompositionEnd:()=>{eM.current=!1},autoFocus:h,className:(0,i.QP)("cpk:w-full cpk:py-3",D?"cpk:px-5":"cpk:pr-5")}),eh="transcribe"!==e&&n,ek=L.trim().length>0&&!!t,ex=!!r,eb=eN(E,ej,{ref:G}),ey=eN(C,eE.SendButton,{onClick:()=>{if(eh)return void r?.();eg()},disabled:eh?!ex:!ek,children:eh&&ex?(0,P.jsx)(c.A,{className:"cpk:size-[18px] cpk:fill-current"}):void 0}),ev=eN(j,eE.StartTranscribeButton,{onClick:a}),ew=eN(I,eE.CancelTranscribeButton,{onClick:o}),eC=(0,s.useCallback)(async()=>{let e=G.current;if(e&&"recording"===e.state)try{let t=await e.stop();u&&await u(t)}catch(e){console.error("Failed to stop recording:",e)}l?.()},[l,u]),eI=eN(R,eE.FinishTranscribeButton,{onClick:eC}),eR=eN(N,eE.AddMenuButton,{disabled:"transcribe"===e,onAddFile:p,toolsMenu:m}),eS=eN(S,eE.Disclaimer,{}),eT=y??"absolute"===k;if(T)return(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:T({textArea:em,audioRecorder:eb,sendButton:ey,startTranscribeButton:ev,cancelTranscribeButton:ew,finishTranscribeButton:eI,addMenuButton:eR,disclaimer:eS,onSubmitMessage:t,onStop:r,isRunning:n,onStartTranscribe:a,onCancelTranscribe:o,onFinishTranscribe:l,onAddFile:p,mode:e,toolsMenu:m,autoFocus:h,positioning:k,keyboardHeight:x,showDisclaimer:eT,containerRef:b})});let eM=(0,s.useRef)(!1),eA=(0,s.useCallback)(()=>{let e=q.current;if(!e||eM.current)return;let t=e.value,r=e.style.height;e.style.height="auto";let n=window.getComputedStyle(e),s=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,o=parseFloat(n.paddingTop)||0,i=parseFloat(n.paddingBottom)||
10;e.value="";let l=e.scrollHeight;e.value=t;let c=(l-o-i)*5+o+i;es.current={singleLineHeight:l,maxHeight:c,paddingLeft:s,paddingRight:a},e.style.height=r,e.style.maxHeight=`${c}px`},[]),ez=(0,s.useCallback)(()=>{let e=q.current;if(!e)return 0;0===es.current.singleLineHeight&&eA();let{maxHeight:t}=es.current;t&&(e.style.maxHeight=`${t}px`),e.style.height="auto";let r=e.scrollHeight;return t?e.style.height=`${Math.min(r,t)}px`:e.style.height=`${r}px`,r},[eA]),e$=(0,s.useCallback)(e=>{B(t=>t===e?t:(F.current=!0,e))},[]),eO=(0,s.useCallback)(()=>{let e=V.current,t=Q.current,r=J.current;if(!e||!t||!r)return null;let n=window.getComputedStyle(e),s=parseFloat(n.paddingLeft)||0,a=parseFloat(n.paddingRight)||0,o=parseFloat(n.columnGap)||0,i=e.clientWidth-s-a;if(i<=0)return null;let l=Math.max(i-t.getBoundingClientRect().width-r.getBoundingClientRect().width-2*o,0);if(l<=0)return null;let c={compactWidth:l};return ea.current=c,c},[]),eL=(0,s.useCallback)(()=>{if("input"!==e)return void e$("compact");if("undefined"!=typeof window&&"function"==typeof window.matchMedia&&window.matchMedia("(max-width: 767px)").matches){ez(),e$("expanded");return}let t=q.current,r=V.current,n=Q.current,s=J.current;if(!t||!r||!n||!s)return;0===es.current.singleLineHeight&&eA();let a=ez(),o=es.current.singleLineHeight,i=L.includes("\n")||o>0&&a>o+1;if(!i){let e=ea.current??eO();if(e&&e.compactWidth>0){let r=Math.max(e.compactWidth-(es.current.paddingLeft||0)-(es.current.paddingRight||0),0);if(r>0){let e=window.getComputedStyle(t),n=e.font;if(!n){let{fontStyle:t,fontVariant:r,fontWeight:s,fontSize:a,lineHeight:o,fontFamily:i}=e;a&&i&&(n=`${t} ${r} ${s} ${a}/${o} ${i}`)}if(n?.trim()){let e=en.current??document.createElement("canvas");en.current||(en.current=e);let t=e.getContext("2d");if(t){t.font=n;let e=L.length>0?L.split("\n"):[""],s=0;for(let r of e){let e=t.measureText(r||" ");e.width>s&&(s=e.width)}s>r&&(i=!0)}}}}}e$(i?"expanded":"compact")},[ez,eA,e,L,eO,e$]);(0,s.useLayoutEffect)(()=>{eL()},[eL]),(0,s.useEffect)(()=>{if("undefined"==typeof ResizeObserver)return;let e=q.current,t=V.current,r=Q.current,n=J.current;if(!e||!t||!r||!n)return;let s=new Set([t,r,n]),a=new ResizeObserver(e=>{let t=!1;for(let r of e)if(s.has(r.target)){t=!0;break}(e=>{if(F.current){F.current=!1;return}if(e&&(ea.current=null),"undefined"==typeof window)return eL();null!==U.current&&cancelAnimationFrame(U.current),U.current=window.requestAnimationFrame(()=>{U.current=null,eL()})})(t)});return a.observe(t),a.observe(r),a.observe(n),a.observe(e),()=>{a.disconnect(),"undefined"!=typeof window&&null!==U.current&&(cancelAnimationFrame(U.current),U.current=null)}},[eL]);let e_=null!==K&&ei.length>0;(0,s.useEffect)(()=>{e_&&!(W<0)&&X.current?.querySelector(`[data-slash-index="${W}"]`)?.scrollIntoView({block:"nearest"})},[e_,W]);let eP=e_?(0,P.jsx)("div",{"data-testid":"copilot-slash-menu",role:"listbox","aria-label":"Slash commands",ref:X,className:"cpk:absolute cpk:bottom-full cpk:left-0 cpk:right-0 cpk:z-30 cpk:mb-2 cpk:max-h-64 cpk:overflow-y-auto cpk:rounded-lg cpk:border cpk:border-border cpk:bg-white cpk:shadow-lg cpk:dark:border-[#3a3a3a] cpk:dark:bg-[#1f1f1f]",style:{maxHeight:"200px"},children:0===ec.length?(0,P.jsx)("div",{className:"cpk:px-3 cpk:py-2 cpk:text-sm cpk:text-muted-foreground",children:"No commands found"}):ec.map((e,t)=>{let r=t===W;return(0,P.jsx)("button",{type:"button",role:"option","aria-selected":r,"data-active":r?"true":void 0,"data-slash-index":t,className:(0,i.QP)("cpk:w-full cpk:px-3 cpk:py-2 cpk:text-left cpk:text-sm cpk:transition-colors","cpk:hover:bg-muted cpk:dark:hover:bg-[#2f2f2f]",r?"cpk:bg-muted cpk:dark:bg-[#2f2f2f]":"cpk:bg-transparent"),onMouseEnter:()=>Y(t),onMouseDown:t=>{t.preventDefault(),ef(e)},children:e.label},`${e.label}-${t}`)})}):null,eB=(0,P.jsx)("div",{"data-testid":"copilot-chat-input",className:(0,i.QP)("copilotKitInput","cpk:flex cpk:w-full cpk:flex-col cpk:items-center cpk:justify-center","cpk:cursor-text","cpk:overflow-visible cpk:bg-clip-padding cpk:contain-inline-size","cpk:bg-white cpk:dark:bg-[#303030]","cpk:shadow-[0_4px_4px_0_#0000000a,0_0_1px_0_#0000009e] cpk:rounded-[28px]"),onClick:t=>{let r=t.target;"BUTTON"!==r.tagName&&!r.closest("button")&&q.current&&"input"===e&&q.current.focus()},"data-layout":D?"expanded":"compact",children:(0,P.jsxs)("div",{ref:V,className:(0,i.QP)("cpk:grid cpk:w-full cpk:gap-x-3 cpk:gap-y-3 cpk:px-3 cpk:py-2",D?"cpk:grid-cols-[auto_minmax(0,1fr)_auto] cpk:grid-rows-[auto_auto]":"cpk:grid-cols-[auto_minmax(0,1fr)_auto] cpk:items-center"),"data-layout":D?"expanded":"compact",children:[(0,P.jsx)("div",{ref:Q,className:(0,i.QP)("cpk:flex cpk:items-center",D?"cpk:row-start-2":"cpk:row-start-1","cpk:col-start-1"),children:eR}),(0,P.jsx)("div",{className:(0,i.QP)("cpk:relative cpk:flex cpk:min-w-0 cpk:flex-col cpk:min-h-[50px] cpk:justify-center",D?"cpk:col-span-3 cpk:row-start-1":"cpk:col-start-2 cpk:row-start-1"),children:"transcribe"===e?eb:"processing"===e?(0,P.jsx)("div",{className:"cpk:flex cpk:w-full cpk:items-center cpk:justify-center cpk:py-3 cpk:px-5",children:(0,P.jsx)(d.A,{className:"cpk:size-[26px] cpk:animate-spin cpk:text-muted-foreground"})}):(0,P.jsxs)(P.Fragment,{children:[em,eP]})}),(0,P.jsx)("div",{ref:J,className:(0,i.QP)("cpk:flex cpk:items-center cpk:justify-end cpk:gap-2",D?"cpk:col-start-3 cpk:row-start-2":"cpk:col-start-3 cpk:row-start-1"),children:"transcribe"===e?(0,P.jsxs)(P.Fragment,{children:[o&&ew,l&&eI]}):(0,P.jsxs)(P.Fragment,{children:[a&&ev,ey]})})]})});return(0,P.jsxs)("div",{"data-copilotkit":!0,ref:b,className:el("cpk:pointer-events-none cpk:relative cpk:z-20","absolute"===k&&"cpk:absolute cpk:bottom-0 cpk:left-0 cpk:right-0",M),style:{transform:x>0?`translateY(-${x}px)`:void 0,transition:"transform 0.2s ease-out",..."absolute"===k||v?{paddingBottom:"var(--copilotkit-license-banner-offset, 0px)"}:{}},...A,children:[(0,P.jsx)("div",{className:"cpk:max-w-3xl cpk:mx-auto cpk:py-0 cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-4 cpk:pointer-events-auto",children:eB}
1),eT&&eS]})}!function(e){e.SendButton=({className:e,children:t,...r})=>(0,P.jsx)("div",{className:"cpk:mr-[10px]",children:(0,P.jsx)(ed,{type:"button","data-testid":"copilot-send-button",variant:"chatInputToolbarPrimary",size:"chatInputToolbarIcon",className:e,...r,children:t??(0,P.jsx)(u.A,{className:"cpk:size-[18px]"})})});let t=e.ToolbarButton=({icon:e,labelKey:t,defaultClassName:r,className:n,...s})=>{let a=eo()?.labels??er;return(0,P.jsxs)(ep,{children:[(0,P.jsx)(ef,{asChild:!0,children:(0,P.jsx)(ed,{type:"button",variant:"chatInputToolbarSecondary",size:"chatInputToolbarIcon",className:(0,i.QP)(r,n),...s,children:e})}),(0,P.jsx)(eg,{side:"bottom",children:(0,P.jsx)("p",{children:a[t]})})]})};e.StartTranscribeButton=e=>(0,P.jsx)(t,{"data-testid":"copilot-start-transcribe-button",icon:(0,P.jsx)(p.A,{className:"cpk:size-[18px]"}),labelKey:"chatInputToolbarStartTranscribeButtonLabel",defaultClassName:"cpk:mr-2",...e}),e.CancelTranscribeButton=e=>(0,P.jsx)(t,{"data-testid":"copilot-cancel-transcribe-button",icon:(0,P.jsx)(f.A,{className:"cpk:size-[18px]"}),labelKey:"chatInputToolbarCancelTranscribeButtonLabel",defaultClassName:"cpk:mr-2",...e}),e.FinishTranscribeButton=e=>(0,P.jsx)(t,{"data-testid":"copilot-finish-transcribe-button",icon:(0,P.jsx)(g.A,{className:"cpk:size-[18px]"}),labelKey:"chatInputToolbarFinishTranscribeButtonLabel",defaultClassName:"cpk:mr-[10px]",...e}),e.AddMenuButton=({className:e,toolsMenu:t,onAddFile:r,disabled:n,...a})=>{let o=eo()?.labels??er,[l,c]=(0,s.useState)(!1);(0,s.useEffect)(()=>c(!0),[]);let d=(0,s.useMemo)(()=>{let e=[];
1if(r&&e.push({label:o.chatInputToolbarAddButtonLabel,action:r}),t&&t.length>0){for(let r of(e.length>0&&e.push("-"),t))if("-"===r){if(0===e.length||"-"===e[e.length-1])continue;e.push(r)}else e.push(r);for(;e.length>0&&"-"===e[e.length-1];)e.pop()}return e},[r,t,o.chatInputToolbarAddButtonLabel]),u=(0,s.useCallback)(e=>e.map((e,t)=>"-"===e?(0,P.jsx)(eb,{},`separator-${t}`):e.items&&e.items.length>0?(0,P.jsxs)(ey,{children:[(0,P.jsx)(ev,{children:e.label}),(0,P.jsx)(ew,{children:u(e.items)})]},`group-${t}`):(0,P.jsx)(ex,{onClick:e.action,children:e.label},`item-${t}`)),[]),p=d.length>0,f=(0,P.jsx)(ed,{type:"button","data-testid":"copilot-add-menu-button",variant:"chatInputToolbarSecondary",size:"chatInputToolbarIcon",className:(0,i.QP)("cpk:ml-1",e),disabled:n||!p,...a,children:(0,P.jsx)(m.A,{className:"cpk:size-[20px]"})});return l?(0,P.jsxs)(em,{children:[(0,P.jsxs)(ep,{children:[(0,P.jsx)(ef,{asChild:!0,children:(0,P.jsx)(eh,{asChild:!0,children:f})}),(0,P.jsx)(eg,{side:"bottom",children:(0,P.jsxs)("p",{className:"cpk:flex cpk:items-center cpk:gap-1 cpk:text-xs cpk:font-medium",children:[(0,P.jsx)("span",{children:"Add attachments"}),(0,P.jsx)("code",{className:"cpk:rounded cpk:bg-[#4a4a4a] cpk:px-1 cpk:py-[1px] cpk:font-mono cpk:text-[11px] cpk:text-white cpk:dark:bg-[#e0e0e0] cpk:dark:text-black",children:"/"})]})})]}),p&&(0,P.jsx)(ek,{side:"top",align:"start",children:u(d)})]}):f},e.TextArea=(0,s.forwardRef)(function({style:e,className:t,autoFocus:r,placeholder:n,...a},o){let l=(0,s.useRef)(null),c=eo()?.labels??er;return(0,s.useImperativeHandle)(o,()=>l.current),(0,s.useEffect)(()=>{r&&l.current?.focus({preventScroll:!0})},[r]),(0,P.jsx)("textarea",{ref:l,"data-testid":"copilot-chat-textarea",placeholder:n??c.chatInputPlaceholder,className:(0,i.QP)("cpk:bg-transparent cpk:outline-none cpk:antialiased cpk:font-regular cpk:leading-relaxed cpk:text-[16px] cpk:placeholder:text-[#00000077] cpk:dark:placeholder:text-[#fffc]",t),style:{overflow:"auto",resize:"none",...e},rows:1,...a})}),e.AudioRecorder=ej,e.Disclaimer=({className:e,...t})=>{let r=eo()?.labels??er;return(0,P.jsx)("div",{className:el("cpk:text-center cpk:text-xs cpk:text-muted-foreground cpk:py-3 cpk:px-4 cpk:max-w-3xl cpk:mx-auto",e),...t,children:r.chatDisclaimerText})}}(eE||(eE={})),eE.TextArea.displayName="CopilotChatInput.TextArea",eE.SendButton.displayName="CopilotChatInput.SendButton",eE.ToolbarButton.displayName="CopilotChatInput.ToolbarButton",eE.StartTranscribeButton.displayName="CopilotChatInput.StartTranscribeButton",eE.CancelTranscribeButton.displayName="CopilotChatInput.CancelTranscribeButton",eE.FinishTranscribeButton.displayName="CopilotChatInput.FinishTranscribeButton",eE.AddMenuButton.displayName="CopilotChatInput.AddMenuButton",eE.Disclaimer.displayName="CopilotChatInput.Disclaimer";var eS=eE;let eT=!1,eM=s.memo(function({toolCall:e,toolMessage:t,RenderComponent:r,isExecuting:n}){let o=(0,s.useMemo)(()=>(0,T.j)(e.function.arguments),[e.function.arguments]),i=e.function.name;return t?(0,P.jsx)(r,{name:i,toolCallId:e.id,args:o,status:a.t4.Complete,result:t.content}):n?(0,P.jsx)(r,{name:i,toolCallId:e.id,args:o,status:a.t4.Executing,result:void 0}):(0,P.jsx)(r,{name:i,toolCallId:e.id,args:o,status:a.t4.InProgress,result:void 0})},(e,t)=>e.toolCall.id===t.toolCall.id&&e.toolCall.function.name===t.toolCall.function.name&&e.toolCall.function.arguments===t.toolCall.function.arguments&&e.toolMessage?.content===t.toolMessage?.content&&e.isExecuting===t.isExecuting&&e.RenderComponent===t.RenderComponent);function eA(){let{copilotkit:e,executingToolCallIds:t}=(0,W.kr)(),r=eo()?.agentId??E.kv,n=(0,s.useSyncExternalStore)(t=>e.subscribe({onRenderToolCallsChanged:t}).unsubscribe,()=>e.renderToolCalls,()=>e.renderToolCalls);return(0,s.useCallback)(({toolCall:e,toolMessage:s})=>{let a=n.filter(t=>t.name===e.function.name),o=a.find(e=>e.agentId===r)||a.find(e=>!e.agentId)||a[0]||n.find(e=>"*"===e.name);if(!o)return null;let i=o.render;return(0,P.jsx)(eM,{toolCall:e,toolMessage:s,RenderComponent:i,isExecuting:t.has(e.id)},e.id)},[n,t,r])}let ez=({core:e,openRequest:t,...a})=>{let[o,i]=s.useState(null),l=s.useRef(null);return(s.useEffect(()=>{let e=!0;return Promise.all([r.e(3161),r.e(3239)]).then(r.bind(r,65672)).then(t=>{t.defineWebInspector?.();let a=(0,q.a)({tagName:t.WEB_INSPECTOR_TAG,elementClass:t.WebInspectorElement,react:n||(n=r.t(s,2))});e&&i(()=>a)}),()=>{e=!1}},[]),s.useEffect(()=>{t&&l.current?.openInspector("message_toolbar",t)},[o,t]),o)?(0,P.jsx)(o,{ref:l,...a,core:e??null}):null};ez.displayName="CopilotKitInspector";let e$=s.createContext({isLocalInspectorEnabled:!1,openInspector:()=>void 0}),eO=e$.Provider,eL="--copilotkit-license-banner-offset",e_={base:{position:"fixed",bottom:"8px",left:"50%",transform:"translateX(-50%)",zIndex:99999,display:"inline-flex",alignItems:"center",gap:"12px",whiteSpace:"nowrap",padding:"8px 16px",fontSize:"13px",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif",borderRadius:"6px",boxShadow:"0 2px 8px rgba(0, 0, 0, 0.15)"},info:{backgroundColor:"#eff6ff",border:"1px solid #93c5fd",color:"#1e40af"},warning:{backgroundColor:"#fffbeb",border:"1px solid #fbbf24",color:"#92400e"},critical:{backgroundColor:"#fef2f2",border:"1px solid #fca5a5",color:"#991b1b"}};function eP({severity:e,message:t,actionLabel:r,actionUrl:n,onDismiss:a}){return(0,s.useEffect)(()=>
1{if("undefined"==typeof document)return;let e=document.documentElement;return e.style.setProperty(eL,"52px"),()=>{e.style.removeProperty(eL)}},[]),(0,P.jsxs)("div",{style:{...e_.base,...function(e){switch(e){case"warning":return e_.warning;case"critical":return e_.critical;default:return e_.info}}(e)},children:[(0,P.jsx)("span",{children:t}),(0,P.jsxs)("div",{style:{display:"flex",gap:"8px",alignItems:"center"},children:[(0,P.jsx)("a",{href:n,target:"_blank",rel:"noopener noreferrer",style:{fontWeight:600,textDecoration:"underline",color:"inherit"},children:r}),a&&(0,P.jsx)("button",{onClick:a,style:{background:"none",border:"none",cursor:"pointer",color:"inherit",fontSize:"16px"},children:"\xd7"})]})]})}function eB({type:e,featureName:t,expiryDate:r,graceRemaining:n,onDismiss:s}){switch(e){case"no_license":return(0,P.jsx)(eP,{severity:"info",message:"Powered by CopilotKit",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing",onDismiss:s});case"feature_unlicensed":return(0,P.jsx)(eP,{severity:"warning",message:`â The "${t}" feature requires a CopilotKit license.`,actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing",onDismiss:s});case"expiring":return(0,P.jsx)(eP,{severity:"warning",message:`Your CopilotKit license expires in ${n} day${1!==n?"s":""}. Please renew.`,actionLabel:"Renew",actionUrl:"https://dashboard.operations.copilotkit.ai",onDismiss:s});case"expired":return(0,P.jsx)(eP,{severity:"critical",message:`Your CopilotKit license expired${r?` on ${r}`:""}. Please renew at copilotkit.ai/pricing`,actionLabel:"Renew now",actionUrl:"https://copilotkit.ai/pricing",onDismiss:s});case"invalid":return(0,P.jsx)(eP,{severity:"critical",message:"Invalid CopilotKit license token. Please check your configuration.",actionLabel:"Get a license",actionUrl:"https://copilotkit.ai/pricing",onDismiss:s});default:return null}}function eF({featureName:e}){return(0,P.jsxs)("div",{style:{padding:"8px 12px",backgroundColor:"#fffbeb",border:"1px solid #fbbf24",borderRadius:"6px",fontSize:"13px",color:"#92400e",fontFamily:"-apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif"},children:['â The "',e,'" feature requires a CopilotKit license.'," ",(0,P.jsx)("a",{href:"https://copilotkit.ai/pricing",target:"_blank",rel:"noopener noreferrer",style:{color:"#b45309",textDecoration:"underline"},children:"Get one at copilotkit.ai/pricing"})]})}async function eU({host:e,agent:t,capturedThreadId:r}){let n=t.threadId||"default",s=r||"default";return n===s?e.runAgent({agent:t}):(console.warn(`[MCPAppsRenderer] ui/message follow-up dropped: the thread changed (${s} â ${n}) between enqueue and execution, so running it would leak into the now-foreground thread.`),{result:void 0,newMessages:[]})}let eD=new class{constructor(){this.queues=new Map,this.processing=new Map}async enqueue(e,t){let r=e.threadId||"default";return new Promise((n,s)=>{let a=this.queues.get(r);a||(a=[],this.queues.set(r,a)),a.push({execute:t,resolve:n,reject:s}),this.processQueue(r,e)})}async processQueue(e,t){if(!this.processing.get(e)){this.processing.set(e,!0);try{let r=this.queues.get(e);if(!r)return;for(;r.length>0;){let e=r[0];try{await this.waitForAgentIdle(t);let r=await e.execute();e.resolve(r)}catch(t){e.reject(t instanceof Error?t:Error(String(t)))}r.shift()}}finally{this.processing.set(e,!1)}}}waitForAgentIdle(e){return new Promise(t=>{if(!e.isRunning)return void t();let r=!1,n=()=>{r||(r=!0,clearInterval(a),s.unsubscribe(),t())},s=e.subscribe({onRunFinalized:n,onRunFailed:n}),a=setInterval(()=>{e.isRunning||n()},500)})}},eK=Y.Ik({result:Y.Ik({content:Y.YO(Y.bz()).optional(),structuredContent:Y.bz().optional(),isError:Y.zM().optional()}),resourceUri:Y.Yj(),serverHash:Y.Yj(),serverId:Y.Yj().optional(),toolInput:Y.g1(Y.Yj(),Y.L5()).optional()}),eH=function({content:e,agent:t}){let{copilotkit:r}=(0,W.kr)(),n=(0,s.useRef)(null),a=(0,s.useRef)(null),[o,i]=(0,s.useState)(!1),[l,c]=(0,s.useState)(null),[d,u]=(0,s.useState)(!0),[p,f]=(0,s.useState)({}),[g,m]=(0,s.useState)(null),h=(0,s.useRef)(e);h.current=e;let k=(0,s.useRef)(t);k.current=t;let x=(0,s.useRef)({inProgress:!1,promise:null,resourceUri:null}),b=(0,s.useCallback)(e=>{a.current?.contentWindow&&(console.log("[MCPAppsRenderer] Sending to iframe:",e),a.current.contentWindow.postMessage(e,"*"))},[]),y=(0,s.useCallback)((e,t)=>{b({jsonrpc:"2.0",id:e,result:t})},[b]),v=(0,s.useCallback)((e,t,r)=>{b({jsonrpc:"2.0",id:e,error:{code:t,message:r}})},[b]),w=(0,s.useCallback)((e,t)=>{b({jsonrpc:"2.0",method:e,params:t||{}})},[b]);(0,s.useEffect)(()=>{let{resourceUri:r,serverHash:n,serverId:s}=e;if(x.current.inProgress&&x.current.resourceUri===r)return void x.current.promise?.then(e=>{e&&(m(e),u(!1))}).catch(e=>{c(e instanceof Error?e:Error(String(e))),u(!1)});if(!t){c(Error("No agent available to fetch resource")),u(!1);return}x.current.inProgress=!0,x.current.resourceUri=r;let a=(async()=>{try{let e=(await eD.enqueue(t,()=>t.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:n,serverId:s,method:"resources/read",params:{uri:r}}}}))).result?.contents?.[0];if(!e)throw Error("No resource content in response");return e}catch(e){throw console.error("[MCPAppsRenderer] Failed to fetch resource:",e),e}finally{x.current.inProgress=!1}})();x.current.promise=a,a.then(e=>{e&&(m(e),u(!1))}).catch(e=>{c(e instanceof Error?e:Error(String(e))),u(!1)})},[t,e]),(0,s.useEffect)(()=>
1{if(d||!g)return;let e=n.current;if(!e)return;let t=!0,s=null,o=null,l=null;return(async()=>{try{let n,c=document.createElement("iframe");l=c,c.style.width="100%",c.style.height="100px",c.style.border="none",c.style.backgroundColor="transparent",c.style.display="block",c.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"),c.setAttribute("data-testid","mcp-app-iframe"),c.setAttribute("title","Interactive MCP application");let d=new Promise(e=>{o=t=>{t.source===c.contentWindow&&t.data?.method==="ui/notifications/sandbox-proxy-ready"&&(o&&(window.removeEventListener("message",o),o=null),e())},window.addEventListener("message",o)});if(!t){o&&(window.removeEventListener("message",o),o=null);return}let u=g._meta?.ui?.csp?.resourceDomains;if(c.srcdoc=function(e){let t=e?.length?" "+e.join(" "):"";return`<!doctype html> 2<html> 3<head> 4<meta charset="utf-8" /> 5<meta http-equiv="Content-Security-Policy" content="default-src 'self'; img-src * data: blob: 'unsafe-inline'; media-src * blob: data:; font-src * blob: data:; script-src ${"'self' 'wasm-unsafe-eval' 'unsafe-inline' 'unsafe-eval' blob: data: http://localhost:* https://localhost:*"+t}; style-src * blob: data: 'unsafe-inline'; connect-src *; frame-src ${"* blob: data: http://localhost:* https://localhost:*"+t}; base-uri 'self';" /> 6<style>html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden}*{box-sizing:border-box}iframe{background-color:transparent;border:none;padding:0;overflow:hidden;width:100%;height:100%}</style> 7</head> 8<body> 9<script> 10if(window.self===window.top){throw new Error("This file must be used in an iframe.")} 11const inner=document.createElement("iframe"); 12inner.style="width:100%;height:100%;border:none;"; 13inner.setAttribute("sandbox","allow-scripts allow-same-origin allow-forms"); 14document.body.appendChild(inner); 15window.addEventListener("message",async(event)=>{ 16if(event.source===window.parent){ 17if(event.data&&event.data.method==="ui/notifications/sandbox-resource-ready"){ 18const{html,sandbox}=event.data.params; 19if(typeof sandbox==="string")inner.setAttribute("sandbox",sandbox); 20if(typeof html==="string")inner.srcdoc=html; 21}else if(inner&&inner.contentWindow){ 22inner.contentWindow.postMessage(event.data,"*"); 23} 24}else if(event.source===inner.contentWindow){ 25window.parent.postMessage(event.data,"*"); 26} 27}); 28window.parent.postMessage({jsonrpc:"2.0",method:"ui/notifications/sandbox-proxy-ready",params:{}},"*"); 29</script> 30</body> 31</html>`}(u),a.current=c,e.appendChild(c),await d,!t)return;if(console.log("[MCPAppsRenderer] Sandbox proxy ready"),s=async e=>{if(e.source!==c.contentWindow)return;let n=e.data;if(n&&"object"==typeof n&&"2.0"===n.jsonrpc){if(console.log("[MCPAppsRenderer] Received from iframe:",n),"id"in n&&"method"in n)switch(n.method){case"ui/initialize":y(n.id,{protocolVersion:"2025-06-18",hostInfo:{name:"CopilotKit MCP Apps Host",version:"1.0.0"},hostCapabilities:{openLinks:{},logging:{}},hostContext:{theme:"light",platform:"web"}});break;case"ui/message":{let e=k.current;if(!e){console.warn("[MCPAppsRenderer] ui/message: No agent available"),y(n.id,{isError:!1});break}try{let t=n.params,s=t.role||"user",a=t.content?.filter(e=>"text"===e.type&&e.text).map(e=>e.text).join("\n")||"";if(a&&e.addMessage({id:crypto.randomUUID(),role:s,content:a}),y(n.id,{isError:!1}),(t.followUp??"user"===s)&&a){let t=e.threadId||"default";eD.enqueue(e,()=>eU({host:r,agent:e,capturedThreadId:t})).catch(e=>console.error("[MCPAppsRenderer] ui/message agent run failed:",e))}}catch(e){console.error("[MCPAppsRenderer] ui/message error:",e),y(n.id,{isError:!0})}break}case"ui/open-link":{let e=n.params?.url;e?(window.open(e,"_blank","noopener,noreferrer"),y(n.id,{isError:!1})):v(n.id,-32602,"Missing url parameter");break}case"tools/call":{let{serverHash:e,serverId:t}=h.current,r=k.current;if(!e){v(n.id,-32603,"No server hash available for proxying");break}if(!r){v(n.id,-32603,"No agent available for proxying");break}try{let s=await eD.enqueue(r,()=>r.runAgent({forwardedProps:{__proxiedMCPRequest:{serverHash:e,serverId:t,method:"tools/call",params:n.params}}}));y(n.id,s.result||{})}catch(e){console.error("[MCPAppsRenderer] tools/call error:",e),v(n.id,-32603,String(e))}break}
31default:v(n.id,-32601,`Method not found: ${n.method}`)}if(!("id"in n)&&"method"in n)switch(n.method){case"ui/notifications/initialized":console.log("[MCPAppsRenderer] Inner iframe initialized"),t&&i(!0);break;case"ui/notifications/size-changed":{let{width:e,height:r}=n.params||{};console.log("[MCPAppsRenderer] Size change:",{width:e,height:r}),t&&f({width:"number"==typeof e?e:void 0,height:"number"==typeof r?r:void 0});break}case"notifications/message":console.log("[MCPAppsRenderer] App log:",n.params)}}},window.addEventListener("message",s),g.text)n=g.text;else if(g.blob)n=atob(g.blob);else throw Error("Resource has no text or blob content");w("ui/notifications/sandbox-resource-ready",{html:n})}catch(e){console.error("[MCPAppsRenderer] Setup error:",e),t&&c(e instanceof Error?e:Error(String(e)))}})(),()=>{t=!1,o&&(window.removeEventListener("message",o),o=null),s&&window.removeEventListener("message",s),l&&(l.remove(),l=null),a.current=null}},[d,g,w,y,v]),(0,s.useEffect)(()=>{a.current&&(void 0!==p.width&&(a.current.style.minWidth=`min(${p.width}px, 100%)`,a.current.style.width="100%"),void 0!==p.height&&(a.current.style.height=`${p.height}px`))},[p]),(0,s.useEffect)(()=>{o&&e.toolInput&&(console.log("[MCPAppsRenderer] Sending tool input:",e.toolInput),w("ui/notifications/tool-input",{arguments:e.toolInput}))},[o,e.toolInput,w]),(0,s.useEffect)(()=>{o&&e.result&&(console.log("[MCPAppsRenderer] Sending tool result:",e.result),w("ui/notifications/tool-result",e.result))},[o,e.result,w]);let C=g?._meta?.ui?.prefersBorder===!0?{borderRadius:"8px",backgroundColor:"#f9f9f9",border:"1px solid #e0e0e0"}:{};return(0,P.jsxs)("div",{ref:n,style:{width:"100%",height:p.height?`${p.height}px`:"auto",minHeight:"100px",overflow:"hidden",position:"relative",...C},children:[d&&(0,P.jsx)("div",{style:{padding:"1rem",color:"#666"},children:"Loading..."}),l&&(0,P.jsxs)("div",{style:{color:"red",padding:"1rem"},children:["Error: ",l.message]})]})},eW=(0,s.createContext)([]),eY=Y.Ik({initialHeight:Y.ai().optional(),generating:Y.zM().optional(),css:Y.Yj().optional(),cssComplete:Y.zM().optional(),html:Y.YO(Y.Yj()).optional(),htmlComplete:Y.zM().optional(),jsFunctions:Y.Yj().optional(),jsFunctionsComplete:Y.zM().optional(),jsExpressions:Y.YO(Y.Yj()).optional(),jsExpressionsComplete:Y.zM().optional()}),eq=Y.Ik({initialHeight:Y.ai().optional(),placeholderMessages:Y.YO(Y.Yj()).optional(),css:Y.Yj().optional(),html:Y.Yj().optional(),jsFunctions:Y.Yj().optional(),jsExpressions:Y.YO(Y.Yj()).optional()}),eV=function({content:e}){var t;let r=(0,s.useRef)(e);r.current=e;let[n,a]=(0,s.useState)(e),o=(0,s.useRef)(n),i=(0,s.useRef)(null);o.current!==e&&(t=o.current,e.cssComplete&&(!t||!t.cssComplete)||e.htmlComplete||!1===e.generating||e.jsFunctions&&(!t||!t.jsFunctions)||(e.jsExpressions?.length??0)>(t?.jsExpressions?.length??0)||e.html?.length&&(!t||!t.html?.length)||0)&&(null!==i.current&&(clearTimeout(i.current),i.current=null),o.current=e,a(e));let l=(0,s.useCallback)(()=>{i.current=null;let e=r.current;o.current=e,a(e)},[]);return(0,s.useEffect)(()=>{o.current!==e&&null===i.current&&(i.current=setTimeout(l,1e3))},[e,l]),(0,s.useEffect)(()=>()=>{null!==i.current&&clearTimeout(i.current)},[]),(0,P.jsx)(eQ,{content:n})},eQ=s.memo(function({content:e}){let t=e.initialHeight??200,[n,a]=(0,s.useState)(null),o=(0,s.useContext)(eW),i=(0,s.useMemo)(()=>{let e={};for(let t of o)e[t.name]=t.handler;return e},[o]),l=e.htmlComplete&&e.html?.length?e.html.join(""):void 0,c=e.cssComplete?e.css:void 0,d=!!e.cssComplete,u=!e.htmlComplete&&e.html?.length?e.html.join(""):void 0,p=u?function(e){let t=e,r=(t=(t=(t=(t=t.replace(/<[^>]*$/,"")).replace(/<(style|script|head)\b[^>]*>[\s\S]*?<\/\1>/gi,"")).replace(/<(style|script|head)\b[^>]*>[\s\S]*$/gi,"")).replace(/&[a-zA-Z0-9#]*$/,"")).match(/<body[^>]*>([\s\S]*)/i);return r&&(t=(t=r[1]).replace(/<\/body>[\s\S]*/i,"")),t}(u):void 0,f=u?function(e){let t=e.match(/<style\b[^>]*>[\s\S]*?<\/style>/gi);return t?t.join(""):""}(u):"",g=d&&!!p?.trim(),m=!!l||g,h=(0,s.useRef)(null),k=(0,s.useRef)(null),x=(0,s.useRef)(null),b=(0,s.useRef)(!1),y=(0,s.useRef)(!1),v=(0,s.useRef)(0),w=(0,s.useRef)([]),C=(0,s.useRef)(!1);(0,s.useEffect)(()=>{let e=h.current;if(!e||l||!g||x.current)return;let t=!1;return r.e(8721).then(r.t.bind(r,18721,19)).then(r=>{if(t)return;
31let n=(r.default?.default??r.default).create({},{frameContainer:e,frameContent:"<head></head><body></body>",allowAdditionalAttributes:""});x.current=n,n.iframe.style.width="100%",n.iframe.style.height="100%",n.iframe.style.border="none",n.iframe.style.backgroundColor="transparent",n.promise.then(()=>{if(t)return;b.current=!0,n.run(` 32 var s = document.createElement('style'); 33 s.textContent = 'html, body { overflow: hidden !important; }'; 34 document.head.appendChild(s); 35 `);let e=[];c&&e.push(`<style>${c}</style>`),f&&e.push(f),e.length&&n.run(`document.head.innerHTML = ${JSON.stringify(e.join(""))}`),p&&n.run(`document.body.innerHTML = ${JSON.stringify(p)}`)})}).catch(e=>{console.error("[OpenGenerativeUI] Failed to load sandbox module:",e)}),()=>{t=!0}},[g,l]),(0,s.useEffect)(()=>{if(!x.current||!b.current)return;let e=[];c&&e.push(`<style>${c}</style>`),f&&e.push(f),e.length&&x.current.run(`document.head.innerHTML = ${JSON.stringify(e.join(""))}`),p&&x.current.run(`document.body.innerHTML = ${JSON.stringify(p)}`)},[p,f,c]),(0,s.useEffect)(()=>{let e=h.current;if(!e||!l)return;x.current&&(x.current.destroy(),x.current=null,b.current=!1);let t=!1;v.current=0,C.current=!1,y.current=!1,w.current=[];let n=c?function(e,t){let r=e.indexOf("</head>");return -1!==r?e.slice(0,r)+`<style>${t}</style>`+e.slice(r):`<head><style>${t}</style></head>${e}`}(l,c):l;return r.e(8721).then(r.t.bind(r,18721,19)).then(r=>{if(t)return;
35let s=(r.default?.default??r.default).create(i,{frameContainer:e,frameContent:/<head[\s>]/i.test(n)?n:`<head></head>${n}`,allowAdditionalAttributes:""});k.current=s,s.iframe.style.width="100%",s.iframe.style.height="100%",s.iframe.style.border="none",s.iframe.style.backgroundColor="transparent",s.promise.then(()=>{if(t)return;y.current=!0,s.run(` 36 var s = document.createElement('style'); 37 s.textContent = 'html, body { overflow: hidden !important; }'; 38 document.head.appendChild(s); 39 `);let e=w.current;for(let t of(w.current=[],e))s.run(t)})}).catch(e=>{console.error("[OpenGenerativeUI] Failed to load sandbox module:",e)}),()=>{t=!0,x.current&&(x.current.destroy(),x.current=null,b.current=!1),k.current&&(k.current.destroy(),k.current=null),y.current=!1,a(null)}},[l,c,i]),(0,s.useEffect)(()=>{if(!e.jsFunctions||C.current)return;C.current=!0;let t=k.current;y.current&&t?t.run(e.jsFunctions):w.current.push(e.jsFunctions)},[e.jsFunctions]),(0,s.useEffect)(()=>{let t=e.jsExpressions;if(!t||0===t.length)return;let r=v.current;if(r>=t.length)return;let n=t.slice(r);v.current=t.length;let s=k.current;y.current&&s?(async()=>{for(let e of n)await s.run(e)})():w.current.push(...n)},[e.jsExpressions?.length]);let j=!1===e.generating;(0,s.useEffect)(()=>{let e=k.current;if(!j||!e)return;let t=!1,r=n=>{t||n.source===e.iframe.contentWindow&&n.data?.type==="__ck_resize"&&(t=!0,a(n.data.height),window.removeEventListener("message",r))};window.addEventListener("message",r);let n=` 40 (function() { 41 var s = document.createElement('style'); 42 s.textContent = 'body { height: auto !important; min-height: 0 !important; }'; 43 document.head.appendChild(s); 44 var h = document.body.scrollHeight; 45 var cs = getComputedStyle(document.body); 46 h += parseFloat(cs.marginTop) || 0; 47 h += parseFloat(cs.marginBottom) || 0; 48 s.remove(); 49 parent.postMessage({ type: "__ck_resize", height: Math.ceil(h) }, "*"); 50 })(); 51 `;return y.current?e.run(n):w.current.push(n),()=>{window.removeEventListener("message",r)}},[j]);let I=!1!==e.generating;return(0,P.jsx)("div",{ref:h,style:{position:"relative",width:"100%",height:`${n??t}px`,borderRadius:"8px",backgroundColor:m?"transparent":"#f5f5f5",border:m?"none":"1px solid #e0e0e0",display:m?"block":"flex",alignItems:m?void 0:"center",justifyContent:m?void 0:"center",overflow:"hidden"},children:I&&(0,P.jsxs)("div",{style:{position:"absolute",inset:0,zIndex:10,pointerEvents:"all",backgroundColor:"rgba(255, 255, 255, 0.5)",display:"flex",alignItems:"center",justifyContent:"center"},children:[(0,P.jsxs)("svg",{width:"48",height:"48",viewBox:"0 0 24 24",fill:"none",style:{animation:"ck-spin 1s linear infinite"},children:[(0,P.jsx)("circle",{cx:"12",cy:"12",r:"10",stroke:"#e0e0e0",strokeWidth:"3"}),(0,P.jsx)("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#999",strokeWidth:"3",strokeLinecap:"round"})]}),(0,P.jsx)("style",{children:"@keyframes ck-spin { to { transform: rotate(360deg) } }"})]})})},(e,t)=>e.content===t.content),eJ=function(e){let[t,r]=(0,s.useState)(0),n=(0,s.useRef)(0),o=e.args.placeholderMessages;return((0,s.useEffect)(()=>{if(!o||0===o.length||(o.length!==n.current&&(n.current=o.length,r(o.length-1)),e.status===a.t4.Complete))return;let t=setInterval(()=>{r(e=>(e+1)%o.length)},5e3);return()=>clearInterval(t)},[o?.length,e.status]),e.status!==a.t4.Complete&&o&&0!==o.length)?(0,P.jsx)("div",{style:{padding:"8px 12px",color:"#999",fontSize:"14px"},children:o[t]??o[0]}):null},eG={status:Y.k5(["building","retrying","failed"]).optional(),attempt:Y.ai().optional(),maxAttempts:Y.ai().optional(),progressTokens:Y.ai().optional(),error:Y.Yj().optional(),errors:Y.YO(Y.bz()).optional(),attempts:Y.YO(Y.bz()).optional(),debugExposure:Y.k5(["hidden","collapsed","verbose"]).optional()};function eX({content:e}){return(0,P.jsx)(e1,{label:"Building interface",tokens:"number"==typeof e?.progressTokens?e.progressTokens:void 0})}function eZ({content:e,showAfterMs:t,showAfterAttempts:r,debugExposure:n}){let a="number"==typeof e?.attempt?e.attempt:void 0,o="number"==typeof e?.maxAttempts?e.maxAttempts:void 0,i=void 0!==a&&a>
51=r,[l,c]=(0,s.useState)(i);(0,s.useEffect)(()=>{if(i)return void c(!0);let e=setTimeout(()=>c(!0),t);return()=>clearTimeout(e)},[i,t]);let d="number"==typeof e?.progressTokens?e.progressTokens:void 0;if(!l)return(0,P.jsx)(e1,{label:"Building interface",tokens:d});let u=void 0!==a&&void 0!==o?`Retrying generation⦠(${a}/${o} attempts)`:"Retrying generationâ¦",p=Array.isArray(e?.errors)?e.errors:[];return(0,P.jsx)(e1,{label:u,tokens:d,children:"hidden"!==n&&p.length>0&&(0,P.jsx)(e2,{label:"validation issues",open:"verbose"===n,payload:{attempt:e?.attempt,errors:p}})})}function e0({content:e,debugExposure:t}){return(0,P.jsxs)("div",{className:"cpk:rounded-lg cpk:border cpk:border-amber-200 cpk:bg-amber-50 cpk:p-3 cpk:text-sm cpk:text-amber-800",children:[(0,P.jsx)("div",{className:"cpk:font-medium",children:"Couldn't generate the UI"}),(0,P.jsx)("div",{className:"cpk:mt-1 cpk:text-xs cpk:text-amber-700",children:"Something went wrong rendering this. You can keep chatting and try again."}),"hidden"!==t&&(0,P.jsx)(e2,{label:"developer details",open:"verbose"===t,payload:{error:e?.error,attempts:e?.attempts}})]})}function e1({label:e,tokens:t,children:r}){let n=null==t?3:t<50?0:t<200?1:t<400?2:3;return(0,P.jsxs)("div",{style:{margin:"12px 0",maxWidth:320},children:[(0,P.jsxs)("div",{style:{position:"relative",overflow:"hidden",borderRadius:12,border:"1px solid rgba(228,228,231,0.8)",backgroundColor:"#fff",boxShadow:"0 1px 2px rgba(0,0,0,0.04)",padding:"16px 18px 14px"},children:[(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:8,marginBottom:12},children:[(0,P.jsxs)("div",{style:{display:"flex",gap:4},children:[(0,P.jsx)(e4,{}),(0,P.jsx)(e4,{}),(0,P.jsx)(e4,{})]}),(0,P.jsx)(e3,{w:64,h:6,bg:"#e4e4e7",opacity:n>=1?1:.4,transition:"opacity 0.5s"})]}),(0,P.jsxs)("div",{style:{display:"grid",gap:7},children:[(0,P.jsxs)(e6,{show:n>=0,children:[(0,P.jsx)(e3,{w:36,h:7,bg:"rgba(147,197,253,0.7)",anim:0}),(0,P.jsx)(e3,{w:80,h:7,bg:"rgba(219,234,254,0.8)",anim:.2})]}),(0,P.jsxs)(e6,{show:n>=0,delay:.1,children:[(0,P.jsx)(e5,{}),(0,P.jsx)(e4,{}),(0,P.jsx)(e3,{w:100,h:7,bg:"rgba(24,24,27,0.2)",anim:.3})]}),(0,P.jsxs)(e6,{show:n>=1,delay:.15,children:[(0,P.jsx)(e5,{}),(0,P.jsx)(e3,{w:48,h:7,bg:"rgba(24,24,27,0.15)",anim:.1}),(0,P.jsx)(e3,{w:40,h:7,bg:"rgba(153,246,228,0.6)",anim:.5}),(0,P.jsx)(e3,{w:56,h:7,bg:"rgba(147,197,253,0.6)",anim:.3})]}),(0,P.jsxs)(e6,{show:n>=1,delay:.2,children:[(0,P.jsx)(e5,{}),(0,P.jsx)(e4,{}),(0,P.jsx)(e3,{w:60,h:7,bg:"rgba(24,24,27,0.15)",anim:.4})]}),(0,P.jsxs)(e6,{show:n>=2,delay:.25,children:[(0,P.jsx)(e3,{w:40,h:7,bg:"rgba(153,246,228,0.5)",anim:.2}),(0,P.jsx)(e4,{}),(0,P.jsx)(e3,{w:48,h:7,bg:"rgba(24,24,27,0.15)",anim:.6}),(0,P.jsx)(e3,{w:64,h:7,bg:"rgba(147,197,253,0.5)",anim:.1})]}),(0,P.jsxs)(e6,{show:n>=2,delay:.3,children:[(0,P.jsx)(e3,{w:36,h:7,bg:"rgba(147,197,253,0.6)",anim:.5}),(0,P.jsx)(e3,{w:36,h:7,bg:"rgba(24,24,27,0.12)",anim:.7})]}),(0,P.jsxs)(e6,{show:n>=3,delay:.35,children:[(0,P.jsx)(e4,{}),(0,P.jsx)(e3,{w:44,h:7,bg:"rgba(24,24,27,0.18)",anim:.3}),(0,P.jsx)(e4,{}),(0,P.jsx)(e3,{w:56,h:7,bg:"rgba(153,246,228,0.5)",anim:.8}),(0,P.jsx)(e3,{w:48,h:7,bg:"rgba(147,197,253,0.5)",anim:.4})]})]}),(0,P.jsx)("div",{style:{pointerEvents:"none",position:"absolute",inset:0,background:"linear-gradient(105deg, transparent 0%, transparent 40%, rgba(255,255,255,0.6) 50%, transparent 60%, transparent 100%)",backgroundSize:"250% 100%",animation:"cpk-a2ui-sweep 3s ease-in-out infinite"}})]}),(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",justifyContent:"center",gap:8,marginTop:8},children:[(0,P.jsx)("span",{style:{fontSize:12,color:"#a1a1aa",letterSpacing:"0.025em"},children:e}),"number"==typeof t&&t>0&&(0,P.jsxs)("span",{style:{fontSize:11,color:"#d4d4d8",fontVariantNumeric:"tabular-nums"},children:["~",t.toLocaleString()," tokens"]})]}),r,(0,P.jsx)("style",{children:` 52 @keyframes cpk-a2ui-fade { 53 0%, 100% { opacity: 1; } 54 50% { opacity: 0.5; } 55 } 56 @keyframes cpk-a2ui-sweep { 57 0% { background-position: 250% 0; } 58 100% { background-position: -250% 0; } 59 } 60 `})]})}function e2({label:e,open:t,payload:r}){return(0,P.jsxs)("details",{open:t,className:"cpk:mt-2 cpk:text-xs",children:[(0,P.jsx)("summary",{className:"cpk:cursor-pointer cpk:text-gray-500",children:e}),(0,P.jsx)("pre",{className:"cpk:mt-1 cpk:overflow-auto cpk:rounded cpk:bg-gray-100 cpk:p-2 cpk:text-gray-700",style:{fontSize:11},children:JSON.stringify(r,null,2)})]})}function e4(){return(0,P.jsx)("div",{style:{width:7,height:7,borderRadius:"50%",backgroundColor:"#d4d4d8",flexShrink:0}})}function e5(){return(0,P.jsx)("div",{style:{width:12}}
60)}function e3({w:e,h:t,bg:r,anim:n,opacity:s,transition:a}){return(0,P.jsx)("div",{style:{width:e,height:t,borderRadius:9999,backgroundColor:r,...void 0!==n?{animation:`cpk-a2ui-fade 2.4s ease-in-out ${n}s infinite`}:{},...void 0!==s?{opacity:s}:{},...a?{transition:a}:{}}})}function e6({children:e,show:t,delay:r=0}){return(0,P.jsx)("div",{style:{display:"flex",alignItems:"center",gap:6,opacity:+!!t,transition:`opacity 0.4s ${r}s`},children:e})}let e8="a2ui_operations",e7=!1,e9=Y.Ik({a2ui_operations:Y.YO(Y.bz()).optional(),...eG}).passthrough();async function te({message:e,agent:t,copilotkit:r,onAction:n}){if(!t)return;let s=e.userAction,a=async n=>{let s=void 0!==n?{...e,userAction:n}:e;try{r.setProperties({...r.properties,a2uiAction:s}),await r.runAgent({agent:t})}finally{if(r.properties){let{a2uiAction:e,...t}=r.properties;r.setProperties(t)}}};if(n&&s){let e=await n(s,a);if(null===e)return;if(e)return void await a(e)}await a()}function tt({surfaceId:e,operations:t,theme:r,agent:n,copilotkit:a,catalog:o,onAction:i,onReady:l}){return(0,P.jsx)("div",{className:"cpk:flex cpk:w-full cpk:flex-none cpk:flex-col cpk:gap-4",children:(0,P.jsxs)(V.FQ,{onAction:(0,s.useCallback)(e=>te({message:e,agent:n,copilotkit:a,onAction:i}),[n,a,i]),theme:r,catalog:o,children:[(0,P.jsx)(tn,{surfaceId:e,operations:t,onReady:l}),(0,P.jsx)(tr,{surfaceId:e})]})})}function tr({surfaceId:e}){let t=(0,V.p6)();return t?(0,P.jsxs)("div",{className:"cpk:rounded-lg cpk:border cpk:border-red-200 cpk:bg-red-50 cpk:p-3 cpk:text-sm cpk:text-red-700",children:["A2UI render error: ",t]}):(0,P.jsx)(V.FB,{surfaceId:e,className:"cpk:flex cpk:flex-1"})}function tn({surfaceId:e,operations:t,onReady:r}){let{processMessages:n,getSurface:a}=(0,V.Mf)(),o=(0,s.useRef)("");return(0,s.useEffect)(()=>{let s=JSON.stringify(t);s!==o.current&&(o.current=s,n(a(e)?t.filter(e=>!e?.createSurface):t),r&&function(e){let t=e.filter(e=>e?.updateComponents);return!!t.length&&(!JSON.stringify(t).includes('"path"')||e.some(e=>{let t=e?.updateDataModel?.value;return!!t&&"object"==typeof t&&Object.values(t).some(e=>Array.isArray(e)?e.length>0:null!=e&&""!==e)}))}(t)&&r())},[n,a,e,t,r]),null}function ts(e){let t="*"!==e.name||e.args?e.args:Y.bz();return{name:e.name,args:t,render:e.render,...e.agentId?{agentId:e.agentId}:{}}}let ta="render_a2ui";function to(){let{copilotkit:e}=(0,W.kr)();return(0,s.useEffect)(()=>{let t=ts({name:ta,args:Y.bz(),render:()=>(0,P.jsx)(P.Fragment,{})}),r=e._renderToolCalls??[];e.setRenderToolCalls([...r.filter(e=>e.name!==ta),t])},[e]),null}function ti({catalog:e,includeSchema:t}){let{copilotkit:r}=(0,W.kr)(),n=(0,s.useMemo)(()=>(0,V.O3)(e),[e]),a=(0,s.useMemo)(()=>!1!==t?JSON.stringify((0,V.U3)(e)):null,[e,t]),o=r?.a2uiAgents?.join(",");return(0,s.useLayoutEffect)(()=>{if(!r)return;let e=r.a2uiAgents,t=e?{agentIds:e}:{},s=[];return s.push(r.addContext({description:"A2UI catalog capabilities: available catalog IDs and custom component definitions the client can render.",value:n,...t})),a&&(s.push(r.addContext({description:V.Xs,value:a,...t})),s.push(r.addContext({description:"A2UI generation guidelines â protocol rules, tool arguments, path rules, data model format, and form/two-way-binding instructions.",value:M.b,...t})),s.push(r.addContext({description:"A2UI design guidelines â visual design rules, component hierarchy tips, and action handler patterns.",value:M.$,...t}))),()=>{for(let e of s)r.removeContext(e)}},[r,n,a,o]),null}var tl=class extends a.Wp{constructor(e){super(e),this._renderToolCalls=[],this._hookRenderToolCalls=new Map,this._cachedMergedRenderToolCalls=null,this._renderCustomMessages=[],this._renderActivityMessages=[],this._interruptElement=null,this._renderToolCalls=e.renderToolCalls??[],this._renderCustomMessages=e.renderCustomMessages??[],this._renderActivityMessages=e.renderActivityMessages??[]}get renderCustomMessages(){return this._renderCustomMessages}get renderActivityMessages(){return this._renderActivityMessages}get renderToolCalls(){if(0===this._hookRenderToolCalls.size)return this._renderToolCalls;if(this._cachedMergedRenderToolCalls)return this._cachedMergedRenderToolCalls;let e=new Map;for(let t of this._renderToolCalls)e.set(`${t.agentId??""}:${t.name}`,t);for(let[t,r]of this._hookRenderToolCalls)e.set(t,r);return this._cachedMergedRenderToolCalls=Array.from(e.values()),this._cachedMergedRenderToolCalls}setRenderActivityMessages(e){this._renderActivityMessages=e}setRenderCustomMessages(e){this._renderCustomMessages=e}setRenderToolCalls(e){this._renderToolCalls=e,this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}addHookRenderToolCall(e){let t=`${e.agentId??""}:${e.name}`;this._hookRenderToolCalls.set(t,e),this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged()}removeHookRenderToolCall(e,t){let r=`${t??""}:${e}`;this._hookRenderToolCalls.delete(r)&&(this._cachedMergedRenderToolCalls=null,this._notifyRenderToolCallsChanged())}_notifyRenderToolCallsChanged(){this.notifySubscribers(e=>{e.onRenderToolCallsChanged&&e.onRenderToolCallsChanged({copilotkit:this,renderToolCalls:this.renderToolCalls})},"Subscriber onRenderToolCallsChanged error:")}get interruptElement(){return this._interruptElement}setInterruptElement(e){this._interruptElement=e,this.notifySubscribers(e=>{e.onInterruptElementChanged?.({copilotkit:this,interruptElement:this._interruptElement})},"Subscriber onInterruptElementChanged error:")}subscribe(e){return super.subscribe(e)}async waitForPendingFrameworkUpdates(){await new Promise(e=>setTimeout(e,0))}};let tc=(e,t)=>{let r=t?.$refStrategy;return(0,Q.Ik)(e,"root"===r||"relative"===r||"none"===r||"seen"===r?{$refStrategy:r}:{})},td="X-CopilotCloud-Public-Api-Key",tu=Object.freeze({}),tp=Object.freeze({}),tf=Object.freeze({}),tg=`When generating UI with generateSandboxedUi, follow these design principles inspired by shadcn/ui: 61 62- Use a minimal, flat aesthetic. Avoid drop shadows and gradients â rely on subtle borders (1px solid, light gray like #e5e7eb) to define surfaces. 63- Neutral base palette: white backgrounds, zinc/slate gray text (#09090b for headings, #71717a for secondary text). One accent color for interactive elements. 64- Use system font stacks (system-ui, -apple-system, sans-serif) at readable sizes (14px body, 600 weight for headings). Tight line-heights. 65- Small, consistent border-radius (6â8px). Cards and containers use border, not shadow, for separation. 66- Buttons: solid fill for primary (dark bg, white text), outline for secondary (border + transparent bg). Subtle hover state (slight opacity or background shift). 67- Use CSS Grid or Flexbox for layout. Ensure the UI looks good at any width. 68- Minimal transitions (150ms) for hover/focus states only. No decorative animations. 69- Keep the UI focused and dense â avoid excessive padding. Use compact spacing (8â12px gaps, 10â14px padding in controls).`;function tm(e,t,r){let n=(0,s.useMemo)(()=>[],[]),a=e??n,o=(0,s.useRef)(a);return(0,s.useEffect)(()=>{t&&a!==o.current&&(!r||r(o.current,a))&&console.error(t)},[a,t]),a}let th=({children:e,runtimeUrl:t,headers:r=tu,credentials:n,publicApiKey:a,publicLicenseKey:o,licenseToken:i,properties:l=tp,agents__unsafe_dev_only:c=tf,selfManagedAgents:d=tf,renderToolCalls:u,renderActivityMessages:p,renderCustomMessages:f,frontendTools:g,humanInTheLoop:m,openGenerativeUI:h,showDevConsole:k=!1,useSingleEndpoint:x,onError:b,a2ui:y,defaultThrottleMs:v,inspectorDefaultAnchor:w,debug:C})=>
69{let[j,I]=(0,s.useState)(!1),[R,N]=(0,s.useState)(!1),[E,S]=(0,s.useState)(null),[T,M]=(0,s.useState)(!1),[$,O]=(0,s.useState)(!1),[L,_]=(0,s.useState)(0),B=$||!!h,F=!!y?.catalog,U=T||F,[D,K]=(0,s.useState)(void 0);(0,s.useEffect)(()=>{if("undefined"==typeof window)return;let e=new Set(["localhost","127.0.0.1"]).has(window.location?.hostname??"");!0===k||"auto"===k&&e?I(!0):I(!1),N(!1)},[k]);let H=(0,s.useCallback)(e=>{S({...e})},[]),q=(0,s.useMemo)(()=>({isLocalInspectorEnabled:R,openInspector:H}),[R,H]),Q=tm(u,"renderToolCalls must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead.",(e,t)=>{let r=e=>`${e?.agentId??""}:${e?.name??""}`,n=e=>new Set(e.map(r)),s=n(e),a=n(t);if(s.size!==a.size)return!0;for(let e of s)if(!a.has(e))return!0;return!1}),J=tm(f,"renderCustomMessages must be a stable array."),G=tm(p,"renderActivityMessages must be a stable array."),X=(0,s.useRef)(null),Z=y?.catalog,ee=(0,s.useMemo)(()=>{if(!Z||!(Z instanceof V.WC))return Z;let e=X.current;return(0,V.SJ)(Z,t=>!e||e.isCatalogComponentEnabled(t))},[Z,L]),et=(0,s.useMemo)(()=>{let e=[{activityType:"mcp-apps",content:eK,render:eH}];return B&&e.push({activityType:"open-generative-ui",content:eY,render:eV}),U&&e.unshift(function(e){let{theme:t,catalog:r,loadingComponent:n,recovery:a,onAction:o}=e,i=a?.showAfterMs??2e3,l=a?.showAfterAttempts??2,c=a?.debugExposure??"collapsed";return{activityType:"a2ui-surface",content:e9,render:({content:e,agent:a})=>{e7||((0,V.NZ)(),(0,V.QG)(),e7=!0);let[d,u]=(0,s.useState)([]),{copilotkit:p}=(0,W.kr)(),f=(0,s.useRef)(null);(0,s.useEffect)(()=>{if(e===f.current)return;f.current=e;let t=e?.[e8];if(!e||!Array.isArray(t))return void u([]);u(t)},[e]);let g=(0,s.useMemo)(()=>{let e=new Map;for(let r of d){var t;let n=((t=r)&&"object"==typeof t?"string"==typeof t.surfaceId?t.surfaceId:t?.createSurface?.surfaceId??t?.updateComponents?.surfaceId??t?.updateDataModel?.surfaceId??t?.deleteSurface?.surfaceId??null:null)??V.AO;e.has(n)||e.set(n,[]),e.get(n).push(r)}return e},[d]),m=g.size>0,h=e=>{let t=e?.status,r=e?.debugExposure??c;return"failed"===t?(0,P.jsx)(e0,{content:e,debugExposure:r}):"retrying"===t?(0,P.jsx)(eZ,{content:e,showAfterMs:i,showAfterAttempts:l,debugExposure:r}):n?(0,P.jsx)(n,{}):(0,P.jsx)(eX,{content:e})},k=(0,s.useRef)(null);Array.isArray(e?.[e8])&&e[e8].length>0||(k.current=e);let[x,b]=(0,s.useState)(!1),y=(0,s.useRef)(!1),v=(0,s.useCallback)(()=>{y.current||(y.current=!0,requestAnimationFrame(()=>b(!0)))},[]);if((0,s.useEffect)(()=>{if(!m){b(!1),y.current=!1;return}let e=setTimeout(()=>b(!0),8e3);return()=>clearTimeout(e)},[m]),!m)return h(e);let w=(0,P.jsx)("div",{className:"cpk:flex cpk:min-h-0 cpk:flex-1 cpk:flex-col cpk:gap-6 cpk:overflow-auto cpk:py-6",children:Array.from(g.entries()).map(([e,n])=>(0,P.jsx)(tt,{surfaceId:e,operations:n,theme:t,agent:a,copilotkit:p,catalog:r,onAction:o,onReady:v},e))});return(0,P.jsxs)("div",{style:{position:"relative"},children:[(0,P.jsx)("div",{"aria-hidden":!x,style:x?void 0:{position:"absolute",inset:0,opacity:0,pointerEvents:"none"},children:w}),!x&&h(k.current??e)]})}}}({theme:y?.theme??V.YT,catalog:ee,loadingComponent:y?.loadingComponent,recovery:y?.recovery})),e},[U,B,y,ee]),er=(0,s.useMemo)(()=>[...G,...et],[G,et]),en=a??o,es=(0,s.useMemo)(()=>({...c,...d}),[c,d]),ea=es&&Object.keys(es).length>0,eo=Object.keys(d).length>0;(0,s.useEffect)(()=>{eo&&!en&&console.warn("[CopilotKit] `selfManagedAgents` is part of CopilotKit's Enterprise Intelligence offering. Provide a `publicLicenseKey` for production use â contact the CopilotKit team about licensing.")},[eo,en]);let ei="function"==typeof r?r():r,el=(0,s.useMemo)(()=>!en||ei[td]?ei:{...ei,[td]:en},[ei,en]);if(!t&&!en&&!ea)throw Error("Missing required prop: 'runtimeUrl' or 'publicApiKey' or 'publicLicenseKey'");let ec=t??(en?"https://api.cloud.copilotkit.ai/copilotkit/v1":void 0),ed=tm(g,"frontendTools must be a stable array. If you want to dynamically add or remove tools, use `useFrontendTool` instead."),eu=tm(m,"humanInTheLoop must be a stable array. If you want to dynamically add or remove human-in-the-loop tools, use `useHumanInTheLoop` instead."),ep=tm(h?.sandboxFunctions,"openGenerativeUI.sandboxFunctions must be a stable array."),ef=(0,s.useMemo)(()=>{let e=[],t=[];return eu.forEach(r=>{let n={name:r.name,description:r.description,parameters:r.parameters,followUp:r.followUp,...r.agentId&&{agentId:r.agentId},handler:async()=>new Promise(e=>{console.warn(`Human-in-the-loop tool '${r.name}' called but no interactive handler is set up.`),e(void 0)})};e.push(n),r.render&&t.push({name:r.name,args:r.parameters,render:r.render,...r.agentId&&{agentId:r.agentId}})}),{tools:e,renderToolCalls:t}},[eu]),eg=(0,s.useMemo)(()=>B?[{name:"generateSandboxedUi",description:"Generate sandboxed UI. IMPORTANT: The generated code runs in a sandboxed iframe WITHOUT same-origin access. Do NOT use localStorage, sessionStorage, document.cookie, IndexedDB, or fetch/XMLHttpRequest to same-origin URLs. To communicate with the host application, use Websandbox.connection.remote.<functionName>(args) which returns a Promise.\n\nYou CAN use external libraries from CDNs by including <script> or <link> tags in the HTML <head> (e.g., Chart.js, D3, Three.js, x-data-spreadsheet, etc.). CDN resources load normally inside the sandbox.\n\nPARAMETER ORDER IS CRITICAL â generate parameters in exactly this order:\n1. initialHeight + placeholderMessages (shown to user while generating)\n2. css (all styles FIRST â the user sees a placeholder until CSS is complete)\n3. html (streams in live â the user watches the UI build as HTML is generated)\n4. jsFunctions (reusable helper functions)\n5. jsExpressions (applied one-by-one â the user sees each expression take effect)",parameters:eq,handler:async()=>"UI generated",followUp:!0,render:eJ}]:[],[B]),em=(0,s.useMemo)(()=>{let e=[];return e.push(...ed),e.push(...eg),e.push(...ef.tools),e},[ed,eg,ef]),eh=(0,s.useMemo)(()=>{let e=[...Q];return[...ed,...eg].forEach(t=>{if(t.render){let r=t.parameters||("*"===t.name?Y.bz():void 0);r&&e.push({name:t.name,args:r,render:t.render})}}),e.push(...ef.renderToolCalls),e},[Q,ed,eg,ef]);
69null===X.current&&(X.current=new tl({runtimeUrl:ec,deferInitialConnection:!0,runtimeTransport:!0===x?"single":!1===x?"rest":"auto",headers:el,credentials:n,properties:l,agents__unsafe_dev_only:es,tools:em,renderToolCalls:eh,renderActivityMessages:er,renderCustomMessages:J,debug:C}),void 0!==v&&X.current.setDefaultThrottleMs(v));let ek=X.current;(0,s.useEffect)(()=>{if(!Z||!(Z instanceof V.WC))return;let e=Array.from(Z.components.values()).map(e=>({name:e.name,description:void 0,schema:e.schema}));ek.setCatalogComponents(e);let t=ek.subscribe({onCatalogComponentsChanged:()=>{_(e=>e+1)}});return()=>t.unsubscribe()},[ek,Z]),(0,s.useEffect)(()=>{let e=()=>{M(ek.a2uiEnabled),O(ek.openGenerativeUIEnabled),K(ek.licenseStatus)},t=ek.subscribe({onRuntimeConnectionStatusChanged:e});return e(),()=>{t.unsubscribe()}},[ek]);let[,ex]=(0,s.useReducer)(e=>e+1,0);(0,s.useEffect)(()=>{let e=ek.subscribe({onRenderToolCallsChanged:()=>{ex()}});return()=>{e.unsubscribe()}},[ek]);let[eb,ey]=(0,s.useState)(()=>new Set);(0,s.useEffect)(()=>{let e=ek.subscribe({onToolExecutionStart:({toolCallId:e})=>{ey(t=>{if(t.has(e))return t;let r=new Set(t);return r.add(e),r})},onToolExecutionEnd:({toolCallId:e})=>{ey(t=>{if(!t.has(e))return t;let r=new Set(t);return r.delete(e),r})}});return()=>{e.unsubscribe()}},[ek]);let ev=(0,s.useRef)(b);(0,s.useEffect)(()=>{ev.current=b},[b]),(0,s.useEffect)(()=>{let e=ek.subscribe({onError:e=>{ev.current?ev.current(e):console.error(`[CopilotKit] Error (${e.code}):`,e.error,e.context??{})}});return()=>{e.unsubscribe()}},[ek]),(0,s.useEffect)(()=>{ek.setRuntimeUrl(ec),ek.setRuntimeTransport(!0===x?"single":!1===x?"rest":"auto"),ek.setHeaders(el),ek.setCredentials(n),ek.setProperties(F?{...l,a2uiCatalogAvailable:!0}:l),ek.setAgents__unsafe_dev_only(es),ek.setDebug(C),ek.connect()},[ek,ec,el,n,l,F,es,x,C]);let ew=(0,s.useRef)(!1);(0,s.useEffect)(()=>{ew.current&&ek.setTools(em)},[ek,em]),(0,s.useEffect)(()=>{ew.current&&ek.setRenderToolCalls(eh)},[ek,eh]),(0,s.useEffect)(()=>{ew.current&&ek.setRenderActivityMessages(er)},[ek,er]),(0,s.useEffect)(()=>{ew.current&&ek.setRenderCustomMessages(J)},[ek,J]),(0,s.useEffect)(()=>{ew.current=!0},[]),(0,s.useEffect)(()=>{ek.setDefaultThrottleMs(v)},[ek,v]);let eC=h?.designSkill??tg;(0,s.useLayoutEffect)(()=>{if(!ek||!B)return;let e=ek.addContext({description:"Design guidelines for the generateSandboxedUi tool. Follow these when building UI.",value:eC});return()=>{ek.removeContext(e)}},[ek,eC,B]);let ej=(0,s.useMemo)(()=>0===ep.length?null:JSON.stringify(ep.map(e=>({name:e.name,description:e.description,parameters:(0,A.q)(e.parameters,{zodToJsonSchema:tc})}))),[ep]);(0,s.useLayoutEffect)(()=>{if(!ek||!ej||!B)return;let e=ek.addContext({description:"Sandbox functions available in generated sandboxed UI code. Call via: await Websandbox.connection.remote.<functionName>(args)",value:ej});return()=>{ek.removeContext(e)}},[ek,ej,B]);let eI=(0,s.useMemo)(()=>({copilotkit:ek,executingToolCallIds:eb}),[ek,eb]),eR=(0,s.useMemo)(()=>(0,z.kZ)(D),[D]);return(0,P.jsx)(eW.Provider,{value:ep,children:(0,P.jsx)(W.y6.Provider,{value:eI,children:(0,P.jsxs)(W.BN.Provider,{value:eR,children:[U&&(0,P.jsx)(to,{}),U&&(0,P.jsx)(ti,{catalog:ee,includeSchema:y?.includeSchema}),(0,P.jsxs)(eO,{value:q,children:[e,j?(0,P.jsx)(ez,{core:ek,defaultAnchor:w,openRequest:E}):null]}),"none"===D&&!en&&(0,P.jsx)(eB,{type:"no_license"}),"expired"===D&&(0,P.jsx)(eB,{type:"expired"}),"invalid"===D&&(0,P.jsx)(eB,{type:"invalid"}),"expiring"===D&&(0,P.jsx)(eB,{type:"expiring"})]})})})};function tk(){let{copilotkit:e}=(0,W.kr)(),t=eo()?.agentId??E.kv,r=e.renderActivityMessages,n=(0,s.useCallback)(e=>{if(!r.length)return null;let n=r.filter(t=>t.activityType===e);return n.find(e=>e.agentId===t)??n.find(e=>void 0===e.agentId)??r.find(e=>"*"===e.activityType)??null},[t,r]),a=(0,s.useCallback)(r=>{let s=n(r.activityType);if(!s)return null;let a=s.content["~standard"].validate(r.content);if(a instanceof Promise)return console.warn(`Async content validation is not supported for activity message '${r.activityType}'`),null;if(a.issues)return console.warn(`Failed to parse content for activity message '${r.activityType}':`,a.issues),null;let o=s.render,i=e.getAgent(t);return(0,P.jsx)(o,{activityType:r.activityType,content:a.value,message:r,agent:i},r.id)},[t,e,n]);return(0,s.useMemo)(()=>({renderActivityMessage:a,findRenderer:n}),[a,n])}let tx=[];
69function tb(e,t){let{copilotkit:r}=(0,W.kr)();(0,s.useEffect)(()=>{let t=e.name;return r.getTool({toolName:t,agentId:e.agentId})&&(console.warn(`Tool '${t}' already exists for agent '${e.agentId||"global"}'. Overriding with latest registration.`),r.removeTool(t,e.agentId)),r.addTool(e),e.render&&r.addHookRenderToolCall({name:t,args:e.parameters,agentId:e.agentId,render:e.render}),()=>{r.removeTool(t,e.agentId)}},[e.name,e.available,r,JSON.stringify(t??tx)])}function ty(e,t){let r=`Use this tool to display the "${e.name}" component in the chat. This tool renders a visual UI component for the user.`,n=e.description?`${r} 70 71${e.description}`:r;tb({name:e.name,description:n,parameters:e.parameters,render:({args:t})=>{let r=e.render;return(0,P.jsx)(r,{...t})},agentId:e.agentId,followUp:e.followUp},t)}let tv=[];function tw(e,t){let{copilotkit:r}=(0,W.kr)();(0,s.useEffect)(()=>{let t="*"!==e.name||e.parameters?ts({name:e.name,args:e.parameters,render:t=>(t.status===a.t4.InProgress||t.status===a.t4.Executing,e.render({...t,parameters:t.args})),...e.agentId?{agentId:e.agentId}:{}}):ts({name:"*",render:t=>e.render({...t,parameters:t.args}),...e.agentId?{agentId:e.agentId}:{}});r.addHookRenderToolCall(t)},[e.name,r,JSON.stringify(t??tv)])}let tC=new Set;function tj(e){return{name:e.name,toolCallId:e.toolCallId,parameters:e.args,status:function(e){switch(e){case a.t4.Complete:return"complete";case a.t4.Executing:return"executing";case a.t4.InProgress:return"inProgress";default:{let t=String(e);return tC.has(t)||(tC.add(t),console.warn(`[CopilotKit] Unknown ToolCallStatus "${t}" in default tool-call renderer; falling back to "inProgress".`)),"inProgress"}}}(e.status),result:e.result}}function tI(e,t){let r=e?.render;tw({name:"*",render:r?e=>r(tj(e)):e=>(0,P.jsx)(tN,{...tj(e)})},t)}function tR(e){try{return JSON.stringify(e,null,2)}catch(t){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for default renderer; falling back to String():",t);try{return String(e)}catch(e){return console.warn("[CopilotKit] safeStringifyForPre: value could not be stringified:",e),"[unserializable]"}}}function tN({name:e,toolCallId:t,parameters:r,status:n,result:a}){let[o,i]=(0,s.useState)(!1),l="inProgress"===n||"executing"===n,c="complete"===n,d=l?"Running":c?"Done":n;return(0,P.jsx)("div",{"data-testid":"copilot-tool-render","data-tool-name":e,"data-tool-call-id":t,"data-status":n,"data-args":tE(r),"data-result":tE(a),className:"cpk:mt-2 cpk:pb-2",children:(0,P.jsxs)("div",{className:"cpk:rounded-xl cpk:border cpk:border-zinc-200/60 cpk:bg-white/70 cpk:p-4 cpk:shadow-sm cpk:backdrop-blur cpk:dark:border-zinc-800/60 cpk:dark:bg-zinc-900/50",children:[(0,P.jsxs)("button",{type:"button","aria-expanded":o,onClick:()=>i(!o),className:"cpk:flex cpk:w-full cpk:cursor-pointer cpk:select-none cpk:items-center cpk:justify-between cpk:gap-2.5 cpk:border-none cpk:bg-transparent cpk:p-0 cpk:m-0 cpk:text-left cpk:text-inherit",style:{font:"inherit"},children:[(0,P.jsxs)("div",{className:"cpk:flex cpk:min-w-0 cpk:items-center cpk:gap-2",children:[(0,P.jsx)("svg",{className:`cpk:h-3.5 cpk:w-3.5 cpk:flex-shrink-0 cpk:text-zinc-500 cpk:transition-transform cpk:dark:text-zinc-400 ${o?"cpk:rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:(0,P.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})}),(0,P.jsx)("span",{className:`cpk:inline-block cpk:h-2 cpk:w-2 cpk:flex-shrink-0 cpk:rounded-full ${l?"cpk:bg-amber-500":c?"cpk:bg-emerald-500":"cpk:bg-zinc-400"}`}),(0,P.jsx)("span",{"data-testid":"copilot-tool-render-name",className:"cpk:truncate cpk:text-[13px] cpk:font-semibold cpk:text-zinc-900 cpk:dark:text-zinc-100",children:e})]}),(0,P.jsx)("span",{"data-testid":"copilot-tool-render-status",className:`cpk:inline-flex cpk:flex-shrink-0 cpk:items-center cpk:rounded-full cpk:px-2 cpk:py-0.5 cpk:text-[11px] cpk:font-medium ${l?"cpk:bg-amber-100 cpk:text-amber-800 cpk:dark:bg-amber-500/15 cpk:dark:text-amber-400":c?"cpk:bg-emerald-100 cpk:text-emerald-800 cpk:dark:bg-emerald-500/15 cpk:dark:text-emerald-400":"cpk:bg-zinc-100 cpk:text-zinc-800 cpk:dark:bg-zinc-700/40 cpk:dark:text-zinc-300"}`,children:d})]}),o&&(0,P.jsxs)("div",{className:"cpk:mt-3 cpk:grid cpk:gap-3",children:[(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"cpk:text-[10px] cpk:uppercase cpk:text-zinc-500 cpk:dark:text-zinc-400",children:"Arguments"}),(0,P.jsx)("pre",{className:"cpk:mt-1.5 cpk:max-h-[200px] cpk:overflow-auto cpk:rounded-md cpk:bg-zinc-100 cpk:p-2.5 cpk:text-[11px] cpk:leading-relaxed cpk:text-zinc-800 cpk:whitespace-pre-wrap cpk:break-words cpk:dark:bg-zinc-800/60 cpk:dark:text-zinc-200",children:tR(r??{})})]}),void 0!==a&&(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"cpk:text-[10px] cpk:uppercase cpk:text-zinc-500 cpk:dark:text-zinc-400",children:"Result"}),(0,P.jsx)("pre",{className:"cpk:mt-1.5 cpk:max-h-[200px] cpk:overflow-auto cpk:rounded-md cpk:bg-zinc-100 cpk:p-2.5 cpk:text-[11px] cpk:leading-relaxed cpk:text-zinc-800 cpk:whitespace-pre-wrap cpk:break-words cpk:dark:bg-zinc-800/60 cpk:dark:text-zinc-200",children:"string"==typeof a?a:tR(a)})]})]})]})})}function tE(e){if(null==e)return"";if("string"==typeof e)return e;try{return JSON.stringify(e)}catch(t){console.warn("[CopilotKit] Failed to JSON.stringify tool-call payload for data-* attribute; falling back to String():",t);try{return String(e)}catch(e){return console.warn("[CopilotKit] safeStringifyForAttr: value could not be stringified:",e),""}}}
71function tS(e,t){let{copilotkit:r}=(0,W.kr)(),n=(0,s.useRef)(null),o=(0,s.useRef)(null),i=(0,s.useCallback)(async e=>{n.current&&(o.current?.(),o.current=null,n.current(e),n.current=null)},[]),l=(0,s.useCallback)(async(e,t)=>{let r=t?.signal;return new Promise((e,t)=>{if(r?.aborted)return void t(Error("Human-in-the-loop interaction aborted"));if(n.current=e,r){let e=()=>{o.current=null,n.current=null,t(Error("Human-in-the-loop interaction aborted"))};r.addEventListener("abort",e,{once:!0}),o.current=()=>{r.removeEventListener("abort",e)}}})},[]),c=(0,s.useCallback)(t=>{let r=e.render;if(t.status===a.t4.InProgress){let n={...t,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0};return s.createElement(r,n)}if(t.status===a.t4.Executing){let n={...t,name:e.name,description:e.description||"",agentId:e.agentId,respond:i};return s.createElement(r,n)}if(t.status===a.t4.Complete){let n={...t,name:e.name,description:e.description||"",agentId:e.agentId,respond:void 0};return s.createElement(r,n)}return t},[e.render,e.name,e.description,e.agentId,i]);tb({...e,handler:l,render:c},t),(0,s.useEffect)(()=>()=>{r.removeHookRenderToolCall(e.name,e.agentId)},[r,e.name,e.agentId])}let tT=function(e){return e.OnMessagesChanged="OnMessagesChanged",e.OnStateChanged="OnStateChanged",e.OnRunStatusChanged="OnRunStatusChanged",e}({}),tM=[tT.OnMessagesChanged,tT.OnStateChanged,tT.OnRunStatusChanged];function tA({agentId:e,threadId:t,runtimeAgentId:r,updates:n,throttleMs:i}={}){if(null!=t&&null==r)throw Error(`useAgent: \`threadId\` requires \`runtimeAgentId\`. A threadId is written onto a single agent, but an agent resolved by agentId alone is shared, so scoping a thread to it would clobber other useAgent callers. Pass a distinct local \`agentId\` and the runtime agent to route to, e.g. useAgent({ agentId: "chat-1", runtimeAgentId: "${e??"default"}", threadId }).`);if(null!=r&&null==t)throw Error(`useAgent: \`runtimeAgentId\` requires \`threadId\`. A proxied agent exists to scope a thread to a private instance; without a threadId it behaves like the shared agent while adding a registration and a local agentId to keep unique. Either pass the thread, e.g. useAgent({ agentId: "${e??"chat-1"}", runtimeAgentId: "${r}", threadId }), or bind to the agent directly with useAgent({ agentId: "${r}" }).`);if(null!=r&&null==e)throw Error(`useAgent: \`runtimeAgentId\` requires an explicit \`agentId\`. The proxied agent is registered under \`agentId\`, and the usual fallbacks (chat configuration, then "${E.kv}") name agents that already exist â registering over one throws or shadows it. Pick a local id for this hook, e.g. useAgent({ agentId: "chat-1", runtimeAgentId: "${r}", threadId }).`);let l=eo(),c=e??l?.agentId??E.kv,{copilotkit:d}=(0,W.kr)(),u=d.defaultThrottleMs,[,p]=(0,s.useReducer)(e=>e+1,0),f=(0,s.useMemo)(()=>n??tM,[JSON.stringify(n)]),g=(0,s.useRef)(new Map),[m,h]=(0,s.useState)(null);(0,s.useEffect)(()=>{if(null==r)return void h(null);let{agent:e,unregister:t}=d.registerProxiedAgent({agentId:c,runtimeAgentId:r});return g.current.delete(c),h(e),()=>{t(),h(null)}},[d,c,r]);let{agent:k,isReady:x}=(0,s.useMemo)(()=>{if(null!=r){if(m)return g.current.delete(c),{agent:m,isReady:!0};let e=g.current.get(c);if(e)return d.applyHeadersToAgent(e),{agent:e,isReady:!1};let t=new a.h9({runtimeUrl:d.runtimeUrl,agentId:c,runtimeAgentId:r,transport:d.runtimeTransport,runtimeMode:"pending"});return d.applyHeadersToAgent(t),g.current.set(c,t),{agent:t,isReady:!1}}let e=d.getAgent(c);if(e)return g.current.delete(c),{agent:e,isReady:!0};let t=void 0!==d.runtimeUrl,n=d.runtimeConnectionStatus;if(t&&(n===a.Ub.Disconnected||n===a.Ub.Connecting)||t&&n===a.Ub.Error){let e=g.current.get(c);if(e)return{agent:e,isReady:!1};let t=new a.h9({runtimeUrl:d.runtimeUrl,agentId:c,transport:d.runtimeTransport,credentials:d.credentials,runtimeMode:"pending"});return d.applyHeadersToAgent(t),g.current.set(c,t),{agent:t,isReady:!1}}let s=Object.keys(d.agents??{}),o=t?`runtimeUrl=${d.runtimeUrl}`:"no runtimeUrl";throw Error(`useAgent: Agent '${c}' not found after runtime sync (${o}). `+(s.length?`Known agents: [${s.join(", ")}
71]`:"No agents registered.")+" Verify your runtime /info and/or agents__unsafe_dev_only.")},[c,r,m,d.agents,d.runtimeConnectionStatus,d.runtimeUrl,d.runtimeTransport,d.credentials,JSON.stringify(d.headers)]);(0,s.useEffect)(()=>{if(0===f.length)return;let e=!0,t={},r=!1,n=()=>{e&&(r||(r=!0,queueMicrotask(()=>{r=!1,e&&p()})))};f.includes(tT.OnMessagesChanged)&&(t.onMessagesChanged=n),f.includes(tT.OnStateChanged)&&(t.onStateChanged=n),f.includes(tT.OnRunStatusChanged)&&(t.onRunInitialized=n,t.onRunFinalized=n,t.onRunFailed=n,t.onRunErrorEvent=n);let s=d.subscribeToAgentWithOptions(k,t,{throttleMs:i});return()=>{e=!1,s.unsubscribe()}},[k,p,i,u,f]),(0,s.useEffect)(()=>{k instanceof o.qB&&d.applyHeadersToAgent(k),k instanceof a.h9&&(k.credentials=d.credentials)},[k,JSON.stringify(d.headers),d.credentials]);let b=l?.threadId,y=l?.hasExplicitThreadId,v=t??(y?b:void 0);return(0,s.useEffect)(()=>{v&&(k.threadId=v)},[k,v]),{agent:k,isReady:x}}function tz(e){let{description:t,value:r}=e,{copilotkit:n}=(0,W.kr)(),a=(0,s.useMemo)(()=>"string"==typeof r?r:JSON.stringify(r),[r]);(0,s.useLayoutEffect)(()=>{if(!n)return;let e=n.addContext({description:t,value:a});return()=>{n.removeContext(e)}},[t,a,n])}function t$({agentId:e}={}){let{copilotkit:t}=(0,W.kr)(),r=eo(),n=(0,s.useMemo)(()=>e??r?.agentId??E.kv,[e,r?.agentId]),[a,o]=(0,s.useState)(()=>t.getSuggestions(n).suggestions),[i,l]=(0,s.useState)(()=>t.getSuggestions(n).isLoading);return(0,s.useEffect)(()=>{let e=t.getSuggestions(n);o(e.suggestions),l(e.isLoading)},[t,n]),(0,s.useEffect)(()=>{let e=t.subscribe({onSuggestionsChanged:({agentId:e,suggestions:t})=>{e===n&&o(t)},onSuggestionsStartedLoading:({agentId:e})=>{e===n&&l(!0)},onSuggestionsFinishedLoading:({agentId:e})=>{e===n&&l(!1)},onSuggestionsConfigChanged:()=>{let e=t.getSuggestions(n);o(e.suggestions),l(e.isLoading)}});return()=>{e.unsubscribe()}},[t,n]),{suggestions:a,reloadSuggestions:(0,s.useCallback)(()=>{t.reloadSuggestions(n)},[t,n]),clearSuggestions:(0,s.useCallback)(()=>{t.clearSuggestions(n)},[t,n]),isLoading:i}}function tO(e,t){let{copilotkit:r}=(0,W.kr)(),n=eo(),a=t??[],o=(0,s.useMemo)(()=>n?.agentId??E.kv,[n?.agentId]),i=(0,s.useMemo)(()=>e?e.consumerAgentId:void 0,[e]),l=(0,s.useRef)({serialized:null,config:null}
71),{normalizedConfig:c,serializedConfig:d}=(0,s.useMemo)(()=>{let t;if(!e||"disabled"===e.available)return l.current={serialized:null,config:null},{normalizedConfig:null,serializedConfig:null};if("instructions"in e)t={...e};else{let r=e.suggestions.map(e=>({...e,isLoading:e.isLoading??!1}));t={...e,suggestions:r}}let r=JSON.stringify(t),n=l.current;return n.serialized===r&&n.config?{normalizedConfig:n.config,serializedConfig:r}:(l.current={serialized:r,config:t},{normalizedConfig:t,serializedConfig:r})},[e,o,...a]),u=(0,s.useRef)(null);u.current=c;let p=(0,s.useRef)(null),f=(0,s.useMemo)(()=>{if(!c)return o;let e=c.consumerAgentId;return e&&"*"!==e?e:o},[c,o]),g=void 0===i||"*"===i,m=(0,s.useMemo)(()=>!!c&&"instructions"in c,[c]),h=(0,s.useCallback)(()=>{if(c){if(g){let e=new Set;for(let t of Object.values(r.agents??{})){let n=t.agentId;n&&(e.add(n),t.isRunning||r.reloadSuggestions(n))}f&&!e.has(f)&&r.reloadSuggestions(f);return}f&&r.reloadSuggestions(f)}},[r,g,c,f]);(0,s.useEffect)(()=>{if(!d||!u.current)return;let e=r.addSuggestionsConfig(u.current);return h(),()=>{r.removeSuggestionsConfig(e)}},[r,d,h]),(0,s.useEffect)(()=>{if(!c){p.current=null;return}d&&p.current===d||(d&&(p.current=d),h())},[c,h,d]),(0,s.useEffect)(()=>{c&&0!==a.length&&h()},[a.length,c,h,...a]),(0,s.useEffect)(()=>{if(!c||!m||!f||r.getAgent(f))return;let e=r.subscribe({onAgentsChanged:()=>{r.getAgent(f)&&(h(),e.unsubscribe())}});return()=>{e.unsubscribe()}},[r,c,m,f,h])}let tL="on_interrupt";function t_(e){return"legacy"===e.kind?e.event:{name:tL,value:e.interrupts[0]}}function tP(e){let{copilotkit:t}=(0,W.kr)(),{agent:r}=tA({agentId:e.agentId}),[n,i]=(0,s.useState)(null),l=(0,s.useRef)(n);l.current=n;let[c,d]=(0,s.useState)(null),u=(0,s.useRef)(new a.GI),p=(0,s.useRef)(new Map),f=(0,s.useRef)(void 0);(0,s.useEffect)(()=>{let e=u.current,t=null,n=null,s=r.subscribe({onCustomEvent:({event:e})=>{e.name===tL&&(t={name:e.name,value:e.value})},onRunFinishedEvent:e=>{if("interrupt"===e.outcome){let t=e.input.runId;for(let r of e.interrupts)p.current.set(r.id,t);n=e.interrupts}},onRunStartedEvent:()=>{t=null,n=null,p.current.clear(),f.current=void 0,e.clear(),i(null)},onRunFinalized:r=>{n&&n.length>0?(e.setStandard(n),i(e.pending)):t&&(f.current=r.input.runId,e.setLegacy(t),i(e.pending)),t=null,n=null},onRunFailed:()=>{t=null,n=null,p.current.clear(),f.current=void 0,e.clear(),i(null)}});return()=>{s.unsubscribe(),e.clear()}},[r]);let g=(0,s.useCallback)(async(e,n)=>{let s=l.current;if(!s)return;"standard"===s.kind&&s.interrupts.length>1&&void 0===n&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${s.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);let a=u.current.resolve(e,n);if("legacy-resume"===a.kind){let e=f.current;try{return await t.runAgent({agent:r,...void 0!==e?{runId:e}:{},forwardedProps:{command:{resume:a.payload,interruptEvent:a.interruptValue}}})}catch(e){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",e),i(null),e}}if("expired"===a.kind){console.error(`[CopilotKit] useInterrupt: interrupt ${a.interrupt.id} expired at ${a.interrupt.expiresAt}; not resuming.`),u.current.clear(),i(null);return}if("resume"!==a.kind)return;let c=a.resume.map(e=>p.current.get(e.interruptId)).find(e=>void 0!==e);for(let e of a.toolResults)r.addMessage({id:(0,o.N4)(),role:"tool",toolCallId:e.toolCallId,content:e.content});try{return await t.runAgent({agent:r,resume:a.resume,...void 0!==c?{runId:c}:{}})}catch(e){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",e),u.current.clear(),i(null),e}},[r,t]),m=(0,s.useCallback)(async e=>{let n=l.current;if(!n)return;"standard"===n.kind&&n.interrupts.length>1&&void 0===e&&console.warn(`[CopilotKit] useInterrupt: resolve()/cancel() called without an interruptId while ${n.interrupts.length} interrupts are open; defaulting to the first. Pass an interruptId to address a specific interrupt.`);let s=u.current.cancel(e);
71if("dismiss"===s.kind){console.warn("[CopilotKit] useInterrupt: cancel() is not supported for legacy on_interrupt interrupts; dismissing."),u.current.clear(),i(null);return}if("expired"===s.kind){console.error(`[CopilotKit] useInterrupt: interrupt ${s.interrupt.id} expired at ${s.interrupt.expiresAt}; not resuming.`),u.current.clear(),i(null);return}if("resume"!==s.kind)return;let a=s.resume.map(e=>p.current.get(e.interruptId)).find(e=>void 0!==e);for(let e of s.toolResults)r.addMessage({id:(0,o.N4)(),role:"tool",toolCallId:e.toolCallId,content:e.content});try{return await t.runAgent({agent:r,resume:s.resume,...void 0!==a?{runId:a}:{}})}catch(e){throw console.error("[CopilotKit] useInterrupt resolve: runAgent rejected; clearing pending + rethrowing",e),u.current.clear(),i(null),e}},[r,t]),h=(0,s.useRef)(e.render);h.current=e.render;let k=(0,s.useRef)(e.enabled);k.current=e.enabled;let x=(0,s.useRef)(e.handler);x.current=e.handler;let b=(0,s.useRef)(g);b.current=g;let y=(0,s.useRef)(m);y.current=m;let v=e=>{let t=k.current;if(!t)return!0;try{return t(e)}catch(e){return console.error("[CopilotKit] useInterrupt enabled predicate threw; treating interrupt as disabled:",e),!1}};(0,s.useEffect)(()=>{var e;let t;if(!n)return void d(null);let r=t_(n);if(!v(r))return void d(null);let s=x.current;if(!s)return void d(null);let a=!1;try{t=s({event:r,interrupt:"standard"===n.kind?n.interrupts[0]:null,interrupts:"standard"===n.kind?[...n.interrupts]:[],resolve:b.current,cancel:y.current})}catch(e){return console.error("[CopilotKit] useInterrupt handler threw; result will be null:",e),a||d(null),()=>{a=!0}}return("object"==typeof(e=t)||"function"==typeof e)&&null!==e&&"function"==typeof Reflect.get(e,"then")?Promise.resolve(t).then(e=>{a||d(e)}).catch(e=>{console.error("[CopilotKit] useInterrupt handler rejected; result will be null:",e),a||d(null)}):d(t),()=>{a=!0}},[n]);let w=(0,s.useMemo)(()=>{if(!n)return null;let e=t_(n);return v(e)?h.current({event:e,interrupt:"standard"===n.kind?n.interrupts[0]:null,interrupts:"standard"===n.kind?[...n.interrupts]:[],result:c,resolve:g,cancel:m}):null},[n,c,g,m]);if((0,s.useEffect)(()=>{!1!==e.renderInChat&&t.setInterruptElement(w)},[w,e.renderInChat,t]),(0,s.useEffect)(()=>{if(!1!==e.renderInChat)return()=>{t.setInterruptElement(null)}},[]),!1===e.renderInChat)return w}function tB({config:e}){let t=e?.enabled??!1,[r,n]=(0,s.useState)([]),[a,o]=(0,s.useState)(!1),i=(0,s.useRef)(null),l=(0,s.useRef)(null),c=(0,s.useRef)(e);c.current=e;let d=(0,s.useRef)([]);d.current=r;let u=(0,s.useCallback)(async e=>{let t=c.current,r=t?.accept??"*/*",s=t?.maxSize??0x1400000;for(let n of e.filter(e=>!(0,$.oF)(e,r)))t?.onUploadFailed?.({reason:"invalid-type",file:n,message:`File "${n.name}" is not accepted. Supported types: ${r}`});for(let a of e.filter(e=>(0,$.oF)(e,r))){if((0,$.zH)(a,s)){t?.onUploadFailed?.({reason:"file-too-large",file:a,message:`File "${a.name}" exceeds the maximum size of ${(0,$.v7)(s)}`});continue}let e=(0,$.gX)(a.type),r=(0,S.N4)(),o={id:r,type:e,source:{type:"data",value:"",mimeType:a.type},filename:a.name,size:a.size,status:"uploading"};n(e=>[...e,o]);try{let s,o,i;if(t?.onUpload){let{metadata:e,...r}=await t.onUpload(a);s=r,o=e}else s={type:"data",value:await (0,$.We)(a),mimeType:a.type};"video"===e&&(i=await (0,$.hp)(a)),n(e=>e.map(e=>e.id===r?{...e,source:s,status:"ready",thumbnail:i,metadata:o}:e))}catch(e){n(e=>e.filter(e=>e.id!==r)),console.error(`[CopilotKit] Failed to upload "${a.name}":`,e),t?.onUploadFailed?.({reason:"upload-failed",file:a,message:e instanceof Error?e.message:`Failed to upload "${a.name}"`})}}},[]),p=(0,s.useCallback)(async e=>{if(e.target.files?.length)try{await u(Array.from(e.target.files))}catch(e){console.error("[CopilotKit] Upload error:",e)}},[u]),f=(0,s.useCallback)(e=>{c.current?.enabled&&(e.preventDefault(),e.stopPropagation(),o(!0))},[]),g=(0,s.useCallback)(e=>{e.preventDefault(),e.stopPropagation(),o(!1)},[]),m=(0,s.useCallback)(async e=>{if(e.preventDefault(),e.stopPropagation(),o(!1),!c.current?.enabled)return;let t=Array.from(e.dataTransfer.files);if(t.length>0)try{await u(t)}catch(e){console.error("[CopilotKit] Drop error:",e)}},[u]);return(0,s.useEffect)(()=>
71{if(!t)return;let e=async e=>{let t=e.target;if(!t||!l.current?.contains(t))return;let r=c.current?.accept??"*/*",n=Array.from(e.clipboardData?.items||[]).filter(e=>"file"===e.kind&&null!==e.getAsFile()&&(0,$.oF)(e.getAsFile(),r));if(0===n.length)return;e.preventDefault();let s=n.map(e=>e.getAsFile()).filter(e=>null!==e);try{await u(s)}catch(e){console.error("[CopilotKit] Paste error:",e)}};return document.addEventListener("paste",e),()=>document.removeEventListener("paste",e)},[t,u]),{attachments:r,enabled:t,dragOver:a,fileInputRef:i,containerRef:l,processFiles:u,handleFileUpload:p,handleDragOver:f,handleDragLeave:g,handleDrop:m,removeAttachment:(0,s.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),consumeAttachments:(0,s.useCallback)(()=>{let e=d.current.filter(e=>"ready"===e.status);return 0===e.length||(n(e=>e.filter(e=>"ready"!==e.status)),i.current&&(i.current.value="")),e},[])}}function tF({message:e,messages:t=[]}){let r=eA();return e.toolCalls&&0!==e.toolCalls.length?(0,P.jsx)(P.Fragment,{children:e.toolCalls.map(e=>{let n=t.find(t=>"tool"===t.role&&t.toolCallId===e.id);return(0,P.jsx)(s.Fragment,{children:r({toolCall:e,toolMessage:n})},e.id)})}):null}function tU({message:e,messages:t,isRunning:n,onThumbsUp:a,onThumbsDown:o,onReadAloud:l,onRegenerate:c,additionalToolbarItems:d,toolbarVisible:u=!0,markdownRenderer:p,toolbar:f,copyButton:g,inspectorButton:m,thumbsUpButton:h,thumbsDownButton:k,readAloudButton:x,regenerateButton:b,toolCallsView:y,children:v,className:w,...C}){(0,s.useEffect)(()=>{eT||"undefined"==typeof document||(eT=!0,Promise.all([r.e(2682),r.e(6105)]).then(r.t.bind(r,76105,19)).catch(()=>{console.warn("[CopilotKit] Failed to load katex styles â math content may render without formatting")}))},[]);let{isLocalInspectorEnabled:j,openInspector:I}=s.useContext(e$),R=eo(),N=eN(p,tU.MarkdownRenderer,{content:e.content||""}),E=eN(g,tU.CopyButton,{onClick:async()=>!!e.content&&await (0,O.l)(e.content)}),S=eN(h,tU.ThumbsUpButton,{onClick:a?()=>a(e):void 0}),T=eN(m,tU.InspectorButton,{onClick:()=>I({messageId:e.id,threadId:R?.threadId,agentId:R?.agentId})}),M=eN(k,tU.ThumbsDownButton,{onClick:o?()=>o(e):void 0}),A=eN(x,tU.ReadAloudButton,{onClick:l?()=>l(e):void 0}),z=eN(b,tU.RegenerateButton,{onClick:c?()=>c(e):void 0}),$=eN(f,tU.Toolbar,{children:(0,P.jsxs)("div",{className:"cpk:flex cpk:items-center cpk:gap-1",children:[E,j&&T,(a||h)&&S,(o||k)&&M,(l||x)&&A,(c||b)&&z,d]})}),L=eN(y,tF,{message:e,messages:t}),_=!!(e.content&&e.content.trim().length>0),B="assistant"===e.role&&t?.[t.length-1]?.id===e.id,F=u&&_&&!(n&&B);return v?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:v({markdownRenderer:N,toolbar:$,toolCallsView:L,copyButton:E,inspectorButton:T,thumbsUpButton:S,thumbsDownButton:M,readAloudButton:A,regenerateButton:z,message:e,messages:t,isRunning:n,onThumbsUp:a,onThumbsDown:o,onReadAloud:l,onRegenerate:c,additionalToolbarItems:d,toolbarVisible:F})}):(0,P.jsxs)("div",{"data-copilotkit":!0,"data-testid":"copilot-assistant-message",className:(0,i.QP)("copilotKitMessage copilotKitAssistantMessage",w),...C,"data-message-id":e.id,children:[(0,P.jsx)("div",{className:"cpk:prose cpk:max-w-full cpk:break-words cpk:dark:prose-invert",children:N}),L,F&&$]})}function tD(){let e=(0,s.useId)().replace(/:/g,"");return(0,P.jsxs)("svg",{"aria-hidden":"true",className:"cpk:size-5","data-testid":"copilot-inspector-icon",viewBox:"0 0 24 24",children:[(0,P.jsx)("path",{d:"M8.162 7.758c2.093-2.738 3.831-5.445 4.498-7.63a.093.093 0 01.14-.051c2.324 1.539 6.558 2.552 10.301 2.576a.09.09 0 01.085.124c-1.243 3.158-2.765 8.817-2.823 15.28-.001.095-.135.13-.183.046-2.131-3.729-8.955-8.968-11.982-10.205a.09.09 0 01-.036-.14z",fill:`url(#${e}-purple)`}),(0,P.jsx)("path",{d:"M15.223 6.083A61.492 61.492 0 018.25 7.827c-.045.008-.055.071-.012.089 3.05 1.267 9.84 6.492 11.952 10.206a.017.017 0 00.022.007.018.018 0 00.01-.024l-4.999-12.02z",fill:`url(#${e}-blue)`}),(0,P.jsx)("path",{d:"M12.81.07c2.8 1.528 6.037 2.214 10.33 2.575.028.002.036.039.012.051-.55.282-3.695 1.883-6.03 2.74-.626.23-1.256.443-1.876.64a.028.028 0 01-.033-.016L12.746.128c-.017-.04.027-.078.065-.058z",fill:`url(#${e}-light-blue)`}),(0,P.jsx)("path",{className:"cpk:fill-[#513C9F] cpk:dark:fill-[#B99AE8]",d:"M12.725.075c.046-.019.1.003.119.05l7.514 17.923a.091.091 0 01-.148.1l-.02-.03L12.675.195a.091.091 0 01.049-.12z"}),(0,P.jsx)("path",{className:"cpk:fill-[#513C9F] cpk:dark:fill-[#B99AE8]",d:"M23.06 2.66c.044-.025.1-.01.125.034.025.044.009.1-.035.124v.001l-.008.004-.025.015-.1.054a41.384 41.384 0 01-1.811.92A47.05 47.05 0 0116.33 5.82c-1.954.674-3.97 1.197-5.497 1.552a66.27 66.27 0 01-2.38.507l-.138.026-.036.007h-.01l-.002.002a.091.091 0 11-.033-.18l.016.09-.015-.09h.002l.01-.002.035-.007.137-.025a66.16 66.16 0 002.373-.506c1.524-.354 3.533-.876 5.479-1.547a46.857 46.857 0 006.276-2.709c.166-.087.295-.156.381-.204l.099-.054.024-.014.008-.004z"}),(0,P.jsx)("path",{className:"cpk:fill-[#ABABAB] cpk:dark:fill-[#D4D4D4]",d:"M13.838 2.272a.16.16 0 01.
71107.2l-2.72 9.055h6.4l.061.013a.16.16 0 010 .295l-.061.013h-6.541L.679 24.099l-.05.04a.16.16 0 01-.194-.245l10.43-12.285 2.773-9.23a.16.16 0 01.2-.107z"}),(0,P.jsx)("path",{d:"M7.809 21.461l-1.232.173c.638 1.69 1.949 2.427 3.514 2.427 3.831 0 2.661-4.334 4.883-4.334 1.61 0 .956 3.513 4.423 3.513 2.116 0 2.326-2.131 1.966-3.048l-.008-.016-.567-.868c-.037-.058-.127-.036-.133.032l-.106 1.053a1.01 1.01 0 00.003.219c.088.727.144 2.491-1.155 2.491-1.37 0-1.7-3.467-4.423-3.467-3.196 0-2.785 4.289-4.747 4.289-1.294 0-2.28-1.46-2.418-2.464z",fill:`url(#${e}-tail)`}),(0,P.jsxs)("defs",{children:[(0,P.jsxs)("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${e}-purple`,x1:"17.852",x2:"14.202",y1:"1.467",y2:"11.504",children:[(0,P.jsx)("stop",{className:"cpk:[stop-color:#6430AB] cpk:dark:[stop-color:#B792F0]"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#AA89D8] cpk:dark:[stop-color:#D3BDF7]",offset:"1"})]}),(0,P.jsxs)("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${e}-blue`,x1:"15.024",x2:"10.324",y1:"7.125",y2:"16.204",children:[(0,P.jsx)("stop",{className:"cpk:[stop-color:#005DBB] cpk:dark:[stop-color:#4D9FEF]"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#3D92E8] cpk:dark:[stop-color:#84C0FA]",offset:"1"})]}),(0,P.jsxs)("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${e}-light-blue`,x1:"17.122",x2:"15.707",y1:"1.467",y2:"5.892",children:[(0,P.jsx)("stop",{className:"cpk:[stop-color:#1B70C4] cpk:dark:[stop-color:#61ACF2]"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#54A4F2] cpk:dark:[stop-color:#9ACDFF]",offset:"1"})]}),(0,P.jsxs)("linearGradient",{gradientUnits:"userSpaceOnUse",id:`${e}-tail`,x1:"6.577",x2:"21.506",y1:"21.758",y2:"21.758",children:[(0,P.jsx)("stop",{className:"cpk:[stop-color:#4497EA] cpk:dark:[stop-color:#79BCF5]"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#1463B2] cpk:dark:[stop-color:#4594D8]",offset:".255"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#0A437D] cpk:dark:[stop-color:#347CB7]",offset:".499"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#2476C8] cpk:dark:[stop-color:#58A4E5]",offset:".667"}),(0,P.jsx)("stop",{className:"cpk:[stop-color:#0C549A] cpk:dark:[stop-color:#3C87C7]",offset:".973"})]})]})]})}!function(e){e.MarkdownRenderer=({content:e,className:t,...r})=>(0,P.jsx)(H.jH,{className:t,...r,children:e??""}),e.Toolbar=({className:e,...t})=>(0,P.jsx)("div",{"data-testid":"copilot-assistant-toolbar",className:(0,i.QP)("cpk:w-full cpk:bg-transparent cpk:flex cpk:items-center cpk:-ml-[5px] cpk:-mt-[0px]",e),...t});let t=e.ToolbarButton=({title:e,tooltip:t,children:r,...n})=>(0,P.jsxs)(ep,{children:[(0,P.jsx)(ef,{asChild:!0,children:(0,P.jsx)(ed,{type:"button",variant:"assistantMessageToolbarButton","aria-label":e,...n,children:r})}),(0,P.jsx)(eg,{side:"bottom",children:t??(0,P.jsx)("p",{children:e})})]});e.CopyButton=({className:e,title:r,onClick:n,...a})=>{let o=eo()?.labels??er,[i,l]=(0,s.useState)(!1),c=(0,s.useRef)(null);(0,s.useEffect)(()=>()=>{null!==c.current&&clearTimeout(c.current)},[]);let d=async e=>{let t=!1;
71n&&(t=await Promise.resolve(n(e))===!0),t&&(l(!0),null!==c.current&&clearTimeout(c.current),c.current=setTimeout(()=>{c.current=null,l(!1)},2e3))};return(0,P.jsx)(t,{"data-testid":"copilot-copy-button",title:r||o.assistantMessageToolbarCopyMessageLabel,onClick:d,className:e,...a,children:i?(0,P.jsx)(g.A,{className:"cpk:size-[18px]"}):(0,P.jsx)(h.A,{className:"cpk:size-[18px]"})})},e.InspectorButton=({title:e,...r})=>{let n=eo()?.labels??er,s=e||n.assistantMessageToolbarInspectorLabel,a=n.assistantMessageToolbarInspectorLocalOnlyLabel,o=`${s} (${a})`;return(0,P.jsx)(t,{"data-testid":"copilot-inspector-button",title:o,tooltip:(0,P.jsxs)("div",{className:"cpk:flex cpk:flex-col cpk:gap-0.5",children:[(0,P.jsx)("span",{children:s}),(0,P.jsx)("span",{className:"cpk:text-[10px] cpk:opacity-65",children:a})]}),...r,children:(0,P.jsx)(tD,{})})},e.ThumbsUpButton=({title:e,...r})=>{let n=eo()?.labels??er;return(0,P.jsx)(t,{"data-testid":"copilot-thumbs-up-button",title:e||n.assistantMessageToolbarThumbsUpLabel,...r,children:(0,P.jsx)(k.A,{className:"cpk:size-[18px]"})})},e.ThumbsDownButton=({title:e,...r})=>{let n=eo()?.labels??er;return(0,P.jsx)(t,{"data-testid":"copilot-thumbs-down-button",title:e||n.assistantMessageToolbarThumbsDownLabel,...r,children:(0,P.jsx)(x.A,{className:"cpk:size-[18px]"})})},e.ReadAloudButton=({title:e,...r})=>{let n=eo()?.labels??er;return(0,P.jsx)(t,{"data-testid":"copilot-read-aloud-button",title:e||n.assistantMessageToolbarReadAloudLabel,...r,children:(0,P.jsx)(b.A,{className:"cpk:size-[20px]"})})},e.RegenerateButton=({title:e,...r})=>{let n=eo()?.labels??er;return(0,P.jsx)(t,{"data-testid":"copilot-regenerate-button",title:e||n.assistantMessageToolbarRegenerateLabel,...r,children:(0,P.jsx)(y.A,{className:"cpk:size-[18px]"})})}}(tU||(tU={})),tU.MarkdownRenderer.displayName="CopilotChatAssistantMessage.MarkdownRenderer",tU.Toolbar.displayName="CopilotChatAssistantMessage.Toolbar",tU.CopyButton.displayName="CopilotChatAssistantMessage.CopyButton",tU.InspectorButton.displayName="CopilotChatAssistantMessage.InspectorButton",tU.ThumbsUpButton.displayName="CopilotChatAssistantMessage.ThumbsUpButton",tU.ThumbsDownButton.displayName="CopilotChatAssistantMessage.ThumbsDownButton",tU.ReadAloudButton.displayName="CopilotChatAssistantMessage.ReadAloudButton",tU.RegenerateButton.displayName="CopilotChatAssistantMessage.RegenerateButton";var tK=tU;function tH({onClose:e,children:t}){return((0,s.useEffect)(()=>{let t=t=>{"Escape"===t.key&&e()};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[e]),"undefined"==typeof document)?null:(0,J.createPortal)((0,P.jsxs)("div",{className:"cpk:fixed cpk:inset-0 cpk:z-[9999] cpk:flex cpk:items-center cpk:justify-center cpk:bg-black/80 cpk:animate-fade-in",onClick:e,children:[(0,P.jsx)("button",{onClick:e,className:"cpk:absolute cpk:top-4 cpk:right-4 cpk:text-white cpk:bg-white/10 cpk:hover:bg-white/20 cpk:rounded-full cpk:w-10 cpk:h-10 cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer cpk:border-none cpk:z-10","aria-label":"Close preview",children:(0,P.jsx)(f.A,{className:"cpk:w-5 cpk:h-5"})}),(0,P.jsx)("div",{onClick:e=>e.stopPropagation(),children:t})]}),document.body)}function tW(){let e=(0,s.useRef)(null),[t,r]=(0,s.useState)(!1),n=(0,s.useId)();return{thumbnailRef:e,vtName:n,open:t,openLightbox:(0,s.useCallback)(()=>{let t=e.current,s=document;s.startViewTransition&&t?(t.style.viewTransitionName=n,s.startViewTransition(()=>{t.style.viewTransitionName="",(0,J.flushSync)(()=>r(!0))})):r(!0)},[n]),closeLightbox:(0,s.useCallback)(()=>{let t=e.current,s=document;s.startViewTransition&&t?s.startViewTransition(()=>{(0,J.flushSync)(()=>r(!1)),t.style.viewTransitionName=n}).finished.then(()=>{t.style.viewTransitionName=""}).catch(()=>{t.style.viewTransitionName=""}):r(!1)},[n])}}let tY=(0,s.memo)(function({src:e,className:t}){let[r,n]=(0,s.useState)(!1),{thumbnailRef:a,vtName:o,open:i,openLightbox:l,closeLightbox:c}=tW();return r?(0,P.jsx)("div",{className:el("cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:rounded-lg cpk:bg-muted cpk:p-4 cpk:text-sm cpk:text-muted-foreground",t),children:(0,P.jsx)("span",{children:"Failed to load image"})}):(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("img",{ref:a,src:e,alt:"Image attachment",className:el("cpk:max-w-[80px] cpk:max-h-[80px] cpk:w-auto cpk:h-auto cpk:rounded-xl cpk:object-cover cpk:cursor-pointer cpk:bg-muted",t),onClick:l,onError:()=>n(!0)}),i&&(0,P.jsx)(tH,{onClose:c,children:(0,P.jsx)("img",{style:{viewTransitionName:o},src:e,alt:"Image attachment",className:"cpk:max-w-[90vw] cpk:max-h-[90vh] cpk:object-contain cpk:rounded-lg"})})]})}),tq=(0,s.memo)(function({src:e,filename:t,className:r}){return(0,P.jsxs)("div",{className:el("cpk:flex cpk:flex-col cpk:gap-1",r),children:[(0,P.jsx)("audio",{src:e,controls:!0,preload:"metadata",className:"cpk:max-w-[300px] cpk:w-full cpk:h-10"}),t&&(0,P.jsx)("span",{className:"cpk:text-xs cpk:text-muted-foreground cpk:truncate cpk:max-w-[300px]",children:t})]})}),tV=(0,s.memo)(function({src:e,className:t}){return(0,P.jsx)("video",{src:e,controls:!0,preload:"metadata",className:el("cpk:max-w-[400px] cpk:w-full cpk:rounded-lg",t)})}),tQ=(0,s.memo)(function({source:e,filename:t,className:r}){return(0,P.jsxs)("div",{className:el("cpk:inline-flex cpk:items-center cpk:gap-2 cpk:px-3 cpk:py-2 cpk:border cpk:border-border
71cpk:rounded-lg cpk:bg-muted",r),children:[(0,P.jsx)("span",{className:"cpk:text-xs cpk:font-bold cpk:uppercase",children:(0,$.D)(e.mimeType??"")}),(0,P.jsx)("span",{className:"cpk:text-sm cpk:text-muted-foreground cpk:truncate",children:t||e.mimeType||"Unknown type"})]})}),tJ=({type:e,source:t,filename:r,className:n})=>{let s=(0,$.$s)(t);switch(e){case"image":return(0,P.jsx)(tY,{src:s,className:n});case"audio":return(0,P.jsx)(tq,{src:s,filename:r,className:n});case"video":return(0,P.jsx)(tV,{src:s,className:n});case"document":return(0,P.jsx)(tQ,{source:t,filename:r,className:n})}};function tG({message:e,onEditMessage:t,branchIndex:r,numberOfBranches:n,onSwitchToBranch:a,additionalToolbarItems:o,messageRenderer:l,toolbar:c,copyButton:d,editButton:u,branchNavigation:p,children:f,className:g,...m}){let h=(0,s.useMemo)(()=>{var t;return(t=e.content)?"string"==typeof t?t:t.map(e=>e&&"object"==typeof e&&"type"in e&&"text"===e.type&&"string"==typeof e.text?e.text:"").filter(e=>e.length>0).join("\n"):""},[e.content]),k=(0,s.useMemo)(()=>{var t;return(t=e.content)&&"string"!=typeof t?t.filter(e=>"image"===e.type||"audio"===e.type||"video"===e.type||"document"===e.type):[]},[e.content]),x=eN(l,tG.MessageRenderer,{content:h}),b=eN(d,tG.CopyButton,{onClick:async()=>!!h&&await (0,O.l)(h)}),y=eN(u,tG.EditButton,{onClick:()=>t?.({message:e})}),v=eN(p,tG.BranchNavigation,{currentBranch:r,numberOfBranches:n,onSwitchToBranch:a,message:e}),w=eN(c,tG.Toolbar,{children:(0,P.jsxs)("div",{className:"cpk:flex cpk:items-center cpk:gap-1 cpk:justify-end",children:[o,b,t&&y,n&&n>1&&a&&v]})});return f?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"}
71,children:f({messageRenderer:x,toolbar:w,copyButton:b,editButton:y,branchNavigation:v,message:e,branchIndex:r,numberOfBranches:n,additionalToolbarItems:o})}):(0,P.jsxs)("div",{"data-copilotkit":!0,"data-testid":"copilot-user-message",className:(0,i.QP)("copilotKitMessage copilotKitUserMessage cpk:flex cpk:flex-col cpk:items-end cpk:group cpk:pt-10",g),"data-message-id":e.id,...m,children:[k.length>0&&(0,P.jsx)("div",{className:"cpk:flex cpk:flex-row cpk:flex-wrap cpk:justify-end cpk:gap-2 cpk:mb-2",children:k.map((e,t)=>(0,P.jsx)(tJ,{type:e.type,source:e.source,filename:function(e){let t=e.metadata;if(null!=t&&"object"==typeof t&&"filename"in t&&"string"==typeof t.filename)return t.filename}(e)},t))}),x,w]})}!function(e){e.Container=({children:e,className:t,...r})=>(0,P.jsx)("div",{className:(0,i.QP)("cpk:flex cpk:flex-col cpk:items-end cpk:group",t),...r,children:e}),e.MessageRenderer=({content:e,className:t})=>(0,P.jsx)("div",{className:(0,i.QP)("cpk:prose cpk:dark:prose-invert cpk:bg-muted cpk:relative cpk:max-w-[80%] cpk:rounded-[18px] cpk:px-4 cpk:py-1.5 cpk:data-[multiline]:py-3 cpk:inline-block cpk:whitespace-pre-wrap",t),children:e}),e.Toolbar=({className:e,...t})=>(0,P.jsx)("div",{"data-testid":"copilot-user-toolbar",className:(0,i.QP)("cpk:w-full cpk:bg-transparent cpk:flex cpk:items-center cpk:justify-end cpk:-mr-[5px] cpk:mt-[4px] cpk:invisible cpk:group-hover:visible",e),...t});let t=e.ToolbarButton=({title:e,children:t,className:r,...n})=>(0,P.jsxs)(ep,{children:[(0,P.jsx)(ef,{asChild:!0,children:(0,P.jsx)(ed,{type:"button",variant:"assistantMessageToolbarButton","aria-label":e,className:(0,i.QP)(r),...n,children:t})}),(0,P.jsx)(eg,{side:"bottom",children:(0,P.jsx)("p",{children:e})})]});e.CopyButton=({className:e,title:r,onClick:n,...a})=>{let o=eo()?.labels??er,[i,l]=(0,s.useState)(!1),c=async e=>{let t=!1;
71n&&(t=await Promise.resolve(n(e))===!0),t&&(l(!0),setTimeout(()=>l(!1),2e3))};return(0,P.jsx)(t,{"data-testid":"copilot-user-copy-button",title:r||o.userMessageToolbarCopyMessageLabel,onClick:c,className:e,...a,children:i?(0,P.jsx)(g.A,{className:"cpk:size-[18px]"}):(0,P.jsx)(h.A,{className:"cpk:size-[18px]"})})},e.EditButton=({className:e,title:r,...n})=>{let s=eo()?.labels??er;return(0,P.jsx)(t,{"data-testid":"copilot-edit-button",title:r||s.userMessageToolbarEditMessageLabel,className:e,...n,children:(0,P.jsx)(v.A,{className:"cpk:size-[18px]"})})},e.BranchNavigation=({className:e,currentBranch:t=0,numberOfBranches:r=1,onSwitchToBranch:n,message:s,...a})=>{if(!r||r<=1||!n)return null;let o=t<r-1;return(0,P.jsxs)("div",{"data-testid":"copilot-branch-navigation",className:(0,i.QP)("cpk:flex cpk:items-center cpk:gap-1",e),...a,children:[(0,P.jsx)(ed,{type:"button",variant:"assistantMessageToolbarButton",onClick:()=>n?.({branchIndex:t-1,numberOfBranches:r,message:s}),disabled:!(t>0),className:"cpk:h-6 cpk:w-6 cpk:p-0",children:(0,P.jsx)(w.A,{className:"cpk:size-[20px]"})}),(0,P.jsxs)("span",{className:"cpk:text-sm cpk:text-muted-foreground cpk:px-0 cpk:font-medium",children:[t+1,"/",r]}),(0,P.jsx)(ed,{type:"button",variant:"assistantMessageToolbarButton",onClick:()=>n?.({branchIndex:t+1,numberOfBranches:r,message:s}),disabled:!o,className:"cpk:h-6 cpk:w-6 cpk:p-0",children:(0,P.jsx)(l.A,{className:"cpk:size-[20px]"})})]})}}(tG||(tG={})),tG.Container.displayName="CopilotChatUserMessage.Container",tG.MessageRenderer.displayName="CopilotChatUserMessage.MessageRenderer",tG.Toolbar.displayName="CopilotChatUserMessage.Toolbar",tG.ToolbarButton.displayName="CopilotChatUserMessage.ToolbarButton",tG.CopyButton.displayName="CopilotChatUserMessage.CopyButton",tG.EditButton.displayName="CopilotChatUserMessage.EditButton",tG.BranchNavigation.displayName="CopilotChatUserMessage.BranchNavigation";var tX=tG;function tZ({message:e,messages:t,isRunning:r,header:n,contentView:a,toggle:o,children:l,className:c,...d}){let u=t?.[t.length-1]?.id===e.id,p=!!(r&&u),f=!!(e.content&&e.content.length>0),g=(0,s.useRef)(null),[m,h]=(0,s.useState)(0);(0,s.useEffect)(()=>{if(p&&null===g.current&&(g.current=Date.now()),!p&&null!==g.current)return void h((Date.now()-g.current)/1e3);if(!p)return;let e=setInterval(()=>{null!==g.current&&h((Date.now()-g.current)/1e3)},1e3);return()=>clearInterval(e)},[p]);let[k,x]=(0,s.useState)(p),b=(0,s.useRef)(!1);(0,s.useEffect)(()=>{p?(b.current=!1,x(!0)):b.current||x(!1)},[p]);let y=f?()=>{b.current=!0,x(e=>!e)}:void 0,v=p?"Thinkingâ¦":`Thought for ${function(e){if(e<1)return"a few seconds";if(e<60)return`${Math.round(e)} seconds`;let t=Math.floor(e/60),r=Math.round(e%60);return 0===r?`${t} minute${t>1?"s":""}`:`${t}m ${r}s`}(m)}`,w=eN(n,tZ.Header,{isOpen:k,label:v,hasContent:f,isStreaming:p,onClick:y}),C=eN(a,tZ.Content,{isStreaming:p,hasContent:f,children:e.content}),j=eN(o,tZ.Toggle,{isOpen:k,children:C});return l?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:l({header:w,contentView:C,toggle:j,message:e,messages:t,isRunning:r})}):(0,P.jsxs)("div",{className:(0,i.QP)("cpk:my-1",c),"data-message-id":e.id,...d,children:[w,j]})}!function(e){e.Header=({isOpen:e,label:t="Thoughts",hasContent:r,isStreaming:n,className:s,children:a,...o})=>{let c=!!r;return(0,P.jsxs)("button",{type:"button",className:(0,i.QP)("cpk:inline-flex cpk:items-center cpk:gap-1 cpk:py-1 cpk:text-sm cpk:text-muted-foreground cpk:transition-colors cpk:select-none",c?"cpk:hover:text-foreground cpk:cursor-pointer":"cpk:cursor-default",s),"aria-expanded":c?e:void 0,...o,children:[(0,P.jsx)("span",{className:"cpk:font-medium",children:t}),n&&!r&&(0,P.jsx)("span",{className:"cpk:inline-flex cpk:items-center cpk:ml-1",children:(0,P.jsx)("span",{className:"cpk:w-1.5 cpk:h-1.5 cpk:rounded-full cpk:bg-muted-foreground cpk:animate-pulse"})}),a,c&&(0,P.jsx)(l.A,{className:(0,i.QP)("cpk:size-3.5 cpk:shrink-0 cpk:transition-transform cpk:duration-200",e&&"cpk:rotate-90")})]})},e.Content=({isStreaming:e,hasContent:t,className:r,children:n,...s})=>t||e?(0,P.jsx)("div",{className:(0,i.QP)("cpk:pb-2 cpk:pt-1",r),...s,children:(0,P.jsxs)("div",{className:"cpk:text-sm cpk:text-muted-foreground",children:[(0,P.jsx)(H.jH,{children:"string"==typeof n?n:""}),e&&t&&(0,P.jsx)("span",{className:"cpk:inline-flex cpk:items-center cpk:ml-1 cpk:align-middle",children:(0,P.jsx)("span",{className:"cpk:w-2 cpk:h-2 cpk:rounded-full cpk:bg-muted-foreground cpk:animate-pulse-cursor"})})]})}):null,e.Toggle=({isOpen:e,className:t,children:r,...n})=>(0,P.jsx)("div",{className:(0,i.QP)("cpk:grid cpk:transition-[grid-template-rows] cpk:duration-200 cpk:ease-in-out",t),style:{gridTemplateRows:e?"1fr":"0fr"},...n,children:(0,P.jsx)("div",{className:"cpk:overflow-hidden",children:r})})}(tZ||(tZ={})),tZ.Header.displayName="CopilotChatReasoningMessage.Header",tZ.Content.displayName="CopilotChatReasoningMessage.Content",tZ.Toggle.displayName="CopilotChatReasoningMessage.Toggle";var t0=tZ;
71let t1=s.forwardRef(function({className:e,children:t,icon:r,isLoading:n,type:s,...a},o){let i=!n&&r;return(0,P.jsxs)("button",{ref:o,"data-copilotkit":!0,"data-testid":"copilot-suggestion","data-slot":"suggestion-pill",className:el("group cpk:inline-flex cpk:h-7 cpk:sm:h-8 cpk:items-center cpk:gap-1 cpk:sm:gap-1.5 cpk:rounded-full cpk:border cpk:border-border/60 cpk:bg-background cpk:px-2.5 cpk:sm:px-3 cpk:text-[11px] cpk:sm:text-xs cpk:leading-none cpk:text-foreground cpk:transition-colors cpk:cursor-pointer cpk:hover:bg-accent/60 cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring cpk:focus-visible:ring-offset-2 cpk:focus-visible:ring-offset-background cpk:disabled:cursor-not-allowed cpk:disabled:text-muted-foreground cpk:disabled:hover:bg-background cpk:disabled:hover:text-muted-foreground cpk:pointer-events-auto",e),type:s??"button","aria-busy":n||void 0,disabled:n||a.disabled,...a,children:[n?(0,P.jsx)("span",{className:"cpk:flex cpk:h-3.5 cpk:sm:h-4 cpk:w-3.5 cpk:sm:w-4 cpk:items-center cpk:justify-center cpk:text-muted-foreground",children:(0,P.jsx)(d.A,{className:"cpk:h-3.5 cpk:sm:h-4 cpk:w-3.5 cpk:sm:w-4 cpk:animate-spin","aria-hidden":"true"})}):i&&(0,P.jsx)("span",{className:"cpk:flex cpk:h-3.5 cpk:sm:h-4 cpk:w-3.5 cpk:sm:w-4 cpk:items-center cpk:justify-center cpk:text-muted-foreground",children:r}),(0,P.jsx)("span",{className:"cpk:whitespace-nowrap cpk:font-medium cpk:leading-none",children:t})]})});t1.displayName="CopilotChatSuggestionPill";let t2=s.forwardRef(function({className:e,...t},r){return(0,P.jsx)("div",{ref:r,"data-copilotkit":!0,"data-testid":"copilot-suggestions",className:el("cpk:flex cpk:flex-wrap cpk:items-center cpk:gap-1.5 cpk:sm:gap-2 cpk:pl-0 cpk:pr-4 cpk:@3xl:px-0 cpk:pointer-events-none",e),...t})}),t4=s.forwardRef(function({suggestions:e,onSelectSuggestion:t,loadingIndexes:r,container:n,suggestion:a,className:o,children:i,...l},c){let d=s.useMemo(()=>r&&0!==r.length?new Set(r):new Set,[r]),u=eN(n,t2,{ref:c,className:o,...l}),p=e.map((e,r)=>{let n=d.has(r)||!0===e.isLoading,o=eN(a,t1,{children:e.title,className:e.className,isLoading:n,type:"button",onClick:()=>t?.(e,r)});return s.cloneElement(o,{key:`${e.title}-${r}`})}),f=s.cloneElement(u,void 0,p);if("function"==typeof i){let n=eN(a,t1,{children:e[0]?.title??"",isLoading:e.length>0&&(d.has(0)||e[0]?.isLoading===!0),type:"button"});return(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:i({container:f,suggestion:n,suggestions:e,onSelectSuggestion:t,loadingIndexes:r,className:o,...l})})}return i?(0,P.jsxs)("div",{"data-copilotkit":!0,style:{display:"contents"},children:[f,i]}):f});t4.displayName="CopilotChatSuggestionView";let t5=s.createContext(null);function t3({message:e,status:t,label:r,className:n,...s}){return(0,P.jsxs)("span",{className:(0,i.QP)("cpk-intelligence-indicator",n),role:"status","aria-live":"polite","data-testid":`cpk-intelligence-indicator-${e.id}`,"data-status":t,title:r,...s,children:[(0,P.jsx)("span",{className:"cpk-intelligence-indicator__chrome","aria-hidden":"true"}),(0,P.jsxs)("span",{className:"cpk-intelligence-indicator__content",children:[(0,P.jsxs)("svg",{className:"cpk-intelligence-indicator__icon",viewBox:"0 0 24 24",width:"14",height:"14","aria-hidden":"true",children:[(0,P.jsx)("path",{className:"cpk-intelligence-indicator__icon-arc",pathLength:1,d:"M 12 3 C 17 3 21 7 21 12 C 21 17 17 21 12 21 C 7 21 3 17 3 12 C 3 7 7 3 12 3"}),(0,P.jsx)("path",{className:"cpk-intelligence-indicator__icon-check",pathLength:1,d:"M 5 12.5 L 9 16.5 L 19 6.5"})]}),(0,P.jsx)("span",{className:"cpk-intelligence-indicator__label",children:r})]})]})}let t6=[/copilotkit_knowledge_base_shell/],t8=e=>"string"==typeof e&&t6.some(t=>t.test(e)),t7=e=>"assistant"===e.role&&(Array.isArray(e.toolCalls)?e.toolCalls:[]).some(e=>t8(e?.function?.name)),t9=e=>{if("tool"===e.role)return!0;if("assistant"===e.role){if((Array.isArray(e.toolCalls)?e.toolCalls:[]).length>0)return!0;let t=e.content;return"string"!=typeof t||0===t.trim().length}return!1};function re(e){let{message:t,agentId:r,label:n="CopilotKit Intelligence",intelligenceIndicator:a}=e,{copilotkit:o}=(0,W.kr)(),i=eo(),{agent:l}=tA({agentId:r,updates:[tT.OnRunStatusChanged,tT.OnMessagesChanged]}),c=(0,s.useMemo)(()=>
71{if("assistant"!==t.role)return[];let e=Array.isArray(t.toolCalls)?t.toolCalls:[],r=[];for(let t of e)t8(t?.function?.name)&&t?.id&&r.push(t.id);return r},[t]),d=(0,s.useMemo)(()=>{if(0===c.length)return!1;let e=new Set;for(let t of l.messages)"tool"===t.role&&t.toolCallId&&e.add(t.toolCallId);return c.some(t=>!e.has(t))},[c,l.messages]),u=(0,s.useMemo)(()=>{let e=l.messages.findIndex(e=>e.id===t.id);if(e<0)return!1;for(let t=e+1;t<l.messages.length;t+=1)if(!t9(l.messages[t]))return!0;return!1},[l.messages,t.id])||!l.isRunning,[p,f]=(0,s.useState)(()=>u?"finished":"hidden");return((0,s.useEffect)(()=>{if("hidden"!==p)return;let e=setTimeout(()=>{f(u?"finished":d?"spinner":"hidden")},100);return()=>clearTimeout(e)},[p,d,u]),(0,s.useEffect)(()=>{"spinner"===p&&u&&f("finished")},[p,u]),void 0!==o.intelligence&&i&&"hidden"!==p&&"assistant"===t.role&&t7(t))?eN(a,t3,{message:t,status:"finished"===p?"finished":"in-progress",label:n}):null}function rt(e,t){return eI(e)?{Component:e,slotProps:void 0}:"string"==typeof e?{Component:t,slotProps:{className:e}}:e&&"object"==typeof e?{Component:t,slotProps:e}:{Component:t,slotProps:void 0}}let rr=s.memo(function({message:e,messages:t,isRunning:r,AssistantMessageComponent:n,slotProps:s}){return(0,P.jsx)(n,{message:e,messages:t,isRunning:r,...s})},(e,t)=>{if(e.message.id!==t.message.id||e.message.content!==t.message.content)return!1;let r=e.message.toolCalls,n=t.message.toolCalls;if(r?.length!==n?.length)return!1;if(r&&n)for(let e=0;e<r.length;e++){let t=r[e],s=n[e];if(t.id!==s.id||t.function.arguments!==s.function.arguments)return!1}if(r&&r.length>0){let n=new Set(r.map(e=>e.id)),s=e.messages.filter(e=>"tool"===e.role&&n.has(e.toolCallId)),a=t.messages.filter(e=>"tool"===e.role&&n.has(e.toolCallId));if(s.length!==a.length)return!1;for(let e=0;e<s.length;e++)if(s[e].content!==a[e].content)return!1}return(t.messages[t.messages.length-1]?.id!==t.message.id||e.isRunning===t.isRunning)&&e.AssistantMessageComponent===t.AssistantMessageComponent&&e.slotProps===t.slotProps}),rn=s.memo(function({message:e,UserMessageComponent:t,slotProps:r}){return(0,P.jsx)(t,{message:e,...r})},(e,t)=>e.message.id===t.message.id&&e.message.content===t.message.content&&e.UserMessageComponent===t.UserMessageComponent&&e.slotProps===t.slotProps),rs=s.memo(function({message:e,renderActivityMessage:t}){return t(e)},(e,t)=>e.message.id===t.message.id&&e.message.activityType===t.message.activityType&&JSON.stringify(e.message.content)===JSON.stringify(t.message.content)),ra=s.memo(function({message:e,messages:t,isRunning:r,ReasoningMessageComponent:n,slotProps:s}){return(0,P.jsx)(n,{message:e,messages:t,isRunning:r,...s})},(e,t)=>{if(e.message.id!==t.message.id||e.message.content!==t.message.content)return!1;let r=e.messages[e.messages.length-1]?.id===e.message.id,n=t.messages[t.messages.length-1]?.id===t.message.id;return r===n&&(!n||e.isRunning===t.isRunning)&&e.ReasoningMessageComponent===t.ReasoningMessageComponent&&e.slotProps===t.slotProps}),ro=s.memo(function({message:e,position:t,renderCustomMessage:r}){return r({message:e,position:t})},(e,t)=>e.message.id===t.message.id&&e.position===t.position&&e.message.content===t.message.content&&e.message.role===t.message.role&&JSON.stringify(e.stateSnapshot)===JSON.stringify(t.stateSnapshot));function ri(e){let t=new Map;for(let r of e){let e=t.get(r.id);if(!e){t.set(r.id,r);continue}!e.function?.arguments&&r.function?.arguments&&t.set(r.id,r)}return t.size===e.length?e:[...t.values()]}function rl({messages:e=[],assistantMessage:t,userMessage:r,reasoningMessage:n,cursor:a,intelligenceIndicator:o,isRunning:l=!1,children:c,className:d,...u}){let p=function(){let{copilotkit:e}=(0,W.kr)(),t=eo();if(!t)return null;let{agentId:r,threadId:n}=t,s=e.renderCustomMessages.filter(e=>void 0===e.agentId||e.agentId===r).sort((e,t)=>{let r=void 0!==e.agentId;return r===(void 0!==t.agentId)?0:r?-1:1});return function(t){if(!s.length)return null;let{message:a,position:o}=t,i=e.getRunIdForMessage(r,n,a.id)??e.getRunIdsForThread(r,n).slice(-1)[0],l=i??`missing-run-id:${a.id}`,c=e.getAgent(r);if(!c)return null;let d=i?c.messages.filter(t=>e.getRunIdForMessage(r,n,t.id)===i).map(e=>e.id):[a.id],u=c.messages.findIndex(e=>e.id===a.id),p=u>=0?u:0,f=i?Math.max(d.indexOf(a.id),0):0,g=i?d.length:1,m=i?e.getStateByRun(r,n,i):void 0,h=null;for(let e of s){if(!e.render)continue;let t=e.render;if(h=(0,P.jsx)(t,{message:a,position:o,runId:l,messageIndex:p,messageIndexInRun:f,numberOfMessagesInRun:g,agentId:r,stateSnapshot:m},`${l}-${a.id}-${o}`))break}return h}}(),{renderActivityMessage:f}=tk(),{copilotkit:g}=(0,W.kr)(),m=eo(),[,h]=(0,s.useReducer)(e=>e+1,0);(0,s.useEffect)(()=>
71{if(!m?.agentId)return;let e=g.getAgent(m.agentId);if(!e)return;let t=e.subscribe({onStateChanged:h});return()=>t.unsubscribe()},[m?.agentId,g,h]);let[k,x]=(0,s.useState)(null);(0,s.useEffect)(()=>{x(g.interruptElement);let e=g.subscribe({onInterruptElementChanged:({interruptElement:e})=>{x(e)}});return()=>e.unsubscribe()},[g]);let b=(0,s.useMemo)(()=>(function(e){let t=new Map;for(let r of e){let e=t.get(r.id);if(e&&"assistant"===r.role&&"assistant"===e.role){let n=r.content||e.content,s=r.toolCalls??e.toolCalls;t.set(r.id,{...e,...r,content:n,toolCalls:s?ri(s):s})}else"assistant"===r.role&&r.toolCalls?t.set(r.id,{...r,toolCalls:ri(r.toolCalls)}):t.set(r.id,r)}return[...t.values()]})(e),[e]),{Component:y,slotProps:v}=(0,s.useMemo)(()=>rt(t,tK),[t]),{Component:w,slotProps:C}=(0,s.useMemo)(()=>rt(r,tX),[r]),{Component:j,slotProps:I}=(0,s.useMemo)(()=>rt(n,t0),[n]),R=(0,s.useContext)(t5),N=R&&R.clientHeight>0?R:null;(0,s.useEffect)(()=>{},[R]);let S=!!N&&!c&&b.length>50,T=(0,G.Te)({count:S?b.length:0,getScrollElement:()=>N,estimateSize:()=>100,overscan:5,measureElement:e=>e?.getBoundingClientRect().height??0,initialRect:{width:0,height:600}}),M=b[0]?.id;(0,s.useLayoutEffect)(()=>{S&&b.length&&T.scrollToIndex(b.length-1,{align:"end"})},[S,M]);let A=(0,s.useMemo)(()=>(function(e){let t=new Map,r="__cpk_turn_head__",n=null,s=()=>{null!==n&&t.set(n,r),n=null};for(let t of e){if("user"===t.role){s(),r=t.id;continue}null===n&&t7(t)&&(n=t.id)}return s(),t})(b),[b]),z=t=>{let r=[],n=(e=>{if(!m)return;let t=g.getRunIdForMessage(m.agentId,m.threadId,e)??g.getRunIdsForThread(m.agentId,m.threadId).slice(-1)[0];if(t)return g.getStateByRun(m.agentId,m.threadId,t)})(t.id);p&&r.push((0,P.jsx)(ro,{message:t,position:"before",renderCustomMessage:p,stateSnapshot:n},`${t.id}-custom-before`)),"assistant"===t.role?r.push((0,P.jsx)(rr,{message:t,messages:e,isRunning:l,AssistantMessageComponent:y,slotProps:v},t.id)):"user"===t.role?r.push((0,P.jsx)(rn,{message:t,UserMessageComponent:w,slotProps:C},t.id)):"activity"===t.role?r.push((0,P.jsx)(rs,{message:t,renderActivityMessage:f},t.id)):"reasoning"===t.role&&r.push((0,P.jsx)(ra,{message:t,messages:e,isRunning:l,ReasoningMessageComponent:j,slotProps:I},t.id)),p&&r.push((0,P.jsx)(ro,{message:t,position:"after",renderCustomMessage:p,stateSnapshot:n},`${t.id}-custom-after`));let s=A.get(t.id);return void 0!==s&&r.push((0,P.jsx)(re,{message:t,agentId:m?.agentId??E.kv,intelligenceIndicator:o},`intelligence-${s}`)),r.filter(Boolean)},$=S?[]:b.flatMap(z);if(c)return(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:c({messageElements:$,messages:e,isRunning:l,interruptElement:k})});let O=e[e.length-1],L=l&&O?.role!=="reasoning";return(0,P.jsxs)("div",{"data-copilotkit":!0,"data-testid":"copilot-message-list",className:(0,i.QP)("copilotKitMessages cpk:flex cpk:flex-col",d),...u,children:[S?(0,P.jsx)("div",{style:{height:T.getTotalSize(),position:"relative"},children:T.getVirtualItems().map(e=>{let t=b[e.index];return(0,P.jsx)("div",{"data-index":e.index,ref:T.measureElement,style:{position:"absolute",top:0,left:0,width:"100%",transform:`translateY(${e.start}px)`},children:z(t)},t.id)})}):$,k,L&&(0,P.jsx)("div",{className:"cpk:mt-2",children:eN(a,rl.Cursor,{})})]})}rl.Cursor=function({className:e,...t}){return(0,P.jsx)("div",{"data-testid":"copilot-loading-cursor",className:(0,i.QP)("cpk:w-[11px] cpk:h-[11px] cpk:rounded-full cpk:bg-foreground cpk:animate-pulse-cursor cpk:ml-1",e),...t})};let rc=({attachments:e,onRemoveAttachment:t,className:r})=>0===e.length?null:(0,P.jsx)("div",{"data-testid":"copilot-attachment-queue",className:el("cpk:flex cpk:flex-wrap cpk:gap-2 cpk:p-2",r),children:e.map(e=>{let r="image"===e.type||"video"===e.type;return(0,P.jsxs)("div",{className:el("cpk:relative cpk:inline-flex cpk:rounded-lg cpk:overflow-hidden cpk:border cpk:border-border",r?"cpk:w-[72px] cpk:h-[72px]":"audio"===e.type?"cpk:min-w-[200px] cpk:max-w-[280px] cpk:flex-col cpk:p-1 cpk:pr-8":"cpk:p-2 cpk:px-3 cpk:pr-8 cpk:max-w-[240px]"),children:["uploading"===e.status&&(0,P.jsx)(rd,{}),(0,P.jsx)(ru,{attachment:e}),(0,P.jsx)("button",{onClick:()=>t(e.id),className:el("cpk:absolute cpk:bg-black/60 cpk:text-white cpk:border-none cpk:rounded-full cpk:w-5 cpk:h-5 cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer cpk:text-[10px] cpk:z-20",r?"cpk:top-1 cpk:right-1":"cpk:top-1.5 cpk:right-1.5"),"aria-label":"Remove attachment",children:"â"})]},e.id)})});function rd(){return(0,P.jsx)("div",{className:"cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:bg-black/40 cpk:z-10",children:(0,P.jsx)("div",{className:"cpk:w-5 cpk:h-5 cpk:border-2 cpk:border-white cpk:border-t-transparent cpk:rounded-full cpk:animate-spin"})})}function ru({attachment:e}){if("uploading"===e.status)return(0,P.jsx)("div",{className:"cpk:w-full cpk:h-full"});switch(e.type){case"image":return(0,P.jsx)(rp,{attachment:e});case"audio":return(0,P.jsx)(rf,{attachment:e});case"video":return(0,P.jsx)(rg,{attachment:e});case"document":return(0,P.jsx)(rx,{attachment:e})}}function rp({attachment:e}){let t=(0,$.$s)(e.source),{thumbnailRef:r,vtName:n,open:s,openLightbox:a,closeLightbox:o}=tW();
71return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("img",{ref:r,src:t,alt:e.filename||"Image attachment",className:"cpk:w-full cpk:h-full cpk:object-cover cpk:cursor-pointer",onClick:a}),s&&(0,P.jsx)(tH,{onClose:o,children:(0,P.jsx)("img",{style:{viewTransitionName:n},src:t,alt:e.filename||"Image attachment",className:"cpk:max-w-[90vw] cpk:max-h-[90vh] cpk:object-contain cpk:rounded-lg"})})]})}function rf({attachment:e}){return(0,P.jsxs)("div",{className:"cpk:flex cpk:flex-col cpk:gap-1 cpk:w-full",children:[(0,P.jsx)("audio",{src:(0,$.$s)(e.source),controls:!0,preload:"metadata",className:"cpk:w-full cpk:h-8"}),e.filename&&(0,P.jsx)("span",{className:"cpk:text-xs cpk:font-medium cpk:overflow-hidden cpk:text-ellipsis cpk:whitespace-nowrap",children:e.filename})]})}function rg({attachment:e}){let t=(0,$.$s)(e.source),{thumbnailRef:r,vtName:n,open:s,openLightbox:a,closeLightbox:o}=tW();return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("div",{ref:r,className:"cpk:w-full cpk:h-full",children:e.thumbnail?(0,P.jsx)("img",{src:e.thumbnail,alt:e.filename||"Video thumbnail",className:"cpk:w-full cpk:h-full cpk:object-cover"}):(0,P.jsx)("video",{src:t,preload:"metadata",muted:!0,className:"cpk:w-full cpk:h-full cpk:object-cover"})}),(0,P.jsx)("button",{onClick:a,className:"cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:z-10 cpk:cursor-pointer cpk:bg-black/20 cpk:border-none cpk:p-0","aria-label":"Play video",children:(0,P.jsx)("div",{className:"cpk:w-8 cpk:h-8 cpk:rounded-full cpk:bg-black/60 cpk:flex cpk:items-center cpk:justify-center",children:(0,P.jsx)(C.A,{className:"cpk:w-4 cpk:h-4 cpk:text-white cpk:ml-0.5"})})}),s&&(0,P.jsx)(tH,{onClose:o,children:(0,P.jsx)("video",{style:{viewTransitionName:n},src:t,controls:!0,autoPlay:!0,className:"cpk:max-w-[90vw] cpk:max-h-[90vh] cpk:rounded-lg"})})]})}function rm(e){return!!e&&e.includes("pdf")}function rh(e){return!!e&&e.startsWith("text/")}function rk({attachment:e,vtName:t}){let r=e.source.mimeType,n=function(e){let[t,r]=(0,s.useState)(null);return((0,s.useEffect)(()=>{if("data"===e.source.type)try{let t=atob(e.source.value),n=new Uint8Array(t.length);for(let e=0;e<t.length;e++)n[e]=t.charCodeAt(e);let s=new Blob([n],{type:e.source.mimeType||"application/octet-stream"}),a=URL.createObjectURL(s);return r(a),()=>URL.revokeObjectURL(a)}catch(e){console.error("[CopilotKit] Failed to decode attachment data:",e),r(null)}},[e.source.type,e.source.value,e.source.mimeType]),"url"===e.source.type)?e.source.value:t}(e);if(rm(r))return n?(0,P.jsx)("iframe",{style:{viewTransitionName:t},src:n,title:e.filename||"PDF preview",className:"cpk:w-[90vw] cpk:h-[90vh] cpk:max-w-[1000px] cpk:rounded-lg cpk:bg-white"}):null;if(rh(r)){let r="data"===e.source.type?(()=>{try{return atob(e.source.value)}catch{return e.source.value}})():null;return(0,P.jsxs)("div",{style:{viewTransitionName:t},className:"cpk:w-[90vw] cpk:max-w-[800px] cpk:max-h-[90vh] cpk:overflow-auto cpk:rounded-lg cpk:bg-white cpk:dark:bg-gray-900 cpk:p-6",children:[e.filename&&(0,P.jsx)("div",{className:"cpk:text-sm cpk:font-medium cpk:text-gray-500 cpk:dark:text-gray-400 cpk:mb-4 cpk:pb-2 cpk:border-b cpk:border-gray-200 cpk:dark:border-gray-700",children:e.filename}),r?(0,P.jsx)("pre",{className:"cpk:text-sm cpk:whitespace-pre-wrap cpk:break-words cpk:text-gray-800 cpk:dark:text-gray-200 cpk:font-mono cpk:m-0",children:r}):n?(0,P.jsx)("iframe",{src:n,title:e.filename||"Text preview",className:"cpk:w-full cpk:h-[80vh] cpk:border-none"}):null]})}return(0,P.jsxs)("div",{style:{viewTransitionName:t},className:"cpk:flex cpk:flex-col cpk:items-center cpk:gap-4 cpk:p-8 cpk:rounded-lg cpk:bg-white cpk:dark:bg-gray-900",children:[(0,P.jsx)("div",{className:"cpk:w-16 cpk:h-16 cpk:rounded-xl cpk:bg-primary cpk:text-primary-foreground cpk:flex cpk:items-center cpk:justify-center cpk:text-xl cpk:font-bold",children:(0,$.D)(r??"")}),(0,P.jsxs)("div",{className:"cpk:text-center",children:[(0,P.jsx)("div",{className:"cpk:text-base cpk:font-medium cpk:text-gray-800 cpk:dark:text-gray-200",children:e.filename||"Document"}),(0,P.jsxs)("div",{className:"cpk:text-sm cpk:text-gray-500 cpk:dark:text-gray-400 cpk:mt-1",children:[r||"Unknown type",null!=e.size&&` \xb7 ${(0,$.v7)(e.size)}`]})]}),(0,P.jsx)("div",{className:"cpk:text-xs cpk:text-gray-400 cpk:dark:text-gray-500",children:"No preview available for this file type"})]})}function rx({attachment:e}){let{thumbnailRef:t,vtName:r,open:n,openLightbox:s,closeLightbox:a}=tW(),o=e.source.mimeType,i=rm(o)||rh(o);return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsxs)("div",{ref:t,className:el("cpk:flex cpk:items-center cpk:gap-2",i&&"cpk:cursor-pointer"),onClick:i?s:void 0,children:[(0,P.jsx)("div",{className:"cpk:w-8 cpk:h-8 cpk:rounded-md cpk:bg-primary cpk:text-primary-foreground cpk:flex cpk:items-center cpk:justify-center cpk:text-[10px] cpk:font-semibold cpk:shrink-0",children:(0,$.D)(o??"")}),(0,P.jsxs)("div",{className:"cpk:flex cpk:flex-col cpk:min-w-0",children:[(0,P.jsx)("span",{className:"cpk:text-xs cpk:font-medium cpk:break-all cpk:leading-tight",children:e.filename||"Document"}),null!=e.size&&(0,P.jsx)("span",{className:"cpk:text-[11px] cpk:text-muted-foreground",children:(0,$.v7)(e.size)})]})]}),n&&(0,P.jsx)(tH,{onClose:a,children:(0,P.jsx)(rk,{attachment:e,vtName:r})})]})}let rb=["pin-to-bottom","pin-to-send","none"],ry=s.createContext({id:null,
71sendNonce:0});function rv(e,t){let r=e.getBoundingClientRect(),n=t.getBoundingClientRect();return r.top-n.top+t.scrollTop}function rw(){return(0,P.jsx)("div",{className:el("cpk:absolute cpk:inset-0 cpk:z-50 cpk:pointer-events-none","cpk:flex cpk:items-center cpk:justify-center","cpk:bg-primary/5 cpk:backdrop-blur-[2px]","cpk:border-2 cpk:border-dashed cpk:border-primary/40 cpk:rounded-lg cpk:m-2"),children:(0,P.jsxs)("div",{className:"cpk:flex cpk:flex-col cpk:items-center cpk:gap-2 cpk:text-primary/70",children:[(0,P.jsx)(j.A,{className:"cpk:w-8 cpk:h-8"}),(0,P.jsx)("span",{className:"cpk:text-sm cpk:font-medium",children:"Drop files here"})]})})}function rC({messageView:e,input:t,scrollView:r,suggestionView:n,welcomeScreen:a,messages:o=[],autoScroll:i=!0,isRunning:l=!1,suggestions:c,suggestionLoadingIndexes:d,onSelectSuggestion:u,onSubmitMessage:p,onStop:f,inputMode:g,inputValue:m,onInputChange:h,onStartTranscribe:k,onCancelTranscribe:x,onFinishTranscribe:b,onFinishTranscribeWithAudio:y,attachments:v,onRemoveAttachment:w,onAddFile:C,dragOver:j,onDragOver:I,onDragLeave:R,onDrop:N,isConnecting:E=!1,hasExplicitThreadId:S=!1,disclaimer:T,intelligenceIndicator:M,children:A,className:z,...$}
71){let[O,L]=(0,s.useState)(null),[_,B]=(0,s.useState)(0),[F,U]=(0,s.useState)(!1),D=(0,s.useRef)(null),{isKeyboardOpen:K,keyboardHeight:H,availableHeight:W}=function(){let[e,t]=(0,s.useState)({isKeyboardOpen:!1,keyboardHeight:0,availableHeight:"undefined"!=typeof window?window.innerHeight:0,viewportHeight:"undefined"!=typeof window?window.innerHeight:0});return(0,s.useEffect)(()=>{if("undefined"==typeof window)return;let e=window.visualViewport;if(!e)return;let r=()=>{let r=window.innerHeight,n=e.height,s=Math.max(0,r-n);t({isKeyboardOpen:s>150,keyboardHeight:s,availableHeight:n,viewportHeight:r})};return r(),e.addEventListener("resize",r),e.addEventListener("scroll",r),()=>{e.removeEventListener("resize",r),e.removeEventListener("scroll",r)}},[]),e}();(0,s.useEffect)(()=>{if(!O)return void B(0);let e=new ResizeObserver(e=>{for(let t of e){let e=t.contentRect.height;B(t=>e!==t?(U(!0),D.current&&clearTimeout(D.current),D.current=setTimeout(()=>{U(!1)},250),e):t)}});return e.observe(O),B(O.offsetHeight),()=>{e.disconnect(),D.current&&clearTimeout(D.current)}},[O]);let Y=eN(e,rl,{messages:o,isRunning:l,intelligenceIndicator:M}),q=eN(t,eS,{onSubmitMessage:p,onStop:f,mode:g,value:m,onChange:h,isRunning:l,onStartTranscribe:k,onCancelTranscribe:x,onFinishTranscribe:b,onFinishTranscribeWithAudio:y,onAddFile:C,positioning:"static",keyboardHeight:K?H:0,showDisclaimer:!0,bottomAnchored:!0,...void 0!==T?{disclaimer:T}:{}}),V=!E&&!l&&Array.isArray(c)&&c.length>0,Q=V?eN(n,t4,{suggestions:c,loadingIndexes:d,onSelectSuggestion:u,className:"cpk:mb-3 cpk:lg:ml-4 cpk:lg:mr-4 cpk:ml-0 cpk:mr-0"}):null,J=eN(r,rC.ScrollView,{autoScroll:i,inputContainerHeight:_,isResizing:F,children:(0,P.jsx)("div",{"data-testid":"copilot-scroll-content",style:{paddingBottom:`${_+(V?4:32)}px`},children:(0,P.jsxs)("div",{className:"cpk:max-w-3xl cpk:mx-auto",children:[Y,V?(0,P.jsx)("div",{className:"cpk:pl-0 cpk:pr-4 cpk:@3xl:px-0 cpk:mt-4",children:Q}):null]})})});if(0===o.length&&!1!==a&&!E&&!S){let e=eN(t,eS,{onSubmitMessage:p,onStop:f,mode:g,value:m,onChange:h,isRunning:l,onStartTranscribe:k,onCancelTranscribe:x,onFinishTranscribe:b,onFinishTranscribeWithAudio:y,onAddFile:C,positioning:"static",showDisclaimer:!0,...void 0!==T?{disclaimer:T}:{}}),r=(0,P.jsxs)("div",{className:"cpk:w-full",children:[v&&v.length>0&&(0,P.jsx)(rc,{attachments:v,onRemoveAttachment:e=>w?.(e),className:"cpk:mb-2"}),e]}),n=eN(!0===a?void 0:a,rC.WelcomeScreen,{input:r,suggestionView:Q??(0,P.jsx)(P.Fragment,{})});return(0,P.jsxs)("div",{"data-copilotkit":!0,"data-testid":"copilot-chat","data-copilot-running":l?"true":"false",onDragOver:I,onDragLeave:R,onDrop:N,className:el("copilotKitChat cpk:@container cpk:relative cpk:h-full cpk:flex cpk:flex-col",z),...$,children:[j&&(0,P.jsx)(rw,{}),n]})}return A?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:A({messageView:Y,input:q,scrollView:J,suggestionView:Q??(0,P.jsx)(P.Fragment,{})})}):(0,P.jsxs)("div",{"data-copilotkit":!0,"data-testid":"copilot-chat","data-copilot-running":l?"true":"false",onDragOver:I,onDragLeave:R,onDrop:N,className:el("copilotKitChat cpk:@container cpk:relative cpk:h-full cpk:flex cpk:flex-col",z),...$,children:[j&&(0,P.jsx)(rw,{}),J,(0,P.jsxs)("div",{ref:L,"data-testid":"copilot-input-overlay",className:"cpk:absolute cpk:bottom-0 cpk:left-0 cpk:right-0 cpk:z-20 cpk:pointer-events-none",children:[v&&v.length>0&&(0,P.jsx)("div",{className:"cpk:max-w-3xl cpk:mx-auto cpk:w-full cpk:pointer-events-auto",children:(0,P.jsx)(rc,{attachments:v,onRemoveAttachment:e=>w?.(e),className:"cpk:px-4"})}),q]})]})}!function(e){let t=({children:e,scrollToBottomButton:t,feather:r,inputContainerHeight:n,isResizing:a})=>{let{isAtBottom:o,scrollToBottom:i,scrollRef:l}=(0,X.B)(),[c,d]=(0,s.useState)(null);(0,s.useLayoutEffect)(()=>{d(l.current??null)},[]);let u=eN(r,rC.Feather,{});return(0,P.jsx)(t5.Provider,{value:c,children:(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(X.z.Content,{className:"cpk:overflow-y-auto cpk:overflow-x-hidden",style:{flex:"1 1 0%",minHeight:0},children:(0,P.jsx)("div",{className:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6",children:e})}),u,!o&&!a&&(0,P.jsx)("div",{className:"cpk:absolute cpk:inset-x-0 cpk:flex cpk:justify-center cpk:z-30 cpk:pointer-events-none",style:{bottom:`${n+16}px`},children:eN(t,rC.ScrollToBottomButton,{onClick:()=>i()})})]})})},r=({children:e,scrollRef:t,contentRef:r,scrollToBottom:n,scrollToBottomButton:a,feather:o,inputContainerHeight:i,isResizing:l,nonAutoScrollEl:c,nonAutoScrollRefCallback:d,showScrollButton:u,className:p,...f})=>{let g=(0,s.useRef)(null);!function({scrollRef:e,contentRef:t,spacerRef:r,topOffset:n=16}){let{id:a,sendNonce:o}=(0,s.useContext)(ry),i=(0,s.useRef)(-1);(0,s.useEffect)(()=>
71{if(o===i.current||(i.current=o,!a))return;let s=e.current,l=t.current,c=r.current;if(!s||!l||!c)return;let d="undefined"!=typeof CSS&&CSS.escape?CSS.escape(a):a.replace(/[!"#$%&'()*+,./:;<=>?@[\\\]^`{|}~]/g,"\\$&"),u=l.querySelector(`[data-message-id="${d}"]`);if(!u)return;let p=s.clientHeight,f=u.getBoundingClientRect().height,g=parseFloat(getComputedStyle(u).paddingTop)||0,m=Math.max(0,p-Math.max(0,f-g)-n);c.style.height=`${m}px`;let h=requestAnimationFrame(()=>{let e=rv(u,s)+g-n;s.scrollTo({top:Math.max(0,e),behavior:"smooth"})}),k=new ResizeObserver(()=>{if(!l||!c||!s)return;let e=Math.max(0,m-(l.getBoundingClientRect().height-rv(u,l)-f));c.style.height=`${e}px`});return k.observe(l),()=>{cancelAnimationFrame(h),k.disconnect()}},[a,o,e,t,r,n])}({scrollRef:t,contentRef:r,spacerRef:g,topOffset:16});let m=eN(o,rC.Feather,{});return(0,P.jsx)(t5.Provider,{value:c,children:(0,P.jsxs)("div",{className:el("cpk:h-full cpk:max-h-full cpk:flex cpk:flex-col cpk:min-h-0 cpk:relative",p),children:[(0,P.jsxs)("div",{ref:d,className:"cpk:flex-1 cpk:min-h-0 cpk:overflow-y-auto cpk:overflow-x-hidden",...f,children:[(0,P.jsx)("div",{ref:r,className:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6",children:e}),(0,P.jsx)("div",{ref:g,"data-pin-to-send-spacer":!0,"aria-hidden":"true",style:{height:0,flex:"0 0 auto"}})]}),m,u&&!l&&(0,P.jsx)("div",{className:"cpk:absolute cpk:inset-x-0 cpk:flex cpk:justify-center cpk:z-30 cpk:pointer-events-none",style:{bottom:`${i+16}px`},children:eN(a,rC.ScrollToBottomButton,{onClick:()=>n()})})]})})};e.ScrollView=({children:e,autoScroll:n="pin-to-bottom",scrollToBottomButton:a,feather:o,inputContainerHeight:i=0,isResizing:l=!1,className:c,...d})=>{let u=void 0===n||!0===n?"pin-to-bottom":!1===n?"none":rb.includes(n)?n:"pin-to-bottom",[p,f]=(0,s.useState)(!1),g=(0,s.useRef)(null),m=(0,s.useRef)(null),h=(0,s.useCallback)(()=>{let e=g.current;e&&e.scrollTo({top:e.scrollHeight,behavior:"smooth"})},[]),[k,x]=(0,s.useState)(!1),[b,y]=(0,s.useState)(null),v=(0,s.useCallback)(e=>{g.current=e,y(e)},[]);if((0,s.useEffect)(()=>{f(!0)},[]),(0,s.useEffect)(()=>{if("pin-to-bottom"===u||!b)return;let e=()=>{x(!(b.scrollHeight-b.scrollTop-b.clientHeight<10))};e(),b.addEventListener("scroll",e);let t=new ResizeObserver(e);return t.observe(b),()=>{b.removeEventListener("scroll",e),t.disconnect()}},[b,u]),!p)return(0,P.jsx)("div",{className:"cpk:h-full cpk:max-h-full cpk:flex cpk:flex-col cpk:min-h-0 cpk:overflow-y-auto cpk:overflow-x-hidden",children:(0,P.jsx)("div",{className:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6",children:e})});if("none"===u){let t=eN(o,rC.Feather,{});return(0,P.jsx)(t5.Provider,{value:b,children:(0,P.jsxs)("div",{ref:v,className:el("cpk:h-full cpk:max-h-full cpk:flex cpk:flex-col cpk:min-h-0 cpk:overflow-y-auto cpk:overflow-x-hidden cpk:relative",c),...d,children:[(0,P.jsx)("div",{ref:m,className:"cpk:px-4 cpk:@3xl:px-0 cpk:[div[data-sidebar-chat]_&]:px-8 cpk:[div[data-popup-chat]_&]:px-6",children:e}),t,k&&!l&&(0,P.jsx)("div",{className:"cpk:absolute cpk:inset-x-0 cpk:flex cpk:justify-center cpk:z-30 cpk:pointer-events-none",style:{bottom:`${i+16}px`},children:eN(a,rC.ScrollToBottomButton,{onClick:()=>h()})})]})})}return"pin-to-send"===u?(0,P.jsx)(r,{scrollRef:g,contentRef:m,scrollToBottom:h,scrollToBottomButton:a,feather:o,inputContainerHeight:i,isResizing:l,nonAutoScrollEl:b,nonAutoScrollRefCallback:v,showScrollButton:k,className:c,...d,children:e}):(0,P.jsx)(X.z,{className:el("cpk:flex-1 cpk:max-h-full cpk:flex cpk:flex-col cpk:min-h-0",c),resize:"smooth",initial:"smooth",...d,children:(0,P.jsx)(t,{scrollToBottomButton:a,feather:o,inputContainerHeight:i,isResizing:l,children:e})})},e.ScrollToBottomButton=({className:e,...t})=>(0,P.jsx)(ed,{"data-testid":"copilot-scroll-to-bottom",variant:"outline",size:"sm",className:(0,i.QP)("cpk:rounded-full cpk:w-10 cpk:h-10 cpk:p-0 cpk:pointer-events-auto","cpk:bg-white cpk:dark:bg-gray-900","cpk:shadow-lg cpk:border cpk:border-gray-200 cpk:dark:border-gray-700","cpk:hover:bg-gray-50 cpk:dark:hover:bg-gray-800","cpk:flex cpk:items-center cpk:justify-center cpk:cursor-pointer",e),...t,children:(0,P.jsx)(I.A,{className:"cpk:w-4 cpk:h-4 cpk:text-gray-600 cpk:dark:text-white"})}),e.Feather=({className:e,...t})=>(0,P.jsx)("div",{className:e,...t}),e.WelcomeMessage=({className:e,...t})=>{let r=eo()?.labels??er;
71return(0,P.jsx)("h1",{className:el("cpk:text-xl cpk:sm:text-2xl cpk:font-medium cpk:text-foreground cpk:text-center",e),...t,children:r.welcomeMessageText})},e.WelcomeScreen=({welcomeMessage:e,input:t,suggestionView:r,className:n,children:s,...a})=>{let o=eN(e,rC.WelcomeMessage,{});return s?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:s({welcomeMessage:o,input:t,suggestionView:r,className:n,...a})}):(0,P.jsx)("div",{"data-testid":"copilot-welcome-screen",className:el("cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4",n),...a,children:(0,P.jsxs)("div",{className:"cpk:w-full cpk:max-w-3xl cpk:flex cpk:flex-col cpk:items-center",children:[(0,P.jsx)("div",{className:"cpk:mb-6",children:o}),(0,P.jsx)("div",{className:"cpk:w-full",children:t}),(0,P.jsx)("div",{className:"cpk:mt-4 cpk:flex cpk:justify-center",children:r})]})})}}(rC||(rC={}));var rj=rC;async function rI(e){return new Promise((t,r)=>{let n=new FileReader;n.onloadend=()=>{t(n.result.split(",")[1]??"")},n.onerror=()=>r(Error("Failed to read audio data")),n.readAsDataURL(e)})}var rR=class extends Error{constructor(e){super(e.message),this.name="TranscriptionError",this.info=e}};async function rN(e,t,r="recording.webm"){let n,s=e.runtimeUrl;if(!s)throw new rR({code:L.Y.INVALID_REQUEST,message:"Runtime URL is not configured",retryable:!1});let a={...e.headers};try{if("single"===e.runtimeTransport){let e=await rI(t);a["Content-Type"]="application/json",n=await fetch(s,{method:"POST",headers:a,body:JSON.stringify({method:"transcribe",body:{audio:e,mimeType:t.type||"audio/webm",filename:r}})})}else{delete a["Content-Type"];let e=new FormData;e.append("audio",t,r),n=await fetch(`${s}/transcribe`,{method:"POST",headers:a,body:e})}}catch(e){throw new rR({code:L.Y.NETWORK_ERROR,message:e instanceof Error?e.message:"Network request failed",retryable:!0})}if(!n.ok){var o,i;let e;try{e=await n.json()}catch{throw new rR({code:L.Y.PROVIDER_ERROR,message:`HTTP ${n.status}: ${n.statusText}`,retryable:n.status>=500})}if("object"==typeof(o=e)&&null!==o&&"error"in o&&"message"in o&&"string"==typeof o.error&&"string"==typeof o.message)throw new rR({code:(i=e).error,message:i.message,retryable:i.retryable??!1});throw new rR({code:L.Y.PROVIDER_ERROR,message:"object"==typeof e&&null!==e&&"message"in e?String(e.message):"Transcription failed",retryable:n.status>=500})}return await n.json()}function rE({agentId:e,threadId:t,labels:r,chatView:n,isModalDefaultOpen:i,attachments:l,onError:c,throttleMs:d,...u}){let p=eo(),f=e??p?.agentId??E.kv,g=t??p?.threadId,m=(0,s.useMemo)(()=>g??(0,S.N4)(),[g]),h=!!t||!!p?.hasExplicitThreadId,{agent:k,isReady:x}=tA({agentId:f,throttleMs:d}),{copilotkit:b}=(0,W.kr)(),{suggestions:y}=t$({agentId:f}),{checkFeature:v}=(0,W.Sr)(),w=v("chat");(0,s.useEffect)(()=>{w||console.warn('[CopilotKit] Warning: "chat" feature is not licensed. Visit copilotkit.ai/pricing')},[w]);let C=(0,s.useRef)(c);(0,s.useEffect)(()=>{C.current=c},[c]),(0,s.useEffect)(()=>{if(!C.current)return;let e=b.subscribe({onError:e=>{e.context?.agentId!==f&&e.context?.agentId||C.current?.({error:e.error,code:e.code,context:e.context})}});return()=>{e.unsubscribe()}},[b,f]);let[j,I]=(0,s.useState)("input"),[R,N]=(0,s.useState)(""),[T,M]=(0,s.use
71State)(null),[A,z]=(0,s.useState)(!1),{attachments:$,enabled:O,dragOver:_,fileInputRef:B,containerRef:F,handleFileUpload:U,handleDragOver:D,handleDragLeave:K,handleDrop:H,removeAttachment:Y,consumeAttachments:q}=tB({config:l}),V=(0,s.useRef)($);(0,s.useEffect)(()=>{V.current=$},[$]);let Q=b.audioFileTranscriptionEnabled,J="undefined"!=typeof window&&"undefined"!=typeof MediaRecorder,{messageView:G,suggestionView:X,onStop:Z,...ee}=u,[er,en]=(0,s.useState)(null),es=h&&er!==m,ei=(0,s.useRef)(0),el=(0,s.useRef)(!1),ec=(0,s.useRef)(0),ed=(0,s.useRef)(new Set),eu=(0,s.useRef)(new Map),ep=(0,s.useRef)(new Set),ef=(0,s.useRef)(new Map),eg=(0,s.useRef)(void 0),em=(0,s.useRef)(null),eh=b.runtimeConnectionStatus===a.Ub.Connected?"Connected":b.runtimeConnectionStatus,ek=h&&"Connected"===eh&&!!b.intelligence?.wsUrl&&b.threadEndpoints?.realtimeMetadata===!0,[ex]=(0,s.useState)(()=>(0,a.x)({fetch:globalThis.fetch})),eb=(0,s.useRef)(null),ey=(0,s.useRef)(h);ey.current=h;let ev=(0,s.useCallback)(e=>{let t=eu.current.get(e);t&&clearTimeout(t);let r=setTimeout(()=>{eu.current.delete(e)},3e4);eu.current.set(e,r)},[]),ew=(0,s.useCallback)(e=>{let t=ef.current.get(e);t&&clearTimeout(t);let r=setTimeout(()=>{ef.current.delete(e)},3e4);ef.current.set(e,r)},[]),eC=(0,s.useCallback)(e=>{if(e.agentId&&e.agentId!==f||!e.runId||!ed.current.has(e.runId)&&!eu.current.has(e.runId))return!1;let t=e.eventType.toUpperCase();return"RUN_STARTED"===t||"RUN_FINISHED"===t||"RUN_ERROR"===t},[f]);(0,s.useEffect)(()=>{let e=eu.current,t=ef.current;return()=>{e.forEach(e=>{clearTimeout(e)}),e.clear(),t.forEach(e=>{clearTimeout(e)}),t.clear()}},[]),(0,s.useEffect)(()=>{let e=eb.current!==m;if(eb.current=m,k.threadId=m,!h){e&&k.messages.length>0&&k.setMessages([]);return}let t=!1,r=new AbortController;return k instanceof o.qB&&(k.abortController=r),(async e=>{ei.current+=1;try{await b.connectAgent({agent:e})}catch(e){if(t)return;console.error("CopilotChat: connectAgent failed",e)}finally{if(t?ey.current||e.setMessages([]):("function"==typeof requestAnimationFrame?requestAnimationFrame:e=>setTimeout(e,16))(()=>{t||en(m)}),ei.current=Math.max(0,ei.current-1),!t&&0===ei.current){let e=em.current;el.current&&e&&(el.current=!1,e(ec.current))}}})(k),()=>{t=!0,r.abort(),k.detachActiveRun().catch(()=>{})}},[m,k,f,h]),(0,s.useEffect)(()=>{if(!ek)return;let e=b.getThreadStore(f),t=e??ex;if(!t?.subscribeToRunActivity)return;let r=void 0===e;if(r){t.start();let e=b.runtimeUrl?{runtimeUrl:b.runtimeUrl,headers:{...b.headers},wsUrl:b.intelligence?.wsUrl,agentId:f}:null;t.setContext(e)}let n=ec.current+1;ec.current=n;let s=!1,a=!1,o=null,i=()=>ed.current.size>0||k.isRunning,l=()=>{null===o&&(o=setTimeout(()=>{if(o=null,!s&&ec.current===n&&el.current){if(i())return void l();em.current?.(n)}},10))},c=async()=>{ei.current+=1,a=!0;let e=eg.current;eg.current=void 0,e&&ep.current.add(e);let t=!1;try{await b.connectAgent({agent:k}),t=!0}catch(e){s||console.error("CopilotChat: run activity reconnect failed",e)}finally{e&&(ep.current.delete(e),t&&ew(e)),ei.current=Math.max(0,ei.current-1),a=!1,!s&&ec.current===n&&0===ei.current&&el.current&&(el.current=!1,c())}};em.current=e=>{if(!s&&e===n&&ec.current===n){if(i()){el.current=!0,l();return}if(ei.current>0){a||(el.current=!0);return}el.current=!1,c()}};let d=t.subscribeToRunActivity(e=>{!(e.threadId!==m||e.agentId&&e.agentId!==f||eC(e))&&(e.runId&&(ep.current.has(e.runId)||ef.current.has(e.runId))||(eg.current=e.runId,em.current?.(n)))});return()=>{s=!0,el.current=!1,eg.current=void 0,null!==o&&(clearTimeout(o),o=null),em.current&&(em.current=null),a&&k.detachActiveRun().catch(()=>{}),ep.current.clear(),d.unsubscribe(),r&&(t.setContext(null),t.stop())}},[k,f,m,h,ek,b.runtimeConnectionStatus,b.runtimeUrl,b.headers,b.intelligence?.wsUrl,b.threadEndpoints?.realtimeMetadata,ex,eC,ew]);let ej=(0,s.useCallback)(async()=>{let e=(0,a.Es)(k)?k.activeRunCompletionPromise:void 0;if(k.isRunning&&e)try{await e}catch(e){console.error("CopilotChat: in-flight run rejected while queuing send",e)}},[k]),eI=(0,s.useCallback)(async e=>{if(V.current.some(e=>"uploading"===e.status)){console.error("[CopilotKit] Cannot send while attachments are uploading (pre-await guard)"),M("Cannot send while attachments are uploading.");return}if(N(""),await ej(),V.current.some(e=>"uploading"===e.status)){console.error("[CopilotKit] Cannot send while attachments are uploading (post-await re-check)"),M("Cannot send while attachments are uploading."),N(e);return}let t=q();if(t.length>0){let r=[];for(let n of(e.trim()&&r.push({type:"text",text:e}),t))r.push({type:n.type,source:n.source,metadata:{...n.filename?{filename:n.filename}:{},...n.metadata}});k.addMessage({id:(0,S.N4)(),role:"user",content:r})}else k.addMessage({id:(0,S.N4)(),role:"user",content:e});let r=ek?(0,S.N4)():void 0;r&&ed.current.add(r);try{await b.runAgent({agent:k,...void 0!==r?{runId:r}:{}})}catch(e){console.error("CopilotChat: runAgent failed",e)}
71finally{if(r&&(ed.current.delete(r),ev(r)),el.current&&0===ed.current.size&&0===ei.current){let e=em.current;e&&(el.current=!1,e(ec.current))}}},[k,q,ej,ek,ev]),eR=(0,s.useCallback)(async e=>{await ej(),k.addMessage({id:(0,S.N4)(),role:"user",content:e.message});let t=ek?(0,S.N4)():void 0;t&&ed.current.add(t);try{await b.runAgent({agent:k,...void 0!==t?{runId:t}:{}})}catch(e){console.error("CopilotChat: runAgent failed after selecting suggestion",e)}finally{if(t&&(ed.current.delete(t),ev(t)),el.current&&0===ed.current.size&&0===ei.current){let e=em.current;e&&(el.current=!1,e(ec.current))}}},[k,ej,ek,ev]),eE=(0,s.useCallback)(()=>{try{b.stopAgent({agent:k})}catch(e){console.error("CopilotChat: stopAgent failed",e);try{k.abortRun()}catch(e){console.error("CopilotChat: abortRun fallback failed",e)}}},[k]),eS=(0,s.useCallback)(()=>{M(null),I("transcribe")},[]),eT=(0,s.useCallback)(()=>{M(null),I("input")},[]),eM=(0,s.useCallback)(()=>{I("input")},[]),eA=(0,s.useCallback)(async e=>{z(!0);try{M(null);let t=await rN(b,e);N(e=>{let r=e.trim();return r?`${r} ${t.text}`:t.text})}catch(e){if(console.error("CopilotChat: Transcription failed",e),e instanceof rR){let{code:t,retryable:r,message:n}=e.info;switch(t){case L.Y.RATE_LIMITED:M("Too many requests. Please wait a moment.");break;case L.Y.AUTH_FAILED:M("Authentication error. Please check your configuration.");break;case L.Y.AUDIO_TOO_LONG:M("Recording is too long. Please try a shorter recording.");break;case L.Y.AUDIO_TOO_SHORT:M("Recording is too short. Please try again.");break;case L.Y.INVALID_AUDIO_FORMAT:M("Audio format not supported.");break;case L.Y.SERVICE_NOT_CONFIGURED:M("Transcription service is not available.");break;case L.Y.NETWORK_ERROR:M("Network error. Please check your connection.");break;default:M(r?"Transcription failed. Please try again.":n)}}else M("Transcription failed. Please try again.")}finally{z(!1)}},[]);(0,s.useEffect)(()=>{if(T){let e=setTimeout(()=>{M(null)},5e3);return()=>clearTimeout(e)}},[T]);let ez=et("string"==typeof G?{className:G}:G),e$=et(X),eO=(0,s.useCallback)(()=>{setTimeout(()=>{B.current?.click()},100)},[]),eL={isRunning:k.isRunning,suggestions:x?y:[],onSelectSuggestion:x?eR:void 0,suggestionView:e$,...ee};void 0!==ez&&(eL.messageView=ez);let e_=k.messages.length>0,eP=k.isRunning&&e_?Z??eE:Z,eB=Q&&J,eU=(0,s.useMemo)(()=>[...k.messages],[k.messages.map(e=>{let t="string"==typeof e.content||Array.isArray(e.content)?e.content.length:e.content&&"object"==typeof e.content?JSON.stringify(e.content):0,r="toolCalls"in e&&Array.isArray(e.toolCalls)?e.toolCalls.map(e=>`${e.id}:${e.function?.arguments?.length??0}`).join(";"):"";return`${e.id}:${e.role}:${t}:${r}`}).join(",")]),eD=(0,s.useMemo)(()=>{for(let e=eU.length-1;e>=0;e--)if("user"===eU[e].role)return eU[e].id;return null}
71,[eU]),[eK,eH]=(0,s.useState)(0),eW=(0,s.useRef)(eD);(0,s.useEffect)(()=>{eD&&eD!==eW.current&&(eH(e=>e+1),eW.current=eD)},[eD]);let eY=(0,s.useMemo)(()=>({id:eD,sendNonce:eK}),[eD,eK]),eq=eN(n,rC,{...eL,messages:eU,onSubmitMessage:x?eI:void 0,onStop:eP,inputMode:A?"processing":j,inputValue:R,onInputChange:N,onStartTranscribe:eB?eS:void 0,onCancelTranscribe:eB?eT:void 0,onFinishTranscribe:eB?eM:void 0,onFinishTranscribeWithAudio:eB?eA:void 0,attachments:$,onRemoveAttachment:Y,onAddFile:O?eO:void 0,dragOver:_,onDragOver:D,onDragLeave:K,onDrop:H,isConnecting:es,hasExplicitThreadId:h});return(0,P.jsx)(ea,{agentId:f,threadId:m,hasExplicitThreadId:h,labels:r,isModalDefaultOpen:i,children:(0,P.jsxs)("div",{ref:F,style:{display:"contents"},children:[O&&(0,P.jsx)("input",{type:"file",multiple:!0,ref:B,onChange:U,accept:l?.accept??"*/*",style:{display:"none"}}),!w&&(0,P.jsx)(eF,{featureName:"Chat"}),T&&(0,P.jsx)("div",{style:{position:"absolute",bottom:"100px",left:"50%",transform:"translateX(-50%)",backgroundColor:"#ef4444",color:"white",padding:"8px 16px",borderRadius:"8px",fontSize:"14px",zIndex:50},children:T}),(0,P.jsx)(ry.Provider,{value:eY,children:eq})]})})}(rE||(rE={})).View=rC;let rS=({className:e,...t})=>(0,P.jsx)(R.A,{className:el("cpk:h-6 cpk:w-6",e),strokeWidth:1.75,fill:"currentColor",...t}),rT=({className:e,...t})=>(0,P.jsx)(f.A,{className:el("cpk:h-6 cpk:w-6",e),strokeWidth:1.75,...t});rS.displayName="CopilotChatToggleButton.OpenIcon",rT.displayName="CopilotChatToggleButton.CloseIcon";let rM=Object.freeze({transition:"opacity 120ms ease-out, transform 260ms cubic-bezier(0.22, 1, 0.36, 1)"}),rA="cpk:pointer-events-none cpk:absolute cpk:inset-0 cpk:flex cpk:items-center cpk:justify-center cpk:will-change-transform",rz=el("copilotKitButton","cpk:fixed cpk:bottom-6 cpk:right-6 cpk:z-[1100] cpk:flex cpk:h-14 cpk:w-14 cpk:items-center cpk:justify-center","cpk:rounded-full cpk:border cpk:border-primary cpk:bg-primary cpk:text-primary-foreground","cpk:shadow-sm cpk:transition-all cpk:duration-200 cpk:ease-out","cpk:hover:scale-[1.04] cpk:hover:shadow-md","cpk:cursor-pointer","cpk:active:scale-[0.96]","cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-primary/50 cpk:focus-visible:ring-offset-2 cpk:focus-visible:ring-offset-background","cpk:disabled:pointer-events-none cpk:disabled:opacity-60"),r$=s.forwardRef(function({openIcon:e,closeIcon:t,className:r,...n},a){let{onClick:o,type:i,disabled:l,...c}=n,d=eo(),u=d?.labels??er,[p,f]=(0,s.useState)(!1),g=d?.isModalOpen??p,m=d?.setModalOpen??f,h=eN(e,rS,{className:"cpk:h-6 cpk:w-6","aria-hidden":!0,focusable:!1}),k=eN(t,rT,{className:"cpk:h-6 cpk:w-6","aria-hidden":!0,focusable:!1}),x=(0,P.jsx)("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-open-icon",className:rA,style:{...rM,opacity:+!g,transform:`scale(${g?.75:1}) rotate(${90*!!g}deg)`},children:h}),b=(0,P.jsx)("span",{"aria-hidden":"true","data-slot":"chat-toggle-button-close-icon",className:rA,style:{...rM,opacity:+!!g,transform:`scale(${g?1:.75}) rotate(${g?0:-90}deg)`}
71,children:k});return(0,P.jsxs)("button",{ref:a,type:i??"button","data-copilotkit":!0,"data-testid":"copilot-chat-toggle","data-slot":"chat-toggle-button","data-state":g?"open":"closed",className:el(rz,r),"aria-label":g?u.chatToggleCloseLabel:u.chatToggleOpenLabel,"aria-pressed":g,disabled:l,onClick:e=>{!l&&(o&&o(e),e.defaultPrevented||m(!g))},...c,children:[x,b]})});function rO({title:e,titleContent:t,closeButton:r,drawerLauncher:n,children:a,className:o,...i}){let l=eo(),c=l?.labels.modalHeaderTitle??er.modalHeaderTitle,d=e??c,u=function(){let[e,t]=(0,s.useState)(!1);return(0,s.useEffect)(()=>{if("undefined"==typeof window||"function"!=typeof window.matchMedia)return;let e=window.matchMedia("(max-width: 767px)"),r=()=>t(e.matches);return r(),e.addEventListener("change",r),()=>e.removeEventListener("change",r)},[]),e}(),p=(l?.drawerRegistered??!1)&&u,f=(0,s.useCallback)(()=>{l?.setModalOpen?.(!1)},[l]),g=(0,s.useCallback)(()=>{l?.setDrawerOpen?.(!l.drawerOpen)},[l]),m=eN(t,rO.Title,{children:d}),h=eN(r,rO.CloseButton,{onClick:f}),k=p?eN(n,rO.DrawerLauncher,{onClick:g,"aria-expanded":l?.drawerOpen??!1}):null;return a?a({titleContent:m,closeButton:h,drawerLauncher:k,title:d,...i}):(0,P.jsx)("header",{"data-testid":"copilot-modal-header","data-slot":"copilot-modal-header",className:el("copilotKitHeader","cpk:flex cpk:items-center cpk:justify-between cpk:border-b cpk:border-border cpk:px-4 cpk:py-4","cpk:bg-background/95 cpk:backdrop-blur cpk:supports-[backdrop-filter]:bg-background/80",o),...i,children:(0,P.jsxs)("div",{className:"cpk:flex cpk:w-full cpk:items-center cpk:gap-2",children:[(0,P.jsx)("div",{className:"cpk:flex cpk:flex-1 cpk:justify-start",children:k??(0,P.jsx)("span",{"aria-hidden":"true"})}),(0,P.jsx)("div",{className:"cpk:flex cpk:flex-1 cpk:justify-center cpk:text-center",children:m}),(0,P.jsx)("div",{className:"cpk:flex cpk:flex-1 cpk:justify-end",children:h})]})})}function rL({header:e,toggleButton:t,width:r,defaultOpen:n=!0,position:s="right",...a}){return(0,P.jsx)(ea,{isModalDefaultOpen:n,children:(0,P.jsx)(r_,{header:e,toggleButton:t,width:r,position:s,...a})})}function r_({header:e,toggleButton:t,width:r,position:n="right",...a}){let o=eo()?.isModalOpen??!1,i=(0,s.useRef)(null),[l,c]=(0,s.useState)(r??480);(0,s.useEffect)(()=>{if(void 0!==r||"undefined"==typeof window)return;let e=i.current;if(!e)return;let t=()=>{let t=e.getBoundingClientRect();t.width>0&&c(t.width)};if(t(),"undefined"!=typeof ResizeObserver){let r=new ResizeObserver(()=>t());return r.observe(e),()=>r.disconnect()}return window.addEventListener("resize",t),()=>window.removeEventListener("resize",t)},[r]);let d=(0,s.useRef)(!1);(0,s.useLayoutEffect)(()=>{if("undefined"==typeof window||"function"!=typeof window.matchMedia||!window.matchMedia("(min-width: 768px)").matches)return;let e="left"===n?"marginInlineStart":"marginInlineEnd",t="left"===n?"margin-inline-start":"margin-inline-end";if(o)d.current&&(document.body.style.transition=`${t} 260ms ease`),document.body.style[e]="number"==typeof l?`${l}px`:l;else d.current&&(document.body.style.transition=`${t} 260ms ease`,document.body.style[e]="");return d.current=!0,()=>{document.body.style[e]="",document.body.style.transition=""}},[o,l,n]);let u=eN(e,rO,{});return(0,P.jsxs)(P.Fragment,{children:[eN(t,r$,"left"===n?{className:"cpk:left-6 cpk:right-auto"}:{}),(0,P.jsx)("aside",{ref:i,"data-copilotkit":!0,"data-testid":"copilot-sidebar","data-copilot-sidebar":!0,"data-position":n,className:el("copilotKitSidebar copilotKitWindow","cpk:fixed cpk:top-0 cpk:z-[1200] cpk:flex","left"===n?"cpk:left-0":"cpk:right-0","cpk:h-[100vh] cpk:h-[100dvh] cpk:max-h-screen","cpk:w-full","left"===n?"cpk:border-r":"cpk:border-l","cpk:border-border cpk:bg-background cpk:text-foreground cpk:shadow-xl","cpk:transition-transform cpk:duration-300 cpk:ease-out",o?"cpk:translate-x-0":"left"===n?"cpk:-translate-x-full cpk:pointer-events-none":"cpk:translate-x-full cpk:pointer-events-none"),style:{"--sidebar-width":"number"==typeof l?`${l}px`:l,paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)"},"aria-hidden":!o,"aria-label":"Copilot chat sidebar",role:"complementary",children:(0,P.jsxs)("div",{className:"cpk:flex cpk:h-full cpk:w-full cpk:flex-col cpk:overflow-hidden",children:[u,(0,P.jsx)("div",{className:"cpk:flex-1 cpk:overflow-hidden","data-sidebar-chat":!0,children:(0,P.jsx)(rj,{...a})})]})})]})}r$.displayName="CopilotChatToggleButton",rO.displayName="CopilotModalHeader",function(e){e.Title=({children:e,className:t,...r})=>(0,P.jsx)("div",{"data-testid":"copilot-header-title",className:el("cpk:w-full cpk:text-base cpk:font-medium cpk:leading-none cpk:tracking-tight cpk:text-foreground",t),...r,children:e}),e.CloseButton=({className:e,...t})=>(0,P.jsx)("button",{type:"button","data-testid":"copilot-close-button",className:el("cpk:inline-flex cpk:size-8 cpk:items-center cpk:justify-center cpk:rounded-full cpk:text-muted-foreground cpk:transition cpk:cursor-pointer","cpk:hover:bg-muted cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring",e),"aria-label":"Close",...t,children:(0,P.jsx)(f.A,{className:"cpk:h-4 cpk:w-4","aria-hidden":"true"})}
71),e.DrawerLauncher=({className:e,...t})=>(0,P.jsx)("button",{type:"button","data-testid":"copilot-threads-drawer-launcher",className:el("cpk:inline-flex cpk:size-8 cpk:items-center cpk:justify-center cpk:rounded-full cpk:text-muted-foreground cpk:transition cpk:cursor-pointer","cpk:hover:bg-muted cpk:hover:text-foreground cpk:focus-visible:outline-none cpk:focus-visible:ring-2 cpk:focus-visible:ring-ring",e),"aria-label":"Open threads",...t,children:(0,P.jsx)(N.A,{className:"cpk:h-4 cpk:w-4","aria-hidden":"true"})})}(rO||(rO={})),rO.Title.displayName="CopilotModalHeader.Title",rO.CloseButton.displayName="CopilotModalHeader.CloseButton",rO.DrawerLauncher.displayName="CopilotModalHeader.DrawerLauncher",rL.displayName="CopilotSidebarView",(rL||(rL={})).WelcomeScreen=({welcomeMessage:e,input:t,suggestionView:r,className:n,children:s,...a})=>{let o=eN(e,rj.WelcomeMessage,{});return s?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:s({welcomeMessage:o,input:t,suggestionView:r,className:n,...a})}):(0,P.jsxs)("div",{className:el("cpk:h-full cpk:flex cpk:flex-col",n),...a,children:[(0,P.jsx)("div",{className:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4",children:o}),(0,P.jsx)("div",{className:"cpk:px-8 cpk:pb-4",children:(0,P.jsxs)("div",{className:"cpk:max-w-3xl cpk:mx-auto",children:[(0,P.jsx)("div",{className:"cpk:mb-4 cpk:flex cpk:justify-center",children:r}),t]})})]})};let rP=(e,t)=>"number"==typeof e&&Number.isFinite(e)?`${e}px`:"string"==typeof e&&e.trim().length>0?e:`${t}px`;function rB({header:e,toggleButton:t,width:r,height:n,clickOutsideToClose:s,defaultOpen:a=!0,className:o,...i}){return(0,P.jsx)(ea,{isModalDefaultOpen:a,children:(0,P.jsx)(rF,{header:e,toggleButton:t,width:r,height:n,clickOutsideToClose:s,className:o,...i})})}function rF({header:e,toggleButton:t,width:r,height:n,clickOutsideToClose:a,className:o,...i}){let l=eo(),c=l?.isModalOpen??!1,d=l?.setModalOpen,u=l?.labels??er,p=(0,s.useRef)(null),[f,g]=(0,s.useState)(c),[m,h]=(0,s.useState)(!1);(0,s.useEffect)(()=>{if(c){g(!0),h(!1);return}if(!f)return;h(!0);let e=setTimeout(()=>{g(!1),h(!1)},200);return()=>clearTimeout(e)},[c,f]),(0,s.useEffect)(()=>{if(!c||"undefined"==typeof window)return;let e=e=>{"Escape"===e.key&&(e.preventDefault(),d?.(!1))};return window.addEventListener("keydown",e),()=>window.removeEventListener("keydown",e)},[c,d]),(0,s.useEffect)(()=>{if(!c)return;let e=setTimeout(()=>{let e=p.current;e&&!e.contains(document.activeElement)&&e.focus({preventScroll:!0})},200);return()=>clearTimeout(e)},[c]),(0,s.useEffect)(()=>{if(!c||!a||"undefined"==typeof document)return;let e=e=>{let t=e.target;if(!t||p.current?.contains(t))return;let r=document.querySelector("[data-slot='chat-toggle-button']");r&&r.contains(t)||d?.(!1)};return document.addEventListener("pointerdown",e),()=>document.removeEventListener("pointerdown",e)},[c,a,d]);let k=(0,s.useMemo)(()=>eN(e,rO,{}),[e]),x=(0,s.useMemo)(()=>eN(t,r$,{}),[t]),b=rP(r,420),y=rP(n,560),v=(0,s.useMemo)(()=>({"--copilot-popup-width":b,"--copilot-popup-height":y,"--copilot-popup-max-width":"calc(100vw - 3rem)","--copilot-popup-max-height":"calc(100dvh - 7.5rem)",paddingTop:"env(safe-area-inset-top)",paddingBottom:"env(safe-area-inset-bottom)",paddingLeft:"env(safe-area-inset-left)",paddingRight:"env(safe-area-inset-right)"}),[y,b]),w=c&&!m?"cpk:pointer-events-auto cpk:translate-y-0 cpk:opacity-100 cpk:md:scale-100":"cpk:pointer-events-none cpk:translate-y-4 cpk:opacity-0 cpk:md:translate-y-5 cpk:md:scale-[0.95]";return(0,P.jsxs)(P.Fragment,{children:[x,f?(0,P.jsx)("div",{"data-copilotkit":!0,className:el("cpk:fixed cpk:inset-0 cpk:z-[1200] cpk:flex cpk:max-w-full cpk:flex-col cpk:items-stretch","cpk:md:inset-auto cpk:md:bottom-24 cpk:md:right-6 cpk:md:items-end cpk:md:gap-4"),children:(0,P.jsxs)("div",{ref:p,tabIndex:-1,role:"dialog","aria-label":u.modalHeaderTitle,"data-testid":"copilot-popup","data-copilot-popup":!0,className:el("copilotKitPopup copilotKitWindow","cpk:relative cpk:flex cpk:h-full cpk:w-full cpk:flex-col cpk:overflow-hidden cpk:bg-background cpk:text-foreground","cpk:origin-bottom cpk:focus:outline-none cpk:transform-gpu cpk:transition-transform cpk:transition-opacity cpk:duration-200 cpk:ease-out","cpk:md:transition-transform cpk:md:transition-opacity","cpk:rounded-none cpk:border cpk:border-border/0 cpk:shadow-none cpk:ring-0","cpk:md:h-[var(--copilot-popup-height)] cpk:md:w-[var(--copilot-popup-width)]","cpk:md:max-h-[var(--copilot-popup-max-height)] cpk:md:max-w-[var(--copilot-popup-max-width)]","cpk:md:origin-bottom-right cpk:md:rounded-2xl cpk:md:border-border
71cpk:md:shadow-xl cpk:md:ring-1 cpk:md:ring-border/40",w),style:v,children:[k,(0,P.jsx)("div",{className:"cpk:flex-1 cpk:overflow-hidden","data-popup-chat":!0,children:(0,P.jsx)(rj,{...i,className:el("cpk:h-full cpk:min-h-0",o)})})]})}):null]})}rB.displayName="CopilotPopupView",(rB||(rB={})).WelcomeScreen=({welcomeMessage:e,input:t,suggestionView:r,className:n,children:s,...a})=>{let o=eN(e,rj.WelcomeMessage,{});return s?(0,P.jsx)("div",{"data-copilotkit":!0,style:{display:"contents"},children:s({welcomeMessage:o,input:t,suggestionView:r,className:n,...a})}):(0,P.jsxs)("div",{className:el("cpk:h-full cpk:flex cpk:flex-col",n),...a,children:[(0,P.jsx)("div",{className:"cpk:flex-1 cpk:flex cpk:flex-col cpk:items-center cpk:justify-center cpk:px-4",children:o}),(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"cpk:mb-4 cpk:flex cpk:justify-center cpk:px-4",children:r}),t]})]})};var rU=rB;function rD({header:e,toggleButton:t,defaultOpen:r,width:n,position:a,...o}){let{checkFeature:i}=(0,W.Sr)(),l=i("sidebar");(0,s.useEffect)(()=>{l||console.warn('[CopilotKit] Warning: "sidebar" feature is not licensed. Visit copilotkit.ai/pricing')},[l]);let c=(0,s.useMemo)(()=>Object.assign(s=>{let{header:o,toggleButton:i,width:l,defaultOpen:c,position:d,...u}=s;return(0,P.jsx)(rL,{...u,header:e??o,toggleButton:t??i,width:n??l,defaultOpen:r??c,position:a??d})},rj),[e,t,n,r,a]);return(0,P.jsxs)(P.Fragment,{children:[!l&&(0,P.jsx)(eF,{featureName:"Sidebar"}),(0,P.jsx)(rE,{welcomeScreen:rL.WelcomeScreen,...o,isModalDefaultOpen:r,chatView:c})]})}rD.displayName="CopilotSidebar";let rK=s.createContext({}),rH=Object.assign(e=>{let{header:t,toggleButton:r,width:n,height:a,clickOutsideToClose:o,defaultOpen:i,...l}=e,c=(0,s.useContext)(rK);return(0,P.jsx)(rU,{...l,header:c.header??t,toggleButton:c.toggleButton??r,width:c.width??n,height:c.height??a,clickOutsideToClose:c.clickOutsideToClose??o,defaultOpen:c.defaultOpen??i})},rj);function rW({header:e,toggleButton:t,defaultOpen:r,width:n,height:a,clickOutsideToClose:o,...i}){let{checkFeature:l}=(0,W.Sr)(),c=l("popup");(0,s.useEffect)(()=>{c||console.warn('[CopilotKit] Warning: "popup" feature is not licensed. Visit copilotkit.ai/pricing')},[c]);let d=(0,s.useMemo)(()=>({header:e,toggleButton:t,width:n,height:a,clickOutsideToClose:o,defaultOpen:r}),[o,e,t,a,n,r]);return(0,P.jsxs)(P.Fragment,{children:[!c&&(0,P.jsx)(eF,{featureName:"Popup"}),(0,P.jsx)(rK.Provider,{value:d,children:(0,P.jsx)(rE,{welcomeScreen:rU.WelcomeScreen,...i,isModalDefaultOpen:r,chatView:rH})})]})}rW.displayName="CopilotPopup";ts({name:"*",render:({args:e,result:t,name:r,status:n})=>{let[a,o]=(0,s.useState)(!1),i=String(n);return(0,P.jsx)("div",{className:"cpk:mt-2 cpk:pb-2",children:(0,P.jsxs)("div",{className:"cpk:rounded-xl cpk:border cpk:border-zinc-200/60 cpk:dark:border-zinc-800/60 cpk:bg-white/70 cpk:dark:bg-zinc-900/50 cpk:shadow-sm cpk:backdrop-blur cpk:p-4",children:[(0,P.jsxs)("div",{className:"cpk:flex cpk:items-center cpk:justify-between cpk:gap-3 cpk:cursor-pointer",onClick:()=>o(!a),children:[(0,P.jsxs)("div",{className:"cpk:flex cpk:items-center cpk:gap-2 cpk:min-w-0",children:[(0,P.jsx)("svg",{className:`cpk:h-4 cpk:w-4 cpk:text-zinc-500 cpk:dark:text-zinc-400 cpk:transition-transform ${a?"cpk:rotate-90":""}`,fill:"none",viewBox:"0 0 24 24",strokeWidth:2,stroke:"currentColor",children:(0,P.jsx)("path",{strokeLinecap:"round",strokeLinejoin:"round",d:"M8.25 4.5l7.5 7.5-7.5 7.5"})}),(0,P.jsx)("span",{className:"cpk:inline-block cpk:h-2 cpk:w-2 cpk:rounded-full cpk:bg-blue-500"}),(0,P.jsx)("span",{className:"cpk:truncate cpk:text-sm cpk:font-medium cpk:text-zinc-900 cpk:dark:text-zinc-100",children:r})]}),(0,P.jsx)("span",{className:`cpk:inline-flex cpk:items-center cpk:rounded-full cpk:px-2 cpk:py-1 cpk:text-xs cpk:font-medium ${"inProgress"===i||"executing"===i?"cpk:bg-amber-100 cpk:text-amber-800 cpk:dark:bg-amber-500/15 cpk:dark:text-amber-400":"complete"===i?"cpk:bg-emerald-100 cpk:text-emerald-800 cpk:dark:bg-emerald-500/15 cpk:dark:text-emerald-400":"cpk:bg-zinc-100 cpk:text-zinc-800 cpk:dark:bg-zinc-700/40 cpk:dark:text-zinc-300"}`,children:String(n)})]}),a&&(0,P.jsxs)("div",{className:"cpk:mt-3 cpk:grid cpk:gap-4",children:[(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"cpk:text-xs cpk:uppercase cpk:tracking-wide cpk:text-zinc-500 cpk:dark:text-zinc-400",children:"Arguments"}),(0,P.jsx)("pre",{className:"cpk:mt-2 cpk:max-h-64 cpk:overflow-auto cpk:rounded-md cpk:bg-zinc-50 cpk:dark:bg-zinc-800/60 cpk:p-3 cpk:text-xs cpk:leading-relaxed cpk:text-zinc-800 cpk:dark:text-zinc-200 cpk:whitespace-pre-wrap cpk:break-words",children:JSON.stringify(e??{},null,2)})]}),void 0!==t&&(0,P.jsxs)("div",{children:[(0,P.jsx)("div",{className:"cpk:text-xs cpk:uppercase cpk:tracking-wide cpk:text-zinc-500 cpk:dark:text-zinc-400",children:"Result"}),(0,P.jsx)("pre",{className:"cpk:mt-2 cpk:max-h-64 cpk:overflow-auto cpk:rounded-md cpk:bg-zinc-50 cpk:dark:bg-zinc-800/60 cpk:p-3 cpk:text-xs cpk:leading-relaxed cpk:text-zinc-800 cpk:dark:text-zinc-200 cpk:whitespace-pre-wrap cpk:break-words",children:"string"==typeof t?t:JSON.stringify(t,null,2)})]})]})]})})}});let rY={actions:{},setAction:()=>{},removeAction:()=>{},setRegisteredActions:()=>"",removeRegisteredAction:()=>{},chatComponentsCache:{current:{actions:{},coAgentStateRenders:{}}},getContextString:(e,t)=>
71rQ(""),addContext:()=>"",removeContext:()=>{},getAllContext:()=>[],getFunctionCallHandler:()=>rQ(async()=>{}),isLoading:!1,setIsLoading:()=>rQ(!1),chatInstructions:"",setChatInstructions:()=>rQ(""),additionalInstructions:[],setAdditionalInstructions:()=>rQ([]),getDocumentsContext:e=>rQ([]),addDocumentContext:()=>rQ(""),removeDocumentContext:()=>{},copilotApiConfig:new class{get chatApiEndpoint(){throw Error("Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!")}get headers(){return{}}get body(){return{}}},chatSuggestionConfiguration:{},addChatSuggestionConfiguration:()=>{},removeChatSuggestionConfiguration:()=>{},showDevConsole:!1,coagentStates:{},setCoagentStates:()=>{},coagentStatesRef:{current:{}},setCoagentStatesWithRef:()=>{},agentSession:null,setAgentSession:()=>{},forwardedParameters:{},agentLock:null,threadId:"",setThreadId:()=>{},runId:null,setRunId:()=>{},chatAbortControllerRef:{current:null},availableAgents:[],extensions:{},setExtensions:()=>{},interruptActions:{},setInterruptAction:()=>{},removeInterruptAction:()=>{},interruptEventQueue:{},addInterruptEvent:()=>{},resolveInterruptEvent:()=>{},onError:()=>{},bannerError:null,setBannerError:()=>{},internalErrorHandlers:{},setInternalErrorHandler:()=>{},removeInternalErrorHandler:()=>{}},rq=s.createContext(rY);function rV(){let e=s.useContext(rq);if(e===rY)throw Error("Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!");return e}function rQ(e){throw Error("Remember to wrap your app in a `<CopilotKit> {...} </CopilotKit>` !!!")}let rJ=(e,t)=>e.reduce((e,r)=>{if(r.id!==t){let n={...r,children:rJ(r.children,t)};e.push(n)}return e},[]),rG=(e,t,r)=>r?e.map(e=>e.id===r?{...e,children:[...e.children,t]}:e.children.length?{...e,children:rG(e.children,t,r)}:e):[...e,t],rX=(e,t)=>0===t?(e+1).toString():1===t?String.fromCharCode(65+e):2===t?String.fromCharCode(97+e):"-",rZ=(e,t="",r=0)=>{let n=" ".repeat(3).repeat(r),s=t.length+n.length,a=" ".repeat(s),o=e.value.split("\n"),i=`${n}${t}${o[0]}`,l=o.slice(1).map(e=>`${a}${e}`).join("\n"),c=`${i} 72`;l&&(c+=`${l} 73`);let d=" ".repeat(t.length);return e.children.forEach((e,t)=>c+=rZ(e,`${d}${rX(t,r+1)}. `,r+1)),c};function r0(e,t){switch(t.type){case"ADD_NODE":{let{value:r,parentId:n,id:s}=t,a={id:s,value:r,children:[],categories:new Set(t.categories)};try{return rG(e,a,n)}
73catch(t){return console.error(`Error while adding node with id ${s}: ${t}`),e}}case"REMOVE_NODE":return rJ(e,t.id);default:return e}}function r1(e,t){switch(t.type){case"ADD_ELEMENT":{let{value:r,id:n,categories:s}=t,a={id:n,value:r,categories:new Set(s)},o=new Map(e);return o.set(n,a),o}case"REMOVE_ELEMENT":{let r=new Map(e);return r.delete(t.id),r}default:return e}}let r2=s.createContext({messages:[],setMessages:()=>[],suggestions:[],setSuggestions:()=>[]}),r4=(0,s.createContext)(void 0);function r5(){let e=(0,s.useContext)(r4);if(!e)throw Error("useToast must be used within a ToastProvider");return e}function r3({bannerError:e,onDismiss:t}){let[r,n]=(0,s.useState)(!1),a=function(e){switch(e){case"critical":return{background:"#fee2e2",border:"#dc2626",text:"#7f1d1d",icon:"#dc2626"};case"warning":return{background:"#fef3c7",border:"#d97706",text:"#78350f",icon:"#d97706"};case"info":return{background:"#dbeafe",border:"#2563eb",text:"#1e3a8a",icon:"#2563eb"}}}(function(e){if(e.severity)switch(e.severity){case _.AI.CRITICAL:return"critical";case _.AI.WARNING:return"warning";case _.AI.INFO:default:return"info"}let t=e.message.toLowerCase();return t.includes("api key")||t.includes("401")||t.includes("unauthorized")||t.includes("authentication")||t.includes("incorrect api key")?"critical":"info"}(e)),o=e.details,i=function(e){let t=/\[([^\]]+)\]\(([^)]+)\)/.exec(e);if(t)return{url:t[2],text:"See More"};let r=/(https?:\/\/[^\s)]+)/.exec(e);return r?{url:r[0].replace(/[.,;:'"]*$/,""),text:"See More"}:null}(e.message);return(0,P.jsxs)("div",{"data-testid":"copilot-error-banner",style:{position:"fixed",bottom:"20px",left:"50%",transform:"translateX(-50%)",zIndex:9999,backgroundColor:a.background,border:`1px solid ${a.border}`,borderLeft:`4px solid ${a.border}`,borderRadius:"8px",padding:"12px 16px",fontSize:"13px",boxShadow:"0 4px 12px rgba(0, 0, 0, 0.15)",backdropFilter:"blur(8px)",maxWidth:"min(90vw, 700px)",width:"100%",boxSizing:"border-box",overflow:"hidden"},children:[(0,P.jsxs)("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",gap:"10px"},children:[(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"8px",flex:1,minWidth:0},children:[(0,P.jsx)("div",{style:{width:"12px",height:"12px",borderRadius:"50%",backgroundColor:a.border,flexShrink:0}}),(0,P.jsxs)("div",{style:{display:"flex",alignItems:"center",gap:"10px",flex:1,minWidth:0},children:[(0,P.jsx)("div",{style:{color:a.text,lineHeight:"1.4",fontWeight:"400",fontSize:"13px",flex:1,wordBreak:"break-all",overflowWrap:"break-word",maxWidth:"550px",overflow:"hidden",display:"-webkit-box",WebkitLineClamp:10,WebkitBoxOrient:"vertical"},children:function(e){let t=e.match(/'message':\s*'([^']+)'/);if(t)return t[1];let r=e.split(" - ")[0];return(r=(r=(r=(r=r.split(": Error code")[0]).replace(/:\s*\d{3}$/,"")).replace(/See more:.*$/g,"")).trim())||"An error occurred."}(e.message)}),i&&(0,P.jsx)("button",{onClick:()=>window.open(i.url,"_blank","noopener,noreferrer"),style:{background:a.border,color:"white",border:"none",borderRadius:"5px",padding:"4px 10px",fontSize:"11px",fontWeight:"500",cursor:"pointer",transition:"all 0.2s ease",flexShrink:0},onMouseEnter:e=>{e.currentTarget.style.opacity="0.9",e.currentTarget.style.transform="translateY(-1px)"},onMouseLeave:e=>{e.currentTarget.style.opacity="1",e.currentTarget.style.transform="translateY(0)"},children:i.text}),o&&(0,P.jsx)("button",{onClick:()=>n(!r),style:{background:"transparent",border:`1px solid ${a.border}`,borderRadius:"5px",padding:"4px 10px",fontSize:"11px",fontWeight:"500",cursor:"pointer",color:a.text,flexShrink:0,transition:"all 0.2s ease"},onMouseEnter:e=>{e.currentTarget.style.background="rgba(0, 0, 0, 0.05)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:r?"Hide Details":"Show Details"})]})]}),(0,P.jsx)("button",{onClick:t,style:{background:"transparent",border:"none",color:a.text,cursor:"pointer",padding:"2px",borderRadius:"3px",fontSize:"14px",lineHeight:"1",opacity:.6,transition:"all 0.2s ease",flexShrink:0},title:"Dismiss",onMouseEnter:e=>{e.currentTarget.style.opacity="1",e.currentTarget.style.background="rgba(0, 0, 0, 0.05)"},onMouseLeave:e=>{e.currentTarget.style.opacity="0.6",e.currentTarget.style.background="transparent"},children:"x"})]}),r&&o&&(0,P.jsxs)("div",{style:{marginTop:"10px",padding:"10px",background:"rgba(0, 0, 0, 0.04)",borderRadius:"6px",fontSize:"11px",fontFamily:"monospace",color:a.text,lineHeight:"1.5",maxHeight:"200px",overflowY:"auto",whiteSpace:"pre-wrap",wordBreak:"break-all"},children:[o.code&&(0,P.jsxs)("div",{children:[(0,P.jsx)("strong",{children:"Code:"})," ",o.code]}),o.originalMessage&&(0,P.jsxs)("div",{style:{marginTop:"4px"},children:[(0,P.jsx)("strong",{children:"Message:"})," ",o.originalMessage]}),o.context&&Object.keys(o.context).length>0&&(0,P.jsxs)("div",{style:{marginTop:"4px"},children:[(0,P.jsx)("strong",{children:"Context:"})," ",JSON.stringify(o.context,null,2)]}),o.stack&&(0,P.jsxs)("div",{style:{marginTop:"4px",opacity:.7},children:[(0,P.jsx)("strong",{children:"Stack:"}),"\n",o.stack]})]})]})}function r6({enabled:e,children:t}
73){let[r,n]=(0,s.useState)([]),[a,o]=(0,s.useState)(null),i=(0,s.useCallback)(e=>{n(t=>t.filter(t=>t.id!==e))},[]),l=(0,s.useCallback)(t=>{if(!e)return;let r=t.id??Math.random().toString(36).slice(2,9);n(e=>e.find(e=>e.id===r)?e:[...e,{...t,id:r}]),t.duration&&setTimeout(()=>{i(r)},t.duration)},[e,i]),c=(0,s.useCallback)(t=>{(e||null===t)&&o(t)},[e]),d={toasts:r,addToast:l,addGraphQLErrorsToast:(0,s.useCallback)(e=>{console.warn("addGraphQLErrorsToast is deprecated. All errors now show as banners.")},[]),removeToast:i,enabled:e,bannerError:a,setBannerError:c};return(0,P.jsxs)(r4.Provider,{value:d,children:[a&&(0,P.jsx)(r3,{bannerError:a,onDismiss:()=>c(null)}),t]})}function r8(e){return void 0!==e?e:"undefined"!=typeof window&&("localhost"===window.location.hostname||"127.0.0.1"===window.location.hostname||"0.0.0.0"===window.location.hostname)}let r7=(0,s.createContext)(null);function r9({children:e}){let t=(0,s.useRef)([]),r=(0,s.useRef)({getMessagesFromTap:()=>t.current,updateTapMessages:e=>{t.current=e}});return(0,P.jsx)(r7.Provider,{value:r.current,children:e})}function ne({children:e}){let[t,r]=(0,s.useState)([]);(0,s.useRef)(void 0),(0,s.useRef)(void 0),(0,s.useRef)(void 0);let{updateTapMessages:n}=function(){let e=(0,s.useContext)(r7);if(!e)throw Error("useMessagesTap must be used inside <MessagesTapProvider>");return e}(),{threadId:a,agentSession:o,showDevConsole:i,onError:l,copilotApiConfig:c}=rV(),{setBannerError:d}=r5(),u=(0,s.useCallback)(async(e,t)=>{if(l&&c.publicApiKey)try{await l({type:"error",timestamp:Date.now(),context:{source:"ui",request:{operation:"loadAgentState",url:c.chatApiEndpoint,startTime:Date.now()},technical:{environment:"browser",userAgent:"undefined"!=typeof navigator?navigator.userAgent:void 0,stackTrace:t instanceof Error?t.stack:void 0}},error:e})}catch(e){console.error("Error in CopilotMessages onError handler:",e)}},[l,c.publicApiKey,c.chatApiEndpoint]);(0,s.useCallback)(e=>{if(e.graphQLErrors?.length)e.graphQLErrors.forEach(e=>{var t,r;let n=(t=e.extensions?.visibility,r=r8(i),t===_.D1.SILENT?"CopilotKit Silent Error:":r||t!==_.D1.DEV_ONLY?null:"CopilotKit Error (hidden in production):");if(n)return void console.error(n,e.message);let s=(e=>{let t=e.extensions,r=t?.originalError;if(r?.stack){if(r.stack.includes("CopilotApiDiscoveryError"))return new _.h9({message:r.message});if(r.stack.includes("CopilotKitRemoteEndpointDiscoveryError"))return new _.Cj({message:r.message});if(r.stack.includes("CopilotKitAgentDiscoveryError"))return new _.km({agentName:"",availableAgents:[]})}let n=r?.message||e.message,s=t?.code;return s?new _.Ru({message:n,code:s}):null})(e);if(s)d(s),u(s,e);else{let t=new _.Ru({message:e.message,code:_.w7.UNKNOWN});d(t),u(t,e)}});else{let t=new _.Ru({message:e?.message||String(e),code:_.w7.UNKNOWN});d(t),u(t,e)}},[d,i,u]),(0,s.useEffect)(()=>{n(t)},[t,n]);let p=(0,s.useMemo)(()=>e,[e]),[f,g]=(0,s.useState)([]);return(0,P.jsx)(r2.Provider,{value:{messages:t,setMessages:r,suggestions:f,setSuggestions:g},children:p})}function nt({severity:e=_.AI.CRITICAL,message:t="",onClose:r,actions:n}){if(!t||!e)return null;let s={[_.AI.INFO]:{bg:"#f8fafc",border:"#e2e8f0",text:"#475569",accent:"#3b82f6"},[_.AI.WARNING]:{bg:"#fffbeb",border:"#fbbf24",text:"#92400e",accent:"#f59e0b"},[_.AI.CRITICAL]:{bg:"#fef2f2",border:"#fecaca",text:"#dc2626",accent:"#ef4444"}}[e];return(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("style",{children:` 74 @keyframes slideUp { 75 from { opacity: 0; transform: translateX(-50%) translateY(8px); } 76 to { opacity: 1; transform: translateX(-50%) translateY(0); } 77 } 78 79 .usage-banner { 80 position: fixed; 81 bottom: 24px; 82 left: 50%; 83 transform: translateX(-50%); 84 width: min(600px, calc(100vw - 32px)); 85 z-index: 10000; 86 animation: slideUp 0.2s cubic-bezier(0.16, 1, 0.3, 1); 87 } 88 89 .banner-content { 90 background: linear-gradient(135deg, ${s.bg} 0%, ${s.bg}f5 100%); 91 border: 1px solid ${s.border}; 92 border-radius: 12px; 93 padding: 18px 20px; 94 box-shadow: 95 0 4px 24px rgba(0, 0, 0, 0.08), 96 0 2px 8px rgba(0, 0, 0, 0.04), 97 inset 0 1px 0 rgba(255, 255, 255, 0.7); 98 display: flex; 99 align-items: center; 100 gap: 16px; 101 font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', system-ui, sans-serif; 102 backdrop-filter: blur(12px); 103 position: relative; 104 overflow: hidden; 105 } 106 107 .banner-content::before { 108 content: ''; 109 position: absolute; 110 top: 0; 111 left: 0; 112 right: 0; 113 height: 1px; 114 background: linear-gradient(90deg, transparent, ${s.accent}40, transparent); 115 } 116 117 .banner-message { 118 color: ${s.text}; 119 font-size: 14px; 120 line-height: 1.5; 121 font-weight: 500; 122 flex: 1; 123 letter-spacing: -0.01em; 124 } 125 126 .close-btn { 127 background: rgba(0, 0, 0, 0.05); 128 border: none; 129 color: ${s.text}; 130 cursor: pointer; 131 padding: 0; 132 border-radius: 6px; 133 opacity: 0.6; 134 transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1); 135 font-size: 14px; 136 line-height: 1; 137 flex-shrink: 0; 138 width: 24px; 139 height: 24px; 140 display: flex; 141 align-items: center; 142 justify-content: center; 143 } 144 145 .close-btn:hover { 146 opacity: 1; 147 background: rgba(0, 0, 0, 0.08); 148 transform: scale(1.05); 149 } 150 151 .btn-primary { 152 background: linear-gradient(135deg, ${s.accent} 0%, ${s.accent}e6 100%); 153 color: white; 154 border: none; 155 border-radius: 8px; 156 padding: 10px 18px; 157 font-size: 13px; 158 font-weight: 600; 159 cursor: pointer; 160 transition: all 0.15s cubic-bezier(0.16, 1, 0.3, 1); 161 font-family: inherit; 162 flex-shrink: 0; 163 box-shadow: 164 0 2px 8px ${s.accent}30, 165 inset 0 1px 0 rgba(255, 255, 255, 0.2); 166 letter-spacing: -0.01em; 167 } 168 169 .btn-primary:hover { 170 transform: translateY(-1px) scale(1.02); 171 box-shadow: 172 0 4px 12px ${s.accent}40, 173 inset 0 1px 0 rgba(255, 255, 255, 0.25); 174 } 175 176 .btn-primary:active { 177 transform: translateY(0) scale(0.98); 178 transition: all 0.08s cubic-bezier(0.16, 1, 0.3, 1); 179 } 180 181 @media (max-width: 640px) { 182 .usage-banner { 183 width: calc(100vw - 24px); 184 } 185 186 .banner-content { 187 padding: 16px; 188 gap: 12px; 189 } 190 191 .banner-message { 192 font-size: 13px; 193 line-height: 1.45; 194 } 195 196 .btn-primary { 197 padding: 8px 14px; 198 font-size: 12px; 199 } 200 201 .close-btn { 202 width: 22px; 203 height: 22px; 204 font-size: 12px; 205 } 206 } 207 `}),(0,P.jsx)("div",{className:"usage-banner","data-testid":"copilot-error-banner",children:(0,P.jsxs)("div",{className:"banner-content",children:[(0,P.jsx)("div",{className:"banner-message",children:t}),n?.primary&&(0,P.jsx)("button",{className:"btn-primary",onClick:n.primary.onClick,children:n.primary.label}),r&&(0,P.jsx)("button",{className:"close-btn",onClick:r,title:"Close",children:"\xd7"})]})})]})}let nr=e=>{switch(e.code){case _.w7.MISSING_PUBLIC_API_KEY_ERROR:return{primary:{label:"Show me how",onClick:()=>window.open("https://docs.copilotkit.ai/premium/overview#getting-access","_blank","noopener,noreferrer")}};case _.w7.UPGRADE_REQUIRED_ERROR:return{primary:{label:"Upgrade",onClick:()=>window.open("https://dashboard.operations.copilotkit.ai","_blank","noopener,noreferrer")}};default:return}},nn=new class{constructor(){this.activeKey=null,this.intervalId=null,this.instanceCount=0,this.lastResponse=null}async start(e,t){if(this.instanceCount++,this.activeKey===e)return;this.intervalId&&clearInterval(this.intervalId);let r=async()=>{try{let r=await fetch(`${E.QH}/ciu`,{method:"GET",headers:{[E.my]:e}}).then(e=>e.json());return this.lastResponse=r,t?.(r),r}catch(e){return null}},n=await r();return this.intervalId=setInterval(r,3e5),this.activeKey=e,n}getLastResponse(){return this.lastResponse}stop(){this.instanceCount--,0===this.instanceCount&&this.intervalId&&(clearInterval(this.intervalId),this.intervalId=null,this.activeKey=null,this.lastResponse=null)}};var ns=class extends s.Component{constructor(e){super(e),this.state={hasError:!1}}static getDerivedStateFromError(e){return{hasError:!0,error:e}}componentDidMount(){this.props.publicApiKey&&nn.start(this.props.publicApiKey,e=>{this.setState(t=>e?.severity!==t.status?.severity?{status:e??void 0}:null)})}componentWillUnmount(){nn.stop()}componentDidCatch(e,t){console.error("CopilotKit Error:",e,t)}
207render(){if(this.state.hasError){if(this.state.error instanceof _.Ru)return(0,P.jsxs)(P.Fragment,{children:[this.props.children,this.props.showUsageBanner&&(0,P.jsx)(nt,{severity:this.state.status?.severity??this.state.error.severity,message:this.state.status?.message??this.state.error.message,actions:nr(this.state.error)})]});throw this.state.error}return this.props.children}};let na=(0,s.createContext)(void 0);function no({children:e}){let[t,r]=(0,s.useState)({}),n=(0,s.useCallback)((e,t)=>{r(r=>({...r,[e]:t}))},[]),a=(0,s.useCallback)(e=>{r(t=>{let r={...t};return delete r[e],r})},[]),o=(0,s.useRef)({});return(0,P.jsx)(na.Provider,{value:{coAgentStateRenders:t,setCoAgentStateRender:n,removeCoAgentStateRender:a,claimsRef:o},children:e})}let ni=(0,s.createContext)(void 0);function nl({children:e,threadId:t}){let[r,n]=(0,s.useState)(()=>(0,S.N4)()),[a,o]=(0,s.useState)(!1),i=(0,s.useCallback)(e=>{n(e),o(!0)},[]);return(0,P.jsx)(ni.Provider,{value:{threadId:t??r,setThreadId:i,isThreadIdExplicit:null!=t||a},children:e})}let nc=function(e){return e.InProgress="inProgress",e.Complete="complete",e}({}),nd=function(e){return e.Create="create",e.Override="override",e.Existing="existing",e.Block="block",e}({});function nu(e){if(!e)return{};let{messages:t,tools:r,copilotkit:n,...s}=e;return s}function np(e,t){if(e&&!t||!e&&t)return!1;let{messages:r,tools:n,copilotkit:s,...a}=e,{messages:o,tools:i,copilotkit:l,...c}=t;return JSON.stringify(a)===JSON.stringify(c)}function nf(e){return!!e&&e.startsWith("coagent-state-render-")}function ng(e){return"coagent-state-render"===e}function nm(e){return e&&"object"==typeof e?{snapshot:"snapshot"in e?e.snapshot:e,runId:"runId"in e?e.runId:void 0}:{snapshot:e,runId:void 0}}let nh="__lastSnapshotsByStateRenderIdAndRun",nk="__lastSnapshotsByMessageId";function nx(e){return function(e,t){let{stateSnapshot:r,message:n}=t,{coAgentStateRenders:a,claimsRef:o}=function(){let e=(0,s.useContext)(na);if(!e)throw Error("useCoAgentStateRenders must be used within CoAgentStateRendersProvider");return e}(),{agent:i}=tA({agentId:e}
207),[l,c]=(0,s.useState)(void 0),[,d]=(0,s.useState)(0);(0,s.useEffect)(()=>{if(!i)return;let{unsubscribe:e}=i.subscribe({onStateChanged:()=>{d(e=>e+1)},onStepStartedEvent:({event:e})=>{e.stepName!==l&&c(e.stepName)},onStepFinishedEvent:({event:e})=>{e.stepName===l&&c(void 0)}});return()=>{e()}},[e,l]);let u=(0,s.useCallback)(t=>Object.entries(a).find(([r,n])=>{if(o.current[t])return r===o.current[t].stateRenderId;let s=n.name===e,a=!n.nodeName||n.nodeName===l;return s&&a}),[a,l,e]),p=(0,s.useMemo)(()=>u(n.id),[u,n.id]),f=p?.[0],g=p?.[1],{canRender:m}=function({agentId:e,stateRenderId:t,message:r,messageIndex:n,stateSnapshot:a,agentState:o,agentMessages:i,claimsRef:l}){let c=l.current,d=r.runId,{runId:u}=nm(c[nk]?.[r.id]),p=function({existingClaimRunId:e,cachedMessageRunId:t,runId:r}){return e||t||r||"pending"}({existingClaimRunId:l.current[r.id]?.runId,cachedMessageRunId:u,runId:d});if((0,s.useEffect)(()=>()=>{let e=l.current[r.id];if(e?.stateSnapshot&&Object.keys(e.stateSnapshot).length>0){let t={...c[nh]};t[`${e.stateRenderId}::${e.runId??"pending"}`]=e.stateSnapshot,t[`${e.stateRenderId}::latest`]=e.stateSnapshot,c[nh]=t;let n={...c[nk]};n[r.id]={snapshot:e.stateSnapshot,runId:e.runId??p},c[nk]=n}delete l.current[r.id]},[l,p,r.id]),!t)return{canRender:!1};let f=function(e){let t=e.current;return{byStateRenderAndRun:t[nh]??{},byMessageId:t[nk]??{}}}(l),g=l.current[r.id],{snapshot:m,hasSnapshotKeys:h,allowEmptySnapshot:k,snapshotForClaim:x}=function({messageId:e,messageName:t,allowLiveState:r,skipLatestCache:n,stateRenderId:s,effectiveRunId:a,stateSnapshotProp:o,agentState:i,agentMessages:l,existingClaim:c,caches:d}){let u,p=l?[...l].toReversed().find(e=>"assistant"===e.role)?.id:void 0,f=void 0!==s?d.byStateRenderAndRun[`${s}::latest`]:void 0,g=l?l.findIndex(t=>t.id===e):-1,m=g>=0&&l?l[g]?.role:void 0;if(g>0&&l){for(let e=g-1;e>=0;e-=1)if(l[e]?.role==="user"){u=l[e]?.id;break}}let h=void 0===o&&void 0!==f&&void 0!==i&&np(f,i),k=(!!r||!p||e===p)&&!h,x=o?(0,T.qF)(o,o):k?i:void 0,b=!!(x&&Object.keys(x).length>0),y=void 0!==x&&!b&&(void 0!==o||k),v=nm(d.byMessageId[e]).snapshot,w=void 0!==s?`${s}::${a}`:void 0,C=v??d.byMessageId[e];void 0===C&&w&&void 0!==d.byStateRenderAndRun[w]&&(C=d.byStateRenderAndRun[w]),void 0===C&&s&&u&&void 0!==d.byStateRenderAndRun[`${s}::pending:${u}`]&&(C=d.byStateRenderAndRun[`${s}::pending:${u}`]),void 0===C&&!n&&s&&"assistant"!==m&&(void 0!==o||i&&Object.keys(i).length>0)&&(C=d.byStateRenderAndRun[`${s}::latest`]);let j=c?.locked?c.stateSnapshot??C:b?x:c?.stateSnapshot??C;return{snapshot:x,hasSnapshotKeys:b,cachedSnapshot:C,allowEmptySnapshot:y,snapshotForClaim:j}}({messageId:r.id,messageName:r.name,allowLiveState:ng(r.name)||nf(r.id),skipLatestCache:ng(r.name)||nf(r.id),stateRenderId:t,effectiveRunId:p,stateSnapshotProp:a,agentState:o,agentMessages:i,existingClaim:g,caches:f}),b=function({claims:e,context:t,stateSnapshot:r}){let{messageId:n,stateRenderId:s,runId:a,messageIndex:o}=t,i=e[n];if(i){let e=i.stateRenderId===s,t=e&&a&&(!i.runId||"pending"===i.runId);return{canRender:e,action:e?nd.Existing:nd.Block,updateRunId:t?a:void 0}}let l=a??"pending",c=Object.entries(e).find(([,e])=>e.stateRenderId===s&&(e.runId??"pending")===l&&(0,S.t3)(nu(e.stateSnapshot))===(0,S.t3)(nu(r))),d=c?.[1],u=c?.[0];return d?void 0!==o&&void 0!==d.messageIndex&&o>d.messageIndex?{canRender:!0,action:nd.Override,nextClaim:{stateRenderId:s,runId:a,messageIndex:o},lockOthers:a===d.runId||nf(u)}:a&&d.runId&&a!==d.runId?{canRender:!0,action:nd.Override,nextClaim:{stateRenderId:s,runId:a,messageIndex:o},lockOthers:nf(u)}:nf(u)?{canRender:!0,action:nd.Override,nextClaim:{stateRenderId:s,runId:a,messageIndex:o},lockOthers:!0}:r&&d.stateSnapshot&&!np(d.stateSnapshot,r)?{canRender:!0,action:nd.Override,nextClaim:{stateRenderId:s,runId:a}}:{canRender:!1,action:nd.Block}:a?{canRender:!0,action:nd.Create,nextClaim:{stateRenderId:s,runId:a,messageIndex:o}}:{canRender:!1,action:nd.Block}}({claims:l.current,context:{agentId:e,messageId:r.id,stateRenderId:t,runId:p,messageIndex:n},stateSnapshot:x});if(b.action===nd.Block)return{canRender:!1};if(b.updateRunId&&l.current[r.id]&&(l.current[r.id].runId=b.updateRunId),b.nextClaim&&(l.current[r.id]=b.nextClaim),b.lockOthers&&Object.entries(l.current).forEach(([e,n])=>
207{e!==r.id&&n.stateRenderId===t&&(n.locked=!0)}),g&&!g.locked&&i?.length){let e=i.findIndex(e=>e.id===r.id);e>=0&&e<i.length-1&&(g.locked=!0)}let y=l.current[r.id].stateSnapshot,v=a&&void 0!==y&&!np(y,m);if(m&&(a||h||k)&&(!l.current[r.id].locked||v)){if(!l.current[r.id].locked||v){l.current[r.id].stateSnapshot=m;let e={...c[nh]};e[`${t}::${p}`]=m,e[`${t}::latest`]=m,c[nh]=e;let n={...c[nk]};n[r.id]={snapshot:m,runId:p},c[nk]=n,a&&(l.current[r.id].locked=!0)}}else if(x&&!l.current[r.id].stateSnapshot){l.current[r.id].stateSnapshot=x;let e={...c[nh]};e[`${t}::${p}`]=x,e[`${t}::latest`]=x,c[nh]=e;let n={...c[nk]};n[r.id]={snapshot:x,runId:p},c[nk]=n}return{canRender:!0}}({agentId:e,stateRenderId:f,message:{...n,runId:t.runId??n.runId},messageIndex:t.messageIndex,stateSnapshot:r,agentState:i?.state,agentMessages:i?.messages,claimsRef:o});return(0,s.useMemo)(()=>{if(!g||!f||!m)return null;if(g.handler&&g.handler({state:r?(0,T.qF)(r,r):i?.state??{},nodeName:l??""}),g.render){let e=i?.isRunning?nc.InProgress:nc.Complete;return"string"==typeof g.render?g.render:g.render({status:e,state:o.current[n.id].stateSnapshot??{},nodeName:l??""})}},[g,f,i?.state,i?.isRunning,l,n.id,r,m])}(e.agentId,e)}function nb(){let{copilotkit:e}=(0,W.kr)(),t=eo()?.agentId,{agent:r}=tA({agentId:(0,s.useMemo)(()=>{let r=t??E.kv,n=e.agents??{};if(n[r])return r;if(r===E.kv){let e=Object.keys(n)[0];if(e)return e}return r},[t,e.agents])}),n=(0,s.useRef)([]),a=(0,s.useCallback)(e=>({onCustomEvent:({event:e})=>{"PredictState"===e.name&&(n.current=e.value)},onToolCallArgsEvent:({partialToolCallArgs:t,toolCallName:r})=>{n.current.forEach(n=>{if(n?.tool!==r)return;let s="string"==typeof t?(0,T.qF)(t,t):t;e.setState({[n.state_key]:s[n.state_key]})})}}),[]);return(0,s.useEffect)(()=>{if(!r)return;let e=a(r),{unsubscribe:t}=r.subscribe(e);return()=>{t()}},[r,a]),null}function ny(){let{copilotkit:e}=(0,W.kr)(),{setBannerError:t}=r5(),r=Object.keys(e.agents??{}).length>0,n=void 0!==e.runtimeUrl;return(0,s.useEffect)(()=>{let r=e.subscribe({onError:({error:e,code:r,context:n})=>{if("AbortError"===e.name||"Fetch is aborted"===e.message||"signal is aborted without reason"===e.message||"component unmounted"===e.message||!e.message)return;let s=new _.L7({error:e,message:e.message,url:"undefined"!=typeof window?window.location.href:""});s.details={code:r,context:n,stack:e.stack,originalMessage:e.message},t(s)}});return()=>{r.unsubscribe()}},[e?.subscribe]),r||n?(0,P.jsx)(nb,{}):null}function nv({children:e,...t}){let r=r8(t.showDevConsole),n=r8(t.enableInspector),a=t.publicApiKey||t.publicLicenseKey,o=(0,s.useMemo)(()=>[{render:nx}],[]),{onError:i,...l}=t;return(0,P.jsx)(r6,{enabled:r,children:(0,P.jsx)(ns,{publicApiKey:a,showUsageBanner:r,children:(0,P.jsx)(nl,{threadId:t.threadId,children:(0,P.jsx)(th,{...l,showDevConsole:n,renderCustomMessages:o,useSingleEndpoint:t.useSingleEndpoint??!0,children:(0,P.jsx)(nC,{...t,children:e})})})})})}function nw(){let{copilotkit:e}=(0,W.kr)(),{onError:t,copilotApiConfig:r}=rV();return(0,s.useEffect)(()=>{if(!e)return;let n=e.subscribe({onError:async e=>{let n={type:"error",timestamp:Date.now(),context:{source:"agent",request:{operation:e.code||"unknown",url:r?.chatApiEndpoint,startTime:Date.now()},technical:{environment:"browser",userAgent:"undefined"!=typeof navigator?navigator.userAgent:void 0,stackTrace:e.error.stack},...e.context},error:e.error};try{await t(n)}catch(e){console.error("Error in onError handler:",e)}}});return()=>{n.unsubscribe()}},[e,t,r]),null}function nC(e){let{children:t,...r}=e;var n=e;let a=Object.keys(n).filter(e=>e.endsWith("_c")),o=n.publicApiKey||n.publicLicenseKey,i=Object.keys({...n.agents__unsafe_dev_only,...n.selfManagedAgents}).length>0;if(!n.runtimeUrl&&!o&&!i)throw new _.j1("Missing required prop: 'runtimeUrl' or 'publicApiKey' or 'publicLicenseKey'");if(a.length>0&&!o)throw new _.tS(`Missing required prop: 'publicApiKey' or 'publicLicenseKey' to use cloud features: ${a.map(nI).join(", ")}`);let l=r.publicLicenseKey||r.publicApiKey,c=r.runtimeUrl||E.U6,[d,u]=(0,s.useState)({}),[p,f]=(0,s.useState)(new Map),g=(0,s.useRef)({actions:{},coAgentStateRenders:{}}),{addElement:m,removeElement:h,printTree:k,getAllElements:x}=(()=>{let[e,t]=(0,s.useReducer)(r0,[]),r=(0,s.useCallback)((e,r,n)=>{let s=(0,S.zE)();return t({type:"ADD_NODE",value:e,parentId:n,id:s,categories:r}),s},[]),n=(0,s.useCallback)(e=>{t({type:"REMOVE_NODE",id:e})},[]),a=(0,s.useCallback)(()=>e,[e]);return{tree:e,addElement:r,printTree:(0,s.useCallback)(t=>{let r=new Set(t),n="";return e.forEach((e,t)=>{(function(e,t){let[r,n]=e.size<=t.size?[e,t]:[t,e];for(let e of r)if(n.has(e))return!0;return!1})(r,e.categories)&&(0!==t&&(n+="\n"),n+=rZ(e,`${rX(t,0)}. `))}),n},[e]),removeElement:n,getAllElements:a}}
207)(),[b,y]=(0,s.useState)(!1),[v,w]=(0,s.useState)(""),[C,j]=(0,s.useState)({}),[I,R]=(0,s.useState)({}),[N,T]=(0,s.useState)([]),{addElement:M,removeElement:A,allElements:z}=(()=>{let[e,t]=(0,s.useReducer)(r1,new Map);return{addElement:(0,s.useCallback)((e,r)=>{let n=(0,S.zE)();return t({type:"ADD_ELEMENT",value:e,id:n,categories:r}),n},[]),removeElement:(0,s.useCallback)(e=>{t({type:"REMOVE_ELEMENT",id:e})},[]),allElements:(0,s.useCallback)(t=>{let r=new Set(t),n=[];return e.forEach(e=>{(function(e,t){let[r,n]=e.size<=t.size?[e,t]:[t,e];for(let e of r)if(n.has(e))return!0;return!1})(r,e.categories)&&n.push(e.value)}),n},[e])}})(),$=(0,s.useCallback)((e,t)=>{u(r=>({...r,[e]:t}))},[]),O=(0,s.useCallback)(e=>{u(t=>{let r={...t};return delete r[e],r})},[]),L=(0,s.useCallback)((e,t)=>`${e.map(e=>`${e.name} (${e.sourceApplication}): 208${e.getContents()}`).join("\n\n")} 209 210${k(t)}`,[k]),B=(0,s.useCallback)((e,t,r=nj)=>m(e,r,t),[m]),F=(0,s.useCallback)(e=>{h(e)},[h]),U=(0,s.useCallback)(()=>x(),[x]),D=(0,s.useCallback)(e=>{var t;return t=Object.values(e||d),async({name:e,args:r})=>{let n,s={};for(let e of t)s[e.name]=e;let a=s[e];return a&&(await new Promise((e,t)=>{(0,J.flushSync)(async()=>{try{n=await a.handler?.(r),e()}catch(e){t(e)}})}),await new Promise(e=>setTimeout(e,20))),n}},[d]),K=(0,s.useCallback)(e=>z(e),[z]),H=(0,s.useCallback)((e,t=nj)=>M(e,t),[M]),W=(0,s.useCallback)(e=>{A(e)},[A]),Y=(0,s.useMemo)(()=>{let e;return l&&(e={guardrails:{input:{restrictToTopic:{enabled:!!r.guardrails_c,validTopics:r.guardrails_c?.validTopics||[],invalidTopics:r.guardrails_c?.invalidTopics||[]}}}}),{publicApiKey:l,...e?{cloud:e}:{},chatApiEndpoint:c,headers:"function"==typeof r.headers?r.headers():r.headers||{},properties:r.properties||{},transcribeAudioUrl:r.transcribeAudioUrl,textToSpeechUrl:r.textToSpeechUrl,credentials:r.credentials}},[l,r.headers,r.properties,r.transcribeAudioUrl,r.textToSpeechUrl,r.credentials,r.cloudRestrictToTopic,r.guardrails_c]);(0,s.useMemo)(()=>{let e=Object.values(C||{}).reduce((e,t)=>"authenticated"===t.status&&t.authHeaders?{...e,...Object.entries(t.authHeaders).reduce((e,[t,r])=>({...e,[t.startsWith("X-Custom-")?t:`X-Custom-${t}`]:r}),{})}:e,{});return{...Y.headers,...Y.publicApiKey?{[E.my]:Y.publicApiKey}:{},...e}},[Y.headers,Y.publicApiKey,C]);let[q,V]=(0,s.useState)({}),Q=(0,s.useCallback)(e=>{V(t=>({...t,...e}))},[]),G=(0,s.useCallback)(e=>{V(t=>{let{[e]:r,...n}=t;return n})},[]),X=(0,s.useRef)(r.onError);(0,s.useEffect)(()=>{X.current=r.onError},[r.onError]);let Z=(0,s.useRef)({});(0,s.useEffect)(()=>{Z.current=q},[q]);let ee=(0,s.useCallback)(async e=>{if(Y.publicApiKey&&X.current)try{await X.current(e)}catch(e){console.error("Error in public onError handler:",e)}let t=Object.values(Z.current);await Promise.all(t.map(t=>Promise.resolve(t(e)).catch(e=>console.error("Error in internal error handler:",e))))},[Y.publicApiKey]),[et,er]=(0,s.useState)({}),en=(0,s.useCallback)((e,t)=>{er(r=>({...r,[e]:t}))},[er]),es=(0,s.useCallback)(e=>{er(t=>{let{[e]:r,...n}=t;return n})},[er]),[eo,ei]=(0,s.useState)([]),[el,ec]=(0,s.useState)({}),ed=(0,s.useRef)({}),eu=(0,s.useCallback)(e=>{let t="function"==typeof e?e(ed.current):e;ed.current=t,ec(e=>t)},[]),ep=null;r.agent&&(ep={agentName:r.agent});let[ef,eg]=(0,s.useState)(ep);(0,s.useEffect)(()=>{r.agent?eg({agentName:r.agent}):eg(null)},[r.agent]);let{threadId:em,setThreadId:eh,isThreadIdExplicit:ek}=function(){let e=(0,s.useContext)(ni);if(!e)throw Error("useThreads must be used within ThreadsProvider");return e}(),ex=(0,s.useCallback)(e=>{if(r.threadId)throw Error("Cannot call setThreadId() when threadId is provided via props.");eh(e)},[r.threadId]),[eb,ey]=(0,s.useState)(null),ev=(0,s.useRef)(null),ew=r8(r.showDevConsole),[eC,ej]=(0,s.useState)({}),eI=(0,s.useCallback)(e=>{ej(t=>null!=e&&e.id?{...t,[e.id]:{...t[e.id],...e}}:t)},[]),eR=(0,s.useCallback)(e=>{ej(t=>{let{[e]:r,...n}=t;return n})},[]),[eN,eE]=(0,s.useState)({}),eS=(0,s.useCallback)(e=>{eE(t=>{let r=t[e.threadId]||[];return{...t,[e.threadId]:[...r,e]}})},[]),eT=(0,s.useCallback)((e,t,r)=>{eE(n=>{let s=n[e]||[];return{...n,[e]:s.map(e=>e.eventId===t?{...e,event:{...e.event,response:r}}:e)}})},[]),eM=(0,s.useMemo)(()=>
210t,[t]),[eA,ez]=(0,s.useState)(null),e$=(0,s.useMemo)(()=>r.agent??null,[r.agent]),eO=(0,s.useMemo)(()=>r.forwardedParameters??{},[r.forwardedParameters]),eL=(0,s.useCallback)(e=>{R(t=>{let r="function"==typeof e?e(t):e;return Object.keys(r).length===Object.keys(t).length&&Object.entries(r).every(([e,r])=>t[e]===r)?t:r})},[R]),e_=(0,s.useCallback)(e=>{j(t=>{let r="function"==typeof e?e(t):e;return Object.keys(r).length===Object.keys(t).length&&Object.entries(r).every(([e,r])=>t[e]===r)?t:r})},[j]),eP=(0,s.useCallback)(e=>{let t=e.action.name||(0,S.N4)();return f(r=>{let n=new Map(r);return n.set(t,e),n}),t},[]),eB=(0,s.useCallback)(e=>{f(t=>{let r=new Map(t);return r.delete(e),r})},[]),eF=(0,s.useMemo)(()=>()=>(0,P.jsx)(P.Fragment,{children:Array.from(p.entries()).map(([e,t])=>{let r=t.component;return(0,P.jsx)(r,{action:t.action},e)})}),[p]),eU=(0,s.useMemo)(()=>({actions:d,chatComponentsCache:g,getFunctionCallHandler:D,setAction:$,removeAction:O,setRegisteredActions:eP,removeRegisteredAction:eB,getContextString:L,addContext:B,removeContext:F,getAllContext:U,getDocumentsContext:K,addDocumentContext:H,removeDocumentContext:W,copilotApiConfig:Y,isLoading:b,setIsLoading:y,chatSuggestionConfiguration:et,addChatSuggestionConfiguration:en,removeChatSuggestionConfiguration:es,chatInstructions:v,setChatInstructions:w,additionalInstructions:N,setAdditionalInstructions:T,showDevConsole:ew,coagentStates:el,setCoagentStates:ec,coagentStatesRef:ed,setCoagentStatesWithRef:eu,agentSession:ef,setAgentSession:eg,forwardedParameters:eO,agentLock:e$,threadId:em,setThreadId:ex,runId:eb,setRunId:ey,chatAbortControllerRef:ev,availableAgents:eo,authConfig_c:r.authConfig_c,authStates_c:C,setAuthStates_c:e_,extensions:I,setExtensions:eL,interruptActions:eC,setInterruptAction:eI,removeInterruptAction:eR,interruptEventQueue:eN,addInterruptEvent:eS,resolveInterruptEvent:eT,bannerError:eA,setBannerError:ez,onError:ee,internalErrorHandlers:q,setInternalErrorHandler:Q,removeInternalErrorHandler:G}),[d,g,D,$,O,eP,eB,L,B,F,U,K,H,W,Y,b,et,en,es,v,N,ew,el,eu,ef,eg,eO,e$,em,ex,eb,eo,r.authConfig_c,C,e_,I,eL,eC,eI,eR,eN,eS,eT,eA,ee,q,Q,G]);return(0,P.jsx)(ea,{agentId:r.agent??"default",threadId:em,hasExplicitThreadId:ek,children:(0,P.jsxs)(rq.Provider,{value:eU,children:[(0,P.jsx)(ny,{}),(0,P.jsx)(nw,{}),(0,P.jsxs)(no,{children:[(0,P.jsx)(r9,{children:(0,P.jsxs)(ne,{children:[(0,P.jsx)(s.Fragment,{children:eM},"children"),(0,P.jsx)(eF,{},"actions")]})}),eA&&ew&&(0,P.jsx)(nt,{severity:eA.severity,message:eA.message,onClose:()=>ez(null),actions:nr(eA)})]})]})})}let nj=["global"];function nI(e){return e.replace(/_c$/,"").split("_").map(e=>e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).join(" ")}}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.