@marimo-team/frontend 0.23.16-dev31 → 0.23.16-dev35
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{chat-panel-00V3uFDx.js → chat-panel-CMOZp5xW.js} +1 -1
- package/dist/assets/{command-palette-DZ2rNzzf.js → command-palette-Dx6AkiPd.js} +1 -1
- package/dist/assets/{edit-page-D80ascX2.js → edit-page-Jtp6Qqjl.js} +4 -4
- package/dist/assets/{index-4k5eCUzO.js → index-CiJmYQBT.js} +2 -2
- package/dist/assets/pair-with-agent-modal-BCRSACei.js +4 -0
- package/dist/assets/{useNotebookActions-DG8f4m8p.js → useNotebookActions-4vw_NiRs.js} +1 -1
- package/dist/index.html +1 -1
- package/package.json +1 -1
- package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +99 -18
- package/src/components/editor/actions/pair-with-agent-commands.ts +21 -10
- package/src/components/editor/actions/pair-with-agent-modal.tsx +2 -2
- package/dist/assets/pair-with-agent-modal-BUtnUuiE.js +0 -4
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{s as Le}from"./chunk-LvLJmgfZ.js";import{d as _t,f as kt,l as Pe,n as L,u as fe}from"./useEvent-D91BmmQi.js";import{t as It}from"./react-Bj1aDYRI.js";import{Bt as Lt,E as Pt,Sr as Dt,cn as De}from"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as Me}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as zt,r as ze,t as Ft}from"./ai-model-dropdown-BpVBUZnz.js";import{g as se,o as G}from"./useEventListener-C0195JsF.js";import{a as Ht,n as Fe}from"./utils-BWBBpCkT.js";import{M as Wt,o as Ot}from"./config-B-Q7J_6d.js";import{t as J}from"./cn-DYvqRARy.js";import{t as Ut}from"./jsx-runtime-Blw4afVn.js";import{C as Xt,b as Yt,g as q,v as ae,w as te,x as B}from"./fullscreen-CTDqNQr6.js";import{u as Vt}from"./menu-items-CCi6aOPm.js";import{t as qt}from"./config-BJVx3eBW.js";import{i as Bt,r as $t,t as Qt}from"./popover-Bcz1Zikb.js";import{a as Kt,i as Zt,n as Gt,p as Jt,r as er,s as tr,t as rr}from"./select-BP75_5jJ.js";import{i as He,t as xe}from"./tooltip-4bZlU7jl.js";import{t as $}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as or}from"./requests-9-v2bhoi.js";import{t as sr}from"./createLucideIcon-w-Qo9n0R.js";import{t as ar}from"./scroll-to-bottom-button-C8yfT4wq.js";import{t as lr}from"./arrow-right-C1pQZGqv.js";import{t as We}from"./bot-message-square-DTHo_4sQ.js";import"./markdown-renderer-dABDqZDw.js";import{t as nr}from"./chat-display-8BbC5B-D.js";import{A as ir,C as cr,I as dr,N as Oe,O as ur,P as mr,S as pr,T as hr,_ as Ue,b as fr,c as xr,d as vr,g as gr,h as wr,j as le,l as Xe,m as Ye,n as Ve,p as br,s as yr,u as jr,v as Sr,x as Cr,y as Nr,z as Ar}from"./add-cell-with-ai-BBFD-M9V.js";import{t as Rr}from"./code-B2aKtXoe.js";import{t as Tr}from"./hat-glasses-BttHlyvs.js";import{n as qe}from"./spinner-D-V4psAa.js";import{t as Er}from"./message-circle-dL5J5ZsZ.js";import{t as _r}from"./plus-AgXtozBz.js";import{dt as kr,r as Ir}from"./input-JxFwu-3G.js";import{t as Lr}from"./settings-D_PiwXwo.js";import{t as Pr}from"./sparkles-DUCpRFlS.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as Dr}from"./dates-C2LWzsCZ.js";import{t as Mr}from"./copy-icon-neDQUo4Q.js";import{t as zr}from"./context-BFPaAUK_.js";import{n as Fr}from"./ImperativeModal-fY-ZfT0b.js";import{a as Hr,r as Be,t as Wr}from"./state-jCdh8Dcx.js";import{n as Or}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-C-4ysbGe.js";import"./esm-B30N1GS0.js";import{t as ve}from"./empty-state-CqJvEFRk.js";import{t as Ur}from"./pair-with-agent-modal-BUtnUuiE.js";var p=Le(It(),1),o=Le(Ut(),1);function Xr(r,e){return p.useReducer((t,l)=>e[t][l]??t,r)}var ge="ScrollArea",[$e,ks]=Xt(ge),[Yr,D]=$e(ge),Qe=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,type:l="hover",dir:s,scrollHideDelay:a=600,...n}=r,[i,u]=p.useState(null),[c,d]=p.useState(null),[m,f]=p.useState(null),[x,g]=p.useState(null),[w,T]=p.useState(null),[b,S]=p.useState(0),[A,C]=p.useState(0),[y,N]=p.useState(!1),[I,k]=p.useState(!1),j=G(e,F=>u(F)),_=Vt(s);return(0,o.jsx)(Yr,{scope:t,type:l,dir:_,scrollHideDelay:a,scrollArea:i,viewport:c,onViewportChange:d,content:m,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:y,onScrollbarXEnabledChange:N,scrollbarY:w,onScrollbarYChange:T,scrollbarYEnabled:I,onScrollbarYEnabledChange:k,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,o.jsx)(te.div,{dir:_,...n,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":A+"px",...r.style}})})});Qe.displayName=ge;var Ke="ScrollAreaViewport",Ze=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,children:l,nonce:s,...a}=r,n=D(Ke,t),i=G(e,p.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,o.jsx)(te.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...r.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});Ze.displayName=Ke;var W="ScrollAreaScrollbar",we=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=s,i=r.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),s.type==="hover"?(0,o.jsx)(Vr,{...l,ref:e,forceMount:t}):s.type==="scroll"?(0,o.jsx)(qr,{...l,ref:e,forceMount:t}):s.type==="auto"?(0,o.jsx)(Ge,{...l,ref:e,forceMount:t}):s.type==="always"?(0,o.jsx)(be,{...l,ref:e}):null});we.displayName=W;var Vr=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),[a,n]=p.useState(!1);return p.useEffect(()=>{let i=s.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),s.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[s.scrollArea,s.scrollHideDelay]),(0,o.jsx)(ae,{present:t||a,children:(0,o.jsx)(Ge,{"data-state":a?"visible":"hidden",...l,ref:e})})}),qr=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),a=r.orientation==="horizontal",n=de(()=>u("SCROLL_END"),100),[i,u]=Xr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return p.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,s.scrollHideDelay,u]),p.useEffect(()=>{let c=s.viewport,d=a?"scrollLeft":"scrollTop";if(c){let m=c[d],f=()=>{let x=c[d];m!==x&&(u("SCROLL"),n()),m=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[s.viewport,a,u,n]),(0,o.jsx)(ae,{present:t||i!=="hidden",children:(0,o.jsx)(be,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:B(r.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:B(r.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Ge=p.forwardRef((r,e)=>{let t=D(W,r.__scopeScrollArea),{forceMount:l,...s}=r,[a,n]=p.useState(!1),i=r.orientation==="horizontal",u=de(()=>{if(t.viewport){let c=t.viewport.offsetWidth<t.viewport.scrollWidth,d=t.viewport.offsetHeight<t.viewport.scrollHeight;n(i?c:d)}},10);return ee(t.viewport,u),ee(t.content,u),(0,o.jsx)(ae,{present:l||a,children:(0,o.jsx)(be,{"data-state":a?"visible":"hidden",...s,ref:e})})}),be=p.forwardRef((r,e)=>{let{orientation:t="vertical",...l}=r,s=D(W,r.__scopeScrollArea),a=p.useRef(null),n=p.useRef(0),[i,u]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ot(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>a.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function m(f,x){return Gr(f,n.current,i,x)}return t==="horizontal"?(0,o.jsx)(Br,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollLeft,x=st(f,i,s.dir);a.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollLeft=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollLeft=m(f,s.dir))}}):t==="vertical"?(0,o.jsx)($r,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollTop,x=st(f,i);a.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollTop=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollTop=m(f))}}):null}),Br=p.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=p.useState(),u=p.useRef(null),c=G(e,u,a.onScrollbarXChange);return p.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"horizontal",...s,ref:c,sizes:t,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.x),onDragScroll:d=>r.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let f=a.viewport.scrollLeft+d.deltaX;r.onWheelScroll(f),lt(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ie(n.paddingLeft),paddingEnd:ie(n.paddingRight)}})}})}),$r=p.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=p.useState(),u=p.useRef(null),c=G(e,u,a.onScrollbarYChange);return p.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"vertical",...s,ref:c,sizes:t,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.y),onDragScroll:d=>r.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let f=a.viewport.scrollTop+d.deltaY;r.onWheelScroll(f),lt(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ie(n.paddingTop),paddingEnd:ie(n.paddingBottom)}})}})}),[Qr,Je]=$e(W),et=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,sizes:l,hasThumb:s,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:m,...f}=r,x=D(W,t),[g,w]=p.useState(null),T=G(e,j=>w(j)),b=p.useRef(null),S=p.useRef(""),A=x.viewport,C=l.content-l.viewport,y=q(d),N=q(u),I=de(m,10);function k(j){b.current&&c({x:j.clientX-b.current.left,y:j.clientY-b.current.top})}return p.useEffect(()=>{let j=_=>{let F=_.target;g!=null&&g.contains(F)&&y(_,C)};return document.addEventListener("wheel",j,{passive:!1}),()=>document.removeEventListener("wheel",j,{passive:!1})},[A,g,C,y]),p.useEffect(N,[l,N]),ee(g,I),ee(x.content,I),(0,o.jsx)(Qr,{scope:t,scrollbar:g,hasThumb:s,onThumbChange:q(a),onThumbPointerUp:q(n),onThumbPositionChange:N,onThumbPointerDown:q(i),children:(0,o.jsx)(te.div,{...f,ref:T,style:{position:"absolute",...f.style},onPointerDown:B(r.onPointerDown,j=>{j.button===0&&(j.target.setPointerCapture(j.pointerId),b.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),k(j))}),onPointerMove:B(r.onPointerMove,k),onPointerUp:B(r.onPointerUp,j=>{let _=j.target;_.hasPointerCapture(j.pointerId)&&_.releasePointerCapture(j.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),b.current=null})})})}),ne="ScrollAreaThumb",tt=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=Je(ne,r.__scopeScrollArea);return(0,o.jsx)(ae,{present:t||s.hasThumb,children:(0,o.jsx)(Kr,{ref:e,...l})})}),Kr=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,style:l,...s}=r,a=D(ne,t),n=Je(ne,t),{onThumbPositionChange:i}=n,u=G(e,m=>n.onThumbChange(m)),c=p.useRef(void 0),d=de(()=>{c.current&&(c.current=(c.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let f=()=>{d(),c.current||(c.current=Jr(m,i),i())};return i(),m.addEventListener("scroll",f),()=>m.removeEventListener("scroll",f)}},[a.viewport,d,i]),(0,o.jsx)(te.div,{"data-state":n.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:B(r.onPointerDownCapture,m=>{let f=m.target.getBoundingClientRect(),x=m.clientX-f.left,g=m.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:B(r.onPointerUp,n.onThumbPointerUp)})});tt.displayName=ne;var ye="ScrollAreaCorner",rt=p.forwardRef((r,e)=>{let t=D(ye,r.__scopeScrollArea),l=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&l?(0,o.jsx)(Zr,{...r,ref:e}):null});rt.displayName=ye;var Zr=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,...l}=r,s=D(ye,t),[a,n]=p.useState(0),[i,u]=p.useState(0),c=!!(a&&i);return ee(s.scrollbarX,()=>{var m;let d=((m=s.scrollbarX)==null?void 0:m.offsetHeight)||0;s.onCornerHeightChange(d),u(d)}),ee(s.scrollbarY,()=>{var m;let d=((m=s.scrollbarY)==null?void 0:m.offsetWidth)||0;s.onCornerWidthChange(d),n(d)}),c?(0,o.jsx)(te.div,{...l,ref:e,style:{width:a,height:i,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function ie(r){return r?parseInt(r,10):0}function ot(r,e){let t=r/e;return isNaN(t)?0:t}function ce(r){let e=ot(r.viewport,r.content),t=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=(r.scrollbar.size-t)*e;return Math.max(l,18)}function Gr(r,e,t,l="ltr"){let s=ce(t),a=s/2,n=e||a,i=s-n,u=t.scrollbar.paddingStart+n,c=t.scrollbar.size-t.scrollbar.paddingEnd-i,d=t.content-t.viewport,m=l==="ltr"?[0,d]:[d*-1,0];return at([u,c],m)(r)}function st(r,e,t="ltr"){let l=ce(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-s,n=e.content-e.viewport,i=a-l,u=Jt(r,t==="ltr"?[0,n]:[n*-1,0]);return at([0,n],[0,i])(u)}function at(r,e){return t=>{if(r[0]===r[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(r[1]-r[0]);return e[0]+l*(t-r[0])}}function lt(r,e){return r>0&&r<e}var Jr=(r,e=()=>{})=>{let t={left:r.scrollLeft,top:r.scrollTop},l=0;return(function s(){let a={left:r.scrollLeft,top:r.scrollTop},n=t.left!==a.left,i=t.top!==a.top;(n||i)&&e(),t=a,l=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(l)};function de(r,e){let t=q(r),l=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(l.current),[]),p.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(t,e)},[t,e])}function ee(r,e){let t=q(e);Yt(()=>{let l=0;if(r){let s=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(t)});return s.observe(r),()=>{window.cancelAnimationFrame(l),s.unobserve(r)}}},[r,t])}var nt=Qe,eo=Ze,to=rt,ro=sr("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),it=Me();const oo=({chatState:r,chatId:e,messages:t})=>{if(!e)return se.warn("No active chat"),r;let l=r.chats.get(e);if(!l)return se.warn("No active chat"),r;let s=new Map(r.chats),a=Date.now();return s.set(l.id,{...l,messages:t,updatedAt:a}),{...r,chats:s}};var ct=p.forwardRef((r,e)=>{let t=(0,it.c)(15),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:s,children:l,...a}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n;t[4]===s?n=t[5]:(n=J("relative overflow-hidden",s),t[4]=s,t[5]=n);let i;t[6]===l?i=t[7]:(i=(0,o.jsx)(eo,{className:"h-full w-full rounded-[inherit]",children:l}),t[6]=l,t[7]=i);let u,c;t[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(dt,{}),c=(0,o.jsx)(to,{}),t[8]=u,t[9]=c):(u=t[8],c=t[9]);let d;return t[10]!==a||t[11]!==e||t[12]!==n||t[13]!==i?(d=(0,o.jsxs)(nt,{ref:e,className:n,...a,children:[i,u,c]}),t[10]=a,t[11]=e,t[12]=n,t[13]=i,t[14]=d):d=t[14],d});ct.displayName=nt.displayName;var dt=p.forwardRef((r,e)=>{let t=(0,it.c)(14),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:l,orientation:a,...s}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;t[4]!==l||t[5]!==i||t[6]!==u?(c=J("flex touch-none select-none transition-colors",i,u,l),t[4]=l,t[5]=i,t[6]=u,t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(tt,{className:"relative flex-1 rounded-full bg-border"}),t[8]=d):d=t[8];let m;return t[9]!==n||t[10]!==s||t[11]!==e||t[12]!==c?(m=(0,o.jsx)(we,{ref:e,orientation:n,className:c,...s,children:d}),t[9]=n,t[10]=s,t[11]=e,t[12]=c,t[13]=m):m=t[13],m});dt.displayName=we.displayName;var so=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const ao=r=>{let e=Date.now(),t=so.map(a=>({...a,chats:[]})),l={label:"Older",days:1/0,chats:[]},s=a=>{switch(a){case 0:return t[0];case 1:return t[1];case 2:return t[2];case 3:return t[3];default:return a>=4&&a<=7?t[4]:a>=8&&a<=30?t[5]:l}};for(let a of r)s(Math.floor((e-a.updatedAt)/864e5)).chats.push(a);return[...t,l].filter(a=>a.chats.length>0)},lo=({activeChatId:r,setActiveChat:e})=>{let t=fe(Be),{locale:l}=zr(),[s,a]=(0,p.useState)(""),n=(0,p.useMemo)(()=>[...t.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[t.chats]),i=(0,p.useMemo)(()=>s.trim()?n.filter(c=>c.title.toLowerCase().includes(s.toLowerCase())):n,[n,s]),u=(0,p.useMemo)(()=>ao(i),[i]);return(0,o.jsxs)(Qt,{children:[(0,o.jsx)(xe,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)($,{variant:"text",size:"icon",children:(0,o.jsx)(Dt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Ir,{placeholder:"Search chat history...",value:s,onChange:c=>a(c.target.value),className:"text-xs"})}),(0,o.jsx)(ct,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(ve,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(We,{})}),i.length===0&&s&&n.length>0&&(0,o.jsx)(ve,{title:"No chats found",description:`No chats match "${s}"`,icon:(0,o.jsx)(kr,{})}),u.map((c,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,o.jsx)("div",{children:c.chats.map(m=>(0,o.jsxs)("button",{className:J("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===r&&"bg-accent",m.id!==r&&"hover:bg-muted/20"),onClick:()=>{e(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Dr(m.updatedAt,l)})]},m.id))}),d!==u.length-1&&(0,o.jsx)("hr",{})]},c.label))]})})]})]})};var Q=Me(),ut="manual",mt=(0,p.memo)(r=>{let e=(0,Q.c)(18),{message:t}=r,l;e[0]===t.parts?l=e[1]:(l=t.parts.filter(po).map(ho).join(`
|
|
1
|
+
import{s as Le}from"./chunk-LvLJmgfZ.js";import{d as _t,f as kt,l as Pe,n as L,u as fe}from"./useEvent-D91BmmQi.js";import{t as It}from"./react-Bj1aDYRI.js";import{Bt as Lt,E as Pt,Sr as Dt,cn as De}from"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as Me}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as zt,r as ze,t as Ft}from"./ai-model-dropdown-BpVBUZnz.js";import{g as se,o as G}from"./useEventListener-C0195JsF.js";import{a as Ht,n as Fe}from"./utils-BWBBpCkT.js";import{M as Wt,o as Ot}from"./config-B-Q7J_6d.js";import{t as J}from"./cn-DYvqRARy.js";import{t as Ut}from"./jsx-runtime-Blw4afVn.js";import{C as Xt,b as Yt,g as q,v as ae,w as te,x as B}from"./fullscreen-CTDqNQr6.js";import{u as Vt}from"./menu-items-CCi6aOPm.js";import{t as qt}from"./config-BJVx3eBW.js";import{i as Bt,r as $t,t as Qt}from"./popover-Bcz1Zikb.js";import{a as Kt,i as Zt,n as Gt,p as Jt,r as er,s as tr,t as rr}from"./select-BP75_5jJ.js";import{i as He,t as xe}from"./tooltip-4bZlU7jl.js";import{t as $}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as or}from"./requests-9-v2bhoi.js";import{t as sr}from"./createLucideIcon-w-Qo9n0R.js";import{t as ar}from"./scroll-to-bottom-button-C8yfT4wq.js";import{t as lr}from"./arrow-right-C1pQZGqv.js";import{t as We}from"./bot-message-square-DTHo_4sQ.js";import"./markdown-renderer-dABDqZDw.js";import{t as nr}from"./chat-display-8BbC5B-D.js";import{A as ir,C as cr,I as dr,N as Oe,O as ur,P as mr,S as pr,T as hr,_ as Ue,b as fr,c as xr,d as vr,g as gr,h as wr,j as le,l as Xe,m as Ye,n as Ve,p as br,s as yr,u as jr,v as Sr,x as Cr,y as Nr,z as Ar}from"./add-cell-with-ai-BBFD-M9V.js";import{t as Rr}from"./code-B2aKtXoe.js";import{t as Tr}from"./hat-glasses-BttHlyvs.js";import{n as qe}from"./spinner-D-V4psAa.js";import{t as Er}from"./message-circle-dL5J5ZsZ.js";import{t as _r}from"./plus-AgXtozBz.js";import{dt as kr,r as Ir}from"./input-JxFwu-3G.js";import{t as Lr}from"./settings-D_PiwXwo.js";import{t as Pr}from"./sparkles-DUCpRFlS.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as Dr}from"./dates-C2LWzsCZ.js";import{t as Mr}from"./copy-icon-neDQUo4Q.js";import{t as zr}from"./context-BFPaAUK_.js";import{n as Fr}from"./ImperativeModal-fY-ZfT0b.js";import{a as Hr,r as Be,t as Wr}from"./state-jCdh8Dcx.js";import{n as Or}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-C-4ysbGe.js";import"./esm-B30N1GS0.js";import{t as ve}from"./empty-state-CqJvEFRk.js";import{t as Ur}from"./pair-with-agent-modal-BCRSACei.js";var p=Le(It(),1),o=Le(Ut(),1);function Xr(r,e){return p.useReducer((t,l)=>e[t][l]??t,r)}var ge="ScrollArea",[$e,ks]=Xt(ge),[Yr,D]=$e(ge),Qe=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,type:l="hover",dir:s,scrollHideDelay:a=600,...n}=r,[i,u]=p.useState(null),[c,d]=p.useState(null),[m,f]=p.useState(null),[x,g]=p.useState(null),[w,T]=p.useState(null),[b,S]=p.useState(0),[A,C]=p.useState(0),[y,N]=p.useState(!1),[I,k]=p.useState(!1),j=G(e,F=>u(F)),_=Vt(s);return(0,o.jsx)(Yr,{scope:t,type:l,dir:_,scrollHideDelay:a,scrollArea:i,viewport:c,onViewportChange:d,content:m,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:y,onScrollbarXEnabledChange:N,scrollbarY:w,onScrollbarYChange:T,scrollbarYEnabled:I,onScrollbarYEnabledChange:k,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,o.jsx)(te.div,{dir:_,...n,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":A+"px",...r.style}})})});Qe.displayName=ge;var Ke="ScrollAreaViewport",Ze=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,children:l,nonce:s,...a}=r,n=D(Ke,t),i=G(e,p.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,o.jsx)(te.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...r.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});Ze.displayName=Ke;var W="ScrollAreaScrollbar",we=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=s,i=r.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),s.type==="hover"?(0,o.jsx)(Vr,{...l,ref:e,forceMount:t}):s.type==="scroll"?(0,o.jsx)(qr,{...l,ref:e,forceMount:t}):s.type==="auto"?(0,o.jsx)(Ge,{...l,ref:e,forceMount:t}):s.type==="always"?(0,o.jsx)(be,{...l,ref:e}):null});we.displayName=W;var Vr=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),[a,n]=p.useState(!1);return p.useEffect(()=>{let i=s.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),s.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[s.scrollArea,s.scrollHideDelay]),(0,o.jsx)(ae,{present:t||a,children:(0,o.jsx)(Ge,{"data-state":a?"visible":"hidden",...l,ref:e})})}),qr=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),a=r.orientation==="horizontal",n=de(()=>u("SCROLL_END"),100),[i,u]=Xr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return p.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,s.scrollHideDelay,u]),p.useEffect(()=>{let c=s.viewport,d=a?"scrollLeft":"scrollTop";if(c){let m=c[d],f=()=>{let x=c[d];m!==x&&(u("SCROLL"),n()),m=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[s.viewport,a,u,n]),(0,o.jsx)(ae,{present:t||i!=="hidden",children:(0,o.jsx)(be,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:B(r.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:B(r.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Ge=p.forwardRef((r,e)=>{let t=D(W,r.__scopeScrollArea),{forceMount:l,...s}=r,[a,n]=p.useState(!1),i=r.orientation==="horizontal",u=de(()=>{if(t.viewport){let c=t.viewport.offsetWidth<t.viewport.scrollWidth,d=t.viewport.offsetHeight<t.viewport.scrollHeight;n(i?c:d)}},10);return ee(t.viewport,u),ee(t.content,u),(0,o.jsx)(ae,{present:l||a,children:(0,o.jsx)(be,{"data-state":a?"visible":"hidden",...s,ref:e})})}),be=p.forwardRef((r,e)=>{let{orientation:t="vertical",...l}=r,s=D(W,r.__scopeScrollArea),a=p.useRef(null),n=p.useRef(0),[i,u]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ot(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>a.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function m(f,x){return Gr(f,n.current,i,x)}return t==="horizontal"?(0,o.jsx)(Br,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollLeft,x=st(f,i,s.dir);a.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollLeft=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollLeft=m(f,s.dir))}}):t==="vertical"?(0,o.jsx)($r,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollTop,x=st(f,i);a.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollTop=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollTop=m(f))}}):null}),Br=p.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=p.useState(),u=p.useRef(null),c=G(e,u,a.onScrollbarXChange);return p.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"horizontal",...s,ref:c,sizes:t,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.x),onDragScroll:d=>r.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let f=a.viewport.scrollLeft+d.deltaX;r.onWheelScroll(f),lt(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ie(n.paddingLeft),paddingEnd:ie(n.paddingRight)}})}})}),$r=p.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=p.useState(),u=p.useRef(null),c=G(e,u,a.onScrollbarYChange);return p.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"vertical",...s,ref:c,sizes:t,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.y),onDragScroll:d=>r.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let f=a.viewport.scrollTop+d.deltaY;r.onWheelScroll(f),lt(f,m)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ie(n.paddingTop),paddingEnd:ie(n.paddingBottom)}})}})}),[Qr,Je]=$e(W),et=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,sizes:l,hasThumb:s,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:m,...f}=r,x=D(W,t),[g,w]=p.useState(null),T=G(e,j=>w(j)),b=p.useRef(null),S=p.useRef(""),A=x.viewport,C=l.content-l.viewport,y=q(d),N=q(u),I=de(m,10);function k(j){b.current&&c({x:j.clientX-b.current.left,y:j.clientY-b.current.top})}return p.useEffect(()=>{let j=_=>{let F=_.target;g!=null&&g.contains(F)&&y(_,C)};return document.addEventListener("wheel",j,{passive:!1}),()=>document.removeEventListener("wheel",j,{passive:!1})},[A,g,C,y]),p.useEffect(N,[l,N]),ee(g,I),ee(x.content,I),(0,o.jsx)(Qr,{scope:t,scrollbar:g,hasThumb:s,onThumbChange:q(a),onThumbPointerUp:q(n),onThumbPositionChange:N,onThumbPointerDown:q(i),children:(0,o.jsx)(te.div,{...f,ref:T,style:{position:"absolute",...f.style},onPointerDown:B(r.onPointerDown,j=>{j.button===0&&(j.target.setPointerCapture(j.pointerId),b.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),k(j))}),onPointerMove:B(r.onPointerMove,k),onPointerUp:B(r.onPointerUp,j=>{let _=j.target;_.hasPointerCapture(j.pointerId)&&_.releasePointerCapture(j.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),b.current=null})})})}),ne="ScrollAreaThumb",tt=p.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=Je(ne,r.__scopeScrollArea);return(0,o.jsx)(ae,{present:t||s.hasThumb,children:(0,o.jsx)(Kr,{ref:e,...l})})}),Kr=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,style:l,...s}=r,a=D(ne,t),n=Je(ne,t),{onThumbPositionChange:i}=n,u=G(e,m=>n.onThumbChange(m)),c=p.useRef(void 0),d=de(()=>{c.current&&(c.current=(c.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let f=()=>{d(),c.current||(c.current=Jr(m,i),i())};return i(),m.addEventListener("scroll",f),()=>m.removeEventListener("scroll",f)}},[a.viewport,d,i]),(0,o.jsx)(te.div,{"data-state":n.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:B(r.onPointerDownCapture,m=>{let f=m.target.getBoundingClientRect(),x=m.clientX-f.left,g=m.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:B(r.onPointerUp,n.onThumbPointerUp)})});tt.displayName=ne;var ye="ScrollAreaCorner",rt=p.forwardRef((r,e)=>{let t=D(ye,r.__scopeScrollArea),l=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&l?(0,o.jsx)(Zr,{...r,ref:e}):null});rt.displayName=ye;var Zr=p.forwardRef((r,e)=>{let{__scopeScrollArea:t,...l}=r,s=D(ye,t),[a,n]=p.useState(0),[i,u]=p.useState(0),c=!!(a&&i);return ee(s.scrollbarX,()=>{var m;let d=((m=s.scrollbarX)==null?void 0:m.offsetHeight)||0;s.onCornerHeightChange(d),u(d)}),ee(s.scrollbarY,()=>{var m;let d=((m=s.scrollbarY)==null?void 0:m.offsetWidth)||0;s.onCornerWidthChange(d),n(d)}),c?(0,o.jsx)(te.div,{...l,ref:e,style:{width:a,height:i,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function ie(r){return r?parseInt(r,10):0}function ot(r,e){let t=r/e;return isNaN(t)?0:t}function ce(r){let e=ot(r.viewport,r.content),t=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=(r.scrollbar.size-t)*e;return Math.max(l,18)}function Gr(r,e,t,l="ltr"){let s=ce(t),a=s/2,n=e||a,i=s-n,u=t.scrollbar.paddingStart+n,c=t.scrollbar.size-t.scrollbar.paddingEnd-i,d=t.content-t.viewport,m=l==="ltr"?[0,d]:[d*-1,0];return at([u,c],m)(r)}function st(r,e,t="ltr"){let l=ce(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-s,n=e.content-e.viewport,i=a-l,u=Jt(r,t==="ltr"?[0,n]:[n*-1,0]);return at([0,n],[0,i])(u)}function at(r,e){return t=>{if(r[0]===r[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(r[1]-r[0]);return e[0]+l*(t-r[0])}}function lt(r,e){return r>0&&r<e}var Jr=(r,e=()=>{})=>{let t={left:r.scrollLeft,top:r.scrollTop},l=0;return(function s(){let a={left:r.scrollLeft,top:r.scrollTop},n=t.left!==a.left,i=t.top!==a.top;(n||i)&&e(),t=a,l=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(l)};function de(r,e){let t=q(r),l=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(l.current),[]),p.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(t,e)},[t,e])}function ee(r,e){let t=q(e);Yt(()=>{let l=0;if(r){let s=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(t)});return s.observe(r),()=>{window.cancelAnimationFrame(l),s.unobserve(r)}}},[r,t])}var nt=Qe,eo=Ze,to=rt,ro=sr("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),it=Me();const oo=({chatState:r,chatId:e,messages:t})=>{if(!e)return se.warn("No active chat"),r;let l=r.chats.get(e);if(!l)return se.warn("No active chat"),r;let s=new Map(r.chats),a=Date.now();return s.set(l.id,{...l,messages:t,updatedAt:a}),{...r,chats:s}};var ct=p.forwardRef((r,e)=>{let t=(0,it.c)(15),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:s,children:l,...a}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n;t[4]===s?n=t[5]:(n=J("relative overflow-hidden",s),t[4]=s,t[5]=n);let i;t[6]===l?i=t[7]:(i=(0,o.jsx)(eo,{className:"h-full w-full rounded-[inherit]",children:l}),t[6]=l,t[7]=i);let u,c;t[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(dt,{}),c=(0,o.jsx)(to,{}),t[8]=u,t[9]=c):(u=t[8],c=t[9]);let d;return t[10]!==a||t[11]!==e||t[12]!==n||t[13]!==i?(d=(0,o.jsxs)(nt,{ref:e,className:n,...a,children:[i,u,c]}),t[10]=a,t[11]=e,t[12]=n,t[13]=i,t[14]=d):d=t[14],d});ct.displayName=nt.displayName;var dt=p.forwardRef((r,e)=>{let t=(0,it.c)(14),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:l,orientation:a,...s}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;t[4]!==l||t[5]!==i||t[6]!==u?(c=J("flex touch-none select-none transition-colors",i,u,l),t[4]=l,t[5]=i,t[6]=u,t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(tt,{className:"relative flex-1 rounded-full bg-border"}),t[8]=d):d=t[8];let m;return t[9]!==n||t[10]!==s||t[11]!==e||t[12]!==c?(m=(0,o.jsx)(we,{ref:e,orientation:n,className:c,...s,children:d}),t[9]=n,t[10]=s,t[11]=e,t[12]=c,t[13]=m):m=t[13],m});dt.displayName=we.displayName;var so=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const ao=r=>{let e=Date.now(),t=so.map(a=>({...a,chats:[]})),l={label:"Older",days:1/0,chats:[]},s=a=>{switch(a){case 0:return t[0];case 1:return t[1];case 2:return t[2];case 3:return t[3];default:return a>=4&&a<=7?t[4]:a>=8&&a<=30?t[5]:l}};for(let a of r)s(Math.floor((e-a.updatedAt)/864e5)).chats.push(a);return[...t,l].filter(a=>a.chats.length>0)},lo=({activeChatId:r,setActiveChat:e})=>{let t=fe(Be),{locale:l}=zr(),[s,a]=(0,p.useState)(""),n=(0,p.useMemo)(()=>[...t.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[t.chats]),i=(0,p.useMemo)(()=>s.trim()?n.filter(c=>c.title.toLowerCase().includes(s.toLowerCase())):n,[n,s]),u=(0,p.useMemo)(()=>ao(i),[i]);return(0,o.jsxs)(Qt,{children:[(0,o.jsx)(xe,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)($,{variant:"text",size:"icon",children:(0,o.jsx)(Dt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Ir,{placeholder:"Search chat history...",value:s,onChange:c=>a(c.target.value),className:"text-xs"})}),(0,o.jsx)(ct,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(ve,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(We,{})}),i.length===0&&s&&n.length>0&&(0,o.jsx)(ve,{title:"No chats found",description:`No chats match "${s}"`,icon:(0,o.jsx)(kr,{})}),u.map((c,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,o.jsx)("div",{children:c.chats.map(m=>(0,o.jsxs)("button",{className:J("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===r&&"bg-accent",m.id!==r&&"hover:bg-muted/20"),onClick:()=>{e(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Dr(m.updatedAt,l)})]},m.id))}),d!==u.length-1&&(0,o.jsx)("hr",{})]},c.label))]})})]})]})};var Q=Me(),ut="manual",mt=(0,p.memo)(r=>{let e=(0,Q.c)(18),{message:t}=r,l;e[0]===t.parts?l=e[1]:(l=t.parts.filter(po).map(ho).join(`
|
|
2
2
|
`),e[0]=t.parts,e[1]=l);let s=l,a,n,i;if(e[2]!==t.parts){let x=t.parts.filter(fo);i="flex justify-end",a="w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70",n=x.map(xo),e[2]=t.parts,e[3]=a,e[4]=n,e[5]=i}else a=e[3],n=e[4],i=e[5];let u;e[6]===s?u=e[7]:(u=(0,o.jsx)("span",{className:"wrap-break-word",children:s}),e[6]=s,e[7]=u);let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(qe,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e[8]=c):c=e[8];let d;e[9]===u?d=e[10]:(d=(0,o.jsxs)("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground",children:[u,c]}),e[9]=u,e[10]=d);let m;e[11]!==a||e[12]!==n||e[13]!==d?(m=(0,o.jsxs)("div",{className:a,children:[n,d]}),e[11]=a,e[12]=n,e[13]=d,e[14]=m):m=e[14];let f;return e[15]!==i||e[16]!==m?(f=(0,o.jsx)("div",{className:i,children:m}),e[15]=i,e[16]=m,e[17]=f):f=e[17],f});mt.displayName="QueuedMessageDisplay";var no=r=>{let e=(0,Q.c)(18),{onNewChat:t,activeChatId:l,setActiveChat:s}=r,{handleClick:a}=ze(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(_r,{className:"h-4 w-4"}),e[0]=n):n=e[0];let i;e[1]===t?i=e[2]:(i=(0,o.jsx)(xe,{content:"New chat",children:(0,o.jsx)($,{variant:"text",size:"icon",onClick:t,children:n})}),e[1]=t,e[2]=i);let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(zt,{}),e[3]=u):u=e[3];let c;e[4]===a?c=e[5]:(c=()=>a("ai"),e[4]=a,e[5]=c);let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Lr,{className:"h-4 w-4"}),e[6]=d):d=e[6];let m;e[7]===c?m=e[8]:(m=(0,o.jsx)(xe,{content:"AI Settings",children:(0,o.jsx)($,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:c,children:d})}),e[7]=c,e[8]=m);let f;e[9]!==l||e[10]!==s?(f=(0,o.jsx)(lo,{activeChatId:l,setActiveChat:s}),e[9]=l,e[10]=s,e[11]=f):f=e[11];let x;e[12]!==m||e[13]!==f?(x=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[u,m,f]}),e[12]=m,e[13]=f,e[14]=x):x=e[14];let g;return e[15]!==i||e[16]!==x?(g=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,x]}),e[15]=i,e[16]=x,e[17]=g):g=e[17],g},pt=(0,p.memo)(r=>{let e=(0,Q.c)(17),{message:t,index:l,onEdit:s,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:u}=r,c;e[0]!==l||e[1]!==s?(c=b=>{var C,y,N;let S=(y=(C=b.parts)==null?void 0:C.filter(vo))==null?void 0:y.map(go).join(`
|
|
3
3
|
`),A=(N=b.parts)==null?void 0:N.filter(wo);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[A==null?void 0:A.map(bo),(0,o.jsx)(Ve,{value:S,placeholder:"Type your message...",onChange:yo,onSubmit:(I,k)=>{k.trim()&&s(l,k)},onClose:jo},b.id)]})},e[0]=l,e[1]=s,e[2]=c):c=e[2];let d=c,m;e[3]!==u||e[4]!==i||e[5]!==n||e[6]!==a?(m=b=>(0,o.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,o.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(Mr,{className:"h-3 w-3",value:b.parts.filter(So).map(Co).join(`
|
|
4
4
|
`)||""})}),nr({message:b,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:u})]}),e[3]=u,e[4]=i,e[5]=n,e[6]=a,e[7]=m):m=e[7];let f=m,x=t.role==="user"?"justify-end":"justify-start",g;e[8]===x?g=e[9]:(g=J("flex group relative",x),e[8]=x,e[9]=g);let w;e[10]!==t||e[11]!==f||e[12]!==d?(w=t.role==="user"?d(t):f(t),e[10]=t,e[11]=f,e[12]=d,e[13]=w):w=e[13];let T;return e[14]!==g||e[15]!==w?(T=(0,o.jsx)("div",{className:g,children:w}),e[14]=g,e[15]=w,e[16]=T):T=e[16],T});pt.displayName="ChatMessage";var ht=(0,p.memo)(r=>{var re;let e=(0,Q.c)(42),{isEmpty:t,onSendClick:l,isLoading:s,onStop:a,fileInputRef:n,onAddFiles:i,onAddContext:u}=r,c=fe(Fe),d=(c==null?void 0:c.mode)||ut,m=((re=c==null?void 0:c.models)==null?void 0:re.chat_model)||"openai/gpt-4o",f=Mt.parse(m).providerId,{saveModeChange:x}=qt(),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:Er},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:ro},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:Tr},{value:"code_mode",label:"Code Mode (experimental)",subtitle:"AI with access to the notebook's kernel. Use with caution.",Icon:Rr}],e[0]=g):g=e[0];let w=g,T=br.has(f),b;e[1]!==d||e[2]!==w?(b=w.find(P=>P.value===d),e[1]=d,e[2]=w,e[3]=b):b=e[3];let S=b,A=S==null?void 0:S.Icon,C=S==null?void 0:S.label,y;e[4]===A?y=e[5]:(y=A&&(0,o.jsx)(A,{className:"h-3 w-3"}),e[4]=A,e[5]=y);let N;e[6]===C?N=e[7]:(N=(0,o.jsx)("span",{children:C}),e[6]=C,e[7]=N);let I;e[8]!==y||e[9]!==N?(I=(0,o.jsxs)(tr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5",children:[y,N]}),e[8]=y,e[9]=N,e[10]=I):I=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=(0,o.jsx)(Kt,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),e[11]=k):k=e[11];let j;e[12]===w?j=e[13]:(j=(0,o.jsx)(Gt,{children:(0,o.jsxs)(er,{children:[k,w.map(No)]})}),e[12]=w,e[13]=j);let _;e[14]!==d||e[15]!==x||e[16]!==I||e[17]!==j?(_=(0,o.jsxs)(rr,{value:d,onValueChange:x,children:[I,j]}),e[14]=d,e[15]=x,e[16]=I,e[17]=j,e[18]=_):_=e[18];let F;e[19]===Symbol.for("react.memo_cache_sentinel")?(F=(0,o.jsx)(Ft,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),e[19]=F):F=e[19];let U;e[20]===_?U=e[21]:(U=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[_,F]}),e[20]=_,e[21]=U);let H;e[22]!==s||e[23]!==u?(H=(0,o.jsx)(yr,{handleAddContext:u,isLoading:s}),e[22]=s,e[23]=u,e[24]=H):H=e[24];let O;e[25]!==n||e[26]!==T||e[27]!==s||e[28]!==i?(O=T&&(0,o.jsx)(xr,{fileInputRef:n,isLoading:s,onAddFiles:i}),e[25]=n,e[26]=T,e[27]=s,e[28]=i,e[29]=O):O=e[29];let X;e[30]!==t||e[31]!==s||e[32]!==l||e[33]!==a?(X=(0,o.jsx)(vr,{isLoading:s,onStop:a,onSendClick:l,isEmpty:t}),e[30]=t,e[31]=s,e[32]=l,e[33]=a,e[34]=X):X=e[34];let Y;e[35]!==H||e[36]!==O||e[37]!==X?(Y=(0,o.jsxs)("div",{className:"flex flex-row",children:[H,O,X]}),e[35]=H,e[36]=O,e[37]=X,e[38]=Y):Y=e[38];let K;return e[39]!==U||e[40]!==Y?(K=(0,o.jsx)(He,{children:(0,o.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row flex-wrap items-center justify-between gap-1",children:[U,Y]})}),e[39]=U,e[40]=Y,e[41]=K):K=e[41],K});ht.displayName="ChatInputFooter";var je=(0,p.memo)(r=>{let e=(0,Q.c)(29),{placeholder:t,input:l,inputClassName:s,setInput:a,onSubmit:n,inputRef:i,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m,onClose:f}=r,x;e[0]!==l||e[1]!==n?(x=()=>{l.trim()&&n(void 0,l)},e[0]=l,e[1]=n,e[2]=x):x=e[2];let g=L(x),w;e[3]===s?w=e[4]:(w=J("px-2 py-3 flex-1",s),e[3]=s,e[4]=w);let T=t||"Type your message...",b;e[5]!==l||e[6]!==i||e[7]!==m||e[8]!==f||e[9]!==n||e[10]!==a||e[11]!==T?(b=(0,o.jsx)(Ve,{className:"max-h-[400px]",inputRef:i,value:l,onChange:a,onSubmit:n,onClose:f,onAddFiles:m,placeholder:T}),e[5]=l,e[6]=i,e[7]=m,e[8]=f,e[9]=n,e[10]=a,e[11]=T,e[12]=b):b=e[12];let S;e[13]!==w||e[14]!==b?(S=(0,o.jsx)("div",{className:w,children:b}),e[13]=w,e[14]=b,e[15]=S):S=e[15];let A=!l.trim(),C;e[16]===i?C=e[17]:(C=()=>ur(i),e[16]=i,e[17]=C);let y;e[18]!==d||e[19]!==g||e[20]!==u||e[21]!==m||e[22]!==c||e[23]!==A||e[24]!==C?(y=(0,o.jsx)(ht,{isEmpty:A,onAddContext:C,onSendClick:g,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:m}),e[18]=d,e[19]=g,e[20]=u,e[21]=m,e[22]=c,e[23]=A,e[24]=C,e[25]=y):y=e[25];let N;return e[26]!==S||e[27]!==y?(N=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[S,y]}),e[26]=S,e[27]=y,e[28]=N):N=e[28],N});je.displayName="ChatInput";var io=r=>{let e=(0,Q.c)(5),{onPairWithAgent:t}=r;if(Wt())return null;let l,s,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,o.jsx)(Pr,{className:"h-3.5 w-3.5 shrink-0"}),s=(0,o.jsx)("span",{children:"Work on this notebook with your own agent"}),a=(0,o.jsx)(lr,{className:"h-3 w-3 shrink-0"}),e[0]=l,e[1]=s,e[2]=a):(l=e[0],s=e[1],a=e[2]);let n;return e[3]===t?n=e[4]:(n=(0,o.jsxs)($,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:t,children:[l,s,a]}),e[3]=t,e[4]=n),n},co=()=>{let r=(0,Q.c)(6),e=fe(Ht),{handleClick:t}=ze();if(!e){let s;r[0]===t?s=r[1]:(s=(0,o.jsx)($,{variant:"outline",size:"sm",onClick:()=>t("ai","ai-providers"),children:"Edit AI settings"}),r[0]=t,r[1]=s);let a;r[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(We,{}),r[2]=a):a=r[2];let n;return r[3]===s?n=r[4]:(n=(0,o.jsx)(ve,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:s,icon:a}),r[3]=s,r[4]=n),n}let l;return r[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,o.jsx)(uo,{}),r[5]=l):l=r[5],l},uo=()=>{let r=_t(Be),[e,t]=Pe(Wr),[l,s]=Pe(Hr),[a,n]=(0,p.useState)(""),[i,u]=(0,p.useState)(""),[c,d]=(0,p.useState)(!0),{files:m,addFiles:f,clearFiles:x,removeFile:g}=Cr(),{messages:w,enqueue:T,flushNext:b,clear:S,hasQueuedRef:A}=pr(),C=(0,p.useRef)(null),y=(0,p.useRef)(null),N=(0,p.useRef)(null),I=(0,p.useRef)(null),k=Ot(),{invokeAiTool:j,sendRun:_}=or(),{openModal:F,closeModal:U}=Fr(),H=e==null?void 0:e.id,O=kt(),{addStagedCell:X}=hr(),{createNewCell:Y,prepareForRun:K}=Pt(),re={addStagedCell:X,createNewCell:Y,prepareForRun:K,sendRun:_,store:O},{messages:P,sendMessage:ue,error:oe,status:Se,regenerate:ft,stop:me,addToolOutput:xt,addToolApprovalResponse:vt,id:gt}=mr({id:H,sendAutomaticallyWhen:({messages:h})=>Ue(h),messages:(e==null?void 0:e.messages)||[],transport:new dr({api:k.getAiURL("chat").toString(),headers:()=>k.headers(),prepareSendMessagesRequest:async h=>{var V;let v=await Ar({messages:h.messages});v.success||se.debug("Outgoing chat messages failed AI SDK schema validation",v.error);let R={uiMessages:h.messages,includeOtherCode:Lt("")},E=((V=O.get(Fe))==null?void 0:V.mode)||ut,z=cr.getToolSchemas(E);return{api:k.getAiURL("chat").toString(),body:{tools:z,...h,...R}}}}),onFinish:({messages:h,isError:v,isAbort:R})=>{r(E=>oo({chatState:E,chatId:E.activeChatId,messages:h})),pe(h,{isError:v,isAbort:R})},onToolCall:async({toolCall:h})=>{await gr({invokeAiTool:j,addToolOutput:xt,toolCall:{toolName:h.toolName,toolCallId:h.toolCallId,input:h.input},toolContext:re})},onError:h=>{se.error("An error occurred:",h)}}),Ce=L(h=>{ue({role:"user",parts:h})}),pe=L((h,v)=>{A.current&&fr({isError:v.isError,isAbort:v.isAbort,hasPendingToolCalls:Ue(h),hasUnresolvedToolCalls:Sr(h)})&&b(Ce)}),M=Se==="submitted"||Se==="streaming",Ne=(0,p.useRef)(M);Ne.current=M;let Ae=L(h=>{Ne.current||A.current?T(h):Ce(h)}),wt=L(()=>{let h=N.current;if(!h)return;let{scrollTop:v,scrollHeight:R,clientHeight:E}=h;d(R>E?Math.abs(R-E-v)<5:!0)}),he=L((h=!1)=>{let v=N.current;v&&v.scrollTo({top:v.scrollHeight,behavior:h?"smooth":"auto"})}),bt=M&&P.length>0&&Nr(P);(0,p.useEffect)(()=>{d(!0),S()},[H,S]),(0,p.useEffect)(()=>{if(!c)return;let h=requestAnimationFrame(()=>{he()});return()=>cancelAnimationFrame(h)},[P,w,M,c,he]),(0,p.useEffect)(()=>{M||pe(P,{isError:oe!=null,isAbort:!1})},[P,M,oe,pe]);let Re=L(h=>{let v=Date.now(),R={id:gt,title:wr(h),messages:[],createdAt:v,updatedAt:v};r(E=>{let z=new Map(E.chats);return z.set(R.id,R),{...E,chats:z,activeChatId:R.id}})}),yt=L(async(h,v)=>{Re(h);let R=v&&v.length>0?await Ye(v):void 0,{contextPart:E,attachments:z}=await le(h);ue({role:"user",parts:[{type:"text",text:h},...E?[E]:[],...R??[],...z]}),x(),n("")}),jt=L(()=>{t(null),n(""),u(""),S(),x()}),St=L(()=>{F((0,o.jsx)(Ur,{onClose:U}))}),Ct=L(async(h,v)=>{var ke;let R=P[h],E=((ke=R.parts)==null?void 0:ke.filter(Ie=>Ie.type==="file"&&!ir(Ie)))??[],{contextPart:z,attachments:V}=await le(v),Et=R.id;ue({messageId:Et,role:"user",parts:[{type:"text",text:v},...z?[z]:[],...E,...V]})}),Nt=L(async(h,v)=>{var V;if(!v.trim())return;(V=y.current)!=null&&V.view&&Oe(y.current.view);let R=m?await Ye(m):void 0,{contextPart:E,attachments:z}=await le(v);h==null||h.preventDefault(),Ae([{type:"text",text:v},...E?[E]:[],...R??[],...z]),n(""),x()}),At=()=>{ft()},Rt=L(()=>{var h;i.trim()&&((h=C.current)!=null&&h.view&&Oe(C.current.view),yt(i.trim(),m))}),Tt=()=>{var h,v;return(v=(h=C.current)==null?void 0:h.editor)==null?void 0:v.blur()},Te=L(async h=>{H??(Re(h),n(i));let{contextPart:v,attachments:R}=await le(h);Ae([{type:"text",text:h},...v?[v]:[],...R])}),Z=P.length===0;(0,p.useEffect)(()=>{if(!l)return;s(null);let{prompt:h,submit:v}=l;v?Te(h):Z?(u(h),De(C)):(n(h),De(y))},[l,s,Z,Te]);let Ee=Z?(0,o.jsx)(je,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:i,inputRef:C,inputClassName:"px-1 py-0",setInput:u,onSubmit:Rt,isLoading:M,onStop:me,fileInputRef:I,onAddFiles:f,onClose:Tt},"new-thread-input"):(0,o.jsx)(je,{input:a,setInput:n,onSubmit:Nt,inputRef:y,isLoading:M,onStop:me,onClose:()=>{var h,v;return(v=(h=y.current)==null?void 0:h.editor)==null?void 0:v.blur()},fileInputRef:I,onAddFiles:f}),_e=m&&m.length>0&&(0,o.jsx)("div",{className:J("flex flex-row gap-1 flex-wrap p-1",Z&&"py-2 px-1"),children:m==null?void 0:m.map(h=>(0,o.jsx)(jr,{file:h,onRemove:()=>g(h)},h.name))});return(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[(0,o.jsx)(He,{children:(0,o.jsx)(no,{onNewChat:jt,activeChatId:e==null?void 0:e.id,setActiveChat:t})}),(0,o.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden relative min-h-0",children:[(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:N,onScroll:wt,children:[Z&&(0,o.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[_e,Ee]}),(0,o.jsx)(io,{onPairWithAgent:St})]}),P.map((h,v)=>(0,o.jsx)(pt,{message:h,index:v,onEdit:Ct,isStreamingReasoning:bt,isLast:v===P.length-1,isActive:M,addToolApprovalResponse:vt},h.id)),w.map(h=>(0,o.jsx)(mt,{message:h},h.id)),M&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(qe,{className:"h-4 w-4 animate-spin"})}),oe&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(Or,{error:oe||Error("Unknown error")}),(0,o.jsx)($,{variant:"outline",size:"sm",onClick:At,children:"Retry"})]})]}),(0,o.jsx)(ar,{isVisible:!c&&(P.length>0||w.length>0),onScrollToBottom:()=>he(!0)})]}),M&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)($,{variant:"linkDestructive",size:"sm",onClick:me,children:"Stop"})}),!Z&&(0,o.jsxs)(o.Fragment,{children:[_e,Ee]})]})},mo=co;function po(r){return r.type==="text"}function ho(r){return r.text}function fo(r){return r.type==="file"}function xo(r,e){return(0,o.jsx)(Xe,{attachment:r},e)}function vo(r){return r.type==="text"}function go(r){return r.text}function wo(r){return r.type==="file"}function bo(r,e){return(0,o.jsx)(Xe,{attachment:r},e)}function yo(){}function jo(){}function So(r){return r.type==="text"}function Co(r){return r.text}function No(r){return(0,o.jsx)(Zt,{value:r.value,className:"text-xs py-1",children:(0,o.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,o.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,o.jsx)(r.Icon,{className:"h-3 w-3"})}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,o.jsx)("span",{className:"font-semibold",children:r.label}),(0,o.jsx)("span",{className:"text-muted-foreground",children:r.subtitle})]})]})},r.value)}export{mo as default};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-BpVBUZnz.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-n_TrLmsR.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-BwwRpByA.js";import"./download-HKgqJX4l.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-Dtql_o_T.js";import{t as de}from"./useCellActionButton-CJknR0XY.js";import"./markdown-renderer-dABDqZDw.js";import{a as pe,c as se,t as me}from"./useNotebookActions-
|
|
1
|
+
import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-6yd8nOAu.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-BpVBUZnz.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-n_TrLmsR.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-BwwRpByA.js";import"./download-HKgqJX4l.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-Dtql_o_T.js";import{t as de}from"./useCellActionButton-CJknR0XY.js";import"./markdown-renderer-dABDqZDw.js";import{a as pe,c as se,t as me}from"./useNotebookActions-4vw_NiRs.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as he}from"./useHotkey-DLZvrRZT.js";import"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-C-4ysbGe.js";import{r as ce}from"./focus-CVONl-Dy.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as ye,c as fe,i as B,l as z,n as ue,o as J,r as be,s as ge}from"./command-Dqxie4gq.js";import{t as L}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-Y4knmEIU.js";import"./multi-icon-nrKPWjDU.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";var ke=U(),we=3;function Ce(){let e=(0,ke.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,d]=se("marimo:commands",l),s;e[1]!==o||e[2]!==d?(s=u=>{d(xe([u,...o]).slice(0,we))},e[1]=o,e[2]=d,e[3]=s):s=e[3];let r;return e[4]!==o||e[5]!==s?(r={recentCommands:o,addRecentCommand:s},e[4]=o,e[5]=s,e[6]=r):r=e[6],r}function xe(e){return[...new Set(e)]}function Q(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(o=>o.label?Q(o)?T(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var je=U();function Se(){let e=(0,je.c)(75),[l,o]=ie(),[d,s]=ae(),{saveAppConfig:r,saveUserConfig:u}=ne(),D;e[0]!==u||e[1]!==o?(D=async p=>{await u({config:p}).then(()=>{o(m=>({...m,...p}))})},e[0]=u,e[1]=o,e[2]=D):D=e[2];let t=D,F;e[3]!==r||e[4]!==s?(F=async p=>{await r({config:p}).then(()=>{s(p)})},e[3]=r,e[4]=s,e[5]=F):F=e[5];let N=F,G;if(e[6]!==d||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==N||e[11]!==t){let p;e[13]===d?p=e[14]:(p=q=>q!==d.width,e[13]=d,e[14]=p);let m;e[15]!==d||e[16]!==N?(m=q=>({label:`App config > Set width=${q}`,handle:()=>{N({...d,width:q})}}),e[15]=d,e[16]=N,e[17]=m):m=e[17];let j;e[18]!==l.display||e[19]!==t?(j={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=j):j=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let S;e[24]!==l.display||e[25]!==t?(S={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=S):S=e[26];let R=l.keymap.preset==="vim",_;e[27]!==l.keymap||e[28]!==t?(_=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=_):_=e[29];let v;e[30]!==R||e[31]!==_?(v={label:"Config > Switch keymap to VIM",hidden:R,handle:_},e[30]=R,e[31]=_,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",E;e[42]!==k||e[43]!==w?(E={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=E):E=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let O=l.completion.copilot==="github",I;e[48]!==C||e[49]!==O?(I={label:"Config > Enable GitHub Copilot",handle:C,hidden:O},e[48]=C,e[49]=O,e[50]=I):I=e[50];let $=!l.display.reference_highlighting,x;e[51]!==l.display||e[52]!==t?(x=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=x):x=e[53];let y;e[54]!==$||e[55]!==x?(y={label:"Config > Disable reference highlighting",hidden:$,handle:x},e[54]=$,e[55]=x,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Set cell output area: above",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.cell_output==="below",M;e[69]!==l.display||e[70]!==t?(M=()=>{t({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=t,e[71]=M):M=e[71];let P;e[72]!==f||e[73]!==M?(P={label:"Config > Set cell output area: below",hidden:f,handle:M},e[72]=f,e[73]=M,e[74]=P):P=e[74],G=[...Y().filter(p).map(m),j,b,S,v,c,E,I,y,H,A,P].filter(_e),e[6]=d,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=N,e[11]=t,e[12]=G}else G=e[12];return G}function _e(e){return!e.hidden}var ve=U(),n=W(re(),1),Ke=()=>{let e=(0,ve.c)(37),[l,o]=X(pe),d=he(),s=V(ce),r=V(oe),u;e[0]===s?u=e[1]:(u={cell:s},e[0]=s,e[1]=u);let D=de(u).flat();D=T(D);let t=Se(),F=me();F=[...T(F),...T(t)];let N=F.filter(He),G=te.keyBy(N,Ae),{recentCommands:p,addRecentCommand:m}=Ce(),j;e[2]===p?j=e[3]:(j=new Set(p),e[2]=p,e[3]=j);let b=j,S;e[4]!==r||e[5]!==o?(S=i=>{Z(r.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Me))},e[4]=r,e[5]=o,e[6]=S):S=e[6],ee(document,"keydown",S);let R;e[7]!==m||e[8]!==r||e[9]!==d||e[10]!==o?(R=(i,a)=>{let A=d[i];if(!A)return null;let f=r.getHotkey(i);return(0,n.jsxs)(J,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,n.jsxs)("span",{children:[f.name,a.tooltip&&(0,n.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:f.key})})]},i)},e[7]=m,e[8]=r,e[9]=d,e[10]=o,e[11]=R):R=e[11];let _=R,v;e[12]!==m||e[13]!==r||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:M,additionalKeywords:P}=i,q=f===void 0?{}:f;return(0,n.jsxs)(J,{disabled:q.disabled,keywords:P,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,n.jsxs)("span",{children:[a,q.tooltip&&(0,n.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),M&&(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:r.getHotkey(M).key})})]},a)},e[12]=m,e[13]=r,e[14]=o,e[15]=v):v=e[15];let K=v,g=ue,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)(ye,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=ge,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)(be,{children:"No results found."}),e[17]=w):w=e[17];let E=p.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(B,{heading:"Recently Used",children:p.map(i=>{let a=G[i];return le(i)?_(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!Q(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,n.jsx)(fe,{})]}),C=B,O=r.iterate().map(i=>{if(b.has(i))return null;let a=G[i];return _(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),I=N.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),$;e[18]!==b||e[19]!==K?($=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=$):$=e[20];let x=D.map($),y;e[21]!==C||e[22]!==I||e[23]!==x||e[24]!==O?(y=(0,n.jsxs)(C,{heading:"Commands",children:[O,I,x]}),e[21]=C,e[22]=I,e[23]=x,e[24]=O,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==E?(h=(0,n.jsxs)(k,{children:[w,E,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=E,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,n.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function He(e){return!e.hotkey}function Ae(e){return e.label}function Me(e){return!e}export{Ke as default};
|