@marimo-team/frontend 0.19.8-dev19 → 0.19.8-dev21

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 (31) hide show
  1. package/dist/assets/{JsonOutput-BSoo6rnn.js → JsonOutput-DsO4felE.js} +1 -1
  2. package/dist/assets/MarimoErrorOutput-DrTj9k_Z.js +7 -0
  3. package/dist/assets/{add-cell-with-ai-BN_m4VjP.js → add-cell-with-ai-CPu9tI-Q.js} +1 -1
  4. package/dist/assets/{agent-panel-CbBdQTaH.js → agent-panel-Dbh-hMbm.js} +1 -1
  5. package/dist/assets/{ai-model-dropdown-Bfoz25CZ.js → ai-model-dropdown-CODXtvnr.js} +4 -4
  6. package/dist/assets/{app-config-button-CrXbU4T9.js → app-config-button-BGuwQV5R.js} +1 -1
  7. package/dist/assets/{cell-editor-BAqUkTV8.js → cell-editor-BpkNlmop.js} +1 -1
  8. package/dist/assets/{chat-display-CKRYf3fp.js → chat-display-BnUDaREA.js} +1 -1
  9. package/dist/assets/{chat-panel-CYVu9MUa.js → chat-panel-BpDjUlzW.js} +1 -1
  10. package/dist/assets/{column-preview-DtEv_bAg.js → column-preview-Bz3KIcIX.js} +1 -1
  11. package/dist/assets/{command-palette-A_nn_y2h.js → command-palette-D8q355Sm.js} +1 -1
  12. package/dist/assets/{edit-page-COE4a7-G.js → edit-page-e6xxDbUd.js} +3 -3
  13. package/dist/assets/{error-panel-B1n50cDF.js → error-panel-BMcWP1VH.js} +1 -1
  14. package/dist/assets/{file-explorer-panel-Ctq6A5l_.js → file-explorer-panel-th-ny103.js} +1 -1
  15. package/dist/assets/{home-page-CyLRJEZg.js → home-page-Bgzw3IP3.js} +1 -1
  16. package/dist/assets/{hooks-DfBLwtVf.js → hooks-B_N-kbrq.js} +1 -1
  17. package/dist/assets/{index-Ud-15Gp2.js → index-U7La6ZBB.js} +3 -3
  18. package/dist/assets/{layout-DFhAD73H.js → layout-D7NLGhPa.js} +1 -1
  19. package/dist/assets/{packages-panel-BMqAMJxC.js → packages-panel-DsF1uf9X.js} +1 -1
  20. package/dist/assets/{panels-BPRD9NT1.js → panels-aWY9-L83.js} +1 -1
  21. package/dist/assets/{run-page-CPt0ml4p.js → run-page-DQU-eaKQ.js} +1 -1
  22. package/dist/assets/{scratchpad-panel-DJdZVxe5.js → scratchpad-panel-N4QLTtHb.js} +1 -1
  23. package/dist/assets/{session-panel-Bqe3Jmko.js → session-panel-Cof-5_26.js} +1 -1
  24. package/dist/assets/{useNotebookActions-DY_TVOaP.js → useNotebookActions-BEKXbrFJ.js} +1 -1
  25. package/dist/assets/{utilities.esm-D1YtU9uV.js → utilities.esm-AIy-_q0N.js} +1 -1
  26. package/dist/index.html +8 -8
  27. package/package.json +1 -1
  28. package/src/components/app-config/ai-config.tsx +11 -2
  29. package/src/utils/__tests__/url-parser.test.ts +22 -0
  30. package/src/utils/url-parser.ts +1 -1
  31. package/dist/assets/MarimoErrorOutput-CAX5i2GE.js +0 -7
@@ -1 +1 @@
1
- import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-BhXAndur.js";import{t as Z}from"./react-Bj1aDYRI.js";import{St as D}from"./cells-DbD2lYze.js";import{t as E}from"./compiler-runtime-B3qBwwSJ.js";import{G as $,S as ee,c as te,i as se,l as le,n as ae,u as oe}from"./ai-model-dropdown-Bfoz25CZ.js";import{C as ne,v as re,w as Q}from"./utils-YqBXNpsM.js";import{S as ie}from"./config-D2-Bw6QC.js";import{t as ce}from"./jsx-runtime-ZmTK25f3.js";import{t as de}from"./button-CZ3Cs4qb.js";import{l as R}from"./once-Bul8mtFs.js";import{r as U}from"./requests-B4FYHTZl.js";import{t as he}from"./createLucideIcon-BCdY6lG5.js";import{t as me}from"./x-ZP5cObgf.js";import{r as I}from"./input-DHHmNa19.js";import{t as B}from"./settings-OBbrbhij.js";import{a as L,c as M,d as A,g as xe,i as pe,l as F,o as P,p as fe,u as S}from"./textarea-8F9GOEGf.js";import{t as ue}from"./use-toast-T0_cQDma.js";import{l as Y}from"./select-B7bfltkI.js";import{t as G}from"./tooltip-C_WgOOcZ.js";import{o as je}from"./alert-dialog-Ctz24SMn.js";import{c as ve,l as ge,n as be,t as K}from"./dialog-tQELcltn.js";import{i as we,r as ye,t as Ne}from"./popover-B-131r4d.js";import{n as Ce}from"./useDebounce-B28kFfrM.js";import{n as ke}from"./ImperativeModal-DZr52ffu.js";import{t as O}from"./kbd-Cm6Ba9qg.js";import{t as _e}from"./links-7AQBmdyV.js";import{t as V}from"./Inputs-CbenuziM.js";var Se=he("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=E(),s=z(ce(),1);const Le=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=U(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Me,200)},e[0]=o,e[1]=w);let j=w;if(ie())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(je,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(me,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(V,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(G,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=E(),W=z(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=re(),{saveAppConfig:f}=U(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe(ne),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=xe(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=Ce(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(oe,{children:"Notebook Settings"}),(0,s.jsx)(le,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(H,{title:"Display",children:[(0,s.jsx)(M,{control:l.control,name:"width",render:He}),(0,s.jsx)(M,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(H,{title:"Custom Files",children:[(0,s.jsx)(M,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(M,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(H,{title:"Data",children:(0,s.jsx)(M,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(L,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(H,{title:"Exporting outputs",children:(0,s.jsx)(M,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var H=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(L,{children:(0,s.jsx)(Y,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee().map(qe)})}),(0,s.jsx)(A,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(L,{children:(0,s.jsx)(Y,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ue({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:te.map(We)})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var De=E();const Qe=t=>{let e=(0,De.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(ae),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(B,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(G,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(V,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)($,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(se,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(ge,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(we,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(B,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(ye,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(de,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(Ne,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
1
+ import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-BhXAndur.js";import{t as Z}from"./react-Bj1aDYRI.js";import{St as D}from"./cells-DbD2lYze.js";import{t as E}from"./compiler-runtime-B3qBwwSJ.js";import{G as $,S as ee,c as te,i as se,l as le,n as ae,u as oe}from"./ai-model-dropdown-CODXtvnr.js";import{C as ne,v as re,w as Q}from"./utils-YqBXNpsM.js";import{S as ie}from"./config-D2-Bw6QC.js";import{t as ce}from"./jsx-runtime-ZmTK25f3.js";import{t as de}from"./button-CZ3Cs4qb.js";import{l as R}from"./once-Bul8mtFs.js";import{r as U}from"./requests-B4FYHTZl.js";import{t as he}from"./createLucideIcon-BCdY6lG5.js";import{t as me}from"./x-ZP5cObgf.js";import{r as I}from"./input-DHHmNa19.js";import{t as B}from"./settings-OBbrbhij.js";import{a as L,c as M,d as A,g as xe,i as pe,l as F,o as P,p as fe,u as S}from"./textarea-8F9GOEGf.js";import{t as ue}from"./use-toast-T0_cQDma.js";import{l as Y}from"./select-B7bfltkI.js";import{t as G}from"./tooltip-C_WgOOcZ.js";import{o as je}from"./alert-dialog-Ctz24SMn.js";import{c as ve,l as ge,n as be,t as K}from"./dialog-tQELcltn.js";import{i as we,r as ye,t as Ne}from"./popover-B-131r4d.js";import{n as Ce}from"./useDebounce-B28kFfrM.js";import{n as ke}from"./ImperativeModal-DZr52ffu.js";import{t as O}from"./kbd-Cm6Ba9qg.js";import{t as _e}from"./links-7AQBmdyV.js";import{t as V}from"./Inputs-CbenuziM.js";var Se=he("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=E(),s=z(ce(),1);const Le=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=U(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Me,200)},e[0]=o,e[1]=w);let j=w;if(ie())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(je,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(me,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(V,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(G,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Me(){window.close()}var J=E(),W=z(Z(),1),Ae=100;const Fe=()=>{let t=(0,J.c)(37),[e,a]=re(),{saveAppConfig:f}=U(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=fe(ne),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=xe(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=Ce(j,Ae),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(oe,{children:"Notebook Settings"}),(0,s.jsx)(le,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(H,{title:"Display",children:[(0,s.jsx)(M,{control:l.control,name:"width",render:He}),(0,s.jsx)(M,{control:l.control,name:"app_title",render:Ee})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(H,{title:"Custom Files",children:[(0,s.jsx)(M,{control:l.control,name:"css_file",render:Ie}),(0,s.jsx)(M,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(H,{title:"Data",children:(0,s.jsx)(M,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-col gap-2",children:[(0,s.jsx)(L,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(R(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(D,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(R(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(H,{title:"Exporting outputs",children:(0,s.jsx)(M,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(pe,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var H=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function He(t){let{field:e}=t;return(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(L,{children:(0,s.jsx)(Y,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee().map(qe)})}),(0,s.jsx)(A,{})]})}function Ee(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function Ie(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(L,{children:(0,s.jsx)(I,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(F,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(L,{children:(0,s.jsx)(Y,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ue({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:te.map(We)})}),(0,s.jsx)(A,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var De=E();const Qe=t=>{let e=(0,De.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(ae),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(B,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(G,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(V,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(be,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)($,{children:(0,s.jsx)(ve,{children:"User settings"})}),(0,s.jsx)(se,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(ge,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(we,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Fe,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(B,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(ye,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(de,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(Ne,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Le as n,Se as r,Qe as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-aCueZs8k.js","./loro_wasm_bg-CdafknAX.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var nd=Object.defineProperty;var Ia=re=>{throw TypeError(re)};var rd=(re,q,ge)=>q in re?nd(re,q,{enumerable:!0,configurable:!0,writable:!0,value:ge}):re[q]=ge;var h=(re,q,ge)=>rd(re,typeof q!="symbol"?q+"":q,ge),od=(re,q,ge)=>q.has(re)||Ia("Cannot "+ge);var Fa=(re,q,ge)=>(od(re,q,"read from private field"),ge?ge.call(re):q.get(re)),La=(re,q,ge)=>q.has(re)?Ia("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,ge);import{s as Oa}from"./chunk-LvLJmgfZ.js";import{d as Da,f as br,i as Q,l as En,n as ue,p as _t,s as Nn,u as ce}from"./useEvent-BhXAndur.js";import{t as ad}from"./react-Bj1aDYRI.js";import{$ as id,Ar as sd,At as yr,B as Ua,Cr as ld,Ct as _a,Dr as cd,Gr as Ba,Hn as ud,It as dd,Lt as fd,Mt as wr,N as md,Nt as ja,Or as Pa,Pt as Ma,Q as vr,Qt as hd,R as Ra,Rt as pd,Sn as gd,Sr as bd,St as yd,U as Ga,V as Ja,Vt as kn,Wt as wd,Yt as vd,_n as Ed,a as Wa,an as Er,br as Nr,ct as Cn,d as Va,dt as Bt,en as Nd,fn as kd,kt as Cd,lt as Sd,m as kr,mr as xd,mt as Ad,ni as Sn,nn as Td,ot as Id,qr as Fd,st as Cr,tn as Ld,u as $a,ut as Od,vn as Dd,w as xn,y as nt,yn as Ud,z as _d,__tla as Bd}from"./cells-DbD2lYze.js";import{P as Ha,R as jd,k as Pd,w as Md}from"./zod-H_cgTO0M.js";import{t as Ge}from"./compiler-runtime-B3qBwwSJ.js";import{C as Rd,f as Gd,m as Jd,p as Wd,t as Vd,v as $d}from"./ai-model-dropdown-Bfoz25CZ.js";import{d as $e,f as Hd,l as Sr,n as qa}from"./hotkeys-BHHWjLlp.js";import{t as jt}from"./invariant-CAG_dYON.js";import{S as xr,h as za,m as qd,o as zd,p as Ka,s as Xa}from"./utils-YqBXNpsM.js";import{S as Kd,d as Xd,h as bt,o as Yd,r as Ya,x as Pt,y as Qa}from"./config-D2-Bw6QC.js";import{a as Qd,n as Za,t as Zd}from"./switch-BUKXfBTu.js";import{n as ef}from"./globals-BXYmO-WL.js";import{t as tf}from"./ErrorBoundary-B9Ifj8Jf.js";import{t as nf}from"./useEventListener-Cb-RVVEn.js";import{t as rf}from"./jsx-runtime-ZmTK25f3.js";import{r as Ar,t as He}from"./button-CZ3Cs4qb.js";import{t as lt}from"./cn-BKtXLv3a.js";import{$t as An,Bt as Tr,Ct as ei,Dt as of,E as af,Gt as sf,H as ti,I as lf,It as Tn,J as l,Jt as qe,P as cf,Pt as In,Rt as uf,St as Je,Ut as ct,V as ni,Vt as Mt,Xt as Rt,_ as df,a as ff,at as B,bt as mf,ct as ze,ft as hf,it as pf,jt as gf,lt as Fn,m as bf,pt as yf,qt as he,rt as H,st as wf,vt as vf,w as Ef,wt as Nf,yt as kf,zt as yt}from"./dist-DBwNzi3C.js";import{C as Cf,D as Sf,_ as xf,a as Af,c as Tf,n as Ir,r as If,v as Ff,x as Lf,y as Of}from"./dist-CtsanegT.js";import{E as Df,__tla as Uf}from"./JsonOutput-BSoo6rnn.js";import{c as ri,n as _f}from"./once-Bul8mtFs.js";import{t as Fr}from"./createReducer-B3rBsy4P.js";import{a as Bf,c as jf,f as Ln,h as Pf,i as Mf,l as Gt,n as oi,o as Rf,t as Gf}from"./dist-ChS0Dc_R.js";import{r as On,t as Jf}from"./requests-B4FYHTZl.js";import{t as Wf}from"./createLucideIcon-BCdY6lG5.js";import{r as ai,t as Vf,__tla as $f}from"./layout-DFhAD73H.js";import{O as Hf,S as ii,T as qf,_ as zf,a as si,k as Kf,n as Xf,o as Yf,r as li,s as Qf,x as Zf}from"./add-cell-with-ai-BN_m4VjP.js";import{t as em}from"./x-ZP5cObgf.js";import{r as tm}from"./download-CmdFQXRz.js";import{t as nm}from"./circle-check-DquVD4wZ.js";import{r as rm,t as om}from"./types-7nV0hgXj.js";import{n as ci}from"./spinner-DA8-7wQv.js";import{t as ui}from"./save-DZodxFnE.js";import{I as di,P as am}from"./input-DHHmNa19.js";import{a as im,i as sm,n as fi}from"./state-DlF73owK.js";import{t as lm}from"./preload-helper-DItdS47A.js";import{t as wt}from"./use-toast-T0_cQDma.js";import{n as Qe}from"./paths-Dfii2bN8.js";import{t as cm}from"./session-fBtIbMpB.js";import{r as um}from"./useTheme-CTORu22_.js";import{t as vt}from"./tooltip-C_WgOOcZ.js";import{r as dm,t as fm}from"./mode-CjmQoGEk.js";import{c as mi,i as hi,n as pi,r as mm}from"./dialog-tQELcltn.js";import{O as hm}from"./usePress-3CRs0fQg.js";import{a as pm,r as gm,t as bm}from"./popover-B-131r4d.js";import{n as gi}from"./ImperativeModal-DZr52ffu.js";import{r as ym}from"./errors-CPlNr33a.js";import{t as wm}from"./copy-DHrHayPa.js";import{a as vm}from"./useRunCells-BOowME8Z.js";import{t as X}from"./extends-BiFDv3jB.js";import{t as Jt}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Em}from"./kbd-Cm6Ba9qg.js";import{a as Lr}from"./useInstallPackage-xrG_Tm9T.js";import{a as Nm,o as km}from"./cell-link-BoOn0OpK.js";import{n as Cm}from"./useAsyncData-BMGLSTg8.js";import{a as Sm,o as bi,r as xm,s as yi,t as Am}from"./command-PbcrObnK.js";import{r as Tm}from"./html-to-image-DrmKVKna.js";import{a as Im}from"./focus-BEf2RhRf.js";import{a as wi}from"./renderShortcut-B1jzzLJw.js";import{t as Or}from"./label-C9wP7Kp2.js";import{n as Dr,t as vi}from"./useDeleteCell-DHPNhAtW.js";import{n as Et}from"./esm-C-53tlK5.js";import{n as Fm,t as Lm}from"./icons-DjR3qLG_.js";import{t as Ei}from"./dist-Dj9zNHXU.js";import{t as Om}from"./useSplitCell-h8RpNtuv.js";import{t as Ni}from"./Inputs-CbenuziM.js";import{co as Dm,do as Ur,fo as Um,ft as _m,go as Nt,ho as ki,lo as _r,mo as Ci,oo as Bm,po as jm,so as Si,uo as xi,__tla as Pm}from"./loro_wasm_bg-CdafknAX.js";import{t as Mm}from"./ws-DQY2KwIl.js";import{n as Rm}from"./hooks-DfBLwtVf.js";let Dn,Br,Ai,jr,ut,Pr,be,Wt,Vt,Ti,Ii,Fi,Li,Oi,Un,Di,_n,Ui,Bn,Gm=Promise.all([(()=>{try{return Bd}catch{}})(),(()=>{try{return Uf}catch{}})(),(()=>{try{return $f}catch{}})(),(()=>{try{return Pm}catch{}})()]).then(async()=>{var vn,Ta,we,ve,Ee,Ne,ke,Ce,Se,xe,Ae,Te,Ie,Fe,Le,Oe,De,Ue,_e,Be,je;var re=Wf("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 q={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ge=300;const Ct=Mt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:ge,keymaps:q},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=he.define(),ot=qe.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}}),St=he.define(),xt=he.define(),Rr=qe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(St)&&(n={...n,inputValue:r.value}),r.is(xt)&&(n={...n,shouldFocus:r.value});return n}}),$t=he.define(),At=qe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is($t))return n.value;return e}}),dt=he.define(),Gr=qe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var _i=1;const Jr=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<_i)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}),xt.of(!0),St.of("")],selection:yt.cursor(o.from)}),!0},Wr=e=>e.state.field(At)?(e.dispatch({effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1,Vr=e=>{let t=e.state.field(At);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Bi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Bi()).replace("-"," ").toUpperCase()}function de(e,t){let n=document.createElement(e);return n.className=t,n}function ji(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 Ht=qe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(qt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),qt=he.define();function Pi(e,t){let n=e.state.selection.main.head,r=[],o=H.widget({widget:new Mi(t),side:1});return r.push(o.range(n)),H.set(r)}var Mi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
2
+ var nd=Object.defineProperty;var Ia=re=>{throw TypeError(re)};var rd=(re,q,ge)=>q in re?nd(re,q,{enumerable:!0,configurable:!0,writable:!0,value:ge}):re[q]=ge;var h=(re,q,ge)=>rd(re,typeof q!="symbol"?q+"":q,ge),od=(re,q,ge)=>q.has(re)||Ia("Cannot "+ge);var Fa=(re,q,ge)=>(od(re,q,"read from private field"),ge?ge.call(re):q.get(re)),La=(re,q,ge)=>q.has(re)?Ia("Cannot add the same private member more than once"):q instanceof WeakSet?q.add(re):q.set(re,ge);import{s as Oa}from"./chunk-LvLJmgfZ.js";import{d as Da,f as br,i as Q,l as En,n as ue,p as _t,s as Nn,u as ce}from"./useEvent-BhXAndur.js";import{t as ad}from"./react-Bj1aDYRI.js";import{$ as id,Ar as sd,At as yr,B as Ua,Cr as ld,Ct as _a,Dr as cd,Gr as Ba,Hn as ud,It as dd,Lt as fd,Mt as wr,N as md,Nt as ja,Or as Pa,Pt as Ma,Q as vr,Qt as hd,R as Ra,Rt as pd,Sn as gd,Sr as bd,St as yd,U as Ga,V as Ja,Vt as kn,Wt as wd,Yt as vd,_n as Ed,a as Wa,an as Er,br as Nr,ct as Cn,d as Va,dt as Bt,en as Nd,fn as kd,kt as Cd,lt as Sd,m as kr,mr as xd,mt as Ad,ni as Sn,nn as Td,ot as Id,qr as Fd,st as Cr,tn as Ld,u as $a,ut as Od,vn as Dd,w as xn,y as nt,yn as Ud,z as _d,__tla as Bd}from"./cells-DbD2lYze.js";import{P as Ha,R as jd,k as Pd,w as Md}from"./zod-H_cgTO0M.js";import{t as Ge}from"./compiler-runtime-B3qBwwSJ.js";import{C as Rd,f as Gd,m as Jd,p as Wd,t as Vd,v as $d}from"./ai-model-dropdown-CODXtvnr.js";import{d as $e,f as Hd,l as Sr,n as qa}from"./hotkeys-BHHWjLlp.js";import{t as jt}from"./invariant-CAG_dYON.js";import{S as xr,h as za,m as qd,o as zd,p as Ka,s as Xa}from"./utils-YqBXNpsM.js";import{S as Kd,d as Xd,h as bt,o as Yd,r as Ya,x as Pt,y as Qa}from"./config-D2-Bw6QC.js";import{a as Qd,n as Za,t as Zd}from"./switch-BUKXfBTu.js";import{n as ef}from"./globals-BXYmO-WL.js";import{t as tf}from"./ErrorBoundary-B9Ifj8Jf.js";import{t as nf}from"./useEventListener-Cb-RVVEn.js";import{t as rf}from"./jsx-runtime-ZmTK25f3.js";import{r as Ar,t as He}from"./button-CZ3Cs4qb.js";import{t as lt}from"./cn-BKtXLv3a.js";import{$t as An,Bt as Tr,Ct as ei,Dt as of,E as af,Gt as sf,H as ti,I as lf,It as Tn,J as l,Jt as qe,P as cf,Pt as In,Rt as uf,St as Je,Ut as ct,V as ni,Vt as Mt,Xt as Rt,_ as df,a as ff,at as B,bt as mf,ct as ze,ft as hf,it as pf,jt as gf,lt as Fn,m as bf,pt as yf,qt as he,rt as H,st as wf,vt as vf,w as Ef,wt as Nf,yt as kf,zt as yt}from"./dist-DBwNzi3C.js";import{C as Cf,D as Sf,_ as xf,a as Af,c as Tf,n as Ir,r as If,v as Ff,x as Lf,y as Of}from"./dist-CtsanegT.js";import{E as Df,__tla as Uf}from"./JsonOutput-DsO4felE.js";import{c as ri,n as _f}from"./once-Bul8mtFs.js";import{t as Fr}from"./createReducer-B3rBsy4P.js";import{a as Bf,c as jf,f as Ln,h as Pf,i as Mf,l as Gt,n as oi,o as Rf,t as Gf}from"./dist-ChS0Dc_R.js";import{r as On,t as Jf}from"./requests-B4FYHTZl.js";import{t as Wf}from"./createLucideIcon-BCdY6lG5.js";import{r as ai,t as Vf,__tla as $f}from"./layout-D7NLGhPa.js";import{O as Hf,S as ii,T as qf,_ as zf,a as si,k as Kf,n as Xf,o as Yf,r as li,s as Qf,x as Zf}from"./add-cell-with-ai-CPu9tI-Q.js";import{t as em}from"./x-ZP5cObgf.js";import{r as tm}from"./download-CmdFQXRz.js";import{t as nm}from"./circle-check-DquVD4wZ.js";import{r as rm,t as om}from"./types-7nV0hgXj.js";import{n as ci}from"./spinner-DA8-7wQv.js";import{t as ui}from"./save-DZodxFnE.js";import{I as di,P as am}from"./input-DHHmNa19.js";import{a as im,i as sm,n as fi}from"./state-DlF73owK.js";import{t as lm}from"./preload-helper-DItdS47A.js";import{t as wt}from"./use-toast-T0_cQDma.js";import{n as Qe}from"./paths-Dfii2bN8.js";import{t as cm}from"./session-fBtIbMpB.js";import{r as um}from"./useTheme-CTORu22_.js";import{t as vt}from"./tooltip-C_WgOOcZ.js";import{r as dm,t as fm}from"./mode-CjmQoGEk.js";import{c as mi,i as hi,n as pi,r as mm}from"./dialog-tQELcltn.js";import{O as hm}from"./usePress-3CRs0fQg.js";import{a as pm,r as gm,t as bm}from"./popover-B-131r4d.js";import{n as gi}from"./ImperativeModal-DZr52ffu.js";import{r as ym}from"./errors-CPlNr33a.js";import{t as wm}from"./copy-DHrHayPa.js";import{a as vm}from"./useRunCells-BOowME8Z.js";import{t as X}from"./extends-BiFDv3jB.js";import{t as Jt}from"./objectWithoutPropertiesLoose-DfWeGRFv.js";import{t as Em}from"./kbd-Cm6Ba9qg.js";import{a as Lr}from"./useInstallPackage-xrG_Tm9T.js";import{a as Nm,o as km}from"./cell-link-BoOn0OpK.js";import{n as Cm}from"./useAsyncData-BMGLSTg8.js";import{a as Sm,o as bi,r as xm,s as yi,t as Am}from"./command-PbcrObnK.js";import{r as Tm}from"./html-to-image-DrmKVKna.js";import{a as Im}from"./focus-BEf2RhRf.js";import{a as wi}from"./renderShortcut-B1jzzLJw.js";import{t as Or}from"./label-C9wP7Kp2.js";import{n as Dr,t as vi}from"./useDeleteCell-DHPNhAtW.js";import{n as Et}from"./esm-C-53tlK5.js";import{n as Fm,t as Lm}from"./icons-DjR3qLG_.js";import{t as Ei}from"./dist-Dj9zNHXU.js";import{t as Om}from"./useSplitCell-h8RpNtuv.js";import{t as Ni}from"./Inputs-CbenuziM.js";import{co as Dm,do as Ur,fo as Um,ft as _m,go as Nt,ho as ki,lo as _r,mo as Ci,oo as Bm,po as jm,so as Si,uo as xi,__tla as Pm}from"./loro_wasm_bg-CdafknAX.js";import{t as Mm}from"./ws-DQY2KwIl.js";import{n as Rm}from"./hooks-B_N-kbrq.js";let Dn,Br,Ai,jr,ut,Pr,be,Wt,Vt,Ti,Ii,Fi,Li,Oi,Un,Di,_n,Ui,Bn,Gm=Promise.all([(()=>{try{return Bd}catch{}})(),(()=>{try{return Uf}catch{}})(),(()=>{try{return $f}catch{}})(),(()=>{try{return Pm}catch{}})()]).then(async()=>{var vn,Ta,we,ve,Ee,Ne,ke,Ce,Se,xe,Ae,Te,Ie,Fe,Le,Oe,De,Ue,_e,Be,je;var re=Wf("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 q={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ge=300;const Ct=Mt.define({combine:e=>An(e,{onError:console.error,inputDebounceTime:ge,keymaps:q},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=he.define(),ot=qe.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}}),St=he.define(),xt=he.define(),Rr=qe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(St)&&(n={...n,inputValue:r.value}),r.is(xt)&&(n={...n,shouldFocus:r.value});return n}}),$t=he.define(),At=qe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is($t))return n.value;return e}}),dt=he.define(),Gr=qe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var _i=1;const Jr=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<_i)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}),xt.of(!0),St.of("")],selection:yt.cursor(o.from)}),!0},Wr=e=>e.state.field(At)?(e.dispatch({effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1,Vr=e=>{let t=e.state.field(At);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[$t.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),xt.of(!1),St.of(""),dt.of(!1)]}),!0):!1};var jn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function Bi(){return navigator.platform.startsWith("Mac")?jn.mac:navigator.platform.startsWith("Win")?jn.windows:jn.default}function Pn(e){return e.replace("Mod",Bi()).replace("-"," ").toUpperCase()}function de(e,t){let n=document.createElement(e);return n.className=t,n}function ji(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 Ht=qe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(qt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),qt=he.define();function Pi(e,t){let n=e.state.selection.main.head,r=[],o=H.widget({widget:new Mi(t),side:1});return r.push(o.range(n)),H.set(r)}var Mi=class extends Fn{constructor(t){super();h(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},Ri=class{constructor(e){h(this,"cache",new Map);h(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},Gi=(e,t)=>ze.fromClass(class{constructor(){h(this,"abortController",null);h(this,"cache");this.cache=new Ri(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:qt.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:qt.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),Ji=ze.fromClass(class{constructor(){h(this,"decorations");this.decorations=H.none}update(e){var n;let t=(n=e.state.field(Ht))==null?void 0:n.suggestion;if(!t){this.decorations=H.none;return}this.decorations=Pi(e.view,t)}},{decorations:e=>e.decorations});function Wi(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:yt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:yt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var Vi=e=>{var r,o,a;let t=(r=e.state.field(Ht))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({...Wi(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},$r=e=>{var r,o,a;let t=(r=e.state.field(Ht))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Mn);return e.dispatch({effects:qt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},$i=Je.of([{key:"Tab",run:Vi},{key:"Escape",run:$r}]),Mn=Mt.define({combine:e=>e.at(-1)});function Hr(e){let{delay:t=500,includeKeymap:n=!0}=e,r=ji(e.fetchFn,t);return[Ht,Mn.of(e),Gi(r,e),Ji,n?$i:[]]}const Hi=B.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 qi(e){var o,a;let t=e.state.facet(Ct),n={...q,...t.keymaps},r=de("div","cm-ai-tooltip").appendChild(de("div","cm-ai-tooltip-button"));return r.innerHTML=`<span>Edit <span class="hotkey">${Pn(n.showInput)}</span></span>`,(o=r.querySelector("span"))==null||o.addEventListener("mousedown",i=>{i.stopPropagation(),i.button===0&&i.preventDefault()}),(a=r.querySelector("span"))==null||a.addEventListener("click",i=>{i.preventDefault(),Jr(e)}),r}const Rn=Mt.define({combine(e){return An(e,{render:qi,hideOnBlur:!1})}}),zi=ze.fromClass((Ta=class{constructor(e){h(this,"view");h(this,"suppress");h(this,"dom");h(this,"mousedown",()=>{this.suppress=!0});h(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});h(this,"scroll",()=>{this.display(this.view)});h(this,"windowScroll",()=>{this.display(this.view)});La(this,vn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from);if(!r)return;let o=e.dom.getBoundingClientRect(),a=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),i=r.top>=o.top&&r.top<=o.bottom&&r.left>=o.left&&r.left<=o.right,s=!a||r.top>=a.top&&r.top<=a.bottom&&r.left>=a.left&&r.left<=a.right;if(!i||!s){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let c=this.dom.getBoundingClientRect(),u=o.width-c.width,d=Math.min(r.left,u),f=r.top-c.height;f=a?Math.max(a.y,f):f,this.dom.style.left=`${d}px`,this.dom.style.top=`${f}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Rn);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ot).show){this.dom.style.display="none";return}if(e.state.facet(Rn).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:Fa(this,vn)})}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()}},vn=new WeakMap,Ta));var Ki=B.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 Xi(){return[zi,Ki]}var Yi=class extends Fn{constructor(t){super();h(this,"oldCode");this.oldCode=t}toDOM(t){let n=de("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=de("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=de("div","cm-floating-buttons"),a=t.state.facet(Ct),i={...q,...a.keymaps},s=de("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Pn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Wr(t)});let c=de("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Pn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Vr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},Qi=class extends Fn{constructor(t){super();h(this,"complete");h(this,"abortController",null);h(this,"dom",null);h(this,"input",null);h(this,"loadingContainer",null);h(this,"helpInfo",null);h(this,"inputContainer",null);h(this,"form",null);h(this,"view",null);h(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});h(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});h(this,"handleSubmit",async t=>{var g;let n=this.view;if(!n)return;let r=n.state.facet(Ct);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),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),p=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:f,codeBefore:p,codeAfter:m,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:u,to:d,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),$t.of({from:u,to:u+y.length,oldCode:f,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(g=r.onError)==null||g.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(Rr),r=t.state.field(Gr),o=de("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=de("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",w=>w.preventDefault());let i=de("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=de("div","cm-ai-loading-container");this.loadingContainer=s;let c=de("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=de("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);let d=de("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let p=de("button","cm-ai-generate-button");p.textContent="\u23CE Generate",p.setAttribute("aria-label","Generate code"),p.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:xt.of(!1)})}),m(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function m(w){d.replaceChildren(w?p:f)}let g="";function y(){t.dispatch({effects:St.of(i.value)});let w=i.value.trim();w!==g&&(g=w,m(w))}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 Zi(e){if(!e.prompt)throw Error("prompt function is required");let t={...q,...e.keymaps};return[Ct.of(e),ot,Rr,At,Gr,Xi(),Hi,Je.of([{key:t.showInput,run:Jr}]),ct.highest([Je.of([{key:t.acceptEdit,run:Wr},{key:t.rejectEdit,run:Vr}])]),es,ts,ns,rs]}const es=B.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 u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),ts=B.decorations.of(e=>{let t=e.state.field(At);return t?H.set([H.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):H.none}),ns=B.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(Ct),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(H.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(H.widget({widget:new Qi(n.prompt),side:-1}).range(s))}}return H.set(r)}),rs=qe.define({create(e){return H.none},update(e,t){let n=t.state.field(At);return n?H.set([H.widget({widget:new Yi(n.oldCode),block:!0}).range(n.from)]):H.none},provide:e=>B.decorations.from(e)});var os=Ge(),I=Oa(ad(),1),Gn=()=>({entries:new Map}),{valueAtom:qr,useActions:zr}=Fr(Gn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(nt),s=a.get(Ed),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let p=i.cellRuntime[f],m=new Map;for(let y of Object.values(s)){let w=y.declaredBy.includes(f),k=y.usedBy.some(C=>!c.has(C));w&&k&&m.set(y.name,y.usedBy)}let g;p!=null&&p.runElapsedTimeMs&&p.runElapsedTimeMs>2e3&&(g=p.runElapsedTimeMs),m.size===0&&g===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:g,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Gn()):{...e,entries:u}},clear:()=>Gn()});Bn=function(){let e=br(),{submit:t,clear:n}=zr(),{entries:r}=ce(qr),o=vi(),a=Dr();return(0,I.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])},Ui=function(e){let t=(0,os.c)(16),n=ce(qr),r=zr(),o=Dr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(as)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function as(e){return e.cellId}async function is(e){var s,c;let t=`
4
4
  ${e.codeBefore}
5
5
  <rewrite_this>
@@ -1 +1 @@
1
- import{s as G}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Gn as U,zn as $}from"./cells-DbD2lYze.js";import{C as P,P as K,R as E,T as Q}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{n as X}from"./assertNever-CBU83Y6o.js";import{t as L}from"./isEmpty-CgX_-6Mt.js";import{ut as Y}from"./ai-model-dropdown-Bfoz25CZ.js";import{d as W}from"./hotkeys-BHHWjLlp.js";import{t as Z}from"./jsx-runtime-ZmTK25f3.js";import{t as A}from"./cn-BKtXLv3a.js";import{i as ee,t as te}from"./chat-components-C2rqCcnp.js";import{t as C}from"./markdown-renderer-D8AmLSIR.js";import{n as se}from"./spinner-DA8-7wQv.js";import{c as ae}from"./datasource-Dkywo3Kg.js";import{a as D,i as I,n as M,r as V}from"./multi-map-t2yhdp8D.js";var re=J();H();var t=G(Z(),1);const le=n=>{let e=(0,re.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(V,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(C,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(M,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var F=J(),ne=K({status:E().default("success"),auth_required:Q().default(!1),action_url:P(),next_steps:P(),meta:P(),message:E().nullish()}).passthrough(),oe=n=>{let e=(0,F.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(me)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ie=n=>{let e=(0,F.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ne.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(oe,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},de=n=>{let e=(0,F.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const B=n=>{let e=(0,F.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(U,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Y,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,T=`tool-${p}`,g;e[6]===o?g=e[7]:(g=A("w-full",o),e[6]=o,e[7]=g);let k=i==="error"&&"text-[var(--red-11)]/80",q=i==="success"&&"text-[var(--grass-11)]/80",v;e[8]!==k||e[9]!==q?(v=A("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",k,q),e[8]=k,e[9]=q,e[10]=v):v=e[10];let j;e[11]===u?j=e[12]:(j=u(),e[11]=u,e[12]=j);let z=f(),b;e[13]===a?b=e[14]:(b=ce(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==z||e[18]!==N||e[19]!==j?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[j,z,":",N]}),e[17]=z,e[18]=N,e[19]=j,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==v?(w=(0,t.jsx)(D,{className:v,children:y}),e[21]=y,e[22]=v,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(de,{input:x}),l!=null&&(0,t.jsx)(ie,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(V,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let O;e[31]!==w||e[32]!==S?(O=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=O):O=e[33];let R;return e[34]!==O||e[35]!==T||e[36]!==g?(R=(0,t.jsx)(M,{type:"single",collapsible:!0,className:g,children:O},T),e[34]=O,e[35]=T,e[36]=g,e[37]=R):R=e[37],R};function ce(n){return n.replace("tool-","")}function me(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const ue=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(xe(s))return(0,t.jsx)(B,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(pe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return(0,t.jsx)(C,{content:s.text},r);case"reasoning":return(0,t.jsx)(le,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(B,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return X(s),null}}};function xe(n){return n.type.startsWith("tool-")}function pe(n){return n.type.startsWith("data-")}export{ue as t};
1
+ import{s as G}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Gn as U,zn as $}from"./cells-DbD2lYze.js";import{C as P,P as K,R as E,T as Q}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{n as X}from"./assertNever-CBU83Y6o.js";import{t as L}from"./isEmpty-CgX_-6Mt.js";import{ut as Y}from"./ai-model-dropdown-CODXtvnr.js";import{d as W}from"./hotkeys-BHHWjLlp.js";import{t as Z}from"./jsx-runtime-ZmTK25f3.js";import{t as A}from"./cn-BKtXLv3a.js";import{i as ee,t as te}from"./chat-components-C2rqCcnp.js";import{t as C}from"./markdown-renderer-D8AmLSIR.js";import{n as se}from"./spinner-DA8-7wQv.js";import{c as ae}from"./datasource-Dkywo3Kg.js";import{a as D,i as I,n as M,r as V}from"./multi-map-t2yhdp8D.js";var re=J();H();var t=G(Z(),1);const le=n=>{let e=(0,re.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(V,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(C,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(M,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var F=J(),ne=K({status:E().default("success"),auth_required:Q().default(!1),action_url:P(),next_steps:P(),meta:P(),message:E().nullish()}).passthrough(),oe=n=>{let e=(0,F.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(me)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ie=n=>{let e=(0,F.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ne.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(oe,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},de=n=>{let e=(0,F.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const B=n=>{let e=(0,F.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(U,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Y,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,T=`tool-${p}`,g;e[6]===o?g=e[7]:(g=A("w-full",o),e[6]=o,e[7]=g);let k=i==="error"&&"text-[var(--red-11)]/80",q=i==="success"&&"text-[var(--grass-11)]/80",v;e[8]!==k||e[9]!==q?(v=A("h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline",k,q),e[8]=k,e[9]=q,e[10]=v):v=e[10];let j;e[11]===u?j=e[12]:(j=u(),e[11]=u,e[12]=j);let z=f(),b;e[13]===a?b=e[14]:(b=ce(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==z||e[18]!==N||e[19]!==j?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[j,z,":",N]}),e[17]=z,e[18]=N,e[19]=j,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==v?(w=(0,t.jsx)(D,{className:v,children:y}),e[21]=y,e[22]=v,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(de,{input:x}),l!=null&&(0,t.jsx)(ie,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(V,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let O;e[31]!==w||e[32]!==S?(O=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=O):O=e[33];let R;return e[34]!==O||e[35]!==T||e[36]!==g?(R=(0,t.jsx)(M,{type:"single",collapsible:!0,className:g,children:O},T),e[34]=O,e[35]=T,e[36]=g,e[37]=R):R=e[37],R};function ce(n){return n.replace("tool-","")}function me(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const ue=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(xe(s))return(0,t.jsx)(B,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(pe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return(0,t.jsx)(C,{content:s.text},r);case"reasoning":return(0,t.jsx)(le,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(B,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return X(s),null}}};function xe(n){return n.type.startsWith("tool-")}function pe(n){return n.type.startsWith("data-")}export{ue as t};
@@ -1,3 +1,3 @@
1
- import{s as et}from"./chunk-LvLJmgfZ.js";import{d as It,f as zt,l as kt,n as V,u as Ve}from"./useEvent-BhXAndur.js";import{t as Dt}from"./react-Bj1aDYRI.js";import{Wn as Mt,w as Ft}from"./cells-DbD2lYze.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{T as Ht,o as Wt,r as rt,t as Ot,w as Yt}from"./ai-model-dropdown-Bfoz25CZ.js";import{d as Ie}from"./hotkeys-BHHWjLlp.js";import{n as lt,r as Xt}from"./utils-YqBXNpsM.js";import{o as Ut}from"./config-D2-Bw6QC.js";import{r as ae}from"./useEventListener-Cb-RVVEn.js";import{t as Bt}from"./jsx-runtime-ZmTK25f3.js";import{t as B}from"./button-CZ3Cs4qb.js";import{t as se}from"./cn-BKtXLv3a.js";import"./dist-DBwNzi3C.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as Vt}from"./requests-B4FYHTZl.js";import{E as qt,O as $t,c as Gt,d as Jt,f as Kt,g as Qt,k as Zt,l as ot,n as nt,p as er,s as at,u as tr,v as rr,w as lr,x as or}from"./add-cell-with-ai-BN_m4VjP.js";import{i as st,n as nr,r as ar,t as sr}from"./chat-components-C2rqCcnp.js";import"./markdown-renderer-D8AmLSIR.js";import{n as ir}from"./spinner-DA8-7wQv.js";import{t as cr}from"./plus-B7DF33lD.js";import{lt as dr,r as it}from"./input-DHHmNa19.js";import{t as ur}from"./settings-OBbrbhij.js";import{r as ct,t as mr}from"./state-DlF73owK.js";import{t as pr}from"./square-DPZjfUaq.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import{t as hr}from"./use-toast-T0_cQDma.js";import"./session-fBtIbMpB.js";import{C as fr,E as xr,_ as he,g as q,w as $,x as ze}from"./Combination-izwufzWe.js";import{a as vr,i as gr,n as wr,p as br,r as yr,s as jr,t as Sr}from"./select-B7bfltkI.js";import{i as dt,t as ie}from"./tooltip-C_WgOOcZ.js";import{u as Cr}from"./menu-items-vwmjPhjW.js";import{i as Nr}from"./dates-CT5PUuFo.js";import{t as Rr}from"./context-Ga_vV5mE.js";import{i as _r,r as Ar,t as Tr}from"./popover-B-131r4d.js";import{t as Er}from"./copy-icon-B9w72gBC.js";import{n as Lr}from"./error-banner-Dlrzo_Ay.js";import"./chunk-5FQGJX7Z-CwvgJCug.js";import"./katex-CDLTCvjQ.js";import"./html-to-image-DrmKVKna.js";import{t as Pr}from"./chat-display-CKRYf3fp.js";import"./esm-C-53tlK5.js";import{t as qe}from"./empty-state-DrmGF88A.js";var ut=tt(),m=et(Dt(),1);const Ir=({chatState:e,chatId:t,messages:r})=>{if(!t)return Ie.warn("No active chat"),e;let a=e.chats.get(t);if(!a)return Ie.warn("No active chat"),e;let l=new Map(e.chats),n=Date.now();return l.set(a.id,{...a,messages:r,updatedAt:n}),{...e,chats:l}};var o=et(Bt(),1);function zr(e,t){return m.useReducer((r,a)=>t[r][a]??r,e)}var $e="ScrollArea",[mt,ho]=xr($e),[kr,F]=mt($e),pt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:a="hover",dir:l,scrollHideDelay:n=600,...s}=e,[c,i]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,g]=m.useState(null),[y,L]=m.useState(null),[b,C]=m.useState(0),[j,S]=m.useState(0),[R,N]=m.useState(!1),[P,I]=m.useState(!1),w=ae(t,k=>i(k)),T=Cr(l);return(0,o.jsx)(kr,{scope:r,type:a,dir:T,scrollHideDelay:n,scrollArea:c,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:N,scrollbarY:y,onScrollbarYChange:L,scrollbarYEnabled:P,onScrollbarYEnabledChange:I,onCornerWidthChange:C,onCornerHeightChange:S,children:(0,o.jsx)(he.div,{dir:T,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});pt.displayName=$e;var ht="ScrollAreaViewport",ft=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:a,nonce:l,...n}=e,s=F(ht,r),c=ae(t,m.useRef(null),s.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,o.jsx)(he.div,{"data-radix-scroll-area-viewport":"",...n,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});ft.displayName=ht;var Y="ScrollAreaScrollbar",Ge=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=l,c=e.orientation==="horizontal";return m.useEffect(()=>(c?n(!0):s(!0),()=>{c?n(!1):s(!1)}),[c,n,s]),l.type==="hover"?(0,o.jsx)(Dr,{...a,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...a,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(xt,{...a,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Je,{...a,ref:t}):null});Ge.displayName=Y;var Dr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),[n,s]=m.useState(!1);return m.useEffect(()=>{let c=l.scrollArea,i=0;if(c){let d=()=>{window.clearTimeout(i),s(!0)},u=()=>{i=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return c.addEventListener("pointerenter",d),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(i),c.removeEventListener("pointerenter",d),c.removeEventListener("pointerleave",u)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(ze,{present:r||n,children:(0,o.jsx)(xt,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Mr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Fe(()=>i("SCROLL_END"),100),[c,i]=zr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(c==="idle"){let d=window.setTimeout(()=>i("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(d)}},[c,l.scrollHideDelay,i]),m.useEffect(()=>{let d=l.viewport,u=n?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(i("SCROLL"),s()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[l.viewport,n,i,s]),(0,o.jsx)(ze,{present:r||c!=="hidden",children:(0,o.jsx)(Je,{"data-state":c==="hidden"?"hidden":"visible",...a,ref:t,onPointerEnter:$(e.onPointerEnter,()=>i("POINTER_ENTER")),onPointerLeave:$(e.onPointerLeave,()=>i("POINTER_LEAVE"))})})}),xt=m.forwardRef((e,t)=>{let r=F(Y,e.__scopeScrollArea),{forceMount:a,...l}=e,[n,s]=m.useState(!1),c=e.orientation==="horizontal",i=Fe(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;s(c?d:u)}},10);return ce(r.viewport,i),ce(r.content,i),(0,o.jsx)(ze,{present:a||n,children:(0,o.jsx)(Je,{"data-state":n?"visible":"hidden",...l,ref:t})})}),Je=m.forwardRef((e,t)=>{let{orientation:r="vertical",...a}=e,l=F(Y,e.__scopeScrollArea),n=m.useRef(null),s=m.useRef(0),[c,i]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=yt(c.viewport,c.content),u={...a,sizes:c,onSizesChange:i,hasThumb:d>0&&d<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,f){return Xr(h,s.current,c,f)}return r==="horizontal"?(0,o.jsx)(Fr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&n.current){let h=l.viewport.scrollLeft,f=jt(h,c,l.dir);n.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=p(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Hr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&n.current){let h=l.viewport.scrollTop,f=jt(h,c);n.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=p(h))}}):null}),Fr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...l}=e,n=F(Y,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarXChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,o.jsx)(gt,{"data-orientation":"horizontal",...l,ref:d,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:De(s.paddingLeft),paddingEnd:De(s.paddingRight)}})}})}),Hr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...l}=e,n=F(Y,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarYChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,o.jsx)(gt,{"data-orientation":"vertical",...l,ref:d,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:De(s.paddingTop),paddingEnd:De(s.paddingBottom)}})}})}),[Wr,vt]=mt(Y),gt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:a,hasThumb:l,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:i,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=F(Y,r),[g,y]=m.useState(null),L=ae(t,w=>y(w)),b=m.useRef(null),C=m.useRef(""),j=f.viewport,S=a.content-a.viewport,R=q(u),N=q(i),P=Fe(p,10);function I(w){b.current&&d({x:w.clientX-b.current.left,y:w.clientY-b.current.top})}return m.useEffect(()=>{let w=T=>{let k=T.target;g!=null&&g.contains(k)&&R(T,S)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[j,g,S,R]),m.useEffect(N,[a,N]),ce(g,P),ce(f.content,P),(0,o.jsx)(Wr,{scope:r,scrollbar:g,hasThumb:l,onThumbChange:q(n),onThumbPointerUp:q(s),onThumbPositionChange:N,onThumbPointerDown:q(c),children:(0,o.jsx)(he.div,{...h,ref:L,style:{position:"absolute",...h.style},onPointerDown:$(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),b.current=g.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:$(e.onPointerMove,I),onPointerUp:$(e.onPointerUp,w=>{let T=w.target;T.hasPointerCapture(w.pointerId)&&T.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),b.current=null})})})}),ke="ScrollAreaThumb",wt=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=vt(ke,e.__scopeScrollArea);return(0,o.jsx)(ze,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...a})})}),Or=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:a,...l}=e,n=F(ke,r),s=vt(ke,r),{onThumbPositionChange:c}=s,i=ae(t,p=>s.onThumbChange(p)),d=m.useRef(void 0),u=Fe(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=n.viewport;if(p){let h=()=>{u(),d.current||(d.current=Ur(p,c),c())};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,u,c]),(0,o.jsx)(he.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:$(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,g=p.clientY-h.top;s.onThumbPointerDown({x:f,y:g})}),onPointerUp:$(e.onPointerUp,s.onThumbPointerUp)})});wt.displayName=ke;var Ke="ScrollAreaCorner",bt=m.forwardRef((e,t)=>{let r=F(Ke,e.__scopeScrollArea),a=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&a?(0,o.jsx)(Yr,{...e,ref:t}):null});bt.displayName=Ke;var Yr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...a}=e,l=F(Ke,r),[n,s]=m.useState(0),[c,i]=m.useState(0),d=!!(n&&c);return ce(l.scrollbarX,()=>{var p;let u=((p=l.scrollbarX)==null?void 0:p.offsetHeight)||0;l.onCornerHeightChange(u),i(u)}),ce(l.scrollbarY,()=>{var p;let u=((p=l.scrollbarY)==null?void 0:p.offsetWidth)||0;l.onCornerWidthChange(u),s(u)}),d?(0,o.jsx)(he.div,{...a,ref:t,style:{width:n,height:c,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function De(e){return e?parseInt(e,10):0}function yt(e,t){let r=e/t;return isNaN(r)?0:r}function Me(e){let t=yt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=(e.scrollbar.size-r)*t;return Math.max(a,18)}function Xr(e,t,r,a="ltr"){let l=Me(r),n=l/2,s=t||n,c=l-s,i=r.scrollbar.paddingStart+s,d=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=a==="ltr"?[0,u]:[u*-1,0];return St([i,d],p)(e)}function jt(e,t,r="ltr"){let a=Me(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-l,s=t.content-t.viewport,c=n-a,i=br(e,r==="ltr"?[0,s]:[s*-1,0]);return St([0,s],[0,c])(i)}function St(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}function Ct(e,t){return e>0&&e<t}var Ur=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return(function l(){let n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,c=r.top!==n.top;(s||c)&&t(),r=n,a=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(a)};function Fe(e,t){let r=q(e),a=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(a.current),[]),m.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(r,t)},[r,t])}function ce(e,t){let r=q(t);fr(()=>{let a=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(a),l.unobserve(e)}}},[e,r])}var Nt=pt,Br=ft,Vr=bt,Rt=m.forwardRef((e,t)=>{let r=(0,ut.c)(15),a,l,n;r[0]===e?(a=r[1],l=r[2],n=r[3]):({className:l,children:a,...n}=e,r[0]=e,r[1]=a,r[2]=l,r[3]=n);let s;r[4]===l?s=r[5]:(s=se("relative overflow-hidden",l),r[4]=l,r[5]=s);let c;r[6]===a?c=r[7]:(c=(0,o.jsx)(Br,{className:"h-full w-full rounded-[inherit]",children:a}),r[6]=a,r[7]=c);let i,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)(_t,{}),d=(0,o.jsx)(Vr,{}),r[8]=i,r[9]=d):(i=r[8],d=r[9]);let u;return r[10]!==n||r[11]!==t||r[12]!==s||r[13]!==c?(u=(0,o.jsxs)(Nt,{ref:t,className:s,...n,children:[c,i,d]}),r[10]=n,r[11]=t,r[12]=s,r[13]=c,r[14]=u):u=r[14],u});Rt.displayName=Nt.displayName;var _t=m.forwardRef((e,t)=>{let r=(0,ut.c)(14),a,l,n;r[0]===e?(a=r[1],l=r[2],n=r[3]):({className:a,orientation:n,...l}=e,r[0]=e,r[1]=a,r[2]=l,r[3]=n);let s=n===void 0?"vertical":n,c=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",i=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==a||r[5]!==c||r[6]!==i?(d=se("flex touch-none select-none transition-colors",c,i,a),r[4]=a,r[5]=c,r[6]=i,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(wt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==d?(p=(0,o.jsx)(Ge,{ref:t,orientation:s,className:d,...l,children:u}),r[9]=s,r[10]=l,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});_t.displayName=Ge.displayName;var qr=[{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 $r=e=>{let t=Date.now(),r=qr.map(n=>({...n,chats:[]})),a={label:"Older",days:1/0,chats:[]},l=n=>{switch(n){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return n>=4&&n<=7?r[4]:n>=8&&n<=30?r[5]:a}};for(let n of e)l(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...r,a].filter(n=>n.chats.length>0)},Gr=({activeChatId:e,setActiveChat:t})=>{let r=Ve(ct),{locale:a}=Rr(),[l,n]=(0,m.useState)(""),s=(0,m.useMemo)(()=>[...r.chats.values()].sort((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),c=(0,m.useMemo)(()=>l.trim()?s.filter(d=>d.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),i=(0,m.useMemo)(()=>$r(c),[c]);return(0,o.jsxs)(Tr,{children:[(0,o.jsx)(ie,{content:"Previous chats",children:(0,o.jsx)(_r,{asChild:!0,children:(0,o.jsx)(B,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)(Ar,{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)(it,{placeholder:"Search chat history...",value:l,onChange:d=>n(d.target.value),className:"text-xs"})}),(0,o.jsx)(Rt,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(qe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(st,{})}),c.length===0&&l&&s.length>0&&(0,o.jsx)(qe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(dr,{})}),i.map((d,u)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,o.jsx)("div",{children:d.chats.map(p=>(0,o.jsxs)("button",{className:se("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(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 flex-shrink-0",children:Nr(p.updatedAt,a)})]},p.id))}),u!==i.length-1&&(0,o.jsx)("hr",{})]},d.label))]})})]})]})};var de=tt(),At="manual",Jr=new Set(["openai","google","anthropic"]),Kr=["image/*","text/*"],Qr=1024*1024*50,Zr=e=>{let t=(0,de.c)(18),{onNewChat:r,activeChatId:a,setActiveChat:l}=e,{handleClick:n}=rt(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(cr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,o.jsx)(ie,{content:"New chat",children:(0,o.jsx)(B,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=c);let i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)(Wt,{}),t[3]=i):i=t[3];let d;t[4]===n?d=t[5]:(d=()=>n("ai"),t[4]=n,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(ur,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,o.jsx)(ie,{content:"AI Settings",children:(0,o.jsx)(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==a||t[10]!==l?(h=(0,o.jsx)(Gr,{activeChatId:a,setActiveChat:l}),t[9]=a,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[i,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g},Tt=(0,m.memo)(e=>{let t=(0,de.c)(15),{message:r,index:a,onEdit:l,isStreamingReasoning:n,isLast:s}=e,c;t[0]!==a||t[1]!==l?(c=y=>{var C,j,S;let L=(j=(C=y.parts)==null?void 0:C.filter(ll))==null?void 0:j.map(ol).join(`
1
+ import{s as et}from"./chunk-LvLJmgfZ.js";import{d as It,f as zt,l as kt,n as V,u as Ve}from"./useEvent-BhXAndur.js";import{t as Dt}from"./react-Bj1aDYRI.js";import{Wn as Mt,w as Ft}from"./cells-DbD2lYze.js";import"./react-dom-CSu739Rf.js";import{t as tt}from"./compiler-runtime-B3qBwwSJ.js";import{T as Ht,o as Wt,r as rt,t as Ot,w as Yt}from"./ai-model-dropdown-CODXtvnr.js";import{d as Ie}from"./hotkeys-BHHWjLlp.js";import{n as lt,r as Xt}from"./utils-YqBXNpsM.js";import{o as Ut}from"./config-D2-Bw6QC.js";import{r as ae}from"./useEventListener-Cb-RVVEn.js";import{t as Bt}from"./jsx-runtime-ZmTK25f3.js";import{t as B}from"./button-CZ3Cs4qb.js";import{t as se}from"./cn-BKtXLv3a.js";import"./dist-DBwNzi3C.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as Vt}from"./requests-B4FYHTZl.js";import{E as qt,O as $t,c as Gt,d as Jt,f as Kt,g as Qt,k as Zt,l as ot,n as nt,p as er,s as at,u as tr,v as rr,w as lr,x as or}from"./add-cell-with-ai-CPu9tI-Q.js";import{i as st,n as nr,r as ar,t as sr}from"./chat-components-C2rqCcnp.js";import"./markdown-renderer-D8AmLSIR.js";import{n as ir}from"./spinner-DA8-7wQv.js";import{t as cr}from"./plus-B7DF33lD.js";import{lt as dr,r as it}from"./input-DHHmNa19.js";import{t as ur}from"./settings-OBbrbhij.js";import{r as ct,t as mr}from"./state-DlF73owK.js";import{t as pr}from"./square-DPZjfUaq.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import{t as hr}from"./use-toast-T0_cQDma.js";import"./session-fBtIbMpB.js";import{C as fr,E as xr,_ as he,g as q,w as $,x as ze}from"./Combination-izwufzWe.js";import{a as vr,i as gr,n as wr,p as br,r as yr,s as jr,t as Sr}from"./select-B7bfltkI.js";import{i as dt,t as ie}from"./tooltip-C_WgOOcZ.js";import{u as Cr}from"./menu-items-vwmjPhjW.js";import{i as Nr}from"./dates-CT5PUuFo.js";import{t as Rr}from"./context-Ga_vV5mE.js";import{i as _r,r as Ar,t as Tr}from"./popover-B-131r4d.js";import{t as Er}from"./copy-icon-B9w72gBC.js";import{n as Lr}from"./error-banner-Dlrzo_Ay.js";import"./chunk-5FQGJX7Z-CwvgJCug.js";import"./katex-CDLTCvjQ.js";import"./html-to-image-DrmKVKna.js";import{t as Pr}from"./chat-display-BnUDaREA.js";import"./esm-C-53tlK5.js";import{t as qe}from"./empty-state-DrmGF88A.js";var ut=tt(),m=et(Dt(),1);const Ir=({chatState:e,chatId:t,messages:r})=>{if(!t)return Ie.warn("No active chat"),e;let a=e.chats.get(t);if(!a)return Ie.warn("No active chat"),e;let l=new Map(e.chats),n=Date.now();return l.set(a.id,{...a,messages:r,updatedAt:n}),{...e,chats:l}};var o=et(Bt(),1);function zr(e,t){return m.useReducer((r,a)=>t[r][a]??r,e)}var $e="ScrollArea",[mt,ho]=xr($e),[kr,F]=mt($e),pt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:a="hover",dir:l,scrollHideDelay:n=600,...s}=e,[c,i]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,g]=m.useState(null),[y,L]=m.useState(null),[b,C]=m.useState(0),[j,S]=m.useState(0),[R,N]=m.useState(!1),[P,I]=m.useState(!1),w=ae(t,k=>i(k)),T=Cr(l);return(0,o.jsx)(kr,{scope:r,type:a,dir:T,scrollHideDelay:n,scrollArea:c,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:N,scrollbarY:y,onScrollbarYChange:L,scrollbarYEnabled:P,onScrollbarYEnabledChange:I,onCornerWidthChange:C,onCornerHeightChange:S,children:(0,o.jsx)(he.div,{dir:T,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});pt.displayName=$e;var ht="ScrollAreaViewport",ft=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:a,nonce:l,...n}=e,s=F(ht,r),c=ae(t,m.useRef(null),s.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,o.jsx)(he.div,{"data-radix-scroll-area-viewport":"",...n,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});ft.displayName=ht;var Y="ScrollAreaScrollbar",Ge=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=l,c=e.orientation==="horizontal";return m.useEffect(()=>(c?n(!0):s(!0),()=>{c?n(!1):s(!1)}),[c,n,s]),l.type==="hover"?(0,o.jsx)(Dr,{...a,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...a,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(xt,{...a,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Je,{...a,ref:t}):null});Ge.displayName=Y;var Dr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),[n,s]=m.useState(!1);return m.useEffect(()=>{let c=l.scrollArea,i=0;if(c){let d=()=>{window.clearTimeout(i),s(!0)},u=()=>{i=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return c.addEventListener("pointerenter",d),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(i),c.removeEventListener("pointerenter",d),c.removeEventListener("pointerleave",u)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(ze,{present:r||n,children:(0,o.jsx)(xt,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Mr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=F(Y,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Fe(()=>i("SCROLL_END"),100),[c,i]=zr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(c==="idle"){let d=window.setTimeout(()=>i("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(d)}},[c,l.scrollHideDelay,i]),m.useEffect(()=>{let d=l.viewport,u=n?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(i("SCROLL"),s()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[l.viewport,n,i,s]),(0,o.jsx)(ze,{present:r||c!=="hidden",children:(0,o.jsx)(Je,{"data-state":c==="hidden"?"hidden":"visible",...a,ref:t,onPointerEnter:$(e.onPointerEnter,()=>i("POINTER_ENTER")),onPointerLeave:$(e.onPointerLeave,()=>i("POINTER_LEAVE"))})})}),xt=m.forwardRef((e,t)=>{let r=F(Y,e.__scopeScrollArea),{forceMount:a,...l}=e,[n,s]=m.useState(!1),c=e.orientation==="horizontal",i=Fe(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;s(c?d:u)}},10);return ce(r.viewport,i),ce(r.content,i),(0,o.jsx)(ze,{present:a||n,children:(0,o.jsx)(Je,{"data-state":n?"visible":"hidden",...l,ref:t})})}),Je=m.forwardRef((e,t)=>{let{orientation:r="vertical",...a}=e,l=F(Y,e.__scopeScrollArea),n=m.useRef(null),s=m.useRef(0),[c,i]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=yt(c.viewport,c.content),u={...a,sizes:c,onSizesChange:i,hasThumb:d>0&&d<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,f){return Xr(h,s.current,c,f)}return r==="horizontal"?(0,o.jsx)(Fr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&n.current){let h=l.viewport.scrollLeft,f=jt(h,c,l.dir);n.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=p(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Hr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&n.current){let h=l.viewport.scrollTop,f=jt(h,c);n.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=p(h))}}):null}),Fr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...l}=e,n=F(Y,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarXChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,o.jsx)(gt,{"data-orientation":"horizontal",...l,ref:d,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:De(s.paddingLeft),paddingEnd:De(s.paddingRight)}})}})}),Hr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...l}=e,n=F(Y,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarYChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,o.jsx)(gt,{"data-orientation":"vertical",...l,ref:d,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:De(s.paddingTop),paddingEnd:De(s.paddingBottom)}})}})}),[Wr,vt]=mt(Y),gt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:a,hasThumb:l,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:i,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=F(Y,r),[g,y]=m.useState(null),L=ae(t,w=>y(w)),b=m.useRef(null),C=m.useRef(""),j=f.viewport,S=a.content-a.viewport,R=q(u),N=q(i),P=Fe(p,10);function I(w){b.current&&d({x:w.clientX-b.current.left,y:w.clientY-b.current.top})}return m.useEffect(()=>{let w=T=>{let k=T.target;g!=null&&g.contains(k)&&R(T,S)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[j,g,S,R]),m.useEffect(N,[a,N]),ce(g,P),ce(f.content,P),(0,o.jsx)(Wr,{scope:r,scrollbar:g,hasThumb:l,onThumbChange:q(n),onThumbPointerUp:q(s),onThumbPositionChange:N,onThumbPointerDown:q(c),children:(0,o.jsx)(he.div,{...h,ref:L,style:{position:"absolute",...h.style},onPointerDown:$(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),b.current=g.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:$(e.onPointerMove,I),onPointerUp:$(e.onPointerUp,w=>{let T=w.target;T.hasPointerCapture(w.pointerId)&&T.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),b.current=null})})})}),ke="ScrollAreaThumb",wt=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,l=vt(ke,e.__scopeScrollArea);return(0,o.jsx)(ze,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...a})})}),Or=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:a,...l}=e,n=F(ke,r),s=vt(ke,r),{onThumbPositionChange:c}=s,i=ae(t,p=>s.onThumbChange(p)),d=m.useRef(void 0),u=Fe(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=n.viewport;if(p){let h=()=>{u(),d.current||(d.current=Ur(p,c),c())};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,u,c]),(0,o.jsx)(he.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:$(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,g=p.clientY-h.top;s.onThumbPointerDown({x:f,y:g})}),onPointerUp:$(e.onPointerUp,s.onThumbPointerUp)})});wt.displayName=ke;var Ke="ScrollAreaCorner",bt=m.forwardRef((e,t)=>{let r=F(Ke,e.__scopeScrollArea),a=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&a?(0,o.jsx)(Yr,{...e,ref:t}):null});bt.displayName=Ke;var Yr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...a}=e,l=F(Ke,r),[n,s]=m.useState(0),[c,i]=m.useState(0),d=!!(n&&c);return ce(l.scrollbarX,()=>{var p;let u=((p=l.scrollbarX)==null?void 0:p.offsetHeight)||0;l.onCornerHeightChange(u),i(u)}),ce(l.scrollbarY,()=>{var p;let u=((p=l.scrollbarY)==null?void 0:p.offsetWidth)||0;l.onCornerWidthChange(u),s(u)}),d?(0,o.jsx)(he.div,{...a,ref:t,style:{width:n,height:c,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function De(e){return e?parseInt(e,10):0}function yt(e,t){let r=e/t;return isNaN(r)?0:r}function Me(e){let t=yt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=(e.scrollbar.size-r)*t;return Math.max(a,18)}function Xr(e,t,r,a="ltr"){let l=Me(r),n=l/2,s=t||n,c=l-s,i=r.scrollbar.paddingStart+s,d=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=a==="ltr"?[0,u]:[u*-1,0];return St([i,d],p)(e)}function jt(e,t,r="ltr"){let a=Me(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-l,s=t.content-t.viewport,c=n-a,i=br(e,r==="ltr"?[0,s]:[s*-1,0]);return St([0,s],[0,c])(i)}function St(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}function Ct(e,t){return e>0&&e<t}var Ur=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return(function l(){let n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,c=r.top!==n.top;(s||c)&&t(),r=n,a=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(a)};function Fe(e,t){let r=q(e),a=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(a.current),[]),m.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(r,t)},[r,t])}function ce(e,t){let r=q(t);fr(()=>{let a=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(a),l.unobserve(e)}}},[e,r])}var Nt=pt,Br=ft,Vr=bt,Rt=m.forwardRef((e,t)=>{let r=(0,ut.c)(15),a,l,n;r[0]===e?(a=r[1],l=r[2],n=r[3]):({className:l,children:a,...n}=e,r[0]=e,r[1]=a,r[2]=l,r[3]=n);let s;r[4]===l?s=r[5]:(s=se("relative overflow-hidden",l),r[4]=l,r[5]=s);let c;r[6]===a?c=r[7]:(c=(0,o.jsx)(Br,{className:"h-full w-full rounded-[inherit]",children:a}),r[6]=a,r[7]=c);let i,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)(_t,{}),d=(0,o.jsx)(Vr,{}),r[8]=i,r[9]=d):(i=r[8],d=r[9]);let u;return r[10]!==n||r[11]!==t||r[12]!==s||r[13]!==c?(u=(0,o.jsxs)(Nt,{ref:t,className:s,...n,children:[c,i,d]}),r[10]=n,r[11]=t,r[12]=s,r[13]=c,r[14]=u):u=r[14],u});Rt.displayName=Nt.displayName;var _t=m.forwardRef((e,t)=>{let r=(0,ut.c)(14),a,l,n;r[0]===e?(a=r[1],l=r[2],n=r[3]):({className:a,orientation:n,...l}=e,r[0]=e,r[1]=a,r[2]=l,r[3]=n);let s=n===void 0?"vertical":n,c=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",i=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==a||r[5]!==c||r[6]!==i?(d=se("flex touch-none select-none transition-colors",c,i,a),r[4]=a,r[5]=c,r[6]=i,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(wt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==d?(p=(0,o.jsx)(Ge,{ref:t,orientation:s,className:d,...l,children:u}),r[9]=s,r[10]=l,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});_t.displayName=Ge.displayName;var qr=[{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 $r=e=>{let t=Date.now(),r=qr.map(n=>({...n,chats:[]})),a={label:"Older",days:1/0,chats:[]},l=n=>{switch(n){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return n>=4&&n<=7?r[4]:n>=8&&n<=30?r[5]:a}};for(let n of e)l(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...r,a].filter(n=>n.chats.length>0)},Gr=({activeChatId:e,setActiveChat:t})=>{let r=Ve(ct),{locale:a}=Rr(),[l,n]=(0,m.useState)(""),s=(0,m.useMemo)(()=>[...r.chats.values()].sort((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),c=(0,m.useMemo)(()=>l.trim()?s.filter(d=>d.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),i=(0,m.useMemo)(()=>$r(c),[c]);return(0,o.jsxs)(Tr,{children:[(0,o.jsx)(ie,{content:"Previous chats",children:(0,o.jsx)(_r,{asChild:!0,children:(0,o.jsx)(B,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)(Ar,{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)(it,{placeholder:"Search chat history...",value:l,onChange:d=>n(d.target.value),className:"text-xs"})}),(0,o.jsx)(Rt,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(qe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(st,{})}),c.length===0&&l&&s.length>0&&(0,o.jsx)(qe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(dr,{})}),i.map((d,u)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,o.jsx)("div",{children:d.chats.map(p=>(0,o.jsxs)("button",{className:se("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(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 flex-shrink-0",children:Nr(p.updatedAt,a)})]},p.id))}),u!==i.length-1&&(0,o.jsx)("hr",{})]},d.label))]})})]})]})};var de=tt(),At="manual",Jr=new Set(["openai","google","anthropic"]),Kr=["image/*","text/*"],Qr=1024*1024*50,Zr=e=>{let t=(0,de.c)(18),{onNewChat:r,activeChatId:a,setActiveChat:l}=e,{handleClick:n}=rt(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(cr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,o.jsx)(ie,{content:"New chat",children:(0,o.jsx)(B,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=c);let i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,o.jsx)(Wt,{}),t[3]=i):i=t[3];let d;t[4]===n?d=t[5]:(d=()=>n("ai"),t[4]=n,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(ur,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,o.jsx)(ie,{content:"AI Settings",children:(0,o.jsx)(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==a||t[10]!==l?(h=(0,o.jsx)(Gr,{activeChatId:a,setActiveChat:l}),t[9]=a,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[i,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g},Tt=(0,m.memo)(e=>{let t=(0,de.c)(15),{message:r,index:a,onEdit:l,isStreamingReasoning:n,isLast:s}=e,c;t[0]!==a||t[1]!==l?(c=y=>{var C,j,S;let L=(j=(C=y.parts)==null?void 0:C.filter(ll))==null?void 0:j.map(ol).join(`
2
2
  `),b=(S=y.parts)==null?void 0:S.filter(nl);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[b==null?void 0:b.map(al),(0,o.jsx)(nt,{value:L,placeholder:"Type your message...",onChange:sl,onSubmit:(R,N)=>{N.trim()&&l(a,N)},onClose:il},y.id)]})},t[0]=a,t[1]=l,t[2]=c):c=t[2];let i=c,d;t[3]!==s||t[4]!==n?(d=y=>(0,o.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,o.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(Er,{className:"h-3 w-3",value:y.parts.filter(cl).map(dl).join(`
3
3
  `)||""})}),Pr({message:y,isStreamingReasoning:n,isLast:s})]}),t[3]=s,t[4]=n,t[5]=d):d=t[5];let u=d,p=r.role==="user"?"justify-end":"justify-start",h;t[6]===p?h=t[7]:(h=se("flex group relative",p),t[6]=p,t[7]=h);let f;t[8]!==r||t[9]!==u||t[10]!==i?(f=r.role==="user"?i(r):u(r),t[8]=r,t[9]=u,t[10]=i,t[11]=f):f=t[11];let g;return t[12]!==h||t[13]!==f?(g=(0,o.jsx)("div",{className:h,children:f}),t[12]=h,t[13]=f,t[14]=g):g=t[14],g});Tt.displayName="ChatMessage";var Et=(0,m.memo)(e=>{var fe;let t=(0,de.c)(39),{isEmpty:r,onSendClick:a,isLoading:l,onStop:n,fileInputRef:s,onAddFiles:c,onAddContext:i}=e,d=Ve(lt),u=(d==null?void 0:d.mode)||At,p=((fe=d==null?void 0:d.models)==null?void 0:fe.chat_model)||"openai/gpt-4o",h=Yt.parse(p).providerId,{saveModeChange:f}=Ht(),g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search"},{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage"},{value:"agent",label:"Agent (beta)",subtitle:"Use AI with access to read and write tools"}],t[0]=g):g=t[0];let y=g,L=Jr.has(h),b;t[1]===u?b=t[2]:(b=(0,o.jsx)(jr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1 capitalize",children:u}),t[1]=u,t[2]=b);let C;t[3]===Symbol.for("react.memo_cache_sentinel")?(C=(0,o.jsx)(vr,{children:"AI Mode"}),t[3]=C):C=t[3];let j;t[4]===y?j=t[5]:(j=(0,o.jsx)(wr,{children:(0,o.jsxs)(yr,{children:[C,y.map(ul)]})}),t[4]=y,t[5]=j);let S;t[6]!==u||t[7]!==f||t[8]!==b||t[9]!==j?(S=(0,o.jsxs)(Sr,{value:u,onValueChange:f,children:[b,j]}),t[6]=u,t[7]=f,t[8]=b,t[9]=j,t[10]=S):S=t[10];let R;t[11]===Symbol.for("react.memo_cache_sentinel")?(R=(0,o.jsx)(Ot,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),t[11]=R):R=t[11];let N;t[12]===S?N=t[13]:(N=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[S,R]}),t[12]=S,t[13]=N);let P;t[14]===Symbol.for("react.memo_cache_sentinel")?(P=(0,o.jsx)(Zt,{className:"h-3.5 w-3.5"}),t[14]=P):P=t[14];let I;t[15]!==l||t[16]!==i?(I=(0,o.jsx)(ie,{content:"Add context",children:(0,o.jsx)(B,{variant:"text",size:"icon",onClick:i,disabled:l,children:P})}),t[15]=l,t[16]=i,t[17]=I):I=t[17];let w;t[18]!==s||t[19]!==L||t[20]!==l||t[21]!==c?(w=L&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ie,{content:"Attach a file",children:(0,o.jsx)(B,{variant:"text",size:"icon",className:"cursor-pointer",onClick:()=>{var U;return(U=s.current)==null?void 0:U.click()},title:"Attach a file",disabled:l,children:(0,o.jsx)(ar,{className:"h-3.5 w-3.5"})})}),(0,o.jsx)(it,{ref:s,type:"file",multiple:!0,hidden:!0,onChange:U=>{U.target.files&&c([...U.target.files])},accept:Kr.join(",")})]}),t[18]=s,t[19]=L,t[20]=l,t[21]=c,t[22]=w):w=t[22];let T=l?"Stop":"Submit",k=l?n:a,A=l?!1:r,E;t[23]===l?E=t[24]:(E=l?(0,o.jsx)(pr,{className:"h-3 w-3 fill-current"}):(0,o.jsx)($t,{className:"h-3 w-3"}),t[23]=l,t[24]=E);let H;t[25]!==k||t[26]!==A||t[27]!==E?(H=(0,o.jsx)(B,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:k,disabled:A,children:E}),t[25]=k,t[26]=A,t[27]=E,t[28]=H):H=t[28];let X;t[29]!==T||t[30]!==H?(X=(0,o.jsx)(ie,{content:T,children:H}),t[29]=T,t[30]=H,t[31]=X):X=t[31];let W;t[32]!==w||t[33]!==X||t[34]!==I?(W=(0,o.jsxs)("div",{className:"flex flex-row",children:[I,w,X]}),t[32]=w,t[33]=X,t[34]=I,t[35]=W):W=t[35];let D;return t[36]!==W||t[37]!==N?(D=(0,o.jsx)(dt,{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:[N,W]})}),t[36]=W,t[37]=N,t[38]=D):D=t[38],D});Et.displayName="ChatInputFooter";var Qe=(0,m.memo)(e=>{let t=(0,de.c)(29),{placeholder:r,input:a,inputClassName:l,setInput:n,onSubmit:s,inputRef:c,isLoading:i,onStop:d,fileInputRef:u,onAddFiles:p,onClose:h}=e,f;t[0]!==a||t[1]!==s?(f=()=>{a.trim()&&s(void 0,a)},t[0]=a,t[1]=s,t[2]=f):f=t[2];let g=V(f),y;t[3]===l?y=t[4]:(y=se("px-2 py-3 flex-1",l),t[3]=l,t[4]=y);let L=r||"Type your message...",b;t[5]!==a||t[6]!==c||t[7]!==p||t[8]!==h||t[9]!==s||t[10]!==n||t[11]!==L?(b=(0,o.jsx)(nt,{inputRef:c,value:a,onChange:n,onSubmit:s,onClose:h,onAddFiles:p,placeholder:L}),t[5]=a,t[6]=c,t[7]=p,t[8]=h,t[9]=s,t[10]=n,t[11]=L,t[12]=b):b=t[12];let C;t[13]!==y||t[14]!==b?(C=(0,o.jsx)("div",{className:y,children:b}),t[13]=y,t[14]=b,t[15]=C):C=t[15];let j=!a.trim(),S;t[16]===c?S=t[17]:(S=()=>or(c),t[16]=c,t[17]=S);let R;t[18]!==u||t[19]!==g||t[20]!==i||t[21]!==p||t[22]!==d||t[23]!==j||t[24]!==S?(R=(0,o.jsx)(Et,{isEmpty:j,onAddContext:S,onSendClick:g,isLoading:i,onStop:d,fileInputRef:u,onAddFiles:p}),t[18]=u,t[19]=g,t[20]=i,t[21]=p,t[22]=d,t[23]=j,t[24]=S,t[25]=R):R=t[25];let N;return t[26]!==C||t[27]!==R?(N=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[C,R]}),t[26]=C,t[27]=R,t[28]=N):N=t[28],N});Qe.displayName="ChatInput";var el=()=>{let e=(0,de.c)(6),t=Ve(Xt),{handleClick:r}=rt();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)(B,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),e[0]=r,e[1]=l);let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(st,{}),e[2]=n):n=e[2];let s;return e[3]===l?s=e[4]:(s=(0,o.jsx)(qe,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:n}),e[3]=l,e[4]=s),s}let a;return e[5]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(tl,{}),e[5]=a):a=e[5],a},tl=()=>{let e=(0,de.c)(95),t=It(ct),[r,a]=kt(mr),[l,n]=(0,m.useState)(""),[s,c]=(0,m.useState)(""),[i,d]=(0,m.useState)(),u=(0,m.useRef)(null),p=(0,m.useRef)(null),h=(0,m.useRef)(null),f=(0,m.useRef)(null),g=(0,m.useRef)(null),y=Ut(),{invokeAiTool:L,sendRun:b}=Vt(),C=r==null?void 0:r.id,j=zt(),{addStagedCell:S}=rr(),{createNewCell:R,prepareForRun:N}=Ft(),P;e[0]!==S||e[1]!==R||e[2]!==N||e[3]!==b||e[4]!==j?(P={addStagedCell:S,createNewCell:R,prepareForRun:N,sendRun:b,store:j},e[0]=S,e[1]=R,e[2]=N,e[3]=b,e[4]=j,e[5]=P):P=e[5];let I=P,w;e[6]===(r==null?void 0:r.messages)?w=e[7]:(w=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=w);let T;if(e[8]!==y||e[9]!==j){let x;e[11]===j?x=e[12]:(x=async v=>{var ne;let _=await Gt(v.messages),O=((ne=j.get(lt))==null?void 0:ne.mode)||At;return{body:{tools:Qt.getToolSchemas(O),...v,..._}}},e[11]=j,e[12]=x),T=new qt({api:y.getAiURL("chat").toString(),headers:y.headers(),prepareSendMessagesRequest:x}),e[8]=y,e[9]=j,e[10]=T}else T=e[10];let k;e[13]===t?k=e[14]:(k=x=>{let{messages:v}=x;t(_=>Ir({chatState:_,chatId:_.activeChatId,messages:v}))},e[13]=t,e[14]=k);let{messages:A,sendMessage:E,error:H,status:X,regenerate:W,stop:D,addToolOutput:fe,id:U}=lr({id:C,sendAutomaticallyWhen:ml,messages:w,transport:T,onFinish:k,onToolCall:async x=>{let{toolCall:v}=x;if(v.dynamic){Ie.debug("Skipping dynamic tool call",v);return}await Jt({invokeAiTool:L,addToolOutput:Lt,toolCall:{toolName:v.toolName,toolCallId:v.toolCallId,input:v.input},toolContext:I})},onError:pl}),Lt=fe,xe;e[15]===Symbol.for("react.memo_cache_sentinel")?(xe=x=>{if(x.length===0)return;let v=0;for(let _ of x)v+=_.size;if(v>Qr){hr({title:"File size exceeds 50MB limit",description:"Please remove some files and try again."});return}d(_=>[..._??[],...x])},e[15]=xe):xe=e[15];let ve=V(xe),ge;e[16]===i?ge=e[17]:(ge=x=>{i&&d(i.filter(v=>v!==x))},e[16]=i,e[17]=ge);let He=V(ge),z=X==="submitted"||X==="streaming",we;e[18]!==z||e[19]!==A?(we=z&&A.length>0&&er(A),e[18]=z,e[19]=A,e[20]=we):we=e[20];let ue=we,be;e[21]===Symbol.for("react.memo_cache_sentinel")?(be=()=>{requestAnimationFrame(()=>{if(h.current){let x=h.current;x.scrollTop=x.scrollHeight}})},e[21]=be):be=e[21];let ye;e[22]===C?ye=e[23]:(ye=[C],e[22]=C,e[23]=ye),(0,m.useEffect)(be,ye);let je;e[24]!==U||e[25]!==E||e[26]!==t?(je=async(x,v)=>{let _=Date.now(),O={id:U,title:tr(x),messages:[],createdAt:_,updatedAt:_};t(pe=>{let Ze=new Map(pe.chats);return Ze.set(O.id,O),{...pe,chats:Ze,activeChatId:O.id}});let ne=v&&v.length>0?await ot(v):void 0;E({role:"user",parts:[{type:"text",text:x},...ne??[]]}),d(void 0),n("")},e[24]=U,e[25]=E,e[26]=t,e[27]=je):je=e[27];let We=je,Se;e[28]===a?Se=e[29]:(Se=()=>{a(null),n(""),c(""),d(void 0)},e[28]=a,e[29]=Se);let Oe=V(Se),Ce;e[30]!==A||e[31]!==E?(Ce=(x,v)=>{var pe;let _=A[x],O=(pe=_.parts)==null?void 0:pe.filter(hl),ne=_.id;E({messageId:ne,role:"user",parts:[{type:"text",text:v},...O]})},e[30]=A,e[31]=E,e[32]=Ce):Ce=e[32];let me=V(Ce),Ne;e[33]!==i||e[34]!==E?(Ne=async(x,v)=>{var O;if(!v.trim())return;(O=p.current)!=null&&O.view&&at(p.current.view);let _=i?await ot(i):void 0;x==null||x.preventDefault(),E({text:v,files:_}),n(""),d(void 0)},e[33]=i,e[34]=E,e[35]=Ne):Ne=e[35];let Ye=V(Ne),Re;e[36]===W?Re=e[37]:(Re=()=>{W()},e[36]=W,e[37]=Re);let Xe=Re,_e;e[38]!==We||e[39]!==i||e[40]!==s?(_e=()=>{var x;s.trim()&&((x=u.current)!=null&&x.view&&at(u.current.view),We(s.trim(),i))},e[38]=We,e[39]=i,e[40]=s,e[41]=_e):_e=e[41];let Ue=V(_e),Ae;e[42]===Symbol.for("react.memo_cache_sentinel")?(Ae=()=>{var x,v;return(v=(x=u.current)==null?void 0:x.editor)==null?void 0:v.blur()},e[42]=Ae):Ae=e[42];let Pt=Ae,M=A.length===0,Te;e[43]!==Ye||e[44]!==Ue||e[45]!==l||e[46]!==z||e[47]!==M||e[48]!==s||e[49]!==ve||e[50]!==D?(Te=M?(0,o.jsx)(Qe,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:s,inputRef:u,inputClassName:"px-1 py-0",setInput:c,onSubmit:Ue,isLoading:z,onStop:D,fileInputRef:f,onAddFiles:ve,onClose:Pt},"new-thread-input"):(0,o.jsx)(Qe,{input:l,setInput:n,onSubmit:Ye,inputRef:p,isLoading:z,onStop:D,onClose:()=>{var x,v;return(v=(x=p.current)==null?void 0:x.editor)==null?void 0:v.blur()},fileInputRef:f,onAddFiles:ve}),e[43]=Ye,e[44]=Ue,e[45]=l,e[46]=z,e[47]=M,e[48]=s,e[49]=ve,e[50]=D,e[51]=Te):Te=e[51];let G=Te,Ee;e[52]!==i||e[53]!==M||e[54]!==He?(Ee=i&&i.length>0&&(0,o.jsx)("div",{className:se("flex flex-row gap-1 flex-wrap p-1",M&&"py-2 px-1"),children:i==null?void 0:i.map(x=>(0,o.jsx)(nr,{file:x,onRemove:()=>He(x)},x.name))}),e[52]=i,e[53]=M,e[54]=He,e[55]=Ee):Ee=e[55];let J=Ee,Be=r==null?void 0:r.id,K;e[56]!==Oe||e[57]!==a||e[58]!==Be?(K=(0,o.jsx)(dt,{children:(0,o.jsx)(Zr,{onNewChat:Oe,activeChatId:Be,setActiveChat:a})}),e[56]=Oe,e[57]=a,e[58]=Be,e[59]=K):K=e[59];let Q;e[60]!==G||e[61]!==J||e[62]!==M?(Q=M&&(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[J,G]}),e[60]=G,e[61]=J,e[62]=M,e[63]=Q):Q=e[63];let Z;if(e[64]!==me||e[65]!==ue||e[66]!==A){let x;e[68]!==me||e[69]!==ue||e[70]!==A.length?(x=(v,_)=>(0,o.jsx)(Tt,{message:v,index:_,onEdit:me,isStreamingReasoning:ue,isLast:_===A.length-1},v.id),e[68]=me,e[69]=ue,e[70]=A.length,e[71]=x):x=e[71],Z=A.map(x),e[64]=me,e[65]=ue,e[66]=A,e[67]=Z}else Z=e[67];let ee;e[72]===z?ee=e[73]:(ee=z&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(ir,{className:"h-4 w-4 animate-spin"})}),e[72]=z,e[73]=ee);let te;e[74]!==H||e[75]!==Xe?(te=H&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(Lr,{error:H}),(0,o.jsx)(B,{variant:"outline",size:"sm",onClick:Xe,children:"Retry"})]}),e[74]=H,e[75]=Xe,e[76]=te):te=e[76];let Le;e[77]===Symbol.for("react.memo_cache_sentinel")?(Le=(0,o.jsx)("div",{ref:g}),e[77]=Le):Le=e[77];let re;e[78]!==Q||e[79]!==Z||e[80]!==ee||e[81]!==te?(re=(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:h,children:[Q,Z,ee,te,Le]}),e[78]=Q,e[79]=Z,e[80]=ee,e[81]=te,e[82]=re):re=e[82];let le;e[83]!==z||e[84]!==D?(le=z&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)(B,{variant:"linkDestructive",size:"sm",onClick:D,children:"Stop"})}),e[83]=z,e[84]=D,e[85]=le):le=e[85];let oe;e[86]!==G||e[87]!==J||e[88]!==M?(oe=!M&&(0,o.jsxs)(o.Fragment,{children:[J,G]}),e[86]=G,e[87]=J,e[88]=M,e[89]=oe):oe=e[89];let Pe;return e[90]!==K||e[91]!==re||e[92]!==le||e[93]!==oe?(Pe=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[K,re,le,oe]}),e[90]=K,e[91]=re,e[92]=le,e[93]=oe,e[94]=Pe):Pe=e[94],Pe},rl=el;function ll(e){return e.type==="text"}function ol(e){return e.text}function nl(e){return e.type==="file"}function al(e,t){return(0,o.jsx)(sr,{attachment:e},t)}function sl(){}function il(){}function cl(e){return e.type==="text"}function dl(e){return e.text}function ul(e){return(0,o.jsx)(gr,{value:e.value,className:"text-xs",children:(0,o.jsxs)("div",{className:"flex flex-col",children:[e.label,(0,o.jsx)("div",{className:"text-muted-foreground text-xs pt-1 block",children:e.subtitle})]})},e.value)}function ml(e){let{messages:t}=e;return Kt(t)}function pl(e){Ie.error("An error occurred:",e)}function hl(e){return e.type==="file"}export{rl as default};
@@ -1 +1 @@
1
- import{s as O}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-BhXAndur.js";import{t as R}from"./react-Bj1aDYRI.js";import{Dn as U,On as V,cr as W,ur as L,w as Y}from"./cells-DbD2lYze.js";import{t as A}from"./compiler-runtime-B3qBwwSJ.js";import{t as X}from"./useLifecycle-ClI_npeg.js";import{o as Z}from"./utils-YqBXNpsM.js";import{t as ee}from"./jsx-runtime-ZmTK25f3.js";import{r as M,t as z}from"./button-CZ3Cs4qb.js";import{t as x}from"./cn-BKtXLv3a.js";import{G as te}from"./JsonOutput-BSoo6rnn.js";import{r as ae}from"./requests-B4FYHTZl.js";import{t as se}from"./createLucideIcon-BCdY6lG5.js";import{t as re}from"./x-ZP5cObgf.js";import{t as ne}from"./chevron-right--18M_6o9.js";import{n as le,t as oe}from"./spinner-DA8-7wQv.js";import{r as ce}from"./useTheme-CTORu22_.js";import{t as $}from"./tooltip-C_WgOOcZ.js";import{t as ie}from"./context-Ga_vV5mE.js";import{r as me}from"./numbers-UHLm3mA-.js";import{t as de}from"./copy-icon-B9w72gBC.js";import{t as pe}from"./useInstallPackage-xrG_Tm9T.js";import{n as ue}from"./html-to-image-DrmKVKna.js";import{o as xe}from"./focus-BEf2RhRf.js";var I=se("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"}]]),h=A(),l=O(ee(),1);const he=o=>{let e=(0,h.c)(4),{isExpanded:a}=o,s=a&&"rotate-90",t;e[0]===s?t=e[1]:(t=x("h-3 w-3 transition-transform",s),e[0]=s,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,l.jsx)(ne,{className:t}),e[2]=t,e[3]=r),r},fe=o=>{let e=(0,h.c)(5),{children:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("flex gap-1.5 items-center font-bold py-1.5 text-muted-foreground bg-(--slate-2) text-sm",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},ge=o=>{let e=(0,h.c)(5),{content:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm text-muted-foreground py-1",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},ye=o=>{let e=(0,h.c)(6),{error:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm bg-red-50 dark:bg-red-900 text-red-600 dark:text-red-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=t);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(re,{className:"h-4 w-4 mt-0.5"}),e[2]=r):r=e[2];let n;return e[3]!==a.message||e[4]!==t?(n=(0,l.jsxs)("div",{className:t,children:[r,a.message]}),e[3]=a.message,e[4]=t,e[5]=n):n=e[5],n},be=o=>{let e=(0,h.c)(6),{message:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm bg-blue-50 dark:bg-(--accent) text-blue-500 dark:text-blue-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=t);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(le,{className:"h-4 w-4 animate-spin"}),e[2]=r):r=e[2];let n;return e[3]!==a||e[4]!==t?(n=(0,l.jsxs)("div",{className:t,children:[r,a]}),e[3]=a,e[4]=t,e[5]=n):n=e[5],n},E=o=>{let e=(0,h.c)(5),{children:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("flex flex-col gap-2 relative",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},_e=o=>{let e=(0,h.c)(6),{columnName:a,dataType:s}=o,t=U[s],r=`w-4 h-4 p-0.5 rounded-sm stroke-card-foreground ${V(s)}`,n;e[0]!==t||e[1]!==r?(n=(0,l.jsx)(t,{className:r}),e[0]=t,e[1]=r,e[2]=n):n=e[2];let c;return e[3]!==a||e[4]!==n?(c=(0,l.jsxs)("div",{className:"flex flex-row items-center gap-1.5",children:[n,a]}),e[3]=a,e[4]=n,e[5]=c):c=e[5],c};var Ne=A(),je=O(R(),1);const ke=o=>{let e=(0,Ne.c)(13),{packages:a,showMaxPackages:s,className:t,onInstall:r}=o,{handleInstallPackages:n}=pe();if(!a||a.length===0)return null;let c;e[0]!==n||e[1]!==r||e[2]!==a?(c=()=>{n(a,r)},e[0]=n,e[1]=r,e[2]=a,e[3]=c):c=e[3];let i;e[4]===t?i=e[5]:(i=x("ml-2",t),e[4]=t,e[5]=i);let d;e[6]!==a||e[7]!==s?(d=s?a.slice(0,s).join(", "):a.join(", "),e[6]=a,e[7]=s,e[8]=d):d=e[8];let p;return e[9]!==c||e[10]!==i||e[11]!==d?(p=(0,l.jsxs)(z,{variant:"outline",size:"xs",onClick:c,className:i,children:["Install"," ",d]}),e[9]=c,e[10]=i,e[11]=d,e[12]=p):p=e[12],p};var Q=A();const ve=o=>{let e=(0,Q.c)(53),{table:a,column:s,preview:t,onAddColumnChart:r,sqlTableContext:n}=o,{theme:c}=ce(),{previewDatasetColumn:i}=ae(),{locale:d}=ie(),p;e[0]!==s.name||e[1]!==i||e[2]!==n||e[3]!==a.name||e[4]!==a.source||e[5]!==a.source_type?(p=()=>{i({source:a.source,tableName:a.name,columnName:s.name,sourceType:a.source_type,fullyQualifiedTableName:n?`${n.database}.${n.schema}.${a.name}`:a.name})},e[0]=s.name,e[1]=i,e[2]=n,e[3]=a.name,e[4]=a.source,e[5]=a.source_type,e[6]=p):p=e[6];let u=p,y;if(e[7]!==t||e[8]!==u||e[9]!==a.source_type?(y=()=>{t||a.source_type==="connection"||a.source_type==="catalog"||u()},e[7]=t,e[8]=u,e[9]=a.source_type,e[10]=y):y=e[10],X(y),a.source_type==="connection"){let m=s.name,H=s.external_type,f;e[11]!==s.name||e[12]!==r||e[13]!==n||e[14]!==a?(f=M.stopPropagation(()=>{r(L({table:a,columnName:s.name,sqlTableContext:n}))}),e[11]=s.name,e[12]=r,e[13]=n,e[14]=a,e[15]=f):f=e[15];let P;e[16]===Symbol.for("react.memo_cache_sentinel")?(P=(0,l.jsx)(I,{className:"h-3 w-3 mr-1"}),e[16]=P):P=e[16];let g;e[17]===f?g=e[18]:(g=(0,l.jsxs)(z,{variant:"outline",size:"xs",onClick:f,children:[P," Add SQL cell"]}),e[17]=f,e[18]=g);let T;return e[19]!==s.external_type||e[20]!==s.name||e[21]!==g?(T=(0,l.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[m," (",H,")",g]}),e[19]=s.external_type,e[20]=s.name,e[21]=g,e[22]=T):T=e[22],T}if(a.source_type==="catalog"){let m;return e[23]!==s.external_type||e[24]!==s.name?(m=(0,l.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[s.name," (",s.external_type,")"]}),e[23]=s.external_type,e[24]=s.name,e[25]=m):m=e[25],m}if(!t){let m;return e[26]===Symbol.for("react.memo_cache_sentinel")?(m=(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=m):m=e[26],m}let b;e[27]!==t.error||e[28]!==t.missing_packages||e[29]!==u?(b=t.error&&G({error:t.error,missingPackages:t.missing_packages,refetchPreview:u}),e[27]=t.error,e[28]=t.missing_packages,e[29]=u,e[30]=b):b=e[30];let _=b,N;e[31]!==s.type||e[32]!==d||e[33]!==t.stats?(N=t.stats&&J({stats:t.stats,dataType:s.type,locale:d}),e[31]=s.type,e[32]=d,e[33]=t.stats,e[34]=N):N=e[34];let j=N,k;e[35]!==t.chart_spec||e[36]!==c?(k=t.chart_spec&&B(t.chart_spec,c),e[35]=t.chart_spec,e[36]=c,e[37]=k):k=e[37];let v=k,w;e[38]!==t.chart_code||e[39]!==a.source_type?(w=t.chart_code&&a.source_type==="local"&&(0,l.jsx)(F,{chartCode:t.chart_code}),e[38]=t.chart_code,e[39]=a.source_type,e[40]=w):w=e[40];let D=w,C;e[41]!==s.name||e[42]!==r||e[43]!==n||e[44]!==a?(C=a.source_type==="duckdb"&&(0,l.jsx)($,{content:"Add SQL cell",delayDuration:400,children:(0,l.jsx)(z,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:M.stopPropagation(()=>{r(L({table:a,columnName:s.name,sqlTableContext:n}))}),children:(0,l.jsx)(I,{className:"h-3 w-3"})})}),e[41]=s.name,e[42]=r,e[43]=n,e[44]=a,e[45]=C):C=e[45];let q=C;if(!_&&!j&&!v){let m;return e[46]===Symbol.for("react.memo_cache_sentinel")?(m=(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=m):m=e[46],m}let S;return e[47]!==D||e[48]!==q||e[49]!==v||e[50]!==_||e[51]!==j?(S=(0,l.jsxs)(E,{children:[_,D,q,v,j]}),e[47]=D,e[48]=q,e[49]=v,e[50]=_,e[51]=j,e[52]=S):S=e[52],S};function G({error:o,missingPackages:e,refetchPreview:a}){return(0,l.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,l.jsx)("span",{children:o}),e&&(0,l.jsx)(ke,{packages:e,showMaxPackages:1,className:"w-32",onInstall:a})]})}function J({stats:o,dataType:e,locale:a}){return(0,l.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(o).map(([s,t])=>t==null?null:(0,l.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,l.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:W(s,e)}),(0,l.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:me(t,a)}),(0,l.jsx)(de,{className:"h-3 w-3 invisible group-hover:visible",value:String(t)})]},s))})}var we=(0,l.jsx)("div",{className:"flex justify-center",children:(0,l.jsx)(oe,{className:"size-4"})});function B(o,e){return(0,l.jsx)(je.Suspense,{fallback:we,children:(0,l.jsx)(te,{spec:(a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}}))(JSON.parse(o)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const F=o=>{let e=(0,Q.c)(10),{chartCode:a}=o,s=K(Z),t=xe(),{createNewCell:r}=Y(),n;e[0]!==s||e[1]!==r||e[2]!==t?(n=u=>{u.includes("alt")&&ue({autoInstantiate:s,createNewCell:r,fromCellId:t}),r({code:u,before:!1,cellId:t??"__end__"})},e[0]=s,e[1]=r,e[2]=t,e[3]=n):n=e[3];let c=n,i;e[4]!==a||e[5]!==c?(i=M.stopPropagation(()=>c(a)),e[4]=a,e[5]=c,e[6]=i):i=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,l.jsx)(I,{className:"h-3 w-3"}),e[7]=d):d=e[7];let p;return e[8]===i?p=e[9]:(p=(0,l.jsx)($,{content:"Add chart to notebook",delayDuration:400,children:(0,l.jsx)(z,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:i,children:d})}),e[8]=i,e[9]=p),p};export{J as a,fe as c,be as d,he as f,G as i,ge as l,ve as n,_e as o,I as p,B as r,E as s,F as t,ye as u};
1
+ import{s as O}from"./chunk-LvLJmgfZ.js";import{u as K}from"./useEvent-BhXAndur.js";import{t as R}from"./react-Bj1aDYRI.js";import{Dn as U,On as V,cr as W,ur as L,w as Y}from"./cells-DbD2lYze.js";import{t as A}from"./compiler-runtime-B3qBwwSJ.js";import{t as X}from"./useLifecycle-ClI_npeg.js";import{o as Z}from"./utils-YqBXNpsM.js";import{t as ee}from"./jsx-runtime-ZmTK25f3.js";import{r as M,t as z}from"./button-CZ3Cs4qb.js";import{t as x}from"./cn-BKtXLv3a.js";import{G as te}from"./JsonOutput-DsO4felE.js";import{r as ae}from"./requests-B4FYHTZl.js";import{t as se}from"./createLucideIcon-BCdY6lG5.js";import{t as re}from"./x-ZP5cObgf.js";import{t as ne}from"./chevron-right--18M_6o9.js";import{n as le,t as oe}from"./spinner-DA8-7wQv.js";import{r as ce}from"./useTheme-CTORu22_.js";import{t as $}from"./tooltip-C_WgOOcZ.js";import{t as ie}from"./context-Ga_vV5mE.js";import{r as me}from"./numbers-UHLm3mA-.js";import{t as de}from"./copy-icon-B9w72gBC.js";import{t as pe}from"./useInstallPackage-xrG_Tm9T.js";import{n as ue}from"./html-to-image-DrmKVKna.js";import{o as xe}from"./focus-BEf2RhRf.js";var I=se("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"}]]),h=A(),l=O(ee(),1);const he=o=>{let e=(0,h.c)(4),{isExpanded:a}=o,s=a&&"rotate-90",t;e[0]===s?t=e[1]:(t=x("h-3 w-3 transition-transform",s),e[0]=s,e[1]=t);let r;return e[2]===t?r=e[3]:(r=(0,l.jsx)(ne,{className:t}),e[2]=t,e[3]=r),r},fe=o=>{let e=(0,h.c)(5),{children:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("flex gap-1.5 items-center font-bold py-1.5 text-muted-foreground bg-(--slate-2) text-sm",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},ge=o=>{let e=(0,h.c)(5),{content:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm text-muted-foreground py-1",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},ye=o=>{let e=(0,h.c)(6),{error:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm bg-red-50 dark:bg-red-900 text-red-600 dark:text-red-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=t);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(re,{className:"h-4 w-4 mt-0.5"}),e[2]=r):r=e[2];let n;return e[3]!==a.message||e[4]!==t?(n=(0,l.jsxs)("div",{className:t,children:[r,a.message]}),e[3]=a.message,e[4]=t,e[5]=n):n=e[5],n},be=o=>{let e=(0,h.c)(6),{message:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("text-sm bg-blue-50 dark:bg-(--accent) text-blue-500 dark:text-blue-50 flex items-center gap-2 p-2 h-8",s),e[0]=s,e[1]=t);let r;e[2]===Symbol.for("react.memo_cache_sentinel")?(r=(0,l.jsx)(le,{className:"h-4 w-4 animate-spin"}),e[2]=r):r=e[2];let n;return e[3]!==a||e[4]!==t?(n=(0,l.jsxs)("div",{className:t,children:[r,a]}),e[3]=a,e[4]=t,e[5]=n):n=e[5],n},E=o=>{let e=(0,h.c)(5),{children:a,className:s}=o,t;e[0]===s?t=e[1]:(t=x("flex flex-col gap-2 relative",s),e[0]=s,e[1]=t);let r;return e[2]!==a||e[3]!==t?(r=(0,l.jsx)("div",{className:t,children:a}),e[2]=a,e[3]=t,e[4]=r):r=e[4],r},_e=o=>{let e=(0,h.c)(6),{columnName:a,dataType:s}=o,t=U[s],r=`w-4 h-4 p-0.5 rounded-sm stroke-card-foreground ${V(s)}`,n;e[0]!==t||e[1]!==r?(n=(0,l.jsx)(t,{className:r}),e[0]=t,e[1]=r,e[2]=n):n=e[2];let c;return e[3]!==a||e[4]!==n?(c=(0,l.jsxs)("div",{className:"flex flex-row items-center gap-1.5",children:[n,a]}),e[3]=a,e[4]=n,e[5]=c):c=e[5],c};var Ne=A(),je=O(R(),1);const ke=o=>{let e=(0,Ne.c)(13),{packages:a,showMaxPackages:s,className:t,onInstall:r}=o,{handleInstallPackages:n}=pe();if(!a||a.length===0)return null;let c;e[0]!==n||e[1]!==r||e[2]!==a?(c=()=>{n(a,r)},e[0]=n,e[1]=r,e[2]=a,e[3]=c):c=e[3];let i;e[4]===t?i=e[5]:(i=x("ml-2",t),e[4]=t,e[5]=i);let d;e[6]!==a||e[7]!==s?(d=s?a.slice(0,s).join(", "):a.join(", "),e[6]=a,e[7]=s,e[8]=d):d=e[8];let p;return e[9]!==c||e[10]!==i||e[11]!==d?(p=(0,l.jsxs)(z,{variant:"outline",size:"xs",onClick:c,className:i,children:["Install"," ",d]}),e[9]=c,e[10]=i,e[11]=d,e[12]=p):p=e[12],p};var Q=A();const ve=o=>{let e=(0,Q.c)(53),{table:a,column:s,preview:t,onAddColumnChart:r,sqlTableContext:n}=o,{theme:c}=ce(),{previewDatasetColumn:i}=ae(),{locale:d}=ie(),p;e[0]!==s.name||e[1]!==i||e[2]!==n||e[3]!==a.name||e[4]!==a.source||e[5]!==a.source_type?(p=()=>{i({source:a.source,tableName:a.name,columnName:s.name,sourceType:a.source_type,fullyQualifiedTableName:n?`${n.database}.${n.schema}.${a.name}`:a.name})},e[0]=s.name,e[1]=i,e[2]=n,e[3]=a.name,e[4]=a.source,e[5]=a.source_type,e[6]=p):p=e[6];let u=p,y;if(e[7]!==t||e[8]!==u||e[9]!==a.source_type?(y=()=>{t||a.source_type==="connection"||a.source_type==="catalog"||u()},e[7]=t,e[8]=u,e[9]=a.source_type,e[10]=y):y=e[10],X(y),a.source_type==="connection"){let m=s.name,H=s.external_type,f;e[11]!==s.name||e[12]!==r||e[13]!==n||e[14]!==a?(f=M.stopPropagation(()=>{r(L({table:a,columnName:s.name,sqlTableContext:n}))}),e[11]=s.name,e[12]=r,e[13]=n,e[14]=a,e[15]=f):f=e[15];let P;e[16]===Symbol.for("react.memo_cache_sentinel")?(P=(0,l.jsx)(I,{className:"h-3 w-3 mr-1"}),e[16]=P):P=e[16];let g;e[17]===f?g=e[18]:(g=(0,l.jsxs)(z,{variant:"outline",size:"xs",onClick:f,children:[P," Add SQL cell"]}),e[17]=f,e[18]=g);let T;return e[19]!==s.external_type||e[20]!==s.name||e[21]!==g?(T=(0,l.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[m," (",H,")",g]}),e[19]=s.external_type,e[20]=s.name,e[21]=g,e[22]=T):T=e[22],T}if(a.source_type==="catalog"){let m;return e[23]!==s.external_type||e[24]!==s.name?(m=(0,l.jsxs)("span",{className:"text-xs text-muted-foreground gap-2 flex items-center justify-between pl-7",children:[s.name," (",s.external_type,")"]}),e[23]=s.external_type,e[24]=s.name,e[25]=m):m=e[25],m}if(!t){let m;return e[26]===Symbol.for("react.memo_cache_sentinel")?(m=(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"Loading..."}),e[26]=m):m=e[26],m}let b;e[27]!==t.error||e[28]!==t.missing_packages||e[29]!==u?(b=t.error&&G({error:t.error,missingPackages:t.missing_packages,refetchPreview:u}),e[27]=t.error,e[28]=t.missing_packages,e[29]=u,e[30]=b):b=e[30];let _=b,N;e[31]!==s.type||e[32]!==d||e[33]!==t.stats?(N=t.stats&&J({stats:t.stats,dataType:s.type,locale:d}),e[31]=s.type,e[32]=d,e[33]=t.stats,e[34]=N):N=e[34];let j=N,k;e[35]!==t.chart_spec||e[36]!==c?(k=t.chart_spec&&B(t.chart_spec,c),e[35]=t.chart_spec,e[36]=c,e[37]=k):k=e[37];let v=k,w;e[38]!==t.chart_code||e[39]!==a.source_type?(w=t.chart_code&&a.source_type==="local"&&(0,l.jsx)(F,{chartCode:t.chart_code}),e[38]=t.chart_code,e[39]=a.source_type,e[40]=w):w=e[40];let D=w,C;e[41]!==s.name||e[42]!==r||e[43]!==n||e[44]!==a?(C=a.source_type==="duckdb"&&(0,l.jsx)($,{content:"Add SQL cell",delayDuration:400,children:(0,l.jsx)(z,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-1",onClick:M.stopPropagation(()=>{r(L({table:a,columnName:s.name,sqlTableContext:n}))}),children:(0,l.jsx)(I,{className:"h-3 w-3"})})}),e[41]=s.name,e[42]=r,e[43]=n,e[44]=a,e[45]=C):C=e[45];let q=C;if(!_&&!j&&!v){let m;return e[46]===Symbol.for("react.memo_cache_sentinel")?(m=(0,l.jsx)("span",{className:"text-xs text-muted-foreground",children:"No data"}),e[46]=m):m=e[46],m}let S;return e[47]!==D||e[48]!==q||e[49]!==v||e[50]!==_||e[51]!==j?(S=(0,l.jsxs)(E,{children:[_,D,q,v,j]}),e[47]=D,e[48]=q,e[49]=v,e[50]=_,e[51]=j,e[52]=S):S=e[52],S};function G({error:o,missingPackages:e,refetchPreview:a}){return(0,l.jsxs)("div",{className:"text-xs text-muted-foreground p-2 border border-border rounded flex items-center justify-between",children:[(0,l.jsx)("span",{children:o}),e&&(0,l.jsx)(ke,{packages:e,showMaxPackages:1,className:"w-32",onInstall:a})]})}function J({stats:o,dataType:e,locale:a}){return(0,l.jsx)("div",{className:"gap-x-16 gap-y-1 grid grid-cols-2-fit border rounded p-2 empty:hidden",children:Object.entries(o).map(([s,t])=>t==null?null:(0,l.jsxs)("div",{className:"flex items-center gap-1 group",children:[(0,l.jsx)("span",{className:"text-xs min-w-[60px] capitalize",children:W(s,e)}),(0,l.jsx)("span",{className:"text-xs font-bold text-muted-foreground tracking-wide",children:me(t,a)}),(0,l.jsx)(de,{className:"h-3 w-3 invisible group-hover:visible",value:String(t)})]},s))})}var we=(0,l.jsx)("div",{className:"flex justify-center",children:(0,l.jsx)(oe,{className:"size-4"})});function B(o,e){return(0,l.jsx)(je.Suspense,{fallback:we,children:(0,l.jsx)(te,{spec:(a=>({...a,background:"transparent",config:{...a.config,background:"transparent"}}))(JSON.parse(o)),options:{theme:e==="dark"?"dark":"vox",height:100,width:"container",actions:!1,renderer:"canvas"}})})}const F=o=>{let e=(0,Q.c)(10),{chartCode:a}=o,s=K(Z),t=xe(),{createNewCell:r}=Y(),n;e[0]!==s||e[1]!==r||e[2]!==t?(n=u=>{u.includes("alt")&&ue({autoInstantiate:s,createNewCell:r,fromCellId:t}),r({code:u,before:!1,cellId:t??"__end__"})},e[0]=s,e[1]=r,e[2]=t,e[3]=n):n=e[3];let c=n,i;e[4]!==a||e[5]!==c?(i=M.stopPropagation(()=>c(a)),e[4]=a,e[5]=c,e[6]=i):i=e[6];let d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,l.jsx)(I,{className:"h-3 w-3"}),e[7]=d):d=e[7];let p;return e[8]===i?p=e[9]:(p=(0,l.jsx)($,{content:"Add chart to notebook",delayDuration:400,children:(0,l.jsx)(z,{variant:"outline",size:"icon",className:"z-10 bg-background absolute right-1 -top-0.5",onClick:i,children:d})}),e[8]=i,e[9]=p),p};export{J as a,fe as c,be as d,he as f,G as i,ge as l,ve as n,_e as o,I as p,B as r,E as s,F as t,ye as u};
@@ -1 +1 @@
1
- import{s as U}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-BhXAndur.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Vr as Z}from"./cells-DbD2lYze.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DxKBXCGp.js";import{S as ee}from"./ai-model-dropdown-Bfoz25CZ.js";import{a as le,i as te,l as ie}from"./hotkeys-BHHWjLlp.js";import{p as ae,v as oe,y as re}from"./utils-YqBXNpsM.js";import{i as ne}from"./switch-BUKXfBTu.js";import{t as pe}from"./useEventListener-Cb-RVVEn.js";import{t as se}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./JsonOutput-BSoo6rnn.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as de}from"./requests-B4FYHTZl.js";import"./layout-DFhAD73H.js";import"./download-CmdFQXRz.js";import{t as me}from"./useCellActionButton-VRGP_KkG.js";import"./markdown-renderer-D8AmLSIR.js";import{i as he,t as ce}from"./useNotebookActions-DY_TVOaP.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./session-fBtIbMpB.js";import"./Combination-izwufzWe.js";import"./dates-CT5PUuFo.js";import"./popover-B-131r4d.js";import"./share-rXkgGlhr.js";import"./vega-loader.browser-DXARUlxo.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import"./purify.es-DZrAQFIu.js";import{a as ye,c as fe,i as z,l as J,n as ue,o as K,r as be,s as ge}from"./command-PbcrObnK.js";import"./chunk-5FQGJX7Z-CwvgJCug.js";import"./katex-CDLTCvjQ.js";import"./html-to-image-DrmKVKna.js";import{r as ke}from"./focus-BEf2RhRf.js";import{t as Q}from"./renderShortcut-B1jzzLJw.js";import"./esm-C-53tlK5.js";import"./name-cell-input-BthamWJY.js";import"./multi-icon-BWLbAXq5.js";import"./dist-BZe-2kC9.js";import"./dist-Bpsss9Eu.js";import"./dist-qIIHXwC_.js";import"./dist-OZngTf6n.js";import"./dist-DGPkGdD2.js";import"./dist-DLCy1STk.js";import"./dist-CNknMFYG.js";import"./dist-DsxhNXOv.js";import"./dist-rT8uZk_k.js";import"./esm-BmQh-C2G.js";var Ce=O(),je=U(Y(),1);function xe(e,l){let t=(0,Ce.c)(11),n;t[0]===l?n=t[1]:(n=new Z(l),t[0]=l,t[1]=n);let p=n,r;t[2]!==e||t[3]!==p?(r=()=>p.get(e),t[2]=e,t[3]=p,t[4]=r):r=t[4];let[m,g]=(0,je.useState)(r),i;t[5]!==e||t[6]!==p?(i=k=>{g(k),p.set(e,k)},t[5]=e,t[6]=p,t[7]=i):i=t[7];let f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var ve=O(),Se=3;function we(){let e=(0,ve.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,n]=xe("marimo:commands",l),p;e[1]!==t||e[2]!==n?(p=m=>{n(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=n,e[3]=p):p=e[3];let r;return e[4]!==t||e[5]!==p?(r={recentCommands:t,addRecentCommand:p},e[4]=t,e[5]=p,e[6]=r):r=e[6],r}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(t=>t.label?W(t)?T(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label}:[])}var He=O();function Ae(){let e=(0,He.c)(75),[l,t]=re(),[n,p]=oe(),{saveAppConfig:r,saveUserConfig:m}=de(),g;e[0]!==m||e[1]!==t?(g=async d=>{await m({config:d}).then(()=>{t(c=>({...c,...d}))})},e[0]=m,e[1]=t,e[2]=g):g=e[2];let i=g,f;e[3]!==r||e[4]!==p?(f=async d=>{await r({config:d}).then(()=>{p(d)})},e[3]=r,e[4]=p,e[5]=f):f=e[5];let h=f,k;if(e[6]!==n||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let d;e[13]===n?d=e[14]:(d=I=>I!==n.width,e[13]=n,e[14]=d);let c;e[15]!==n||e[16]!==h?(c=I=>({label:`App config > Set width=${I}`,handle:()=>{h({...n,width:I})}}),e[15]=n,e[16]=h,e[17]=c):c=e[17];let H;e[18]!==l.display||e[19]!==i?(H={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=H):H=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let A;e[24]!==l.display||e[25]!==i?(A={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=A):A=e[26];let P=l.keymap.preset==="vim",M;e[27]!==l.keymap||e[28]!==i?(M=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=M):M=e[29];let N;e[30]!==P||e[31]!==M?(N={label:"Config > Switch keymap to VIM",hidden:P,handle:M},e[30]=P,e[31]=M,e[32]=N):N=e[32];let D=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==D||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:D,handle:j},e[36]=D,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",V;e[42]!==x||e[43]!==v?(V={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=V):V=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let G=l.completion.copilot==="github",$;e[48]!==S||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:S,hidden:G},e[48]=S,e[49]=G,e[50]=$):$=e[50];let q=!l.display.reference_highlighting,w;e[51]!==l.display||e[52]!==i?(w=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=w):w=e[53];let b;e[54]!==q||e[55]!==w?(b={label:"Config > Disable reference highlighting",hidden:q,handle:w},e[54]=q,e[55]=w,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let F;e[60]!==l.display.reference_highlighting||e[61]!==y?(F={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=F):F=e[62];let o=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==i?(a=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=a):a=e[65];let R;e[66]!==o||e[67]!==a?(R={label:"Config > Set cell output area: above",hidden:o,handle:a},e[66]=o,e[67]=a,e[68]=R):R=e[68];let _=l.display.cell_output==="below",E;e[69]!==l.display||e[70]!==i?(E=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=E):E=e[71];let B;e[72]!==_||e[73]!==E?(B={label:"Config > Set cell output area: below",hidden:_,handle:E},e[72]=_,e[73]=E,e[74]=B):B=e[74],k=[...ee().filter(d).map(c),H,C,A,N,u,V,$,b,F,R,B].filter(Me),e[6]=n,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=k}else k=e[12];return k}function Me(e){return!e.hidden}var Ne=O(),s=U(se(),1),De=()=>{let e=(0,Ne.c)(37),[l,t]=X(he),n=ne(),p=L(ke),r=L(ae),m;e[0]===p?m=e[1]:(m={cell:p},e[0]=p,e[1]=m);let g=me(m).flat();g=T(g);let i=Ae(),f=ce();f=[...T(f),...T(i)];let h=f.filter(Fe),k=le.keyBy(h,Re),{recentCommands:d,addRecentCommand:c}=we(),H;e[2]===d?H=e[3]:(H=new Set(d),e[2]=d,e[3]=H);let C=H,A;e[4]!==r||e[5]!==t?(A=o=>{ie(r.getHotkey("global.commandPalette").key)(o)&&(o.preventDefault(),t(Ee))},e[4]=r,e[5]=t,e[6]=A):A=e[6],pe(document,"keydown",A);let P;e[7]!==c||e[8]!==r||e[9]!==n||e[10]!==t?(P=(o,a)=>{let R=n[o];if(!R)return null;let _=r.getHotkey(o);return(0,s.jsxs)(K,{disabled:a.disabled,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{R()})},value:_.name,children:[(0,s.jsxs)("span",{children:[_.name,a.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:_.key})})]},o)},e[7]=c,e[8]=r,e[9]=n,e[10]=t,e[11]=P):P=e[11];let M=P,N;e[12]!==c||e[13]!==r||e[14]!==t?(N=o=>{let{label:a,handle:R,props:_,hotkey:E}=o,B=_===void 0?{}:_;return(0,s.jsxs)(K,{disabled:B.disabled,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{R()})},value:a,children:[(0,s.jsxs)("span",{children:[a,B.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),E&&(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:r.getHotkey(E).key})})]},a)},e[12]=c,e[13]=r,e[14]=t,e[15]=N):N=e[15];let D=N,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let V=d.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z,{heading:"Recently Used",children:d.map(o=>{let a=k[o];return te(o)?M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!W(a)?D({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip}}):null})}),(0,s.jsx)(fe,{})]}),S=z,G=r.iterate().map(o=>{if(C.has(o))return null;let a=k[o];return M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),$=h.map(o=>C.has(o.label)?null:D({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}})),q;e[18]!==C||e[19]!==D?(q=o=>C.has(o.label)?null:D({label:`Cell > ${o.label}`,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}),e[18]=C,e[19]=D,e[20]=q):q=e[20];let w=g.map(q),b;e[21]!==S||e[22]!==$||e[23]!==w||e[24]!==G?(b=(0,s.jsxs)(S,{heading:"Commands",children:[G,$,w]}),e[21]=S,e[22]=$,e[23]=w,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==V?(y=(0,s.jsxs)(x,{children:[v,V,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=V,e[30]=y):y=e[30];let F;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(F=(0,s.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=F):F=e[36],F};function Fe(e){return!e.hotkey}function Re(e){return e.label}function Ee(e){return!e}export{De as default};
1
+ import{s as U}from"./chunk-LvLJmgfZ.js";import{l as X,u as L}from"./useEvent-BhXAndur.js";import{t as Y}from"./react-Bj1aDYRI.js";import{Vr as Z}from"./cells-DbD2lYze.js";import"./react-dom-CSu739Rf.js";import{t as O}from"./compiler-runtime-B3qBwwSJ.js";import"./tooltip-DxKBXCGp.js";import{S as ee}from"./ai-model-dropdown-CODXtvnr.js";import{a as le,i as te,l as ie}from"./hotkeys-BHHWjLlp.js";import{p as ae,v as oe,y as re}from"./utils-YqBXNpsM.js";import{i as ne}from"./switch-BUKXfBTu.js";import{t as pe}from"./useEventListener-Cb-RVVEn.js";import{t as se}from"./jsx-runtime-ZmTK25f3.js";import"./dist-DBwNzi3C.js";import"./JsonOutput-DsO4felE.js";import"./cjs-CH5Rj0g8.js";import"./main-U5Goe76G.js";import"./useNonce-CS26E0hA.js";import{r as de}from"./requests-B4FYHTZl.js";import"./layout-D7NLGhPa.js";import"./download-CmdFQXRz.js";import{t as me}from"./useCellActionButton-VRGP_KkG.js";import"./markdown-renderer-D8AmLSIR.js";import{i as he,t as ce}from"./useNotebookActions-BEKXbrFJ.js";import"./dist-Cayq-K1c.js";import"./dist-TiFCI16_.js";import"./dist-BIKFl48f.js";import"./dist-B0VqT_4z.js";import"./dist-BYyu59D8.js";import"./session-fBtIbMpB.js";import"./Combination-izwufzWe.js";import"./dates-CT5PUuFo.js";import"./popover-B-131r4d.js";import"./share-rXkgGlhr.js";import"./vega-loader.browser-DXARUlxo.js";import"./defaultLocale-JieDVWC_.js";import"./defaultLocale-BLne0bXb.js";import"./purify.es-DZrAQFIu.js";import{a as ye,c as fe,i as z,l as J,n as ue,o as K,r as be,s as ge}from"./command-PbcrObnK.js";import"./chunk-5FQGJX7Z-CwvgJCug.js";import"./katex-CDLTCvjQ.js";import"./html-to-image-DrmKVKna.js";import{r as ke}from"./focus-BEf2RhRf.js";import{t as Q}from"./renderShortcut-B1jzzLJw.js";import"./esm-C-53tlK5.js";import"./name-cell-input-BthamWJY.js";import"./multi-icon-BWLbAXq5.js";import"./dist-BZe-2kC9.js";import"./dist-Bpsss9Eu.js";import"./dist-qIIHXwC_.js";import"./dist-OZngTf6n.js";import"./dist-DGPkGdD2.js";import"./dist-DLCy1STk.js";import"./dist-CNknMFYG.js";import"./dist-DsxhNXOv.js";import"./dist-rT8uZk_k.js";import"./esm-BmQh-C2G.js";var Ce=O(),je=U(Y(),1);function xe(e,l){let t=(0,Ce.c)(11),n;t[0]===l?n=t[1]:(n=new Z(l),t[0]=l,t[1]=n);let p=n,r;t[2]!==e||t[3]!==p?(r=()=>p.get(e),t[2]=e,t[3]=p,t[4]=r):r=t[4];let[m,g]=(0,je.useState)(r),i;t[5]!==e||t[6]!==p?(i=k=>{g(k),p.set(e,k)},t[5]=e,t[6]=p,t[7]=i):i=t[7];let f=i,h;return t[8]!==f||t[9]!==m?(h=[m,f],t[8]=f,t[9]=m,t[10]=h):h=t[10],h}var ve=O(),Se=3;function we(){let e=(0,ve.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[t,n]=xe("marimo:commands",l),p;e[1]!==t||e[2]!==n?(p=m=>{n(_e([m,...t]).slice(0,Se))},e[1]=t,e[2]=n,e[3]=p):p=e[3];let r;return e[4]!==t||e[5]!==p?(r={recentCommands:t,addRecentCommand:p},e[4]=t,e[5]=p,e[6]=r):r=e[6],r}function _e(e){return[...new Set(e)]}function W(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(t=>t.label?W(t)?T(t.dropdown,`${l+t.label} > `):{...t,label:l+t.label}:[])}var He=O();function Ae(){let e=(0,He.c)(75),[l,t]=re(),[n,p]=oe(),{saveAppConfig:r,saveUserConfig:m}=de(),g;e[0]!==m||e[1]!==t?(g=async d=>{await m({config:d}).then(()=>{t(c=>({...c,...d}))})},e[0]=m,e[1]=t,e[2]=g):g=e[2];let i=g,f;e[3]!==r||e[4]!==p?(f=async d=>{await r({config:d}).then(()=>{p(d)})},e[3]=r,e[4]=p,e[5]=f):f=e[5];let h=f,k;if(e[6]!==n||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==h||e[11]!==i){let d;e[13]===n?d=e[14]:(d=I=>I!==n.width,e[13]=n,e[14]=d);let c;e[15]!==n||e[16]!==h?(c=I=>({label:`App config > Set width=${I}`,handle:()=>{h({...n,width:I})}}),e[15]=n,e[16]=h,e[17]=c):c=e[17];let H;e[18]!==l.display||e[19]!==i?(H={label:"Config > Set theme: dark",handle:()=>{i({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=i,e[20]=H):H=e[20];let C;e[21]!==l.display||e[22]!==i?(C={label:"Config > Set theme: light",handle:()=>{i({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=i,e[23]=C):C=e[23];let A;e[24]!==l.display||e[25]!==i?(A={label:"Config > Set theme: system",handle:()=>{i({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=i,e[26]=A):A=e[26];let P=l.keymap.preset==="vim",M;e[27]!==l.keymap||e[28]!==i?(M=()=>{i({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=i,e[29]=M):M=e[29];let N;e[30]!==P||e[31]!==M?(N={label:"Config > Switch keymap to VIM",hidden:P,handle:M},e[30]=P,e[31]=M,e[32]=N):N=e[32];let D=l.keymap.preset==="default",j;e[33]!==l.keymap||e[34]!==i?(j=()=>{i({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=i,e[35]=j):j=e[35];let u;e[36]!==D||e[37]!==j?(u={label:"Config > Switch keymap to default (current: VIM)",hidden:D,handle:j},e[36]=D,e[37]=j,e[38]=u):u=e[38];let x;e[39]!==l.completion||e[40]!==i?(x=()=>{i({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=i,e[41]=x):x=e[41];let v=l.completion.copilot!=="github",V;e[42]!==x||e[43]!==v?(V={label:"Config > Disable GitHub Copilot",handle:x,hidden:v},e[42]=x,e[43]=v,e[44]=V):V=e[44];let S;e[45]!==l.completion||e[46]!==i?(S=()=>{i({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=i,e[47]=S):S=e[47];let G=l.completion.copilot==="github",$;e[48]!==S||e[49]!==G?($={label:"Config > Enable GitHub Copilot",handle:S,hidden:G},e[48]=S,e[49]=G,e[50]=$):$=e[50];let q=!l.display.reference_highlighting,w;e[51]!==l.display||e[52]!==i?(w=()=>{i({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=i,e[53]=w):w=e[53];let b;e[54]!==q||e[55]!==w?(b={label:"Config > Disable reference highlighting",hidden:q,handle:w},e[54]=q,e[55]=w,e[56]=b):b=e[56];let y;e[57]!==l.display||e[58]!==i?(y=()=>{i({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=i,e[59]=y):y=e[59];let F;e[60]!==l.display.reference_highlighting||e[61]!==y?(F={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:y},e[60]=l.display.reference_highlighting,e[61]=y,e[62]=F):F=e[62];let o=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==i?(a=()=>{i({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=i,e[65]=a):a=e[65];let R;e[66]!==o||e[67]!==a?(R={label:"Config > Set cell output area: above",hidden:o,handle:a},e[66]=o,e[67]=a,e[68]=R):R=e[68];let _=l.display.cell_output==="below",E;e[69]!==l.display||e[70]!==i?(E=()=>{i({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=i,e[71]=E):E=e[71];let B;e[72]!==_||e[73]!==E?(B={label:"Config > Set cell output area: below",hidden:_,handle:E},e[72]=_,e[73]=E,e[74]=B):B=e[74],k=[...ee().filter(d).map(c),H,C,A,N,u,V,$,b,F,R,B].filter(Me),e[6]=n,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=h,e[11]=i,e[12]=k}else k=e[12];return k}function Me(e){return!e.hidden}var Ne=O(),s=U(se(),1),De=()=>{let e=(0,Ne.c)(37),[l,t]=X(he),n=ne(),p=L(ke),r=L(ae),m;e[0]===p?m=e[1]:(m={cell:p},e[0]=p,e[1]=m);let g=me(m).flat();g=T(g);let i=Ae(),f=ce();f=[...T(f),...T(i)];let h=f.filter(Fe),k=le.keyBy(h,Re),{recentCommands:d,addRecentCommand:c}=we(),H;e[2]===d?H=e[3]:(H=new Set(d),e[2]=d,e[3]=H);let C=H,A;e[4]!==r||e[5]!==t?(A=o=>{ie(r.getHotkey("global.commandPalette").key)(o)&&(o.preventDefault(),t(Ee))},e[4]=r,e[5]=t,e[6]=A):A=e[6],pe(document,"keydown",A);let P;e[7]!==c||e[8]!==r||e[9]!==n||e[10]!==t?(P=(o,a)=>{let R=n[o];if(!R)return null;let _=r.getHotkey(o);return(0,s.jsxs)(K,{disabled:a.disabled,onSelect:()=>{c(o),t(!1),requestAnimationFrame(()=>{R()})},value:_.name,children:[(0,s.jsxs)("span",{children:[_.name,a.tooltip&&(0,s.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:_.key})})]},o)},e[7]=c,e[8]=r,e[9]=n,e[10]=t,e[11]=P):P=e[11];let M=P,N;e[12]!==c||e[13]!==r||e[14]!==t?(N=o=>{let{label:a,handle:R,props:_,hotkey:E}=o,B=_===void 0?{}:_;return(0,s.jsxs)(K,{disabled:B.disabled,onSelect:()=>{c(a),t(!1),requestAnimationFrame(()=>{R()})},value:a,children:[(0,s.jsxs)("span",{children:[a,B.tooltip&&(0,s.jsxs)("span",{className:"ml-2",children:["(",B.tooltip,")"]})]}),E&&(0,s.jsx)(J,{children:(0,s.jsx)(Q,{shortcut:r.getHotkey(E).key})})]},a)},e[12]=c,e[13]=r,e[14]=t,e[15]=N):N=e[15];let D=N,j=ue,u;e[16]===Symbol.for("react.memo_cache_sentinel")?(u=(0,s.jsx)(ye,{placeholder:"Type to search..."}),e[16]=u):u=e[16];let x=ge,v;e[17]===Symbol.for("react.memo_cache_sentinel")?(v=(0,s.jsx)(be,{children:"No results found."}),e[17]=v):v=e[17];let V=d.length>0&&(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(z,{heading:"Recently Used",children:d.map(o=>{let a=k[o];return te(o)?M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!W(a)?D({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip}}):null})}),(0,s.jsx)(fe,{})]}),S=z,G=r.iterate().map(o=>{if(C.has(o))return null;let a=k[o];return M(o,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),$=h.map(o=>C.has(o.label)?null:D({label:o.label,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}})),q;e[18]!==C||e[19]!==D?(q=o=>C.has(o.label)?null:D({label:`Cell > ${o.label}`,handle:o.handleHeadless||o.handle,props:{disabled:o.disabled,tooltip:o.tooltip}}),e[18]=C,e[19]=D,e[20]=q):q=e[20];let w=g.map(q),b;e[21]!==S||e[22]!==$||e[23]!==w||e[24]!==G?(b=(0,s.jsxs)(S,{heading:"Commands",children:[G,$,w]}),e[21]=S,e[22]=$,e[23]=w,e[24]=G,e[25]=b):b=e[25];let y;e[26]!==x||e[27]!==b||e[28]!==v||e[29]!==V?(y=(0,s.jsxs)(x,{children:[v,V,b]}),e[26]=x,e[27]=b,e[28]=v,e[29]=V,e[30]=y):y=e[30];let F;return e[31]!==j||e[32]!==l||e[33]!==t||e[34]!==y||e[35]!==u?(F=(0,s.jsxs)(j,{open:l,onOpenChange:t,children:[u,y]}),e[31]=j,e[32]=l,e[33]=t,e[34]=y,e[35]=u,e[36]=F):F=e[36],F};function Fe(e){return!e.hotkey}function Re(e){return e.label}function Ee(e){return!e}export{De as default};