@marimo-team/frontend 0.23.16-dev45 → 0.23.16-dev47

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.
Files changed (34) hide show
  1. package/dist/assets/{JsonOutput-C08yZPMz.js → JsonOutput-BIwD6Z9Y.js} +12 -12
  2. package/dist/assets/{add-cell-with-ai-ByOBQT99.js → add-cell-with-ai-C38rS_Vb.js} +35 -35
  3. package/dist/assets/{add-connection-dialog-ChQis5IF.js → add-connection-dialog-DDGKGmv6.js} +1 -1
  4. package/dist/assets/{agent-panel-Bh4wHqF0.js → agent-panel-BzpwIGH_.js} +1 -1
  5. package/dist/assets/blob-D4PJCCaE.js +1 -0
  6. package/dist/assets/{cell-editor-_0p7q-Z_.js → cell-editor-IyYRG2xm.js} +2 -2
  7. package/dist/assets/{chat-display-Ccgk4vbE.js → chat-display-CX7zz7Iy.js} +1 -1
  8. package/dist/assets/{chat-panel--53TIc3t.js → chat-panel-D3FqQl4H.js} +1 -1
  9. package/dist/assets/{chat-ui-B5rBxgsw.js → chat-ui-B7QB4NwC.js} +1 -1
  10. package/dist/assets/{column-preview-UAW6odg3.js → column-preview-rIsKPa9V.js} +1 -1
  11. package/dist/assets/{command-palette-YAVCtQ6D.js → command-palette-IpDnUFd7.js} +1 -1
  12. package/dist/assets/{edit-page-DQuTJlR3.js → edit-page-BxWEex0a.js} +5 -5
  13. package/dist/assets/{file-explorer-panel-BxfypeX1.js → file-explorer-panel-D_9Rm9qM.js} +4 -4
  14. package/dist/assets/{form-D8N71OB1.js → form-DTWstSVJ.js} +2 -2
  15. package/dist/assets/{index-Dmz2_F1x.js → index-CGrnjnHL.js} +7 -7
  16. package/dist/assets/{layout-B8cCh91r.js → layout-rWti2H65.js} +5 -5
  17. package/dist/assets/{panels-DG_QWeJn.js → panels-D-BYYQCt.js} +1 -1
  18. package/dist/assets/{reveal-component-c5jsRi2_.js → reveal-component-CGBET1VL.js} +1 -1
  19. package/dist/assets/{run-page-BUPqI6K7.js → run-page-BDt08QR4.js} +1 -1
  20. package/dist/assets/{scratchpad-panel-BR7YpUiV.js → scratchpad-panel-CZqs-AmJ.js} +1 -1
  21. package/dist/assets/session-panel-BNdpCbXw.js +1 -0
  22. package/dist/assets/{skeleton-CeWH7IQO.js → skeleton-BJuRsFbf.js} +1 -1
  23. package/dist/assets/{state-DtziTd1T.js → state-DJzSWGB9.js} +1 -1
  24. package/dist/assets/{useNotebookActions-Cm5GAHUD.js → useNotebookActions-DDDJKVxq.js} +1 -1
  25. package/dist/index.html +6 -6
  26. package/package.json +1 -1
  27. package/src/components/editor/file-tree/__tests__/renderers.test.ts +31 -0
  28. package/src/components/editor/file-tree/file-viewer.tsx +11 -7
  29. package/src/components/editor/file-tree/renderers.tsx +21 -0
  30. package/src/core/ai/context/providers/file.ts +8 -29
  31. package/src/utils/__tests__/blob.test.ts +27 -1
  32. package/src/utils/blob.ts +24 -1
  33. package/dist/assets/blob-C3EfaMOb.js +0 -1
  34. package/dist/assets/session-panel-DW3mL5Qf.js +0 -1
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Duqr-kJ2.js","./loro_wasm_bg-RNUly1SE.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var Ad=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ld=(Z,W,ye)=>W in Z?Ad(Z,W,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[W]=ye;var p=(Z,W,ye)=>Ld(Z,typeof W!="symbol"?W+"":W,ye),Od=(Z,W,ye)=>W.has(Z)||Ha("Cannot "+ye);var za=(Z,W,ye)=>(Od(Z,W,"read from private field"),ye?ye.call(Z):W.get(Z)),Ka=(Z,W,ye)=>W.has(Z)?Ha("Cannot add the same private member more than once"):W instanceof WeakSet?W.add(Z):W.set(Z,ye);import{s as Ya}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Cr,i as Y,l as In,n as ae,p as Pt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$n as Ud,$t as Dd,B as Qa,Bi as Za,Dn as Pd,E as Tn,En as jd,F as Fd,H as Md,Hn as Rd,Jn as ei,Jt as xr,K as ti,Kn as Bd,Nt as Gd,On as Jd,Pt as ni,Qi as Nn,Qt as Vd,St as jt,Ti as ri,Tr as $d,Tt as Wd,U as oi,Ui as qd,Un as Hd,Ut as Ir,V as An,Vt as zd,W as ai,Wn as Kd,Xn as Yd,Xt as ii,Yn as Xd,Yt as si,Zn as Qd,_t as Zd,bi as ef,bn as tf,bt as nf,ct as li,di as rf,dn as of,ea as kr,en as af,er as sf,fi as Tr,gn as Ln,gt as lf,ht as cf,i as ci,ir as uf,jn as Nr,l as ui,lt as On,m as yt,nn as df,ri as ff,tn as mf,u as di,ut as pf,vt as Ar,wi as hf,wn as gf,xt as yf,y as tt,yi as bf,yt as _n,__tla as wf}from"./cells-DzyDERZy.js";import{B as vf,N as Ef,P as Lr,R as fi,S as Sf,T as mi,k as Cf,w as xf}from"./zod-H_cgTO0M.js";import{t as Je}from"./compiler-runtime-B3qBwwSJ.js";import{C as If,f as kf,m as Tf,p as Nf,t as Af,v as Lf,w as Of}from"./ai-model-dropdown-Bvqy98cI.js";import{_ as _f,c as pi,g as $e,m as Or,t as Uf}from"./useEventListener-C0195JsF.js";import{t as Ft}from"./invariant-CkiqGLcK.js";import{E as _r,_ as hi,c as Df,g as gi,l as yi,v as bi}from"./utils-BWBBpCkT.js";import{E as Pf,M as jf,O as Ff,S as wi,T as Mt,m as Mf,o as Rf,r as vi,v as bt}from"./config-B-Q7J_6d.js";import{n as Bf,t as Gf}from"./switch-OVajJBPR.js";import{c as Jf,n as Vf,r as $f}from"./readonly-python-code-DHxOnQGj.js";import{t as Wf}from"./ErrorBoundary-DzTD8LVq.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as qf}from"./jsx-runtime-Blw4afVn.js";import{l as Hf,r as zf,t as Kf}from"./popover-Bcz1Zikb.js";import{X as Yf,Z as Xf,__tla as Qf}from"./JsonOutput-C08yZPMz.js";import{t as Ur}from"./label-CqjrpwRC.js";import{r as Zf}from"./download-BIGA4WFm.js";import{t as Un}from"./tooltip-4bZlU7jl.js";import{r as Dr,t as lt}from"./button-DDGiD1NW.js";import{At as em,Bt as Dn,Ct as tm,Dt as nm,E as rm,Et as Ei,Ft as om,Gt as Rt,H as Si,Ht as am,I as im,P as sm,Qt as ze,Rt as Pr,St as lm,Tt as We,Ut as wt,V as cm,Wt as jr,Yt as um,Zt as pe,_ as dm,at as $,dt as Pn,en as Bt,gt as fm,ht as mm,lt as pm,m as hm,ot as gm,qt as ct,rn as jn,st as G,ut as Xe,w as ym,xt as bm}from"./dist-12S8I4CH.js";import{C as wm,E as vm,I as Em,O as Sm,S as Cm,a as xm,c as Im,n as Fr,r as km,w as Tm}from"./dist-CiVShZKM.js";import{o as Ci}from"./arrays-DbOq36rN.js";import{n as Nm}from"./once-CGKw_kwj.js";import{t as Mr}from"./createReducer-DGx5Af-C.js";import{a as Am,c as Lm,f as Fn,h as Om,i as _m,l as Gt,n as xi,o as Um,t as Dm}from"./dist-DYEuVkEX.js";import{t as Pm}from"./main-BNL5rxQw.js";import{r as Mn,t as jm}from"./requests-9-v2bhoi.js";import{t as Fm}from"./createLucideIcon-w-Qo9n0R.js";import{r as Ii,t as Mm,__tla as Rm}from"./layout-B8cCh91r.js";import{t as Bm}from"./x-C-Eq0ag8.js";import{t as Gm}from"./circle-check-C32B6Qa1.js";import{B as Jm,F as Vm,L as $m,N as Wm,O as qm,V as Hm,a as ki,d as zm,k as Ti,n as Km,o as Ym,r as Ni,s as Xm,w as Qm}from"./add-cell-with-ai-ByOBQT99.js";import{r as Zm,t as ep}from"./file-icons-DfWENcb8.js";import{n as tp}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ai}from"./useDeleteCell-vMXAr3rY.js";import{t as Li}from"./save-DBuEmnnF.js";import{Y as np,Z as Oi}from"./input-JxFwu-3G.js";import{t as rp}from"./sparkles-DUCpRFlS.js";import{t as op}from"./preload-helper-TXkS1QI3.js";import{a as ap}from"./dist-CPjTeT8p.js";import{t as vt}from"./use-toast-BwJoaaDM.js";import{n as Qe}from"./paths-BKO-pHK6.js";import{t as ip}from"./session-BmukRjSi.js";import{r as sp}from"./useTheme-Bxv9B31g.js";import{n as _i}from"./copy-Bxb1_Gtw.js";import{k as lp}from"./usePress-5hBv4sjD.js";import{a as cp}from"./useRunCells-C2dvU2jA.js";import{c as Ui,i as Di,n as Pi,r as up}from"./dialog-BCVepWLJ.js";import{t as ji}from"./useHotkey-DLZvrRZT.js";import{n as Fi}from"./ImperativeModal-fY-ZfT0b.js";import{a as dp}from"./errors-PgHhDa-M.js";import{t as z}from"./extends-B9D0JO9U.js";import{t as Jt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as fp}from"./kbd-C5HnBH5U.js";import{a as Br}from"./useInstallPackage-WiYBwhUO.js";import{i as mp,n as Mi}from"./state-DxQhUsG9.js";import{a as pp,o as hp}from"./cell-link-w5IbCQV4.js";import{r as Ri}from"./html-to-image-JaxFFZcr.js";import{a as gp}from"./focus-CNKbm-Xz.js";import{n as yp}from"./useAsyncData-Bg5iAViP.js";import{a as bp,o as Bi,r as wp,s as Gi,t as vp}from"./command-Dqxie4gq.js";import{a as Ji}from"./renderShortcut-Bl8_FVn8.js";import{n as Ep,t as Sp}from"./icons-CIPE8AIY.js";import{n as Et}from"./esm-B30N1GS0.js";import{t as Vi}from"./dist-DrtRBAn8.js";import{t as Cp}from"./useSplitCell-C1tubdNi.js";import{co as xp,do as Gr,fo as Ip,ft as kp,go as St,ho as $i,lo as Jr,mo as Wi,oo as Tp,po as Np,so as qi,uo as Hi,__tla as Ap}from"./loro_wasm_bg-RNUly1SE.js";import{t as Lp}from"./ws-BmTnbVEi.js";import{t as zi}from"./Inputs-B8-VCb_j.js";import{r as Op,t as _p}from"./skeleton-CeWH7IQO.js";let Vr,Vt,Rn,Bn,Gn,$r,we,Ki,Yi,Xi,Qi,Wr,qr,ut,Zi,es,ts,$t,Jn,ns,Up=Promise.all([(()=>{try{return wf}catch{}})(),(()=>{try{return Qf}catch{}})(),(()=>{try{return Rm}catch{}})(),(()=>{try{return Ap}catch{}})()]).then(async()=>{var Sn,Ja,Ee,Se,Ce,xe,Ie,ke,Te,Ne,Ae,Le,Oe,_e,Ue,De,Pe,je,Fe,Me,Re;var Z=Fm("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 W={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>jn(e,{onError:console.error,inputDebounceTime:ye,keymaps:W},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=pe.define(),ot=ze.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),It=pe.define(),kt=pe.define(),zr=ze.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Wt=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=pe.define(),Kr=ze.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var rs=1;const Yr=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<rs)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:[rt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),It.of("")],selection:wt.cursor(o.from)}),!0},Xr=e=>e.state.field(Tt)?(e.dispatch({effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1};var Vn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function os(){return navigator.platform.startsWith("Mac")?Vn.mac:navigator.platform.startsWith("Win")?Vn.windows:Vn.default}function $n(e){return e.replace("Mod",os()).replace("-"," ").toUpperCase()}function fe(e,t){let n=document.createElement(e);return n.className=t,n}function as(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 qt=ze.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=pe.define();function is(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new ss(t),side:1});return r.push(o.range(n)),$.set(r)}var ss=class extends Pn{constructor(t){super();p(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 Ad=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ld=(Z,W,ye)=>W in Z?Ad(Z,W,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[W]=ye;var p=(Z,W,ye)=>Ld(Z,typeof W!="symbol"?W+"":W,ye),Od=(Z,W,ye)=>W.has(Z)||Ha("Cannot "+ye);var za=(Z,W,ye)=>(Od(Z,W,"read from private field"),ye?ye.call(Z):W.get(Z)),Ka=(Z,W,ye)=>W.has(Z)?Ha("Cannot add the same private member more than once"):W instanceof WeakSet?W.add(Z):W.set(Z,ye);import{s as Ya}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Cr,i as Y,l as In,n as ae,p as Pt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$n as Ud,$t as Dd,B as Qa,Bi as Za,Dn as Pd,E as Tn,En as jd,F as Fd,H as Md,Hn as Rd,Jn as ei,Jt as xr,K as ti,Kn as Bd,Nt as Gd,On as Jd,Pt as ni,Qi as Nn,Qt as Vd,St as jt,Ti as ri,Tr as $d,Tt as Wd,U as oi,Ui as qd,Un as Hd,Ut as Ir,V as An,Vt as zd,W as ai,Wn as Kd,Xn as Yd,Xt as ii,Yn as Xd,Yt as si,Zn as Qd,_t as Zd,bi as ef,bn as tf,bt as nf,ct as li,di as rf,dn as of,ea as kr,en as af,er as sf,fi as Tr,gn as Ln,gt as lf,ht as cf,i as ci,ir as uf,jn as Nr,l as ui,lt as On,m as yt,nn as df,ri as ff,tn as mf,u as di,ut as pf,vt as Ar,wi as hf,wn as gf,xt as yf,y as tt,yi as bf,yt as _n,__tla as wf}from"./cells-DzyDERZy.js";import{B as vf,N as Ef,P as Lr,R as fi,S as Sf,T as mi,k as Cf,w as xf}from"./zod-H_cgTO0M.js";import{t as Je}from"./compiler-runtime-B3qBwwSJ.js";import{C as If,f as kf,m as Tf,p as Nf,t as Af,v as Lf,w as Of}from"./ai-model-dropdown-Bvqy98cI.js";import{_ as _f,c as pi,g as $e,m as Or,t as Uf}from"./useEventListener-C0195JsF.js";import{t as Ft}from"./invariant-CkiqGLcK.js";import{E as _r,_ as hi,c as Df,g as gi,l as yi,v as bi}from"./utils-BWBBpCkT.js";import{E as Pf,M as jf,O as Ff,S as wi,T as Mt,m as Mf,o as Rf,r as vi,v as bt}from"./config-B-Q7J_6d.js";import{n as Bf,t as Gf}from"./switch-OVajJBPR.js";import{c as Jf,n as Vf,r as $f}from"./readonly-python-code-DHxOnQGj.js";import{t as Wf}from"./ErrorBoundary-DzTD8LVq.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as qf}from"./jsx-runtime-Blw4afVn.js";import{l as Hf,r as zf,t as Kf}from"./popover-Bcz1Zikb.js";import{Q as Yf,Z as Xf,__tla as Qf}from"./JsonOutput-BIwD6Z9Y.js";import{t as Ur}from"./label-CqjrpwRC.js";import{r as Zf}from"./download-BIGA4WFm.js";import{t as Un}from"./tooltip-4bZlU7jl.js";import{r as Dr,t as lt}from"./button-DDGiD1NW.js";import{At as em,Bt as Dn,Ct as tm,Dt as nm,E as rm,Et as Ei,Ft as om,Gt as Rt,H as Si,Ht as am,I as im,P as sm,Qt as ze,Rt as Pr,St as lm,Tt as We,Ut as wt,V as cm,Wt as jr,Yt as um,Zt as pe,_ as dm,at as $,dt as Pn,en as Bt,gt as fm,ht as mm,lt as pm,m as hm,ot as gm,qt as ct,rn as jn,st as G,ut as Xe,w as ym,xt as bm}from"./dist-12S8I4CH.js";import{C as wm,E as vm,I as Em,O as Sm,S as Cm,a as xm,c as Im,n as Fr,r as km,w as Tm}from"./dist-CiVShZKM.js";import{o as Ci}from"./arrays-DbOq36rN.js";import{n as Nm}from"./once-CGKw_kwj.js";import{t as Mr}from"./createReducer-DGx5Af-C.js";import{a as Am,c as Lm,f as Fn,h as Om,i as _m,l as Gt,n as xi,o as Um,t as Dm}from"./dist-DYEuVkEX.js";import{t as Pm}from"./main-BNL5rxQw.js";import{r as Mn,t as jm}from"./requests-9-v2bhoi.js";import{t as Fm}from"./createLucideIcon-w-Qo9n0R.js";import{r as Ii,t as Mm,__tla as Rm}from"./layout-rWti2H65.js";import{t as Bm}from"./x-C-Eq0ag8.js";import{t as Gm}from"./circle-check-C32B6Qa1.js";import{B as Jm,F as Vm,L as $m,N as Wm,O as qm,V as Hm,a as ki,d as zm,k as Ti,n as Km,o as Ym,r as Ni,s as Xm,w as Qm}from"./add-cell-with-ai-C38rS_Vb.js";import{r as Zm,t as ep}from"./file-icons-DfWENcb8.js";import{n as tp}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ai}from"./useDeleteCell-vMXAr3rY.js";import{t as Li}from"./save-DBuEmnnF.js";import{Y as np,Z as Oi}from"./input-JxFwu-3G.js";import{t as rp}from"./sparkles-DUCpRFlS.js";import{t as op}from"./preload-helper-TXkS1QI3.js";import{a as ap}from"./dist-CPjTeT8p.js";import{t as vt}from"./use-toast-BwJoaaDM.js";import{n as Qe}from"./paths-BKO-pHK6.js";import{t as ip}from"./session-BmukRjSi.js";import{r as sp}from"./useTheme-Bxv9B31g.js";import{n as _i}from"./copy-Bxb1_Gtw.js";import{k as lp}from"./usePress-5hBv4sjD.js";import{a as cp}from"./useRunCells-C2dvU2jA.js";import{c as Ui,i as Di,n as Pi,r as up}from"./dialog-BCVepWLJ.js";import{t as ji}from"./useHotkey-DLZvrRZT.js";import{n as Fi}from"./ImperativeModal-fY-ZfT0b.js";import{a as dp}from"./errors-PgHhDa-M.js";import{t as z}from"./extends-B9D0JO9U.js";import{t as Jt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as fp}from"./kbd-C5HnBH5U.js";import{a as Br}from"./useInstallPackage-WiYBwhUO.js";import{i as mp,n as Mi}from"./state-DxQhUsG9.js";import{a as pp,o as hp}from"./cell-link-w5IbCQV4.js";import{r as Ri}from"./html-to-image-JaxFFZcr.js";import{a as gp}from"./focus-CNKbm-Xz.js";import{n as yp}from"./useAsyncData-Bg5iAViP.js";import{a as bp,o as Bi,r as wp,s as Gi,t as vp}from"./command-Dqxie4gq.js";import{a as Ji}from"./renderShortcut-Bl8_FVn8.js";import{n as Ep,t as Sp}from"./icons-CIPE8AIY.js";import{n as Et}from"./esm-B30N1GS0.js";import{t as Vi}from"./dist-DrtRBAn8.js";import{t as Cp}from"./useSplitCell-C1tubdNi.js";import{co as xp,do as Gr,fo as Ip,ft as kp,go as St,ho as $i,lo as Jr,mo as Wi,oo as Tp,po as Np,so as qi,uo as Hi,__tla as Ap}from"./loro_wasm_bg-RNUly1SE.js";import{t as Lp}from"./ws-BmTnbVEi.js";import{t as zi}from"./Inputs-B8-VCb_j.js";import{r as Op,t as _p}from"./skeleton-BJuRsFbf.js";let Vr,Vt,Rn,Bn,Gn,$r,we,Ki,Yi,Xi,Qi,Wr,qr,ut,Zi,es,ts,$t,Jn,ns,Up=Promise.all([(()=>{try{return wf}catch{}})(),(()=>{try{return Qf}catch{}})(),(()=>{try{return Rm}catch{}})(),(()=>{try{return Ap}catch{}})()]).then(async()=>{var Sn,Ja,Ee,Se,Ce,xe,Ie,ke,Te,Ne,Ae,Le,Oe,_e,Ue,De,Pe,je,Fe,Me,Re;var Z=Fm("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 W={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>jn(e,{onError:console.error,inputDebounceTime:ye,keymaps:W},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=pe.define(),ot=ze.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),It=pe.define(),kt=pe.define(),zr=ze.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Wt=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=pe.define(),Kr=ze.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var rs=1;const Yr=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<rs)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:[rt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),It.of("")],selection:wt.cursor(o.from)}),!0},Xr=e=>e.state.field(Tt)?(e.dispatch({effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1};var Vn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function os(){return navigator.platform.startsWith("Mac")?Vn.mac:navigator.platform.startsWith("Win")?Vn.windows:Vn.default}function $n(e){return e.replace("Mod",os()).replace("-"," ").toUpperCase()}function fe(e,t){let n=document.createElement(e);return n.className=t,n}function as(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 qt=ze.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=pe.define();function is(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new ss(t),side:1});return r.push(o.range(n)),$.set(r)}var ss=class extends Pn{constructor(t){super();p(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}},ls=class{constructor(e){p(this,"cache",new Map);p(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()})}},cs=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new ls(t.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;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:Ht.of({text:a,doc:r})});return}try{let d=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=t.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(o,d),n.view.dispatch({effects:Ht.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),us=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=is(e.view,t)}},{decorations:e=>e.decorations});function ds(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.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:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var fs=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Wn);return e.dispatch({...ds(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(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Wn);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},ms=We.of([{key:"Tab",run:fs},{key:"Escape",run:Zr}]),Wn=Rt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=as(e.fetchFn,t);return[qt,Wn.of(e),cs(r,e),us,n?ms:[]]}const ps=G.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 hs(e){var s,c;let t=e.state.facet(xt),n={...W,...t.keymaps},r=e.state.facet(zt),o=fe("div","cm-ai-tooltip").appendChild(fe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=$n(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),Yr(e)}),o}const zt=Rt.define({combine(e){return jn(e,{render:hs,hideOnBlur:!1,label:"Edit with AI"})}}),gs=Xe.fromClass((Ja=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ka(this,Sn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(o),u=c(r)||c(o);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),m=s(r)?r:o,f=a.right-d.width,h=Math.min(m.left,f),y=m.top-d.height,b=i?i.y:-1/0;y<b&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}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(zt);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(ot).show){this.dom.style.display="none";return}if(e.state.facet(zt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:za(this,Sn)})}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()}},Sn=new WeakMap,Ja));var ys=G.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 bs(){return[gs,ys]}var ws=class extends Pn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=fe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=fe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=fe("div","cm-floating-buttons"),a=t.state.facet(xt),i={...W,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${$n(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Xr(t)});let c=fe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${$n(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},vs=class extends Pn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(ot),{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),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),m=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:m,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}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(zr),r=t.state.field(Kr),o=fe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=fe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",b=>b.preventDefault());let i=fe("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=fe("div","cm-ai-loading-container");this.loadingContainer=s;let c=fe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=fe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=fe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let m=fe("button","cm-ai-generate-button");m.textContent="\u23CE Generate",m.setAttribute("aria-label","Generate code"),m.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?m:d)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let b=i.value.trim();b!==h&&(h=b,f(b))}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 Es(e){if(!e.prompt)throw Error("prompt function is required");let t={...W,...e.keymaps};return[xt.of(e),ot,zr,Tt,Kr,bs(),ps,We.of([{key:t.showInput,run:Yr}]),ct.highest([We.of([{key:t.acceptEdit,run:Xr},{key:t.rejectEdit,run:Qr}])]),Ss,Cs,xs,Is]}const Ss=G.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let l=e.state.doc.lineAt(a).number;if(l<n){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=u,r+=u,o=!0}else if(l<=r){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=u,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),Cs=G.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),xs=G.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(xt),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($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new vs(n.prompt),side:-1}).range(s))}}return $.set(r)}),Is=ze.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new ws(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>G.decorations.from(e)});var ks=Je(),T=Ya(_d(),1),qn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=Mr(qn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(Rd),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let m=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(C=>!c.has(C));b&&v&&f.set(y.name,y.usedBy)}let h;m!=null&&m.runElapsedTimeMs&&m.runElapsedTimeMs>2e3&&(h=m.runElapsedTimeMs),f.size===0&&h===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:h,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):o({cellIds:[...l.values()].map(d=>d.cellId)}),qn()):{...e,entries:l}},clear:()=>qn()});Rn=function(){let e=Cr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=Ai(),a=Rr();return(0,T.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])},ns=function(e){let t=(0,ks.c)(16),n=ie(to),r=no(),o=Rr(),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 u;return t[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},t[3]=u):u=t[3],u}if(n.entries.size!==1){let u;return t[4]===i?u=t[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=u),u}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(Ts)}),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 l;return t[12]!==i||t[13]!==s||t[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],l};function Ts(e){return e.cellId}var ro=["python","sql","markdown"];function Hn(e,t={}){var l;let{streaming:n=!1}=t,r=((l=e.match(/^\s*/))==null?void 0:l[0])??"",o=e.slice(r.length),a=null,i=!1;for(let u of ro)if(o.startsWith(`\`\`\`${u}`)){i=!0,a=o.slice(3+u.length),a.startsWith(`
4
4
  `)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let u=o.slice(3);if(n&&Ns(u))return e;i=!0,a=u,a.startsWith(`
5
5
  `)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),c=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:a}function Ns(e){return e.includes(`
@@ -24,4 +24,4 @@ ${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:
24
24
  `)}async function Ta(e){let t={cells:e.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new ud().add(br,t).add("text/plain",wr(e)).build();await navigator.clipboard.write([n])}function sd(){let e=Tn(),t=Ud(),n=sf();return{copyCells:ae(async r=>{let o=yt(),a=r.map(i=>o.cellData[i]).filter(Boolean);if(a.length!==0)try{await Ta(a),t.clear(),Na(a.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await _i(wr(a)),t.clear(),Na(a.length)}catch{Aa()}}}),cutCells:ae(async r=>{let o=yt(),a=r.filter(s=>o.cellData[s]),i=a.map(s=>o.cellData[s]);if(i.length!==0)try{await Ta(i),t.markForCut({cellIds:a})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await _i(wr(i)),t.markForCut({cellIds:a})}catch{Aa()}}}),pasteAtCell:ae(async(r,o)=>{var i;let{before:a=!1}=o??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=yt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});e.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:a?"before":"after",previousPlacements:l}),t.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(br)){let u=await(await l.getType(br)).text();try{let d=id.parse(JSON.parse(u));if(d.cells.length===0)break;let m=r,f=d.cells.toReversed();for(let h of f)e.createNewCell({cellId:m,before:a,code:h.code,name:h.name,config:h.config,hideCode:(i=h.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?e.createNewCell({cellId:r,before:a,code:c,autoFocus:!0}):ld()}catch(s){$e.error("Failed to paste from clipboard",s),cd()}}),clearPendingCut:t.clear}}var Na=e=>{let t=e===1?"Cell":`${e} cells`;vt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Aa=()=>{vt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},ld=()=>{vt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},cd=()=>{vt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},ud=class{constructor(){p(this,"items",{})}add(e,t){return ClipboardItem.supports(e)?typeof t=="string"?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):($e.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},dd=Je();function La(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Dp,createActions:Pp,valueAtom:vr,useActions:fd}=Mr(La,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],l=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:La()});es=()=>ie(vr);function md(e){let t=(0,dd.c)(2),n;return t[0]===e?n=t[1]:(n=Pt(r=>r(vr).selected.has(e)),t[0]=e,t[1]=n),ie(n)}qr=function(){return fd()};function pd(e){return e.get(vr).selected}let Oa,_a,Ua;Oa=Je(),{valueAtom:_a,useActions:Vt}=Mr(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),ti(()=>{let r=document.activeElement;if(!r)return;let o=Nn.findElementThroughShadowDOMs(r);o&&Qa(Nn.parse(o.id))}),n}}),Ua=e=>Pt(t=>t(_a).has(e)),Yi=function(e){let t=(0,Oa.c)(2),n;return t[0]===e?n=t[1]:(n=Ua(e),t[0]=e,t[1]=n),ie(n)};var Dt=new WeakMap,hd=500;function gd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function yd(e,t){let n=gd(e),r=e.target;if(!n||!r)return!1;let o=Dt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Dt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Dt.delete(r)},hd);return Dt.set(r,{sequence:a,timeout:s}),!0}return Dt.delete(r),!1}var Er=Je();function Da(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function He(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function bd(e,t){let n=(0,Er.c)(12),r=gp(),o=Tn(),a=Vt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=u=>{var d;Pa(u.relatedTarget)||Pa(u.target)||ja(u.relatedTarget)===e||ja((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&Sr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=np(c);return l}function Pa(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function ja(e){return e&&e.getAttribute(Wd)||null}Zi=function(e,t){let n=(0,Er.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=$t(),{saveCellConfig:s}=Mn(),c=Xa(Mi),l=Tn(),u=Cr(),d=Vt(),m=cp(),f=ie(bi),{copyCells:h,pasteAtCell:y,cutCells:b}=sd(),v=qr(),C=md(e),x=Rn(),_=Rr(),P=ie(_r),A;n[0]===P?A=n[1]:(A=hi(P),n[0]=P,n[1]=A);let k=A,B;n[2]!==x||n[3]!==v?(B={clear:()=>{x.clear(),v.clear()},extend:U=>{x.clear(),v.extend(U)},select:U=>{x.clear(),v.select(U)}},n[2]=x,n[3]=v,n[4]=B):B=n[4];let F=B,ne=ie(gi),O;n[5]===ne?O=n[6]:(O=(U,D)=>Or(ne.getHotkey(U).key)(D.nativeEvent||D),n[5]=ne,n[6]=O);let N=O,se=bd(e,o),le;n[7]!==l||n[8]!==k||n[9]!==r||n[10]!==a||n[11]!==e||n[12]!==h||n[13]!==b||n[14]!==_||n[15]!==o||n[16]!==C||n[17]!==N||n[18]!==f||n[19]!==y||n[20]!==x||n[21]!==m||n[22]!==s||n[23]!==i||n[24]!==F||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(le={onKeyDown:U=>{if(Dr.fromInput(U)){U.continuePropagation();return}let D={"Mod+ArrowUp":()=>(l.focusTopCell(),F.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),F.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:e,where:"before"}),F.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:e,where:"after"}),F.clear(),!0),ArrowLeft:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j-1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},ArrowRight:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j+1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let S=u.get(ci);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).before(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let S=u.get(ci);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).after(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"after"}),!0},Escape:()=>u.get(Qd).size>0?(u.set(Yd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),ai(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(D))if(Or(S)(U)&&I()){U.preventDefault();return}let be={"cell.run":He(S=>(m(S),!0)),"cell.runAndNewBelow":He(S=>{m(S);let I=S[S.length-1];return l.moveToNextCell({cellId:I,before:!1}),!0}),"cell.runAndNewAbove":He(S=>{m(S);let I=S[0];return l.moveToNextCell({cellId:I,before:!0}),!0}),"cell.createAbove":S=>(l.createNewCell({cellId:S,before:!0}),!0),"cell.createBelow":S=>(l.createNewCell({cellId:S,before:!1}),!0),"cell.moveUp":He(S=>{let I=S[0];return u.get(tt).cellIds.findWithId(I).first()===I?!1:(S.forEach(j=>{l.moveCell({cellId:j,before:!0})}),!0)}),"cell.moveDown":He(S=>{let I=S[S.length-1];return u.get(tt).cellIds.findWithId(I).last()===I?!1:(S.toReversed().forEach(j=>{l.moveCell({cellId:j,before:!1})}),!0)}),"cell.moveLeft":Da(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":Da(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var j;let I=!S.map(L=>{var ue;return((ue=u.get(tt).cellData[L])==null?void 0:ue.config)||null}).every(wd);s({configs:Object.fromEntries(S.map(L=>[L,{hide_code:I}]))});for(let L of S)l.updateCellConfig({cellId:L,config:{hide_code:I}});if(S.length===1){let L=S[0];l.focusCell({cellId:L,where:"after"}),I?((j=o.current)==null||j.contentDOM.blur(),oi(L)):ai(u,L)}return!0}),"cell.focusDown":S=>(l.focusCell({cellId:S,where:"after"}),!0),"cell.focusUp":S=>(l.focusCell({cellId:S,where:"before"}),!0),"cell.sendToBottom":He(S=>(S.forEach(I=>{l.sendToBottom({cellId:I})}),!0)),"cell.sendToTop":He(S=>(S.toReversed().forEach(I=>{l.sendToTop({cellId:I})}),!0)),"cell.aiCompletion":S=>{var j;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((j=o.current)==null||j.focus()),!0},"cell.cellActions":()=>{var S;return(S=a.current)==null||S.toggle(),!0},"command.copyCell":He(S=>(h(S),!0)),"command.cutCell":He(S=>(b(S),!0)),"command.pasteCell":S=>(y(S),!0),"command.createCellBefore":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(j=>{let{status:L}=I.cellRuntime[j];return L==="running"||L==="queued"})?!1:x.idle?(x.submit(S),!0):(_({cellIds:S}),x.clear(),!0)}},ce=pd(u);if(f==="vim"&&yd(U.nativeEvent||U,{j:D.ArrowDown,k:D.ArrowUp,h:D.ArrowLeft,l:D.ArrowRight,i:D.Enter,"shift+j":D["Shift+ArrowDown"],"shift+k":D["Shift+ArrowUp"],"g g":D["Mod+ArrowUp"],"shift+g":D["Mod+ArrowDown"],"d d":()=>be["cell.delete"](),"y y":()=>(h(ce.size>=2?[...ce]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(l.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[S,I]of Object.entries(be))if(N(S,U)){if(typeof I=="function"){if(I(e)){U.preventDefault();return}}else if(ce.size>=2?I.bulkHandle([...ce]):I.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=k,n[9]=r,n[10]=a,n[11]=e,n[12]=h,n[13]=b,n[14]=_,n[15]=o,n[16]=C,n[17]=N,n[18]=f,n[19]=y,n[20]=x,n[21]=m,n[22]=s,n[23]=i,n[24]=F,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=le):le=n[29];let{keyboardProps:re}=Oi(le),ee;return n[30]!==se||n[31]!==C||n[32]!==re?(ee=lp(se,re,{"data-selected":C,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=se,n[31]=C,n[32]=re,n[33]=ee):ee=n[33],ee};function wd(e){return e==null?void 0:e.hide_code}function vd(e,t){let n=(0,Er.c)(12),r=Vt(),o=ie(bi),a=ie(gi),i;n[0]===a?i=n[1]:(i=Or(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),oi(e),ti(()=>{Qa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==t||n[6]!==l?(u=()=>{if(!t.current){l();return}let h=t.current,y=h.state;if(Em(h))return;let b=!!y.field(ri,!1)||!!y.field(mf,!1),v=Gt(y)!==null;b&&Sr(h),v&&Um(h),!(b||v)&&l()},n[5]=t,n[6]=l,n[7]=u):u=n[7];let d=u,m;n[8]!==d||n[9]!==o||n[10]!==s?(m={onKeyDown:h=>{o==="vim"?s(h)&&d():h.key==="Escape"&&d(),h.continuePropagation()}},n[8]=d,n[9]=o,n[10]=s,n[11]=m):m=n[11];let{keyboardProps:f}=Oi(m);return f}function Fa(e,t){let n=document.getElementById(Nn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Nn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function Sr(e){e.state.field(ri,!1)&&e.dispatch({effects:hf.of(null)}),af(e)}var Ed=Je(),Sd=50,Cd=4,xd=60;function Id(e){return Math.min(xd,Math.max(Cd,e))}const kd=e=>{let t=(0,Ed.c)(13),{code:n,className:r}=e,o,a,i,s;if(t[0]!==r||t[1]!==n){let l=n.split(`
25
25
  `,Sd);t[6]===r?o=t[7]:(o=nt("cm","mo-code-placeholder",r),t[6]=r,t[7]=o),a="cell-editor-placeholder",i=!0,s=l.map(Td),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=i,t[5]=s}else o=t[2],a=t[3],i=t[4],s=t[5];let c;return t[8]!==o||t[9]!==a||t[10]!==i||t[11]!==s?(c=(0,g.jsx)("div",{className:o,"data-testid":a,"aria-hidden":i,children:s}),t[8]=o,t[9]=a,t[10]=i,t[11]=s,t[12]=c):c=t[12],c};function Td(e,t){let n=e.trimEnd().length;return(0,g.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,g.jsx)(_p,{className:"mo-code-placeholder-bar",style:{width:`${Id(n)}ch`}})},t)}var Ma=Je();let En;Wr=e=>{let t=(0,Ma.c)(25),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a,className:i}=e,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;t[0]===r?c=t[1]:(c=ni.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=ni.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=u);let d=u&&o==="python",m;t[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)($d,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=m):m=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==d?(f=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:d,icon:m,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=d,t[9]=f):f=t[9];let h=l&&o==="python",y;t[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Sp,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=y):y=t[10];let b;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(b=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=b):b=t[15];let v;t[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,g.jsx)(Ep,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=v):v=t[16];let C;t[17]!==o||t[18]!==n?(C=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:_f.NOOP}),t[17]=o,t[18]=n,t[19]=C):C=t[19];let x;return t[20]!==s||t[21]!==C||t[22]!==f||t[23]!==b?(x=(0,g.jsxs)("div",{className:s,children:[f,b,C]}),t[20]=s,t[21]=C,t[22]=f,t[23]=b,t[24]=x):x=t[24],x},En=e=>{let t=(0,Ma.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,l;t[0]!==n||t[1]!==c||t[2]!==i?(l=()=>{n&&(jt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=l):l=t[3];let u=l;if(!o||r===i)return null;let d=`View as ${s}`,m;t[4]!==u||t[5]!==a?(m=(0,g.jsx)(lt,{"data-testid":"language-toggle-button",variant:"text",size:"xs",className:"opacity-80 px-1",onClick:u,children:a}),t[4]=u,t[5]=a,t[6]=m):m=t[6];let f;return t[7]!==d||t[8]!==m?(f=(0,g.jsx)(Un,{content:d,children:m}),t[7]=d,t[8]=m,t[9]=f):f=t[9],f};var Ra=Je(),Ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:m,hasOutput:f,showHiddenCode:h,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:C,outputArea:x,tooltipParentSelector:_})=>{var Va,$a;let[P,A]=In(Mi),k=Ai(),{saveOrNameNotebook:B}=$t(),F=Rn(),{saveCellConfig:ne}=Mn(),O=a==="running"||a==="queued",N=Tn(),se=Cp(),le=y==="markdown",re=ae(()=>O?!1:F.idle&&l.keymap.destructive_delete?(F.submit([n]),!0):(k({cellId:n}),!0)),ee=ae(()=>O?!1:(c(),u.current&&Sr(u.current),!0)),U=ae(()=>{let J=!r.hide_code;return ne({configs:{[n]:{hide_code:J}}}),N.updateCellConfig({cellId:n,config:{hide_code:J}}),J}),D=ie(Df),be=ie(Of),ce=ae(()=>{Ri({autoInstantiate:D,createNewCell:N.createNewCell}),r.hide_code||(ne({configs:{[n]:{hide_code:!0}}}),N.updateCellConfig({cellId:n,config:{hide_code:!0}}),N.markUntouched({cellId:n}))}),S=ae(()=>{Ri({autoInstantiate:D,createNewCell:N.createNewCell})}),I=hi(l),j=(0,T.useMemo)(()=>{var de;let J=iu({cellId:n,showPlaceholder:t,enableAI:I,cellActions:{...N,afterToggleMarkdown:ce,afterToggleSQL:S,onRun:ee,deleteCell:re,saveNotebook:B,createManyBelow:Q=>{for(let ge of Q.toReversed())N.createNewCell({code:ge,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:Q=>{let ge=yt();if(!ge.cellIds.setupCellExists()){N.addSetupCellIfDoesntExist({code:Q});return}let xn=rf(ge)[kr],Wa=xn?cf(xn):ge.cellData[kr].code,qa=Wa.trim()?`${Wa.trimEnd()}
26
26
 
27
- ${Q}`:Q;xn&&lf(xn,qa),N.updateCellCode({cellId:kr,code:qa,formattingChange:!1})},splitCell:se,toggleHideCode:U,aiCellCompletion:()=>{if(!I)return!1;let Q=!1;return A(ge=>(ge==null?void 0:ge.cellId)===n?(Q=!0,null):{cellId:n}),Q}},completionConfig:l.completion,acceptCompletionOnEnter:be,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:e,hotkeys:new pi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:C??((de=l.ai)==null?void 0:de.inline_tooltip)??!1,tooltipParentSelector:_});return J.push(Xe.define(Q=>(b(Q.state.field(_n).type),{update(ge){b(ge.state.field(_n).type)}})),G.updateListener.of(Q=>{Q.selectionSet&&Q.state.selection.ranges.some(ge=>ge.from!==ge.to)&&h({focus:!1})}),G.domEventHandlers({focus:()=>{h({focus:!1})}})),J},[n,be,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(Va=l.ai)==null?void 0:Va.inline_tooltip,C,_,I,e,t,N,se,U,re,ee,A,ce,S,b,h,B]),L=On()&&li(n),ue=ae(()=>{if(L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.create({doc:o,extensions:j})});s(J),L||jt(J,{language:Ar(J.state).type})}),Be=ae(()=>{if(Ft(u.current!==null,"Editor view is not initialized"),L){let J=pr(n,de=>{N.updateCellCode({cellId:n,code:de,formattingChange:!0})});j.push(J.extension)}u.current.dispatch({effects:[pe.reconfigure.of([j]),nf(u.current,{completionConfig:l.completion,hotkeysProvider:new pi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),Ve=ae(()=>{if(Ft(i,"Editor view is not initialized"),L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.fromJSON(i,{doc:o,extensions:j},{history:wm})});L||jt(J,{language:Ar(J.state).type}),s(J),N.clearSerializedEditorState({cellId:n})}),[Ge,M]=(0,T.useState)(i!==null);(0,T.useEffect)(()=>{if(u.current!==null){M(!0);return}if(M(!1),i!==null){Ve(),M(!0);return}return An.request(n,()=>{u.current===null&&(ue(),M(!0))}),()=>An.cancel(n)},[n,u,Ve,ue,i]),(0,T.useEffect)(()=>{u.current!==null&&Be()},[Be,j,u]),(0,T.useEffect)(()=>()=>{var J;(J=u.current)==null||J.destroy(),u.current=null},[u]);let[oe,H]=Xf({rootMargin:"300px 0px",threshold:0});(0,T.useEffect)(()=>{Ge||(H!=null&&H.isIntersecting?An.prioritize(n):An.deprioritize(n))},[Ge,H==null?void 0:H.isIntersecting,n]);let gt=vd(n,u),Cn="";return le&&m&&f?Cn="h-0 overflow-hidden":m&&(Cn="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,g.jsx)(od,{cellId:n,aiCompletionCell:P,currentCode:(($a=u.current)==null?void 0:$a.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:ae(()=>{var J;A(null),(J=u.current)==null||J.focus()}),onChange:ae(J=>{var de;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}})}),acceptChange:ae(J=>{var de,Q;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}}),(Q=u.current)==null||Q.focus(),A(null)}),runCell:ee,outputArea:x,children:(0,g.jsxs)("div",{className:"relative w-full",ref:oe,...gt,children:[Ge?(0,g.jsx)(Ga,{className:Cn,editorView:u.current,ref:d,hidden:m,showHiddenCode:h}):(0,g.jsx)(kd,{code:o,className:Cn}),!m&&v&&(0,g.jsx)("div",{className:"absolute top-1 right-5",children:(0,g.jsx)(Wr,{code:o,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:ce})})]})})},Ga=T.forwardRef((e,t)=>{let n=(0,Ra.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,T.useRef)(null),c,l;n[0]===o?(c=n[1],l=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},l=[o,s],n[0]=o,n[1]=c,n[2]=l),(0,T.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=nt("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==i?(d=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=d):d=n[7];let m;n[8]===t?m=n[9]:(m=h=>{t?Bn(t,s)(h):Bn(s)(h)},n[8]=t,n[9]=m);let f;return n[10]!==u||n[11]!==d||n[12]!==m?(f=(0,g.jsx)("div",{className:u,onDoubleClick:d,ref:m,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=m,n[13]=f):f=n[13],f});Ga.displayName="CellCodeMirrorEditor";function Nd(e){let t=n=>{let r=(0,Ra.c)(5),o=ie(bt),[a,i]=In(ut);if(On()&&li(n.id)&&(Mf(o.state)||a===void 0)){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,g.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,g.jsxs)(Yf,{milliseconds:1e3,fallback:null,children:[c,(0,g.jsx)(lt,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,g.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}ts=On()?Nd((0,T.memo)(Ba)):(0,T.memo)(Ba)});export{Vr as _,Up as __tla,Vt as a,Rn as b,Bn as c,Gn as d,$r as f,we as g,Ki as h,Yi as i,Xi as l,Qi as m,Wr as n,qr as o,ut as p,Zi as r,es as s,ts as t,$t as u,Jn as v,ns as y};
27
+ ${Q}`:Q;xn&&lf(xn,qa),N.updateCellCode({cellId:kr,code:qa,formattingChange:!1})},splitCell:se,toggleHideCode:U,aiCellCompletion:()=>{if(!I)return!1;let Q=!1;return A(ge=>(ge==null?void 0:ge.cellId)===n?(Q=!0,null):{cellId:n}),Q}},completionConfig:l.completion,acceptCompletionOnEnter:be,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:e,hotkeys:new pi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:C??((de=l.ai)==null?void 0:de.inline_tooltip)??!1,tooltipParentSelector:_});return J.push(Xe.define(Q=>(b(Q.state.field(_n).type),{update(ge){b(ge.state.field(_n).type)}})),G.updateListener.of(Q=>{Q.selectionSet&&Q.state.selection.ranges.some(ge=>ge.from!==ge.to)&&h({focus:!1})}),G.domEventHandlers({focus:()=>{h({focus:!1})}})),J},[n,be,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(Va=l.ai)==null?void 0:Va.inline_tooltip,C,_,I,e,t,N,se,U,re,ee,A,ce,S,b,h,B]),L=On()&&li(n),ue=ae(()=>{if(L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.create({doc:o,extensions:j})});s(J),L||jt(J,{language:Ar(J.state).type})}),Be=ae(()=>{if(Ft(u.current!==null,"Editor view is not initialized"),L){let J=pr(n,de=>{N.updateCellCode({cellId:n,code:de,formattingChange:!0})});j.push(J.extension)}u.current.dispatch({effects:[pe.reconfigure.of([j]),nf(u.current,{completionConfig:l.completion,hotkeysProvider:new pi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),Ve=ae(()=>{if(Ft(i,"Editor view is not initialized"),L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.fromJSON(i,{doc:o,extensions:j},{history:wm})});L||jt(J,{language:Ar(J.state).type}),s(J),N.clearSerializedEditorState({cellId:n})}),[Ge,M]=(0,T.useState)(i!==null);(0,T.useEffect)(()=>{if(u.current!==null){M(!0);return}if(M(!1),i!==null){Ve(),M(!0);return}return An.request(n,()=>{u.current===null&&(ue(),M(!0))}),()=>An.cancel(n)},[n,u,Ve,ue,i]),(0,T.useEffect)(()=>{u.current!==null&&Be()},[Be,j,u]),(0,T.useEffect)(()=>()=>{var J;(J=u.current)==null||J.destroy(),u.current=null},[u]);let[oe,H]=Yf({rootMargin:"300px 0px",threshold:0});(0,T.useEffect)(()=>{Ge||(H!=null&&H.isIntersecting?An.prioritize(n):An.deprioritize(n))},[Ge,H==null?void 0:H.isIntersecting,n]);let gt=vd(n,u),Cn="";return le&&m&&f?Cn="h-0 overflow-hidden":m&&(Cn="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,g.jsx)(od,{cellId:n,aiCompletionCell:P,currentCode:(($a=u.current)==null?void 0:$a.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:ae(()=>{var J;A(null),(J=u.current)==null||J.focus()}),onChange:ae(J=>{var de;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}})}),acceptChange:ae(J=>{var de,Q;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}}),(Q=u.current)==null||Q.focus(),A(null)}),runCell:ee,outputArea:x,children:(0,g.jsxs)("div",{className:"relative w-full",ref:oe,...gt,children:[Ge?(0,g.jsx)(Ga,{className:Cn,editorView:u.current,ref:d,hidden:m,showHiddenCode:h}):(0,g.jsx)(kd,{code:o,className:Cn}),!m&&v&&(0,g.jsx)("div",{className:"absolute top-1 right-5",children:(0,g.jsx)(Wr,{code:o,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:ce})})]})})},Ga=T.forwardRef((e,t)=>{let n=(0,Ra.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,T.useRef)(null),c,l;n[0]===o?(c=n[1],l=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},l=[o,s],n[0]=o,n[1]=c,n[2]=l),(0,T.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=nt("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==i?(d=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=d):d=n[7];let m;n[8]===t?m=n[9]:(m=h=>{t?Bn(t,s)(h):Bn(s)(h)},n[8]=t,n[9]=m);let f;return n[10]!==u||n[11]!==d||n[12]!==m?(f=(0,g.jsx)("div",{className:u,onDoubleClick:d,ref:m,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=m,n[13]=f):f=n[13],f});Ga.displayName="CellCodeMirrorEditor";function Nd(e){let t=n=>{let r=(0,Ra.c)(5),o=ie(bt),[a,i]=In(ut);if(On()&&li(n.id)&&(Mf(o.state)||a===void 0)){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,g.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,g.jsxs)(Xf,{milliseconds:1e3,fallback:null,children:[c,(0,g.jsx)(lt,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,g.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}ts=On()?Nd((0,T.memo)(Ba)):(0,T.memo)(Ba)});export{Vr as _,Up as __tla,Vt as a,Rn as b,Bn as c,Gn as d,$r as f,we as g,Ki as h,Yi as i,Xi as l,Qi as m,Wr as n,qr as o,ut as p,Zi as r,es as s,ts as t,$t as u,Jn as v,ns as y};
@@ -1 +1 @@
1
- import{s as D}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Cr as K,Or as Q,Sr as U}from"./cells-DzyDERZy.js";import{A as X,C as O,R as E,T as Z}from"./zod-H_cgTO0M.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as ee}from"./isEmpty-CXeoXbuc.js";import{Y as te}from"./ai-model-dropdown-Bvqy98cI.js";import{g as re}from"./useEventListener-C0195JsF.js";import{t as k}from"./cn-DYvqRARy.js";import{t as se}from"./jsx-runtime-Blw4afVn.js";import{a as F,i as $,o as J,r as M}from"./config-BJVx3eBW.js";import{t as V}from"./button-DDGiD1NW.js";import{i as T}from"./strings--BknHX9C.js";import{t as W}from"./createLucideIcon-w-Qo9n0R.js";import{t as ae}from"./ban-DOUu3Y9Q.js";import{t as le}from"./bot-message-square-DTHo_4sQ.js";import{r as ne}from"./x-C-Eq0ag8.js";import{t as G}from"./markdown-renderer-sEayY9-m.js";import{f as I,l as ie}from"./add-cell-with-ai-ByOBQT99.js";import{t as oe}from"./external-link-BOlXZUla.js";import{n as ce}from"./spinner-D-V4psAa.js";import{l as de}from"./datasource-D_VcQMEn.js";import{t as ue}from"./RenderHTML-Cd-PP5ZR.js";var me=W("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=W("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),xe=S(),C=D(H(),1),r=D(se(),1);const he=c=>{let e=(0,xe.c)(13),{reasoning:l,index:n,isStreaming:s}=c,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let h=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(le,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(J,{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,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)($,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(G,{content:l})})})}),e[4]=l,e[5]=m);let o;e[6]!==d||e[7]!==m?(o=(0,r.jsxs)(F,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=o):o=e[8];let f;return e[9]!==i||e[10]!==h||e[11]!==o?(f=(0,r.jsx)(M,{type:"single",collapsible:!0,className:"w-full mb-2",value:h,onValueChange:u,children:o},i),e[9]=i,e[10]=h,e[11]=o,e[12]=f):f=e[12],f};function L(c){return c.replace("tool-","")}var fe=S();const q=c=>{let e=(0,fe.c)(9),{input:l,label:n}=c,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ve=S();const be=c=>{let e=(0,ve.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=c,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=h):h=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[h,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(V,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let o;e[13]!==s.id||e[14]!==i?(o=(0,r.jsx)(V,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=o):o=e[15];let f;e[16]!==m||e[17]!==o?(f=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,o]}),e[16]=m,e[17]=o,e[18]=f):f=e[18];let b;return e[19]!==a||e[20]!==f||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,f]}),e[19]=a,e[20]=f,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var je=S();const ge=c=>{let e=(0,je.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=c,[a,u]=C.useState(i),h=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{h.current&&!i&&u(!1),h.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(Ne),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(Q,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=o):o=e[7];let f;e[8]===l?f=e[9]:(f=L(l),e[8]=l,e[9]=f);let b;e[10]===f?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[o," ",(0,r.jsx)("code",{className:"font-mono",children:f})]}),e[10]=f,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ne,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function Ne(c){return!c}var P=S();function ye(c){return c==null?!0:typeof c=="object"?ee(c):!1}var we=X({status:E().default("success"),auth_required:Z().default(!1),action_url:O(),next_steps:O(),meta:O(),message:E().nullish()}),_e=c=>{let e=(0,P.c)(12),{data:l}=c,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:h,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let o;e[10]===h?o=e[11]:(o=h&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(U,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:h})]}),e[10]=h,e[11]=o),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,o,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ae)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Se=c=>{let e=(0,P.c)(8),{result:l}=c,n;e[0]===l?n=e[1]:(n=we.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(_e,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ae(c){let[e,l]=c;return ye(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var z=S(),ke={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Te=new Set(["input-streaming","input-available","approval-responded"]),Ce=c=>{let e=(0,z.c)(5),{state:l,interrupted:n}=c;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(te,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ae,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function qe(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const Y=c=>{let e=(0,z.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:h}=c,p=a===void 0?0:a,v=h===void 0?!0:h,x;e[0]!==v||e[1]!==n?(x=!v&&Te.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,o;e[3]===u?o=e[4]:(o=k("w-full",u),e[3]=u,e[4]=o);let f;e[5]!==d||e[6]!==n?(f=k("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",d?"text-muted-foreground":qe(n)),e[5]=d,e[6]=n,e[7]=f):f=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Ce,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":ke[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==f?(y=(0,r.jsx)(J,{className:f,children:N}),e[19]=N,e[20]=f,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)($,{className:"py-2 px-2",children:(0,r.jsx)(Re,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)(F,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==o?(R=(0,r.jsx)(M,{type:"single",collapsible:!0,className:o,children:A},m),e[30]=A,e[31]=m,e[32]=o,e[33]=R):R=e[33],R};var Re=c=>{let e=(0,z.c)(16),{state:l,input:n,result:s,approval:i}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Se,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",a]}),e[11]=a,e[12]=u);let h;return e[13]!==t||e[14]!==u?(h=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=h):h=e[15],h}default:return T(l),null}},Le=S();const B=c=>{let e=(0,Le.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:h,className:p,isLive:v,isActive:x}=c,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let f;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(f=(0,r.jsx)(be,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=f):f=e[5],f}let o;return e[6]!==p||e[7]!==h||e[8]!==t||e[9]!==m||e[10]!==l?(o=(0,r.jsx)(Y,{toolName:l,state:"input-available",input:t,index:h,className:p,isActive:m}),e[6]=p,e[7]=h,e[8]=t,e[9]=m,e[10]=l,e[11]=o):o=e[11],o}case"output-error":{let o;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(o=(0,r.jsx)(ge,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=o):o=e[17],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[18]!==a||e[19]!==p||e[20]!==h||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(o=(0,r.jsx)(Y,{toolName:l,state:n,input:t,result:s,approval:a,index:h,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=h,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=o):o=e[26],o}default:return T(n),null}},Oe=({message:c,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:c.parts.map((t,a)=>i(t,a))});function i(t,a){if(ze(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(De(t))return re.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(G,{content:t.text},a);case"reasoning":return(0,r.jsx)(he,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(c.parts.length||0)-1},a);case"file":return(0,r.jsx)(ie,{attachment:t},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(I,{icon:(0,r.jsx)(K,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(I,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"step-start":return null;default:return T(t),null}}};function ze(c){return c.type.startsWith("tool-")}function De(c){return c.type.startsWith("data-")}export{Oe as t};
1
+ import{s as D}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Cr as K,Or as Q,Sr as U}from"./cells-DzyDERZy.js";import{A as X,C as O,R as E,T as Z}from"./zod-H_cgTO0M.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as ee}from"./isEmpty-CXeoXbuc.js";import{Y as te}from"./ai-model-dropdown-Bvqy98cI.js";import{g as re}from"./useEventListener-C0195JsF.js";import{t as k}from"./cn-DYvqRARy.js";import{t as se}from"./jsx-runtime-Blw4afVn.js";import{a as F,i as $,o as J,r as M}from"./config-BJVx3eBW.js";import{t as V}from"./button-DDGiD1NW.js";import{i as T}from"./strings--BknHX9C.js";import{t as W}from"./createLucideIcon-w-Qo9n0R.js";import{t as ae}from"./ban-DOUu3Y9Q.js";import{t as le}from"./bot-message-square-DTHo_4sQ.js";import{r as ne}from"./x-C-Eq0ag8.js";import{t as G}from"./markdown-renderer-sEayY9-m.js";import{f as I,l as ie}from"./add-cell-with-ai-C38rS_Vb.js";import{t as oe}from"./external-link-BOlXZUla.js";import{n as ce}from"./spinner-D-V4psAa.js";import{l as de}from"./datasource-D_VcQMEn.js";import{t as ue}from"./RenderHTML-Cd-PP5ZR.js";var me=W("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=W("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),xe=S(),C=D(H(),1),r=D(se(),1);const he=c=>{let e=(0,xe.c)(13),{reasoning:l,index:n,isStreaming:s}=c,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let h=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(le,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(J,{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,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)($,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(G,{content:l})})})}),e[4]=l,e[5]=m);let o;e[6]!==d||e[7]!==m?(o=(0,r.jsxs)(F,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=o):o=e[8];let f;return e[9]!==i||e[10]!==h||e[11]!==o?(f=(0,r.jsx)(M,{type:"single",collapsible:!0,className:"w-full mb-2",value:h,onValueChange:u,children:o},i),e[9]=i,e[10]=h,e[11]=o,e[12]=f):f=e[12],f};function L(c){return c.replace("tool-","")}var fe=S();const q=c=>{let e=(0,fe.c)(9),{input:l,label:n}=c,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ve=S();const be=c=>{let e=(0,ve.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=c,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=h):h=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[h,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(V,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let o;e[13]!==s.id||e[14]!==i?(o=(0,r.jsx)(V,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=o):o=e[15];let f;e[16]!==m||e[17]!==o?(f=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,o]}),e[16]=m,e[17]=o,e[18]=f):f=e[18];let b;return e[19]!==a||e[20]!==f||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,f]}),e[19]=a,e[20]=f,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var je=S();const ge=c=>{let e=(0,je.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=c,[a,u]=C.useState(i),h=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{h.current&&!i&&u(!1),h.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(Ne),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(Q,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=o):o=e[7];let f;e[8]===l?f=e[9]:(f=L(l),e[8]=l,e[9]=f);let b;e[10]===f?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[o," ",(0,r.jsx)("code",{className:"font-mono",children:f})]}),e[10]=f,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ne,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function Ne(c){return!c}var P=S();function ye(c){return c==null?!0:typeof c=="object"?ee(c):!1}var we=X({status:E().default("success"),auth_required:Z().default(!1),action_url:O(),next_steps:O(),meta:O(),message:E().nullish()}),_e=c=>{let e=(0,P.c)(12),{data:l}=c,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:h,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let o;e[10]===h?o=e[11]:(o=h&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(U,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:h})]}),e[10]=h,e[11]=o),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,o,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ae)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Se=c=>{let e=(0,P.c)(8),{result:l}=c,n;e[0]===l?n=e[1]:(n=we.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(_e,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ae(c){let[e,l]=c;return ye(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var z=S(),ke={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Te=new Set(["input-streaming","input-available","approval-responded"]),Ce=c=>{let e=(0,z.c)(5),{state:l,interrupted:n}=c;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(te,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ae,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function qe(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const Y=c=>{let e=(0,z.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:h}=c,p=a===void 0?0:a,v=h===void 0?!0:h,x;e[0]!==v||e[1]!==n?(x=!v&&Te.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,o;e[3]===u?o=e[4]:(o=k("w-full",u),e[3]=u,e[4]=o);let f;e[5]!==d||e[6]!==n?(f=k("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",d?"text-muted-foreground":qe(n)),e[5]=d,e[6]=n,e[7]=f):f=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Ce,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":ke[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==f?(y=(0,r.jsx)(J,{className:f,children:N}),e[19]=N,e[20]=f,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)($,{className:"py-2 px-2",children:(0,r.jsx)(Re,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)(F,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==o?(R=(0,r.jsx)(M,{type:"single",collapsible:!0,className:o,children:A},m),e[30]=A,e[31]=m,e[32]=o,e[33]=R):R=e[33],R};var Re=c=>{let e=(0,z.c)(16),{state:l,input:n,result:s,approval:i}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Se,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",a]}),e[11]=a,e[12]=u);let h;return e[13]!==t||e[14]!==u?(h=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=h):h=e[15],h}default:return T(l),null}},Le=S();const B=c=>{let e=(0,Le.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:h,className:p,isLive:v,isActive:x}=c,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let f;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(f=(0,r.jsx)(be,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=f):f=e[5],f}let o;return e[6]!==p||e[7]!==h||e[8]!==t||e[9]!==m||e[10]!==l?(o=(0,r.jsx)(Y,{toolName:l,state:"input-available",input:t,index:h,className:p,isActive:m}),e[6]=p,e[7]=h,e[8]=t,e[9]=m,e[10]=l,e[11]=o):o=e[11],o}case"output-error":{let o;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(o=(0,r.jsx)(ge,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=o):o=e[17],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[18]!==a||e[19]!==p||e[20]!==h||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(o=(0,r.jsx)(Y,{toolName:l,state:n,input:t,result:s,approval:a,index:h,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=h,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=o):o=e[26],o}default:return T(n),null}},Oe=({message:c,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:c.parts.map((t,a)=>i(t,a))});function i(t,a){if(ze(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(De(t))return re.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(G,{content:t.text},a);case"reasoning":return(0,r.jsx)(he,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(c.parts.length||0)-1},a);case"file":return(0,r.jsx)(ie,{attachment:t},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(I,{icon:(0,r.jsx)(K,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(I,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"step-start":return null;default:return T(t),null}}};function ze(c){return c.type.startsWith("tool-")}function De(c){return c.type.startsWith("data-")}export{Oe as t};
@@ -1,4 +1,4 @@
1
- import{s as Le}from"./chunk-LvLJmgfZ.js";import{d as _t,f as kt,l as Pe,n as L,u as fe}from"./useEvent-D91BmmQi.js";import{t as It}from"./react-Bj1aDYRI.js";import{Dr as Lt,E as Pt,Ut as Dt,pn as De}from"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{t as Me}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as zt,r as ze,t as Ft}from"./ai-model-dropdown-Bvqy98cI.js";import{g as se,o as G}from"./useEventListener-C0195JsF.js";import{a as Ht,n as Fe}from"./utils-BWBBpCkT.js";import{M as Wt,o as Ot}from"./config-B-Q7J_6d.js";import{t as J}from"./cn-DYvqRARy.js";import{t as Ut}from"./jsx-runtime-Blw4afVn.js";import{C as Xt,b as Yt,g as q,v as ae,w as te,x as B}from"./fullscreen-CTDqNQr6.js";import{u as Vt}from"./menu-items-CCi6aOPm.js";import{t as qt}from"./config-BJVx3eBW.js";import{i as Bt,r as $t,t as Qt}from"./popover-Bcz1Zikb.js";import{a as Kt,i as Zt,n as Gt,p as Jt,r as er,s as tr,t as rr}from"./select-BP75_5jJ.js";import{i as He,t as xe}from"./tooltip-4bZlU7jl.js";import{t as $}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as or}from"./requests-9-v2bhoi.js";import{t as sr}from"./createLucideIcon-w-Qo9n0R.js";import{t as ar}from"./scroll-to-bottom-button-C8yfT4wq.js";import{t as lr}from"./arrow-right-C1pQZGqv.js";import{t as We}from"./bot-message-square-DTHo_4sQ.js";import"./markdown-renderer-sEayY9-m.js";import{t as nr}from"./chat-display-Ccgk4vbE.js";import{A as ir,C as cr,I as dr,N as Oe,O as ur,P as pr,S as mr,T as hr,_ as Ue,b as fr,c as xr,d as vr,g as gr,h as wr,j as le,l as Xe,m as Ye,n as Ve,p as br,s as yr,u as jr,v as Sr,x as Cr,y as Nr,z as Ar}from"./add-cell-with-ai-ByOBQT99.js";import{t as Rr}from"./code-B2aKtXoe.js";import{t as Tr}from"./hat-glasses-BttHlyvs.js";import{n as qe}from"./spinner-D-V4psAa.js";import{t as Er}from"./message-circle-dL5J5ZsZ.js";import{t as _r}from"./plus-AgXtozBz.js";import{dt as kr,r as Ir}from"./input-JxFwu-3G.js";import{t as Lr}from"./settings-D_PiwXwo.js";import{t as Pr}from"./sparkles-DUCpRFlS.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as Dr}from"./dates-C2LWzsCZ.js";import{t as Mr}from"./copy-icon-neDQUo4Q.js";import{t as zr}from"./context-BFPaAUK_.js";import{n as Fr}from"./ImperativeModal-fY-ZfT0b.js";import{a as Hr,r as Be,t as Wr}from"./state-DxQhUsG9.js";import{n as Or}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import"./esm-B30N1GS0.js";import{t as ve}from"./empty-state-CqJvEFRk.js";import{t as Ur}from"./pair-with-agent-modal-BCRSACei.js";var m=Le(It(),1),o=Le(Ut(),1);function Xr(r,e){return m.useReducer((t,l)=>e[t][l]??t,r)}var ge="ScrollArea",[$e,ks]=Xt(ge),[Yr,D]=$e(ge),Qe=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,type:l="hover",dir:s,scrollHideDelay:a=600,...n}=r,[i,u]=m.useState(null),[c,d]=m.useState(null),[p,f]=m.useState(null),[x,g]=m.useState(null),[w,T]=m.useState(null),[b,S]=m.useState(0),[A,C]=m.useState(0),[y,N]=m.useState(!1),[I,k]=m.useState(!1),j=G(e,F=>u(F)),_=Vt(s);return(0,o.jsx)(Yr,{scope:t,type:l,dir:_,scrollHideDelay:a,scrollArea:i,viewport:c,onViewportChange:d,content:p,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:y,onScrollbarXEnabledChange:N,scrollbarY:w,onScrollbarYChange:T,scrollbarYEnabled:I,onScrollbarYEnabledChange:k,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,o.jsx)(te.div,{dir:_,...n,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":A+"px",...r.style}})})});Qe.displayName=ge;var Ke="ScrollAreaViewport",Ze=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,children:l,nonce:s,...a}=r,n=D(Ke,t),i=G(e,m.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,o.jsx)(te.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...r.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});Ze.displayName=Ke;var W="ScrollAreaScrollbar",we=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=s,i=r.orientation==="horizontal";return m.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),s.type==="hover"?(0,o.jsx)(Vr,{...l,ref:e,forceMount:t}):s.type==="scroll"?(0,o.jsx)(qr,{...l,ref:e,forceMount:t}):s.type==="auto"?(0,o.jsx)(Ge,{...l,ref:e,forceMount:t}):s.type==="always"?(0,o.jsx)(be,{...l,ref:e}):null});we.displayName=W;var Vr=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),[a,n]=m.useState(!1);return m.useEffect(()=>{let i=s.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),s.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[s.scrollArea,s.scrollHideDelay]),(0,o.jsx)(ae,{present:t||a,children:(0,o.jsx)(Ge,{"data-state":a?"visible":"hidden",...l,ref:e})})}),qr=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),a=r.orientation==="horizontal",n=de(()=>u("SCROLL_END"),100),[i,u]=Xr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,s.scrollHideDelay,u]),m.useEffect(()=>{let c=s.viewport,d=a?"scrollLeft":"scrollTop";if(c){let p=c[d],f=()=>{let x=c[d];p!==x&&(u("SCROLL"),n()),p=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[s.viewport,a,u,n]),(0,o.jsx)(ae,{present:t||i!=="hidden",children:(0,o.jsx)(be,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:B(r.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:B(r.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Ge=m.forwardRef((r,e)=>{let t=D(W,r.__scopeScrollArea),{forceMount:l,...s}=r,[a,n]=m.useState(!1),i=r.orientation==="horizontal",u=de(()=>{if(t.viewport){let c=t.viewport.offsetWidth<t.viewport.scrollWidth,d=t.viewport.offsetHeight<t.viewport.scrollHeight;n(i?c:d)}},10);return ee(t.viewport,u),ee(t.content,u),(0,o.jsx)(ae,{present:l||a,children:(0,o.jsx)(be,{"data-state":a?"visible":"hidden",...s,ref:e})})}),be=m.forwardRef((r,e)=>{let{orientation:t="vertical",...l}=r,s=D(W,r.__scopeScrollArea),a=m.useRef(null),n=m.useRef(0),[i,u]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ot(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>a.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function p(f,x){return Gr(f,n.current,i,x)}return t==="horizontal"?(0,o.jsx)(Br,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollLeft,x=st(f,i,s.dir);a.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollLeft=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollLeft=p(f,s.dir))}}):t==="vertical"?(0,o.jsx)($r,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollTop,x=st(f,i);a.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollTop=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollTop=p(f))}}):null}),Br=m.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=m.useState(),u=m.useRef(null),c=G(e,u,a.onScrollbarXChange);return m.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"horizontal",...s,ref:c,sizes:t,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.x),onDragScroll:d=>r.onDragScroll(d.x),onWheelScroll:(d,p)=>{if(a.viewport){let f=a.viewport.scrollLeft+d.deltaX;r.onWheelScroll(f),lt(f,p)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ie(n.paddingLeft),paddingEnd:ie(n.paddingRight)}})}})}),$r=m.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=m.useState(),u=m.useRef(null),c=G(e,u,a.onScrollbarYChange);return m.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"vertical",...s,ref:c,sizes:t,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.y),onDragScroll:d=>r.onDragScroll(d.y),onWheelScroll:(d,p)=>{if(a.viewport){let f=a.viewport.scrollTop+d.deltaY;r.onWheelScroll(f),lt(f,p)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ie(n.paddingTop),paddingEnd:ie(n.paddingBottom)}})}})}),[Qr,Je]=$e(W),et=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,sizes:l,hasThumb:s,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:p,...f}=r,x=D(W,t),[g,w]=m.useState(null),T=G(e,j=>w(j)),b=m.useRef(null),S=m.useRef(""),A=x.viewport,C=l.content-l.viewport,y=q(d),N=q(u),I=de(p,10);function k(j){b.current&&c({x:j.clientX-b.current.left,y:j.clientY-b.current.top})}return m.useEffect(()=>{let j=_=>{let F=_.target;g!=null&&g.contains(F)&&y(_,C)};return document.addEventListener("wheel",j,{passive:!1}),()=>document.removeEventListener("wheel",j,{passive:!1})},[A,g,C,y]),m.useEffect(N,[l,N]),ee(g,I),ee(x.content,I),(0,o.jsx)(Qr,{scope:t,scrollbar:g,hasThumb:s,onThumbChange:q(a),onThumbPointerUp:q(n),onThumbPositionChange:N,onThumbPointerDown:q(i),children:(0,o.jsx)(te.div,{...f,ref:T,style:{position:"absolute",...f.style},onPointerDown:B(r.onPointerDown,j=>{j.button===0&&(j.target.setPointerCapture(j.pointerId),b.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),k(j))}),onPointerMove:B(r.onPointerMove,k),onPointerUp:B(r.onPointerUp,j=>{let _=j.target;_.hasPointerCapture(j.pointerId)&&_.releasePointerCapture(j.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),b.current=null})})})}),ne="ScrollAreaThumb",tt=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=Je(ne,r.__scopeScrollArea);return(0,o.jsx)(ae,{present:t||s.hasThumb,children:(0,o.jsx)(Kr,{ref:e,...l})})}),Kr=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,style:l,...s}=r,a=D(ne,t),n=Je(ne,t),{onThumbPositionChange:i}=n,u=G(e,p=>n.onThumbChange(p)),c=m.useRef(void 0),d=de(()=>{c.current&&(c.current=(c.current(),void 0))},100);return m.useEffect(()=>{let p=a.viewport;if(p){let f=()=>{d(),c.current||(c.current=Jr(p,i),i())};return i(),p.addEventListener("scroll",f),()=>p.removeEventListener("scroll",f)}},[a.viewport,d,i]),(0,o.jsx)(te.div,{"data-state":n.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:B(r.onPointerDownCapture,p=>{let f=p.target.getBoundingClientRect(),x=p.clientX-f.left,g=p.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:B(r.onPointerUp,n.onThumbPointerUp)})});tt.displayName=ne;var ye="ScrollAreaCorner",rt=m.forwardRef((r,e)=>{let t=D(ye,r.__scopeScrollArea),l=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&l?(0,o.jsx)(Zr,{...r,ref:e}):null});rt.displayName=ye;var Zr=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,...l}=r,s=D(ye,t),[a,n]=m.useState(0),[i,u]=m.useState(0),c=!!(a&&i);return ee(s.scrollbarX,()=>{var p;let d=((p=s.scrollbarX)==null?void 0:p.offsetHeight)||0;s.onCornerHeightChange(d),u(d)}),ee(s.scrollbarY,()=>{var p;let d=((p=s.scrollbarY)==null?void 0:p.offsetWidth)||0;s.onCornerWidthChange(d),n(d)}),c?(0,o.jsx)(te.div,{...l,ref:e,style:{width:a,height:i,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function ie(r){return r?parseInt(r,10):0}function ot(r,e){let t=r/e;return isNaN(t)?0:t}function ce(r){let e=ot(r.viewport,r.content),t=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=(r.scrollbar.size-t)*e;return Math.max(l,18)}function Gr(r,e,t,l="ltr"){let s=ce(t),a=s/2,n=e||a,i=s-n,u=t.scrollbar.paddingStart+n,c=t.scrollbar.size-t.scrollbar.paddingEnd-i,d=t.content-t.viewport,p=l==="ltr"?[0,d]:[d*-1,0];return at([u,c],p)(r)}function st(r,e,t="ltr"){let l=ce(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-s,n=e.content-e.viewport,i=a-l,u=Jt(r,t==="ltr"?[0,n]:[n*-1,0]);return at([0,n],[0,i])(u)}function at(r,e){return t=>{if(r[0]===r[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(r[1]-r[0]);return e[0]+l*(t-r[0])}}function lt(r,e){return r>0&&r<e}var Jr=(r,e=()=>{})=>{let t={left:r.scrollLeft,top:r.scrollTop},l=0;return(function s(){let a={left:r.scrollLeft,top:r.scrollTop},n=t.left!==a.left,i=t.top!==a.top;(n||i)&&e(),t=a,l=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(l)};function de(r,e){let t=q(r),l=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(l.current),[]),m.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(t,e)},[t,e])}function ee(r,e){let t=q(e);Yt(()=>{let l=0;if(r){let s=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(t)});return s.observe(r),()=>{window.cancelAnimationFrame(l),s.unobserve(r)}}},[r,t])}var nt=Qe,eo=Ze,to=rt,ro=sr("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),it=Me();const oo=({chatState:r,chatId:e,messages:t})=>{if(!e)return se.warn("No active chat"),r;let l=r.chats.get(e);if(!l)return se.warn("No active chat"),r;let s=new Map(r.chats),a=Date.now();return s.set(l.id,{...l,messages:t,updatedAt:a}),{...r,chats:s}};var ct=m.forwardRef((r,e)=>{let t=(0,it.c)(15),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:s,children:l,...a}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n;t[4]===s?n=t[5]:(n=J("relative overflow-hidden",s),t[4]=s,t[5]=n);let i;t[6]===l?i=t[7]:(i=(0,o.jsx)(eo,{className:"h-full w-full rounded-[inherit]",children:l}),t[6]=l,t[7]=i);let u,c;t[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(dt,{}),c=(0,o.jsx)(to,{}),t[8]=u,t[9]=c):(u=t[8],c=t[9]);let d;return t[10]!==a||t[11]!==e||t[12]!==n||t[13]!==i?(d=(0,o.jsxs)(nt,{ref:e,className:n,...a,children:[i,u,c]}),t[10]=a,t[11]=e,t[12]=n,t[13]=i,t[14]=d):d=t[14],d});ct.displayName=nt.displayName;var dt=m.forwardRef((r,e)=>{let t=(0,it.c)(14),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:l,orientation:a,...s}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;t[4]!==l||t[5]!==i||t[6]!==u?(c=J("flex touch-none select-none transition-colors",i,u,l),t[4]=l,t[5]=i,t[6]=u,t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(tt,{className:"relative flex-1 rounded-full bg-border"}),t[8]=d):d=t[8];let p;return t[9]!==n||t[10]!==s||t[11]!==e||t[12]!==c?(p=(0,o.jsx)(we,{ref:e,orientation:n,className:c,...s,children:d}),t[9]=n,t[10]=s,t[11]=e,t[12]=c,t[13]=p):p=t[13],p});dt.displayName=we.displayName;var so=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const ao=r=>{let e=Date.now(),t=so.map(a=>({...a,chats:[]})),l={label:"Older",days:1/0,chats:[]},s=a=>{switch(a){case 0:return t[0];case 1:return t[1];case 2:return t[2];case 3:return t[3];default:return a>=4&&a<=7?t[4]:a>=8&&a<=30?t[5]:l}};for(let a of r)s(Math.floor((e-a.updatedAt)/864e5)).chats.push(a);return[...t,l].filter(a=>a.chats.length>0)},lo=({activeChatId:r,setActiveChat:e})=>{let t=fe(Be),{locale:l}=zr(),[s,a]=(0,m.useState)(""),n=(0,m.useMemo)(()=>[...t.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[t.chats]),i=(0,m.useMemo)(()=>s.trim()?n.filter(c=>c.title.toLowerCase().includes(s.toLowerCase())):n,[n,s]),u=(0,m.useMemo)(()=>ao(i),[i]);return(0,o.jsxs)(Qt,{children:[(0,o.jsx)(xe,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)($,{variant:"text",size:"icon",children:(0,o.jsx)(Lt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Ir,{placeholder:"Search chat history...",value:s,onChange:c=>a(c.target.value),className:"text-xs"})}),(0,o.jsx)(ct,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(ve,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(We,{})}),i.length===0&&s&&n.length>0&&(0,o.jsx)(ve,{title:"No chats found",description:`No chats match "${s}"`,icon:(0,o.jsx)(kr,{})}),u.map((c,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,o.jsx)("div",{children:c.chats.map(p=>(0,o.jsxs)("button",{className:J("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===r&&"bg-accent",p.id!==r&&"hover:bg-muted/20"),onClick:()=>{e(p.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Dr(p.updatedAt,l)})]},p.id))}),d!==u.length-1&&(0,o.jsx)("hr",{})]},c.label))]})})]})]})};var Q=Me(),ut="manual",pt=(0,m.memo)(r=>{let e=(0,Q.c)(18),{message:t}=r,l;e[0]===t.parts?l=e[1]:(l=t.parts.filter(mo).map(ho).join(`
1
+ import{s as Le}from"./chunk-LvLJmgfZ.js";import{d as _t,f as kt,l as Pe,n as L,u as fe}from"./useEvent-D91BmmQi.js";import{t as It}from"./react-Bj1aDYRI.js";import{Dr as Lt,E as Pt,Ut as Dt,pn as De}from"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{t as Me}from"./compiler-runtime-B3qBwwSJ.js";import{T as Mt,o as zt,r as ze,t as Ft}from"./ai-model-dropdown-Bvqy98cI.js";import{g as se,o as G}from"./useEventListener-C0195JsF.js";import{a as Ht,n as Fe}from"./utils-BWBBpCkT.js";import{M as Wt,o as Ot}from"./config-B-Q7J_6d.js";import{t as J}from"./cn-DYvqRARy.js";import{t as Ut}from"./jsx-runtime-Blw4afVn.js";import{C as Xt,b as Yt,g as q,v as ae,w as te,x as B}from"./fullscreen-CTDqNQr6.js";import{u as Vt}from"./menu-items-CCi6aOPm.js";import{t as qt}from"./config-BJVx3eBW.js";import{i as Bt,r as $t,t as Qt}from"./popover-Bcz1Zikb.js";import{a as Kt,i as Zt,n as Gt,p as Jt,r as er,s as tr,t as rr}from"./select-BP75_5jJ.js";import{i as He,t as xe}from"./tooltip-4bZlU7jl.js";import{t as $}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as or}from"./requests-9-v2bhoi.js";import{t as sr}from"./createLucideIcon-w-Qo9n0R.js";import{t as ar}from"./scroll-to-bottom-button-C8yfT4wq.js";import{t as lr}from"./arrow-right-C1pQZGqv.js";import{t as We}from"./bot-message-square-DTHo_4sQ.js";import"./markdown-renderer-sEayY9-m.js";import{t as nr}from"./chat-display-CX7zz7Iy.js";import{A as ir,C as cr,I as dr,N as Oe,O as ur,P as pr,S as mr,T as hr,_ as Ue,b as fr,c as xr,d as vr,g as gr,h as wr,j as le,l as Xe,m as Ye,n as Ve,p as br,s as yr,u as jr,v as Sr,x as Cr,y as Nr,z as Ar}from"./add-cell-with-ai-C38rS_Vb.js";import{t as Rr}from"./code-B2aKtXoe.js";import{t as Tr}from"./hat-glasses-BttHlyvs.js";import{n as qe}from"./spinner-D-V4psAa.js";import{t as Er}from"./message-circle-dL5J5ZsZ.js";import{t as _r}from"./plus-AgXtozBz.js";import{dt as kr,r as Ir}from"./input-JxFwu-3G.js";import{t as Lr}from"./settings-D_PiwXwo.js";import{t as Pr}from"./sparkles-DUCpRFlS.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{s as Dr}from"./dates-C2LWzsCZ.js";import{t as Mr}from"./copy-icon-neDQUo4Q.js";import{t as zr}from"./context-BFPaAUK_.js";import{n as Fr}from"./ImperativeModal-fY-ZfT0b.js";import{a as Hr,r as Be,t as Wr}from"./state-DxQhUsG9.js";import{n as Or}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import"./esm-B30N1GS0.js";import{t as ve}from"./empty-state-CqJvEFRk.js";import{t as Ur}from"./pair-with-agent-modal-BCRSACei.js";var m=Le(It(),1),o=Le(Ut(),1);function Xr(r,e){return m.useReducer((t,l)=>e[t][l]??t,r)}var ge="ScrollArea",[$e,ks]=Xt(ge),[Yr,D]=$e(ge),Qe=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,type:l="hover",dir:s,scrollHideDelay:a=600,...n}=r,[i,u]=m.useState(null),[c,d]=m.useState(null),[p,f]=m.useState(null),[x,g]=m.useState(null),[w,T]=m.useState(null),[b,S]=m.useState(0),[A,C]=m.useState(0),[y,N]=m.useState(!1),[I,k]=m.useState(!1),j=G(e,F=>u(F)),_=Vt(s);return(0,o.jsx)(Yr,{scope:t,type:l,dir:_,scrollHideDelay:a,scrollArea:i,viewport:c,onViewportChange:d,content:p,onContentChange:f,scrollbarX:x,onScrollbarXChange:g,scrollbarXEnabled:y,onScrollbarXEnabledChange:N,scrollbarY:w,onScrollbarYChange:T,scrollbarYEnabled:I,onScrollbarYEnabledChange:k,onCornerWidthChange:S,onCornerHeightChange:C,children:(0,o.jsx)(te.div,{dir:_,...n,ref:j,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":A+"px",...r.style}})})});Qe.displayName=ge;var Ke="ScrollAreaViewport",Ze=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,children:l,nonce:s,...a}=r,n=D(Ke,t),i=G(e,m.useRef(null),n.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:s}),(0,o.jsx)(te.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...r.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:l})})]})});Ze.displayName=Ke;var W="ScrollAreaScrollbar",we=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=s,i=r.orientation==="horizontal";return m.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),s.type==="hover"?(0,o.jsx)(Vr,{...l,ref:e,forceMount:t}):s.type==="scroll"?(0,o.jsx)(qr,{...l,ref:e,forceMount:t}):s.type==="auto"?(0,o.jsx)(Ge,{...l,ref:e,forceMount:t}):s.type==="always"?(0,o.jsx)(be,{...l,ref:e}):null});we.displayName=W;var Vr=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),[a,n]=m.useState(!1);return m.useEffect(()=>{let i=s.scrollArea,u=0;if(i){let c=()=>{window.clearTimeout(u),n(!0)},d=()=>{u=window.setTimeout(()=>n(!1),s.scrollHideDelay)};return i.addEventListener("pointerenter",c),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(u),i.removeEventListener("pointerenter",c),i.removeEventListener("pointerleave",d)}}},[s.scrollArea,s.scrollHideDelay]),(0,o.jsx)(ae,{present:t||a,children:(0,o.jsx)(Ge,{"data-state":a?"visible":"hidden",...l,ref:e})})}),qr=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=D(W,r.__scopeScrollArea),a=r.orientation==="horizontal",n=de(()=>u("SCROLL_END"),100),[i,u]=Xr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(i==="idle"){let c=window.setTimeout(()=>u("HIDE"),s.scrollHideDelay);return()=>window.clearTimeout(c)}},[i,s.scrollHideDelay,u]),m.useEffect(()=>{let c=s.viewport,d=a?"scrollLeft":"scrollTop";if(c){let p=c[d],f=()=>{let x=c[d];p!==x&&(u("SCROLL"),n()),p=x};return c.addEventListener("scroll",f),()=>c.removeEventListener("scroll",f)}},[s.viewport,a,u,n]),(0,o.jsx)(ae,{present:t||i!=="hidden",children:(0,o.jsx)(be,{"data-state":i==="hidden"?"hidden":"visible",...l,ref:e,onPointerEnter:B(r.onPointerEnter,()=>u("POINTER_ENTER")),onPointerLeave:B(r.onPointerLeave,()=>u("POINTER_LEAVE"))})})}),Ge=m.forwardRef((r,e)=>{let t=D(W,r.__scopeScrollArea),{forceMount:l,...s}=r,[a,n]=m.useState(!1),i=r.orientation==="horizontal",u=de(()=>{if(t.viewport){let c=t.viewport.offsetWidth<t.viewport.scrollWidth,d=t.viewport.offsetHeight<t.viewport.scrollHeight;n(i?c:d)}},10);return ee(t.viewport,u),ee(t.content,u),(0,o.jsx)(ae,{present:l||a,children:(0,o.jsx)(be,{"data-state":a?"visible":"hidden",...s,ref:e})})}),be=m.forwardRef((r,e)=>{let{orientation:t="vertical",...l}=r,s=D(W,r.__scopeScrollArea),a=m.useRef(null),n=m.useRef(0),[i,u]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),c=ot(i.viewport,i.content),d={...l,sizes:i,onSizesChange:u,hasThumb:c>0&&c<1,onThumbChange:f=>a.current=f,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:f=>n.current=f};function p(f,x){return Gr(f,n.current,i,x)}return t==="horizontal"?(0,o.jsx)(Br,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollLeft,x=st(f,i,s.dir);a.current.style.transform=`translate3d(${x}px, 0, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollLeft=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollLeft=p(f,s.dir))}}):t==="vertical"?(0,o.jsx)($r,{...d,ref:e,onThumbPositionChange:()=>{if(s.viewport&&a.current){let f=s.viewport.scrollTop,x=st(f,i);a.current.style.transform=`translate3d(0, ${x}px, 0)`}},onWheelScroll:f=>{s.viewport&&(s.viewport.scrollTop=f)},onDragScroll:f=>{s.viewport&&(s.viewport.scrollTop=p(f))}}):null}),Br=m.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=m.useState(),u=m.useRef(null),c=G(e,u,a.onScrollbarXChange);return m.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"horizontal",...s,ref:c,sizes:t,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.x),onDragScroll:d=>r.onDragScroll(d.x),onWheelScroll:(d,p)=>{if(a.viewport){let f=a.viewport.scrollLeft+d.deltaX;r.onWheelScroll(f),lt(f,p)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:u.current.clientWidth,paddingStart:ie(n.paddingLeft),paddingEnd:ie(n.paddingRight)}})}})}),$r=m.forwardRef((r,e)=>{let{sizes:t,onSizesChange:l,...s}=r,a=D(W,r.__scopeScrollArea),[n,i]=m.useState(),u=m.useRef(null),c=G(e,u,a.onScrollbarYChange);return m.useEffect(()=>{u.current&&i(getComputedStyle(u.current))},[u]),(0,o.jsx)(et,{"data-orientation":"vertical",...s,ref:c,sizes:t,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":ce(t)+"px",...r.style},onThumbPointerDown:d=>r.onThumbPointerDown(d.y),onDragScroll:d=>r.onDragScroll(d.y),onWheelScroll:(d,p)=>{if(a.viewport){let f=a.viewport.scrollTop+d.deltaY;r.onWheelScroll(f),lt(f,p)&&d.preventDefault()}},onResize:()=>{u.current&&a.viewport&&n&&l({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:u.current.clientHeight,paddingStart:ie(n.paddingTop),paddingEnd:ie(n.paddingBottom)}})}})}),[Qr,Je]=$e(W),et=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,sizes:l,hasThumb:s,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:u,onDragScroll:c,onWheelScroll:d,onResize:p,...f}=r,x=D(W,t),[g,w]=m.useState(null),T=G(e,j=>w(j)),b=m.useRef(null),S=m.useRef(""),A=x.viewport,C=l.content-l.viewport,y=q(d),N=q(u),I=de(p,10);function k(j){b.current&&c({x:j.clientX-b.current.left,y:j.clientY-b.current.top})}return m.useEffect(()=>{let j=_=>{let F=_.target;g!=null&&g.contains(F)&&y(_,C)};return document.addEventListener("wheel",j,{passive:!1}),()=>document.removeEventListener("wheel",j,{passive:!1})},[A,g,C,y]),m.useEffect(N,[l,N]),ee(g,I),ee(x.content,I),(0,o.jsx)(Qr,{scope:t,scrollbar:g,hasThumb:s,onThumbChange:q(a),onThumbPointerUp:q(n),onThumbPositionChange:N,onThumbPointerDown:q(i),children:(0,o.jsx)(te.div,{...f,ref:T,style:{position:"absolute",...f.style},onPointerDown:B(r.onPointerDown,j=>{j.button===0&&(j.target.setPointerCapture(j.pointerId),b.current=g.getBoundingClientRect(),S.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",x.viewport&&(x.viewport.style.scrollBehavior="auto"),k(j))}),onPointerMove:B(r.onPointerMove,k),onPointerUp:B(r.onPointerUp,j=>{let _=j.target;_.hasPointerCapture(j.pointerId)&&_.releasePointerCapture(j.pointerId),document.body.style.webkitUserSelect=S.current,x.viewport&&(x.viewport.style.scrollBehavior=""),b.current=null})})})}),ne="ScrollAreaThumb",tt=m.forwardRef((r,e)=>{let{forceMount:t,...l}=r,s=Je(ne,r.__scopeScrollArea);return(0,o.jsx)(ae,{present:t||s.hasThumb,children:(0,o.jsx)(Kr,{ref:e,...l})})}),Kr=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,style:l,...s}=r,a=D(ne,t),n=Je(ne,t),{onThumbPositionChange:i}=n,u=G(e,p=>n.onThumbChange(p)),c=m.useRef(void 0),d=de(()=>{c.current&&(c.current=(c.current(),void 0))},100);return m.useEffect(()=>{let p=a.viewport;if(p){let f=()=>{d(),c.current||(c.current=Jr(p,i),i())};return i(),p.addEventListener("scroll",f),()=>p.removeEventListener("scroll",f)}},[a.viewport,d,i]),(0,o.jsx)(te.div,{"data-state":n.hasThumb?"visible":"hidden",...s,ref:u,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...l},onPointerDownCapture:B(r.onPointerDownCapture,p=>{let f=p.target.getBoundingClientRect(),x=p.clientX-f.left,g=p.clientY-f.top;n.onThumbPointerDown({x,y:g})}),onPointerUp:B(r.onPointerUp,n.onThumbPointerUp)})});tt.displayName=ne;var ye="ScrollAreaCorner",rt=m.forwardRef((r,e)=>{let t=D(ye,r.__scopeScrollArea),l=!!(t.scrollbarX&&t.scrollbarY);return t.type!=="scroll"&&l?(0,o.jsx)(Zr,{...r,ref:e}):null});rt.displayName=ye;var Zr=m.forwardRef((r,e)=>{let{__scopeScrollArea:t,...l}=r,s=D(ye,t),[a,n]=m.useState(0),[i,u]=m.useState(0),c=!!(a&&i);return ee(s.scrollbarX,()=>{var p;let d=((p=s.scrollbarX)==null?void 0:p.offsetHeight)||0;s.onCornerHeightChange(d),u(d)}),ee(s.scrollbarY,()=>{var p;let d=((p=s.scrollbarY)==null?void 0:p.offsetWidth)||0;s.onCornerWidthChange(d),n(d)}),c?(0,o.jsx)(te.div,{...l,ref:e,style:{width:a,height:i,position:"absolute",right:s.dir==="ltr"?0:void 0,left:s.dir==="rtl"?0:void 0,bottom:0,...r.style}}):null});function ie(r){return r?parseInt(r,10):0}function ot(r,e){let t=r/e;return isNaN(t)?0:t}function ce(r){let e=ot(r.viewport,r.content),t=r.scrollbar.paddingStart+r.scrollbar.paddingEnd,l=(r.scrollbar.size-t)*e;return Math.max(l,18)}function Gr(r,e,t,l="ltr"){let s=ce(t),a=s/2,n=e||a,i=s-n,u=t.scrollbar.paddingStart+n,c=t.scrollbar.size-t.scrollbar.paddingEnd-i,d=t.content-t.viewport,p=l==="ltr"?[0,d]:[d*-1,0];return at([u,c],p)(r)}function st(r,e,t="ltr"){let l=ce(e),s=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=e.scrollbar.size-s,n=e.content-e.viewport,i=a-l,u=Jt(r,t==="ltr"?[0,n]:[n*-1,0]);return at([0,n],[0,i])(u)}function at(r,e){return t=>{if(r[0]===r[1]||e[0]===e[1])return e[0];let l=(e[1]-e[0])/(r[1]-r[0]);return e[0]+l*(t-r[0])}}function lt(r,e){return r>0&&r<e}var Jr=(r,e=()=>{})=>{let t={left:r.scrollLeft,top:r.scrollTop},l=0;return(function s(){let a={left:r.scrollLeft,top:r.scrollTop},n=t.left!==a.left,i=t.top!==a.top;(n||i)&&e(),t=a,l=window.requestAnimationFrame(s)})(),()=>window.cancelAnimationFrame(l)};function de(r,e){let t=q(r),l=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(l.current),[]),m.useCallback(()=>{window.clearTimeout(l.current),l.current=window.setTimeout(t,e)},[t,e])}function ee(r,e){let t=q(e);Yt(()=>{let l=0;if(r){let s=new ResizeObserver(()=>{cancelAnimationFrame(l),l=window.requestAnimationFrame(t)});return s.observe(r),()=>{window.cancelAnimationFrame(l),s.unobserve(r)}}},[r,t])}var nt=Qe,eo=Ze,to=rt,ro=sr("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),it=Me();const oo=({chatState:r,chatId:e,messages:t})=>{if(!e)return se.warn("No active chat"),r;let l=r.chats.get(e);if(!l)return se.warn("No active chat"),r;let s=new Map(r.chats),a=Date.now();return s.set(l.id,{...l,messages:t,updatedAt:a}),{...r,chats:s}};var ct=m.forwardRef((r,e)=>{let t=(0,it.c)(15),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:s,children:l,...a}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n;t[4]===s?n=t[5]:(n=J("relative overflow-hidden",s),t[4]=s,t[5]=n);let i;t[6]===l?i=t[7]:(i=(0,o.jsx)(eo,{className:"h-full w-full rounded-[inherit]",children:l}),t[6]=l,t[7]=i);let u,c;t[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(dt,{}),c=(0,o.jsx)(to,{}),t[8]=u,t[9]=c):(u=t[8],c=t[9]);let d;return t[10]!==a||t[11]!==e||t[12]!==n||t[13]!==i?(d=(0,o.jsxs)(nt,{ref:e,className:n,...a,children:[i,u,c]}),t[10]=a,t[11]=e,t[12]=n,t[13]=i,t[14]=d):d=t[14],d});ct.displayName=nt.displayName;var dt=m.forwardRef((r,e)=>{let t=(0,it.c)(14),l,s,a;t[0]===r?(l=t[1],s=t[2],a=t[3]):({className:l,orientation:a,...s}=r,t[0]=r,t[1]=l,t[2]=s,t[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",u=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",c;t[4]!==l||t[5]!==i||t[6]!==u?(c=J("flex touch-none select-none transition-colors",i,u,l),t[4]=l,t[5]=i,t[6]=u,t[7]=c):c=t[7];let d;t[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(tt,{className:"relative flex-1 rounded-full bg-border"}),t[8]=d):d=t[8];let p;return t[9]!==n||t[10]!==s||t[11]!==e||t[12]!==c?(p=(0,o.jsx)(we,{ref:e,orientation:n,className:c,...s,children:d}),t[9]=n,t[10]=s,t[11]=e,t[12]=c,t[13]=p):p=t[13],p});dt.displayName=we.displayName;var so=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const ao=r=>{let e=Date.now(),t=so.map(a=>({...a,chats:[]})),l={label:"Older",days:1/0,chats:[]},s=a=>{switch(a){case 0:return t[0];case 1:return t[1];case 2:return t[2];case 3:return t[3];default:return a>=4&&a<=7?t[4]:a>=8&&a<=30?t[5]:l}};for(let a of r)s(Math.floor((e-a.updatedAt)/864e5)).chats.push(a);return[...t,l].filter(a=>a.chats.length>0)},lo=({activeChatId:r,setActiveChat:e})=>{let t=fe(Be),{locale:l}=zr(),[s,a]=(0,m.useState)(""),n=(0,m.useMemo)(()=>[...t.chats.values()].toSorted((c,d)=>d.updatedAt-c.updatedAt),[t.chats]),i=(0,m.useMemo)(()=>s.trim()?n.filter(c=>c.title.toLowerCase().includes(s.toLowerCase())):n,[n,s]),u=(0,m.useMemo)(()=>ao(i),[i]);return(0,o.jsxs)(Qt,{children:[(0,o.jsx)(xe,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)($,{variant:"text",size:"icon",children:(0,o.jsx)(Lt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Ir,{placeholder:"Search chat history...",value:s,onChange:c=>a(c.target.value),className:"text-xs"})}),(0,o.jsx)(ct,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(ve,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(We,{})}),i.length===0&&s&&n.length>0&&(0,o.jsx)(ve,{title:"No chats found",description:`No chats match "${s}"`,icon:(0,o.jsx)(kr,{})}),u.map((c,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:c.label}),(0,o.jsx)("div",{children:c.chats.map(p=>(0,o.jsxs)("button",{className:J("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===r&&"bg-accent",p.id!==r&&"hover:bg-muted/20"),onClick:()=>{e(p.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 shrink-0",children:Dr(p.updatedAt,l)})]},p.id))}),d!==u.length-1&&(0,o.jsx)("hr",{})]},c.label))]})})]})]})};var Q=Me(),ut="manual",pt=(0,m.memo)(r=>{let e=(0,Q.c)(18),{message:t}=r,l;e[0]===t.parts?l=e[1]:(l=t.parts.filter(mo).map(ho).join(`
2
2
  `),e[0]=t.parts,e[1]=l);let s=l,a,n,i;if(e[2]!==t.parts){let x=t.parts.filter(fo);i="flex justify-end",a="w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70",n=x.map(xo),e[2]=t.parts,e[3]=a,e[4]=n,e[5]=i}else a=e[3],n=e[4],i=e[5];let u;e[6]===s?u=e[7]:(u=(0,o.jsx)("span",{className:"wrap-break-word",children:s}),e[6]=s,e[7]=u);let c;e[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(qe,{className:"h-3.5 w-3.5 shrink-0 animate-spin"}),e[8]=c):c=e[8];let d;e[9]===u?d=e[10]:(d=(0,o.jsxs)("div",{className:"flex items-center justify-end gap-2 text-sm text-muted-foreground",children:[u,c]}),e[9]=u,e[10]=d);let p;e[11]!==a||e[12]!==n||e[13]!==d?(p=(0,o.jsxs)("div",{className:a,children:[n,d]}),e[11]=a,e[12]=n,e[13]=d,e[14]=p):p=e[14];let f;return e[15]!==i||e[16]!==p?(f=(0,o.jsx)("div",{className:i,children:p}),e[15]=i,e[16]=p,e[17]=f):f=e[17],f});pt.displayName="QueuedMessageDisplay";var no=r=>{let e=(0,Q.c)(18),{onNewChat:t,activeChatId:l,setActiveChat:s}=r,{handleClick:a}=ze(),n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(_r,{className:"h-4 w-4"}),e[0]=n):n=e[0];let i;e[1]===t?i=e[2]:(i=(0,o.jsx)(xe,{content:"New chat",children:(0,o.jsx)($,{variant:"text",size:"icon",onClick:t,children:n})}),e[1]=t,e[2]=i);let u;e[3]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(zt,{}),e[3]=u):u=e[3];let c;e[4]===a?c=e[5]:(c=()=>a("ai"),e[4]=a,e[5]=c);let d;e[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Lr,{className:"h-4 w-4"}),e[6]=d):d=e[6];let p;e[7]===c?p=e[8]:(p=(0,o.jsx)(xe,{content:"AI Settings",children:(0,o.jsx)($,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:c,children:d})}),e[7]=c,e[8]=p);let f;e[9]!==l||e[10]!==s?(f=(0,o.jsx)(lo,{activeChatId:l,setActiveChat:s}),e[9]=l,e[10]=s,e[11]=f):f=e[11];let x;e[12]!==p||e[13]!==f?(x=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[u,p,f]}),e[12]=p,e[13]=f,e[14]=x):x=e[14];let g;return e[15]!==i||e[16]!==x?(g=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,x]}),e[15]=i,e[16]=x,e[17]=g):g=e[17],g},mt=(0,m.memo)(r=>{let e=(0,Q.c)(17),{message:t,index:l,onEdit:s,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:u}=r,c;e[0]!==l||e[1]!==s?(c=b=>{var C,y,N;let S=(y=(C=b.parts)==null?void 0:C.filter(vo))==null?void 0:y.map(go).join(`
3
3
  `),A=(N=b.parts)==null?void 0:N.filter(wo);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[A==null?void 0:A.map(bo),(0,o.jsx)(Ve,{value:S,placeholder:"Type your message...",onChange:yo,onSubmit:(I,k)=>{k.trim()&&s(l,k)},onClose:jo},b.id)]})},e[0]=l,e[1]=s,e[2]=c):c=e[2];let d=c,p;e[3]!==u||e[4]!==i||e[5]!==n||e[6]!==a?(p=b=>(0,o.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,o.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(Mr,{className:"h-3 w-3",value:b.parts.filter(So).map(Co).join(`
4
4
  `)||""})}),nr({message:b,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:u})]}),e[3]=u,e[4]=i,e[5]=n,e[6]=a,e[7]=p):p=e[7];let f=p,x=t.role==="user"?"justify-end":"justify-start",g;e[8]===x?g=e[9]:(g=J("flex group relative",x),e[8]=x,e[9]=g);let w;e[10]!==t||e[11]!==f||e[12]!==d?(w=t.role==="user"?d(t):f(t),e[10]=t,e[11]=f,e[12]=d,e[13]=w):w=e[13];let T;return e[14]!==g||e[15]!==w?(T=(0,o.jsx)("div",{className:g,children:w}),e[14]=g,e[15]=w,e[16]=T):T=e[16],T});mt.displayName="ChatMessage";var ht=(0,m.memo)(r=>{var re;let e=(0,Q.c)(42),{isEmpty:t,onSendClick:l,isLoading:s,onStop:a,fileInputRef:n,onAddFiles:i,onAddContext:u}=r,c=fe(Fe),d=(c==null?void 0:c.mode)||ut,p=((re=c==null?void 0:c.models)==null?void 0:re.chat_model)||"openai/gpt-4o",f=Mt.parse(p).providerId,{saveModeChange:x}=qt(),g;e[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:Er},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:ro},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:Tr},{value:"code_mode",label:"Code Mode (experimental)",subtitle:"AI with access to the notebook's kernel. Use with caution.",Icon:Rr}],e[0]=g):g=e[0];let w=g,T=br.has(f),b;e[1]!==d||e[2]!==w?(b=w.find(P=>P.value===d),e[1]=d,e[2]=w,e[3]=b):b=e[3];let S=b,A=S==null?void 0:S.Icon,C=S==null?void 0:S.label,y;e[4]===A?y=e[5]:(y=A&&(0,o.jsx)(A,{className:"h-3 w-3"}),e[4]=A,e[5]=y);let N;e[6]===C?N=e[7]:(N=(0,o.jsx)("span",{children:C}),e[6]=C,e[7]=N);let I;e[8]!==y||e[9]!==N?(I=(0,o.jsxs)(tr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5",children:[y,N]}),e[8]=y,e[9]=N,e[10]=I):I=e[10];let k;e[11]===Symbol.for("react.memo_cache_sentinel")?(k=(0,o.jsx)(Kt,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),e[11]=k):k=e[11];let j;e[12]===w?j=e[13]:(j=(0,o.jsx)(Gt,{children:(0,o.jsxs)(er,{children:[k,w.map(No)]})}),e[12]=w,e[13]=j);let _;e[14]!==d||e[15]!==x||e[16]!==I||e[17]!==j?(_=(0,o.jsxs)(rr,{value:d,onValueChange:x,children:[I,j]}),e[14]=d,e[15]=x,e[16]=I,e[17]=j,e[18]=_):_=e[18];let F;e[19]===Symbol.for("react.memo_cache_sentinel")?(F=(0,o.jsx)(Ft,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),e[19]=F):F=e[19];let U;e[20]===_?U=e[21]:(U=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[_,F]}),e[20]=_,e[21]=U);let H;e[22]!==s||e[23]!==u?(H=(0,o.jsx)(yr,{handleAddContext:u,isLoading:s}),e[22]=s,e[23]=u,e[24]=H):H=e[24];let O;e[25]!==n||e[26]!==T||e[27]!==s||e[28]!==i?(O=T&&(0,o.jsx)(xr,{fileInputRef:n,isLoading:s,onAddFiles:i}),e[25]=n,e[26]=T,e[27]=s,e[28]=i,e[29]=O):O=e[29];let X;e[30]!==t||e[31]!==s||e[32]!==l||e[33]!==a?(X=(0,o.jsx)(vr,{isLoading:s,onStop:a,onSendClick:l,isEmpty:t}),e[30]=t,e[31]=s,e[32]=l,e[33]=a,e[34]=X):X=e[34];let Y;e[35]!==H||e[36]!==O||e[37]!==X?(Y=(0,o.jsxs)("div",{className:"flex flex-row",children:[H,O,X]}),e[35]=H,e[36]=O,e[37]=X,e[38]=Y):Y=e[38];let K;return e[39]!==U||e[40]!==Y?(K=(0,o.jsx)(He,{children:(0,o.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row flex-wrap items-center justify-between gap-1",children:[U,Y]})}),e[39]=U,e[40]=Y,e[41]=K):K=e[41],K});ht.displayName="ChatInputFooter";var je=(0,m.memo)(r=>{let e=(0,Q.c)(29),{placeholder:t,input:l,inputClassName:s,setInput:a,onSubmit:n,inputRef:i,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:p,onClose:f}=r,x;e[0]!==l||e[1]!==n?(x=()=>{l.trim()&&n(void 0,l)},e[0]=l,e[1]=n,e[2]=x):x=e[2];let g=L(x),w;e[3]===s?w=e[4]:(w=J("px-2 py-3 flex-1",s),e[3]=s,e[4]=w);let T=t||"Type your message...",b;e[5]!==l||e[6]!==i||e[7]!==p||e[8]!==f||e[9]!==n||e[10]!==a||e[11]!==T?(b=(0,o.jsx)(Ve,{className:"max-h-[400px]",inputRef:i,value:l,onChange:a,onSubmit:n,onClose:f,onAddFiles:p,placeholder:T}),e[5]=l,e[6]=i,e[7]=p,e[8]=f,e[9]=n,e[10]=a,e[11]=T,e[12]=b):b=e[12];let S;e[13]!==w||e[14]!==b?(S=(0,o.jsx)("div",{className:w,children:b}),e[13]=w,e[14]=b,e[15]=S):S=e[15];let A=!l.trim(),C;e[16]===i?C=e[17]:(C=()=>ur(i),e[16]=i,e[17]=C);let y;e[18]!==d||e[19]!==g||e[20]!==u||e[21]!==p||e[22]!==c||e[23]!==A||e[24]!==C?(y=(0,o.jsx)(ht,{isEmpty:A,onAddContext:C,onSendClick:g,isLoading:u,onStop:c,fileInputRef:d,onAddFiles:p}),e[18]=d,e[19]=g,e[20]=u,e[21]=p,e[22]=c,e[23]=A,e[24]=C,e[25]=y):y=e[25];let N;return e[26]!==S||e[27]!==y?(N=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[S,y]}),e[26]=S,e[27]=y,e[28]=N):N=e[28],N});je.displayName="ChatInput";var io=r=>{let e=(0,Q.c)(5),{onPairWithAgent:t}=r;if(Wt())return null;let l,s,a;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=(0,o.jsx)(Pr,{className:"h-3.5 w-3.5 shrink-0"}),s=(0,o.jsx)("span",{children:"Work on this notebook with your own agent"}),a=(0,o.jsx)(lr,{className:"h-3 w-3 shrink-0"}),e[0]=l,e[1]=s,e[2]=a):(l=e[0],s=e[1],a=e[2]);let n;return e[3]===t?n=e[4]:(n=(0,o.jsxs)($,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:t,children:[l,s,a]}),e[3]=t,e[4]=n),n},co=()=>{let r=(0,Q.c)(6),e=fe(Ht),{handleClick:t}=ze();if(!e){let s;r[0]===t?s=r[1]:(s=(0,o.jsx)($,{variant:"outline",size:"sm",onClick:()=>t("ai","ai-providers"),children:"Edit AI settings"}),r[0]=t,r[1]=s);let a;r[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(We,{}),r[2]=a):a=r[2];let n;return r[3]===s?n=r[4]:(n=(0,o.jsx)(ve,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:s,icon:a}),r[3]=s,r[4]=n),n}let l;return r[5]===Symbol.for("react.memo_cache_sentinel")?(l=(0,o.jsx)(uo,{}),r[5]=l):l=r[5],l},uo=()=>{let r=_t(Be),[e,t]=Pe(Wr),[l,s]=Pe(Hr),[a,n]=(0,m.useState)(""),[i,u]=(0,m.useState)(""),[c,d]=(0,m.useState)(!0),{files:p,addFiles:f,clearFiles:x,removeFile:g}=Cr(),{messages:w,enqueue:T,flushNext:b,clear:S,hasQueuedRef:A}=mr(),C=(0,m.useRef)(null),y=(0,m.useRef)(null),N=(0,m.useRef)(null),I=(0,m.useRef)(null),k=Ot(),{invokeAiTool:j,sendRun:_}=or(),{openModal:F,closeModal:U}=Fr(),H=e==null?void 0:e.id,O=kt(),{addStagedCell:X}=hr(),{createNewCell:Y,prepareForRun:K}=Pt(),re={addStagedCell:X,createNewCell:Y,prepareForRun:K,sendRun:_,store:O},{messages:P,sendMessage:ue,error:oe,status:Se,regenerate:ft,stop:pe,addToolOutput:xt,addToolApprovalResponse:vt,id:gt}=pr({id:H,sendAutomaticallyWhen:({messages:h})=>Ue(h),messages:(e==null?void 0:e.messages)||[],transport:new dr({api:k.getAiURL("chat").toString(),headers:()=>k.headers(),prepareSendMessagesRequest:async h=>{var V;let v=await Ar({messages:h.messages});v.success||se.debug("Outgoing chat messages failed AI SDK schema validation",v.error);let R={uiMessages:h.messages,includeOtherCode:Dt("")},E=((V=O.get(Fe))==null?void 0:V.mode)||ut,z=cr.getToolSchemas(E);return{api:k.getAiURL("chat").toString(),body:{tools:z,...h,...R}}}}),onFinish:({messages:h,isError:v,isAbort:R})=>{r(E=>oo({chatState:E,chatId:E.activeChatId,messages:h})),me(h,{isError:v,isAbort:R})},onToolCall:async({toolCall:h})=>{await gr({invokeAiTool:j,addToolOutput:xt,toolCall:{toolName:h.toolName,toolCallId:h.toolCallId,input:h.input},toolContext:re})},onError:h=>{se.error("An error occurred:",h)}}),Ce=L(h=>{ue({role:"user",parts:h})}),me=L((h,v)=>{A.current&&fr({isError:v.isError,isAbort:v.isAbort,hasPendingToolCalls:Ue(h),hasUnresolvedToolCalls:Sr(h)})&&b(Ce)}),M=Se==="submitted"||Se==="streaming",Ne=(0,m.useRef)(M);Ne.current=M;let Ae=L(h=>{Ne.current||A.current?T(h):Ce(h)}),wt=L(()=>{let h=N.current;if(!h)return;let{scrollTop:v,scrollHeight:R,clientHeight:E}=h;d(R>E?Math.abs(R-E-v)<5:!0)}),he=L((h=!1)=>{let v=N.current;v&&v.scrollTo({top:v.scrollHeight,behavior:h?"smooth":"auto"})}),bt=M&&P.length>0&&Nr(P);(0,m.useEffect)(()=>{d(!0),S()},[H,S]),(0,m.useEffect)(()=>{if(!c)return;let h=requestAnimationFrame(()=>{he()});return()=>cancelAnimationFrame(h)},[P,w,M,c,he]),(0,m.useEffect)(()=>{M||me(P,{isError:oe!=null,isAbort:!1})},[P,M,oe,me]);let Re=L(h=>{let v=Date.now(),R={id:gt,title:wr(h),messages:[],createdAt:v,updatedAt:v};r(E=>{let z=new Map(E.chats);return z.set(R.id,R),{...E,chats:z,activeChatId:R.id}})}),yt=L(async(h,v)=>{Re(h);let R=v&&v.length>0?await Ye(v):void 0,{contextPart:E,attachments:z}=await le(h);ue({role:"user",parts:[{type:"text",text:h},...E?[E]:[],...R??[],...z]}),x(),n("")}),jt=L(()=>{t(null),n(""),u(""),S(),x()}),St=L(()=>{F((0,o.jsx)(Ur,{onClose:U}))}),Ct=L(async(h,v)=>{var ke;let R=P[h],E=((ke=R.parts)==null?void 0:ke.filter(Ie=>Ie.type==="file"&&!ir(Ie)))??[],{contextPart:z,attachments:V}=await le(v),Et=R.id;ue({messageId:Et,role:"user",parts:[{type:"text",text:v},...z?[z]:[],...E,...V]})}),Nt=L(async(h,v)=>{var V;if(!v.trim())return;(V=y.current)!=null&&V.view&&Oe(y.current.view);let R=p?await Ye(p):void 0,{contextPart:E,attachments:z}=await le(v);h==null||h.preventDefault(),Ae([{type:"text",text:v},...E?[E]:[],...R??[],...z]),n(""),x()}),At=()=>{ft()},Rt=L(()=>{var h;i.trim()&&((h=C.current)!=null&&h.view&&Oe(C.current.view),yt(i.trim(),p))}),Tt=()=>{var h,v;return(v=(h=C.current)==null?void 0:h.editor)==null?void 0:v.blur()},Te=L(async h=>{H??(Re(h),n(i));let{contextPart:v,attachments:R}=await le(h);Ae([{type:"text",text:h},...v?[v]:[],...R])}),Z=P.length===0;(0,m.useEffect)(()=>{if(!l)return;s(null);let{prompt:h,submit:v}=l;v?Te(h):Z?(u(h),De(C)):(n(h),De(y))},[l,s,Z,Te]);let Ee=Z?(0,o.jsx)(je,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:i,inputRef:C,inputClassName:"px-1 py-0",setInput:u,onSubmit:Rt,isLoading:M,onStop:pe,fileInputRef:I,onAddFiles:f,onClose:Tt},"new-thread-input"):(0,o.jsx)(je,{input:a,setInput:n,onSubmit:Nt,inputRef:y,isLoading:M,onStop:pe,onClose:()=>{var h,v;return(v=(h=y.current)==null?void 0:h.editor)==null?void 0:v.blur()},fileInputRef:I,onAddFiles:f}),_e=p&&p.length>0&&(0,o.jsx)("div",{className:J("flex flex-row gap-1 flex-wrap p-1",Z&&"py-2 px-1"),children:p==null?void 0:p.map(h=>(0,o.jsx)(jr,{file:h,onRemove:()=>g(h)},h.name))});return(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[(0,o.jsx)(He,{children:(0,o.jsx)(no,{onNewChat:jt,activeChatId:e==null?void 0:e.id,setActiveChat:t})}),(0,o.jsxs)("div",{className:"flex-1 flex flex-col overflow-hidden relative min-h-0",children:[(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:N,onScroll:wt,children:[Z&&(0,o.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[_e,Ee]}),(0,o.jsx)(io,{onPairWithAgent:St})]}),P.map((h,v)=>(0,o.jsx)(mt,{message:h,index:v,onEdit:Ct,isStreamingReasoning:bt,isLast:v===P.length-1,isActive:M,addToolApprovalResponse:vt},h.id)),w.map(h=>(0,o.jsx)(pt,{message:h},h.id)),M&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(qe,{className:"h-4 w-4 animate-spin"})}),oe&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(Or,{error:oe||Error("Unknown error")}),(0,o.jsx)($,{variant:"outline",size:"sm",onClick:At,children:"Retry"})]})]}),(0,o.jsx)(ar,{isVisible:!c&&(P.length>0||w.length>0),onScrollToBottom:()=>he(!0)})]}),M&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)($,{variant:"linkDestructive",size:"sm",onClick:pe,children:"Stop"})}),!Z&&(0,o.jsxs)(o.Fragment,{children:[_e,Ee]})]})},po=co;function mo(r){return r.type==="text"}function ho(r){return r.text}function fo(r){return r.type==="file"}function xo(r,e){return(0,o.jsx)(Xe,{attachment:r},e)}function vo(r){return r.type==="text"}function go(r){return r.text}function wo(r){return r.type==="file"}function bo(r,e){return(0,o.jsx)(Xe,{attachment:r},e)}function yo(){}function jo(){}function So(r){return r.type==="text"}function Co(r){return r.text}function No(r){return(0,o.jsx)(Zt,{value:r.value,className:"text-xs py-1",children:(0,o.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,o.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,o.jsx)(r.Icon,{className:"h-3 w-3"})}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,o.jsx)("span",{className:"font-semibold",children:r.label}),(0,o.jsx)("span",{className:"text-muted-foreground",children:r.subtitle})]})]})},r.value)}export{po as default};
@@ -1,4 +1,4 @@
1
- import{s as W}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{vn as oe}from"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as me,R as ce,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{g as P,t as he}from"./useEventListener-C0195JsF.js";import{t as xe}from"./objects-BlG0ZrO0.js";import{t as X}from"./cn-DYvqRARy.js";import{t as fe}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{i as ge,l as be,r as Y,t as Z}from"./popover-Bcz1Zikb.js";import{a as ve,p as je,r as ye,t as Ne}from"./dropdown-menu-dHmZR8bI.js";import{t as B}from"./label-CqjrpwRC.js";import{t as K}from"./tooltip-4bZlU7jl.js";import{t as z}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{t as we}from"./strings--BknHX9C.js";import{t as _e}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ce}from"./bot-message-square-DTHo_4sQ.js";import{t as ke}from"./x-C-Eq0ag8.js";import"./markdown-renderer-sEayY9-m.js";import{u as Se}from"./toDate-Ct2FT81-.js";import{t as Re}from"./chat-display-Ccgk4vbE.js";import{H as Ae,I as qe,P as ze,R as Ee,U as Te,_ as De,m as Fe,n as He}from"./add-cell-with-ai-ByOBQT99.js";import{t as Me}from"./spinner-D-V4psAa.js";import{o as $e,r as Ie}from"./input-JxFwu-3G.js";import{t as Le}from"./settings-D_PiwXwo.js";import{t as Oe}from"./square-DFICx2Qv.js";import{t as Pe}from"./trash-2-72W0TZ3L.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as Ve}from"./uuid-ImXS-885.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{t as Je}from"./copy-icon-neDQUo4Q.js";import{r as Ke}from"./react-icons.esm-D4GMDkIf.js";import{t as Ge}from"./events-90X9nql5.js";import{n as Ue}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import{n as We}from"./useAsyncData-Bg5iAViP.js";import"./esm-B30N1GS0.js";var Xe=_e("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),G=ue(),t=W(fe(),1),j=W(le(),1),Ye=be,Ze=me({type:de("stream_chunk"),message_id:ce(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Be=s=>{var U;let[e,o]=(0,j.useState)(""),[d,f]=(0,j.useState)(s.config),[b,p]=(0,j.useState)(s.config),[i,g]=(0,j.useState)(void 0),x=(0,j.useRef)(null),v=(0,j.useRef)(null),y=(0,j.useRef)(null),m=(0,j.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,j.useRef)(d);l.current=d;let c=(0,j.useRef)(null),a=(0,j.useRef)(null),{data:u}=We(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:H,error:_,regenerate:A,clearError:C,addToolApprovalResponse:M}=ze({sendAutomaticallyWhen:({messages:r})=>De(r),transport:new qe({fetch:async(r,N)=>{var $;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let L=k.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
1
+ import{s as W}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{vn as oe}from"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as me,R as ce,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{g as P,t as he}from"./useEventListener-C0195JsF.js";import{t as xe}from"./objects-BlG0ZrO0.js";import{t as X}from"./cn-DYvqRARy.js";import{t as fe}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{i as ge,l as be,r as Y,t as Z}from"./popover-Bcz1Zikb.js";import{a as ve,p as je,r as ye,t as Ne}from"./dropdown-menu-dHmZR8bI.js";import{t as B}from"./label-CqjrpwRC.js";import{t as K}from"./tooltip-4bZlU7jl.js";import{t as z}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{t as we}from"./strings--BknHX9C.js";import{t as _e}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ce}from"./bot-message-square-DTHo_4sQ.js";import{t as ke}from"./x-C-Eq0ag8.js";import"./markdown-renderer-sEayY9-m.js";import{u as Se}from"./toDate-Ct2FT81-.js";import{t as Re}from"./chat-display-CX7zz7Iy.js";import{H as Ae,I as qe,P as ze,R as Ee,U as Te,_ as De,m as Fe,n as He}from"./add-cell-with-ai-C38rS_Vb.js";import{t as Me}from"./spinner-D-V4psAa.js";import{o as $e,r as Ie}from"./input-JxFwu-3G.js";import{t as Le}from"./settings-D_PiwXwo.js";import{t as Oe}from"./square-DFICx2Qv.js";import{t as Pe}from"./trash-2-72W0TZ3L.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import{t as Ve}from"./uuid-ImXS-885.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import{t as Je}from"./copy-icon-neDQUo4Q.js";import{r as Ke}from"./react-icons.esm-D4GMDkIf.js";import{t as Ge}from"./events-90X9nql5.js";import{n as Ue}from"./error-banner-BSxEOIn2.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import{n as We}from"./useAsyncData-Bg5iAViP.js";import"./esm-B30N1GS0.js";var Xe=_e("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),G=ue(),t=W(fe(),1),j=W(le(),1),Ye=be,Ze=me({type:de("stream_chunk"),message_id:ce(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Be=s=>{var U;let[e,o]=(0,j.useState)(""),[d,f]=(0,j.useState)(s.config),[b,p]=(0,j.useState)(s.config),[i,g]=(0,j.useState)(void 0),x=(0,j.useRef)(null),v=(0,j.useRef)(null),y=(0,j.useRef)(null),m=(0,j.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,j.useRef)(d);l.current=d;let c=(0,j.useRef)(null),a=(0,j.useRef)(null),{data:u}=We(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:H,error:_,regenerate:A,clearError:C,addToolApprovalResponse:M}=ze({sendAutomaticallyWhen:({messages:r})=>De(r),transport:new qe({fetch:async(r,N)=>{var $;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let L=k.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
2
2
  `)}}),O=Ve(),ne=new ReadableStream({start(F){c.current=F,a.current=O;let E=()=>{try{F.close()}catch(I){P.debug("Controller may already be closed",{error:I})}c.current=null,a.current=null,s.cancel_prompt({request_id:O}).catch(I=>{P.debug("cancel_prompt failed",{error:I})})};return S==null||S.addEventListener("abort",E),()=>{S==null||S.removeEventListener("abort",E)}},cancel(){c.current=null,a.current=null}});return s.send_prompt({request_id:O,messages:L,config:J}).catch(F=>{var E;(E=c.current)==null||E.error(F),c.current=null,a.current=null}),Ee({stream:ne})}catch(L){if(L instanceof Error&&L.name==="AbortError")return new Response("Aborted",{status:499});let O=($=L.message)==null?void 0:$.split("failed with exception ").pop();return new Response(O,{status:400})}}}),messages:n,onFinish:r=>{g(void 0),x.current&&(x.current.value=""),P.debug("Finished streaming message:",r),s.setValue(r.messages)},onError:r=>{P.error("An error occurred:",r)}});he(s.host,Ge.TYPE,r=>{let N=Ze.safeParse(r.detail.message);N.success&&Q(N.data,{controllerRef:c,activeRequestIdRef:a})});let T=R==="submitted"||R==="streaming",ee=r=>{let N=h.findIndex(k=>k.id===r);if(N!==-1){let k=h.filter(S=>S.id!==r);s.delete_chat_message({index:N}),q(k),s.setValue(k)}},te=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,se={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},re=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,j.useEffect)(()=>{var r;(r=m.current)==null||r.scrollTo({top:m.current.scrollHeight,behavior:"smooth"})},[h.length,m]);let D=(U=y.current)==null?void 0:U.view,ae=()=>{if(D){let r=D.state.doc.length;D.dispatch({changes:{from:0,to:r,insert:""}})}o("")};return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative",style:{maxHeight:s.maxHeight},children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg",children:(0,t.jsx)(z,{variant:"text",size:"icon",disabled:h.length===0,onClick:()=>{q([]),s.setValue([]),s.delete_chat_history({}),C()},children:(0,t.jsx)(Xe,{className:"h-3 w-3"})})}),(0,t.jsxs)("div",{className:"grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col",ref:m,children:[h.length===0&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4",children:[(0,t.jsx)(Ce,{className:"h-12 w-12 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No messages yet"}),(0,t.jsx)("p",{className:"text-sm",children:"Start a conversation by typing a message below."})]}),h.map((r,N)=>{var J;let k=(J=r.parts)==null?void 0:J.filter($=>$.type==="text").map($=>$.text).join(`
3
3
  `),S=N===h.length-1;return(0,t.jsxs)("div",{className:X("flex flex-col group gap-2",r.role==="user"?"items-end":"items-start"),children:[(0,t.jsx)("div",{className:`max-w-[80%] p-3 rounded-lg ${r.role==="user"?"bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap":"bg-(--slate-4) text-(--slate-12)"}`,children:Re({message:r,isStreamingReasoning:R==="streaming",isLast:S,isActive:T,addToolApprovalResponse:S?M:void 0})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(Je,{value:k,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>ee(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)(Pe,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${N}`)}),T&&(0,t.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,t.jsx)(Me,{size:"small"})}),_&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Ue,{error:_}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>A(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let N=i?await Fe(i):void 0;w({role:"user",parts:[{type:"text",text:e},...N??[]]}),ae()},ref:v,inert:s.disabled||void 0,className:X("flex w-full border-t border-(--slate-6) px-2 py-1 items-center",s.disabled&&"opacity-50 cursor-not-allowed"),children:[s.showConfigurationControls&&(0,t.jsx)(Qe,{config:d,onChange:f}),s.prompts.length>0&&(0,t.jsx)(et,{prompts:s.prompts,onSelect:r=>{o(r),requestAnimationFrame(()=>{D==null||D.focus(),oe(D)})}}),(0,t.jsx)(He,{className:"rounded-sm mr-2",placeholder:re,value:e,inputRef:y,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:o,onSubmit:(r,N)=>{var k;N.trim()&&((k=v.current)==null||k.requestSubmit())},onClose:()=>{},additionalCompletions:se}),i&&i.length===1&&(0,t.jsx)("span",{title:i[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:i[0].name}),i&&i.length>1&&(0,t.jsxs)("span",{title:[...i].map(r=>r.name).join(`
4
4
  `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[i.length," files"]}),i&&i.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{g(void 0),x.current&&(x.current.value="")},children:(0,t.jsx)(ke,{className:"size-3"})}),te&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=x.current)==null?void 0:r.click()},children:(0,t.jsx)(Te,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:x,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&g([...r.target.files])}})]}),T?(0,t.jsx)(K,{content:"Stop generating",children:(0,t.jsx)(z,{type:"button",variant:"link",size:"xs",onClick:()=>H(),className:"text-(--red-9) hover:text-(--red-11)",children:(0,t.jsx)(Oe,{className:"h-4 w-4 fill-current"})})}):(0,t.jsx)(z,{type:"submit",disabled:!e,variant:"outline",size:"xs",className:"text-(--slate-11)","aria-label":"Send message",children:(0,t.jsx)(Ae,{className:"h-4 w-4"})})]})]})};var V={max_tokens:{min:1,max:4096,description:"Maximum number of tokens to generate"},temperature:{min:0,max:2,step:.1,description:"Controls randomness (0: deterministic, 2: very random)"},top_p:{min:0,max:1,step:.1,description:"Nucleus sampling: probability mass to consider"},top_k:{min:1,max:100,description:"Top-k sampling: number of highest probability tokens to consider"},frequency_penalty:{min:-2,max:2,description:"Penalizes frequent tokens (-2: favor, 2: avoid)"},presence_penalty:{min:-2,max:2,description:"Penalizes new tokens (-2: favor, 2: avoid)"}},Qe=s=>{let e=(0,G.c)(16),{config:o,onChange:d}=s,[f,b]=(0,j.useState)(!1),p;e[0]!==o||e[1]!==d?(p=(a,u)=>{let n=u===null||Number.isNaN(u)?null:u;if(n!==null){let{min:h,max:w}=V[a];n=Math.max(h,Math.min(w,n))}d({...o,[a]:n})},e[0]=o,e[1]=d,e[2]=p):p=e[2];let i=p,g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=a=>{a.key==="Enter"&&(a.preventDefault(),b(!1))},e[3]=g):g=e[3];let x=g,v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(K,{content:"Configuration",children:(0,t.jsx)(ge,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Le,{className:"h-3 w-3"})})})}),e[4]=v):v=e[4];let y;e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=y):y=e[5];let m;if(e[6]!==o||e[7]!==i){let a;e[9]===i?a=e[10]:(a=u=>{let[n,h]=u;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(B,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[we.startCase(n),(0,t.jsx)(K,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:V[n].description}),children:(0,t.jsx)(Se,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)($e,{id:n,"aria-label":n,value:h??NaN,placeholder:"null",minValue:V[n].min,maxValue:V[n].max,step:V[n].step??1,onChange:w=>i(n,w),onKeyDown:x,className:"col-span-3"})]},n)},e[9]=i,e[10]=a),m=xe.entries(o).map(a),e[6]=o,e[7]=i,e[8]=m}else m=e[8];let l;e[11]===m?l=e[12]:(l=(0,t.jsx)(Y,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[y,m]})}),e[11]=m,e[12]=l);let c;return e[13]!==f||e[14]!==l?(c=(0,t.jsxs)(Z,{open:f,onOpenChange:b,children:[v,l]}),e[13]=f,e[14]=l,e[15]=c):c=e[15],c},et=s=>{let e=(0,G.c)(18),{prompts:o,onSelect:d}=s,[f,b]=(0,j.useState)(!1),[p,i]=(0,j.useState)(""),g;e[0]===d?g=e[1]:(g=u=>{[...u.matchAll(/{{(\w+)}}/g)].length>0?(i(u),b(!0)):d(u)},e[0]=d,e[1]=g);let x=g,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(K,{content:"Select a prompt",children:(0,t.jsx)(je,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Ke,{className:"h-3 w-3"})})})}),e[2]=v):v=e[2];let y;if(e[3]!==x||e[4]!==o){let u;e[6]===x?u=e[7]:(u=(n,h)=>(0,t.jsx)(ve,{onSelect:()=>x(n),className:"whitespace-normal text-left",children:n},h),e[6]=x,e[7]=u),y=o.map(u),e[3]=x,e[4]=o,e[5]=y}else y=e[5];let m;e[8]===y?m=e[9]:(m=(0,t.jsx)(Ye,{children:(0,t.jsxs)(Ne,{children:[v,(0,t.jsx)(ye,{side:"right",align:"end",onCloseAutoFocus:st,className:"w-64 max-h-96 overflow-y-auto",children:y})]})}),e[8]=y,e[9]=m);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>b(!1),e[10]=l):l=e[10];let c;e[11]!==d||e[12]!==p?(c=(0,t.jsx)(Y,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(tt,{prompt:p,onClose:l,onSelect:d})}),e[11]=d,e[12]=p,e[13]=c):c=e[13];let a;return e[14]!==f||e[15]!==m||e[16]!==c?(a=(0,t.jsxs)(Z,{open:f,onOpenChange:b,children:[m,c]}),e[14]=f,e[15]=m,e[16]=c,e[17]=a):a=e[17],a},tt=s=>{let e=(0,G.c)(32),{prompt:o,onClose:d,onSelect:f}=s,b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={},e[0]=b):b=e[0];let[p,i]=(0,j.useState)(b),g,x;e[1]===o?(g=e[2],x=e[3]):(g=()=>{i([...o.matchAll(/{{(\w+)}}/g)].reduce(rt,{}))},x=[o],e[1]=o,e[2]=g,e[3]=x),(0,j.useEffect)(g,x);let v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=(_,A)=>{i(C=>({...C,[_]:A}))},e[4]=v):v=e[4];let y=v,m;if(e[5]!==o||e[6]!==p){let _;e[8]===Symbol.for("react.memo_cache_sentinel")?(_=/{{(\w+)}}/g,e[8]=_):_=e[8];let A;e[9]===p?A=e[10]:(A=(C,M)=>p[M]||`{{${M}}}`,e[9]=p,e[10]=A),m=o.replaceAll(_,A),e[5]=o,e[6]=p,e[7]=m}else m=e[7];let l=m,c;e[11]===p?c=e[12]:(c=Object.values(p).some(at),e[11]=p,e[12]=c);let a=c,u;e[13]!==d||e[14]!==f||e[15]!==l?(u=()=>{f(l),d()},e[13]=d,e[14]=f,e[15]=l,e[16]=u):u=e[16];let n=u,h;e[17]===p?h=e[18]:(h=Object.entries(p),e[17]=p,e[18]=h);let w;e[19]!==n||e[20]!==a||e[21]!==h?(w=h.map((_,A)=>{let[C,M]=_;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(B,{htmlFor:C,className:"font-semibold text-base",children:C}),(0,t.jsx)(Ie,{id:C,value:M,onChange:T=>y(C,T.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${C}`,autoFocus:A===0,onKeyDown:T=>{T.key==="Enter"&&!a&&n()}})]},C)}),e[19]=n,e[20]=a,e[21]=h,e[22]=w):w=e[22];let q;e[23]===l?q=e[24]:(q=(0,t.jsx)("div",{className:"grid gap-2 prose dark:prose-invert",children:(0,t.jsx)("blockquote",{className:"text-sm",children:l})}),e[23]=l,e[24]=q);let R;e[25]!==n||e[26]!==a?(R=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=R):R=e[27];let H;return e[28]!==q||e[29]!==R||e[30]!==w?(H=(0,t.jsxs)("div",{className:"grid gap-4",children:[w,q,R]}),e[28]=q,e[29]=R,e[30]=w,e[31]=H):H=e[31],H};function st(s){return s.preventDefault()}function rt(s,e){return s[e[1]]="",s}function at(s){return s==null||s.trim()===""}export{Be as Chatbot,Q as routeIncomingChatChunk};
@@ -1 +1 @@
1
- import{s as q}from"./chunk-LvLJmgfZ.js";import{u as F}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{$r as $,E as G,Jr as H,Qr as D}from"./cells-DzyDERZy.js";import{t as K}from"./compiler-runtime-B3qBwwSJ.js";import{c as U}from"./utils-BWBBpCkT.js";import{t as V}from"./jsx-runtime-Blw4afVn.js";import{_t as W,c as X,d as Y}from"./JsonOutput-C08yZPMz.js";import{t as L}from"./tooltip-4bZlU7jl.js";import{r as A,t as I}from"./button-DDGiD1NW.js";import{r as Z}from"./requests-9-v2bhoi.js";import{t as ee}from"./createLucideIcon-w-Qo9n0R.js";import{t as te}from"./useLifecycle-lLOBhc-1.js";import{t as ae}from"./spinner-D-V4psAa.js";import{r as re}from"./useTheme-Bxv9B31g.js";import{t as se}from"./copy-icon-neDQUo4Q.js";import{t as oe}from"./context-BFPaAUK_.js";import{i as ne}from"./numbers-rmawRqQP.js";import{n as ce}from"./html-to-image-JaxFFZcr.js";import{o as le}from"./focus-CNKbm-Xz.js";var P=ee("square-plus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),M=K(),ie=q(R(),1),s=q(V(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=Z(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:$(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,B=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(I,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",B,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&E(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(J,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,w;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(w=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=w):w=e[45];let z=w;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let v;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(v=(0,s.jsxs)(Y,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=v):v=e[52],v};function O({error:i,missingPackages:e,refetchPreview:t}){return(0,s.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,s.jsx)("span",{children:i}),e&&(0,s.jsx)(X,{packages:e,showMaxPackages:1,className:"w-32",onInstall:t})]})}function Q({stats:i,dataType:e,locale:t}){return(0,s.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(i).map(([a,r])=>r==null?null:(0,s.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,s.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:H(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function E(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(W,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const J=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=F(U),r=le(),{createNewCell:c}=G(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,E as r,J as t};
1
+ import{s as q}from"./chunk-LvLJmgfZ.js";import{u as F}from"./useEvent-D91BmmQi.js";import{t as R}from"./react-Bj1aDYRI.js";import{$r as $,E as G,Jr as H,Qr as D}from"./cells-DzyDERZy.js";import{t as K}from"./compiler-runtime-B3qBwwSJ.js";import{c as U}from"./utils-BWBBpCkT.js";import{t as V}from"./jsx-runtime-Blw4afVn.js";import{f as W,l as X,vt as Y}from"./JsonOutput-BIwD6Z9Y.js";import{t as L}from"./tooltip-4bZlU7jl.js";import{r as A,t as I}from"./button-DDGiD1NW.js";import{r as Z}from"./requests-9-v2bhoi.js";import{t as ee}from"./createLucideIcon-w-Qo9n0R.js";import{t as te}from"./useLifecycle-lLOBhc-1.js";import{t as ae}from"./spinner-D-V4psAa.js";import{r as re}from"./useTheme-Bxv9B31g.js";import{t as se}from"./copy-icon-neDQUo4Q.js";import{t as oe}from"./context-BFPaAUK_.js";import{i as ne}from"./numbers-rmawRqQP.js";import{n as ce}from"./html-to-image-JaxFFZcr.js";import{o as le}from"./focus-CNKbm-Xz.js";var P=ee("square-plus",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M8 12h8",key:"1wcyev"}],["path",{d:"M12 8v8",key:"napkw2"}]]),M=K(),ie=q(R(),1),s=q(V(),1);const me=i=>{let e=(0,M.c)(53),{table:t,column:a,preview:r,onAddColumnChart:c,sqlTableContext:n}=i,{theme:u}=re(),{previewDatasetColumn:l}=Z(),{locale:d}=oe(),m;e[0]!==a.name||e[1]!==l||e[2]!==n||e[3]!==t.name||e[4]!==t.source||e[5]!==t.source_type?(m=()=>{l({source:t.source,tableName:t.name,columnName:a.name,sourceType:t.source_type,fullyQualifiedTableName:$(n,t.name)})},e[0]=a.name,e[1]=l,e[2]=n,e[3]=t.name,e[4]=t.source,e[5]=t.source_type,e[6]=m):m=e[6];let p=m,h;if(e[7]!==r||e[8]!==p||e[9]!==t.source_type?(h=()=>{r||t.source_type==="connection"||t.source_type==="catalog"||p()},e[7]=r,e[8]=p,e[9]=t.source_type,e[10]=h):h=e[10],te(h),t.source_type==="connection"){let o=a.name,B=a.external_type,x;e[11]!==a.name||e[12]!==c||e[13]!==n||e[14]!==t?(x=A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),e[11]=a.name,e[12]=c,e[13]=n,e[14]=t,e[15]=x):x=e[15];let C;e[16]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(P,{className:"h-3 w-3 mr-1"}),e[16]=C):C=e[16];let f;e[17]===x?f=e[18]:(f=(0,s.jsxs)(I,{variant:"outline",size:"xs",onClick:x,children:[C," Add SQL cell"]}),e[17]=x,e[18]=f);let S;return e[19]!==a.external_type||e[20]!==a.name||e[21]!==f?(S=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[o," (",B,")",f]}),e[19]=a.external_type,e[20]=a.name,e[21]=f,e[22]=S):S=e[22],S}if(t.source_type==="catalog"){let o;return e[23]!==a.external_type||e[24]!==a.name?(o=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[a.name," (",a.external_type,")"]}),e[23]=a.external_type,e[24]=a.name,e[25]=o):o=e[25],o}if(!r){let o;return e[26]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=o):o=e[26],o}let g;e[27]!==r.error||e[28]!==r.missing_packages||e[29]!==p?(g=r.error&&O({error:r.error,missingPackages:r.missing_packages,refetchPreview:p}),e[27]=r.error,e[28]=r.missing_packages,e[29]=p,e[30]=g):g=e[30];let y=g,_;e[31]!==a.type||e[32]!==d||e[33]!==r.stats?(_=r.stats&&Q({stats:r.stats,dataType:a.type,locale:d}),e[31]=a.type,e[32]=d,e[33]=r.stats,e[34]=_):_=e[34];let b=_,j;e[35]!==r.chart_spec||e[36]!==u?(j=r.chart_spec&&E(r.chart_spec,u),e[35]=r.chart_spec,e[36]=u,e[37]=j):j=e[37];let N=j,k;e[38]!==r.chart_code||e[39]!==t.source_type?(k=r.chart_code&&t.source_type==="local"&&(0,s.jsx)(J,{chartCode:r.chart_code}),e[38]=r.chart_code,e[39]=t.source_type,e[40]=k):k=e[40];let T=k,v;e[41]!==a.name||e[42]!==c||e[43]!==n||e[44]!==t?(v=t.source_type==="duckdb"&&(0,s.jsx)(L,{content:"Add SQL cell",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:A.stopPropagation(()=>{c(D({table:t,columnName:a.name,sqlTableContext:n}))}),children:(0,s.jsx)(P,{className:"h-3 w-3"})})}),e[41]=a.name,e[42]=c,e[43]=n,e[44]=t,e[45]=v):v=e[45];let z=v;if(!y&&!b&&!N){let o;return e[46]===Symbol.for("react.memo_cache_sentinel")?(o=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=o):o=e[46],o}let w;return e[47]!==T||e[48]!==z||e[49]!==N||e[50]!==y||e[51]!==b?(w=(0,s.jsxs)(W,{children:[y,T,z,N,b]}),e[47]=T,e[48]=z,e[49]=N,e[50]=y,e[51]=b,e[52]=w):w=e[52],w};function O({error:i,missingPackages:e,refetchPreview:t}){return(0,s.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,s.jsx)("span",{children:i}),e&&(0,s.jsx)(X,{packages:e,showMaxPackages:1,className:"w-32",onInstall:t})]})}function Q({stats:i,dataType:e,locale:t}){return(0,s.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(i).map(([a,r])=>r==null?null:(0,s.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,s.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:H(a,e)}),(0,s.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:ne(r,t)}),(0,s.jsx)(se,{className:"h-3 w-3 invisible group-hover:visible",value:String(r)})]},a))})}var pe=(0,s.jsx)("div",{className:"flex justify-center",children:(0,s.jsx)(ae,{className:"size-4"})});function E(i,e){let t=a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}});return(0,s.jsx)(ie.Suspense,{fallback:pe,children:(0,s.jsx)(Y,{"data-container-width":"container",spec:t(JSON.parse(i)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const J=i=>{let e=(0,M.c)(10),{chartCode:t}=i,a=F(U),r=le(),{createNewCell:c}=G(),n;e[0]!==a||e[1]!==c||e[2]!==r?(n=p=>{p.includes("alt")&&ce({autoInstantiate:a,createNewCell:c,fromCellId:r}),c({code:p,before:!1,cellId:r??"__end__"})},e[0]=a,e[1]=c,e[2]=r,e[3]=n):n=e[3];let u=n,l;e[4]!==t||e[5]!==u?(l=A.stopPropagation(()=>u(t)),e[4]=t,e[5]=u,e[6]=l):l=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsx)(P,{className:"h-3 w-3"}),e[7]=d):d=e[7];let m;return e[8]===l?m=e[9]:(m=(0,s.jsx)(L,{content:"Add chart to notebook",delayDuration:400,children:(0,s.jsx)(I,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:l,children:d})}),e[8]=l,e[9]=m),m};export{Q as a,O as i,me as n,P as o,E as r,J as t};
@@ -1 +1 @@
1
- import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-Bvqy98cI.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-DHxOnQGj.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-C08yZPMz.js";import"./download-BIGA4WFm.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-B8cCh91r.js";import{t as de}from"./useCellActionButton-D-uro4Di.js";import"./markdown-renderer-sEayY9-m.js";import{a as pe,c as se,t as me}from"./useNotebookActions-Cm5GAHUD.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as he}from"./useHotkey-DLZvrRZT.js";import"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import{r as ce}from"./focus-CNKbm-Xz.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as ye,c as fe,i as B,l as z,n as ue,o as J,r as be,s as ge}from"./command-Dqxie4gq.js";import{t as L}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-B-aj1KH3.js";import"./multi-icon-nrKPWjDU.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";var ke=U(),we=3;function Ce(){let e=(0,ke.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,d]=se("marimo:commands",l),s;e[1]!==o||e[2]!==d?(s=u=>{d(xe([u,...o]).slice(0,we))},e[1]=o,e[2]=d,e[3]=s):s=e[3];let r;return e[4]!==o||e[5]!==s?(r={recentCommands:o,addRecentCommand:s},e[4]=o,e[5]=s,e[6]=r):r=e[6],r}function xe(e){return[...new Set(e)]}function Q(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(o=>o.label?Q(o)?T(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var je=U();function Se(){let e=(0,je.c)(75),[l,o]=ie(),[d,s]=ae(),{saveAppConfig:r,saveUserConfig:u}=ne(),D;e[0]!==u||e[1]!==o?(D=async p=>{await u({config:p}).then(()=>{o(m=>({...m,...p}))})},e[0]=u,e[1]=o,e[2]=D):D=e[2];let t=D,F;e[3]!==r||e[4]!==s?(F=async p=>{await r({config:p}).then(()=>{s(p)})},e[3]=r,e[4]=s,e[5]=F):F=e[5];let N=F,G;if(e[6]!==d||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==N||e[11]!==t){let p;e[13]===d?p=e[14]:(p=q=>q!==d.width,e[13]=d,e[14]=p);let m;e[15]!==d||e[16]!==N?(m=q=>({label:`App config > Set width=${q}`,handle:()=>{N({...d,width:q})}}),e[15]=d,e[16]=N,e[17]=m):m=e[17];let j;e[18]!==l.display||e[19]!==t?(j={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=j):j=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let S;e[24]!==l.display||e[25]!==t?(S={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=S):S=e[26];let R=l.keymap.preset==="vim",_;e[27]!==l.keymap||e[28]!==t?(_=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=_):_=e[29];let v;e[30]!==R||e[31]!==_?(v={label:"Config > Switch keymap to VIM",hidden:R,handle:_},e[30]=R,e[31]=_,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",E;e[42]!==k||e[43]!==w?(E={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=E):E=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let O=l.completion.copilot==="github",I;e[48]!==C||e[49]!==O?(I={label:"Config > Enable GitHub Copilot",handle:C,hidden:O},e[48]=C,e[49]=O,e[50]=I):I=e[50];let $=!l.display.reference_highlighting,x;e[51]!==l.display||e[52]!==t?(x=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=x):x=e[53];let y;e[54]!==$||e[55]!==x?(y={label:"Config > Disable reference highlighting",hidden:$,handle:x},e[54]=$,e[55]=x,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Set cell output area: above",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.cell_output==="below",M;e[69]!==l.display||e[70]!==t?(M=()=>{t({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=t,e[71]=M):M=e[71];let P;e[72]!==f||e[73]!==M?(P={label:"Config > Set cell output area: below",hidden:f,handle:M},e[72]=f,e[73]=M,e[74]=P):P=e[74],G=[...Y().filter(p).map(m),j,b,S,v,c,E,I,y,H,A,P].filter(_e),e[6]=d,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=N,e[11]=t,e[12]=G}else G=e[12];return G}function _e(e){return!e.hidden}var ve=U(),n=W(re(),1),Ke=()=>{let e=(0,ve.c)(37),[l,o]=X(pe),d=he(),s=V(ce),r=V(oe),u;e[0]===s?u=e[1]:(u={cell:s},e[0]=s,e[1]=u);let D=de(u).flat();D=T(D);let t=Se(),F=me();F=[...T(F),...T(t)];let N=F.filter(He),G=te.keyBy(N,Ae),{recentCommands:p,addRecentCommand:m}=Ce(),j;e[2]===p?j=e[3]:(j=new Set(p),e[2]=p,e[3]=j);let b=j,S;e[4]!==r||e[5]!==o?(S=i=>{Z(r.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Me))},e[4]=r,e[5]=o,e[6]=S):S=e[6],ee(document,"keydown",S);let R;e[7]!==m||e[8]!==r||e[9]!==d||e[10]!==o?(R=(i,a)=>{let A=d[i];if(!A)return null;let f=r.getHotkey(i);return(0,n.jsxs)(J,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,n.jsxs)("span",{children:[f.name,a.tooltip&&(0,n.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:f.key})})]},i)},e[7]=m,e[8]=r,e[9]=d,e[10]=o,e[11]=R):R=e[11];let _=R,v;e[12]!==m||e[13]!==r||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:M,additionalKeywords:P}=i,q=f===void 0?{}:f;return(0,n.jsxs)(J,{disabled:q.disabled,keywords:P,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,n.jsxs)("span",{children:[a,q.tooltip&&(0,n.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),M&&(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:r.getHotkey(M).key})})]},a)},e[12]=m,e[13]=r,e[14]=o,e[15]=v):v=e[15];let K=v,g=ue,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)(ye,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=ge,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)(be,{children:"No results found."}),e[17]=w):w=e[17];let E=p.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(B,{heading:"Recently Used",children:p.map(i=>{let a=G[i];return le(i)?_(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!Q(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,n.jsx)(fe,{})]}),C=B,O=r.iterate().map(i=>{if(b.has(i))return null;let a=G[i];return _(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),I=N.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),$;e[18]!==b||e[19]!==K?($=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=$):$=e[20];let x=D.map($),y;e[21]!==C||e[22]!==I||e[23]!==x||e[24]!==O?(y=(0,n.jsxs)(C,{heading:"Commands",children:[O,I,x]}),e[21]=C,e[22]=I,e[23]=x,e[24]=O,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==E?(h=(0,n.jsxs)(k,{children:[w,E,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=E,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,n.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function He(e){return!e.hotkey}function Ae(e){return e.label}function Me(e){return!e}export{Ke as default};
1
+ import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-DzyDERZy.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-Bvqy98cI.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-DHxOnQGj.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-BIwD6Z9Y.js";import"./download-BIGA4WFm.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-rWti2H65.js";import{t as de}from"./useCellActionButton-D-uro4Di.js";import"./markdown-renderer-sEayY9-m.js";import{a as pe,c as se,t as me}from"./useNotebookActions-DDDJKVxq.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as he}from"./useHotkey-DLZvrRZT.js";import"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import"./html-to-image-JaxFFZcr.js";import{r as ce}from"./focus-CNKbm-Xz.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as ye,c as fe,i as B,l as z,n as ue,o as J,r as be,s as ge}from"./command-Dqxie4gq.js";import{t as L}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-B-aj1KH3.js";import"./multi-icon-nrKPWjDU.js";import"./dist-D5ToCtv8.js";import"./dist-D35OyUMQ.js";import"./dist-ByK00N0T.js";import"./dist-C5kf6g-d.js";import"./dist-BaKJ0-Tb.js";import"./dist-DNGKAtWk.js";import"./dist-56ul6-mm.js";import"./dist-3N7-WLqi.js";import"./dist-CM-lWxt3.js";import"./esm-Cmv0Nuxi.js";var ke=U(),we=3;function Ce(){let e=(0,ke.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,d]=se("marimo:commands",l),s;e[1]!==o||e[2]!==d?(s=u=>{d(xe([u,...o]).slice(0,we))},e[1]=o,e[2]=d,e[3]=s):s=e[3];let r;return e[4]!==o||e[5]!==s?(r={recentCommands:o,addRecentCommand:s},e[4]=o,e[5]=s,e[6]=r):r=e[6],r}function xe(e){return[...new Set(e)]}function Q(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(o=>o.label?Q(o)?T(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var je=U();function Se(){let e=(0,je.c)(75),[l,o]=ie(),[d,s]=ae(),{saveAppConfig:r,saveUserConfig:u}=ne(),D;e[0]!==u||e[1]!==o?(D=async p=>{await u({config:p}).then(()=>{o(m=>({...m,...p}))})},e[0]=u,e[1]=o,e[2]=D):D=e[2];let t=D,F;e[3]!==r||e[4]!==s?(F=async p=>{await r({config:p}).then(()=>{s(p)})},e[3]=r,e[4]=s,e[5]=F):F=e[5];let N=F,G;if(e[6]!==d||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==N||e[11]!==t){let p;e[13]===d?p=e[14]:(p=q=>q!==d.width,e[13]=d,e[14]=p);let m;e[15]!==d||e[16]!==N?(m=q=>({label:`App config > Set width=${q}`,handle:()=>{N({...d,width:q})}}),e[15]=d,e[16]=N,e[17]=m):m=e[17];let j;e[18]!==l.display||e[19]!==t?(j={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=j):j=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let S;e[24]!==l.display||e[25]!==t?(S={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=S):S=e[26];let R=l.keymap.preset==="vim",_;e[27]!==l.keymap||e[28]!==t?(_=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=_):_=e[29];let v;e[30]!==R||e[31]!==_?(v={label:"Config > Switch keymap to VIM",hidden:R,handle:_},e[30]=R,e[31]=_,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",E;e[42]!==k||e[43]!==w?(E={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=E):E=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let O=l.completion.copilot==="github",I;e[48]!==C||e[49]!==O?(I={label:"Config > Enable GitHub Copilot",handle:C,hidden:O},e[48]=C,e[49]=O,e[50]=I):I=e[50];let $=!l.display.reference_highlighting,x;e[51]!==l.display||e[52]!==t?(x=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=x):x=e[53];let y;e[54]!==$||e[55]!==x?(y={label:"Config > Disable reference highlighting",hidden:$,handle:x},e[54]=$,e[55]=x,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Set cell output area: above",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.cell_output==="below",M;e[69]!==l.display||e[70]!==t?(M=()=>{t({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=t,e[71]=M):M=e[71];let P;e[72]!==f||e[73]!==M?(P={label:"Config > Set cell output area: below",hidden:f,handle:M},e[72]=f,e[73]=M,e[74]=P):P=e[74],G=[...Y().filter(p).map(m),j,b,S,v,c,E,I,y,H,A,P].filter(_e),e[6]=d,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=N,e[11]=t,e[12]=G}else G=e[12];return G}function _e(e){return!e.hidden}var ve=U(),n=W(re(),1),Ke=()=>{let e=(0,ve.c)(37),[l,o]=X(pe),d=he(),s=V(ce),r=V(oe),u;e[0]===s?u=e[1]:(u={cell:s},e[0]=s,e[1]=u);let D=de(u).flat();D=T(D);let t=Se(),F=me();F=[...T(F),...T(t)];let N=F.filter(He),G=te.keyBy(N,Ae),{recentCommands:p,addRecentCommand:m}=Ce(),j;e[2]===p?j=e[3]:(j=new Set(p),e[2]=p,e[3]=j);let b=j,S;e[4]!==r||e[5]!==o?(S=i=>{Z(r.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Me))},e[4]=r,e[5]=o,e[6]=S):S=e[6],ee(document,"keydown",S);let R;e[7]!==m||e[8]!==r||e[9]!==d||e[10]!==o?(R=(i,a)=>{let A=d[i];if(!A)return null;let f=r.getHotkey(i);return(0,n.jsxs)(J,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,n.jsxs)("span",{children:[f.name,a.tooltip&&(0,n.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:f.key})})]},i)},e[7]=m,e[8]=r,e[9]=d,e[10]=o,e[11]=R):R=e[11];let _=R,v;e[12]!==m||e[13]!==r||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:M,additionalKeywords:P}=i,q=f===void 0?{}:f;return(0,n.jsxs)(J,{disabled:q.disabled,keywords:P,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,n.jsxs)("span",{children:[a,q.tooltip&&(0,n.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),M&&(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:r.getHotkey(M).key})})]},a)},e[12]=m,e[13]=r,e[14]=o,e[15]=v):v=e[15];let K=v,g=ue,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)(ye,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=ge,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)(be,{children:"No results found."}),e[17]=w):w=e[17];let E=p.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(B,{heading:"Recently Used",children:p.map(i=>{let a=G[i];return le(i)?_(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!Q(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,n.jsx)(fe,{})]}),C=B,O=r.iterate().map(i=>{if(b.has(i))return null;let a=G[i];return _(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),I=N.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),$;e[18]!==b||e[19]!==K?($=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=$):$=e[20];let x=D.map($),y;e[21]!==C||e[22]!==I||e[23]!==x||e[24]!==O?(y=(0,n.jsxs)(C,{heading:"Commands",children:[O,I,x]}),e[21]=C,e[22]=I,e[23]=x,e[24]=O,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==E?(h=(0,n.jsxs)(k,{children:[w,E,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=E,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,n.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function He(e){return!e.hotkey}function Ae(e){return e.label}function Me(e){return!e}export{Ke as default};