@marimo-team/frontend 0.20.3-dev88 → 0.20.3-dev90

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-D0L2fcEg.js","./loro_wasm_bg-DNKZeVyM.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var ud=Object.defineProperty;var Oa=oe=>{throw TypeError(oe)};var dd=(oe,z,he)=>z in oe?ud(oe,z,{enumerable:!0,configurable:!0,writable:!0,value:he}):oe[z]=he;var h=(oe,z,he)=>dd(oe,typeof z!="symbol"?z+"":z,he),fd=(oe,z,he)=>z.has(oe)||Oa("Cannot "+he);var Da=(oe,z,he)=>(fd(oe,z,"read from private field"),he?he.call(oe):z.get(oe)),_a=(oe,z,he)=>z.has(oe)?Oa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(oe):z.set(oe,he);import{s as Ua}from"./chunk-LvLJmgfZ.js";import{d as Ba,f as yr,i as Z,l as En,n as le,p as Dt,s as kn,u as re}from"./useEvent-WUlsM6MC.js";import{t as md}from"./react-Bj1aDYRI.js";import{$ as wr,B as pd,Ct as hd,Dt as gd,En as bd,Ft as yd,H as ja,Ht as wd,Ir as vr,It as Pa,Jt as Ma,Kt as Er,Mn as vd,Nn as Ed,P as kd,Pn as Nd,Qt as Cd,Rr as Sd,St as xd,T as Nn,Ur as Id,Ut as kr,V as Ra,W as Ga,Wr as Ja,Xt as Td,Zt as Ad,_i as Cn,a as Wa,ar as Fd,b as Ze,bt as Nr,ci as Ld,d as Va,et as Od,fn as Dd,gn as _d,h as Cr,hn as Ud,ht as Bd,in as jd,jr as Pd,ln as Md,lt as Rd,mn as Gd,o as Jd,oi as $a,qt as Ha,st as Wd,tn as Sn,u as qa,wt as _t,xt as xn,yn as Sr,yt as Vd,z as za,zn as $d,zr as Hd,__tla as qd}from"./cells-DVXjWBHI.js";import{P as Ka,R as zd,k as Kd,w as Yd}from"./zod-H_cgTO0M.js";import{t as Re}from"./compiler-runtime-B3qBwwSJ.js";import{C as Xd,f as Qd,m as Zd,p as ef,t as tf,v as nf}from"./ai-model-dropdown-D0ZKojfQ.js";import{a as Ya,c as xr,f as Ir,h as rf,m as ge,t as of}from"./useEventListener-CjXriKgk.js";import{t as Ut}from"./invariant-awXiPaF0.js";import{S as Tr,h as Xa,i as af,m as sf,o as lf,p as Qa,s as Za}from"./utils-CORJ8yYa.js";import{S as cf,d as uf,h as at,o as df,r as ei,x as bt,y as ti}from"./config-vle9v48l.js";import{a as ff,n as ni,t as mf}from"./switch-BQaT8a2B.js";import{n as pf}from"./globals-BAAGjaoU.js";import{t as hf}from"./ErrorBoundary-dVj6GVNE.js";import{t as gf}from"./jsx-runtime-CP2fAiZX.js";import{r as Ar,t as it}from"./button-BmOH9agK.js";import{t as st}from"./cn-d_A4rA-x.js";import{Bt as yt,Ct as ri,Dt as bf,E as yf,Ft as In,H as oi,Ht as Bt,I as wf,J as l,Jt as me,Kt as vf,Lt as Tn,Mt as Ef,P as kf,St as Je,V as ai,Vt as Fr,Wt as lt,Yt as $e,Zt as jt,_ as Nf,a as Cf,at as j,bt as Sf,ct as He,en as An,ft as xf,it as If,lt as Fn,m as Tf,pt as Af,rt as q,st as Ff,vt as Lf,w as Of,wt as Df,yt as _f,zt as Uf}from"./dist-DUY6xZX8.js";import{C as Bf,D as jf,_ as Pf,a as Mf,c as Rf,n as Lr,r as Gf,v as Jf,x as Wf,y as Vf}from"./dist-CU-Ty5ht.js";import{w as $f,__tla as Hf}from"./JsonOutput-DgTX3wDl.js";import{c as ii,n as qf}from"./once-DRC4SgqY.js";import{t as Or}from"./createReducer-BcTiTw8T.js";import{a as zf,c as Kf,f as Ln,h as Yf,i as Xf,l as Pt,n as si,o as Qf,t as Zf}from"./dist-D89dID68.js";import{t as em}from"./main-Cmx6WhDY.js";import{r as Mt,t as tm}from"./requests-DZy_SQ_v.js";import{t as nm}from"./createLucideIcon-BvP5LBIs.js";import{f as rm,r as li,t as om,__tla as am}from"./layout-DKgHttkT.js";import{M as im,O as sm,a as ci,c as lm,f as cm,k as ui,n as um,o as dm,r as di,s as fm,w as mm}from"./add-cell-with-ai-YgztdOJ9.js";import{t as pm}from"./x-yqLqiq5Q.js";import{r as hm,s as gm,u as bm}from"./download-CNypwy8-.js";import{t as ym}from"./circle-check-CceJVe3L.js";import{r as wm,t as vm}from"./types-DmqhedDv.js";import{n as Em}from"./spinner-Cg6xI4rq.js";import{t as fi}from"./save-BShTD2ty.js";import{I as mi,P as km}from"./input-CRB-lq4Q.js";import{a as Nm,i as Cm,n as pi}from"./state-ejdaxMKR.js";import{t as Sm}from"./preload-helper-y72bE5iF.js";import{t as xm}from"./Deferred-CfyqLOPG.js";import{t as ct}from"./use-toast-BtZldTi5.js";import{n as Ye}from"./paths-BVwhPRFT.js";import{t as Im}from"./session-BQVN1Kxg.js";import{r as Tm}from"./useTheme-0tqyqYah.js";import{t as On}from"./tooltip-D7xdZcKW.js";import{c as hi,i as gi,n as bi,r as Am}from"./dialog-DxCG9U2G.js";import{O as Fm}from"./usePress-C7hs6zHi.js";import{a as Lm,r as Om,t as Dm}from"./popover-2GpKY98n.js";import{n as yi}from"./ImperativeModal-Upm6NvJ2.js";import{r as _m}from"./errors-iwK4b4VF.js";import{t as Um}from"./copy-hG3KkB-h.js";import{t as X}from"./extends-CeSFM22p.js";import{t as Rt}from"./objectWithoutPropertiesLoose-BkUn3I0-.js";import{t as Bm}from"./kbd-CNdD3jWa.js";import{a as Dr}from"./useInstallPackage-z6g4hGCr.js";import{a as jm,o as Pm}from"./cell-link-zwx6SduJ.js";import{n as Mm}from"./useAsyncData-D89z7Kpl.js";import{a as Rm,o as wi,r as Gm,s as vi,t as Jm}from"./command-COYC8fga.js";import{r as Wm}from"./html-to-image-Din4blht.js";import{a as Vm}from"./focus-C2gi0jxY.js";import{a as Ei}from"./renderShortcut-CMdaUbHS.js";import{t as _r}from"./label-CGS9p44y.js";import{n as Ur,t as ki}from"./useDeleteCell-fYxNdCgY.js";import{n as wt}from"./esm-DYDEu0Nq.js";import{n as $m,t as Hm}from"./icons-CHolxgW2.js";import{t as Ni}from"./dist-DU2EJ7el.js";import{t as qm}from"./useSplitCell-CNL377K-.js";import{co as zm,do as Br,fo as Km,ft as Ym,go as vt,ho as Ci,lo as jr,mo as Si,oo as Xm,po as Qm,so as xi,uo as Ii,__tla as Zm}from"./loro_wasm_bg-DNKZeVyM.js";import{t as ep}from"./ws-Sb1KIggW.js";import{n as Ti,t as Pr}from"./useInterval-C2RcswPt.js";let Dn,Mr,Ai,Rr,ut,Gr,be,Gt,Jt,Fi,Li,Oi,Di,_i,_n,Ui,Un,Bi,Bn,tp=Promise.all([(()=>{try{return qd}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return am}catch{}})(),(()=>{try{return Zm}catch{}})()]).then(async()=>{var wn,La,we,ve,Ee,ke,Ne,Ce,Se,xe,Ie,Te,Ae,Fe,Le,Oe,De,_e,Ue,Be,je;var oe=nm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var he=300;const kt=Bt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:he,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),et=me.define(),tt=$e.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(et))return n.value;return e}}),Nt=me.define(),Ct=me.define(),Wr=$e.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Nt)&&(n={...n,inputValue:r.value}),r.is(Ct)&&(n={...n,shouldFocus:r.value});return n}}),Wt=me.define(),St=$e.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=me.define(),Vr=$e.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var ji=1;const $r=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<ji)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[et.of({show:!0,lineFrom:i,lineTo:s}),Ct.of(!0),Nt.of("")],selection:yt.cursor(o.from)}),!0},Hr=e=>e.state.field(St)?(e.dispatch({effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1,qr=e=>{let t=e.state.field(St);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Pi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Pi()).replace("-"," ").toUpperCase()}function ce(e,t){let n=document.createElement(e);return n.className=t,n}function Mi(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Vt=$e.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is($t));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),$t=me.define();function Ri(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Gi(t),side:1});return r.push(o.range(n)),q.set(r)}var Gi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
2
+ var ud=Object.defineProperty;var Oa=oe=>{throw TypeError(oe)};var dd=(oe,z,he)=>z in oe?ud(oe,z,{enumerable:!0,configurable:!0,writable:!0,value:he}):oe[z]=he;var h=(oe,z,he)=>dd(oe,typeof z!="symbol"?z+"":z,he),fd=(oe,z,he)=>z.has(oe)||Oa("Cannot "+he);var Da=(oe,z,he)=>(fd(oe,z,"read from private field"),he?he.call(oe):z.get(oe)),_a=(oe,z,he)=>z.has(oe)?Oa("Cannot add the same private member more than once"):z instanceof WeakSet?z.add(oe):z.set(oe,he);import{s as Ua}from"./chunk-LvLJmgfZ.js";import{d as Ba,f as yr,i as Z,l as En,n as le,p as Dt,s as kn,u as re}from"./useEvent-WUlsM6MC.js";import{t as md}from"./react-Bj1aDYRI.js";import{$ as wr,B as pd,Ct as hd,Dt as gd,En as bd,Ft as yd,H as ja,Ht as wd,Ir as vr,It as Pa,Jt as Ma,Kt as Er,Mn as vd,Nn as Ed,P as kd,Pn as Nd,Qt as Cd,Rr as Sd,St as xd,T as Nn,Ur as Id,Ut as kr,V as Ra,W as Ga,Wr as Ja,Xt as Td,Zt as Ad,_i as Cn,a as Wa,ar as Fd,b as Ze,bt as Nr,ci as Ld,d as Va,et as Od,fn as Dd,gn as _d,h as Cr,hn as Ud,ht as Bd,in as jd,jr as Pd,ln as Md,lt as Rd,mn as Gd,o as Jd,oi as $a,qt as Ha,st as Wd,tn as Sn,u as qa,wt as _t,xt as xn,yn as Sr,yt as Vd,z as za,zn as $d,zr as Hd,__tla as qd}from"./cells-DVXjWBHI.js";import{P as Ka,R as zd,k as Kd,w as Yd}from"./zod-H_cgTO0M.js";import{t as Re}from"./compiler-runtime-B3qBwwSJ.js";import{C as Xd,f as Qd,m as Zd,p as ef,t as tf,v as nf}from"./ai-model-dropdown-D0ZKojfQ.js";import{a as Ya,c as xr,f as Ir,h as rf,m as ge,t as of}from"./useEventListener-CjXriKgk.js";import{t as Ut}from"./invariant-awXiPaF0.js";import{S as Tr,h as Xa,i as af,m as sf,o as lf,p as Qa,s as Za}from"./utils-CORJ8yYa.js";import{S as cf,d as uf,h as at,o as df,r as ei,x as bt,y as ti}from"./config-vle9v48l.js";import{a as ff,n as ni,t as mf}from"./switch-BQaT8a2B.js";import{n as pf}from"./globals-BAAGjaoU.js";import{t as hf}from"./ErrorBoundary-dVj6GVNE.js";import{t as gf}from"./jsx-runtime-CP2fAiZX.js";import{r as Ar,t as it}from"./button-BmOH9agK.js";import{t as st}from"./cn-d_A4rA-x.js";import{Bt as yt,Ct as ri,Dt as bf,E as yf,Ft as In,H as oi,Ht as Bt,I as wf,J as l,Jt as me,Kt as vf,Lt as Tn,Mt as Ef,P as kf,St as Je,V as ai,Vt as Fr,Wt as lt,Yt as $e,Zt as jt,_ as Nf,a as Cf,at as j,bt as Sf,ct as He,en as An,ft as xf,it as If,lt as Fn,m as Tf,pt as Af,rt as q,st as Ff,vt as Lf,w as Of,wt as Df,yt as _f,zt as Uf}from"./dist-DUY6xZX8.js";import{C as Bf,D as jf,_ as Pf,a as Mf,c as Rf,n as Lr,r as Gf,v as Jf,x as Wf,y as Vf}from"./dist-CU-Ty5ht.js";import{w as $f,__tla as Hf}from"./JsonOutput-DgTX3wDl.js";import{c as ii,n as qf}from"./once-DRC4SgqY.js";import{t as Or}from"./createReducer-BcTiTw8T.js";import{a as zf,c as Kf,f as Ln,h as Yf,i as Xf,l as Pt,n as si,o as Qf,t as Zf}from"./dist-D89dID68.js";import{t as em}from"./main-Cmx6WhDY.js";import{r as Mt,t as tm}from"./requests-DZy_SQ_v.js";import{t as nm}from"./createLucideIcon-BvP5LBIs.js";import{f as rm,r as li,t as om,__tla as am}from"./layout-DQyAaEMt.js";import{M as im,O as sm,a as ci,c as lm,f as cm,k as ui,n as um,o as dm,r as di,s as fm,w as mm}from"./add-cell-with-ai-YgztdOJ9.js";import{t as pm}from"./x-yqLqiq5Q.js";import{r as hm,s as gm,u as bm}from"./download-CNypwy8-.js";import{t as ym}from"./circle-check-CceJVe3L.js";import{r as wm,t as vm}from"./types-DmqhedDv.js";import{n as Em}from"./spinner-Cg6xI4rq.js";import{t as fi}from"./save-BShTD2ty.js";import{I as mi,P as km}from"./input-CRB-lq4Q.js";import{a as Nm,i as Cm,n as pi}from"./state-ejdaxMKR.js";import{t as Sm}from"./preload-helper-y72bE5iF.js";import{t as xm}from"./Deferred-CfyqLOPG.js";import{t as ct}from"./use-toast-BtZldTi5.js";import{n as Ye}from"./paths-BVwhPRFT.js";import{t as Im}from"./session-BQVN1Kxg.js";import{r as Tm}from"./useTheme-0tqyqYah.js";import{t as On}from"./tooltip-D7xdZcKW.js";import{c as hi,i as gi,n as bi,r as Am}from"./dialog-DxCG9U2G.js";import{O as Fm}from"./usePress-C7hs6zHi.js";import{a as Lm,r as Om,t as Dm}from"./popover-2GpKY98n.js";import{n as yi}from"./ImperativeModal-Upm6NvJ2.js";import{r as _m}from"./errors-iwK4b4VF.js";import{t as Um}from"./copy-hG3KkB-h.js";import{t as X}from"./extends-CeSFM22p.js";import{t as Rt}from"./objectWithoutPropertiesLoose-BkUn3I0-.js";import{t as Bm}from"./kbd-CNdD3jWa.js";import{a as Dr}from"./useInstallPackage-z6g4hGCr.js";import{a as jm,o as Pm}from"./cell-link-zwx6SduJ.js";import{n as Mm}from"./useAsyncData-D89z7Kpl.js";import{a as Rm,o as wi,r as Gm,s as vi,t as Jm}from"./command-COYC8fga.js";import{r as Wm}from"./html-to-image-Din4blht.js";import{a as Vm}from"./focus-C2gi0jxY.js";import{a as Ei}from"./renderShortcut-CMdaUbHS.js";import{t as _r}from"./label-CGS9p44y.js";import{n as Ur,t as ki}from"./useDeleteCell-fYxNdCgY.js";import{n as wt}from"./esm-DYDEu0Nq.js";import{n as $m,t as Hm}from"./icons-CHolxgW2.js";import{t as Ni}from"./dist-DU2EJ7el.js";import{t as qm}from"./useSplitCell-CNL377K-.js";import{co as zm,do as Br,fo as Km,ft as Ym,go as vt,ho as Ci,lo as jr,mo as Si,oo as Xm,po as Qm,so as xi,uo as Ii,__tla as Zm}from"./loro_wasm_bg-DNKZeVyM.js";import{t as ep}from"./ws-Sb1KIggW.js";import{n as Ti,t as Pr}from"./useInterval-C2RcswPt.js";let Dn,Mr,Ai,Rr,ut,Gr,be,Gt,Jt,Fi,Li,Oi,Di,_i,_n,Ui,Un,Bi,Bn,tp=Promise.all([(()=>{try{return qd}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return am}catch{}})(),(()=>{try{return Zm}catch{}})()]).then(async()=>{var wn,La,we,ve,Ee,ke,Ne,Ce,Se,xe,Ie,Te,Ae,Fe,Le,Oe,De,_e,Ue,Be,je;var oe=nm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const z={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var he=300;const kt=Bt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:he,keymaps:z},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),et=me.define(),tt=$e.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(et))return n.value;return e}}),Nt=me.define(),Ct=me.define(),Wr=$e.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(Nt)&&(n={...n,inputValue:r.value}),r.is(Ct)&&(n={...n,shouldFocus:r.value});return n}}),Wt=me.define(),St=$e.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=me.define(),Vr=$e.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var ji=1;const $r=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<ji)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[et.of({show:!0,lineFrom:i,lineTo:s}),Ct.of(!0),Nt.of("")],selection:yt.cursor(o.from)}),!0},Hr=e=>e.state.field(St)?(e.dispatch({effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1,qr=e=>{let t=e.state.field(St);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),et.of({show:!1,lineFrom:0,lineTo:0}),Ct.of(!1),Nt.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Pi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Pi()).replace("-"," ").toUpperCase()}function ce(e,t){let n=document.createElement(e);return n.className=t,n}function Mi(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var Vt=$e.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is($t));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),$t=me.define();function Ri(e,t){let n=e.state.selection.main.head,r=[],o=q.widget({widget:new Gi(t),side:1});return r.push(o.range(n)),q.set(r)}var Gi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},Ji=class{constructor(e){h(this,"cache",new Map);h(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Wi=(e,t)=>He.fromClass(class{constructor(){h(this,"abortController",null);h(this,"cache");this.cache=new Ji(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:$t.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:$t.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Vi=He.fromClass(class{constructor(){h(this,"decorations");this.decorations=q.none}update(e){var n;let t=(n=e.state.field(Vt))==null?void 0:n.suggestion;if(!t){this.decorations=q.none;return}this.decorations=Ri(e.view,t)}},{decorations:e=>e.decorations});function $i(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:yt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:yt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Hi=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...$i(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},zr=e=>{var r,o,a;let t=(r=e.state.field(Vt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:$t.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},qi=Je.of([{key:"Tab",run:Hi},{key:"Escape",run:zr}]),Mn=Bt.define({combine:e=>e.at(-1)});function Kr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Mi(e.fetchFn,t);return[Vt,Mn.of(e),Wi(r,e),Vi,n?qi:[]]}const zi=j.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function Ki(e){var o,a;let t=e.state.facet(kt),n={...z,...t.keymaps},r=ce("div","cm-ai-tooltip").appendChild(ce("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${Pn(n.showInput)}</span></span>`,(o=r.querySelector("span"))==null||o.addEventListener("mousedown",i=>{i.stopPropagation(),i.button===0&&i.preventDefault()}),(a=r.querySelector("span"))==null||a.addEventListener("click",i=>{i.preventDefault(),$r(e)}),r}const Rn=Bt.define({combine(e){return An(e,{render:Ki,hideOnBlur:!1})}}),Yi=He.fromClass((La=class{constructor(e){h(this,"view");h(this,"suppress");h(this,"dom");h(this,"mousedown",()=>{this.suppress=!0});h(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});h(this,"scroll",()=>{this.display(this.view)});h(this,"windowScroll",()=>{this.display(this.view)});_a(this,wn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from);if(!r)return;let o=e.dom.getBoundingClientRect(),a=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),i=r.top>=o.top&&r.top<=o.bottom&&r.left>=o.left&&r.left<=o.right,s=!a||r.top>=a.top&&r.top<=a.bottom&&r.left>=a.left&&r.left<=a.right;if(!i||!s){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let c=this.dom.getBoundingClientRect(),u=o.width-c.width,d=Math.min(r.left,u),f=r.top-c.height;f=a?Math.max(a.y,f):f,this.dom.style.left=`${d}px`,this.dom.style.top=`${f}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Rn);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(tt).show){this.dom.style.display="none";return}if(e.state.facet(Rn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Da(this,wn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},wn=new WeakMap,La));var Xi=j.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function Qi(){return[Yi,Xi]}var Zi=class extends Fn{constructor(t){super();h(this,"oldCode");this.oldCode=t}toDOM(t){let n=ce("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=ce("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=ce("div","cm-floating-buttons"),a=t.state.facet(kt),i={...z,...a.keymaps},s=ce("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Pn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Hr(t)});let c=ce("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Pn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},es=class extends Fn{constructor(t){super();h(this,"complete");h(this,"abortController",null);h(this,"dom",null);h(this,"input",null);h(this,"loadingContainer",null);h(this,"helpInfo",null);h(this,"inputContainer",null);h(this,"form",null);h(this,"view",null);h(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});h(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[et.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});h(this,"handleSubmit",async t=>{var g;let n=this.view;if(!n)return;let r=n.state.facet(kt);t==null||t.stopPropagation();let o=n.state.field(tt),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),p=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(tt).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:w},effects:[et.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:u,to:u+w.length,oldCode:f,newCode:w}),dt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(g=r.onError)==null||g.call(r,w)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(Wr),r=t.state.field(Vr),o=ce("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=ce("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=ce("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=ce("div","cm-ai-loading-container");this.loadingContainer=s;let c=ce("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=ce("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);let d=ce("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let p=ce("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:Ct.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?p:f)}let g="";function w(){t.dispatch({effects:Nt.of(i.value)});let y=i.value.trim();y!==g&&(g=y,m(y))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ts(e){if(!e.prompt)throw Error("prompt function is required");let t={...z,...e.keymaps};return[kt.of(e),tt,Wr,St,Vr,Qi(),zi,Je.of([{key:t.showInput,run:$r}]),lt.highest([Je.of([{key:t.acceptEdit,run:Hr},{key:t.rejectEdit,run:qr}])]),ns,rs,os,as]}const ns=j.updateListener.of(e=>{let t=e.state.field(tt);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[et.of({show:!0,lineFrom:n,lineTo:r})]})}),rs=j.decorations.of(e=>{let t=e.state.field(St);return t?q.set([q.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):q.none}),os=j.decorations.compute([tt],e=>{let t=e.field(tt),n=e.facet(kt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push(q.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(q.widget({widget:new es(n.prompt),side:-1}).range(s))}}return q.set(r)}),as=$e.define({create(e){return q.none},update(e,t){let n=t.state.field(St);return n?q.set([q.widget({widget:new Zi(n.oldCode),block:!0}).range(n.from)]):q.none},provide:e=>j.decorations.from(e)});var is=Re(),F=Ua(md(),1),Gn=()=>({entries:new Map}),{valueAtom:Yr,useActions:Xr}=Or(Gn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(Ze),s=a.get(vd),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!c.has(C));y&&v&&m.set(w.name,w.usedBy)}let g;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(g=p.runElapsedTimeMs),m.size===0&&g===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:g,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Gn()):{...e,entries:u}},clear:()=>Gn()});Bn=function(){let e=yr(),{submit:t,clear:n}=Xr(),{entries:r}=re(Yr),o=ki(),a=Ur();return(0,F.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},Bi=function(e){let t=(0,is.c)(16),n=re(Yr),r=Xr(),o=Ur(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ss)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function ss(e){return e.cellId}async function ls(e){var s,c;let t=`
4
4
  ${e.codeBefore}
5
5
  <rewrite_this>
@@ -0,0 +1 @@
1
+ import{s as A}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-Bj1aDYRI.js";import{cr as $,nr as G}from"./cells-DVXjWBHI.js";import{C as P,P as K,R as E,T as Q}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{n as X}from"./assertNever-Dw9aFN4h.js";import{t as L}from"./isEmpty-9KlyX4nB.js";import{ut as Y}from"./ai-model-dropdown-D0ZKojfQ.js";import{m as W}from"./useEventListener-CjXriKgk.js";import{t as Z}from"./jsx-runtime-CP2fAiZX.js";import{t as C}from"./cn-d_A4rA-x.js";import{u as ee}from"./add-cell-with-ai-YgztdOJ9.js";import{t as te}from"./bot-message-square-BzawfL5p.js";import{t as D}from"./markdown-renderer-BF7gphWI.js";import{n as se}from"./spinner-Cg6xI4rq.js";import{c as ae}from"./datasource-BN9tktls.js";import{t as re}from"./RenderHTML-CzOWRFSs.js";import{a as I,i as V,n as B,r as H}from"./multi-map-CDn9gple.js";var le=J(),ne=A(U(),1),t=A(Z(),1);const oe=n=>{let e=(0,le.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(te,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",d;e[1]!==a.length||e[2]!==p?(d=(0,t.jsx)(I,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=d):d=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(H,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(D,{content:a})})})}),e[4]=a,e[5]=i);let c;e[6]!==d||e[7]!==i?(c=(0,t.jsxs)(V,{value:"reasoning",className:"border-0",children:[d,i]}),e[6]=d,e[7]=i,e[8]=c):c=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==c?(u=(0,t.jsx)(B,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:c},r),e[9]=r,e[10]=o,e[11]=c,e[12]=u):u=e[12],u};var T=J(),ie=K({status:E().default("success"),auth_required:Q().default(!1),action_url:P(),next_steps:P(),meta:P(),message:E().nullish()}).passthrough(),ce=n=>{let e=(0,T.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...d}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let c;e[3]===s?c=e[4]:(c=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=c);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==c||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[c,u]})]}),e[7]=c,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)(G,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,d&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(d).map(xe)})]}),e[0]=a,e[1]=l}else l=e[1];return l},de=n=>{let e=(0,T.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ie.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(ce,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},me=n=>{let e=(0,T.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const M=n=>{let e=(0,T.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,d=m==="output-available"&&(l||s),i=s?"error":d?"success":"loading",c;e[0]===i?c=e[1]:(c=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)($,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Y,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=c);let u=c,h;e[2]!==s||e[3]!==d||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":d?"Done":"Tool call",e[2]=s,e[3]=d,e[4]=i,e[5]=h):h=e[5];let f=h,F=`tool-${p}`,g;e[6]===o?g=e[7]:(g=C("w-full",o),e[6]=o,e[7]=g);let k=i==="error"&&"text-[var(--red-11)]/80",q=i==="success"&&"text-[var(--grass-11)]/80",j;e[8]!==k||e[9]!==q?(j=C("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",k,q),e[8]=k,e[9]=q,e[10]=j):j=e[10];let v;e[11]===u?v=e[12]:(v=u(),e[11]=u,e[12]=v);let z=f(),b;e[13]===a?b=e[14]:(b=ue(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==z||e[18]!==N||e[19]!==v?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[v,z,":",N]}),e[17]=z,e[18]=N,e[19]=v,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==j?(w=(0,t.jsx)(I,{className:j,children:y}),e[21]=y,e[22]=j,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==d||e[26]!==x||e[27]!==l?(_=d&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(me,{input:x}),l!=null&&(0,t.jsx)(de,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=d,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(H,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(V,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==F||e[36]!==g?(O=(0,t.jsx)(B,{type:"single",collapsible:!0,className:g,children:R},F),e[34]=R,e[35]=F,e[36]=g,e[37]=O):O=e[37],O};function ue(n){return n.replace("tool-","")}function xe(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const pe=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(he(s))return(0,t.jsx)(M,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(fe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(ne.Fragment,{children:re({html:s.text})},r):(0,t.jsx)(D,{content:s.text},r);case"reasoning":return(0,t.jsx)(oe,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(ee,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(M,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return X(s),null}}};function he(n){return n.type.startsWith("tool-")}function fe(n){return n.type.startsWith("data-")}export{pe as t};
@@ -1,3 +1,3 @@
1
- import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as Ue}from"./useEvent-WUlsM6MC.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{T as Dt,sr as zt}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as Ft,r as Ze,t as Ht,w as Wt}from"./ai-model-dropdown-D0ZKojfQ.js";import{m as _e,r as le}from"./useEventListener-CjXriKgk.js";import{n as et,r as Ot}from"./utils-CORJ8yYa.js";import{o as Ut}from"./config-vle9v48l.js";import{t as Yt}from"./jsx-runtime-CP2fAiZX.js";import{t as oe}from"./button-BmOH9agK.js";import{t as ae}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as Xt}from"./requests-DZy_SQ_v.js";import{t as tt}from"./createLucideIcon-BvP5LBIs.js";import{C as Vt,N as Bt,O as qt,T as $t,_ as Gt,b as Jt,c as Kt,d as Qt,f as Zt,g as er,h as rt,j as tr,l as rr,m as lr,n as lt,p as or,s as ot,u as ar,v as nr,y as sr}from"./add-cell-with-ai-YgztdOJ9.js";import{t as at}from"./bot-message-square-BzawfL5p.js";import{f as ir}from"./markdown-renderer-BF7gphWI.js";import{n as cr}from"./spinner-Cg6xI4rq.js";import{t as dr}from"./plus-BgyD1fCH.js";import{lt as ur,r as pr}from"./input-CRB-lq4Q.js";import{t as mr}from"./settings-DuNjGb99.js";import{r as nt,t as hr}from"./state-ejdaxMKR.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import"./session-BQVN1Kxg.js";import{C as fr,E as xr,_ as pe,g as X,w as V,x as Ae}from"./Combination-BM4eSgxb.js";import{a as vr,i as gr,n as wr,p as br,r as yr,s as jr,t as Sr}from"./select-DjvQ3a3F.js";import{i as st,t as Ye}from"./tooltip-D7xdZcKW.js";import{u as Cr}from"./menu-items-uT9t8sb4.js";import"./purify.es-DFAhPV1y.js";import{i as Nr}from"./dates-BL9QfUQ0.js";import{t as Rr}from"./context-DAH8i0ik.js";import{i as Tr,r as _r,t as Ar}from"./popover-2GpKY98n.js";import{t as Er}from"./copy-icon-Cg5270DP.js";import{n as kr}from"./error-banner-AdDcypw3.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import{t as Lr}from"./chat-display-C40mAvmZ.js";import"./esm-DYDEu0Nq.js";import{t as Xe}from"./empty-state-DFr2pZOz.js";var Ir=tt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),Pr=tt("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=Qe(),p=Ke(Pt(),1);const Dr=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var o=Ke(Yt(),1);function zr(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[ct,po]=xr(Ve),[Mr,M]=ct(Ve),dt=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[S,A]=p.useState(null),[w,N]=p.useState(0),[R,y]=p.useState(0),[j,C]=p.useState(!1),[E,I]=p.useState(!1),g=le(t,k=>c(k)),_=Cr(l);return(0,o.jsx)(Mr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:j,onScrollbarXEnabledChange:C,scrollbarY:S,onScrollbarYChange:A,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:g,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});dt.displayName=Ve;var ut="ScrollAreaViewport",pt=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=M(ut,r),i=le(t,p.useRef(null),s.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:l}),(0,o.jsx)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});pt.displayName=ut;var O="ScrollAreaScrollbar",Be=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Fr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Hr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(mt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(qe,{...n,ref:t}):null});Be.displayName=O;var Fr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Ae,{present:r||a,children:(0,o.jsx)(mt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Hr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=zr("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 u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Ae,{present:r||i!=="hidden",children:(0,o.jsx)(qe,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),mt=p.forwardRef((e,t)=>{let r=M(O,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Ae,{present:n||a,children:(0,o.jsx)(qe,{"data-state":a?"visible":"hidden",...l,ref:t})})}),qe=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=M(O,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=gt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Vr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(Wr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=wt(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Or,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=wt(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=m(h))}}):null}),Wr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=M(O,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ft,{"data-orientation":"horizontal",...l,ref:u,sizes:r,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),yt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Or=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=M(O,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ft,{"data-orientation":"vertical",...l,ref:u,sizes:r,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),yt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Ur,ht]=ct(O),ft=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=M(O,r),[v,S]=p.useState(null),A=le(t,g=>S(g)),w=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,j=X(d),C=X(c),E=Ie(m,10);function I(g){w.current&&u({x:g.clientX-w.current.left,y:g.clientY-w.current.top})}return p.useEffect(()=>{let g=_=>{let k=_.target;v!=null&&v.contains(k)&&j(_,y)};return document.addEventListener("wheel",g,{passive:!1}),()=>document.removeEventListener("wheel",g,{passive:!1})},[R,v,y,j]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Ur,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:X(a),onThumbPointerUp:X(s),onThumbPositionChange:C,onThumbPointerDown:X(i),children:(0,o.jsx)(pe.div,{...h,ref:A,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,g=>{g.button===0&&(g.target.setPointerCapture(g.pointerId),w.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(g))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,g=>{let _=g.target;_.hasPointerCapture(g.pointerId)&&_.releasePointerCapture(g.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),w.current=null})})})}),Ee="ScrollAreaThumb",xt=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=ht(Ee,e.__scopeScrollArea);return(0,o.jsx)(Ae,{present:r||l.hasThumb,children:(0,o.jsx)(Yr,{ref:t,...n})})}),Yr=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=M(Ee,r),s=ht(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Br(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});xt.displayName=Ee;var $e="ScrollAreaCorner",vt=p.forwardRef((e,t)=>{let r=M($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Xr,{...e,ref:t}):null});vt.displayName=$e;var Xr=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=M($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ke(e){return e?parseInt(e,10):0}function gt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=gt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Vr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return bt([c,u],m)(e)}function wt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=br(e,r==="ltr"?[0,s]:[s*-1,0]);return bt([0,s],[0,i])(c)}function bt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function yt(e,t){return e>0&&e<t}var Br=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=X(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=X(t);fr(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var jt=dt,qr=pt,$r=vt,St=p.forwardRef((e,t)=>{let r=(0,it.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=ae("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(qr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)($r,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(jt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=jt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,it.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=ae("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(xt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(Be,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=Be.displayName;var Gr=[{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 Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=Ue(nt),{locale:n}=Rr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].sort((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Ar,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Tr,{asChild:!0,children:(0,o.jsx)(oe,{variant:"text",size:"icon",children:(0,o.jsx)(zt,{className:"h-4 w-4"})})})}),(0,o.jsxs)(_r,{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)(pr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(at,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(ur,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:ae("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(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 flex-shrink-0",children:Nr(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(dr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(oe,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ft,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(mr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(oe,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=S=>{var N,R,y;let A=(R=(N=S.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
1
+ import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as Ue}from"./useEvent-WUlsM6MC.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{T as Dt,sr as zt}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as Ft,r as Ze,t as Ht,w as Wt}from"./ai-model-dropdown-D0ZKojfQ.js";import{m as _e,r as le}from"./useEventListener-CjXriKgk.js";import{n as et,r as Ot}from"./utils-CORJ8yYa.js";import{o as Ut}from"./config-vle9v48l.js";import{t as Yt}from"./jsx-runtime-CP2fAiZX.js";import{t as oe}from"./button-BmOH9agK.js";import{t as ae}from"./cn-d_A4rA-x.js";import"./dist-DUY6xZX8.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as Xt}from"./requests-DZy_SQ_v.js";import{t as tt}from"./createLucideIcon-BvP5LBIs.js";import{C as Vt,N as Bt,O as qt,T as $t,_ as Gt,b as Jt,c as Kt,d as Qt,f as Zt,g as er,h as rt,j as tr,l as rr,m as lr,n as lt,p as or,s as ot,u as ar,v as nr,y as sr}from"./add-cell-with-ai-YgztdOJ9.js";import{t as at}from"./bot-message-square-BzawfL5p.js";import{f as ir}from"./markdown-renderer-BF7gphWI.js";import{n as cr}from"./spinner-Cg6xI4rq.js";import{t as dr}from"./plus-BgyD1fCH.js";import{lt as ur,r as pr}from"./input-CRB-lq4Q.js";import{t as mr}from"./settings-DuNjGb99.js";import{r as nt,t as hr}from"./state-ejdaxMKR.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import"./session-BQVN1Kxg.js";import{C as fr,E as xr,_ as pe,g as X,w as V,x as Ae}from"./Combination-BM4eSgxb.js";import{a as vr,i as gr,n as wr,p as br,r as yr,s as jr,t as Sr}from"./select-DjvQ3a3F.js";import{i as st,t as Ye}from"./tooltip-D7xdZcKW.js";import{u as Cr}from"./menu-items-uT9t8sb4.js";import"./purify.es-DFAhPV1y.js";import{i as Nr}from"./dates-BL9QfUQ0.js";import{t as Rr}from"./context-DAH8i0ik.js";import{i as Tr,r as _r,t as Ar}from"./popover-2GpKY98n.js";import{t as Er}from"./copy-icon-Cg5270DP.js";import{n as kr}from"./error-banner-AdDcypw3.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import{t as Lr}from"./chat-display-Yag1t1kP.js";import"./esm-DYDEu0Nq.js";import{t as Xe}from"./empty-state-DFr2pZOz.js";var Ir=tt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),Pr=tt("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=Qe(),p=Ke(Pt(),1);const Dr=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var o=Ke(Yt(),1);function zr(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[ct,po]=xr(Ve),[Mr,M]=ct(Ve),dt=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[S,A]=p.useState(null),[w,N]=p.useState(0),[R,y]=p.useState(0),[j,C]=p.useState(!1),[E,I]=p.useState(!1),g=le(t,k=>c(k)),_=Cr(l);return(0,o.jsx)(Mr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:j,onScrollbarXEnabledChange:C,scrollbarY:S,onScrollbarYChange:A,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:g,style:{position:"relative","--radix-scroll-area-corner-width":w+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});dt.displayName=Ve;var ut="ScrollAreaViewport",pt=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=M(ut,r),i=le(t,p.useRef(null),s.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:l}),(0,o.jsx)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});pt.displayName=ut;var O="ScrollAreaScrollbar",Be=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Fr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Hr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(mt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(qe,{...n,ref:t}):null});Be.displayName=O;var Fr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Ae,{present:r||a,children:(0,o.jsx)(mt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Hr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=M(O,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=zr("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 u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Ae,{present:r||i!=="hidden",children:(0,o.jsx)(qe,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),mt=p.forwardRef((e,t)=>{let r=M(O,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Ae,{present:n||a,children:(0,o.jsx)(qe,{"data-state":a?"visible":"hidden",...l,ref:t})})}),qe=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=M(O,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=gt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Vr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(Wr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=wt(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Or,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=wt(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=m(h))}}):null}),Wr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=M(O,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ft,{"data-orientation":"horizontal",...l,ref:u,sizes:r,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),yt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Or=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=M(O,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ft,{"data-orientation":"vertical",...l,ref:u,sizes:r,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":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),yt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Ur,ht]=ct(O),ft=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=M(O,r),[v,S]=p.useState(null),A=le(t,g=>S(g)),w=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,j=X(d),C=X(c),E=Ie(m,10);function I(g){w.current&&u({x:g.clientX-w.current.left,y:g.clientY-w.current.top})}return p.useEffect(()=>{let g=_=>{let k=_.target;v!=null&&v.contains(k)&&j(_,y)};return document.addEventListener("wheel",g,{passive:!1}),()=>document.removeEventListener("wheel",g,{passive:!1})},[R,v,y,j]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Ur,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:X(a),onThumbPointerUp:X(s),onThumbPositionChange:C,onThumbPointerDown:X(i),children:(0,o.jsx)(pe.div,{...h,ref:A,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,g=>{g.button===0&&(g.target.setPointerCapture(g.pointerId),w.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(g))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,g=>{let _=g.target;_.hasPointerCapture(g.pointerId)&&_.releasePointerCapture(g.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),w.current=null})})})}),Ee="ScrollAreaThumb",xt=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=ht(Ee,e.__scopeScrollArea);return(0,o.jsx)(Ae,{present:r||l.hasThumb,children:(0,o.jsx)(Yr,{ref:t,...n})})}),Yr=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=M(Ee,r),s=ht(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Br(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});xt.displayName=Ee;var $e="ScrollAreaCorner",vt=p.forwardRef((e,t)=>{let r=M($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Xr,{...e,ref:t}):null});vt.displayName=$e;var Xr=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=M($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ke(e){return e?parseInt(e,10):0}function gt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=gt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Vr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return bt([c,u],m)(e)}function wt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=br(e,r==="ltr"?[0,s]:[s*-1,0]);return bt([0,s],[0,i])(c)}function bt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function yt(e,t){return e>0&&e<t}var Br=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=X(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=X(t);fr(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var jt=dt,qr=pt,$r=vt,St=p.forwardRef((e,t)=>{let r=(0,it.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=ae("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(qr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)($r,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(jt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=jt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,it.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=ae("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(xt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(Be,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=Be.displayName;var Gr=[{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 Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=Ue(nt),{locale:n}=Rr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].sort((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Ar,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Tr,{asChild:!0,children:(0,o.jsx)(oe,{variant:"text",size:"icon",children:(0,o.jsx)(zt,{className:"h-4 w-4"})})})}),(0,o.jsxs)(_r,{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)(pr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(at,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(ur,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:ae("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(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 flex-shrink-0",children:Nr(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(dr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(oe,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ft,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(mr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(oe,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=S=>{var N,R,y;let A=(R=(N=S.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
2
2
  `),w=(y=S.parts)==null?void 0:y.filter(ol);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[w==null?void 0:w.map(al),(0,o.jsx)(lt,{value:A,placeholder:"Type your message...",onChange:nl,onSubmit:(j,C)=>{C.trim()&&l(n,C)},onClose:sl},S.id)]})},t[0]=n,t[1]=l,t[2]=i):i=t[2];let c=i,u;t[3]!==s||t[4]!==a?(u=S=>(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)(Er,{className:"h-3 w-3",value:S.parts.filter(il).map(cl).join(`
3
3
  `)||""})}),Lr({message:S,isStreamingReasoning:a,isLast:s})]}),t[3]=s,t[4]=a,t[5]=u):u=t[5];let d=u,m=r.role==="user"?"justify-end":"justify-start",h;t[6]===m?h=t[7]:(h=ae("flex group relative",m),t[6]=m,t[7]=h);let f;t[8]!==r||t[9]!==d||t[10]!==c?(f=r.role==="user"?c(r):d(r),t[8]=r,t[9]=d,t[10]=c,t[11]=f):f=t[11];let v;return t[12]!==h||t[13]!==f?(v=(0,o.jsx)("div",{className:h,children:f}),t[12]=h,t[13]=f,t[14]=v):v=t[14],v});Rt.displayName="ChatMessage";var Tt=(0,p.memo)(e=>{var D,U;let t=(0,se.c)(39),{isEmpty:r,onSendClick:n,isLoading:l,onStop:a,fileInputRef:s,onAddFiles:i,onAddContext:c}=e,u=Ue(et),d=(u==null?void 0:u.mode)||Nt,m=((D=u==null?void 0:u.models)==null?void 0:D.chat_model)||"openai/gpt-4o",h=Wt.parse(m).providerId,{saveModeChange:f}=Mt(),v;t[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:ir},{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search",Icon:Pr},{value:"agent",label:"Agent (beta)",subtitle:"Use AI with access to read and write tools",Icon:Ir}],t[0]=v):v=t[0];let S=v,A=or.has(h),w=(U=S.find(me=>me.value===d))==null?void 0:U.Icon,N;t[1]===w?N=t[2]:(N=w&&(0,o.jsx)(w,{className:"h-3 w-3"}),t[1]=w,t[2]=N);let R;t[3]===d?R=t[4]:(R=(0,o.jsx)("span",{className:"capitalize",children:d}),t[3]=d,t[4]=R);let y;t[5]!==N||t[6]!==R?(y=(0,o.jsxs)(jr,{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:[N,R]}),t[5]=N,t[6]=R,t[7]=y):y=t[7];let j;t[8]===Symbol.for("react.memo_cache_sentinel")?(j=(0,o.jsx)(vr,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),t[8]=j):j=t[8];let C;t[9]===S?C=t[10]:(C=(0,o.jsx)(wr,{children:(0,o.jsxs)(yr,{children:[j,S.map(dl)]})}),t[9]=S,t[10]=C);let E;t[11]!==d||t[12]!==f||t[13]!==y||t[14]!==C?(E=(0,o.jsxs)(Sr,{value:d,onValueChange:f,children:[y,C]}),t[11]=d,t[12]=f,t[13]=y,t[14]=C,t[15]=E):E=t[15];let I;t[16]===Symbol.for("react.memo_cache_sentinel")?(I=(0,o.jsx)(Ht,{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"}),t[16]=I):I=t[16];let g;t[17]===E?g=t[18]:(g=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[E,I]}),t[17]=E,t[18]=g);let _;t[19]!==l||t[20]!==c?(_=(0,o.jsx)(Kt,{handleAddContext:c,isLoading:l}),t[19]=l,t[20]=c,t[21]=_):_=t[21];let k;t[22]!==s||t[23]!==A||t[24]!==l||t[25]!==i?(k=A&&(0,o.jsx)(rr,{fileInputRef:s,isLoading:l,onAddFiles:i}),t[22]=s,t[23]=A,t[24]=l,t[25]=i,t[26]=k):k=t[26];let F;t[27]!==r||t[28]!==l||t[29]!==n||t[30]!==a?(F=(0,o.jsx)(Zt,{isLoading:l,onStop:a,onSendClick:n,isEmpty:r}),t[27]=r,t[28]=l,t[29]=n,t[30]=a,t[31]=F):F=t[31];let H;t[32]!==_||t[33]!==k||t[34]!==F?(H=(0,o.jsxs)("div",{className:"flex flex-row",children:[_,k,F]}),t[32]=_,t[33]=k,t[34]=F,t[35]=H):H=t[35];let T;return t[36]!==H||t[37]!==g?(T=(0,o.jsx)(st,{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:[g,H]})}),t[36]=H,t[37]=g,t[38]=T):T=t[38],T});Tt.displayName="ChatInputFooter";var Ge=(0,p.memo)(e=>{let t=(0,se.c)(29),{placeholder:r,input:n,inputClassName:l,setInput:a,onSubmit:s,inputRef:i,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m,onClose:h}=e,f;t[0]!==n||t[1]!==s?(f=()=>{n.trim()&&s(void 0,n)},t[0]=n,t[1]=s,t[2]=f):f=t[2];let v=ue(f),S;t[3]===l?S=t[4]:(S=ae("px-2 py-3 flex-1",l),t[3]=l,t[4]=S);let A=r||"Type your message...",w;t[5]!==n||t[6]!==i||t[7]!==m||t[8]!==h||t[9]!==s||t[10]!==a||t[11]!==A?(w=(0,o.jsx)(lt,{inputRef:i,value:n,onChange:a,onSubmit:s,onClose:h,onAddFiles:m,placeholder:A}),t[5]=n,t[6]=i,t[7]=m,t[8]=h,t[9]=s,t[10]=a,t[11]=A,t[12]=w):w=t[12];let N;t[13]!==S||t[14]!==w?(N=(0,o.jsx)("div",{className:S,children:w}),t[13]=S,t[14]=w,t[15]=N):N=t[15];let R=!n.trim(),y;t[16]===i?y=t[17]:(y=()=>qt(i),t[16]=i,t[17]=y);let j;t[18]!==d||t[19]!==v||t[20]!==c||t[21]!==m||t[22]!==u||t[23]!==R||t[24]!==y?(j=(0,o.jsx)(Tt,{isEmpty:R,onAddContext:y,onSendClick:v,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m}),t[18]=d,t[19]=v,t[20]=c,t[21]=m,t[22]=u,t[23]=R,t[24]=y,t[25]=j):j=t[25];let C;return t[26]!==N||t[27]!==j?(C=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[N,j]}),t[26]=N,t[27]=j,t[28]=C):C=t[28],C});Ge.displayName="ChatInput";var Zr=()=>{let e=(0,se.c)(6),t=Ue(Ot),{handleClick:r}=Ze();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)(oe,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),e[0]=r,e[1]=l);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(at,{}),e[2]=a):a=e[2];let s;return e[3]===l?s=e[4]:(s=(0,o.jsx)(Xe,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:a}),e[3]=l,e[4]=s),s}let n;return e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(el,{}),e[5]=n):n=e[5],n},el=()=>{let e=(0,se.c)(95),t=kt(nt),[r,n]=It(hr),[l,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(""),{files:c,addFiles:u,clearFiles:d,removeFile:m}=Jt(),h=(0,p.useRef)(null),f=(0,p.useRef)(null),v=(0,p.useRef)(null),S=(0,p.useRef)(null),A=(0,p.useRef)(null),w=Ut(),{invokeAiTool:N,sendRun:R}=Xt(),y=r==null?void 0:r.id,j=Lt(),{addStagedCell:C}=$t(),{createNewCell:E,prepareForRun:I}=Dt(),g;e[0]!==C||e[1]!==E||e[2]!==I||e[3]!==R||e[4]!==j?(g={addStagedCell:C,createNewCell:E,prepareForRun:I,sendRun:R,store:j},e[0]=C,e[1]=E,e[2]=I,e[3]=R,e[4]=j,e[5]=g):g=e[5];let _=g,k;e[6]===(r==null?void 0:r.messages)?k=e[7]:(k=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=k);let F;if(e[8]!==w||e[9]!==j){let x;e[11]===j?x=e[12]:(x=async b=>{var re;let L=await lr(b.messages),W=((re=j.get(et))==null?void 0:re.mode)||Nt;return{body:{tools:Vt.getToolSchemas(W),...b,...L}}},e[11]=j,e[12]=x),F=new Bt({api:w.getAiURL("chat").toString(),headers:w.headers(),prepareSendMessagesRequest:x}),e[8]=w,e[9]=j,e[10]=F}else F=e[10];let H;e[13]===t?H=e[14]:(H=x=>{let{messages:b}=x;t(L=>Dr({chatState:L,chatId:L.activeChatId,messages:b}))},e[13]=t,e[14]=H);let{messages:T,sendMessage:D,error:U,status:me,regenerate:Pe,stop:Y,addToolOutput:_t,id:De}=tr({id:y,sendAutomaticallyWhen:ul,messages:k,transport:F,onFinish:H,onToolCall:async x=>{let{toolCall:b}=x;if(b.dynamic){_e.debug("Skipping dynamic tool call",b);return}await Gt({invokeAiTool:N,addToolOutput:At,toolCall:{toolName:b.toolName,toolCallId:b.toolCallId,input:b.input},toolContext:_})},onError:pl}),At=_t,P=me==="submitted"||me==="streaming",he;e[15]!==P||e[16]!==T?(he=P&&T.length>0&&sr(T),e[15]=P,e[16]=T,e[17]=he):he=e[17];let ie=he,fe;e[18]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>{requestAnimationFrame(()=>{if(v.current){let x=v.current;x.scrollTop=x.scrollHeight}})},e[18]=fe):fe=e[18];let xe;e[19]===y?xe=e[20]:(xe=[y],e[19]=y,e[20]=xe),(0,p.useEffect)(fe,xe);let ve;e[21]!==De||e[22]!==d||e[23]!==D||e[24]!==t?(ve=async(x,b)=>{let L=Date.now(),W={id:De,title:er(x),messages:[],createdAt:L,updatedAt:L};t(de=>{let Je=new Map(de.chats);return Je.set(W.id,W),{...de,chats:Je,activeChatId:W.id}});let re=b&&b.length>0?await rt(b):void 0;D({role:"user",parts:[{type:"text",text:x},...re??[]]}),d(),a("")},e[21]=De,e[22]=d,e[23]=D,e[24]=t,e[25]=ve):ve=e[25];let ze=ve,ge;e[26]!==d||e[27]!==n?(ge=()=>{n(null),a(""),i(""),d()},e[26]=d,e[27]=n,e[28]=ge):ge=e[28];let Me=ue(ge),we;e[29]!==T||e[30]!==D?(we=(x,b)=>{var de;let L=T[x],W=(de=L.parts)==null?void 0:de.filter(ml),re=L.id;D({messageId:re,role:"user",parts:[{type:"text",text:b},...W]})},e[29]=T,e[30]=D,e[31]=we):we=e[31];let ce=ue(we),be;e[32]!==d||e[33]!==c||e[34]!==D?(be=async(x,b)=>{var W;if(!b.trim())return;(W=f.current)!=null&&W.view&&ot(f.current.view);let L=c?await rt(c):void 0;x==null||x.preventDefault(),D({text:b,files:L}),a(""),d()},e[32]=d,e[33]=c,e[34]=D,e[35]=be):be=e[35];let Fe=ue(be),ye;e[36]===Pe?ye=e[37]:(ye=()=>{Pe()},e[36]=Pe,e[37]=ye);let He=ye,je;e[38]!==ze||e[39]!==c||e[40]!==s?(je=()=>{var x;s.trim()&&((x=h.current)!=null&&x.view&&ot(h.current.view),ze(s.trim(),c))},e[38]=ze,e[39]=c,e[40]=s,e[41]=je):je=e[41];let We=ue(je),Se;e[42]===Symbol.for("react.memo_cache_sentinel")?(Se=()=>{var x,b;return(b=(x=h.current)==null?void 0:x.editor)==null?void 0:b.blur()},e[42]=Se):Se=e[42];let Et=Se,z=T.length===0,Ce;e[43]!==u||e[44]!==Fe||e[45]!==We||e[46]!==l||e[47]!==P||e[48]!==z||e[49]!==s||e[50]!==Y?(Ce=z?(0,o.jsx)(Ge,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:s,inputRef:h,inputClassName:"px-1 py-0",setInput:i,onSubmit:We,isLoading:P,onStop:Y,fileInputRef:S,onAddFiles:u,onClose:Et},"new-thread-input"):(0,o.jsx)(Ge,{input:l,setInput:a,onSubmit:Fe,inputRef:f,isLoading:P,onStop:Y,onClose:()=>{var x,b;return(b=(x=f.current)==null?void 0:x.editor)==null?void 0:b.blur()},fileInputRef:S,onAddFiles:u}),e[43]=u,e[44]=Fe,e[45]=We,e[46]=l,e[47]=P,e[48]=z,e[49]=s,e[50]=Y,e[51]=Ce):Ce=e[51];let B=Ce,Ne;e[52]!==c||e[53]!==z||e[54]!==m?(Ne=c&&c.length>0&&(0,o.jsx)("div",{className:ae("flex flex-row gap-1 flex-wrap p-1",z&&"py-2 px-1"),children:c==null?void 0:c.map(x=>(0,o.jsx)(Qt,{file:x,onRemove:()=>m(x)},x.name))}),e[52]=c,e[53]=z,e[54]=m,e[55]=Ne):Ne=e[55];let q=Ne,Oe=r==null?void 0:r.id,$;e[56]!==Me||e[57]!==n||e[58]!==Oe?($=(0,o.jsx)(st,{children:(0,o.jsx)(Qr,{onNewChat:Me,activeChatId:Oe,setActiveChat:n})}),e[56]=Me,e[57]=n,e[58]=Oe,e[59]=$):$=e[59];let G;e[60]!==B||e[61]!==q||e[62]!==z?(G=z&&(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[q,B]}),e[60]=B,e[61]=q,e[62]=z,e[63]=G):G=e[63];let J;if(e[64]!==ce||e[65]!==ie||e[66]!==T){let x;e[68]!==ce||e[69]!==ie||e[70]!==T.length?(x=(b,L)=>(0,o.jsx)(Rt,{message:b,index:L,onEdit:ce,isStreamingReasoning:ie,isLast:L===T.length-1},b.id),e[68]=ce,e[69]=ie,e[70]=T.length,e[71]=x):x=e[71],J=T.map(x),e[64]=ce,e[65]=ie,e[66]=T,e[67]=J}else J=e[67];let K;e[72]===P?K=e[73]:(K=P&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(cr,{className:"h-4 w-4 animate-spin"})}),e[72]=P,e[73]=K);let Q;e[74]!==U||e[75]!==He?(Q=U&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(kr,{error:U||Error("Unknown error")}),(0,o.jsx)(oe,{variant:"outline",size:"sm",onClick:He,children:"Retry"})]}),e[74]=U,e[75]=He,e[76]=Q):Q=e[76];let Re;e[77]===Symbol.for("react.memo_cache_sentinel")?(Re=(0,o.jsx)("div",{ref:A}),e[77]=Re):Re=e[77];let Z;e[78]!==G||e[79]!==J||e[80]!==K||e[81]!==Q?(Z=(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:v,children:[G,J,K,Q,Re]}),e[78]=G,e[79]=J,e[80]=K,e[81]=Q,e[82]=Z):Z=e[82];let ee;e[83]!==P||e[84]!==Y?(ee=P&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)(oe,{variant:"linkDestructive",size:"sm",onClick:Y,children:"Stop"})}),e[83]=P,e[84]=Y,e[85]=ee):ee=e[85];let te;e[86]!==B||e[87]!==q||e[88]!==z?(te=!z&&(0,o.jsxs)(o.Fragment,{children:[q,B]}),e[86]=B,e[87]=q,e[88]=z,e[89]=te):te=e[89];let Te;return e[90]!==$||e[91]!==Z||e[92]!==ee||e[93]!==te?(Te=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[$,Z,ee,te]}),e[90]=$,e[91]=Z,e[92]=ee,e[93]=te,e[94]=Te):Te=e[94],Te},tl=Zr;function rl(e){return e.type==="text"}function ll(e){return e.text}function ol(e){return e.type==="file"}function al(e,t){return(0,o.jsx)(ar,{attachment:e},t)}function nl(){}function sl(){}function il(e){return e.type==="text"}function cl(e){return e.text}function dl(e){return(0,o.jsx)(gr,{value:e.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)(e.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:e.label}),(0,o.jsx)("span",{className:"text-muted-foreground",children:e.subtitle})]})]})},e.value)}function ul(e){let{messages:t}=e;return nr(t)}function pl(e){_e.error("An error occurred:",e)}function ml(e){return e.type==="file"}export{tl as default};
@@ -1 +1 @@
1
- import{s as V}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-WUlsM6MC.js";import{t as Y}from"./react-Bj1aDYRI.js";import{ni as Z}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as T}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-BrjpohcK.js";import{S as ee}from"./ai-model-dropdown-D0ZKojfQ.js";import{c as le,f as te,s as ie,t as ae}from"./useEventListener-CjXriKgk.js";import{p as oe,v as ne,y as re}from"./utils-CORJ8yYa.js";import{i as pe}from"./switch-BQaT8a2B.js";import{t as se}from"./jsx-runtime-CP2fAiZX.js";import"./dist-DUY6xZX8.js";import"./JsonOutput-DgTX3wDl.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as de}from"./requests-DZy_SQ_v.js";import"./layout-DKgHttkT.js";import"./download-CNypwy8-.js";import{t as me}from"./useCellActionButton-DLoBXBqS.js";import"./markdown-renderer-BF7gphWI.js";import{i as he,t as ce}from"./useNotebookActions-P1v5BUET.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import"./session-BQVN1Kxg.js";import"./Combination-BM4eSgxb.js";import"./purify.es-DFAhPV1y.js";import"./dates-BL9QfUQ0.js";import"./popover-2GpKY98n.js";import"./share-XjNIMk98.js";import"./vega-loader.browser-xq8miGHn.js";import"./defaultLocale-DPBdGRrH.js";import"./defaultLocale-Lfi0pexn.js";import{a as ye,c as fe,i as z,l as J,n as ue,o as K,r as be,s as ge}from"./command-COYC8fga.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import{r as ke}from"./focus-C2gi0jxY.js";import{t as Q}from"./renderShortcut-CMdaUbHS.js";import"./esm-DYDEu0Nq.js";import"./name-cell-input-EJb1YnST.js";import"./multi-icon-OxLi6M3I.js";import"./dist-DBYXupB9.js";import"./dist-CW4ZrmuX.js";import"./dist-DvNh3ph0.js";import"./dist-DrewQ3CS.js";import"./dist-BML9Do7x.js";import"./dist-DWi0RsIc.js";import"./dist-pzEKEf2L.js";import"./dist-CX4tr6LY.js";import"./dist-DkUBUEhC.js";import"./esm-B2VsGmJs.js";var Ce=T(),je=V(Y(),1);function xe(e,l){let t=(0,Ce.c)(11),r;t[0]===l?r=t[1]:(r=new Z(l),t[0]=l,t[1]=r);let p=r,n;t[2]!==e||t[3]!==p?(n=()=>p.get(e),t[2]=e,t[3]=p,t[4]=n):n=t[4];let[m,g]=(0,je.useState)(n),i;t[5]!==e||t[6]!==p?(i=k=>{g(k),p.set(e,k)},t[5]=e,t[6]=p,t[7]=i):i=t[7];let f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var ve=T(),Se=3;function we(){let e=(0,ve.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=xe("marimo:commands",l),p;e[1]!==t||e[2]!==r?(p=m=>{r(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=r,e[3]=p):p=e[3];let n;return e[4]!==t||e[5]!==p?(n={recentCommands:t,addRecentCommand:p},e[4]=t,e[5]=p,e[6]=n):n=e[6],n}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function U(e,l=""){return e.flatMap(t=>t.label?W(t)?U(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label}:[])}var He=T();function Ae(){let e=(0,He.c)(75),[l,t]=re(),[r,p]=ne(),{saveAppConfig:n,saveUserConfig:m}=de(),g;e[0]!==m||e[1]!==t?(g=async d=>{await m({config:d}).then(()=>{t(c=>({...c,...d}))})},e[0]=m,e[1]=t,e[2]=g):g=e[2];let i=g,f;e[3]!==n||e[4]!==p?(f=async d=>{await n({config:d}).then(()=>{p(d)})},e[3]=n,e[4]=p,e[5]=f):f=e[5];let h=f,k;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let d;e[13]===r?d=e[14]:(d=O=>O!==r.width,e[13]=r,e[14]=d);let c;e[15]!==r||e[16]!==h?(c=O=>({label:`App config > Set width=${O}`,handle:()=>{h({...r,width:O})}}),e[15]=r,e[16]=h,e[17]=c):c=e[17];let H;e[18]!==l.display||e[19]!==i?(H={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=H):H=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let A;e[24]!==l.display||e[25]!==i?(A={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=A):A=e[26];let P=l.keymap.preset==="vim",M;e[27]!==l.keymap||e[28]!==i?(M=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=M):M=e[29];let N;e[30]!==P||e[31]!==M?(N={label:"Config > Switch keymap to VIM",hidden:P,handle:M},e[30]=P,e[31]=M,e[32]=N):N=e[32];let D=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==D||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:D,handle:j},e[36]=D,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",$;e[42]!==x||e[43]!==v?($={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=$):$=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let I=l.completion.copilot==="github",q;e[48]!==S||e[49]!==I?(q={label:"Config > Enable GitHub Copilot",handle:S,hidden:I},e[48]=S,e[49]=I,e[50]=q):q=e[50];let B=!l.display.reference_highlighting,w;e[51]!==l.display||e[52]!==i?(w=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=w):w=e[53];let b;e[54]!==B||e[55]!==w?(b={label:"Config > Disable reference highlighting",hidden:B,handle:w},e[54]=B,e[55]=w,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let F;e[60]!==l.display.reference_highlighting||e[61]!==y?(F={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=F):F=e[62];let o=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==i?(a=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=a):a=e[65];let R;e[66]!==o||e[67]!==a?(R={label:"Config > Set cell output area: above",hidden:o,handle:a},e[66]=o,e[67]=a,e[68]=R):R=e[68];let _=l.display.cell_output==="below",E;e[69]!==l.display||e[70]!==i?(E=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=E):E=e[71];let G;e[72]!==_||e[73]!==E?(G={label:"Config > Set cell output area: below",hidden:_,handle:E},e[72]=_,e[73]=E,e[74]=G):G=e[74],k=[...ee().filter(d).map(c),H,C,A,N,u,$,q,b,F,R,G].filter(Me),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=k}else k=e[12];return k}function Me(e){return!e.hidden}var Ne=T(),s=V(se(),1),De=()=>{let e=(0,Ne.c)(37),[l,t]=X(he),r=pe(),p=L(ke),n=L(oe),m;e[0]===p?m=e[1]:(m={cell:p},e[0]=p,e[1]=m);let g=me(m).flat();g=U(g);let i=Ae(),f=ce();f=[...U(f),...U(i)];let h=f.filter(Fe),k=le.keyBy(h,Re),{recentCommands:d,addRecentCommand:c}=we(),H;e[2]===d?H=e[3]:(H=new Set(d),e[2]=d,e[3]=H);let C=H,A;e[4]!==n||e[5]!==t?(A=o=>{te(n.getHotkey("global.commandPalette").key)(o)&&(o.preventDefault(),t(Ee))},e[4]=n,e[5]=t,e[6]=A):A=e[6],ae(document,"keydown",A);let P;e[7]!==c||e[8]!==n||e[9]!==r||e[10]!==t?(P=(o,a)=>{let R=r[o];if(!R)return null;let _=n.getHotkey(o);return(0,s.jsxs)(K,{disabled:a.disabled,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{R()})},value:_.name,children:[(0,s.jsxs)("span",{children:[_.name,a.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:_.key})})]},o)},e[7]=c,e[8]=n,e[9]=r,e[10]=t,e[11]=P):P=e[11];let M=P,N;e[12]!==c||e[13]!==n||e[14]!==t?(N=o=>{let{label:a,handle:R,props:_,hotkey:E}=o,G=_===void 0?{}:_;return(0,s.jsxs)(K,{disabled:G.disabled,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{R()})},value:a,children:[(0,s.jsxs)("span",{children:[a,G.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",G.tooltip,")"]})]}),E&&(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:n.getHotkey(E).key})})]},a)},e[12]=c,e[13]=n,e[14]=t,e[15]=N):N=e[15];let D=N,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let $=d.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z,{heading:"Recently Used",children:d.map(o=>{let a=k[o];return ie(o)?M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!W(a)?D({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip}}):null})}),(0,s.jsx)(fe,{})]}),S=z,I=n.iterate().map(o=>{if(C.has(o))return null;let a=k[o];return M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),q=h.map(o=>C.has(o.label)?null:D({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}})),B;e[18]!==C||e[19]!==D?(B=o=>C.has(o.label)?null:D({label:`Cell > ${o.label}`,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}),e[18]=C,e[19]=D,e[20]=B):B=e[20];let w=g.map(B),b;e[21]!==S||e[22]!==q||e[23]!==w||e[24]!==I?(b=(0,s.jsxs)(S,{heading:"Commands",children:[I,q,w]}),e[21]=S,e[22]=q,e[23]=w,e[24]=I,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==$?(y=(0,s.jsxs)(x,{children:[v,$,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=$,e[30]=y):y=e[30];let F;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(F=(0,s.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=F):F=e[36],F};function Fe(e){return!e.hotkey}function Re(e){return e.label}function Ee(e){return!e}export{De as default};
1
+ import{s as V}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-WUlsM6MC.js";import{t as Y}from"./react-Bj1aDYRI.js";import{ni as Z}from"./cells-DVXjWBHI.js";import"./react-dom-CSu739Rf.js";import{t as T}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-BrjpohcK.js";import{S as ee}from"./ai-model-dropdown-D0ZKojfQ.js";import{c as le,f as te,s as ie,t as ae}from"./useEventListener-CjXriKgk.js";import{p as oe,v as ne,y as re}from"./utils-CORJ8yYa.js";import{i as pe}from"./switch-BQaT8a2B.js";import{t as se}from"./jsx-runtime-CP2fAiZX.js";import"./dist-DUY6xZX8.js";import"./JsonOutput-DgTX3wDl.js";import"./cjs-CVt8hZ5L.js";import"./main-Cmx6WhDY.js";import"./useNonce-BY4jV7Yb.js";import{r as de}from"./requests-DZy_SQ_v.js";import"./layout-DQyAaEMt.js";import"./download-CNypwy8-.js";import{t as me}from"./useCellActionButton-DLoBXBqS.js";import"./markdown-renderer-BF7gphWI.js";import{i as he,t as ce}from"./useNotebookActions-CGdPh6jF.js";import"./dist-DRM_TtJV.js";import"./dist-CLn8560E.js";import"./dist-4go66rGa.js";import"./dist-C_w6Go0g.js";import"./dist-D3d3ioNg.js";import"./session-BQVN1Kxg.js";import"./Combination-BM4eSgxb.js";import"./purify.es-DFAhPV1y.js";import"./dates-BL9QfUQ0.js";import"./popover-2GpKY98n.js";import"./share-XjNIMk98.js";import"./vega-loader.browser-xq8miGHn.js";import"./defaultLocale-DPBdGRrH.js";import"./defaultLocale-Lfi0pexn.js";import{a as ye,c as fe,i as z,l as J,n as ue,o as K,r as be,s as ge}from"./command-COYC8fga.js";import"./chunk-5FQGJX7Z-C3tg8qpb.js";import"./katex-0Z75JF53.js";import"./html-to-image-Din4blht.js";import{r as ke}from"./focus-C2gi0jxY.js";import{t as Q}from"./renderShortcut-CMdaUbHS.js";import"./esm-DYDEu0Nq.js";import"./name-cell-input-EJb1YnST.js";import"./multi-icon-OxLi6M3I.js";import"./dist-DBYXupB9.js";import"./dist-CW4ZrmuX.js";import"./dist-DvNh3ph0.js";import"./dist-DrewQ3CS.js";import"./dist-BML9Do7x.js";import"./dist-DWi0RsIc.js";import"./dist-pzEKEf2L.js";import"./dist-CX4tr6LY.js";import"./dist-DkUBUEhC.js";import"./esm-B2VsGmJs.js";var Ce=T(),je=V(Y(),1);function xe(e,l){let t=(0,Ce.c)(11),r;t[0]===l?r=t[1]:(r=new Z(l),t[0]=l,t[1]=r);let p=r,n;t[2]!==e||t[3]!==p?(n=()=>p.get(e),t[2]=e,t[3]=p,t[4]=n):n=t[4];let[m,g]=(0,je.useState)(n),i;t[5]!==e||t[6]!==p?(i=k=>{g(k),p.set(e,k)},t[5]=e,t[6]=p,t[7]=i):i=t[7];let f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var ve=T(),Se=3;function we(){let e=(0,ve.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,r]=xe("marimo:commands",l),p;e[1]!==t||e[2]!==r?(p=m=>{r(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=r,e[3]=p):p=e[3];let n;return e[4]!==t||e[5]!==p?(n={recentCommands:t,addRecentCommand:p},e[4]=t,e[5]=p,e[6]=n):n=e[6],n}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function U(e,l=""){return e.flatMap(t=>t.label?W(t)?U(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label}:[])}var He=T();function Ae(){let e=(0,He.c)(75),[l,t]=re(),[r,p]=ne(),{saveAppConfig:n,saveUserConfig:m}=de(),g;e[0]!==m||e[1]!==t?(g=async d=>{await m({config:d}).then(()=>{t(c=>({...c,...d}))})},e[0]=m,e[1]=t,e[2]=g):g=e[2];let i=g,f;e[3]!==n||e[4]!==p?(f=async d=>{await n({config:d}).then(()=>{p(d)})},e[3]=n,e[4]=p,e[5]=f):f=e[5];let h=f,k;if(e[6]!==r||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let d;e[13]===r?d=e[14]:(d=O=>O!==r.width,e[13]=r,e[14]=d);let c;e[15]!==r||e[16]!==h?(c=O=>({label:`App config > Set width=${O}`,handle:()=>{h({...r,width:O})}}),e[15]=r,e[16]=h,e[17]=c):c=e[17];let H;e[18]!==l.display||e[19]!==i?(H={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=H):H=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let A;e[24]!==l.display||e[25]!==i?(A={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=A):A=e[26];let P=l.keymap.preset==="vim",M;e[27]!==l.keymap||e[28]!==i?(M=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=M):M=e[29];let N;e[30]!==P||e[31]!==M?(N={label:"Config > Switch keymap to VIM",hidden:P,handle:M},e[30]=P,e[31]=M,e[32]=N):N=e[32];let D=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==D||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:D,handle:j},e[36]=D,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",$;e[42]!==x||e[43]!==v?($={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=$):$=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let I=l.completion.copilot==="github",q;e[48]!==S||e[49]!==I?(q={label:"Config > Enable GitHub Copilot",handle:S,hidden:I},e[48]=S,e[49]=I,e[50]=q):q=e[50];let B=!l.display.reference_highlighting,w;e[51]!==l.display||e[52]!==i?(w=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=w):w=e[53];let b;e[54]!==B||e[55]!==w?(b={label:"Config > Disable reference highlighting",hidden:B,handle:w},e[54]=B,e[55]=w,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let F;e[60]!==l.display.reference_highlighting||e[61]!==y?(F={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=F):F=e[62];let o=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==i?(a=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=a):a=e[65];let R;e[66]!==o||e[67]!==a?(R={label:"Config > Set cell output area: above",hidden:o,handle:a},e[66]=o,e[67]=a,e[68]=R):R=e[68];let _=l.display.cell_output==="below",E;e[69]!==l.display||e[70]!==i?(E=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=E):E=e[71];let G;e[72]!==_||e[73]!==E?(G={label:"Config > Set cell output area: below",hidden:_,handle:E},e[72]=_,e[73]=E,e[74]=G):G=e[74],k=[...ee().filter(d).map(c),H,C,A,N,u,$,q,b,F,R,G].filter(Me),e[6]=r,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=k}else k=e[12];return k}function Me(e){return!e.hidden}var Ne=T(),s=V(se(),1),De=()=>{let e=(0,Ne.c)(37),[l,t]=X(he),r=pe(),p=L(ke),n=L(oe),m;e[0]===p?m=e[1]:(m={cell:p},e[0]=p,e[1]=m);let g=me(m).flat();g=U(g);let i=Ae(),f=ce();f=[...U(f),...U(i)];let h=f.filter(Fe),k=le.keyBy(h,Re),{recentCommands:d,addRecentCommand:c}=we(),H;e[2]===d?H=e[3]:(H=new Set(d),e[2]=d,e[3]=H);let C=H,A;e[4]!==n||e[5]!==t?(A=o=>{te(n.getHotkey("global.commandPalette").key)(o)&&(o.preventDefault(),t(Ee))},e[4]=n,e[5]=t,e[6]=A):A=e[6],ae(document,"keydown",A);let P;e[7]!==c||e[8]!==n||e[9]!==r||e[10]!==t?(P=(o,a)=>{let R=r[o];if(!R)return null;let _=n.getHotkey(o);return(0,s.jsxs)(K,{disabled:a.disabled,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{R()})},value:_.name,children:[(0,s.jsxs)("span",{children:[_.name,a.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:_.key})})]},o)},e[7]=c,e[8]=n,e[9]=r,e[10]=t,e[11]=P):P=e[11];let M=P,N;e[12]!==c||e[13]!==n||e[14]!==t?(N=o=>{let{label:a,handle:R,props:_,hotkey:E}=o,G=_===void 0?{}:_;return(0,s.jsxs)(K,{disabled:G.disabled,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{R()})},value:a,children:[(0,s.jsxs)("span",{children:[a,G.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",G.tooltip,")"]})]}),E&&(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:n.getHotkey(E).key})})]},a)},e[12]=c,e[13]=n,e[14]=t,e[15]=N):N=e[15];let D=N,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let $=d.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z,{heading:"Recently Used",children:d.map(o=>{let a=k[o];return ie(o)?M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!W(a)?D({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip}}):null})}),(0,s.jsx)(fe,{})]}),S=z,I=n.iterate().map(o=>{if(C.has(o))return null;let a=k[o];return M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),q=h.map(o=>C.has(o.label)?null:D({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}})),B;e[18]!==C||e[19]!==D?(B=o=>C.has(o.label)?null:D({label:`Cell > ${o.label}`,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}),e[18]=C,e[19]=D,e[20]=B):B=e[20];let w=g.map(B),b;e[21]!==S||e[22]!==q||e[23]!==w||e[24]!==I?(b=(0,s.jsxs)(S,{heading:"Commands",children:[I,q,w]}),e[21]=S,e[22]=q,e[23]=w,e[24]=I,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==$?(y=(0,s.jsxs)(x,{children:[v,$,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=$,e[30]=y):y=e[30];let F;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(F=(0,s.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=F):F=e[36],F};function Fe(e){return!e.hotkey}function Re(e){return e.label}function Ee(e){return!e}export{De as default};