@marimo-team/frontend 0.21.2-dev85 → 0.21.2-dev88

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- import{s as ae}from"./chunk-LvLJmgfZ.js";import{d as ye,l as be,n as V,p as oe,u as we}from"./useEvent-O0nX5vok.js";import{t as Ne}from"./react-Bj1aDYRI.js";import{E as ke,En as ze,F as Ce,ui as Se,vi as Oe,yi as m,__tla as Ae}from"./cells-JQGSt4rZ.js";import"./react-dom-CSu739Rf.js";import{t as se}from"./compiler-runtime-B3qBwwSJ.js";import"./utils-BGl6s90X.js";import{h as ie}from"./useEventListener-Dy81QR4n.js";import{y as Ee}from"./utils-tNbLd14P.js";import{t as Ie}from"./constants-Rz_lD4HK.js";import{t as Le}from"./jsx-runtime-icT_Ltz2.js";import{t as z}from"./button-Ej3vmCIF.js";import{t as le}from"./cn-BoaCR37F.js";import"./dist-B8C_eg-r.js";import{n as Me,__tla as Pe}from"./JsonOutput-CXPEr5aS.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as Re}from"./requests-Bgjtqo_1.js";import{t as ne}from"./createLucideIcon-Cm-Z7dYr.js";import{d as De,__tla as He}from"./layout-BpRnmFXj.js";import{n as Ve,t as qe,__tla as Te}from"./LazyAnyLanguageCodeMirror-CUh_vzRs.js";import"./download-BvmEpXMZ.js";import{__tla as Fe}from"./markdown-renderer-DcHuMVlH.js";import{u as Ge}from"./toDate-Cfp9W_O9.js";import{t as Ue,__tla as Be}from"./cell-editor-BD_-ScSP.js";import{t as Je}from"./spinner-C5JoisA7.js";import{t as Ke}from"./play-l5KOWsHo.js";import"./dist-D0u6iH16.js";import"./dist-DiGcGOAW.js";import"./dist-1xshPfUL.js";import"./dist-CD2iFgV9.js";import"./dist-CyIcJpsa.js";import"./session-DKzpcHdK.js";import{r as Qe}from"./useTheme-BYu4ZPLV.js";import"./Combination-CXstThSr.js";import{t as C}from"./tooltip-BCGmr4TU.js";import"./purify.es-ByGlPBcv.js";import"./dates-Bh1ltXGt.js";import"./popover-C5P0DZBj.js";import"./vega-loader.browser-W8QXhYr5.js";import"./defaultLocale-D_LmbLH5.js";import"./defaultLocale-CvLIK2MU.js";import{__tla as We}from"./chunk-5FQGJX7Z-KaqPPQRg.js";import"./html-to-image-NpQ_IVAy.js";import{o as Xe}from"./focus-B1Feqf2A.js";import{a as Ye}from"./renderShortcut-BcNNtnIV.js";import"./esm-CoDEg_kt.js";import{n as Ze,r as $e,t as me}from"./react-resizable-panels.browser.esm-Dmf4Xg1J.js";import"./name-cell-input-DCT-hi1d.js";import{n as et,r as tt}from"./panel-context-DsLB_70p.js";import{__tla as rt}from"./loro_wasm_bg-DbCRx7th.js";import"./ws-BYrDQlXa.js";import"./Inputs-W60db12_.js";import"./dist-GpTdRCER.js";import"./dist-CDZ4_qwn.js";import"./dist-CJiSj3UX.js";import"./dist-Ekqk7Je0.js";import"./dist-BXJ3fDZF.js";import"./dist-BdL_qHYN.js";import"./dist-DWPT6HNN.js";import"./dist-hU6zxLMp.js";import"./dist-C7M_d4Do.js";import"./esm-zS5lBxz4.js";import{t as at}from"./kiosk-mode-Da--4EqB.js";let ce,ot=Promise.all([(()=>{try{return Ae}catch{}})(),(()=>{try{return Pe}catch{}})(),(()=>{try{return He}catch{}})(),(()=>{try{return Te}catch{}})(),(()=>{try{return Fe}catch{}})(),(()=>{try{return Be}catch{}})(),(()=>{try{return We}catch{}})(),(()=>{try{return rt}catch{}})()]).then(async()=>{var de=ne("eraser",[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",key:"g5wo59"}],["path",{d:"m5.082 11.09 8.828 8.828",key:"1wx5vj"}]]),he=ne("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pe=se(),q=ae(Ne(),1),ue=15;const T=Se("marimo:scratchpadHistory:v1",[],ze),fe=oe(!1),xe=oe(null,(e,s,i)=>{if(i=i.trim(),!i)return;let n=e(T);s(T,[i,...n.filter(c=>c!==i)].slice(0,ue))});var t=ae(Le(),1),_e={hide_code:!1,disabled:!1};const ve=()=>{var re;let e=(0,pe.c)(60),s=Ce(),[i]=Ee(),{theme:n}=Qe(),c=(0,q.useRef)(null),F=Xe(),{createNewCell:G,updateCellCode:d}=ke(),{sendRunScratchpad:h}=Re(),S=et(),U=tt(),l=s.cellRuntime[m],B=l==null?void 0:l.output,O=l==null?void 0:l.status,J=l==null?void 0:l.consoleOutputs,r=((re=s.cellData.__scratch__)==null?void 0:re.code)??"",K=ye(xe),[o,p]=be(fe),u=we(T),A;e[0]!==K||e[1]!==r||e[2]!==h?(A=()=>{h({code:r}),K(r)},e[0]=K,e[1]=r,e[2]=h,e[3]=A):A=e[3];let f=V(A),E;e[4]!==r||e[5]!==G||e[6]!==F?(E=()=>{r.trim()&&G({code:r,before:!1,cellId:F??"__end__"})},e[4]=r,e[5]=G,e[6]=F,e[7]=E):E=e[7];let Q=V(E),I;e[8]!==h||e[9]!==d?(I=()=>{d({cellId:m,code:"",formattingChange:!1}),h({code:""});let a=c.current;a&&a.dispatch({changes:{from:0,to:a.state.doc.length,insert:""}})},e[8]=h,e[9]=d,e[10]=I):I=e[10];let W=V(I),L;e[11]!==p||e[12]!==d?(L=a=>{p(!1),d({cellId:m,code:a,formattingChange:!1});let k=c.current;k&&k.dispatch({changes:{from:0,to:k.state.doc.length,insert:a}})},e[11]=p,e[12]=d,e[13]=L):L=e[13];let X=V(L),[Y,ge]=(0,q.useState)(),M;e[14]!==X||e[15]!==u||e[16]!==o||e[17]!==n?(M=()=>o?(0,t.jsx)("div",{className:"absolute inset-0 z-100 bg-background p-3 border-none overflow-auto",children:(0,t.jsx)("div",{className:"overflow-auto flex flex-col gap-3",children:u.map((a,k)=>(0,t.jsx)("div",{className:"border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden",onClick:()=>X(a),children:(0,t.jsx)(q.Suspense,{children:(0,t.jsx)(qe,{language:"python",theme:n,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:a.trim(),editable:!1,readOnly:!0})})},k))})}):null,e[14]=X,e[15]=u,e[16]=o,e[17]=n,e[18]=M):M=e[18];let Z=M,P;e[19]!==W||e[20]!==Q||e[21]!==f||e[22]!==u.length||e[23]!==o||e[24]!==p||e[25]!==O?(P=()=>(0,t.jsxs)("div",{className:"flex items-center shrink-0 border-b",children:[(0,t.jsx)(C,{content:Ye("cell.run"),children:(0,t.jsx)(z,{"data-testid":"scratchpad-run-button",onClick:f,disabled:o,variant:"text",size:"xs",children:(0,t.jsx)(Ke,{color:"var(--grass-11)",size:16})})}),(0,t.jsx)(C,{content:"Clear code and outputs",children:(0,t.jsx)(z,{disabled:o,size:"xs",variant:"text",onClick:W,children:(0,t.jsx)(de,{size:16})})}),(0,t.jsx)(at,{children:(0,t.jsx)(C,{content:"Insert code",children:(0,t.jsx)(z,{disabled:o,size:"xs",variant:"text",onClick:Q,children:(0,t.jsx)(Ve,{size:16})})})}),(O==="running"||O==="queued")&&(0,t.jsx)(Je,{className:"inline",size:"small"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(C,{content:"Toggle history",children:(0,t.jsx)(z,{size:"xs",variant:"text",className:le(o&&"bg-(--sky-3) rounded-none"),onClick:()=>p(!o),disabled:u.length===0,children:(0,t.jsx)(he,{size:16})})}),(0,t.jsx)(C,{content:(0,t.jsx)("span",{className:"block max-w-prose",children:"Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file."}),children:(0,t.jsx)(z,{size:"xs",variant:"text",children:(0,t.jsx)(Ge,{size:16})})})]}),e[19]=W,e[20]=Q,e[21]=f,e[22]=u.length,e[23]=o,e[24]=p,e[25]=O,e[26]=P):P=e[26];let $=P,je=S==="vertical",R;e[27]===Symbol.for("react.memo_cache_sentinel")?(R=Oe.create(m),e[27]=R):R=e[27];let x;e[28]===$?x=e[29]:(x=$(),e[28]=$,e[29]=x);let D;e[30]===Symbol.for("react.memo_cache_sentinel")?(D=a=>{c.current=a},e[30]=D):D=e[30];let _;e[31]!==r||e[32]!==f||e[33]!==Y||e[34]!==n||e[35]!==i?(_=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Ue,{theme:n,showPlaceholder:!1,id:m,code:r,config:_e,status:"idle",serializedEditorState:null,runCell:f,userConfig:i,editorViewRef:c,setEditorView:D,hidden:!1,showHiddenCode:ie.NOOP,languageAdapter:Y,setLanguageAdapter:ge})}),e[31]=r,e[32]=f,e[33]=Y,e[34]=n,e[35]=i,e[36]=_):_=e[36];let v;e[37]===Z?v=e[38]:(v=Z(),e[37]=Z,e[38]=v);let g;e[39]!==v||e[40]!==x||e[41]!==_?(g=(0,t.jsx)(me,{defaultSize:40,minSize:20,maxSize:70,children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden relative",children:[x,_,v]})}),e[39]=v,e[40]=x,e[41]=_,e[42]=g):g=e[42];let ee=je?"h-1":"w-1",j;e[43]===ee?j=e[44]:(j=le("bg-border hover:bg-primary/50 transition-colors",ee),e[43]=ee,e[44]=j);let y;e[45]===j?y=e[46]:(y=(0,t.jsx)($e,{className:j}),e[45]=j,e[46]=y);let b;e[47]===B?b=e[48]:(b=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Me,{allowExpand:!1,output:B,className:Ie.outputArea,cellId:m,stale:!1,loading:!1})}),e[47]=B,e[48]=b);let w;e[49]===J?w=e[50]:(w=(0,t.jsx)("div",{className:"overflow-auto shrink-0 max-h-[50%]",children:(0,t.jsx)(De,{consoleOutputs:J,className:"overflow-auto",stale:!1,cellName:"_",onSubmitDebugger:ie.NOOP,cellId:m,debuggerActive:!1})}),e[49]=J,e[50]=w);let N;e[51]!==b||e[52]!==w?(N=(0,t.jsx)(me,{defaultSize:60,minSize:20,children:(0,t.jsxs)("div",{className:"h-full flex flex-col divide-y overflow-hidden",children:[b,w]})}),e[51]=b,e[52]=w,e[53]=N):N=e[53];let H;return e[54]!==S||e[55]!==U||e[56]!==g||e[57]!==y||e[58]!==N?(H=(0,t.jsx)("div",{className:"flex flex-col h-full overflow-hidden",id:R,children:(0,t.jsxs)(Ze,{direction:S,className:"h-full",children:[g,y,N]},U)}),e[54]=S,e[55]=U,e[56]=g,e[57]=y,e[58]=N,e[59]=H):H=e[59],H};let te;te=se(),ce=()=>{let e=(0,te.c)(1),s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(ve,{}),e[0]=s):s=e[0],s}});export{ot as __tla,ce as default};
1
+ import{s as ae}from"./chunk-LvLJmgfZ.js";import{d as ye,l as be,n as V,p as oe,u as we}from"./useEvent-O0nX5vok.js";import{t as Ne}from"./react-Bj1aDYRI.js";import{E as ke,En as ze,F as Ce,ui as Se,vi as Oe,yi as m,__tla as Ae}from"./cells-JQGSt4rZ.js";import"./react-dom-CSu739Rf.js";import{t as se}from"./compiler-runtime-B3qBwwSJ.js";import"./utils-BGl6s90X.js";import{h as ie}from"./useEventListener-Dy81QR4n.js";import{y as Ee}from"./utils-tNbLd14P.js";import{t as Ie}from"./constants-Rz_lD4HK.js";import{t as Le}from"./jsx-runtime-icT_Ltz2.js";import{t as z}from"./button-Ej3vmCIF.js";import{t as le}from"./cn-BoaCR37F.js";import"./dist-B8C_eg-r.js";import{n as Me,__tla as Pe}from"./JsonOutput-CXPEr5aS.js";import"./cjs-BU2qXMKx.js";import"./main-DrBRErTM.js";import"./useNonce-BtW-rR_1.js";import{r as Re}from"./requests-Bgjtqo_1.js";import{t as ne}from"./createLucideIcon-Cm-Z7dYr.js";import{d as De,__tla as He}from"./layout-BpRnmFXj.js";import{n as Ve,t as qe,__tla as Te}from"./LazyAnyLanguageCodeMirror-CUh_vzRs.js";import"./download-BvmEpXMZ.js";import{__tla as Fe}from"./markdown-renderer-DcHuMVlH.js";import{u as Ge}from"./toDate-Cfp9W_O9.js";import{t as Ue,__tla as Be}from"./cell-editor-ZiP7sns9.js";import{t as Je}from"./spinner-C5JoisA7.js";import{t as Ke}from"./play-l5KOWsHo.js";import"./dist-D0u6iH16.js";import"./dist-DiGcGOAW.js";import"./dist-1xshPfUL.js";import"./dist-CD2iFgV9.js";import"./dist-CyIcJpsa.js";import"./session-DKzpcHdK.js";import{r as Qe}from"./useTheme-BYu4ZPLV.js";import"./Combination-CXstThSr.js";import{t as C}from"./tooltip-BCGmr4TU.js";import"./purify.es-ByGlPBcv.js";import"./dates-Bh1ltXGt.js";import"./popover-C5P0DZBj.js";import"./vega-loader.browser-W8QXhYr5.js";import"./defaultLocale-D_LmbLH5.js";import"./defaultLocale-CvLIK2MU.js";import{__tla as We}from"./chunk-5FQGJX7Z-KaqPPQRg.js";import"./html-to-image-NpQ_IVAy.js";import{o as Xe}from"./focus-B1Feqf2A.js";import{a as Ye}from"./renderShortcut-BcNNtnIV.js";import"./esm-CoDEg_kt.js";import{n as Ze,r as $e,t as me}from"./react-resizable-panels.browser.esm-Dmf4Xg1J.js";import"./name-cell-input-DCT-hi1d.js";import{n as et,r as tt}from"./panel-context-DsLB_70p.js";import{__tla as rt}from"./loro_wasm_bg-DbCRx7th.js";import"./ws-BYrDQlXa.js";import"./Inputs-W60db12_.js";import"./dist-GpTdRCER.js";import"./dist-CDZ4_qwn.js";import"./dist-CJiSj3UX.js";import"./dist-Ekqk7Je0.js";import"./dist-BXJ3fDZF.js";import"./dist-BdL_qHYN.js";import"./dist-DWPT6HNN.js";import"./dist-hU6zxLMp.js";import"./dist-C7M_d4Do.js";import"./esm-zS5lBxz4.js";import{t as at}from"./kiosk-mode-Da--4EqB.js";let ce,ot=Promise.all([(()=>{try{return Ae}catch{}})(),(()=>{try{return Pe}catch{}})(),(()=>{try{return He}catch{}})(),(()=>{try{return Te}catch{}})(),(()=>{try{return Fe}catch{}})(),(()=>{try{return Be}catch{}})(),(()=>{try{return We}catch{}})(),(()=>{try{return rt}catch{}})()]).then(async()=>{var de=ne("eraser",[["path",{d:"M21 21H8a2 2 0 0 1-1.42-.587l-3.994-3.999a2 2 0 0 1 0-2.828l10-10a2 2 0 0 1 2.829 0l5.999 6a2 2 0 0 1 0 2.828L12.834 21",key:"g5wo59"}],["path",{d:"m5.082 11.09 8.828 8.828",key:"1wx5vj"}]]),he=ne("history",[["path",{d:"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8",key:"1357e3"}],["path",{d:"M3 3v5h5",key:"1xhq8a"}],["path",{d:"M12 7v5l4 2",key:"1fdv2h"}]]),pe=se(),q=ae(Ne(),1),ue=15;const T=Se("marimo:scratchpadHistory:v1",[],ze),fe=oe(!1),xe=oe(null,(e,s,i)=>{if(i=i.trim(),!i)return;let n=e(T);s(T,[i,...n.filter(c=>c!==i)].slice(0,ue))});var t=ae(Le(),1),_e={hide_code:!1,disabled:!1};const ve=()=>{var re;let e=(0,pe.c)(60),s=Ce(),[i]=Ee(),{theme:n}=Qe(),c=(0,q.useRef)(null),F=Xe(),{createNewCell:G,updateCellCode:d}=ke(),{sendRunScratchpad:h}=Re(),S=et(),U=tt(),l=s.cellRuntime[m],B=l==null?void 0:l.output,O=l==null?void 0:l.status,J=l==null?void 0:l.consoleOutputs,r=((re=s.cellData.__scratch__)==null?void 0:re.code)??"",K=ye(xe),[o,p]=be(fe),u=we(T),A;e[0]!==K||e[1]!==r||e[2]!==h?(A=()=>{h({code:r}),K(r)},e[0]=K,e[1]=r,e[2]=h,e[3]=A):A=e[3];let f=V(A),E;e[4]!==r||e[5]!==G||e[6]!==F?(E=()=>{r.trim()&&G({code:r,before:!1,cellId:F??"__end__"})},e[4]=r,e[5]=G,e[6]=F,e[7]=E):E=e[7];let Q=V(E),I;e[8]!==h||e[9]!==d?(I=()=>{d({cellId:m,code:"",formattingChange:!1}),h({code:""});let a=c.current;a&&a.dispatch({changes:{from:0,to:a.state.doc.length,insert:""}})},e[8]=h,e[9]=d,e[10]=I):I=e[10];let W=V(I),L;e[11]!==p||e[12]!==d?(L=a=>{p(!1),d({cellId:m,code:a,formattingChange:!1});let k=c.current;k&&k.dispatch({changes:{from:0,to:k.state.doc.length,insert:a}})},e[11]=p,e[12]=d,e[13]=L):L=e[13];let X=V(L),[Y,ge]=(0,q.useState)(),M;e[14]!==X||e[15]!==u||e[16]!==o||e[17]!==n?(M=()=>o?(0,t.jsx)("div",{className:"absolute inset-0 z-100 bg-background p-3 border-none overflow-auto",children:(0,t.jsx)("div",{className:"overflow-auto flex flex-col gap-3",children:u.map((a,k)=>(0,t.jsx)("div",{className:"border rounded-md hover:shadow-sm cursor-pointer hover:border-input overflow-hidden",onClick:()=>X(a),children:(0,t.jsx)(q.Suspense,{children:(0,t.jsx)(qe,{language:"python",theme:n,basicSetup:{highlightActiveLine:!1,highlightActiveLineGutter:!1},value:a.trim(),editable:!1,readOnly:!0})})},k))})}):null,e[14]=X,e[15]=u,e[16]=o,e[17]=n,e[18]=M):M=e[18];let Z=M,P;e[19]!==W||e[20]!==Q||e[21]!==f||e[22]!==u.length||e[23]!==o||e[24]!==p||e[25]!==O?(P=()=>(0,t.jsxs)("div",{className:"flex items-center shrink-0 border-b",children:[(0,t.jsx)(C,{content:Ye("cell.run"),children:(0,t.jsx)(z,{"data-testid":"scratchpad-run-button",onClick:f,disabled:o,variant:"text",size:"xs",children:(0,t.jsx)(Ke,{color:"var(--grass-11)",size:16})})}),(0,t.jsx)(C,{content:"Clear code and outputs",children:(0,t.jsx)(z,{disabled:o,size:"xs",variant:"text",onClick:W,children:(0,t.jsx)(de,{size:16})})}),(0,t.jsx)(at,{children:(0,t.jsx)(C,{content:"Insert code",children:(0,t.jsx)(z,{disabled:o,size:"xs",variant:"text",onClick:Q,children:(0,t.jsx)(Ve,{size:16})})})}),(O==="running"||O==="queued")&&(0,t.jsx)(Je,{className:"inline",size:"small"}),(0,t.jsx)("div",{className:"flex-1"}),(0,t.jsx)(C,{content:"Toggle history",children:(0,t.jsx)(z,{size:"xs",variant:"text",className:le(o&&"bg-(--sky-3) rounded-none"),onClick:()=>p(!o),disabled:u.length===0,children:(0,t.jsx)(he,{size:16})})}),(0,t.jsx)(C,{content:(0,t.jsx)("span",{className:"block max-w-prose",children:"Use this scratchpad to experiment with code without restrictions on variable names. Variables defined here aren't saved to notebook memory, and the code is not saved in the notebook file."}),children:(0,t.jsx)(z,{size:"xs",variant:"text",children:(0,t.jsx)(Ge,{size:16})})})]}),e[19]=W,e[20]=Q,e[21]=f,e[22]=u.length,e[23]=o,e[24]=p,e[25]=O,e[26]=P):P=e[26];let $=P,je=S==="vertical",R;e[27]===Symbol.for("react.memo_cache_sentinel")?(R=Oe.create(m),e[27]=R):R=e[27];let x;e[28]===$?x=e[29]:(x=$(),e[28]=$,e[29]=x);let D;e[30]===Symbol.for("react.memo_cache_sentinel")?(D=a=>{c.current=a},e[30]=D):D=e[30];let _;e[31]!==r||e[32]!==f||e[33]!==Y||e[34]!==n||e[35]!==i?(_=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Ue,{theme:n,showPlaceholder:!1,id:m,code:r,config:_e,status:"idle",serializedEditorState:null,runCell:f,userConfig:i,editorViewRef:c,setEditorView:D,hidden:!1,showHiddenCode:ie.NOOP,languageAdapter:Y,setLanguageAdapter:ge})}),e[31]=r,e[32]=f,e[33]=Y,e[34]=n,e[35]=i,e[36]=_):_=e[36];let v;e[37]===Z?v=e[38]:(v=Z(),e[37]=Z,e[38]=v);let g;e[39]!==v||e[40]!==x||e[41]!==_?(g=(0,t.jsx)(me,{defaultSize:40,minSize:20,maxSize:70,children:(0,t.jsxs)("div",{className:"h-full flex flex-col overflow-hidden relative",children:[x,_,v]})}),e[39]=v,e[40]=x,e[41]=_,e[42]=g):g=e[42];let ee=je?"h-1":"w-1",j;e[43]===ee?j=e[44]:(j=le("bg-border hover:bg-primary/50 transition-colors",ee),e[43]=ee,e[44]=j);let y;e[45]===j?y=e[46]:(y=(0,t.jsx)($e,{className:j}),e[45]=j,e[46]=y);let b;e[47]===B?b=e[48]:(b=(0,t.jsx)("div",{className:"flex-1 overflow-auto",children:(0,t.jsx)(Me,{allowExpand:!1,output:B,className:Ie.outputArea,cellId:m,stale:!1,loading:!1})}),e[47]=B,e[48]=b);let w;e[49]===J?w=e[50]:(w=(0,t.jsx)("div",{className:"overflow-auto shrink-0 max-h-[50%]",children:(0,t.jsx)(De,{consoleOutputs:J,className:"overflow-auto",stale:!1,cellName:"_",onSubmitDebugger:ie.NOOP,cellId:m,debuggerActive:!1})}),e[49]=J,e[50]=w);let N;e[51]!==b||e[52]!==w?(N=(0,t.jsx)(me,{defaultSize:60,minSize:20,children:(0,t.jsxs)("div",{className:"h-full flex flex-col divide-y overflow-hidden",children:[b,w]})}),e[51]=b,e[52]=w,e[53]=N):N=e[53];let H;return e[54]!==S||e[55]!==U||e[56]!==g||e[57]!==y||e[58]!==N?(H=(0,t.jsx)("div",{className:"flex flex-col h-full overflow-hidden",id:R,children:(0,t.jsxs)(Ze,{direction:S,className:"h-full",children:[g,y,N]},U)}),e[54]=S,e[55]=U,e[56]=g,e[57]=y,e[58]=N,e[59]=H):H=e[59],H};let te;te=se(),ce=()=>{let e=(0,te.c)(1),s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,t.jsx)(ve,{}),e[0]=s):s=e[0],s}});export{ot as __tla,ce as default};
package/dist/index.html CHANGED
@@ -66,7 +66,7 @@
66
66
  <marimo-server-token data-token="{{ server_token }}" hidden></marimo-server-token>
67
67
  <!-- /TODO -->
68
68
  <title>{{ title }}</title>
69
- <script type="module" crossorigin src="./assets/index-BZ0aj0OH.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-0q-v4yW4.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-TXkS1QI3.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/react-Bj1aDYRI.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.21.2-dev85",
3
+ "version": "0.21.2-dev88",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -21,7 +21,7 @@
21
21
  "./unstable_internal/*": "./src/*"
22
22
  },
23
23
  "dependencies": {
24
- "@ai-sdk/react": "^2.0.125",
24
+ "@ai-sdk/react": "^3.0.131",
25
25
  "@anywidget/types": "^0.2.0",
26
26
  "@codemirror/autocomplete": "^6.20.1",
27
27
  "@codemirror/commands": "^6.10.2",
@@ -115,7 +115,7 @@
115
115
  "@xterm/addon-web-links": "^0.12.0",
116
116
  "@xterm/xterm": "^5.5.0",
117
117
  "@zed-industries/agent-client-protocol": "^0.4.5",
118
- "ai": "^5.0.123",
118
+ "ai": "^6.0.129",
119
119
  "ansi_up": "^6.0.6",
120
120
  "class-variance-authority": "^0.7.1",
121
121
  "clsx": "^2.1.1",
@@ -1,7 +1,12 @@
1
1
  /* Copyright 2026 Marimo. All rights reserved. */
2
2
 
3
3
  import type { components } from "@marimo-team/marimo-api";
4
- import type { FileUIPart, ToolUIPart, UIMessage } from "ai";
4
+ import type {
5
+ ChatAddToolOutputFunction,
6
+ FileUIPart,
7
+ ToolUIPart,
8
+ UIMessage,
9
+ } from "ai";
5
10
  import { useState } from "react";
6
11
  import useEvent from "react-use-event-hook";
7
12
  import type { ProviderId } from "@/core/ai/ids/ids";
@@ -111,12 +116,6 @@ export async function buildCompletionRequestBody(
111
116
  };
112
117
  }
113
118
 
114
- interface AddToolOutput {
115
- tool: string;
116
- toolCallId: string;
117
- output: unknown;
118
- }
119
-
120
119
  export async function handleToolCall({
121
120
  invokeAiTool,
122
121
  addToolOutput, // Important that we don't await addToolOutput to prevent potential deadlocks
@@ -124,7 +123,7 @@ export async function handleToolCall({
124
123
  toolContext,
125
124
  }: {
126
125
  invokeAiTool: (request: InvokeAiToolRequest) => Promise<InvokeAiToolResponse>;
127
- addToolOutput: (output: AddToolOutput) => Promise<void>;
126
+ addToolOutput: ChatAddToolOutputFunction<UIMessage>;
128
127
  toolCall: {
129
128
  toolName: string;
130
129
  toolCallId: string;
@@ -161,6 +161,12 @@ export function useStagedCells(store: JotaiStore) {
161
161
  case "tool-output-error":
162
162
  Logger.error("Error", chunk.type, { chunk });
163
163
  break;
164
+ case "tool-approval-request":
165
+ Logger.log("Tool approval request", { chunk });
166
+ break;
167
+ case "tool-output-denied":
168
+ Logger.error("Tool output denied", { chunk });
169
+ break;
164
170
  // These logs are not useful for debugging
165
171
  case "start":
166
172
  case "start-step":