@marimo-team/frontend 0.23.16-dev18 → 0.23.16-dev19

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 ge}from"./chunk-LvLJmgfZ.js";import{d as je,l as ye,p as ve,u as X}from"./useEvent-D91BmmQi.js";import{t as Ye}from"./react-Bj1aDYRI.js";import{Ar as Qe,Bi as Ne,Br as we,E as Ze,Fr as Se,Ft as ea,Gr as aa,In as ta,Ir as sa,It as la,Kr as _e,Lr as na,Lt as ra,N as oa,Nn as Ce,Nr as oe,Pn as ca,Pr as Ie,Ur as ma,Vr as ce,Wr as ia,Xr as ke,Yr as da,_n as ha,ar as ua,cr as xa,d as pa,hr as fa,i as ba,j as ga,kt as ja,or as ya,qr as va,vr as Na,xt as wa,yr as me,zr as ie}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as Pe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Sa}from"./utils-BWBBpCkT.js";import{t as _a}from"./ErrorBoundary-DzTD8LVq.js";import{t as Y}from"./cn-DYvqRARy.js";import{t as Ca}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{r as Ia}from"./config-BJVx3eBW.js";import"./popover-Bcz1Zikb.js";import{$ as de,et as Fe,f as Te,g as $e,h as he,it as ka,m as ue,nt as Pa,p as le,rt as Fa,tt as Ta,u as $a}from"./JsonOutput-BoDVlAbV.js";import"./download-CnYLah74.js";import{r as Re}from"./radio-group-CdR34W0K.js";import{t as xe}from"./tooltip-4bZlU7jl.js";import{r as Ra,t as ne}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import{l as Q}from"./arrays-DbOq36rN.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{i as Va}from"./strings--BknHX9C.js";import{r as Da}from"./requests-9-v2bhoi.js";import{t as qa}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ba}from"./x-C-Eq0ag8.js";import{a as La,r as Ea}from"./tree-actions-DJTGQWz0.js";import"./markdown-renderer-C9vdWclk.js";import{t as Ve}from"./add-connection-dialog-GllfB9z2.js";import{t as De}from"./plus-AgXtozBz.js";import{a as Ma}from"./input-JxFwu-3G.js";import{n as Oa,o as Aa}from"./column-preview-BYiduGzU.js";import{t as Ua}from"./workflow-e-XGaKyY.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{t as za}from"./copy-icon-neDQUo4Q.js";import{t as Ga}from"./context-BFPaAUK_.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{t as qe}from"./cell-link-D1nZ5myN.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import{r as Ha}from"./html-to-image-1vflBYah.js";import{o as Ka}from"./focus-DTmSq3hN.js";import{n as pe}from"./useAsyncData-Bg5iAViP.js";import{a as Wa,i as Ja,n as Xa,o as Be,r as Ya,t as Qa}from"./table-CH2plyy9.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as Za,f as et,o as re,t as at}from"./command-Dqxie4gq.js";import{n as tt}from"./icons-CIPE8AIY.js";import{t as st}from"./useDeepCompareMemoize-CSMoa-ga.js";import{t as lt}from"./empty-state-CqJvEFRk.js";import{n as nt,t as rt}from"./common-XBd1qRDk.js";import{a as ot,i as ct,n as Le,r as Ee,t as Me}from"./components-D-aPO6md.js";var mt=qa("square-equal",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),z=Pe(),T=ge(Ye(),1),s=ge(Ca(),1),fe=1;function Oe(a){return 1.75+a*fe}function it(a){return 3+a*fe}function Ae(a){return 3.25+a*fe}var U={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function M(a){return{paddingLeft:`${a}rem`}}var dt=ve(a=>{let e=a(Se),t=a(ta),l=a(ba);return Q(e,n=>{if(!n.variable_name)return-1;let i=Object.values(t).find(d=>d.name===n.variable_name);if(!i)return 0;let c=l.inOrderIds.indexOf(i.declaredBy[0]);return c===-1?0:c})});const ht=Ne("marimo:datasources:hideEmpty",!1,Ce,{getOnInit:!0});function Ue(a){let e=!1,t=[];for(let l of a){if(!ce(l)||!ie(l)){t.push(l);continue}let n=l.child_schemas??[],i=Ue(n);if(l.tables.length===0&&i.length===0){e=!0;continue}if(i===n){t.push(l);continue}e=!0,t.push({...l,child_schemas:i})}return e?t:a}function ut(a){let e=!1,t=[];for(let l of a){if(we(l)&&l.schemas.length===0){e=!0;continue}if(l.schemas.length===0){t.push(l);continue}let n=Ue(l.schemas);if(n.length===0){e=!0;continue}if(n===l.schemas){t.push(l);continue}e=!0,t.push({...l,schemas:n})}return e?t:a}const ze=ve(a=>{let e=new Map(a(Qe));for(let t of ke){let l=e.get(t);l&&(l.databases.length===0&&e.delete(t),l.databases.length===1&&l.databases[0].name==="memory"&&l.databases[0].schemas.length===0&&e.delete(t))}return Q([...e.values()],t=>ke.has(t.name)?1:0)}),xt=()=>{let a=(0,z.c)(40),[e,t]=T.useState(""),[l,n]=ye(ht),i=je(Ie),c=X(dt),d=X(ze),r;e:{if(!l){r=d;break e}let f,v;a[0]===d?(f=a[1],v=a[2]):(f=!1,v=d.map(C=>{let k=ut(C.databases);return k===C.databases?C:(f=!0,{...C,databases:k})}),a[0]=d,a[1]=f,a[2]=v),r=f?v:d}let x=r;if(c.length===0&&x.length===0){let f;return a[3]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(lt,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,s.jsx)(Ve,{children:(0,s.jsxs)(ne,{variant:"outline",size:"sm",children:["Add database or catalog",(0,s.jsx)(De,{className:"h-4 w-4 ml-2"})]})}),icon:(0,s.jsx)(me,{})}),a[3]=f):f=a[3],f}let h=!!e.trim(),m;a[4]===i?m=a[5]:(m=f=>{i(f.length>0),t(f)},a[4]=i,a[5]=m);let o;a[6]!==e||a[7]!==m?(o=(0,s.jsx)(Za,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:m,rootClassName:"flex-1 border-r border-b-0"}),a[6]=e,a[7]=m,a[8]=o):o=a[8];let p;a[9]===h?p=a[10]:(p=h&&(0,s.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>t(""),children:(0,s.jsx)(Ba,{className:"h-4 w-4"})}),a[9]=h,a[10]=p);let S=!l,b;a[11]!==l||a[12]!==n?(b=()=>n(!l),a[11]=l,a[12]=n,a[13]=b):b=a[13];let N;a[14]!==S||a[15]!==b?(N=(0,s.jsx)(La,{"data-testid":"datasources-hide-empty-button",isVisible:S,onToggle:b,showTooltip:"Show empty schemas and databases",hideTooltip:"Hide empty schemas and databases",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden"}),a[14]=S,a[15]=b,a[16]=N):N=a[16];let y;a[17]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ve,{children:(0,s.jsx)(ne,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,s.jsx)(De,{className:"h-4 w-4"})})}),a[17]=y):y=a[17];let j;a[18]!==o||a[19]!==p||a[20]!==N?(j=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[o,p,N,y]}),a[18]=o,a[19]=p,a[20]=N,a[21]=j):j=a[21];let g;if(a[22]!==x||a[23]!==e){let f;a[25]===e?f=a[26]:(f=v=>(0,s.jsx)(pt,{connection:v,hasChildren:v.databases.length>0,children:v.databases.map(C=>(0,s.jsx)(ft,{connection:v,database:C,searchValue:e},C.name))},v.name),a[25]=e,a[26]=f),g=x.map(f),a[22]=x,a[23]=e,a[24]=g}else g=a[24];let w;a[27]!==x.length||a[28]!==c.length?(w=x.length>0&&c.length>0&&(0,s.jsxs)(Te,{className:"pr-2",style:M(U.engine),children:[(0,s.jsx)(tt,{className:"h-4 w-4 text-muted-foreground"}),(0,s.jsx)("span",{className:"text-xs",children:"Python"})]}),a[27]=x.length,a[28]=c.length,a[29]=w):w=a[29];let u;a[30]!==e||a[31]!==c?(u=c.length>0&&(0,s.jsx)(be,{tables:c,searchValue:e}),a[30]=e,a[31]=c,a[32]=u):u=a[32];let _;a[33]!==w||a[34]!==u||a[35]!==g?(_=(0,s.jsxs)(et,{className:"flex flex-col",children:[g,w,u]}),a[33]=w,a[34]=u,a[35]=g,a[36]=_):_=a[36];let I;return a[37]!==_||a[38]!==j?(I=(0,s.jsxs)(at,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[j,_]}),a[37]=_,a[38]=j,a[39]=I):I=a[39],I};var pt=a=>{let e=(0,z.c)(26),{connection:t,children:l,hasChildren:n}=a,i=t.name===da,c=i?"In-Memory":t.name,{previewDataSourceConnection:d}=Da(),r;e[0]!==t.name||e[1]!==d?(r=async()=>{await d({engine:t.name})},e[0]=t.name,e[1]=d,e[2]=r):r=e[2];let x=r,h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=M(U.engine),e[3]=h):h=e[3];let m;e[4]===t.dialect?m=e[5]:(m=(0,s.jsx)(wa,{className:"h-4 w-4 text-muted-foreground",name:t.dialect}),e[4]=t.dialect,e[5]=m);let o;e[6]===t.dialect?o=e[7]:(o=ua(t.dialect),e[6]=t.dialect,e[7]=o);let p;e[8]===o?p=e[9]:(p=(0,s.jsx)("span",{className:"text-xs",children:o}),e[8]=o,e[9]=p);let S=c,b;e[10]===S?b=e[11]:(b=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,s.jsx)(ot,{variableName:S}),")"]}),e[10]=S,e[11]=b);let N;e[12]!==x||e[13]!==i?(N=!i&&(0,s.jsx)(Ea,{onClick:x,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[12]=x,e[13]=i,e[14]=N):N=e[14];let y;e[15]!==m||e[16]!==p||e[17]!==b||e[18]!==N?(y=(0,s.jsxs)(Te,{className:"pr-2",style:h,children:[m,p,b,N]}),e[15]=m,e[16]=p,e[17]=b,e[18]=N,e[19]=y):y=e[19];let j;e[20]!==l||e[21]!==n?(j=n?l:(0,s.jsx)(le,{content:"No databases available",style:M(U.engineEmpty)}),e[20]=l,e[21]=n,e[22]=j):j=e[22];let g;return e[23]!==j||e[24]!==y?(g=(0,s.jsxs)(s.Fragment,{children:[y,j]}),e[23]=j,e[24]=y,e[25]=g):g=e[25],g},Ge=T.createContext(null);function He(){let a=T.useContext(Ge);if(a==null)throw Error("useDataSourceTree must be used within a DataSourceTreeContext.Provider");return a}function Ke(a,{schema:e,schemaPath:t}){return{engine:a.engineName,database:a.databaseName,schema:e,schemaPath:t,defaultSchema:a.defaultSchema,defaultDatabase:a.defaultDatabase,dialect:a.dialect}}var ft=a=>{let e=(0,z.c)(21),{connection:t,database:l,searchValue:n}=a,i;e[0]!==t.default_database||e[1]!==t.default_schema||e[2]!==t.dialect||e[3]!==t.name||e[4]!==l.name||e[5]!==n?(i={engineName:t.name,databaseName:l.name,dialect:t.dialect,defaultSchema:t.default_schema,defaultDatabase:t.default_database,searchValue:n},e[0]=t.default_database,e[1]=t.default_schema,e[2]=t.dialect,e[3]=t.name,e[4]=l.name,e[5]=n,e[6]=i):i=e[6];let c=i,d=t.name,r=l.schemas,x;e[7]===l?x=e[8]:(x=we(l),e[7]=l,e[8]=x);let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[9]=h):h=e[9];let m;e[10]!==l.schemas||e[11]!==x?(m=(0,s.jsx)(We,{schemas:r,schemasResolved:x,schemaPath:h,depth:0}),e[10]=l.schemas,e[11]=x,e[12]=m):m=e[12];let o;e[13]!==m||e[14]!==c?(o=(0,s.jsx)(Ge.Provider,{value:c,children:m}),e[13]=m,e[14]=c,e[15]=o):o=e[15];let p;return e[16]!==t.name||e[17]!==l||e[18]!==n||e[19]!==o?(p=(0,s.jsx)(bt,{engineName:d,database:l,searchValue:n,children:o}),e[16]=t.name,e[17]=l,e[18]=n,e[19]=o,e[20]=p):p=e[20],p},bt=a=>{let e=(0,z.c)(29),{searchValue:t,engineName:l,database:n,children:i}=a,c;e[0]!==n||e[1]!==t?(c=aa(n,t),e[0]=n,e[1]=t,e[2]=c):c=e[2];let d=c,[r,x]=T.useState(d),[h,m]=T.useState(!1),[o,p]=T.useState(t),[S,b]=T.useState(d);(o!==t||S!==d)&&(p(t),b(d),x(d));let N;e[3]===Symbol.for("react.memo_cache_sentinel")?(N=M(U.database),e[3]=N):N=e[3];let y;e[4]!==r||e[5]!==h?(y=()=>{x(!r),m(!h)},e[4]=r,e[5]=h,e[6]=y):y=e[6];let j=`${l}:${n.name}`,g;e[7]===r?g=e[8]:(g=(0,s.jsx)($e,{isExpanded:r}),e[7]=r,e[8]=g);let w=h&&r?"text-foreground":"text-muted-foreground",u;e[9]===w?u=e[10]:(u=Y("h-4 w-4",w),e[9]=w,e[10]=u);let _;e[11]===u?_=e[12]:(_=(0,s.jsx)(me,{className:u}),e[11]=u,e[12]=_);let I=h&&r&&"font-semibold",f;e[13]===I?f=e[14]:(f=Y(I),e[13]=I,e[14]=f);let v;e[15]===n.name?v=e[16]:(v=n.name===""?(0,s.jsx)("i",{children:"Not connected"}):n.name,e[15]=n.name,e[16]=v);let C;e[17]!==f||e[18]!==v?(C=(0,s.jsx)("span",{className:f,children:v}),e[17]=f,e[18]=v,e[19]=C):C=e[19];let k;e[20]!==C||e[21]!==y||e[22]!==j||e[23]!==g||e[24]!==_?(k=(0,s.jsxs)(re,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",style:N,onSelect:y,value:j,children:[g,_,C]}),e[20]=C,e[21]=y,e[22]=j,e[23]=g,e[24]=_,e[25]=k):k=e[25];let P=r&&i,F;return e[26]!==k||e[27]!==P?(F=(0,s.jsxs)(s.Fragment,{children:[k,P]}),e[26]=k,e[27]=P,e[28]=F):F=e[28],F},We=a=>{let{schemas:e,schemasResolved:t,depth:l}=a,n=He(),{engineName:i,databaseName:c,searchValue:d}=n,{addSchemaList:r}=oe(),x=st(a.schemaPath),[h,m]=T.useState(!1),{isPending:o,error:p}=pe(async()=>{if(!t&&i){m(!0);try{r({schemas:(await ea.request({engine:i,database:c,schemaPath:x})).schemas??[],sqlSchemaContext:{engine:i,database:c,schemaPath:x}})}finally{m(!1)}}},[t,i,c,x]),S=M(Oe(l));return o||h?(0,s.jsx)(he,{message:"Loading schemas...",style:S}):p?(0,s.jsx)(ue,{error:p,style:S}):e.length===0?(0,s.jsx)(le,{content:"No schemas available",style:S}):(0,s.jsx)(s.Fragment,{children:e.map(b=>ma(b.name)?(0,s.jsx)(be,{tables:b.tables,tablesResolved:ce(b),searchValue:d,sqlTableContext:Ke(n,{schema:b.name,schemaPath:x})},b.name):(0,s.jsx)(gt,{schema:b,schemaPath:[...x,b.name],depth:l},b.name))})},gt=a=>{let e=(0,z.c)(39),{schema:t,schemaPath:l,depth:n}=a,i=He(),{databaseName:c,searchValue:d}=i,r;e[0]!==t||e[1]!==d?(r=ia(t,d),e[0]=t,e[1]=d,e[2]=r):r=e[2];let x=r,[h,m]=T.useState(x),[o,p]=T.useState(!1),[S,b]=T.useState(d),[N,y]=T.useState(x),j=`${c}:${l.join(".")}`,g;e[3]===t.child_schemas?g=e[4]:(g=t.child_schemas??[],e[3]=t.child_schemas,e[4]=g);let w=g;(S!==d||N!==x)&&(b(d),y(x),m(x));let u;e[5]===n?u=e[6]:(u=M(Oe(n)),e[5]=n,e[6]=u);let _;e[7]!==h||e[8]!==o?(_=()=>{m(!h),p(!o)},e[7]=h,e[8]=o,e[9]=_):_=e[9];let I;e[10]===h?I=e[11]:(I=(0,s.jsx)($e,{isExpanded:h}),e[10]=h,e[11]=I);let f=o&&h&&"text-foreground",v;e[12]===f?v=e[13]:(v=Y("h-4 w-4 text-muted-foreground",f),e[12]=f,e[13]=v);let C;e[14]===v?C=e[15]:(C=(0,s.jsx)(fa,{className:v}),e[14]=v,e[15]=C);let k=o&&h&&"font-semibold",P;e[16]===k?P=e[17]:(P=Y(k),e[16]=k,e[17]=P);let F;e[18]!==t.name||e[19]!==P?(F=(0,s.jsx)("span",{className:P,children:t.name}),e[18]=t.name,e[19]=P,e[20]=F):F=e[20];let R;e[21]!==F||e[22]!==u||e[23]!==_||e[24]!==I||e[25]!==C||e[26]!==j?(R=(0,s.jsxs)(re,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",style:u,onSelect:_,value:j,children:[I,C,F]}),e[21]=F,e[22]=u,e[23]=_,e[24]=I,e[25]=C,e[26]=j,e[27]=R):R=e[27];let V;e[28]!==w||e[29]!==n||e[30]!==h||e[31]!==t||e[32]!==l||e[33]!==d||e[34]!==i?(V=h&&(0,s.jsxs)(s.Fragment,{children:[(w.length>0||!ie(t))&&(0,s.jsx)(We,{schemas:w,schemasResolved:ie(t),schemaPath:l,depth:n+1}),(0,s.jsx)(be,{tables:t.tables,tablesResolved:ce(t),searchValue:d,tableIndentRem:it(n),columnIndentRem:Ae(n),sqlTableContext:Ke(i,{schema:t.name,schemaPath:l})})]}),e[28]=w,e[29]=n,e[30]=h,e[31]=t,e[32]=l,e[33]=d,e[34]=i,e[35]=V):V=e[35];let $;return e[36]!==R||e[37]!==V?($=(0,s.jsxs)(s.Fragment,{children:[R,V]}),e[36]=R,e[37]=V,e[38]=$):$=e[38],$},be=a=>{let e=(0,z.c)(31),{tables:t,sqlTableContext:l,searchValue:n,tablesResolved:i,tableIndentRem:c,columnIndentRem:d}=a,r=i===void 0?!0:i,{addTableList:x}=oe(),[h,m]=T.useState(!1),o;e[0]!==x||e[1]!==l||e[2]!==r?(o=async()=>{if(!r&&l){m(!0);let{engine:u,database:_,schema:I,schemaPath:f}=l,v=await ra.request({engine:u,database:_,schema:I,schemaPath:f??[]});if(!(v!=null&&v.tables))throw m(!1),Error("No tables available");x({tables:v.tables,sqlTableContext:l}),m(!1)}},e[0]=x,e[1]=l,e[2]=r,e[3]=o):o=e[3];let p;e[4]!==l||e[5]!==r?(p=[r,l],e[4]=l,e[5]=r,e[6]=p):p=e[6];let{isPending:S,error:b}=pe(o,p),N=c??U.tableLoading,y;e[7]===N?y=e[8]:(y=M(N),e[7]=N,e[8]=y);let j=y;if(S||h){let u;return e[9]===j?u=e[10]:(u=(0,s.jsx)(he,{message:"Loading tables...",style:j}),e[9]=j,e[10]=u),u}if(b){let u;return e[11]!==b||e[12]!==j?(u=(0,s.jsx)(ue,{error:b,style:j}),e[11]=b,e[12]=j,e[13]=u):u=e[13],u}if(t.length===0){let u;return e[14]===j?u=e[15]:(u=(0,s.jsx)(le,{content:"No tables found",style:j}),e[14]=j,e[15]=u),u}let g;if(e[16]!==d||e[17]!==n||e[18]!==l||e[19]!==c||e[20]!==t){let u;e[22]===n?u=e[23]:(u=f=>n?f.name.toLowerCase().includes(n.toLowerCase()):!0,e[22]=n,e[23]=u);let _=t.filter(u),I;e[24]!==d||e[25]!==n||e[26]!==l||e[27]!==c?(I=f=>(0,s.jsx)(jt,{table:f,sqlTableContext:l,isSearching:!!n,tableIndentRem:c,columnIndentRem:d},f.name),e[24]=d,e[25]=n,e[26]=l,e[27]=c,e[28]=I):I=e[28],g=_.map(I),e[16]=d,e[17]=n,e[18]=l,e[19]=c,e[20]=t,e[21]=g}else g=e[21];let w;return e[29]===g?w=e[30]:(w=(0,s.jsx)(s.Fragment,{children:g}),e[29]=g,e[30]=w),w},jt=a=>{let e=(0,z.c)(69),{table:t,sqlTableContext:l,isSearching:n,tableIndentRem:i,columnIndentRem:c}=a,{addTable:d}=oe(),[r,x]=T.useState(!1),h=t.columns.length>0,m;e[0]!==d||e[1]!==r||e[2]!==l||e[3]!==t.name||e[4]!==h?(m=async()=>{if(r&&!h&&l){let{engine:L,database:ae,schema:te,schemaPath:Xe}=l,se=await la.request({engine:L,database:ae,schema:te,tableName:t.name,schemaPath:Xe??[]});if(!(se!=null&&se.table))throw Error("No table details available");d({table:se.table,sqlTableContext:l})}},e[0]=d,e[1]=r,e[2]=l,e[3]=t.name,e[4]=h,e[5]=m):m=e[5];let o;e[6]!==r||e[7]!==h?(o=[r,h],e[6]=r,e[7]=h,e[8]=o):o=e[8];let{isFetching:p,isPending:S,error:b}=pe(m,o),N=X(Sa),y=Ka(),{createNewCell:j}=Ze(),g=Re(),w;e[9]!==g||e[10]!==N||e[11]!==j||e[12]!==y||e[13]!==l||e[14]!==t?(w=()=>{Ha({autoInstantiate:N,createNewCell:j,fromCellId:y}),g((()=>{if(t.source_type==="catalog"){let L=l!=null&&l.database?[l.database,...l.schemaPath??[],t.name].join("."):t.name;return`${t.engine}.load_table("${L}")`}if(l)return _e({table:t,columnName:"*",sqlTableContext:l});switch(t.source_type){case"local":return`mo.ui.table(${t.name})`;case"duckdb":case"connection":return _e({table:t,columnName:"*",sqlTableContext:l});default:return Va(t.source_type),""}})())},e[9]=g,e[10]=N,e[11]=j,e[12]=y,e[13]=l,e[14]=t,e[15]=w):w=e[15];let u=w,_;e[16]!==t.num_columns||e[17]!==t.num_rows?(_=()=>{let L=[];return t.num_rows!=null&&L.push(`${t.num_rows} rows`),t.num_columns!=null&&L.push(`${t.num_columns} columns`),L.length===0?null:(0,s.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:L.join(", ")})})},e[16]=t.num_columns,e[17]=t.num_rows,e[18]=_):_=e[18];let I=_,f;e[19]!==c||e[20]!==b||e[21]!==p||e[22]!==S||e[23]!==l||e[24]!==t?(f=()=>{let L=M(c??U.tableLoading);if(S||p)return(0,s.jsx)(he,{message:"Loading columns...",style:L});if(b)return(0,s.jsx)(ue,{error:b,style:L});let ae=t.columns;return ae.length===0?(0,s.jsx)(le,{content:"No columns found",style:L}):ae.map(te=>(0,s.jsx)(yt,{table:t,column:te,sqlTableContext:l,columnIndentRem:c},te.name))},e[19]=c,e[20]=b,e[21]=p,e[22]=S,e[23]=l,e[24]=t,e[25]=f):f=e[25];let v=f,C;e[26]!==r||e[27]!==n||e[28]!==t.source_type||e[29]!==t.type?(C=()=>{if(t.source_type!=="local")return(0,s.jsx)(t.type==="table"?xa:Na,{className:"h-3 w-3",strokeWidth:r||n?2.5:void 0})},e[26]=r,e[27]=n,e[28]=t.source_type,e[29]=t.type,e[30]=C):C=e[30];let k=C,P;e[31]!==l||e[32]!==t.name?(P=va(l,t.name),e[31]=l,e[32]=t.name,e[33]=P):P=e[33];let F=P,R=i??(l?U.tableSchemaless:0),V=(r||n)&&"font-semibold",$;e[34]===V?$=e[35]:($=Y("rounded-none group h-8 cursor-pointer",V),e[34]=V,e[35]=$);let D;e[36]===R?D=e[37]:(D=M(R),e[36]=R,e[37]=D);let q;e[38]===r?q=e[39]:(q=()=>x(!r),e[38]=r,e[39]=q);let E;e[40]===k?E=e[41]:(E=k(),e[40]=k,e[41]=E);let O;e[42]===t.name?O=e[43]:(O=(0,s.jsx)("span",{className:"text-sm",children:t.name}),e[42]=t.name,e[43]=O);let A;e[44]!==E||e[45]!==O?(A=(0,s.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[E,O]}),e[44]=E,e[45]=O,e[46]=A):A=e[46];let B;e[47]===I?B=e[48]:(B=I(),e[47]=I,e[48]=B);let H;e[49]===u?H=e[50]:(H=Ra.stopPropagation(()=>u()),e[49]=u,e[50]=H);let Z;e[51]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,s.jsx)(Aa,{className:"h-3 w-3"}),e[51]=Z):Z=e[51];let K;e[52]===H?K=e[53]:(K=(0,s.jsx)(xe,{content:"Add table to notebook",delayDuration:400,children:(0,s.jsx)(ne,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:H,children:Z})}),e[52]=H,e[53]=K);let W;e[54]!==r||e[55]!==D||e[56]!==q||e[57]!==A||e[58]!==B||e[59]!==K||e[60]!==$||e[61]!==F?(W=(0,s.jsxs)(re,{className:$,style:D,value:F,"aria-selected":r,forceMount:!0,onSelect:q,children:[A,B,K]}),e[54]=r,e[55]=D,e[56]=q,e[57]=A,e[58]=B,e[59]=K,e[60]=$,e[61]=F,e[62]=W):W=e[62];let J;e[63]!==r||e[64]!==v?(J=r&&v(),e[63]=r,e[64]=v,e[65]=J):J=e[65];let ee;return e[66]!==W||e[67]!==J?(ee=(0,s.jsxs)(s.Fragment,{children:[W,J]}),e[66]=W,e[67]=J,e[68]=ee):ee=e[68],ee},yt=a=>{var O,A;let e=(0,z.c)(51),{table:t,column:l,sqlTableContext:n,columnIndentRem:i}=a,[c,d]=T.useState(!1),r=X(Ie),x=je(sa);r&&c&&d(!1),x(c?B=>new Set([...B,`${t.name}:${l.name}`]):B=>(B.delete(`${t.name}:${l.name}`),new Set(B)));let h=Re(),{columnsPreviews:m}=na(),o;e[0]!==l.name||e[1]!==t.primary_keys?(o=((O=t.primary_keys)==null?void 0:O.includes(l.name))||!1,e[0]=l.name,e[1]=t.primary_keys,e[2]=o):o=e[2];let p=o,S;e[3]!==l.name||e[4]!==t.indexes?(S=((A=t.indexes)==null?void 0:A.includes(l.name))||!1,e[3]=l.name,e[4]=t.indexes,e[5]=S):S=e[5];let b=S,N;e[6]===h?N=e[7]:(N=B=>{h(B)},e[6]=h,e[7]=N);let y=N,j=vt,g=c?"font-semibold":"",w;e[8]!==l.name||e[9]!==g?(w=(0,s.jsx)("span",{className:g,children:l.name}),e[8]=l.name,e[9]=g,e[10]=w):w=e[10];let u=w,_=`${t.name}.${l.name}`,I=`${t.name}.${l.name}`,f;e[11]===c?f=e[12]:(f=()=>d(!c),e[11]=c,e[12]=f);let v;e[13]!==i||e[14]!==n?(v=i??(n?Ae(0):U.columnLocal),e[13]=i,e[14]=n,e[15]=v):v=e[15];let C;e[16]===v?C=e[17]:(C=M(v),e[16]=v,e[17]=C);let k;e[18]!==l.type||e[19]!==u?(k=(0,s.jsx)($a,{columnName:u,dataType:l.type}),e[18]=l.type,e[19]=u,e[20]=k):k=e[20];let P;e[21]===p?P=e[22]:(P=p&&j({tooltipContent:"Primary key",content:"PK"}),e[21]=p,e[22]=P);let F;e[23]===b?F=e[24]:(F=b&&j({tooltipContent:"Indexed",content:"IDX"}),e[23]=b,e[24]=F);let R;e[25]!==C||e[26]!==k||e[27]!==P||e[28]!==F?(R=(0,s.jsxs)("div",{className:"flex flex-row gap-2 items-center flex-1",style:C,children:[k,P,F]}),e[25]=C,e[26]=k,e[27]=P,e[28]=F,e[29]=R):R=e[29];let V;e[30]===l.name?V=e[31]:(V=(0,s.jsx)(xe,{content:"Copy column name",delayDuration:400,children:(0,s.jsx)(ne,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,s.jsx)(za,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[30]=l.name,e[31]=V);let $;e[32]===l.external_type?$=e[33]:($=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[32]=l.external_type,e[33]=$);let D;e[34]!==R||e[35]!==V||e[36]!==$||e[37]!==_||e[38]!==I||e[39]!==f?(D=(0,s.jsxs)(re,{className:"rounded-none py-1 group cursor-pointer",value:I,onSelect:f,children:[R,V,$]},_),e[34]=R,e[35]=V,e[36]=$,e[37]=_,e[38]=I,e[39]=f,e[40]=D):D=e[40];let q;e[41]!==l||e[42]!==m||e[43]!==y||e[44]!==c||e[45]!==n||e[46]!==t?(q=c&&(0,s.jsx)("div",{className:"pr-2 py-2 bg-(--slate-1) shadow-inner border-b",style:M(U.columnPreview),children:(0,s.jsx)(_a,{children:(0,s.jsx)(Oa,{table:t,column:l,onAddColumnChart:y,preview:m.get(n?`${n.database}.${n.schema}.${t.name}:${l.name}`:`${t.name}:${l.name}`),sqlTableContext:n})})}),e[41]=l,e[42]=m,e[43]=y,e[44]=c,e[45]=n,e[46]=t,e[47]=q):q=e[47];let E;return e[48]!==D||e[49]!==q?(E=(0,s.jsxs)(s.Fragment,{children:[D,q]}),e[48]=D,e[49]=q,e[50]=E):E=e[50],E};function vt(a){let{tooltipContent:e,content:t}=a;return(0,s.jsx)(xe,{content:e,delayDuration:100,children:(0,s.jsx)("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:t})})}function Ds(a){return a}var G={name:"name",type:"type-value",defs:"defs-refs"},Nt=[{id:G.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,s.jsx)(de,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,t]=a();return(0,s.jsx)(rt,{name:e,declaredBy:t})}},{id:G.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,s.jsx)(de,{header:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{children:"Type"}),(0,s.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,t]=a();return(0,s.jsxs)("div",{className:"max-w-[150px]",children:[(0,s.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,s.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:t??"",children:t})]})}},{id:G.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,s.jsx)(de,{header:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{children:"Declared By"}),(0,s.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,t,l]=a(),n=i=>{let c=pa(i);c&&ha(c,l)};return(0,s.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,s.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,s.jsx)("span",{title:"Declared by",children:(0,s.jsx)(mt,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,s.jsx)(qe,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>n(e[0])}):(0,s.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((i,c)=>(0,s.jsxs)("span",{className:"flex",children:[(0,s.jsx)(qe,{variant:"focus",cellId:i,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>n(i)},i),c<e.length-1&&", "]},i))})]}),(0,s.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,s.jsx)("span",{title:"Used by",children:(0,s.jsx)(Ua,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,s.jsx)(nt,{maxCount:3,cellIds:t,skipScroll:!0,onClick:n})]})]})}}];function wt({variables:a,sort:e,cellIdToIndex:t}){e||(e={id:G.defs,desc:!1});let l=[];switch(e.id){case G.name:l=Q(a,n=>n.name);break;case G.type:l=Q(a,n=>n.dataType);break;case G.defs:l=Q(a,n=>t.get(n.declaredBy[0]));break}return e.desc?l.toReversed():l}const Je=(0,T.memo)(({className:a,cellIds:e,variables:t})=>{let[l,n]=T.useState([]),[i,c]=T.useState(""),d=oa(),{locale:r}=Ga(),x=(0,T.useMemo)(()=>{let m=o=>{let p=d[o];return ja(p)?`cell-${e.indexOf(o)}`:p??`cell-${e.indexOf(o)}`};return Object.values(t).map(o=>({...o,declaredByNames:o.declaredBy.map(m),usedByNames:o.usedBy.map(m)}))},[t,d,e]),h=Ta({data:(0,T.useMemo)(()=>{let m=new Map;return e.forEach((o,p)=>m.set(o,p)),wt({variables:x,sort:l[0],cellIdToIndex:m})},[x,l,e]),columns:Nt,getCoreRowModel:Pa(),onGlobalFilterChange:c,getFilteredRowModel:Fa(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:r,onSortingChange:n,getSortedRowModel:ka(),state:{sorting:l,globalFilter:i}});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Ma,{className:"w-full",placeholder:"Search",value:i,onChange:m=>c(m.target.value)}),(0,s.jsxs)(Qa,{className:Y("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,s.jsx)(Wa,{children:(0,s.jsx)(Be,{className:"whitespace-nowrap text-xs",children:h.getFlatHeaders().map(m=>(0,s.jsx)(Ja,{className:"sticky top-0 bg-background border-b",children:Fe(m.column.columnDef.header,m.getContext())},m.id))})}),(0,s.jsx)(Xa,{children:h.getRowModel().rows.map(m=>(0,s.jsx)(Be,{className:"hover:bg-accent",children:m.getVisibleCells().map(o=>(0,s.jsx)(Ya,{className:"border-b",children:Fe(o.column.columnDef.cell,o.getContext())},o.id))},m.id))})]})]})});Je.displayName="VariableTable";var St=Pe(),_t=Ne("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},Ce),Ct=()=>{let a=(0,St.c)(24),e=ca(),t=ga(),l=X(Se),n=X(ze),[i,c]=ye(_t),d=l.length+n.length,r;a[0]!==d||a[1]!==i.hasUserInteracted||a[2]!==i.openSections?(r=!i.hasUserInteracted&&d>0?[...new Set([...i.openSections,"datasources"])]:i.openSections,a[0]=d,a[1]=i.hasUserInteracted,a[2]=i.openSections,a[3]=r):r=a[3];let x=r,h;a[4]===c?h=a[5]:(h=u=>{c({openSections:u,hasUserInteracted:!0})},a[4]=c,a[5]=h);let m=h,o=!x.includes("datasources")&&d>0,p;a[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,s.jsx)(me,{className:"w-4 h-4"}),a[6]=p):p=a[6];let S;a[7]!==d||a[8]!==o?(S=o&&(0,s.jsx)(ct,{children:d}),a[7]=d,a[8]=o,a[9]=S):S=a[9];let b;a[10]===S?b=a[11]:(b=(0,s.jsxs)(Ee,{children:[p,"Data sources",S]}),a[10]=S,a[11]=b);let N;a[12]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)(Me,{children:(0,s.jsx)(xt,{})}),a[12]=N):N=a[12];let y;a[13]===b?y=a[14]:(y=(0,s.jsxs)(Le,{value:"datasources",children:[b,N]}),a[13]=b,a[14]=y);let j;a[15]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsxs)(Ee,{children:[(0,s.jsx)(ya,{className:"w-4 h-4"}),"Variables"]}),a[15]=j):j=a[15];let g;a[16]!==t||a[17]!==e?(g=(0,s.jsxs)(Le,{value:"variables",lastItem:!0,children:[j,(0,s.jsx)(Me,{children:Object.keys(e).length===0?(0,s.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No variables defined"}):(0,s.jsx)(Je,{cellIds:t.inOrderIds,variables:e})})]}),a[16]=t,a[17]=e,a[18]=g):g=a[18];let w;return a[19]!==m||a[20]!==x||a[21]!==y||a[22]!==g?(w=(0,s.jsxs)(Ia,{type:"multiple",value:x,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[y,g]}),a[19]=m,a[20]=x,a[21]=y,a[22]=g,a[23]=w):w=a[23],w};export{Ct as default};
1
+ import{s as ge}from"./chunk-LvLJmgfZ.js";import{d as je,l as ye,p as ve,u as X}from"./useEvent-D91BmmQi.js";import{t as Ye}from"./react-Bj1aDYRI.js";import{Ar as Qe,Bi as Ne,Br as we,E as Ze,Fr as Se,Ft as ea,Gr as aa,In as ta,Ir as sa,It as la,Kr as _e,Lr as na,Lt as ra,N as oa,Nn as Ce,Nr as oe,Pn as ca,Pr as Ie,Ur as ma,Vr as ce,Wr as ia,Xr as ke,Yr as da,_n as ha,ar as ua,cr as xa,d as pa,hr as fa,i as ba,j as ga,kt as ja,or as ya,qr as va,vr as Na,xt as wa,yr as me,zr as ie}from"./cells-D9tCNe6o.js";import"./react-dom-CSu739Rf.js";import{t as Pe}from"./compiler-runtime-B3qBwwSJ.js";import{c as Sa}from"./utils-BWBBpCkT.js";import{t as _a}from"./ErrorBoundary-DzTD8LVq.js";import{t as Y}from"./cn-DYvqRARy.js";import{t as Ca}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import{r as Ia}from"./config-BJVx3eBW.js";import"./popover-Bcz1Zikb.js";import{$ as de,et as Fe,f as Te,g as $e,h as he,it as ka,m as ue,nt as Pa,p as le,rt as Fa,tt as Ta,u as $a}from"./JsonOutput-BoDVlAbV.js";import"./download-CnYLah74.js";import{r as Re}from"./radio-group-CdR34W0K.js";import{t as xe}from"./tooltip-4bZlU7jl.js";import{r as Ra,t as ne}from"./button-DDGiD1NW.js";import"./dist-12S8I4CH.js";import{l as Q}from"./arrays-DbOq36rN.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{i as Va}from"./strings--BknHX9C.js";import{r as Da}from"./requests-9-v2bhoi.js";import{t as qa}from"./createLucideIcon-w-Qo9n0R.js";import{t as Ba}from"./x-C-Eq0ag8.js";import{a as La,r as Ea}from"./tree-actions-DJTGQWz0.js";import"./markdown-renderer-C9vdWclk.js";import{t as Ve}from"./add-connection-dialog-wLF3on0N.js";import{t as De}from"./plus-AgXtozBz.js";import{a as Ma}from"./input-JxFwu-3G.js";import{n as Oa,o as Aa}from"./column-preview-BYiduGzU.js";import{t as Ua}from"./workflow-e-XGaKyY.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{t as za}from"./copy-icon-neDQUo4Q.js";import{t as Ga}from"./context-BFPaAUK_.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import{t as qe}from"./cell-link-D1nZ5myN.js";import"./chunk-5FQGJX7Z-Cp0LZT-a.js";import{r as Ha}from"./html-to-image-1vflBYah.js";import{o as Ka}from"./focus-DTmSq3hN.js";import{n as pe}from"./useAsyncData-Bg5iAViP.js";import{a as Wa,i as Ja,n as Xa,o as Be,r as Ya,t as Qa}from"./table-CH2plyy9.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as Za,f as et,o as re,t as at}from"./command-Dqxie4gq.js";import{n as tt}from"./icons-CIPE8AIY.js";import{t as st}from"./useDeepCompareMemoize-CSMoa-ga.js";import{t as lt}from"./empty-state-CqJvEFRk.js";import{n as nt,t as rt}from"./common-XBd1qRDk.js";import{a as ot,i as ct,n as Le,r as Ee,t as Me}from"./components-D-aPO6md.js";var mt=qa("square-equal",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M7 10h10",key:"1101jm"}],["path",{d:"M7 14h10",key:"1mhdw3"}]]),z=Pe(),T=ge(Ye(),1),s=ge(Ca(),1),fe=1;function Oe(a){return 1.75+a*fe}function it(a){return 3+a*fe}function Ae(a){return 3.25+a*fe}var U={engineEmpty:.75,engine:.75,database:1,tableLoading:2.75,tableSchemaless:2,columnLocal:1.25,columnPreview:2.5};function M(a){return{paddingLeft:`${a}rem`}}var dt=ve(a=>{let e=a(Se),t=a(ta),l=a(ba);return Q(e,n=>{if(!n.variable_name)return-1;let i=Object.values(t).find(d=>d.name===n.variable_name);if(!i)return 0;let c=l.inOrderIds.indexOf(i.declaredBy[0]);return c===-1?0:c})});const ht=Ne("marimo:datasources:hideEmpty",!1,Ce,{getOnInit:!0});function Ue(a){let e=!1,t=[];for(let l of a){if(!ce(l)||!ie(l)){t.push(l);continue}let n=l.child_schemas??[],i=Ue(n);if(l.tables.length===0&&i.length===0){e=!0;continue}if(i===n){t.push(l);continue}e=!0,t.push({...l,child_schemas:i})}return e?t:a}function ut(a){let e=!1,t=[];for(let l of a){if(we(l)&&l.schemas.length===0){e=!0;continue}if(l.schemas.length===0){t.push(l);continue}let n=Ue(l.schemas);if(n.length===0){e=!0;continue}if(n===l.schemas){t.push(l);continue}e=!0,t.push({...l,schemas:n})}return e?t:a}const ze=ve(a=>{let e=new Map(a(Qe));for(let t of ke){let l=e.get(t);l&&(l.databases.length===0&&e.delete(t),l.databases.length===1&&l.databases[0].name==="memory"&&l.databases[0].schemas.length===0&&e.delete(t))}return Q([...e.values()],t=>ke.has(t.name)?1:0)}),xt=()=>{let a=(0,z.c)(40),[e,t]=T.useState(""),[l,n]=ye(ht),i=je(Ie),c=X(dt),d=X(ze),r;e:{if(!l){r=d;break e}let f,v;a[0]===d?(f=a[1],v=a[2]):(f=!1,v=d.map(C=>{let k=ut(C.databases);return k===C.databases?C:(f=!0,{...C,databases:k})}),a[0]=d,a[1]=f,a[2]=v),r=f?v:d}let x=r;if(c.length===0&&x.length===0){let f;return a[3]===Symbol.for("react.memo_cache_sentinel")?(f=(0,s.jsx)(lt,{title:"No tables found",description:"Any datasets/dataframes in the global scope will be shown here.",action:(0,s.jsx)(Ve,{children:(0,s.jsxs)(ne,{variant:"outline",size:"sm",children:["Add database or catalog",(0,s.jsx)(De,{className:"h-4 w-4 ml-2"})]})}),icon:(0,s.jsx)(me,{})}),a[3]=f):f=a[3],f}let h=!!e.trim(),m;a[4]===i?m=a[5]:(m=f=>{i(f.length>0),t(f)},a[4]=i,a[5]=m);let o;a[6]!==e||a[7]!==m?(o=(0,s.jsx)(Za,{placeholder:"Search tables...",className:"h-6 m-1",value:e,onValueChange:m,rootClassName:"flex-1 border-r border-b-0"}),a[6]=e,a[7]=m,a[8]=o):o=a[8];let p;a[9]===h?p=a[10]:(p=h&&(0,s.jsx)("button",{type:"button",className:"float-right border-b px-2 m-0 h-full hover:bg-accent hover:text-accent-foreground",onClick:()=>t(""),children:(0,s.jsx)(Ba,{className:"h-4 w-4"})}),a[9]=h,a[10]=p);let S=!l,b;a[11]!==l||a[12]!==n?(b=()=>n(!l),a[11]=l,a[12]=n,a[13]=b):b=a[13];let N;a[14]!==S||a[15]!==b?(N=(0,s.jsx)(La,{"data-testid":"datasources-hide-empty-button",isVisible:S,onToggle:b,showTooltip:"Show empty schemas and databases",hideTooltip:"Hide empty schemas and databases",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden"}),a[14]=S,a[15]=b,a[16]=N):N=a[16];let y;a[17]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ve,{children:(0,s.jsx)(ne,{variant:"ghost",size:"sm",className:"px-2 rounded-none focus-visible:outline-hidden",children:(0,s.jsx)(De,{className:"h-4 w-4"})})}),a[17]=y):y=a[17];let j;a[18]!==o||a[19]!==p||a[20]!==N?(j=(0,s.jsxs)("div",{className:"flex items-center w-full border-b",children:[o,p,N,y]}),a[18]=o,a[19]=p,a[20]=N,a[21]=j):j=a[21];let g;if(a[22]!==x||a[23]!==e){let f;a[25]===e?f=a[26]:(f=v=>(0,s.jsx)(pt,{connection:v,hasChildren:v.databases.length>0,children:v.databases.map(C=>(0,s.jsx)(ft,{connection:v,database:C,searchValue:e},C.name))},v.name),a[25]=e,a[26]=f),g=x.map(f),a[22]=x,a[23]=e,a[24]=g}else g=a[24];let w;a[27]!==x.length||a[28]!==c.length?(w=x.length>0&&c.length>0&&(0,s.jsxs)(Te,{className:"pr-2",style:M(U.engine),children:[(0,s.jsx)(tt,{className:"h-4 w-4 text-muted-foreground"}),(0,s.jsx)("span",{className:"text-xs",children:"Python"})]}),a[27]=x.length,a[28]=c.length,a[29]=w):w=a[29];let u;a[30]!==e||a[31]!==c?(u=c.length>0&&(0,s.jsx)(be,{tables:c,searchValue:e}),a[30]=e,a[31]=c,a[32]=u):u=a[32];let _;a[33]!==w||a[34]!==u||a[35]!==g?(_=(0,s.jsxs)(et,{className:"flex flex-col",children:[g,w,u]}),a[33]=w,a[34]=u,a[35]=g,a[36]=_):_=a[36];let I;return a[37]!==_||a[38]!==j?(I=(0,s.jsxs)(at,{className:"border-b bg-background rounded-none h-full pb-10 overflow-auto outline-hidden",shouldFilter:!1,children:[j,_]}),a[37]=_,a[38]=j,a[39]=I):I=a[39],I};var pt=a=>{let e=(0,z.c)(26),{connection:t,children:l,hasChildren:n}=a,i=t.name===da,c=i?"In-Memory":t.name,{previewDataSourceConnection:d}=Da(),r;e[0]!==t.name||e[1]!==d?(r=async()=>{await d({engine:t.name})},e[0]=t.name,e[1]=d,e[2]=r):r=e[2];let x=r,h;e[3]===Symbol.for("react.memo_cache_sentinel")?(h=M(U.engine),e[3]=h):h=e[3];let m;e[4]===t.dialect?m=e[5]:(m=(0,s.jsx)(wa,{className:"h-4 w-4 text-muted-foreground",name:t.dialect}),e[4]=t.dialect,e[5]=m);let o;e[6]===t.dialect?o=e[7]:(o=ua(t.dialect),e[6]=t.dialect,e[7]=o);let p;e[8]===o?p=e[9]:(p=(0,s.jsx)("span",{className:"text-xs",children:o}),e[8]=o,e[9]=p);let S=c,b;e[10]===S?b=e[11]:(b=(0,s.jsxs)("span",{className:"text-xs text-muted-foreground",children:["(",(0,s.jsx)(ot,{variableName:S}),")"]}),e[10]=S,e[11]=b);let N;e[12]!==x||e[13]!==i?(N=!i&&(0,s.jsx)(Ea,{onClick:x,tooltip:"Refresh connection",className:"ml-auto h-4 p-0",iconClassName:"h-3.5 w-3.5"}),e[12]=x,e[13]=i,e[14]=N):N=e[14];let y;e[15]!==m||e[16]!==p||e[17]!==b||e[18]!==N?(y=(0,s.jsxs)(Te,{className:"pr-2",style:h,children:[m,p,b,N]}),e[15]=m,e[16]=p,e[17]=b,e[18]=N,e[19]=y):y=e[19];let j;e[20]!==l||e[21]!==n?(j=n?l:(0,s.jsx)(le,{content:"No databases available",style:M(U.engineEmpty)}),e[20]=l,e[21]=n,e[22]=j):j=e[22];let g;return e[23]!==j||e[24]!==y?(g=(0,s.jsxs)(s.Fragment,{children:[y,j]}),e[23]=j,e[24]=y,e[25]=g):g=e[25],g},Ge=T.createContext(null);function He(){let a=T.useContext(Ge);if(a==null)throw Error("useDataSourceTree must be used within a DataSourceTreeContext.Provider");return a}function Ke(a,{schema:e,schemaPath:t}){return{engine:a.engineName,database:a.databaseName,schema:e,schemaPath:t,defaultSchema:a.defaultSchema,defaultDatabase:a.defaultDatabase,dialect:a.dialect}}var ft=a=>{let e=(0,z.c)(21),{connection:t,database:l,searchValue:n}=a,i;e[0]!==t.default_database||e[1]!==t.default_schema||e[2]!==t.dialect||e[3]!==t.name||e[4]!==l.name||e[5]!==n?(i={engineName:t.name,databaseName:l.name,dialect:t.dialect,defaultSchema:t.default_schema,defaultDatabase:t.default_database,searchValue:n},e[0]=t.default_database,e[1]=t.default_schema,e[2]=t.dialect,e[3]=t.name,e[4]=l.name,e[5]=n,e[6]=i):i=e[6];let c=i,d=t.name,r=l.schemas,x;e[7]===l?x=e[8]:(x=we(l),e[7]=l,e[8]=x);let h;e[9]===Symbol.for("react.memo_cache_sentinel")?(h=[],e[9]=h):h=e[9];let m;e[10]!==l.schemas||e[11]!==x?(m=(0,s.jsx)(We,{schemas:r,schemasResolved:x,schemaPath:h,depth:0}),e[10]=l.schemas,e[11]=x,e[12]=m):m=e[12];let o;e[13]!==m||e[14]!==c?(o=(0,s.jsx)(Ge.Provider,{value:c,children:m}),e[13]=m,e[14]=c,e[15]=o):o=e[15];let p;return e[16]!==t.name||e[17]!==l||e[18]!==n||e[19]!==o?(p=(0,s.jsx)(bt,{engineName:d,database:l,searchValue:n,children:o}),e[16]=t.name,e[17]=l,e[18]=n,e[19]=o,e[20]=p):p=e[20],p},bt=a=>{let e=(0,z.c)(29),{searchValue:t,engineName:l,database:n,children:i}=a,c;e[0]!==n||e[1]!==t?(c=aa(n,t),e[0]=n,e[1]=t,e[2]=c):c=e[2];let d=c,[r,x]=T.useState(d),[h,m]=T.useState(!1),[o,p]=T.useState(t),[S,b]=T.useState(d);(o!==t||S!==d)&&(p(t),b(d),x(d));let N;e[3]===Symbol.for("react.memo_cache_sentinel")?(N=M(U.database),e[3]=N):N=e[3];let y;e[4]!==r||e[5]!==h?(y=()=>{x(!r),m(!h)},e[4]=r,e[5]=h,e[6]=y):y=e[6];let j=`${l}:${n.name}`,g;e[7]===r?g=e[8]:(g=(0,s.jsx)($e,{isExpanded:r}),e[7]=r,e[8]=g);let w=h&&r?"text-foreground":"text-muted-foreground",u;e[9]===w?u=e[10]:(u=Y("h-4 w-4",w),e[9]=w,e[10]=u);let _;e[11]===u?_=e[12]:(_=(0,s.jsx)(me,{className:u}),e[11]=u,e[12]=_);let I=h&&r&&"font-semibold",f;e[13]===I?f=e[14]:(f=Y(I),e[13]=I,e[14]=f);let v;e[15]===n.name?v=e[16]:(v=n.name===""?(0,s.jsx)("i",{children:"Not connected"}):n.name,e[15]=n.name,e[16]=v);let C;e[17]!==f||e[18]!==v?(C=(0,s.jsx)("span",{className:f,children:v}),e[17]=f,e[18]=v,e[19]=C):C=e[19];let k;e[20]!==C||e[21]!==y||e[22]!==j||e[23]!==g||e[24]!==_?(k=(0,s.jsxs)(re,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",style:N,onSelect:y,value:j,children:[g,_,C]}),e[20]=C,e[21]=y,e[22]=j,e[23]=g,e[24]=_,e[25]=k):k=e[25];let P=r&&i,F;return e[26]!==k||e[27]!==P?(F=(0,s.jsxs)(s.Fragment,{children:[k,P]}),e[26]=k,e[27]=P,e[28]=F):F=e[28],F},We=a=>{let{schemas:e,schemasResolved:t,depth:l}=a,n=He(),{engineName:i,databaseName:c,searchValue:d}=n,{addSchemaList:r}=oe(),x=st(a.schemaPath),[h,m]=T.useState(!1),{isPending:o,error:p}=pe(async()=>{if(!t&&i){m(!0);try{r({schemas:(await ea.request({engine:i,database:c,schemaPath:x})).schemas??[],sqlSchemaContext:{engine:i,database:c,schemaPath:x}})}finally{m(!1)}}},[t,i,c,x]),S=M(Oe(l));return o||h?(0,s.jsx)(he,{message:"Loading schemas...",style:S}):p?(0,s.jsx)(ue,{error:p,style:S}):e.length===0?(0,s.jsx)(le,{content:"No schemas available",style:S}):(0,s.jsx)(s.Fragment,{children:e.map(b=>ma(b.name)?(0,s.jsx)(be,{tables:b.tables,tablesResolved:ce(b),searchValue:d,sqlTableContext:Ke(n,{schema:b.name,schemaPath:x})},b.name):(0,s.jsx)(gt,{schema:b,schemaPath:[...x,b.name],depth:l},b.name))})},gt=a=>{let e=(0,z.c)(39),{schema:t,schemaPath:l,depth:n}=a,i=He(),{databaseName:c,searchValue:d}=i,r;e[0]!==t||e[1]!==d?(r=ia(t,d),e[0]=t,e[1]=d,e[2]=r):r=e[2];let x=r,[h,m]=T.useState(x),[o,p]=T.useState(!1),[S,b]=T.useState(d),[N,y]=T.useState(x),j=`${c}:${l.join(".")}`,g;e[3]===t.child_schemas?g=e[4]:(g=t.child_schemas??[],e[3]=t.child_schemas,e[4]=g);let w=g;(S!==d||N!==x)&&(b(d),y(x),m(x));let u;e[5]===n?u=e[6]:(u=M(Oe(n)),e[5]=n,e[6]=u);let _;e[7]!==h||e[8]!==o?(_=()=>{m(!h),p(!o)},e[7]=h,e[8]=o,e[9]=_):_=e[9];let I;e[10]===h?I=e[11]:(I=(0,s.jsx)($e,{isExpanded:h}),e[10]=h,e[11]=I);let f=o&&h&&"text-foreground",v;e[12]===f?v=e[13]:(v=Y("h-4 w-4 text-muted-foreground",f),e[12]=f,e[13]=v);let C;e[14]===v?C=e[15]:(C=(0,s.jsx)(fa,{className:v}),e[14]=v,e[15]=C);let k=o&&h&&"font-semibold",P;e[16]===k?P=e[17]:(P=Y(k),e[16]=k,e[17]=P);let F;e[18]!==t.name||e[19]!==P?(F=(0,s.jsx)("span",{className:P,children:t.name}),e[18]=t.name,e[19]=P,e[20]=F):F=e[20];let R;e[21]!==F||e[22]!==u||e[23]!==_||e[24]!==I||e[25]!==C||e[26]!==j?(R=(0,s.jsxs)(re,{className:"text-sm flex flex-row gap-1 items-center cursor-pointer rounded-none",style:u,onSelect:_,value:j,children:[I,C,F]}),e[21]=F,e[22]=u,e[23]=_,e[24]=I,e[25]=C,e[26]=j,e[27]=R):R=e[27];let V;e[28]!==w||e[29]!==n||e[30]!==h||e[31]!==t||e[32]!==l||e[33]!==d||e[34]!==i?(V=h&&(0,s.jsxs)(s.Fragment,{children:[(w.length>0||!ie(t))&&(0,s.jsx)(We,{schemas:w,schemasResolved:ie(t),schemaPath:l,depth:n+1}),(0,s.jsx)(be,{tables:t.tables,tablesResolved:ce(t),searchValue:d,tableIndentRem:it(n),columnIndentRem:Ae(n),sqlTableContext:Ke(i,{schema:t.name,schemaPath:l})})]}),e[28]=w,e[29]=n,e[30]=h,e[31]=t,e[32]=l,e[33]=d,e[34]=i,e[35]=V):V=e[35];let $;return e[36]!==R||e[37]!==V?($=(0,s.jsxs)(s.Fragment,{children:[R,V]}),e[36]=R,e[37]=V,e[38]=$):$=e[38],$},be=a=>{let e=(0,z.c)(31),{tables:t,sqlTableContext:l,searchValue:n,tablesResolved:i,tableIndentRem:c,columnIndentRem:d}=a,r=i===void 0?!0:i,{addTableList:x}=oe(),[h,m]=T.useState(!1),o;e[0]!==x||e[1]!==l||e[2]!==r?(o=async()=>{if(!r&&l){m(!0);let{engine:u,database:_,schema:I,schemaPath:f}=l,v=await ra.request({engine:u,database:_,schema:I,schemaPath:f??[]});if(!(v!=null&&v.tables))throw m(!1),Error("No tables available");x({tables:v.tables,sqlTableContext:l}),m(!1)}},e[0]=x,e[1]=l,e[2]=r,e[3]=o):o=e[3];let p;e[4]!==l||e[5]!==r?(p=[r,l],e[4]=l,e[5]=r,e[6]=p):p=e[6];let{isPending:S,error:b}=pe(o,p),N=c??U.tableLoading,y;e[7]===N?y=e[8]:(y=M(N),e[7]=N,e[8]=y);let j=y;if(S||h){let u;return e[9]===j?u=e[10]:(u=(0,s.jsx)(he,{message:"Loading tables...",style:j}),e[9]=j,e[10]=u),u}if(b){let u;return e[11]!==b||e[12]!==j?(u=(0,s.jsx)(ue,{error:b,style:j}),e[11]=b,e[12]=j,e[13]=u):u=e[13],u}if(t.length===0){let u;return e[14]===j?u=e[15]:(u=(0,s.jsx)(le,{content:"No tables found",style:j}),e[14]=j,e[15]=u),u}let g;if(e[16]!==d||e[17]!==n||e[18]!==l||e[19]!==c||e[20]!==t){let u;e[22]===n?u=e[23]:(u=f=>n?f.name.toLowerCase().includes(n.toLowerCase()):!0,e[22]=n,e[23]=u);let _=t.filter(u),I;e[24]!==d||e[25]!==n||e[26]!==l||e[27]!==c?(I=f=>(0,s.jsx)(jt,{table:f,sqlTableContext:l,isSearching:!!n,tableIndentRem:c,columnIndentRem:d},f.name),e[24]=d,e[25]=n,e[26]=l,e[27]=c,e[28]=I):I=e[28],g=_.map(I),e[16]=d,e[17]=n,e[18]=l,e[19]=c,e[20]=t,e[21]=g}else g=e[21];let w;return e[29]===g?w=e[30]:(w=(0,s.jsx)(s.Fragment,{children:g}),e[29]=g,e[30]=w),w},jt=a=>{let e=(0,z.c)(69),{table:t,sqlTableContext:l,isSearching:n,tableIndentRem:i,columnIndentRem:c}=a,{addTable:d}=oe(),[r,x]=T.useState(!1),h=t.columns.length>0,m;e[0]!==d||e[1]!==r||e[2]!==l||e[3]!==t.name||e[4]!==h?(m=async()=>{if(r&&!h&&l){let{engine:L,database:ae,schema:te,schemaPath:Xe}=l,se=await la.request({engine:L,database:ae,schema:te,tableName:t.name,schemaPath:Xe??[]});if(!(se!=null&&se.table))throw Error("No table details available");d({table:se.table,sqlTableContext:l})}},e[0]=d,e[1]=r,e[2]=l,e[3]=t.name,e[4]=h,e[5]=m):m=e[5];let o;e[6]!==r||e[7]!==h?(o=[r,h],e[6]=r,e[7]=h,e[8]=o):o=e[8];let{isFetching:p,isPending:S,error:b}=pe(m,o),N=X(Sa),y=Ka(),{createNewCell:j}=Ze(),g=Re(),w;e[9]!==g||e[10]!==N||e[11]!==j||e[12]!==y||e[13]!==l||e[14]!==t?(w=()=>{Ha({autoInstantiate:N,createNewCell:j,fromCellId:y}),g((()=>{if(t.source_type==="catalog"){let L=l!=null&&l.database?[l.database,...l.schemaPath??[],t.name].join("."):t.name;return`${t.engine}.load_table("${L}")`}if(l)return _e({table:t,columnName:"*",sqlTableContext:l});switch(t.source_type){case"local":return`mo.ui.table(${t.name})`;case"duckdb":case"connection":return _e({table:t,columnName:"*",sqlTableContext:l});default:return Va(t.source_type),""}})())},e[9]=g,e[10]=N,e[11]=j,e[12]=y,e[13]=l,e[14]=t,e[15]=w):w=e[15];let u=w,_;e[16]!==t.num_columns||e[17]!==t.num_rows?(_=()=>{let L=[];return t.num_rows!=null&&L.push(`${t.num_rows} rows`),t.num_columns!=null&&L.push(`${t.num_columns} columns`),L.length===0?null:(0,s.jsx)("div",{className:"flex flex-row gap-2 items-center pl-6 group-hover:hidden",children:(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:L.join(", ")})})},e[16]=t.num_columns,e[17]=t.num_rows,e[18]=_):_=e[18];let I=_,f;e[19]!==c||e[20]!==b||e[21]!==p||e[22]!==S||e[23]!==l||e[24]!==t?(f=()=>{let L=M(c??U.tableLoading);if(S||p)return(0,s.jsx)(he,{message:"Loading columns...",style:L});if(b)return(0,s.jsx)(ue,{error:b,style:L});let ae=t.columns;return ae.length===0?(0,s.jsx)(le,{content:"No columns found",style:L}):ae.map(te=>(0,s.jsx)(yt,{table:t,column:te,sqlTableContext:l,columnIndentRem:c},te.name))},e[19]=c,e[20]=b,e[21]=p,e[22]=S,e[23]=l,e[24]=t,e[25]=f):f=e[25];let v=f,C;e[26]!==r||e[27]!==n||e[28]!==t.source_type||e[29]!==t.type?(C=()=>{if(t.source_type!=="local")return(0,s.jsx)(t.type==="table"?xa:Na,{className:"h-3 w-3",strokeWidth:r||n?2.5:void 0})},e[26]=r,e[27]=n,e[28]=t.source_type,e[29]=t.type,e[30]=C):C=e[30];let k=C,P;e[31]!==l||e[32]!==t.name?(P=va(l,t.name),e[31]=l,e[32]=t.name,e[33]=P):P=e[33];let F=P,R=i??(l?U.tableSchemaless:0),V=(r||n)&&"font-semibold",$;e[34]===V?$=e[35]:($=Y("rounded-none group h-8 cursor-pointer",V),e[34]=V,e[35]=$);let D;e[36]===R?D=e[37]:(D=M(R),e[36]=R,e[37]=D);let q;e[38]===r?q=e[39]:(q=()=>x(!r),e[38]=r,e[39]=q);let E;e[40]===k?E=e[41]:(E=k(),e[40]=k,e[41]=E);let O;e[42]===t.name?O=e[43]:(O=(0,s.jsx)("span",{className:"text-sm",children:t.name}),e[42]=t.name,e[43]=O);let A;e[44]!==E||e[45]!==O?(A=(0,s.jsxs)("div",{className:"flex gap-2 items-center flex-1 pl-1",children:[E,O]}),e[44]=E,e[45]=O,e[46]=A):A=e[46];let B;e[47]===I?B=e[48]:(B=I(),e[47]=I,e[48]=B);let H;e[49]===u?H=e[50]:(H=Ra.stopPropagation(()=>u()),e[49]=u,e[50]=H);let Z;e[51]===Symbol.for("react.memo_cache_sentinel")?(Z=(0,s.jsx)(Aa,{className:"h-3 w-3"}),e[51]=Z):Z=e[51];let K;e[52]===H?K=e[53]:(K=(0,s.jsx)(xe,{content:"Add table to notebook",delayDuration:400,children:(0,s.jsx)(ne,{className:"group-hover:inline-flex hidden",variant:"text",size:"icon",onClick:H,children:Z})}),e[52]=H,e[53]=K);let W;e[54]!==r||e[55]!==D||e[56]!==q||e[57]!==A||e[58]!==B||e[59]!==K||e[60]!==$||e[61]!==F?(W=(0,s.jsxs)(re,{className:$,style:D,value:F,"aria-selected":r,forceMount:!0,onSelect:q,children:[A,B,K]}),e[54]=r,e[55]=D,e[56]=q,e[57]=A,e[58]=B,e[59]=K,e[60]=$,e[61]=F,e[62]=W):W=e[62];let J;e[63]!==r||e[64]!==v?(J=r&&v(),e[63]=r,e[64]=v,e[65]=J):J=e[65];let ee;return e[66]!==W||e[67]!==J?(ee=(0,s.jsxs)(s.Fragment,{children:[W,J]}),e[66]=W,e[67]=J,e[68]=ee):ee=e[68],ee},yt=a=>{var O,A;let e=(0,z.c)(51),{table:t,column:l,sqlTableContext:n,columnIndentRem:i}=a,[c,d]=T.useState(!1),r=X(Ie),x=je(sa);r&&c&&d(!1),x(c?B=>new Set([...B,`${t.name}:${l.name}`]):B=>(B.delete(`${t.name}:${l.name}`),new Set(B)));let h=Re(),{columnsPreviews:m}=na(),o;e[0]!==l.name||e[1]!==t.primary_keys?(o=((O=t.primary_keys)==null?void 0:O.includes(l.name))||!1,e[0]=l.name,e[1]=t.primary_keys,e[2]=o):o=e[2];let p=o,S;e[3]!==l.name||e[4]!==t.indexes?(S=((A=t.indexes)==null?void 0:A.includes(l.name))||!1,e[3]=l.name,e[4]=t.indexes,e[5]=S):S=e[5];let b=S,N;e[6]===h?N=e[7]:(N=B=>{h(B)},e[6]=h,e[7]=N);let y=N,j=vt,g=c?"font-semibold":"",w;e[8]!==l.name||e[9]!==g?(w=(0,s.jsx)("span",{className:g,children:l.name}),e[8]=l.name,e[9]=g,e[10]=w):w=e[10];let u=w,_=`${t.name}.${l.name}`,I=`${t.name}.${l.name}`,f;e[11]===c?f=e[12]:(f=()=>d(!c),e[11]=c,e[12]=f);let v;e[13]!==i||e[14]!==n?(v=i??(n?Ae(0):U.columnLocal),e[13]=i,e[14]=n,e[15]=v):v=e[15];let C;e[16]===v?C=e[17]:(C=M(v),e[16]=v,e[17]=C);let k;e[18]!==l.type||e[19]!==u?(k=(0,s.jsx)($a,{columnName:u,dataType:l.type}),e[18]=l.type,e[19]=u,e[20]=k):k=e[20];let P;e[21]===p?P=e[22]:(P=p&&j({tooltipContent:"Primary key",content:"PK"}),e[21]=p,e[22]=P);let F;e[23]===b?F=e[24]:(F=b&&j({tooltipContent:"Indexed",content:"IDX"}),e[23]=b,e[24]=F);let R;e[25]!==C||e[26]!==k||e[27]!==P||e[28]!==F?(R=(0,s.jsxs)("div",{className:"flex flex-row gap-2 items-center flex-1",style:C,children:[k,P,F]}),e[25]=C,e[26]=k,e[27]=P,e[28]=F,e[29]=R):R=e[29];let V;e[30]===l.name?V=e[31]:(V=(0,s.jsx)(xe,{content:"Copy column name",delayDuration:400,children:(0,s.jsx)(ne,{variant:"text",size:"icon",className:"group-hover:opacity-100 opacity-0 hover:bg-muted text-muted-foreground hover:text-foreground",children:(0,s.jsx)(za,{tooltip:!1,value:l.name,className:"h-3 w-3"})})}),e[30]=l.name,e[31]=V);let $;e[32]===l.external_type?$=e[33]:($=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:l.external_type}),e[32]=l.external_type,e[33]=$);let D;e[34]!==R||e[35]!==V||e[36]!==$||e[37]!==_||e[38]!==I||e[39]!==f?(D=(0,s.jsxs)(re,{className:"rounded-none py-1 group cursor-pointer",value:I,onSelect:f,children:[R,V,$]},_),e[34]=R,e[35]=V,e[36]=$,e[37]=_,e[38]=I,e[39]=f,e[40]=D):D=e[40];let q;e[41]!==l||e[42]!==m||e[43]!==y||e[44]!==c||e[45]!==n||e[46]!==t?(q=c&&(0,s.jsx)("div",{className:"pr-2 py-2 bg-(--slate-1) shadow-inner border-b",style:M(U.columnPreview),children:(0,s.jsx)(_a,{children:(0,s.jsx)(Oa,{table:t,column:l,onAddColumnChart:y,preview:m.get(n?`${n.database}.${n.schema}.${t.name}:${l.name}`:`${t.name}:${l.name}`),sqlTableContext:n})})}),e[41]=l,e[42]=m,e[43]=y,e[44]=c,e[45]=n,e[46]=t,e[47]=q):q=e[47];let E;return e[48]!==D||e[49]!==q?(E=(0,s.jsxs)(s.Fragment,{children:[D,q]}),e[48]=D,e[49]=q,e[50]=E):E=e[50],E};function vt(a){let{tooltipContent:e,content:t}=a;return(0,s.jsx)(xe,{content:e,delayDuration:100,children:(0,s.jsx)("span",{className:"text-xs text-black bg-gray-100 dark:invert rounded px-1",children:t})})}function Ds(a){return a}var G={name:"name",type:"type-value",defs:"defs-refs"},Nt=[{id:G.name,accessorFn:a=>[a.name,a.declaredBy],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,s.jsx)(de,{header:"Name",column:a}),cell:({getValue:a})=>{let[e,t]=a();return(0,s.jsx)(rt,{name:e,declaredBy:t})}},{id:G.type,accessorFn:a=>[a.dataType,a.value],enableSorting:!0,sortingFn:"alphanumeric",header:({column:a})=>(0,s.jsx)(de,{header:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{children:"Type"}),(0,s.jsx)("span",{children:"Value"})]}),column:a}),cell:({getValue:a})=>{let[e,t]=a();return(0,s.jsxs)("div",{className:"max-w-[150px]",children:[(0,s.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap text-muted-foreground font-mono text-xs",children:e}),(0,s.jsx)("div",{className:"text-ellipsis overflow-hidden whitespace-nowrap",title:t??"",children:t})]})}},{id:G.defs,accessorFn:a=>[a.declaredBy,a.usedBy,a.name,a.declaredByNames,a.usedByNames],enableSorting:!0,sortingFn:"basic",header:({column:a})=>(0,s.jsx)(de,{header:(0,s.jsxs)("div",{className:"flex flex-col gap-1",children:[(0,s.jsx)("span",{children:"Declared By"}),(0,s.jsx)("span",{children:"Used By"})]}),column:a}),cell:({getValue:a})=>{let[e,t,l]=a(),n=i=>{let c=pa(i);c&&ha(c,l)};return(0,s.jsxs)("div",{className:"flex flex-col gap-1 py-1",children:[(0,s.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-center",children:[(0,s.jsx)("span",{title:"Declared by",children:(0,s.jsx)(mt,{className:"w-3.5 h-3.5 text-muted-foreground"})}),e.length===1?(0,s.jsx)(qe,{variant:"focus",cellId:e[0],skipScroll:!0,onClick:()=>n(e[0])}):(0,s.jsx)("div",{className:"text-destructive flex flex-row gap-2",children:e.slice(0,3).map((i,c)=>(0,s.jsxs)("span",{className:"flex",children:[(0,s.jsx)(qe,{variant:"focus",cellId:i,skipScroll:!0,className:"whitespace-nowrap text-destructive",onClick:()=>n(i)},i),c<e.length-1&&", "]},i))})]}),(0,s.jsxs)("div",{className:"flex flex-row overflow-auto gap-2 items-baseline",children:[(0,s.jsx)("span",{title:"Used by",children:(0,s.jsx)(Ua,{className:"w-3.5 h-3.5 text-muted-foreground"})}),(0,s.jsx)(nt,{maxCount:3,cellIds:t,skipScroll:!0,onClick:n})]})]})}}];function wt({variables:a,sort:e,cellIdToIndex:t}){e||(e={id:G.defs,desc:!1});let l=[];switch(e.id){case G.name:l=Q(a,n=>n.name);break;case G.type:l=Q(a,n=>n.dataType);break;case G.defs:l=Q(a,n=>t.get(n.declaredBy[0]));break}return e.desc?l.toReversed():l}const Je=(0,T.memo)(({className:a,cellIds:e,variables:t})=>{let[l,n]=T.useState([]),[i,c]=T.useState(""),d=oa(),{locale:r}=Ga(),x=(0,T.useMemo)(()=>{let m=o=>{let p=d[o];return ja(p)?`cell-${e.indexOf(o)}`:p??`cell-${e.indexOf(o)}`};return Object.values(t).map(o=>({...o,declaredByNames:o.declaredBy.map(m),usedByNames:o.usedBy.map(m)}))},[t,d,e]),h=Ta({data:(0,T.useMemo)(()=>{let m=new Map;return e.forEach((o,p)=>m.set(o,p)),wt({variables:x,sort:l[0],cellIdToIndex:m})},[x,l,e]),columns:Nt,getCoreRowModel:Pa(),onGlobalFilterChange:c,getFilteredRowModel:Fa(),enableFilters:!0,enableGlobalFilter:!0,enableColumnPinning:!1,getColumnCanGlobalFilter(m){return m.columnDef.enableGlobalFilter??!0},globalFilterFn:"auto",manualSorting:!0,locale:r,onSortingChange:n,getSortedRowModel:ka(),state:{sorting:l,globalFilter:i}});return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(Ma,{className:"w-full",placeholder:"Search",value:i,onChange:m=>c(m.target.value)}),(0,s.jsxs)(Qa,{className:Y("w-full text-sm flex-1 border-separate border-spacing-0",a),children:[(0,s.jsx)(Wa,{children:(0,s.jsx)(Be,{className:"whitespace-nowrap text-xs",children:h.getFlatHeaders().map(m=>(0,s.jsx)(Ja,{className:"sticky top-0 bg-background border-b",children:Fe(m.column.columnDef.header,m.getContext())},m.id))})}),(0,s.jsx)(Xa,{children:h.getRowModel().rows.map(m=>(0,s.jsx)(Be,{className:"hover:bg-accent",children:m.getVisibleCells().map(o=>(0,s.jsx)(Ya,{className:"border-b",children:Fe(o.column.columnDef.cell,o.getContext())},o.id))},m.id))})]})]})});Je.displayName="VariableTable";var St=Pe(),_t=Ne("marimo:session-panel:state",{openSections:["variables"],hasUserInteracted:!1},Ce),Ct=()=>{let a=(0,St.c)(24),e=ca(),t=ga(),l=X(Se),n=X(ze),[i,c]=ye(_t),d=l.length+n.length,r;a[0]!==d||a[1]!==i.hasUserInteracted||a[2]!==i.openSections?(r=!i.hasUserInteracted&&d>0?[...new Set([...i.openSections,"datasources"])]:i.openSections,a[0]=d,a[1]=i.hasUserInteracted,a[2]=i.openSections,a[3]=r):r=a[3];let x=r,h;a[4]===c?h=a[5]:(h=u=>{c({openSections:u,hasUserInteracted:!0})},a[4]=c,a[5]=h);let m=h,o=!x.includes("datasources")&&d>0,p;a[6]===Symbol.for("react.memo_cache_sentinel")?(p=(0,s.jsx)(me,{className:"w-4 h-4"}),a[6]=p):p=a[6];let S;a[7]!==d||a[8]!==o?(S=o&&(0,s.jsx)(ct,{children:d}),a[7]=d,a[8]=o,a[9]=S):S=a[9];let b;a[10]===S?b=a[11]:(b=(0,s.jsxs)(Ee,{children:[p,"Data sources",S]}),a[10]=S,a[11]=b);let N;a[12]===Symbol.for("react.memo_cache_sentinel")?(N=(0,s.jsx)(Me,{children:(0,s.jsx)(xt,{})}),a[12]=N):N=a[12];let y;a[13]===b?y=a[14]:(y=(0,s.jsxs)(Le,{value:"datasources",children:[b,N]}),a[13]=b,a[14]=y);let j;a[15]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsxs)(Ee,{children:[(0,s.jsx)(ya,{className:"w-4 h-4"}),"Variables"]}),a[15]=j):j=a[15];let g;a[16]!==t||a[17]!==e?(g=(0,s.jsxs)(Le,{value:"variables",lastItem:!0,children:[j,(0,s.jsx)(Me,{children:Object.keys(e).length===0?(0,s.jsx)("div",{className:"px-3 py-4 text-sm text-muted-foreground",children:"No variables defined"}):(0,s.jsx)(Je,{cellIds:t.inOrderIds,variables:e})})]}),a[16]=t,a[17]=e,a[18]=g):g=a[18];let w;return a[19]!==m||a[20]!==x||a[21]!==y||a[22]!==g?(w=(0,s.jsxs)(Ia,{type:"multiple",value:x,onValueChange:m,className:"flex flex-col h-full overflow-auto",children:[y,g]}),a[19]=m,a[20]=x,a[21]=y,a[22]=g,a[23]=w):w=a[23],w};export{Ct as default};
@@ -1,4 +1,4 @@
1
- import{s as _e}from"./chunk-LvLJmgfZ.js";import{d as R,i as St,l as At,p as _t,u as N}from"./useEvent-D91BmmQi.js";import{t as Dt}from"./react-Bj1aDYRI.js";import{Bn as Et,Dn as It,Dr as Pt,E as De,Ht as Lt,Ii as Tt,Ji as ke,On as Ot,Sr as Ht,T as Rt,_r as Bt,g as $t,ji as qt,jn as Ft,jt as Ee,kn as Ut,m as Ie,t as Yt,ti as Vt,vr as Pe,wn as Kt,y as Gt,yr as Jt}from"./cells-D9tCNe6o.js";import{t as z}from"./compiler-runtime-B3qBwwSJ.js";import{n as Xt,r as Qt,x as Zt}from"./ai-model-dropdown-CR8HQGYf.js";import{g as B,n as ea}from"./useEventListener-C0195JsF.js";import{t as Le}from"./objects-BlG0ZrO0.js";import{C as ta,r as aa}from"./utils-BWBBpCkT.js";import{n as C,t as Te}from"./constants-CDyU_g2F.js";import{M as ee,O as na,T as Oe,j as He,k as oa,v as Re}from"./config-B-Q7J_6d.js";import{c as sa}from"./readonly-python-code-BqcMp63O.js";import{t as ra}from"./cn-DYvqRARy.js";import{t as la}from"./jsx-runtime-Blw4afVn.js";import{o as ia}from"./alert-dialog-Bb8Lz8ko.js";import{a as da,c as ca,i as ha,n as ma,r as pa,s as ua,t as fa}from"./select-BP75_5jJ.js";import{Lt as xa}from"./JsonOutput-BoDVlAbV.js";import{c as Be,d as we,n as ba,o as ya,r as je,t as ka}from"./download-CnYLah74.js";import{t as wa}from"./tooltip-4bZlU7jl.js";import{r as ja,t as P}from"./button-DDGiD1NW.js";import{i as ga,t as ge}from"./strings--BknHX9C.js";import{r as L}from"./requests-9-v2bhoi.js";import{t as k}from"./createLucideIcon-w-Qo9n0R.js";import{F as va,I as Ca,L as Na,R as $e,a as qe,d as za,i as Fe,u as Ue}from"./layout-DkpUSblm.js";import{t as Ye}from"./check-rzLRd0j9.js";import{r as Ma}from"./useCellActionButton-BhCYWOKS.js";import{t as Wa}from"./code-B2aKtXoe.js";import{t as Sa}from"./copy-3iHFdt22.js";import{t as Ve}from"./eye-off-BOZA7gbn.js";import{t as Ke}from"./external-link-BOlXZUla.js";import{t as te}from"./file-CJH9JNGH.js";import{u as Aa}from"./form-B5UJtZJr.js";import{n as _a,r as Da,t as Ea}from"./youtube-OwaksuQt.js";import{i as Ia,n as Ge}from"./add-connection-dialog-GllfB9z2.js";import{t as Pa}from"./house-DS0r7dNZ.js";import{t as La}from"./image-5XI2VU-q.js";import{t as Ta}from"./link-CHdiBDr5.js";import{r as Oa}from"./input-JxFwu-3G.js";import{t as Ha}from"./settings-D_PiwXwo.js";import{t as Ra}from"./sparkles-DUCpRFlS.js";import{y as Ba}from"./textarea-BQE_pb7P.js";import{t as $a}from"./square-DFICx2Qv.js";import{t as Je}from"./triangle-alert-BL4YVsPy.js";import{t as W}from"./use-toast-BwJoaaDM.js";import{n as Xe,t as qa}from"./paths-BKO-pHK6.js";import{o as Fa}from"./session-BmukRjSi.js";import{n as ae}from"./copy-Bxb1_Gtw.js";import{t as Qe}from"./copy-icon-neDQUo4Q.js";import{r as Ua}from"./useRunCells-BpMmDGqa.js";import{a as Ze,c as et,i as Ya,n as tt,r as at}from"./dialog-BCVepWLJ.js";import{n as ne}from"./ImperativeModal-fY-ZfT0b.js";import{r as Va,t as nt}from"./share-852X_cqy.js";import{a as Ka}from"./cell-link-D1nZ5myN.js";import{n as ot}from"./useAsyncData-Bg5iAViP.js";import{a as Ga}from"./renderShortcut-Bl8_FVn8.js";import{t as Ja}from"./icons-CIPE8AIY.js";import{i as Xa,n as st}from"./error-entries-CmfGHGq1.js";import{t as Qa}from"./pair-with-agent-modal-nwd26aKZ.js";import{t as Za}from"./github-_JH-0hIO.js";import{n as rt}from"./marimo-icons-C_nFooxr.js";import{t as en}from"./links-CZr5bjvo.js";import{i as tn,n as lt,t as ve}from"./skeleton-C3fwwBky.js";import{t as it}from"./types-Da7lA5YC.js";var an=k("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),nn=k("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),dt=k("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),ct=k("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),ht=k("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),on=k("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),sn=k("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),rn=k("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),mt=k("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ln=k("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),dn=k("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),pt=k("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),cn=k("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),hn=k("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),ut=k("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),mn=z(),T=_e(Dt(),1);function Ce(e,t){let n=(0,mn.c)(11),o;n[0]===t?o=n[1]:(o=new qt(t),n[0]=t,n[1]=o);let s=o,l;n[2]!==e||n[3]!==s?(l=()=>s.get(e),n[2]=e,n[3]=s,n[4]=l):l=n[4];let[r,d]=(0,T.useState)(l),i;n[5]!==e||n[6]!==s?(i=x=>{d(x),s.set(e,x)},n[5]=e,n[6]=s,n[7]=i):i=n[7];let c=i,h;return n[8]!==c||n[9]!==r?(h=[r,c],n[8]=c,n[9]=r,n[10]=h):h=n[10],h}function pn(e,t){return{...e,Binaries:{...e.Binaries,Browser:t}}}function un(e,t,n,o){return{marimo:e,Locale:n||void 0,Binaries:{Browser:t},"Environment Collection Error":o}}function Ne(e,t){let n=Math.max(2,...Array.from(t.matchAll(/`+/g),s=>s[0].length)),o="`".repeat(n+1);return`${o}${e}
1
+ import{s as _e}from"./chunk-LvLJmgfZ.js";import{d as R,i as St,l as At,p as _t,u as N}from"./useEvent-D91BmmQi.js";import{t as Dt}from"./react-Bj1aDYRI.js";import{Bn as Et,Dn as It,Dr as Pt,E as De,Ht as Lt,Ii as Tt,Ji as ke,On as Ot,Sr as Ht,T as Rt,_r as Bt,g as $t,ji as qt,jn as Ft,jt as Ee,kn as Ut,m as Ie,t as Yt,ti as Vt,vr as Pe,wn as Kt,y as Gt,yr as Jt}from"./cells-D9tCNe6o.js";import{t as z}from"./compiler-runtime-B3qBwwSJ.js";import{n as Xt,r as Qt,x as Zt}from"./ai-model-dropdown-CR8HQGYf.js";import{g as B,n as ea}from"./useEventListener-C0195JsF.js";import{t as Le}from"./objects-BlG0ZrO0.js";import{C as ta,r as aa}from"./utils-BWBBpCkT.js";import{n as C,t as Te}from"./constants-CDyU_g2F.js";import{M as ee,O as na,T as Oe,j as He,k as oa,v as Re}from"./config-B-Q7J_6d.js";import{c as sa}from"./readonly-python-code-BqcMp63O.js";import{t as ra}from"./cn-DYvqRARy.js";import{t as la}from"./jsx-runtime-Blw4afVn.js";import{o as ia}from"./alert-dialog-Bb8Lz8ko.js";import{a as da,c as ca,i as ha,n as ma,r as pa,s as ua,t as fa}from"./select-BP75_5jJ.js";import{Lt as xa}from"./JsonOutput-BoDVlAbV.js";import{c as Be,d as we,n as ba,o as ya,r as je,t as ka}from"./download-CnYLah74.js";import{t as wa}from"./tooltip-4bZlU7jl.js";import{r as ja,t as P}from"./button-DDGiD1NW.js";import{i as ga,t as ge}from"./strings--BknHX9C.js";import{r as L}from"./requests-9-v2bhoi.js";import{t as k}from"./createLucideIcon-w-Qo9n0R.js";import{F as va,I as Ca,L as Na,R as $e,a as qe,d as za,i as Fe,u as Ue}from"./layout-DkpUSblm.js";import{t as Ye}from"./check-rzLRd0j9.js";import{r as Ma}from"./useCellActionButton-BhCYWOKS.js";import{t as Wa}from"./code-B2aKtXoe.js";import{t as Sa}from"./copy-3iHFdt22.js";import{t as Ve}from"./eye-off-BOZA7gbn.js";import{t as Ke}from"./external-link-BOlXZUla.js";import{t as te}from"./file-CJH9JNGH.js";import{u as Aa}from"./form-B5UJtZJr.js";import{n as _a,r as Da,t as Ea}from"./youtube-OwaksuQt.js";import{i as Ia,n as Ge}from"./add-connection-dialog-wLF3on0N.js";import{t as Pa}from"./house-DS0r7dNZ.js";import{t as La}from"./image-5XI2VU-q.js";import{t as Ta}from"./link-CHdiBDr5.js";import{r as Oa}from"./input-JxFwu-3G.js";import{t as Ha}from"./settings-D_PiwXwo.js";import{t as Ra}from"./sparkles-DUCpRFlS.js";import{y as Ba}from"./textarea-BQE_pb7P.js";import{t as $a}from"./square-DFICx2Qv.js";import{t as Je}from"./triangle-alert-BL4YVsPy.js";import{t as W}from"./use-toast-BwJoaaDM.js";import{n as Xe,t as qa}from"./paths-BKO-pHK6.js";import{o as Fa}from"./session-BmukRjSi.js";import{n as ae}from"./copy-Bxb1_Gtw.js";import{t as Qe}from"./copy-icon-neDQUo4Q.js";import{r as Ua}from"./useRunCells-BpMmDGqa.js";import{a as Ze,c as et,i as Ya,n as tt,r as at}from"./dialog-BCVepWLJ.js";import{n as ne}from"./ImperativeModal-fY-ZfT0b.js";import{r as Va,t as nt}from"./share-852X_cqy.js";import{a as Ka}from"./cell-link-D1nZ5myN.js";import{n as ot}from"./useAsyncData-Bg5iAViP.js";import{a as Ga}from"./renderShortcut-Bl8_FVn8.js";import{t as Ja}from"./icons-CIPE8AIY.js";import{i as Xa,n as st}from"./error-entries-CmfGHGq1.js";import{t as Qa}from"./pair-with-agent-modal-nwd26aKZ.js";import{t as Za}from"./github-_JH-0hIO.js";import{n as rt}from"./marimo-icons-C_nFooxr.js";import{t as en}from"./links-CZr5bjvo.js";import{i as tn,n as lt,t as ve}from"./skeleton-C3fwwBky.js";import{t as it}from"./types-Da7lA5YC.js";var an=k("circle-chevron-down",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m16 10-4 4-4-4",key:"894hmk"}]]),nn=k("circle-chevron-right",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m10 8 4 4-4 4",key:"1wy4r4"}]]),dt=k("clipboard-copy",[["rect",{width:"8",height:"4",x:"8",y:"2",rx:"1",ry:"1",key:"tgr4d6"}],["path",{d:"M8 4H6a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-2",key:"4jdomd"}],["path",{d:"M16 4h2a2 2 0 0 1 2 2v4",key:"3hqy98"}],["path",{d:"M21 14H11",key:"1bme5i"}],["path",{d:"m15 10-4 4 4 4",key:"5dvupr"}]]),ct=k("command",[["path",{d:"M15 6v12a3 3 0 1 0 3-3H6a3 3 0 1 0 3 3V6a3 3 0 1 0-3 3h12a3 3 0 1 0-3-3",key:"11bfej"}]]),ht=k("diamond-plus",[["path",{d:"M12 8v8",key:"napkw2"}],["path",{d:"M2.7 10.3a2.41 2.41 0 0 0 0 3.41l7.59 7.59a2.41 2.41 0 0 0 3.41 0l7.59-7.59a2.41 2.41 0 0 0 0-3.41L13.7 2.71a2.41 2.41 0 0 0-3.41 0z",key:"1ey20j"}],["path",{d:"M8 12h8",key:"1wcyev"}]]),on=k("fast-forward",[["path",{d:"M12 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 12 18z",key:"b19h5q"}],["path",{d:"M2 6a2 2 0 0 1 3.414-1.414l6 6a2 2 0 0 1 0 2.828l-6 6A2 2 0 0 1 2 18z",key:"h7h5ge"}]]),sn=k("files",[["path",{d:"M15 2h-4a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 2-2V8",key:"14sh0y"}],["path",{d:"M16.706 2.706A2.4 2.4 0 0 0 15 2v5a1 1 0 0 0 1 1h5a2.4 2.4 0 0 0-.706-1.706z",key:"1970lx"}],["path",{d:"M5 7a2 2 0 0 0-2 2v11a2 2 0 0 0 2 2h8a2 2 0 0 0 1.732-1",key:"l4dndm"}]]),rn=k("list",[["path",{d:"M3 5h.01",key:"18ugdj"}],["path",{d:"M3 12h.01",key:"nlz23k"}],["path",{d:"M3 19h.01",key:"noohij"}],["path",{d:"M8 5h13",key:"1pao27"}],["path",{d:"M8 12h13",key:"1za7za"}],["path",{d:"M8 19h13",key:"m83p4d"}]]),mt=k("message-circle-question-mark",[["path",{d:"M2.992 16.342a2 2 0 0 1 .094 1.167l-1.065 3.29a1 1 0 0 0 1.236 1.168l3.413-.998a2 2 0 0 1 1.099.092 10 10 0 1 0-4.777-4.719",key:"1sd12s"}],["path",{d:"M9.09 9a3 3 0 0 1 5.83 1c0 2-3 3-3 3",key:"1u773s"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),ln=k("notebook",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M16 2v20",key:"rotuqe"}]]),dn=k("panel-left",[["rect",{width:"18",height:"18",x:"3",y:"3",rx:"2",key:"afitv7"}],["path",{d:"M9 3v18",key:"fh3hqa"}]]),pt=k("presentation",[["path",{d:"M2 3h20",key:"91anmk"}],["path",{d:"M21 3v11a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V3",key:"2k9sn8"}],["path",{d:"m7 21 5-5 5 5",key:"bip4we"}]]),cn=k("share-2",[["circle",{cx:"18",cy:"5",r:"3",key:"gq8acd"}],["circle",{cx:"6",cy:"12",r:"3",key:"w7nqdw"}],["circle",{cx:"18",cy:"19",r:"3",key:"1xt0gg"}],["line",{x1:"8.59",x2:"15.42",y1:"13.51",y2:"17.49",key:"47mynk"}],["line",{x1:"15.41",x2:"8.59",y1:"6.51",y2:"10.49",key:"1n3mei"}]]),hn=k("square-power",[["path",{d:"M12 7v4",key:"xawao1"}],["path",{d:"M7.998 9.003a5 5 0 1 0 8-.005",key:"1pek45"}],["rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",key:"h1oib"}]]),ut=k("undo-2",[["path",{d:"M9 14 4 9l5-5",key:"102s5s"}],["path",{d:"M4 9h10.5a5.5 5.5 0 0 1 5.5 5.5a5.5 5.5 0 0 1-5.5 5.5H11",key:"f3b9sd"}]]),mn=z(),T=_e(Dt(),1);function Ce(e,t){let n=(0,mn.c)(11),o;n[0]===t?o=n[1]:(o=new qt(t),n[0]=t,n[1]=o);let s=o,l;n[2]!==e||n[3]!==s?(l=()=>s.get(e),n[2]=e,n[3]=s,n[4]=l):l=n[4];let[r,d]=(0,T.useState)(l),i;n[5]!==e||n[6]!==s?(i=x=>{d(x),s.set(e,x)},n[5]=e,n[6]=s,n[7]=i):i=n[7];let c=i,h;return n[8]!==c||n[9]!==r?(h=[r,c],n[8]=c,n[9]=r,n[10]=h):h=n[10],h}function pn(e,t){return{...e,Binaries:{...e.Binaries,Browser:t}}}function un(e,t,n,o){return{marimo:e,Locale:n||void 0,Binaries:{Browser:t},"Environment Collection Error":o}}function Ne(e,t){let n=Math.max(2,...Array.from(t.matchAll(/`+/g),s=>s[0].length)),o="`".repeat(n+1);return`${o}${e}
2
2
  ${t}
3
3
  ${o}`}function fn(e,t){let n=e.includes("?")?"&":"?",o=[],s=e,l=0;for(let[r,d]of Object.entries(t)){if(d.length===0)continue;let i=`${r}=${encodeURIComponent(d)}`,c=`${s}${l===0?n:"&"}${i}`;if(c.length>6e3){o.push(r);continue}s=c,l+=1}return{url:s,omitted:o}}function ze(e,t){return["<details>",`<summary>${ge.htmlEscape(e)??""}</summary>`,"",t,"","</details>"].join(`
4
4
  `)}function xn(e){return ze("Environment",Ne("json",JSON.stringify(e,null,2)))}function ft(e){return ze("Errors",Ne("text",e.map(st).join(`
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-BwctB71o.js"></script>
69
+ <script type="module" crossorigin src="./assets/index-B8eK-daS.js"></script>
70
70
  <link rel="modulepreload" crossorigin href="./assets/preload-helper-TXkS1QI3.js">
71
71
  <link rel="modulepreload" crossorigin href="./assets/objects-BlG0ZrO0.js">
72
72
  <link rel="modulepreload" crossorigin href="./assets/chunk-LvLJmgfZ.js">
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@marimo-team/frontend",
3
- "version": "0.23.16-dev18",
3
+ "version": "0.23.16-dev19",
4
4
  "main": "dist/main.js",
5
5
  "types": "dist/index.d.ts",
6
6
  "type": "module",
@@ -51,6 +51,21 @@ store = S3Store("operator-bucket",
51
51
  )"
52
52
  `;
53
53
 
54
+ exports[`generateStorageCode > CoreWeave > with container credentials 1`] = `
55
+ "from obstore.store import S3Store
56
+ import os
57
+
58
+ _container_credentials_full_uri = os.environ.get("AWS_CONTAINER_CREDENTIALS_FULL_URI")
59
+ _container_authorization_token_file = os.environ.get("AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE")
60
+ store = S3Store("operator-bucket",
61
+ region="US-EAST-04A",
62
+ container_credentials_full_uri=_container_credentials_full_uri,
63
+ container_authorization_token_file=_container_authorization_token_file,
64
+ endpoint="https://operator-bucket.cwobject.com",
65
+ virtual_hosted_style_request=True,
66
+ )"
67
+ `;
68
+
54
69
  exports[`generateStorageCode > CoreWeave > with secrets 1`] = `
55
70
  "from obstore.store import S3Store
56
71
  import os
@@ -119,6 +134,29 @@ exports[`generateStorageCode > S3 > minimal connection (bucket only) 1`] = `
119
134
  store = S3Store("my-bucket",)"
120
135
  `;
121
136
 
137
+ exports[`generateStorageCode > S3 > with container credentials 1`] = `
138
+ "from obstore.store import S3Store
139
+
140
+ store = S3Store("my-bucket",
141
+ region="us-east-1",
142
+ container_credentials_full_uri="http://169.254.170.23/v1/credentials",
143
+ container_authorization_token_file="/var/run/secrets/token",
144
+ )"
145
+ `;
146
+
147
+ exports[`generateStorageCode > S3 > with container credentials from secrets 1`] = `
148
+ "from obstore.store import S3Store
149
+ import os
150
+
151
+ _container_credentials_full_uri = os.environ.get("AWS_CONTAINER_CREDENTIALS_FULL_URI")
152
+ _container_authorization_token_file = os.environ.get("AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE")
153
+ store = S3Store("my-bucket",
154
+ region="us-east-1",
155
+ container_credentials_full_uri=_container_credentials_full_uri,
156
+ container_authorization_token_file=_container_authorization_token_file,
157
+ )"
158
+ `;
159
+
122
160
  exports[`generateStorageCode > S3 > with custom endpoint 1`] = `
123
161
  "from obstore.store import S3Store
124
162
 
@@ -130,6 +168,18 @@ store = S3Store("my-bucket",
130
168
  )"
131
169
  `;
132
170
 
171
+ exports[`generateStorageCode > S3 > with plain-http endpoint 1`] = `
172
+ "from obstore.store import S3Store
173
+
174
+ store = S3Store("my-bucket",
175
+ region="us-east-1",
176
+ access_key_id="AKIAIOSFODNN7EXAMPLE",
177
+ secret_access_key="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
178
+ endpoint_url="http://cwlota.com",
179
+ allow_http=True,
180
+ )"
181
+ `;
182
+
133
183
  exports[`generateStorageCode > S3 > with secrets 1`] = `
134
184
  "from obstore.store import S3Store
135
185
  import os
@@ -9,9 +9,13 @@ describe("generateStorageCode", () => {
9
9
  type: "s3",
10
10
  bucket: "my-bucket",
11
11
  region: "us-east-1",
12
- access_key_id: "AKIAIOSFODNN7EXAMPLE",
13
- secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
14
12
  endpoint_url: undefined,
13
+ allow_http: false,
14
+ auth: {
15
+ type: "Access keys",
16
+ access_key_id: "AKIAIOSFODNN7EXAMPLE",
17
+ secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
18
+ },
15
19
  };
16
20
 
17
21
  const baseGCS: StorageConnection = {
@@ -31,8 +35,11 @@ describe("generateStorageCode", () => {
31
35
  type: "coreweave",
32
36
  bucket: "operator-bucket",
33
37
  region: "US-EAST-04A",
34
- access_key_id: "AKIAIOSFODNN7EXAMPLE",
35
- secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
38
+ auth: {
39
+ type: "Access keys",
40
+ access_key_id: "AKIAIOSFODNN7EXAMPLE",
41
+ secret_access_key: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY",
42
+ },
36
43
  };
37
44
 
38
45
  const baseGDrive: StorageConnection = {
@@ -52,6 +59,8 @@ describe("generateStorageCode", () => {
52
59
  const conn: StorageConnection = {
53
60
  type: "s3",
54
61
  bucket: "my-bucket",
62
+ allow_http: false,
63
+ auth: { type: "Access keys" },
55
64
  };
56
65
  expect(
57
66
  generateStorageCode(conn, { library: "obstore" }),
@@ -68,13 +77,61 @@ describe("generateStorageCode", () => {
68
77
  ).toMatchSnapshot();
69
78
  });
70
79
 
80
+ it("with plain-http endpoint", () => {
81
+ const conn: StorageConnection = {
82
+ ...baseS3,
83
+ endpoint_url: "http://cwlota.com",
84
+ allow_http: true,
85
+ };
86
+ expect(
87
+ generateStorageCode(conn, { library: "obstore" }),
88
+ ).toMatchSnapshot();
89
+ });
90
+
91
+ it("with container credentials", () => {
92
+ const conn: StorageConnection = {
93
+ ...baseS3,
94
+ auth: {
95
+ type: "Container credentials",
96
+ container_credentials_full_uri:
97
+ "http://169.254.170.23/v1/credentials",
98
+ container_authorization_token_file: "/var/run/secrets/token",
99
+ },
100
+ };
101
+ expect(
102
+ generateStorageCode(conn, { library: "obstore" }),
103
+ ).toMatchSnapshot();
104
+ });
105
+
106
+ it("with container credentials from secrets", () => {
107
+ const conn: StorageConnection = {
108
+ ...baseS3,
109
+ auth: {
110
+ type: "Container credentials",
111
+ container_credentials_full_uri: prefixSecret(
112
+ "AWS_CONTAINER_CREDENTIALS_FULL_URI",
113
+ ),
114
+ container_authorization_token_file: prefixSecret(
115
+ "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",
116
+ ),
117
+ },
118
+ };
119
+ expect(
120
+ generateStorageCode(conn, { library: "obstore" }),
121
+ ).toMatchSnapshot();
122
+ });
123
+
71
124
  it("with secrets", () => {
72
125
  const conn: StorageConnection = {
73
126
  type: "s3",
74
127
  bucket: "my-bucket",
75
128
  region: "us-east-1",
76
- access_key_id: prefixSecret("AWS_ACCESS_KEY_ID"),
77
- secret_access_key: prefixSecret("AWS_SECRET_ACCESS_KEY"),
129
+ allow_http: false,
130
+ auth: {
131
+ type: "Access keys",
132
+ access_key_id: prefixSecret("AWS_ACCESS_KEY_ID"),
133
+ secret_access_key: prefixSecret("AWS_SECRET_ACCESS_KEY"),
134
+ },
78
135
  };
79
136
  expect(
80
137
  generateStorageCode(conn, { library: "obstore" }),
@@ -143,6 +200,25 @@ describe("generateStorageCode", () => {
143
200
  type: "coreweave",
144
201
  bucket: "operator-bucket",
145
202
  region: "US-EAST-04A",
203
+ auth: { type: "Access keys" },
204
+ };
205
+ expect(
206
+ generateStorageCode(conn, { library: "obstore" }),
207
+ ).toMatchSnapshot();
208
+ });
209
+
210
+ it("with container credentials", () => {
211
+ const conn: StorageConnection = {
212
+ ...baseCoreWeave,
213
+ auth: {
214
+ type: "Container credentials",
215
+ container_credentials_full_uri: prefixSecret(
216
+ "AWS_CONTAINER_CREDENTIALS_FULL_URI",
217
+ ),
218
+ container_authorization_token_file: prefixSecret(
219
+ "AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE",
220
+ ),
221
+ },
146
222
  };
147
223
  expect(
148
224
  generateStorageCode(conn, { library: "obstore" }),
@@ -154,8 +230,11 @@ describe("generateStorageCode", () => {
154
230
  type: "coreweave",
155
231
  bucket: "operator-bucket",
156
232
  region: "US-EAST-04A",
157
- access_key_id: prefixSecret("COREWEAVE_OBJECT_STORAGE_KEY"),
158
- secret_access_key: prefixSecret("COREWEAVE_OBJECT_STORAGE_SECRET"),
233
+ auth: {
234
+ type: "Access keys",
235
+ access_key_id: prefixSecret("COREWEAVE_OBJECT_STORAGE_KEY"),
236
+ secret_access_key: prefixSecret("COREWEAVE_OBJECT_STORAGE_SECRET"),
237
+ },
159
238
  };
160
239
  expect(
161
240
  generateStorageCode(conn, { library: "obstore" }),
@@ -3,7 +3,11 @@
3
3
  import dedent from "string-dedent";
4
4
  import { assertNever } from "@/utils/assertNever";
5
5
  import { isSecret, unprefixSecret } from "../secrets";
6
- import { type StorageConnection, StorageConnectionSchema } from "./schemas";
6
+ import {
7
+ type S3Auth,
8
+ type StorageConnection,
9
+ StorageConnectionSchema,
10
+ } from "./schemas";
7
11
 
8
12
  export type StorageLibrary = "obstore" | "fsspec";
9
13
 
@@ -50,6 +54,36 @@ class SecretContainer {
50
54
  }
51
55
  }
52
56
 
57
+ /**
58
+ * Credential kwargs shared by every S3-compatible store.
59
+ */
60
+ function s3AuthParams(
61
+ auth: S3Auth | undefined,
62
+ secrets: SecretContainer,
63
+ ): string[] {
64
+ // obstore polls the credential endpoint with the token read from the file,
65
+ // refreshing credentials for the lifetime of the store.
66
+ if (auth?.type === "Container credentials") {
67
+ return [
68
+ ` container_credentials_full_uri=${secrets.print("container_credentials_full_uri", auth.container_credentials_full_uri)},`,
69
+ ` container_authorization_token_file=${secrets.print("container_authorization_token_file", auth.container_authorization_token_file)},`,
70
+ ];
71
+ }
72
+
73
+ const params: string[] = [];
74
+ if (auth?.access_key_id) {
75
+ params.push(
76
+ ` access_key_id=${secrets.print("access_key_id", auth.access_key_id)},`,
77
+ );
78
+ }
79
+ if (auth?.secret_access_key) {
80
+ params.push(
81
+ ` secret_access_key=${secrets.print("secret_access_key", auth.secret_access_key)},`,
82
+ );
83
+ }
84
+ return params;
85
+ }
86
+
53
87
  function generateS3Code(
54
88
  connection: Extract<StorageConnection, { type: "s3" }>,
55
89
  secrets: SecretContainer,
@@ -61,21 +95,15 @@ function generateS3Code(
61
95
  if (connection.region) {
62
96
  params.push(` region=${secrets.print("region", connection.region)},`);
63
97
  }
64
- if (connection.access_key_id) {
65
- params.push(
66
- ` access_key_id=${secrets.print("access_key_id", connection.access_key_id)},`,
67
- );
68
- }
69
- if (connection.secret_access_key) {
70
- params.push(
71
- ` secret_access_key=${secrets.print("secret_access_key", connection.secret_access_key)},`,
72
- );
73
- }
98
+ params.push(...s3AuthParams(connection.auth, secrets));
74
99
  if (connection.endpoint_url) {
75
100
  params.push(
76
101
  ` endpoint_url=${secrets.print("endpoint_url", connection.endpoint_url)},`,
77
102
  );
78
103
  }
104
+ if (connection.allow_http) {
105
+ params.push(" allow_http=True,");
106
+ }
79
107
 
80
108
  const paramsStr = params.length > 0 ? `\n${params.join("\n")}\n` : "";
81
109
 
@@ -140,16 +168,7 @@ function generateCoreWeaveCode(
140
168
  ` region=${secrets.print("region", connection.region)},`,
141
169
  ];
142
170
 
143
- if (connection.access_key_id) {
144
- params.push(
145
- ` access_key_id=${secrets.print("access_key_id", connection.access_key_id)},`,
146
- );
147
- }
148
- if (connection.secret_access_key) {
149
- params.push(
150
- ` secret_access_key=${secrets.print("secret_access_key", connection.secret_access_key)},`,
151
- );
152
- }
171
+ params.push(...s3AuthParams(connection.auth, secrets));
153
172
 
154
173
  params.push(
155
174
  ` endpoint="https://${connection.bucket}.cwobject.com",`,