@marimo-team/frontend 0.23.16-dev53 → 0.23.16-dev54

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,4 +1,4 @@
1
- var ut=Object.defineProperty;var bt=(t,e,s)=>e in t?ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var V=(t,e,s)=>bt(t,typeof e!="symbol"?e+"":e,s);import{s as ie}from"./chunk-LvLJmgfZ.js";import{u as ft}from"./useEvent-D91BmmQi.js";import{t as gt}from"./react-Bj1aDYRI.js";import{Cr as yt,Ct as le,E as _t,Lt as xt,ir as y}from"./cells-CMc2NsXm.js";import{D as U,P as _,R as f,T as L,_ as de,i as wt,k as x}from"./zod-H_cgTO0M.js";import{t as F}from"./compiler-runtime-B3qBwwSJ.js";import{_ as St}from"./useEventListener-C0195JsF.js";import{c as kt}from"./utils-BWBBpCkT.js";import{t as H}from"./cn-DYvqRARy.js";import{t as vt}from"./jsx-runtime-Blw4afVn.js";import{a as jt,c as pe,i as $t,o as he,r as Ct,s as At,t as Nt}from"./popover-Bcz1Zikb.js";import{c as Rt,i as Tt,n as Lt,r as Dt,s as It,t as Pt}from"./select-BP75_5jJ.js";import{i as qt,t as me}from"./tooltip-4bZlU7jl.js";import{t as ue}from"./button-DDGiD1NW.js";import{r as z}from"./strings--BknHX9C.js";import{t as Ft}from"./createLucideIcon-w-Qo9n0R.js";import{r as Et,t as Bt}from"./x-C-Eq0ag8.js";import{t as Ot}from"./circle-plus-BluydVNx.js";import{t as Mt}from"./database-zap-CKO8g4BU.js";import{c as d,o as Ut,t as Kt,u as Ht}from"./form-CoqwGbkO.js";import{n as X}from"./DeferredRequestRegistry-C8EV1PoE.js";import{t as zt}from"./plus-AgXtozBz.js";import{t as Wt}from"./sparkles-DUCpRFlS.js";import{a as be,c as fe,i as Vt,n as ge,o as ye,p as Gt,r as _e,s as xe,u as Zt}from"./form-b4jQBV3T.js";import{r as Qt}from"./useTheme-Bxv9B31g.js";import{a as Jt,c as Yt,l as Xt,n as es,r as ts,t as ss}from"./dialog-BCVepWLJ.js";import{n as we}from"./ImperativeModal-fY-ZfT0b.js";import{t as G}from"./links-wcQA1Np1.js";import{t as rs}from"./useIframeCapabilities-j6fR_dBA.js";import{r as ns}from"./html-to-image-Dm7huiQj.js";import{o as os}from"./focus-D64hL1tZ.js";import{n as Se}from"./useAsyncData-Bg5iAViP.js";import{a as as,c as ke,i as Z,o as Q,s as cs,t as is}from"./command-Dqxie4gq.js";import{n as ls,t as ds}from"./azure-BjL5s4-w.js";import{t as ps}from"./request-registry-CEkYnwgr.js";import{a as ee,c as te,d as hs,f as ms,i as ve,l as je,n as us,o as bs,r as se,s as E,t as $e,u as Ce}from"./write-secret-modal-D-p66LIx.js";import{t as fs}from"./github-kTVN-x1m.js";var re=Ft("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),D=ie(gt(),1),o=ie(vt(),1);function gs(t,e){if(!e)return{recommended:[],other:[...t]};let s;try{s=new RegExp(e,"i")}catch{return{recommended:[],other:[...t]}}let n=[],r=[];for(let a of t)s.test(a)?n.push(a):r.push(a);return{recommended:n,other:r}}const Ae=({value:t,onChange:e,placeholder:s,secretsOnly:n=!1,recommendedKeys:r,otherKeys:a,onCreateSecret:i,className:c,searchPlaceholder:l,formatCustomValueLabel:p=g=>`Use "${g}"`,createSecretLabel:h="Create a new secret",allowCustomValue:b,allowCreateSecret:m})=>{let[g,u]=(0,D.useState)(!1),[w,k]=(0,D.useState)(""),S=w.trim(),j=!n&&S.length>0&&S!==t&&((b==null?void 0:b(S))??!0),A=(m==null?void 0:m(S))??!0,C=t?E(t)?bs(t):t:null,N=v=>{e(te(v)),u(!1),k("")},P=v=>{e(v),u(!1),k("")},q=()=>{e(""),k(""),u(!1)};return(0,o.jsxs)("div",{className:H("flex w-full min-w-48 mb-1 items-center gap-1",c),children:[(0,o.jsxs)(Nt,{modal:!0,open:g,onOpenChange:v=>{u(v),v||k("")},children:[(0,o.jsx)($t,{asChild:!0,children:(0,o.jsxs)("button",{type:"button",className:H("flex h-6 min-w-0 flex-1 shadow-xs-solid items-center justify-between","rounded-sm border border-input bg-background px-1.5 text-sm font-code ring-offset-background placeholder:text-muted-foreground","hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid",E(t)&&"bg-accent"),"aria-expanded":g,children:[(0,o.jsx)("span",{className:"truncate flex-1 min-w-0 text-left flex items-center gap-1.5",children:C?(0,o.jsxs)(o.Fragment,{children:[E(t)&&(0,o.jsx)(X,{className:"h-3 w-3 shrink-0 opacity-70"}),(0,o.jsx)("span",{className:"truncate",children:C})]}):(0,o.jsx)("span",{className:"text-muted-foreground",children:s})}),(0,o.jsx)(Et,{className:"ml-1 h-4 w-4 opacity-50 shrink-0"})]})}),(0,o.jsx)(Ct,{className:"w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,o.jsxs)(is,{children:[(0,o.jsx)(as,{placeholder:l??(n?"Search secrets...":"Type a value or search secrets..."),rootClassName:"px-1 h-8",autoFocus:!0,value:w,onValueChange:k}),(0,o.jsxs)(cs,{className:"max-h-60 overscroll-contain",children:[j&&(0,o.jsx)(Z,{children:(0,o.jsx)(Q,{value:`use custom value ${S}`,onSelect:()=>P(S),children:p(S)})}),A&&(0,o.jsx)(Z,{className:"mt-0",children:(0,o.jsxs)(Q,{value:`create new secret ${S}`,onSelect:()=>{let v=S||void 0;u(!1),k(""),i(v)},children:[(0,o.jsx)(Ot,{className:"mr-2 h-3.5 w-3.5"}),h]})}),r.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ke,{className:"mt-0"}),(0,o.jsx)(Z,{heading:"Recommended",children:r.map(v=>(0,o.jsxs)(Q,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(X,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]}),a.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ke,{className:"mt-0"}),(0,o.jsx)(Z,{heading:r.length>0?"Other":void 0,children:a.map(v=>(0,o.jsxs)(Q,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(X,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]})]})]})})]}),t&&(0,o.jsx)("button",{type:"button","aria-label":"Clear",className:H("flex h-6 w-6 shrink-0 items-center justify-center rounded-sm","text-muted-foreground hover:bg-muted hover:text-foreground","focus:outline-hidden focus:ring-1 focus:ring-ring"),onClick:q,children:(0,o.jsx)(Bt,{className:"h-3.5 w-3.5"})})]})};var ys=F(),Ne=(0,D.createContext)({providerNames:[],secretKeys:[],loading:!1,error:void 0,refreshSecrets:St.NOOP});const Re=()=>(0,D.use)(Ne),_s=t=>{let e=(0,ys.c)(14),{children:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let{data:r,isPending:a,error:i,refetch:c}=Se(js,n);r==null||r.secretKeys,r==null||r.providerNames;let l;e[1]===(r==null?void 0:r.secretKeys)?l=e[2]:(l=(r==null?void 0:r.secretKeys)||[],e[1]=r==null?void 0:r.secretKeys,e[2]=l);let p;e[3]===(r==null?void 0:r.providerNames)?p=e[4]:(p=(r==null?void 0:r.providerNames)||[],e[3]=r==null?void 0:r.providerNames,e[4]=p);let h;e[5]!==i||e[6]!==a||e[7]!==c||e[8]!==l||e[9]!==p?(h={secretKeys:l,providerNames:p,loading:a,error:i,refreshSecrets:c},e[5]=i,e[6]=a,e[7]=c,e[8]=l,e[9]=p,e[10]=h):h=e[10];let b=h,m;return e[11]!==s||e[12]!==b?(m=(0,o.jsx)(Ne,{value:b,children:s}),e[11]=s,e[12]=b,e[13]=m):m=e[13],m},xs={isMatch:t=>{if(t instanceof de){let{optionRegex:e}=d.parse(t.description||"");return!!e}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:a}=Re(),{openModal:i,closeModal:c}=we(),{label:l,description:p,placeholder:h,optionRegex:b="",inputType:m}=d.parse(t.description||""),g=m==="password",{recommended:u,other:w}=gs(n,b);return(0,o.jsx)(be,{control:e.control,name:s,render:({field:k})=>(0,o.jsxs)(ye,{children:[(0,o.jsx)(xe,{children:l}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(ge,{children:(0,o.jsx)(Ae,{value:k.value?String(k.value):"",onChange:k.onChange,placeholder:h,secretsOnly:g,recommendedKeys:u,otherKeys:w,onCreateSecret:S=>{i((0,o.jsx)($e,{providerNames:r,initialValue:S,onSuccess:j=>{a(),k.onChange(te(j)),c()},onClose:c}))}})}),(0,o.jsx)(fe,{})]})})}},ws={isMatch:t=>{if(t instanceof de){let{special:e}=d.parse(t.description||"");return e==="secret_textarea"}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:a}=Re(),{openModal:i,closeModal:c}=we(),{label:l,description:p,placeholder:h}=d.parse(t.description||"");return(0,o.jsx)(be,{control:e.control,name:s,render:({field:b})=>{let m=b.value?String(b.value):"",g=Ce(m)?ms(m):m;return(0,o.jsxs)(ye,{children:[(0,o.jsxs)(xe,{className:"flex items-center gap-1",children:[l,(0,o.jsx)(me,{content:"Enter a path to a file on disk, or create a secret to paste JSON directly.",delayDuration:300,children:(0,o.jsx)("button",{type:"button",className:"inline-flex","aria-label":"Credential input help",children:(0,o.jsx)(yt,{className:"h-3.5 w-3.5"})})})]}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(ge,{children:(0,o.jsx)(Ae,{value:g,onChange:u=>{b.onChange(!u||E(u)||Ce(u)?u:hs(u))},placeholder:h,searchPlaceholder:"Type a file path or paste JSON",formatCustomValueLabel:u=>`Use "${u}" as a file path`,createSecretLabel:"Paste JSON credentials",allowCustomValue:u=>!ve(u),allowCreateSecret:u=>!u||ve(u),recommendedKeys:[],otherKeys:n,onCreateSecret:u=>{i((0,o.jsx)($e,{providerNames:r,initialValue:u,multiline:!0,onSuccess:w=>{a(),b.onChange(te(w)),c()},onClose:c}))}})}),(0,o.jsx)(fe,{})]})}})}};function Ss(t){return t.provider!=="env"}function ks(t){return t.name}function vs(t){return t.keys}async function js(){let t=await ps.request({}),e=us(t.secrets).filter(Ss).map(ks);return{secretKeys:t.secrets.flatMap(vs).toSorted(),providerNames:e}}var W=F(),$s=[xs,ws];const ne=t=>{let e=(0,W.c)(2),{children:s}=t,n;return e[0]===s?n=e[1]:(n=(0,o.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:s}),e[0]=s,e[1]=n),n},oe=t=>{let e=(0,W.c)(9),{name:s,color:n,icon:r,onSelect:a}=t,i;e[0]===n?i=e[1]:(i={backgroundColor:n},e[0]=n,e[1]=i);let c;e[2]===s?c=e[3]:(c=(0,o.jsx)("span",{className:"text-white font-medium text-lg",children:s}),e[2]=s,e[3]=c);let l;return e[4]!==r||e[5]!==a||e[6]!==i||e[7]!==c?(l=(0,o.jsxs)("button",{type:"button",className:"py-3 flex flex-col items-center justify-center gap-1 transition-all hover:scale-105 hover:brightness-110 rounded shadow-sm-solid hover:shadow-md-solid",style:i,onClick:a,children:[r,c]}),e[4]=r,e[5]=a,e[6]=i,e[7]=c,e[8]=l):l=e[8],l},Cs=t=>{let e=(0,W.c)(25),{onBack:s,isValid:n,libraries:r,preferredLibrary:a,onLibraryChange:i,displayNames:c,libraryLabel:l}=t,p=l===void 0?"Preferred library":l,h;e[0]===s?h=e[1]:(h=(0,o.jsx)(ue,{type:"button",variant:"outline",onClick:s,children:"Back"}),e[0]=s,e[1]=h);let b=!n,m;e[2]===b?m=e[3]:(m=(0,o.jsx)(ue,{type:"submit",disabled:b,children:"Add"}),e[2]=b,e[3]=m);let g;e[4]!==h||e[5]!==m?(g=(0,o.jsxs)("div",{className:"flex gap-2",children:[h,m]}),e[4]=h,e[5]=m,e[6]=g):g=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(It,{children:(0,o.jsx)(Rt,{placeholder:"Select a library"})}),e[7]=u):u=e[7];let w;e[8]===p?w=e[9]:(w=(0,o.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[u,(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:p})]}),e[8]=p,e[9]=w);let k;if(e[10]!==c||e[11]!==r){let C;e[13]===c?C=e[14]:(C=N=>(0,o.jsx)(Tt,{value:N,children:c[N]??N},N),e[13]=c,e[14]=C),k=r.map(C),e[10]=c,e[11]=r,e[12]=k}else k=e[12];let S;e[15]===k?S=e[16]:(S=(0,o.jsx)(Lt,{children:(0,o.jsx)(Dt,{children:k})}),e[15]=k,e[16]=S);let j;e[17]!==i||e[18]!==a||e[19]!==w||e[20]!==S?(j=(0,o.jsx)("div",{children:(0,o.jsxs)(Pt,{value:a,onValueChange:i,children:[w,S]})}),e[17]=i,e[18]=a,e[19]=w,e[20]=S,e[21]=j):j=e[21];let A;return e[22]!==j||e[23]!==g?(A=(0,o.jsxs)("div",{className:"flex gap-2 justify-between",children:[g,j]}),e[22]=j,e[23]=g,e[24]=A):A=e[24],A};function Te(){let t=(0,W.c)(4),{createNewCell:e}=_t(),s=os(),n=ft(kt),r;return t[0]!==n||t[1]!==e||t[2]!==s?(r=a=>{/\bmo\./.test(a)&&ns({autoInstantiate:n,createNewCell:e,fromCellId:s}),e({code:a,before:!1,cellId:s??"__end__",skipIfCodeExists:!0})},t[0]=n,t[1]=e,t[2]=s,t[3]=r):r=t[3],r}const Le=t=>{let e=(0,W.c)(30),{schema:s,libraries:n,preferredLibrary:r,displayNames:a,libraryLabel:i,generateCode:c,onSubmit:l,onBack:p}=t,h;e[0]===s?h=e[1]:(h=Ut(s),e[0]=s,e[1]=h);let b=h,m;e[2]===s?m=e[3]:(m=Zt(s),e[2]=s,e[3]=m);let g;e[4]!==b||e[5]!==m?(g={defaultValues:b,resolver:m,reValidateMode:"onChange"},e[4]=b,e[5]=m,e[6]=g):g=e[6];let u=Gt(g),[w,k]=D.useState(r),S=Te(),j;e[7]!==c||e[8]!==S||e[9]!==l||e[10]!==w?(j=mt=>{S(c(mt,w)),l()},e[7]=c,e[8]=S,e[9]=l,e[10]=w,e[11]=j):j=e[11];let A=j,C;e[12]!==u||e[13]!==A?(C=u.handleSubmit(A),e[12]=u,e[13]=A,e[14]=C):C=e[14];let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N=(0,o.jsx)(Vt,{}),e[15]=N):N=e[15];let P;e[16]!==u||e[17]!==s?(P=(0,o.jsx)(_s,{children:(0,o.jsx)(Kt,{schema:s,form:u,renderers:$s,children:N})}),e[16]=u,e[17]=s,e[18]=P):P=e[18];let q;e[19]!==a||e[20]!==u.formState.isValid||e[21]!==n||e[22]!==i||e[23]!==p||e[24]!==w?(q=(0,o.jsx)(Cs,{onBack:p,isValid:u.formState.isValid,libraries:n,preferredLibrary:w,onLibraryChange:k,displayNames:a,libraryLabel:i}),e[19]=a,e[20]=u.formState.isValid,e[21]=n,e[22]=i,e[23]=p,e[24]=w,e[25]=q):q=e[25];let v;return e[26]!==C||e[27]!==P||e[28]!==q?(v=(0,o.jsxs)("form",{onSubmit:C,className:"space-y-4",children:[P,q]}),e[26]=C,e[27]=P,e[28]=q,e[29]=v):v=e[29],v};function B(){return f().optional().describe(d.of({label:"Password",inputType:"password",optionRegex:"(password|passwd|pgpassword|db.?pass(word)?)"}))}function J(t,e){let s=f();return s=e?s.nonempty():s.optional(),s=s.describe(d.of({label:t||"Token",inputType:"password",optionRegex:"(token|api.?key|access.?token|auth.?token|(^|_)pat(_|$))"})),s}function Y(){return f().optional().describe(d.of({label:"Warehouse Name",optionRegex:"(warehouse|snowflake.?warehouse)"}))}function ae(t,e){let s=f();return s=e?s.nonempty():s.optional(),s.describe(d.of({label:t||"URI",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}function I(t){return f().nonempty().describe(d.of({label:t||"Host",optionRegex:"^(?!.*(kubernetes|gpg)).*(host(name)?|pghost|db.?host|database.?host|mysql.?host|postgres.?host|server.?host)"}))}function R(){return f().describe(d.of({label:"Database",optionRegex:"(database|db.?name|pgdatabase|^DB$|^DATABASE$)"}))}function As(){return f().describe(d.of({label:"Schema",optionRegex:"(^SCHEMA$|db.?schema|postgres.?schema|pg.?schema|_SCHEMA$)"}))}function T(){return f().nonempty().describe(d.of({label:"Username",optionRegex:"(username|pguser|db.?user|^USER$|_USER$)"}))}function O(t){let e=wt().describe(d.of({label:"Port",inputType:"number",placeholder:t==null?void 0:t.toString()})).transform(Number).refine(s=>s>=0&&s<=65535,{message:"Port must be between 0 and 65535"});return t===void 0?e:e.default(t)}function De(){return L().default(!1).describe(d.of({label:"Read Only"}))}const Ie=_({type:x("postgres"),host:I(),port:O(5432).optional(),database:R(),username:T(),password:B(),ssl:L().default(!1).describe(d.of({label:"Use SSL"}))}).describe(d.of({direction:"two-columns"})),Pe=_({type:x("mysql"),host:I(),port:O(3306),database:R(),username:T(),password:B(),ssl:L().default(!1).describe(d.of({label:"Use SSL"}))}).describe(d.of({direction:"two-columns"})),qe=_({type:x("sqlite"),database:R().describe(d.of({label:"Database Path"}))}).describe(d.of({direction:"two-columns"})),Fe=_({type:x("duckdb"),database:R().describe(d.of({label:"Database Path"})),read_only:De()}).describe(d.of({direction:"two-columns"})),Ee=_({type:x("motherduck"),database:R().default("my_db").describe(d.of({label:"Database Name"})),token:J()}).describe(d.of({direction:"two-columns"})),Be=_({type:x("snowflake"),account:f().nonempty().describe(d.of({label:"Account",optionRegex:"(snowflake.?account|^SNOWFLAKE_ACCOUNT$|account.?id)"})),warehouse:f().optional().describe(d.of({label:"Warehouse",optionRegex:"(snowflake.?warehouse|warehouse)"})),database:R(),schema:f().optional().describe(d.of({label:"Schema",optionRegex:"(snowflake.?schema|^SCHEMA$|_SCHEMA$)"})),role:f().optional().describe(d.of({label:"Role"})),authType:U("type",[_({type:x("Password"),username:T(),password:B(),enable_mfa:L().default(!1).describe(d.of({label:"Enable MFA (Duo Push)"}))}),_({type:x("SSO (Browser)"),username:T()}),_({type:x("Key Pair"),username:T(),private_key_path:f().nonempty().describe(d.of({label:"Private Key Path",placeholder:"/path/to/rsa_key.p8"})),private_key_passphrase:f().optional().describe(d.of({label:"Private Key Passphrase",inputType:"password",optionRegex:"(passphrase|private.?key.?passphrase|key.?passphrase)"}))}),_({type:x("OAuth / PAT"),token:J("Token",!0)})]).default({type:"Password",username:"username",enable_mfa:!1}).describe(d.of({special:"tabs"}))}).describe(d.of({direction:"two-columns"})),Oe=_({type:x("bigquery"),project:f().nonempty().describe(d.of({label:"Project ID",optionRegex:"(bigquery.?project|gcp.?project|google.?cloud.?project|project.?id)"})),dataset:f().nonempty().describe(d.of({label:"Dataset",optionRegex:"(bigquery.?dataset|dataset)"})),credentials_json:f().describe(d.of({label:"Credentials JSON",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),Me=_({type:x("clickhouse_connect"),host:I(),port:O(8123).optional(),username:T(),password:B(),secure:L().default(!1).describe(d.of({label:"Use HTTPs"})),proxy_path:f().optional().describe(d.of({label:"Proxy Path",placeholder:"/clickhouse"}))}).describe(d.of({direction:"two-columns"})),Ue=_({type:x("timeplus"),host:I().default("localhost"),port:O(8123).optional(),username:T().default("default"),password:B().default("")}).describe(d.of({direction:"two-columns"})),Ke=_({type:x("chdb"),database:R().describe(d.of({label:"Database Path"})),read_only:De()}).describe(d.of({direction:"two-columns"})),He=_({type:x("trino"),host:I(),port:O(8080),database:R(),schema:As().optional(),username:T(),password:B(),async_support:L().default(!1).describe(d.of({label:"Async Support"}))}).describe(d.of({direction:"two-columns"})),ze=_({type:x("iceberg"),name:f().describe(d.of({label:"Catalog Name"})),catalog:U("type",[_({type:x("REST"),warehouse:Y(),uri:f().optional().describe(d.of({label:"URI",placeholder:"https://",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"})),token:J()}),_({type:x("SQL"),warehouse:Y(),uri:f().optional().describe(d.of({label:"URI",placeholder:"jdbc:iceberg://host:port/database",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}),_({type:x("Hive"),warehouse:Y(),uri:ae()}),_({type:x("Glue"),warehouse:Y(),uri:ae()}),_({type:x("DynamoDB"),"dynamodb.profile-name":f().optional().describe(d.of({label:"Profile Name"})),"dynamodb.region":f().optional().describe(d.of({label:"Region"})),"dynamodb.access-key-id":f().optional().describe(d.of({label:"Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),"dynamodb.secret-access-key":f().optional().describe(d.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),"dynamodb.session-token":f().optional().describe(d.of({label:"Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))})]).default({type:"REST",token:void 0}).describe(d.of({special:"tabs"}))}),We=_({type:x("datafusion"),sessionContext:L().optional().describe(d.of({label:"Use Session Context"}))}),Ve=_({type:x("pyspark"),host:I().optional(),port:O().optional()}),Ge=_({type:x("redshift"),host:I(),port:O(5439),connectionType:U("type",[_({type:x("IAM credentials"),region:f().describe(d.of({label:"Region"})),aws_access_key_id:f().nonempty().describe(d.of({label:"AWS Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),aws_secret_access_key:f().nonempty().describe(d.of({label:"AWS Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),aws_session_token:f().optional().describe(d.of({label:"AWS Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))}),_({type:x("DB credentials"),user:T(),password:B()})]).default({type:"IAM credentials",aws_access_key_id:"",aws_secret_access_key:"",region:""}),database:R()}).describe(d.of({direction:"two-columns"})),Ze=_({type:x("databricks"),access_token:J("Access Token",!0),server_hostname:I("Server Hostname"),http_path:ae("HTTP Path",!0),catalog:f().optional().describe(d.of({label:"Catalog"})),schema:f().optional().describe(d.of({label:"Schema"}))}).describe(d.of({direction:"two-columns"})),Qe=_({type:x("supabase"),host:I(),port:O(5432).optional(),database:R(),username:T(),password:B(),disable_client_pooling:L().default(!1).describe(d.of({label:"Disable Client-Side Pooling"}))}).describe(d.of({direction:"two-columns"})),Ns=U("type",[Ie,Pe,qe,Fe,Ee,Be,Oe,Me,Ue,Ke,He,ze,We,Ve,Ge,Ze,Qe]),Je={sqlmodel:"SQLModel",sqlalchemy:"SQLAlchemy",duckdb:"DuckDB",clickhouse_connect:"ClickHouse Connect",chdb:"chDB",pyiceberg:"PyIceberg",ibis:"Ibis",motherduck:"MotherDuck",redshift:"Redshift",databricks:"Databricks"};var $=class{constructor(t,e,s){this.connection=t,this.orm=e,this.secrets=s}get imports(){let t=new Set(this.generateImports());switch(this.orm){case"sqlalchemy":t.add("import sqlalchemy");break;case"sqlmodel":t.add("import sqlmodel");break;case"duckdb":t.add("import duckdb");break;case"ibis":t.add("import ibis");break}return t}},Rs=t=>`_${t}`,Ts=class{constructor(){V(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e,s){if(t=Rs(t),E(e)){let n=je(e),r=s?`os.environ.get("${n}", "${s}")`:`os.environ.get("${n}")`;return this.secrets[t]=r,t}if(s!=null){let n=`os.environ.get("${e}", "${s}")`;return this.secrets[t]=n,t}return typeof e=="number"||typeof e=="number"?`${e}`:typeof e=="boolean"?K(e):e?`"${e}"`:""}printInFString(t,e,s){if(e===void 0)return"";if(typeof e=="number")return`${e}`;if(typeof e=="boolean")return K(e);let n=this.print(t,e,s);return n.startsWith('"')&&n.endsWith('"')?n.slice(1,-1):`{${n}}`}printPassword(t,e,s,n){let r=s?this.printInFString.bind(this):this.print.bind(this);return E(t)?r(n||"password",t):r(n||"password",e,t)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
1
+ var ut=Object.defineProperty;var bt=(t,e,s)=>e in t?ut(t,e,{enumerable:!0,configurable:!0,writable:!0,value:s}):t[e]=s;var V=(t,e,s)=>bt(t,typeof e!="symbol"?e+"":e,s);import{s as ie}from"./chunk-LvLJmgfZ.js";import{u as ft}from"./useEvent-D91BmmQi.js";import{t as gt}from"./react-Bj1aDYRI.js";import{Cr as yt,Ct as le,E as _t,Lt as xt,ir as y}from"./cells-CMc2NsXm.js";import{D as U,P as _,R as f,T as L,_ as de,i as wt,k as x}from"./zod-H_cgTO0M.js";import{t as F}from"./compiler-runtime-B3qBwwSJ.js";import{_ as St}from"./useEventListener-C0195JsF.js";import{c as kt}from"./utils-BWBBpCkT.js";import{t as H}from"./cn-DYvqRARy.js";import{t as vt}from"./jsx-runtime-Blw4afVn.js";import{a as jt,c as pe,i as $t,o as he,r as Ct,s as At,t as Nt}from"./popover-Bcz1Zikb.js";import{c as Rt,i as Tt,n as Lt,r as Dt,s as It,t as Pt}from"./select-BP75_5jJ.js";import{i as qt,t as me}from"./tooltip-4bZlU7jl.js";import{t as ue}from"./button-DDGiD1NW.js";import{r as z}from"./strings--BknHX9C.js";import{t as Ft}from"./createLucideIcon-w-Qo9n0R.js";import{r as Et,t as Ot}from"./x-C-Eq0ag8.js";import{t as Bt}from"./circle-plus-BluydVNx.js";import{t as Mt}from"./database-zap-CKO8g4BU.js";import{c as d,o as Ut,t as Kt,u as Ht}from"./form-CoqwGbkO.js";import{n as X}from"./DeferredRequestRegistry-C8EV1PoE.js";import{t as zt}from"./plus-AgXtozBz.js";import{t as Wt}from"./sparkles-DUCpRFlS.js";import{a as be,c as fe,i as Vt,n as ge,o as ye,p as Gt,r as _e,s as xe,u as Zt}from"./form-b4jQBV3T.js";import{r as Qt}from"./useTheme-Bxv9B31g.js";import{a as Jt,c as Yt,l as Xt,n as es,r as ts,t as ss}from"./dialog-BCVepWLJ.js";import{n as we}from"./ImperativeModal-fY-ZfT0b.js";import{t as G}from"./links-wcQA1Np1.js";import{t as rs}from"./useIframeCapabilities-j6fR_dBA.js";import{r as ns}from"./html-to-image-Dm7huiQj.js";import{o as os}from"./focus-D64hL1tZ.js";import{n as Se}from"./useAsyncData-Bg5iAViP.js";import{a as as,c as ke,i as Z,o as Q,s as cs,t as is}from"./command-Dqxie4gq.js";import{n as ls,t as ds}from"./azure-BjL5s4-w.js";import{t as ps}from"./request-registry-CEkYnwgr.js";import{a as ee,c as te,d as hs,f as ms,i as ve,l as je,n as us,o as bs,r as se,s as E,t as $e,u as Ce}from"./write-secret-modal-D-p66LIx.js";import{t as fs}from"./github-kTVN-x1m.js";var re=Ft("hard-drive",[["line",{x1:"22",x2:"2",y1:"12",y2:"12",key:"1y58io"}],["path",{d:"M5.45 5.11 2 12v6a2 2 0 0 0 2 2h16a2 2 0 0 0 2-2v-6l-3.45-6.89A2 2 0 0 0 16.76 4H7.24a2 2 0 0 0-1.79 1.11z",key:"oot6mr"}],["line",{x1:"6",x2:"6.01",y1:"16",y2:"16",key:"sgf278"}],["line",{x1:"10",x2:"10.01",y1:"16",y2:"16",key:"1l4acy"}]]),D=ie(gt(),1),o=ie(vt(),1);function gs(t,e){if(!e)return{recommended:[],other:[...t]};let s;try{s=new RegExp(e,"i")}catch{return{recommended:[],other:[...t]}}let n=[],r=[];for(let a of t)s.test(a)?n.push(a):r.push(a);return{recommended:n,other:r}}const Ae=({value:t,onChange:e,placeholder:s,secretsOnly:n=!1,recommendedKeys:r,otherKeys:a,onCreateSecret:i,className:c,searchPlaceholder:l,formatCustomValueLabel:p=g=>`Use "${g}"`,createSecretLabel:h="Create a new secret",allowCustomValue:b,allowCreateSecret:m})=>{let[g,u]=(0,D.useState)(!1),[w,k]=(0,D.useState)(""),S=w.trim(),j=!n&&S.length>0&&S!==t&&((b==null?void 0:b(S))??!0),A=(m==null?void 0:m(S))??!0,C=t?E(t)?bs(t):t:null,N=v=>{e(te(v)),u(!1),k("")},P=v=>{e(v),u(!1),k("")},q=()=>{e(""),k(""),u(!1)};return(0,o.jsxs)("div",{className:H("flex w-full min-w-48 mb-1 items-center gap-1",c),children:[(0,o.jsxs)(Nt,{modal:!0,open:g,onOpenChange:v=>{u(v),v||k("")},children:[(0,o.jsx)($t,{asChild:!0,children:(0,o.jsxs)("button",{type:"button",className:H("flex h-6 min-w-0 flex-1 shadow-xs-solid items-center justify-between","rounded-sm border border-input bg-background px-1.5 text-sm font-code ring-offset-background placeholder:text-muted-foreground","hover:shadow-sm-solid focus:outline-hidden focus:ring-1 focus:ring-ring focus:border-primary focus:shadow-md-solid",E(t)&&"bg-accent"),"aria-expanded":g,children:[(0,o.jsx)("span",{className:"truncate flex-1 min-w-0 text-left flex items-center gap-1.5",children:C?(0,o.jsxs)(o.Fragment,{children:[E(t)&&(0,o.jsx)(X,{className:"h-3 w-3 shrink-0 opacity-70"}),(0,o.jsx)("span",{className:"truncate",children:C})]}):(0,o.jsx)("span",{className:"text-muted-foreground",children:s})}),(0,o.jsx)(Et,{className:"ml-1 h-4 w-4 opacity-50 shrink-0"})]})}),(0,o.jsx)(Ct,{className:"w-(--radix-popover-trigger-width) p-0",align:"start",children:(0,o.jsxs)(is,{children:[(0,o.jsx)(as,{placeholder:l??(n?"Search secrets...":"Type a value or search secrets..."),rootClassName:"px-1 h-8",autoFocus:!0,value:w,onValueChange:k}),(0,o.jsxs)(cs,{className:"max-h-60 overscroll-contain",children:[j&&(0,o.jsx)(Z,{children:(0,o.jsx)(Q,{value:`use custom value ${S}`,onSelect:()=>P(S),children:p(S)})}),A&&(0,o.jsx)(Z,{className:"mt-0",children:(0,o.jsxs)(Q,{value:`create new secret ${S}`,onSelect:()=>{let v=S||void 0;u(!1),k(""),i(v)},children:[(0,o.jsx)(Bt,{className:"mr-2 h-3.5 w-3.5"}),h]})}),r.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ke,{className:"mt-0"}),(0,o.jsx)(Z,{heading:"Recommended",children:r.map(v=>(0,o.jsxs)(Q,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(X,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]}),a.length>0&&(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(ke,{className:"mt-0"}),(0,o.jsx)(Z,{heading:r.length>0?"Other":void 0,children:a.map(v=>(0,o.jsxs)(Q,{value:v,onSelect:()=>N(v),children:[(0,o.jsx)(X,{className:"mr-2 h-3 w-3 opacity-70"}),v]},v))})]})]})]})})]}),t&&(0,o.jsx)("button",{type:"button","aria-label":"Clear",className:H("flex h-6 w-6 shrink-0 items-center justify-center rounded-sm","text-muted-foreground hover:bg-muted hover:text-foreground","focus:outline-hidden focus:ring-1 focus:ring-ring"),onClick:q,children:(0,o.jsx)(Ot,{className:"h-3.5 w-3.5"})})]})};var ys=F(),Ne=(0,D.createContext)({providerNames:[],secretKeys:[],loading:!1,error:void 0,refreshSecrets:St.NOOP});const Re=()=>(0,D.use)(Ne),_s=t=>{let e=(0,ys.c)(14),{children:s}=t,n;e[0]===Symbol.for("react.memo_cache_sentinel")?(n=[],e[0]=n):n=e[0];let{data:r,isPending:a,error:i,refetch:c}=Se(js,n);r==null||r.secretKeys,r==null||r.providerNames;let l;e[1]===(r==null?void 0:r.secretKeys)?l=e[2]:(l=(r==null?void 0:r.secretKeys)||[],e[1]=r==null?void 0:r.secretKeys,e[2]=l);let p;e[3]===(r==null?void 0:r.providerNames)?p=e[4]:(p=(r==null?void 0:r.providerNames)||[],e[3]=r==null?void 0:r.providerNames,e[4]=p);let h;e[5]!==i||e[6]!==a||e[7]!==c||e[8]!==l||e[9]!==p?(h={secretKeys:l,providerNames:p,loading:a,error:i,refreshSecrets:c},e[5]=i,e[6]=a,e[7]=c,e[8]=l,e[9]=p,e[10]=h):h=e[10];let b=h,m;return e[11]!==s||e[12]!==b?(m=(0,o.jsx)(Ne,{value:b,children:s}),e[11]=s,e[12]=b,e[13]=m):m=e[13],m},xs={isMatch:t=>{if(t instanceof de){let{optionRegex:e}=d.parse(t.description||"");return!!e}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:a}=Re(),{openModal:i,closeModal:c}=we(),{label:l,description:p,placeholder:h,optionRegex:b="",inputType:m}=d.parse(t.description||""),g=m==="password",{recommended:u,other:w}=gs(n,b);return(0,o.jsx)(be,{control:e.control,name:s,render:({field:k})=>(0,o.jsxs)(ye,{children:[(0,o.jsx)(xe,{children:l}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(ge,{children:(0,o.jsx)(Ae,{value:k.value?String(k.value):"",onChange:k.onChange,placeholder:h,secretsOnly:g,recommendedKeys:u,otherKeys:w,onCreateSecret:S=>{i((0,o.jsx)($e,{providerNames:r,initialValue:S,onSuccess:j=>{a(),k.onChange(te(j)),c()},onClose:c}))}})}),(0,o.jsx)(fe,{})]})})}},ws={isMatch:t=>{if(t instanceof de){let{special:e}=d.parse(t.description||"");return e==="secret_textarea"}return!1},Component:({schema:t,form:e,path:s})=>{let{secretKeys:n,providerNames:r,refreshSecrets:a}=Re(),{openModal:i,closeModal:c}=we(),{label:l,description:p,placeholder:h}=d.parse(t.description||"");return(0,o.jsx)(be,{control:e.control,name:s,render:({field:b})=>{let m=b.value?String(b.value):"",g=Ce(m)?ms(m):m;return(0,o.jsxs)(ye,{children:[(0,o.jsxs)(xe,{className:"flex items-center gap-1",children:[l,(0,o.jsx)(me,{content:"Enter a path to a file on disk, or create a secret to paste JSON directly.",delayDuration:300,children:(0,o.jsx)("button",{type:"button",className:"inline-flex","aria-label":"Credential input help",children:(0,o.jsx)(yt,{className:"h-3.5 w-3.5"})})})]}),(0,o.jsx)(_e,{children:p}),(0,o.jsx)(ge,{children:(0,o.jsx)(Ae,{value:g,onChange:u=>{b.onChange(!u||E(u)||Ce(u)?u:hs(u))},placeholder:h,searchPlaceholder:"Type a file path or paste JSON",formatCustomValueLabel:u=>`Use "${u}" as a file path`,createSecretLabel:"Paste JSON credentials",allowCustomValue:u=>!ve(u),allowCreateSecret:u=>!u||ve(u),recommendedKeys:[],otherKeys:n,onCreateSecret:u=>{i((0,o.jsx)($e,{providerNames:r,initialValue:u,multiline:!0,onSuccess:w=>{a(),b.onChange(te(w)),c()},onClose:c}))}})}),(0,o.jsx)(fe,{})]})}})}};function Ss(t){return t.provider!=="env"}function ks(t){return t.name}function vs(t){return t.keys}async function js(){let t=await ps.request({}),e=us(t.secrets).filter(Ss).map(ks);return{secretKeys:t.secrets.flatMap(vs).toSorted(),providerNames:e}}var W=F(),$s=[xs,ws];const ne=t=>{let e=(0,W.c)(2),{children:s}=t,n;return e[0]===s?n=e[1]:(n=(0,o.jsx)("div",{className:"grid grid-cols-2 md:grid-cols-3 gap-4",children:s}),e[0]=s,e[1]=n),n},oe=t=>{let e=(0,W.c)(9),{name:s,color:n,icon:r,onSelect:a}=t,i;e[0]===n?i=e[1]:(i={backgroundColor:n},e[0]=n,e[1]=i);let c;e[2]===s?c=e[3]:(c=(0,o.jsx)("span",{className:"text-white font-medium text-lg",children:s}),e[2]=s,e[3]=c);let l;return e[4]!==r||e[5]!==a||e[6]!==i||e[7]!==c?(l=(0,o.jsxs)("button",{type:"button",className:"py-3 flex flex-col items-center justify-center gap-1 transition-all hover:scale-105 hover:brightness-110 rounded shadow-sm-solid hover:shadow-md-solid",style:i,onClick:a,children:[r,c]}),e[4]=r,e[5]=a,e[6]=i,e[7]=c,e[8]=l):l=e[8],l},Cs=t=>{let e=(0,W.c)(25),{onBack:s,isValid:n,libraries:r,preferredLibrary:a,onLibraryChange:i,displayNames:c,libraryLabel:l}=t,p=l===void 0?"Preferred library":l,h;e[0]===s?h=e[1]:(h=(0,o.jsx)(ue,{type:"button",variant:"outline",onClick:s,children:"Back"}),e[0]=s,e[1]=h);let b=!n,m;e[2]===b?m=e[3]:(m=(0,o.jsx)(ue,{type:"submit",disabled:b,children:"Add"}),e[2]=b,e[3]=m);let g;e[4]!==h||e[5]!==m?(g=(0,o.jsxs)("div",{className:"flex gap-2",children:[h,m]}),e[4]=h,e[5]=m,e[6]=g):g=e[6];let u;e[7]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(It,{children:(0,o.jsx)(Rt,{placeholder:"Select a library"})}),e[7]=u):u=e[7];let w;e[8]===p?w=e[9]:(w=(0,o.jsxs)("div",{className:"flex flex-col gap-1 items-end",children:[u,(0,o.jsx)("span",{className:"text-xs text-muted-foreground",children:p})]}),e[8]=p,e[9]=w);let k;if(e[10]!==c||e[11]!==r){let C;e[13]===c?C=e[14]:(C=N=>(0,o.jsx)(Tt,{value:N,children:c[N]??N},N),e[13]=c,e[14]=C),k=r.map(C),e[10]=c,e[11]=r,e[12]=k}else k=e[12];let S;e[15]===k?S=e[16]:(S=(0,o.jsx)(Lt,{children:(0,o.jsx)(Dt,{children:k})}),e[15]=k,e[16]=S);let j;e[17]!==i||e[18]!==a||e[19]!==w||e[20]!==S?(j=(0,o.jsx)("div",{children:(0,o.jsxs)(Pt,{value:a,onValueChange:i,children:[w,S]})}),e[17]=i,e[18]=a,e[19]=w,e[20]=S,e[21]=j):j=e[21];let A;return e[22]!==j||e[23]!==g?(A=(0,o.jsxs)("div",{className:"flex gap-2 justify-between",children:[g,j]}),e[22]=j,e[23]=g,e[24]=A):A=e[24],A};function Te(){let t=(0,W.c)(4),{createNewCell:e}=_t(),s=os(),n=ft(kt),r;return t[0]!==n||t[1]!==e||t[2]!==s?(r=a=>{/\bmo\./.test(a)&&ns({autoInstantiate:n,createNewCell:e,fromCellId:s}),e({code:a,before:!1,cellId:s??"__end__",skipIfCodeExists:!0})},t[0]=n,t[1]=e,t[2]=s,t[3]=r):r=t[3],r}const Le=t=>{let e=(0,W.c)(30),{schema:s,libraries:n,preferredLibrary:r,displayNames:a,libraryLabel:i,generateCode:c,onSubmit:l,onBack:p}=t,h;e[0]===s?h=e[1]:(h=Ut(s),e[0]=s,e[1]=h);let b=h,m;e[2]===s?m=e[3]:(m=Zt(s),e[2]=s,e[3]=m);let g;e[4]!==b||e[5]!==m?(g={defaultValues:b,resolver:m,reValidateMode:"onChange"},e[4]=b,e[5]=m,e[6]=g):g=e[6];let u=Gt(g),[w,k]=D.useState(r),S=Te(),j;e[7]!==c||e[8]!==S||e[9]!==l||e[10]!==w?(j=mt=>{S(c(mt,w)),l()},e[7]=c,e[8]=S,e[9]=l,e[10]=w,e[11]=j):j=e[11];let A=j,C;e[12]!==u||e[13]!==A?(C=u.handleSubmit(A),e[12]=u,e[13]=A,e[14]=C):C=e[14];let N;e[15]===Symbol.for("react.memo_cache_sentinel")?(N=(0,o.jsx)(Vt,{}),e[15]=N):N=e[15];let P;e[16]!==u||e[17]!==s?(P=(0,o.jsx)(_s,{children:(0,o.jsx)(Kt,{schema:s,form:u,renderers:$s,children:N})}),e[16]=u,e[17]=s,e[18]=P):P=e[18];let q;e[19]!==a||e[20]!==u.formState.isValid||e[21]!==n||e[22]!==i||e[23]!==p||e[24]!==w?(q=(0,o.jsx)(Cs,{onBack:p,isValid:u.formState.isValid,libraries:n,preferredLibrary:w,onLibraryChange:k,displayNames:a,libraryLabel:i}),e[19]=a,e[20]=u.formState.isValid,e[21]=n,e[22]=i,e[23]=p,e[24]=w,e[25]=q):q=e[25];let v;return e[26]!==C||e[27]!==P||e[28]!==q?(v=(0,o.jsxs)("form",{onSubmit:C,className:"space-y-4",children:[P,q]}),e[26]=C,e[27]=P,e[28]=q,e[29]=v):v=e[29],v};function O(){return f().optional().describe(d.of({label:"Password",inputType:"password",optionRegex:"(password|passwd|pgpassword|db.?pass(word)?)"}))}function J(t,e){let s=f();return s=e?s.nonempty():s.optional(),s=s.describe(d.of({label:t||"Token",inputType:"password",optionRegex:"(token|api.?key|access.?token|auth.?token|(^|_)pat(_|$))"})),s}function Y(){return f().optional().describe(d.of({label:"Warehouse Name",optionRegex:"(warehouse|snowflake.?warehouse)"}))}function ae(t,e){let s=f();return s=e?s.nonempty():s.optional(),s.describe(d.of({label:t||"URI",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}function I(t){return f().nonempty().describe(d.of({label:t||"Host",optionRegex:"^(?!.*(kubernetes|gpg)).*(host(name)?|pghost|db.?host|database.?host|mysql.?host|postgres.?host|server.?host)"}))}function R(){return f().describe(d.of({label:"Database",optionRegex:"(database|db.?name|pgdatabase|^DB$|^DATABASE$)"}))}function As(){return f().describe(d.of({label:"Schema",optionRegex:"(^SCHEMA$|db.?schema|postgres.?schema|pg.?schema|_SCHEMA$)"}))}function T(){return f().nonempty().describe(d.of({label:"Username",optionRegex:"(username|pguser|db.?user|^USER$|_USER$)"}))}function B(t){let e=wt().describe(d.of({label:"Port",inputType:"number",placeholder:t==null?void 0:t.toString()})).transform(Number).refine(s=>s>=0&&s<=65535,{message:"Port must be between 0 and 65535"});return t===void 0?e:e.default(t)}function De(){return L().default(!1).describe(d.of({label:"Read Only"}))}const Ie=_({type:x("postgres"),host:I(),port:B(5432).optional(),database:R(),username:T(),password:O(),ssl:L().default(!1).describe(d.of({label:"Use SSL"}))}).describe(d.of({direction:"two-columns"})),Pe=_({type:x("mysql"),host:I(),port:B(3306),database:R(),username:T(),password:O(),ssl:L().default(!1).describe(d.of({label:"Use SSL"}))}).describe(d.of({direction:"two-columns"})),qe=_({type:x("sqlite"),database:R().describe(d.of({label:"Database Path"}))}).describe(d.of({direction:"two-columns"})),Fe=_({type:x("duckdb"),database:R().describe(d.of({label:"Database Path"})),read_only:De()}).describe(d.of({direction:"two-columns"})),Ee=_({type:x("motherduck"),database:R().default("my_db").describe(d.of({label:"Database Name"})),token:J()}).describe(d.of({direction:"two-columns"})),Oe=_({type:x("snowflake"),account:f().nonempty().describe(d.of({label:"Account",optionRegex:"(snowflake.?account|^SNOWFLAKE_ACCOUNT$|account.?id)"})),warehouse:f().optional().describe(d.of({label:"Warehouse",optionRegex:"(snowflake.?warehouse|warehouse)"})),database:R(),schema:f().optional().describe(d.of({label:"Schema",optionRegex:"(snowflake.?schema|^SCHEMA$|_SCHEMA$)"})),role:f().optional().describe(d.of({label:"Role"})),authType:U("type",[_({type:x("Password"),username:T(),password:O(),enable_mfa:L().default(!1).describe(d.of({label:"Enable MFA (Duo Push)"}))}),_({type:x("SSO (Browser)"),username:T()}),_({type:x("Key Pair"),username:T(),private_key_path:f().nonempty().describe(d.of({label:"Private Key Path",placeholder:"/path/to/rsa_key.p8"})),private_key_passphrase:f().optional().describe(d.of({label:"Private Key Passphrase",inputType:"password",optionRegex:"(passphrase|private.?key.?passphrase|key.?passphrase)"}))}),_({type:x("OAuth / PAT"),token:J("Token",!0)})]).default({type:"Password",username:"username",enable_mfa:!1}).describe(d.of({special:"tabs"}))}).describe(d.of({direction:"two-columns"})),Be=_({type:x("bigquery"),project:f().nonempty().describe(d.of({label:"Project ID",optionRegex:"(bigquery.?project|gcp.?project|google.?cloud.?project|project.?id)"})),dataset:f().nonempty().describe(d.of({label:"Dataset",optionRegex:"(bigquery.?dataset|dataset)"})),credentials_json:f().describe(d.of({label:"Credentials JSON",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),Me=_({type:x("clickhouse_connect"),host:I(),port:B(8123).optional(),username:T(),password:O(),secure:L().default(!1).describe(d.of({label:"Use HTTPs"})),proxy_path:f().optional().describe(d.of({label:"Proxy Path",placeholder:"/clickhouse"}))}).describe(d.of({direction:"two-columns"})),Ue=_({type:x("timeplus"),host:I().default("localhost"),port:B(8123).optional(),username:T().default("default"),password:O().default("")}).describe(d.of({direction:"two-columns"})),Ke=_({type:x("chdb"),database:R().describe(d.of({label:"Database Path"})),read_only:De()}).describe(d.of({direction:"two-columns"})),He=_({type:x("trino"),host:I(),port:B(8080),database:R(),schema:As().optional(),username:T(),password:O(),async_support:L().default(!1).describe(d.of({label:"Async Support"}))}).describe(d.of({direction:"two-columns"})),ze=_({type:x("iceberg"),name:f().describe(d.of({label:"Catalog Name"})),catalog:U("type",[_({type:x("REST"),warehouse:Y(),uri:f().optional().describe(d.of({label:"URI",placeholder:"https://",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"})),token:J()}),_({type:x("SQL"),warehouse:Y(),uri:f().optional().describe(d.of({label:"URI",placeholder:"jdbc:iceberg://host:port/database",optionRegex:"(uri|url|connection.?string|database.?url|jdbc)"}))}),_({type:x("Hive"),warehouse:Y(),uri:ae()}),_({type:x("Glue"),warehouse:Y(),uri:ae()}),_({type:x("DynamoDB"),"dynamodb.profile-name":f().optional().describe(d.of({label:"Profile Name"})),"dynamodb.region":f().optional().describe(d.of({label:"Region"})),"dynamodb.access-key-id":f().optional().describe(d.of({label:"Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),"dynamodb.secret-access-key":f().optional().describe(d.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),"dynamodb.session-token":f().optional().describe(d.of({label:"Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))})]).default({type:"REST",token:void 0}).describe(d.of({special:"tabs"}))}),We=_({type:x("datafusion"),sessionContext:L().optional().describe(d.of({label:"Use Session Context"}))}),Ve=_({type:x("pyspark"),host:I().optional(),port:B().optional()}),Ge=_({type:x("redshift"),host:I(),port:B(5439),connectionType:U("type",[_({type:x("IAM credentials"),region:f().describe(d.of({label:"Region"})),aws_access_key_id:f().nonempty().describe(d.of({label:"AWS Access Key ID",inputType:"password",optionRegex:"(access.?key.?id|aws.?access.?key)"})),aws_secret_access_key:f().nonempty().describe(d.of({label:"AWS Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|aws.?secret)"})),aws_session_token:f().optional().describe(d.of({label:"AWS Session Token",inputType:"password",optionRegex:"(session.?token|aws.?session)"}))}),_({type:x("DB credentials"),user:T(),password:O()})]).default({type:"IAM credentials",aws_access_key_id:"",aws_secret_access_key:"",region:""}),database:R()}).describe(d.of({direction:"two-columns"})),Ze=_({type:x("databricks"),access_token:J("Access Token",!0),server_hostname:I("Server Hostname"),http_path:ae("HTTP Path",!0),catalog:f().optional().describe(d.of({label:"Catalog"})),schema:f().optional().describe(d.of({label:"Schema"}))}).describe(d.of({direction:"two-columns"})),Qe=_({type:x("supabase"),host:I(),port:B(5432).optional(),database:R(),username:T(),password:O(),disable_client_pooling:L().default(!1).describe(d.of({label:"Disable Client-Side Pooling"}))}).describe(d.of({direction:"two-columns"})),Ns=U("type",[Ie,Pe,qe,Fe,Ee,Oe,Be,Me,Ue,Ke,He,ze,We,Ve,Ge,Ze,Qe]),Je={sqlmodel:"SQLModel",sqlalchemy:"SQLAlchemy",duckdb:"DuckDB",clickhouse_connect:"ClickHouse Connect",chdb:"chDB",pyiceberg:"PyIceberg",ibis:"Ibis",motherduck:"MotherDuck",redshift:"Redshift",databricks:"Databricks"};var $=class{constructor(t,e,s){this.connection=t,this.orm=e,this.secrets=s}get imports(){let t=new Set(this.generateImports());switch(this.orm){case"sqlalchemy":t.add("import sqlalchemy");break;case"sqlmodel":t.add("import sqlmodel");break;case"duckdb":t.add("import duckdb");break;case"ibis":t.add("import ibis");break}return t}},Rs=t=>`_${t}`,Ts=class{constructor(){V(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e,s){if(t=Rs(t),E(e)){let n=je(e),r=s?`os.environ.get("${n}", "${s}")`:`os.environ.get("${n}")`;return this.secrets[t]=r,t}if(s!=null){let n=`os.environ.get("${e}", "${s}")`;return this.secrets[t]=n,t}return typeof e=="number"||typeof e=="number"?`${e}`:typeof e=="boolean"?K(e):e?`"${e}"`:""}printInFString(t,e,s){if(e===void 0)return"";if(typeof e=="number")return`${e}`;if(typeof e=="boolean")return K(e);let n=this.print(t,e,s);return n.startsWith('"')&&n.endsWith('"')?n.slice(1,-1):`{${n}}`}printPassword(t,e,s,n){let r=s?this.printInFString.bind(this):this.print.bind(this);return E(t)?r(n||"password",t):r(n||"password",e,t)}getSecrets(){return this.secrets}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
2
2
  `)}},Ls=class extends ${generateImports(){return[]}generateConnectionCode(){let t=this.connection.ssl?", connect_args={'sslmode': 'require'}":"",e=this.secrets.printPassword(this.connection.password,"POSTGRES_PASSWORD",!0);return y(`
3
3
  DATABASE_URL = f"postgresql://${this.secrets.printInFString("username",this.connection.username)}:${e}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}/${this.secrets.printInFString("database",this.connection.database)}"
4
4
  engine = ${this.orm}.create_engine(DATABASE_URL${t})
@@ -55,50 +55,50 @@ ${M(l,p=>` ${p}`)},
55
55
  conn = duckdb.connect("md:${t}", config={"motherduck_token": ${this.secrets.printPassword(this.connection.token,"MOTHERDUCK_TOKEN",!1)}})
56
56
  `):y(`
57
57
  conn = duckdb.connect("md:${t}")
58
- `)}},Bs=class extends ${generateImports(){return["import clickhouse_connect"]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"CLICKHOUSE_PASSWORD",!1),e={host:this.secrets.print("host",this.connection.host),user:this.secrets.print("user",this.connection.username),secure:this.secrets.print("secure",this.connection.secure),port:this.connection.port?this.secrets.print("port",this.connection.port):void 0,password:this.connection.password?t:void 0,proxy_path:this.connection.proxy_path?this.secrets.print("proxy_path",this.connection.proxy_path):void 0};return y(`
58
+ `)}},Os=class extends ${generateImports(){return["import clickhouse_connect"]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"CLICKHOUSE_PASSWORD",!1),e={host:this.secrets.print("host",this.connection.host),user:this.secrets.print("user",this.connection.username),secure:this.secrets.print("secure",this.connection.secure),port:this.connection.port?this.secrets.print("port",this.connection.port):void 0,password:this.connection.password?t:void 0,proxy_path:this.connection.proxy_path?this.secrets.print("proxy_path",this.connection.proxy_path):void 0};return y(`
59
59
  engine = ${this.orm}.get_client(
60
60
  ${M(e,s=>` ${s}`)},
61
61
  )
62
- `)}},Os=class extends ${generateImports(){return[]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"TIMEPLUS_PASSWORD",!0);return y(`
62
+ `)}},Bs=class extends ${generateImports(){return[]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"TIMEPLUS_PASSWORD",!0);return y(`
63
63
  DATABASE_URL = f"timeplus://${this.secrets.printInFString("username",this.connection.username)}:${t}@${this.secrets.printInFString("host",this.connection.host)}:${this.secrets.printInFString("port",this.connection.port)}"
64
64
  engine = ${this.orm}.create_engine(DATABASE_URL)
65
65
  `)}},Ms=class extends ${generateImports(){return["import chdb"]}generateConnectionCode(){let t=this.secrets.print("database",this.connection.database)||'""';return y(`
66
66
  engine = ${this.orm}.connect(${t}, read_only=${K(this.connection.read_only)})
67
67
  `)}},Us=class extends ${generateImports(){return this.connection.async_support?["import aiotrino"]:["import trino.sqlalchemy"]}generateConnectionCode(){let t=this.connection.async_support?"aiotrino":"trino",e=this.connection.schema?`/${this.connection.schema}`:"",s=this.secrets.printInFString("username",this.connection.username),n=this.secrets.printInFString("host",this.connection.host),r=this.secrets.printInFString("port",this.connection.port),a=this.secrets.printInFString("database",this.connection.database),i=this.secrets.printPassword(this.connection.password,"TRINO_PASSWORD",!0);return y(`
68
68
  engine = ${this.orm}.create_engine(f"${t}://${s}:${i}@${n}:${r}/${a}${e}")
69
- `)}},Ks=class extends ${generateImports(){switch(this.connection.catalog.type){case"REST":return["from pyiceberg.catalog.rest import RestCatalog"];case"SQL":return["from pyiceberg.catalog.sql import SqlCatalog"];case"Hive":return["from pyiceberg.catalog.hive import HiveCatalog"];case"Glue":return["from pyiceberg.catalog.glue import GlueCatalog"];case"DynamoDB":return["from pyiceberg.catalog.dynamodb import DynamoDBCatalog"];default:z(this.connection.catalog)}}generateConnectionCode(){let t={...this.connection.catalog};t=Object.fromEntries(Object.entries(t).filter(([n,r])=>r!=null&&r!==""&&n!=="type"));for(let[n,r]of Object.entries(t))E(r)?t[n]=this.secrets.print(n,r):typeof r=="string"&&(t[n]=`"${r}"`);let e=Js(t,n=>` ${n}`),s=`"${this.connection.name}"`;switch(this.connection.catalog.type){case"REST":return y(`
69
+ `)}},Ks=class extends ${getCatalogOptions(){return Object.fromEntries(Object.entries(this.connection.catalog).filter(([t,e])=>e!=null&&e!==""&&t!=="type"))}generateImports(){if(Object.keys(this.getCatalogOptions()).length===0)return["from pyiceberg.catalog import load_catalog"];switch(this.connection.catalog.type){case"REST":return["from pyiceberg.catalog.rest import RestCatalog"];case"SQL":return["from pyiceberg.catalog.sql import SqlCatalog"];case"Hive":return["from pyiceberg.catalog.hive import HiveCatalog"];case"Glue":return["from pyiceberg.catalog.glue import GlueCatalog"];case"DynamoDB":return["from pyiceberg.catalog.dynamodb import DynamoDBCatalog"];default:z(this.connection.catalog)}}generateConnectionCode(){let t=`"${this.connection.name}"`,e=this.getCatalogOptions();if(Object.keys(e).length===0)return`catalog = load_catalog(${t})`;for(let[n,r]of Object.entries(e))E(r)?e[n]=this.secrets.print(n,r):typeof r=="string"&&(e[n]=`"${r}"`);let s=Js(e,n=>` ${n}`);switch(this.connection.catalog.type){case"REST":return y(`
70
70
  catalog = RestCatalog(
71
- ${s},
71
+ ${t},
72
72
  **{
73
- ${e}
73
+ ${s}
74
74
  },
75
75
  )
76
76
  `);case"SQL":return y(`
77
77
  catalog = SqlCatalog(
78
- ${s},
78
+ ${t},
79
79
  **{
80
- ${e}
80
+ ${s}
81
81
  },
82
82
  )
83
83
  `);case"Hive":return y(`
84
84
  catalog = HiveCatalog(
85
- ${s},
85
+ ${t},
86
86
  **{
87
- ${e}
87
+ ${s}
88
88
  },
89
89
  )
90
90
  `);case"Glue":return y(`
91
91
  catalog = GlueCatalog(
92
- ${s},
92
+ ${t},
93
93
  **{
94
- ${e}
94
+ ${s}
95
95
  },
96
96
  )
97
97
  `);case"DynamoDB":return y(`
98
98
  catalog = DynamoDBCatalog(
99
- ${s},
99
+ ${t},
100
100
  **{
101
- ${e}
101
+ ${s}
102
102
  },
103
103
  )
104
104
  `);default:z(this.connection.catalog)}}},Hs=class extends ${generateImports(){return["from datafusion import SessionContext"]}generateConnectionCode(){return this.connection.sessionContext?y(`
@@ -136,10 +136,10 @@ ${M({host:t,port:e,database:s,...n&&{user:n},...r&&{password:r}},a=>` $
136
136
  `)}},Gs=class extends ${generateImports(){return this.connection.disable_client_pooling?["from sqlalchemy.pool import NullPool"]:[]}generateConnectionCode(){let t=this.secrets.printPassword(this.connection.password,"SUPABASE_PASSWORD",!0),e=this.secrets.printInFString("username",this.connection.username),s=this.secrets.printInFString("host",this.connection.host),n=this.secrets.printInFString("port",this.connection.port),r=this.secrets.printInFString("database",this.connection.database),a=this.connection.disable_client_pooling?", poolclass=NullPool":"";return y(`
137
137
  DATABASE_URL = f"postgresql+psycopg2://${e}:${t}@${s}:${n}/${r}?sslmode=require"
138
138
  engine = ${this.orm}.create_engine(DATABASE_URL${a})
139
- `)}},Zs=class{constructor(){V(this,"secrets",new Ts)}createGenerator(t,e){switch(t.type){case"postgres":return new Ls(t,e,this.secrets);case"mysql":return new Ds(t,e,this.secrets);case"sqlite":return new Is(t,e,this.secrets);case"snowflake":return new Ps(t,e,this.secrets);case"bigquery":return new qs(t,e,this.secrets);case"duckdb":return new Fs(t,e,this.secrets);case"motherduck":return new Es(t,e,this.secrets);case"clickhouse_connect":return new Bs(t,e,this.secrets);case"timeplus":return new Os(t,e,this.secrets);case"chdb":return new Ms(t,e,this.secrets);case"trino":return new Us(t,e,this.secrets);case"iceberg":return new Ks(t,e,this.secrets);case"datafusion":return new Hs(t,e,this.secrets);case"pyspark":return new zs(t,e,this.secrets);case"redshift":return new Ws(t,e,this.secrets);case"databricks":return new Vs(t,e,this.secrets);case"supabase":return new Gs(t,e,this.secrets);default:z(t)}}};function Qs(t,e){if(!(e in Je))throw Error(`Unsupported library: ${e}`);Ns.parse(t);let s=new Zs,n=s.createGenerator(t,e),r=n.generateConnectionCode(),a=s.secrets,i=[...new Set([...a.imports,...n.imports])].toSorted();i.push("");let c=a.formatSecrets();return c&&i.push(c),i.push(r.trim()),i.join(`
139
+ `)}},Zs=class{constructor(){V(this,"secrets",new Ts)}createGenerator(t,e){switch(t.type){case"postgres":return new Ls(t,e,this.secrets);case"mysql":return new Ds(t,e,this.secrets);case"sqlite":return new Is(t,e,this.secrets);case"snowflake":return new Ps(t,e,this.secrets);case"bigquery":return new qs(t,e,this.secrets);case"duckdb":return new Fs(t,e,this.secrets);case"motherduck":return new Es(t,e,this.secrets);case"clickhouse_connect":return new Os(t,e,this.secrets);case"timeplus":return new Bs(t,e,this.secrets);case"chdb":return new Ms(t,e,this.secrets);case"trino":return new Us(t,e,this.secrets);case"iceberg":return new Ks(t,e,this.secrets);case"datafusion":return new Hs(t,e,this.secrets);case"pyspark":return new zs(t,e,this.secrets);case"redshift":return new Ws(t,e,this.secrets);case"databricks":return new Vs(t,e,this.secrets);case"supabase":return new Gs(t,e,this.secrets);default:z(t)}}};function Qs(t,e){if(!(e in Je))throw Error(`Unsupported library: ${e}`);Ns.parse(t);let s=new Zs,n=s.createGenerator(t,e),r=n.generateConnectionCode(),a=s.secrets,i=[...new Set([...a.imports,...n.imports])].toSorted();i.push("");let c=a.formatSecrets();return c&&i.push(c),i.push(r.trim()),i.join(`
140
140
  `)}function K(t){return t.toString().charAt(0).toUpperCase()+t.toString().slice(1)}function M(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,n])=>e(typeof n=="boolean"?`${s}=${K(n)}`:`${s}=${n}`)).join(`,
141
141
  `)}function Js(t,e){return Object.entries(t).filter(([,s])=>s!=null&&s!=="").map(([s,n])=>{let r=`"${s}"`;return e(typeof n=="boolean"?`${r}: ${K(n)}`:`${r}: ${n}`)}).join(`,
142
- `)}var Ye=F(),Xe=[{name:"PostgreSQL",schema:Ie,color:"#336791",logo:"postgres",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"MySQL",schema:Pe,color:"#00758F",logo:"mysql",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"SQLite",schema:qe,color:"#003B57",logo:"sqlite",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DuckDB",schema:Fe,color:"#FFD700",logo:"duckdb",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"MotherDuck",schema:Ee,color:"#ff9538",logo:"motherduck",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"Snowflake",schema:Be,color:"#29B5E8",logo:"snowflake",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse",schema:Me,color:"#2C2C1D",logo:"clickhouse",connectionLibraries:{libraries:["clickhouse_connect"],preferred:"clickhouse_connect"}},{name:"Timeplus",schema:Ue,color:"#B83280",logo:"timeplus",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"BigQuery",schema:Oe,color:"#4285F4",logo:"bigquery",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse Embedded",schema:Ke,color:"#f2b611",logo:"clickhouse",connectionLibraries:{libraries:["chdb"],preferred:"chdb"}},{name:"Trino",schema:He,color:"#d466b6",logo:"trino",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DataFusion",schema:We,color:"#202A37",logo:"datafusion",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"PySpark",schema:Ve,color:"#1C5162",logo:"pyspark",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"Redshift",schema:Ge,color:"#522BAE",logo:"redshift",connectionLibraries:{libraries:["redshift"],preferred:"redshift"}},{name:"Databricks",schema:Ze,color:"#c41e0c",logo:"databricks",connectionLibraries:{libraries:["sqlalchemy","sqlmodel","ibis"],preferred:"sqlalchemy"}},{name:"Supabase",schema:Qe,color:"#238F5F",logo:"supabase",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}}],et=[{name:"Iceberg",schema:ze,color:"#000000",logo:"iceberg",connectionLibraries:{libraries:["pyiceberg"],preferred:"pyiceberg"}}],Ys=[...Xe,...et],Xs=t=>{let e=(0,Ye.c)(12),{onSelect:s}=t,n;e[0]===s?n=e[1]:(n=Xe.map(p=>{let{name:h,schema:b,color:m,logo:g}=p;return(0,o.jsx)(oe,{name:h,color:m,icon:(0,o.jsx)(le,{name:g,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(b)},h)}),e[0]=s,e[1]=n);let r;e[2]===n?r=e[3]:(r=(0,o.jsx)(ne,{children:n}),e[2]=n,e[3]=r);let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsxs)("h4",{className:"font-semibold text-muted-foreground text-lg flex items-center gap-4 my-2",children:["Data Catalogs",(0,o.jsx)("hr",{className:"flex-1"})]}),e[4]=a):a=e[4];let i;e[5]===s?i=e[6]:(i=et.map(p=>{let{name:h,schema:b,color:m,logo:g}=p;return(0,o.jsx)(oe,{name:h,color:m,icon:(0,o.jsx)(le,{name:g,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(b)},h)}),e[5]=s,e[6]=i);let c;e[7]===i?c=e[8]:(c=(0,o.jsx)(ne,{children:i}),e[7]=i,e[8]=c);let l;return e[9]!==r||e[10]!==c?(l=(0,o.jsxs)(o.Fragment,{children:[r,a,c]}),e[9]=r,e[10]=c,e[11]=l):l=e[11],l};const er=t=>{let e=(0,Ye.c)(13),{onSubmit:s,header:n}=t,[r,a]=(0,D.useState)(null);if(!r){let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,o.jsx)("div",{children:(0,o.jsx)(Xs,{onSelect:a})}),e[0]=m):m=e[0];let g;return e[1]===n?g=e[2]:(g=(0,o.jsxs)(o.Fragment,{children:[n,m]}),e[1]=n,e[2]=g),g}let i;e[3]===r?i=e[4]:(i=Ys.find(m=>m.schema===r),e[3]=r,e[4]=i);let c=i==null?void 0:i.connectionLibraries,l;e[5]===(c==null?void 0:c.libraries)?l=e[6]:(l=(c==null?void 0:c.libraries)??[],e[5]=c==null?void 0:c.libraries,e[6]=l);let p=(c==null?void 0:c.preferred)??"sqlalchemy",h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=()=>a(null),e[7]=h):h=e[7];let b;return e[8]!==s||e[9]!==r||e[10]!==l||e[11]!==p?(b=(0,o.jsx)(Le,{schema:r,libraries:l,preferredLibrary:p,displayNames:Je,libraryLabel:"Preferred connection library",generateCode:tr,onSubmit:s,onBack:h}),e[8]=s,e[9]=r,e[10]=l,e[11]=p,e[12]=b):b=e[12],b};function tr(t,e){return Qs(t,e)}var sr=F();async function rr(){return(await xt.request({})).sources}function nr(){let t=(0,sr.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],t[0]=e):e=t[0],Se(rr,e)}var ce=F();const or=t=>{let e=(0,ce.c)(8),{sources:s,onAdd:n}=t;if(s.length===0)return null;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,o.jsxs)("div",{className:"mr-1 flex items-center gap-1.5",children:[(0,o.jsx)(Wt,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,o.jsx)("h3",{id:"quick-add-data-sources-title",className:"text-sm font-medium",children:"Quick add"})]}),e[0]=r):r=e[0];let a;if(e[1]!==n||e[2]!==s){let c;e[4]===n?c=e[5]:(c=l=>(0,o.jsx)(me,{side:"bottom",content:(0,o.jsx)(ar,{source:l}),children:(0,o.jsxs)("button",{type:"button","aria-label":`Add ${l.displayName} connection`,className:"inline-flex items-center gap-1 rounded-full border border-(--blue-8) bg-(--blue-2) px-2.5 py-1 text-xs font-semibold text-(--blue-11) transition-colors hover:bg-(--blue-3) focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>n(l),children:[(0,o.jsx)(zt,{className:"h-3 w-3"}),l.displayName]})},l.id),e[4]=n,e[5]=c),a=s.map(c),e[1]=n,e[2]=s,e[3]=a}else a=e[3];let i;return e[6]===a?i=e[7]:(i=(0,o.jsx)("section",{"aria-labelledby":"quick-add-data-sources-title",className:"rounded-md border bg-muted/30 px-3 py-2",children:(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r,(0,o.jsx)(qt,{delayDuration:200,children:a})]})}),e[6]=a,e[7]=i),i};var ar=t=>{let e=(0,ce.c)(17),{source:s}=t,n;e[0]===s.displayName?n=e[1]:(n=(0,o.jsx)("div",{className:"font-medium",children:s.displayName}),e[0]=s.displayName,e[1]=n);let r;e[2]===s.origins?r=e[3]:(r=s.origins.map(ir).join(" and "),e[2]=s.origins,e[3]=r);let a;e[4]===r?a=e[5]:(a=(0,o.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Detected from"," ",r]}),e[4]=r,e[5]=a);let i;e[6]!==n||e[7]!==a?(i=(0,o.jsxs)("div",{children:[n,a]}),e[6]=n,e[7]=a,e[8]=i):i=e[8];let c;e[9]===s.configuration?c=e[10]:(c=s.configuration.map(lr),e[9]=s.configuration,e[10]=c);let l;e[11]===c?l=e[12]:(l=(0,o.jsx)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:c}),e[11]=c,e[12]=l);let p;e[13]===Symbol.for("react.memo_cache_sentinel")?(p=(0,o.jsx)("div",{className:"text-xs text-muted-foreground",children:"Click to add a configured cell."}),e[13]=p):p=e[13];let h;return e[14]!==i||e[15]!==l?(h=(0,o.jsxs)("div",{className:"min-w-64 space-y-2 py-1",children:[i,l,p]}),e[14]=i,e[15]=l,e[16]=h):h=e[16],h};const cr=t=>{let e=(0,ce.c)(8),{onSubmit:s}=t,n=Te(),{data:r}=nr(),a;e[0]===r?a=e[1]:(a=r??[],e[0]=r,e[1]=a);let i;e[2]!==n||e[3]!==s?(i=l=>{n(l.code),s()},e[2]=n,e[3]=s,e[4]=i):i=e[4];let c;return e[5]!==a||e[6]!==i?(c=(0,o.jsx)(or,{sources:a,onAdd:i}),e[5]=a,e[6]=i,e[7]=c):c=e[7],c};function ir(t){return t.label}function lr(t){return(0,o.jsxs)("div",{className:"contents",children:[(0,o.jsx)("dt",{className:"text-muted-foreground",children:t.field}),(0,o.jsx)("dd",{children:(0,o.jsx)("code",{children:t.value.kind==="environment-variable"?`os.environ["${t.value.name}"]`:t.value.value})})]},t.value.kind==="environment-variable"?t.value.name:`${t.field}:${t.value.value}`)}var dr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20id='Layer_1'%20x='0'%20y='0'%20version='1.1'%20viewBox='0.02%20102.6%20511.9%20306.4'%3e%3cstyle%3e.st1{fill-rule:evenodd;clip-rule:evenodd;fill:%23f90}%3c/style%3e%3cpath%20d='M144.3%20214.1c0%206.3.7%2011.4%201.9%2015.2%201.4%203.7%203.1%207.8%205.4%2012.3.9%201.4%201.2%202.7%201.2%203.9%200%201.7-1%203.4-3.2%205.1l-10.7%207.2c-1.5%201-3.1%201.5-4.4%201.5-1.7%200-3.4-.9-5.1-2.4-2.4-2.6-4.4-5.3-6.1-8-1.7-2.9-3.4-6.1-5.3-10-13.3%2015.7-30%2023.5-50.1%2023.5-14.3%200-25.7-4.1-34.1-12.3-8.3-8.2-12.6-19.1-12.6-32.7%200-14.5%205.1-26.2%2015.5-35.1S60.8%20169%2078.4%20169c5.8%200%2011.7.5%2018.1%201.4s12.8%202.2%2019.6%203.7v-12.4c0-12.9-2.7-22-8-27.2-5.4-5.3-14.6-7.8-27.8-7.8-6%200-12.1.7-18.4%202.2s-12.4%203.4-18.4%205.8c-2.7%201.2-4.8%201.9-6%202.2s-2%20.5-2.7.5c-2.4%200-3.6-1.7-3.6-5.3v-8.3c0-2.7.3-4.8%201.2-6s2.4-2.4%204.8-3.6c6-3.1%2013.1-5.6%2021.5-7.7%208.3-2.2%2017.2-3.2%2026.6-3.2%2020.3%200%2035.1%204.6%2044.6%2013.8%209.4%209.2%2014.1%2023.2%2014.1%2041.9v55.2h.3zM75.2%20240c5.6%200%2011.4-1%2017.5-3.1%206.1-2%2011.6-5.8%2016.2-10.9%202.7-3.2%204.8-6.8%205.8-10.9s1.7-9%201.7-14.8v-7.2c-4.9-1.2-10.2-2.2-15.7-2.9-5.4-.7-10.7-1-16-1-11.4%200-19.8%202.2-25.4%206.8S51%20207.1%2051%20215.6c0%208%202%2014%206.3%2018.1%204.1%204.2%2010%206.3%2017.9%206.3m136.7%2018.4c-3.1%200-5.1-.5-6.5-1.7-1.4-1-2.6-3.4-3.6-6.6l-40-131.6c-1-3.4-1.5-5.6-1.5-6.8%200-2.7%201.4-4.3%204.1-4.3h16.7c3.2%200%205.4.5%206.6%201.7%201.4%201%202.4%203.4%203.4%206.6l28.6%20112.7%2026.6-112.7c.9-3.4%201.9-5.6%203.2-6.6%201.4-1%203.7-1.7%206.8-1.7H270c3.2%200%205.4.5%206.8%201.7%201.4%201%202.6%203.4%203.2%206.6l26.9%20114.1%2029.5-114.1c1-3.4%202.2-5.6%203.4-6.6%201.4-1%203.6-1.7%206.6-1.7h15.8c2.7%200%204.3%201.4%204.3%204.3%200%20.9-.2%201.7-.3%202.7-.2%201-.5%202.4-1.2%204.3l-41%20131.6q-1.5%205.1-3.6%206.6c-1.4%201-3.6%201.7-6.5%201.7h-14.6c-3.2%200-5.4-.5-6.8-1.7s-2.6-3.4-3.2-6.8l-26.4-109.8L236.7%20250c-.9%203.4-1.9%205.6-3.2%206.8-1.4%201.2-3.7%201.7-6.8%201.7h-14.8zm218.8%204.6c-8.9%200-17.7-1-26.2-3.1-8.5-2-15.2-4.3-19.6-6.8-2.7-1.5-4.6-3.2-5.3-4.8s-1-3.2-1-4.8v-8.7c0-3.6%201.4-5.3%203.9-5.3%201%200%202%20.2%203.1.5%201%20.3%202.6%201%204.3%201.7%205.8%202.6%2012.1%204.6%2018.7%206%206.8%201.4%2013.5%202%2020.3%202%2010.7%200%2019.1-1.9%2024.9-5.6s8.9-9.2%208.9-16.2c0-4.8-1.5-8.7-4.6-11.9s-8.9-6.1-17.2-8.9l-24.7-7.7c-12.4-3.9-21.6-9.7-27.2-17.4-5.6-7.5-8.5-15.8-8.5-24.7%200-7.2%201.5-13.5%204.6-18.9s7.2-10.2%2012.3-14c5.1-3.9%2010.9-6.8%2017.7-8.9%206.8-2%2014-2.9%2021.5-2.9%203.7%200%207.7.2%2011.4.7%203.9.5%207.5%201.2%2011.1%201.9%203.4.9%206.6%201.7%209.7%202.7s5.4%202%207.2%203.1c2.4%201.4%204.1%202.7%205.1%204.3%201%201.4%201.5%203.2%201.5%205.6v8c0%203.6-1.4%205.4-3.9%205.4-1.4%200-3.6-.7-6.5-2q-14.55-6.6-32.7-6.6c-9.7%200-17.4%201.5-22.6%204.8s-8%208.2-8%2015.2c0%204.8%201.7%208.9%205.1%2012.1s9.7%206.5%2018.7%209.4l24.2%207.7c12.3%203.9%2021.1%209.4%2026.4%2016.3s7.8%2015%207.8%2023.8c0%207.3-1.5%2014-4.4%2019.8-3.1%205.8-7.2%2010.9-12.4%2015-5.3%204.3-11.6%207.3-18.9%209.5-8%202.5-16%203.7-24.7%203.7'%20style='fill:%23fff'/%3e%3cpath%20fill='%23fff'%20d='M462.9%20345.7c-56%2041.4-137.4%2063.3-207.4%2063.3-98.1%200-186.5-36.3-253.2-96.6-5.3-4.8-.5-11.2%205.8-7.5%2072.2%2041.9%20161.3%2067.3%20253.4%2067.3%2062.2%200%20130.4-12.9%20193.3-39.5%209.3-4.2%2017.3%206.2%208.1%2013'%20class='st1'/%3e%3cpath%20fill='%23fff'%20d='M486.2%20319.2c-7.2-9.2-47.3-4.4-65.6-2.2-5.4.7-6.3-4.1-1.4-7.7%2032-22.5%2084.6-16%2090.8-8.5%206.1%207.7-1.7%2060.3-31.7%2085.5-4.6%203.9-9%201.9-7-3.2%206.9-16.9%2022.1-54.9%2014.9-63.9'%20class='st1'/%3e%3c/svg%3e",pr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23FFF'%20d='m115.679%2069.288-15.591-8.94-2.689-1.163-63.781.436v32.381h82.061z'/%3e%3cpath%20fill='%23F38020'%20d='M87.295%2089.022c.763-2.617.472-5.015-.8-6.796-1.163-1.635-3.125-2.58-5.488-2.689l-44.737-.581c-.291%200-.545-.145-.691-.363s-.182-.509-.109-.8c.145-.436.581-.763%201.054-.8l45.137-.581c5.342-.254%2011.157-4.579%2013.192-9.885l2.58-6.723c.109-.291.145-.581.073-.872-2.906-13.158-14.644-22.97-28.672-22.97-12.938%200-23.913%208.359-27.838%2019.952a13.35%2013.35%200%200%200-9.267-2.58c-6.215.618-11.193%205.597-11.811%2011.811-.145%201.599-.036%203.162.327%204.615C10.104%2070.051%202%2078.337%202%2088.549c0%20.909.073%201.817.182%202.726a.895.895%200%200%200%20.872.763h82.57c.472%200%20.909-.327%201.054-.8l.617-2.216z'/%3e%3cpath%20fill='%23FAAE40'%20d='M101.542%2060.275c-.4%200-.836%200-1.236.036-.291%200-.545.218-.654.509l-1.744%206.069c-.763%202.617-.472%205.015.8%206.796%201.163%201.635%203.125%202.58%205.488%202.689l9.522.581c.291%200%20.545.145.691.363.145.218.182.545.109.8-.145.436-.581.763-1.054.8l-9.924.582c-5.379.254-11.157%204.579-13.192%209.885l-.727%201.853c-.145.363.109.727.509.727h34.089c.4%200%20.763-.254.872-.654.581-2.108.909-4.325.909-6.614%200-13.447-10.975-24.422-24.458-24.422'/%3e%3c/svg%3e",hr="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20id='Layer_1'%20data-name='Layer%201'%20viewBox='0%200%20224.09%20161.1'%20width='224.09'%20height='161.1'%20%3e%3cdefs%3e%3cstyle%3e%20.cls-1,%20.cls-2%20{%20fill:%20%23000;%20stroke-width:%200px;%20}%20.cls-2%20{%20fill-rule:%20evenodd;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='cls-2'%20d='M92.1,112.3h-27.07c-1.65,0-3.3-.99-4.29-2.64l-12.55-22.47c-.66-1.65-.66-3.3,0-4.62l12.55-22.47c.99-1.65,2.64-2.64,4.29-2.64h15.52c1.65,0,3.3-.99,4.29-2.64l11.23-20.16c.99-1.65-.33-3.63-1.98-3.63h-41.6c-3.63,0-6.6,1.98-8.58,4.96l-24.76,44.28c-1.65,2.97-1.65,6.61,0,9.58l24.76,43.94c1.65,2.97,4.95,4.96,8.58,4.96h53.15c1.98,0,2.97-1.98,1.98-3.64l-11.55-20.49c-.33-1.65-1.98-2.31-3.96-2.31Z'/%3e%3cpath%20class='cls-1'%20d='M165.4,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.55,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61,0-9.58Z'/%3e%3cpath%20class='cls-2'%20d='M111.58,86.86l13.21-23.46c.66-1.32.66-3.3,0-4.96l-15.19-26.1c-.99-1.65-3.3-1.65-4.29,0l-12.88,22.8c-.66,1.32-.66,3.3,0,4.63l14.86,26.76c.99,1.98,3.63,1.98,4.29.33Z'/%3e%3cpath%20class='cls-1'%20d='M204.35,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.89,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61-.33-9.58Z'/%3e%3c/svg%3e",mr="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20id='Layer_1'%20data-name='Layer%201'%20viewBox='0%200%20224.09%20161.1'%20width='224.09'%20height='161.1'%3e%3cdefs%3e%3cstyle%3e%20.cls-1,%20.cls-2%20{%20fill:%20%23fff;%20stroke-width:%200px;%20}%20.cls-2%20{%20fill-rule:%20evenodd;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='cls-2'%20d='M92.1,112.3h-27.07c-1.65,0-3.3-.99-4.29-2.64l-12.55-22.47c-.66-1.65-.66-3.3,0-4.62l12.55-22.47c.99-1.65,2.64-2.64,4.29-2.64h15.52c1.65,0,3.3-.99,4.29-2.64l11.23-20.16c.99-1.65-.33-3.63-1.98-3.63h-41.6c-3.63,0-6.6,1.98-8.58,4.96l-24.76,44.28c-1.65,2.97-1.65,6.61,0,9.58l24.76,43.94c1.65,2.97,4.95,4.96,8.58,4.96h53.15c1.98,0,2.97-1.98,1.98-3.64l-11.55-20.49c-.33-1.65-1.98-2.31-3.96-2.31Z'%3e%3c/path%3e%3cpath%20class='cls-1'%20d='M165.4,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.55,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61,0-9.58Z'%3e%3c/path%3e%3cpath%20class='cls-2'%20d='M111.58,86.86l13.21-23.46c.66-1.32.66-3.3,0-4.96l-15.19-26.1c-.99-1.65-3.3-1.65-4.29,0l-12.88,22.8c-.66,1.32-.66,3.3,0,4.63l14.86,26.76c.99,1.98,3.63,1.98,4.29.33Z'%3e%3c/path%3e%3cpath%20class='cls-1'%20d='M204.35,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.89,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61-.33-9.58Z'%3e%3c/path%3e%3c/svg%3e",ur="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='standard_product_icon'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20viewBox='0%200%20512%20512'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2029.1.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.0%20Build%20142)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20none;%20}%20.st1%20{%20fill:%20%234285f4;%20}%20.st2%20{%20fill:%20%2334a853;%20}%20.st3%20{%20fill:%20%23fbbc04;%20}%20.st4%20{%20fill:%20%23ea4335;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='bounding_box'%3e%3crect%20class='st0'%20width='512'%20height='512'/%3e%3c/g%3e%3cg%20id='art'%3e%3cpath%20class='st2'%20d='M442,277.9H70c-8.8,0-16,7.2-16,16v148.1c0,8.8,7.2,16,16,16h107.2c1.5.5,3.1.7,4.8.7s3.3-.3,4.8-.7h255.2c8.8,0,16-7.2,16-16v-148.1c0-8.8-7.2-16-16-16ZM86,309.9h80v116.1h-80v-116.1ZM426,425.9h-228v-116.1h228v116.1Z'/%3e%3cpath%20class='st3'%20d='M442,54H70c-8.8,0-16,7.2-16,16v148.8c0,8.8,7.2,16,16,16h372c8.8,0,16-7.2,16-16V70c0-8.8-7.2-16-16-16ZM86,86h80v116.8h-80v-116.8ZM426,202.8h-228v-116.8h228v116.8Z'/%3e%3cpath%20class='st4'%20d='M442,234.8h-16V86H54v-16c0-8.8,7.2-16,16-16h372c8.8,0,16,7.2,16,16v148.8c0,8.8-7.2,16-16,16Z'/%3e%3cpath%20class='st1'%20d='M442,457.9h-16v-148.1H54v-16c0-8.8,7.2-16,16-16h372c8.8,0,16,7.2,16,16v148.1c0,8.8-7.2,16-16,16Z'/%3e%3ccircle%20class='st4'%20cx='349'%20cy='144.4'%20r='37'/%3e%3ccircle%20class='st1'%20cx='349'%20cy='367.9'%20r='37'/%3e%3c/g%3e%3c/svg%3e",br="data:image/svg+xml,%3csvg%20viewBox='0%200%2087.3%2078'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m6.6%2066.85%203.85%206.65c.8%201.4%201.95%202.5%203.3%203.3l13.75-23.8h-27.5c0%201.55.4%203.1%201.2%204.5z'%20fill='%230066da'/%3e%3cpath%20d='m43.65%2025-13.75-23.8c-1.35.8-2.5%201.9-3.3%203.3l-25.4%2044a9.06%209.06%200%200%200%20-1.2%204.5h27.5z'%20fill='%2300ac47'/%3e%3cpath%20d='m73.55%2076.8c1.35-.8%202.5-1.9%203.3-3.3l1.6-2.75%207.65-13.25c.8-1.4%201.2-2.95%201.2-4.5h-27.502l5.852%2011.5z'%20fill='%23ea4335'/%3e%3cpath%20d='m43.65%2025%2013.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6%200-3.15.45-4.5%201.2z'%20fill='%2300832d'/%3e%3cpath%20d='m59.8%2053h-32.3l-13.75%2023.8c1.35.8%202.9%201.2%204.5%201.2h50.8c1.6%200%203.15-.45%204.5-1.2z'%20fill='%232684fc'/%3e%3cpath%20d='m73.4%2026.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75%2023.8%2016.15%2028h27.45c0-1.55-.4-3.1-1.2-4.5z'%20fill='%23ffba00'/%3e%3c/svg%3e",fr=F(),gr={s3:{src:ls,dark:dr},coreweave:{src:hr,dark:mr},cloudflare:{src:pr},azure:{src:ds},gcs:{src:ur},http:Ht,file:re,"in-memory":Mt,gdrive:{src:br},github:fs};const tt=t=>{let e=(0,fr.c)(11),{protocol:s,forceDark:n,className:r}=t,{theme:a}=Qt(),i=gr[s.toLowerCase()]??re;if("src"in i){let h=i.src;i.dark&&(n||a==="dark")&&(h=i.dark);let b=h,m;e[0]===r?m=e[1]:(m=H("h-3.5 w-3.5",r),e[0]=r,e[1]=m);let g;return e[2]!==s||e[3]!==h||e[4]!==m?(g=(0,o.jsx)("img",{src:b,alt:s,className:m}),e[2]=s,e[3]=h,e[4]=m,e[5]=g):g=e[5],g}let c=i,l;e[6]===r?l=e[7]:(l=H("h-3.5 w-3.5",r),e[6]=r,e[7]=l);let p;return e[8]!==c||e[9]!==l?(p=(0,o.jsx)(c,{className:l}),e[8]=c,e[9]=l,e[10]=p):p=e[10],p};var st=()=>U("type",[_({type:x("Access keys"),access_key_id:f().optional().describe(d.of({label:"Access Key ID",description:"Leave empty to use the default credential chain",inputType:"password",optionRegex:"(access.?key.?id|object.?storage.?key|aws.?access.?key)"})),secret_access_key:f().optional().describe(d.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|object.?storage.?secret|aws.?secret)"}))}),_({type:x("Container credentials"),container_credentials_full_uri:f().nonempty().describe(d.of({label:"Credentials URI",description:"Endpoint that vends credentials to the container",placeholder:"http://169.254.170.23/v1/credentials",optionRegex:"container.?credentials"})),container_authorization_token_file:f().nonempty().describe(d.of({label:"Authorization Token File",description:"File holding the token sent to the credentials URI",placeholder:"/var/run/secrets/token",optionRegex:"(container.?authorization.?token.?file|container.?auth.?token)"}))})]).default({type:"Access keys"}).describe(d.of({label:"Credentials",special:"tabs"}));const rt=_({type:x("s3"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|s3.?bucket)"})),region:f().optional().describe(d.of({label:"Region",placeholder:"us-east-1",optionRegex:"(region|aws.?region)"})),endpoint_url:f().optional().describe(d.of({label:"Endpoint URL",description:"Ignored if the AWS_ENDPOINT_URL_S3 environment variable is set",placeholder:"https://s3.amazonaws.com",optionRegex:"(endpoint|s3.?url|s3.?endpoint)"})),allow_http:L().default(!1).describe(d.of({label:"Allow HTTP",description:"Required for plain-http (non-TLS) endpoints"})),auth:st()}).describe(d.of({direction:"two-columns"})),nt=_({type:x("gcs"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|gcs.?bucket|google.?bucket)"})),service_account_key:f().optional().describe(d.of({label:"Service Account Key (JSON)",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),ot=_({type:x("azure"),container:f().nonempty().describe(d.of({label:"Container",placeholder:"my-container"})),account_name:f().nonempty().describe(d.of({label:"Account Name",placeholder:"storageaccount",optionRegex:"(azure.?account|account.?name|storage.?account)"})),account_key:f().optional().describe(d.of({label:"Account Key",inputType:"password",optionRegex:"(azure.?key|account.?key|storage.?key)"}))}).describe(d.of({direction:"two-columns"})),at=_({type:x("coreweave"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"bucket-name"})),region:f().nonempty().describe(d.of({label:"Region",placeholder:"US-EAST-04A"})),auth:st()}).describe(d.of({direction:"two-columns"})),ct=_({type:x("gdrive"),credentials_json:f().optional().describe(d.of({label:"Service Account JSON",description:"Leave empty to use browser-based authentication",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),yr=U("type",[rt,nt,ot,at,ct]),_r={obstore:"obstore",fsspec:"fsspec"};var xr=class{constructor(){V(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e){if(e===void 0||e==="")return"";let s=`_${t}`;if(E(e)){let n=je(e);return this.secrets[s]=`os.environ.get("${n}")`,s}return`"${e}"`}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
142
+ `)}var Ye=F(),Xe=[{name:"PostgreSQL",schema:Ie,color:"#336791",logo:"postgres",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"MySQL",schema:Pe,color:"#00758F",logo:"mysql",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"SQLite",schema:qe,color:"#003B57",logo:"sqlite",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DuckDB",schema:Fe,color:"#FFD700",logo:"duckdb",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"MotherDuck",schema:Ee,color:"#ff9538",logo:"motherduck",connectionLibraries:{libraries:["duckdb"],preferred:"duckdb"}},{name:"Snowflake",schema:Oe,color:"#29B5E8",logo:"snowflake",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse",schema:Me,color:"#2C2C1D",logo:"clickhouse",connectionLibraries:{libraries:["clickhouse_connect"],preferred:"clickhouse_connect"}},{name:"Timeplus",schema:Ue,color:"#B83280",logo:"timeplus",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"BigQuery",schema:Be,color:"#4285F4",logo:"bigquery",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"ClickHouse Embedded",schema:Ke,color:"#f2b611",logo:"clickhouse",connectionLibraries:{libraries:["chdb"],preferred:"chdb"}},{name:"Trino",schema:He,color:"#d466b6",logo:"trino",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}},{name:"DataFusion",schema:We,color:"#202A37",logo:"datafusion",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"PySpark",schema:Ve,color:"#1C5162",logo:"pyspark",connectionLibraries:{libraries:["ibis"],preferred:"ibis"}},{name:"Redshift",schema:Ge,color:"#522BAE",logo:"redshift",connectionLibraries:{libraries:["redshift"],preferred:"redshift"}},{name:"Databricks",schema:Ze,color:"#c41e0c",logo:"databricks",connectionLibraries:{libraries:["sqlalchemy","sqlmodel","ibis"],preferred:"sqlalchemy"}},{name:"Supabase",schema:Qe,color:"#238F5F",logo:"supabase",connectionLibraries:{libraries:["sqlalchemy","sqlmodel"],preferred:"sqlalchemy"}}],et=[{name:"Iceberg",schema:ze,color:"#000000",logo:"iceberg",connectionLibraries:{libraries:["pyiceberg"],preferred:"pyiceberg"}}],Ys=[...Xe,...et],Xs=t=>{let e=(0,Ye.c)(12),{onSelect:s}=t,n;e[0]===s?n=e[1]:(n=Xe.map(p=>{let{name:h,schema:b,color:m,logo:g}=p;return(0,o.jsx)(oe,{name:h,color:m,icon:(0,o.jsx)(le,{name:g,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(b)},h)}),e[0]=s,e[1]=n);let r;e[2]===n?r=e[3]:(r=(0,o.jsx)(ne,{children:n}),e[2]=n,e[3]=r);let a;e[4]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsxs)("h4",{className:"font-semibold text-muted-foreground text-lg flex items-center gap-4 my-2",children:["Data Catalogs",(0,o.jsx)("hr",{className:"flex-1"})]}),e[4]=a):a=e[4];let i;e[5]===s?i=e[6]:(i=et.map(p=>{let{name:h,schema:b,color:m,logo:g}=p;return(0,o.jsx)(oe,{name:h,color:m,icon:(0,o.jsx)(le,{name:g,className:"w-8 h-8 text-white brightness-0 invert dark:invert"}),onSelect:()=>s(b)},h)}),e[5]=s,e[6]=i);let c;e[7]===i?c=e[8]:(c=(0,o.jsx)(ne,{children:i}),e[7]=i,e[8]=c);let l;return e[9]!==r||e[10]!==c?(l=(0,o.jsxs)(o.Fragment,{children:[r,a,c]}),e[9]=r,e[10]=c,e[11]=l):l=e[11],l};const er=t=>{let e=(0,Ye.c)(13),{onSubmit:s,header:n}=t,[r,a]=(0,D.useState)(null);if(!r){let m;e[0]===Symbol.for("react.memo_cache_sentinel")?(m=(0,o.jsx)("div",{children:(0,o.jsx)(Xs,{onSelect:a})}),e[0]=m):m=e[0];let g;return e[1]===n?g=e[2]:(g=(0,o.jsxs)(o.Fragment,{children:[n,m]}),e[1]=n,e[2]=g),g}let i;e[3]===r?i=e[4]:(i=Ys.find(m=>m.schema===r),e[3]=r,e[4]=i);let c=i==null?void 0:i.connectionLibraries,l;e[5]===(c==null?void 0:c.libraries)?l=e[6]:(l=(c==null?void 0:c.libraries)??[],e[5]=c==null?void 0:c.libraries,e[6]=l);let p=(c==null?void 0:c.preferred)??"sqlalchemy",h;e[7]===Symbol.for("react.memo_cache_sentinel")?(h=()=>a(null),e[7]=h):h=e[7];let b;return e[8]!==s||e[9]!==r||e[10]!==l||e[11]!==p?(b=(0,o.jsx)(Le,{schema:r,libraries:l,preferredLibrary:p,displayNames:Je,libraryLabel:"Preferred connection library",generateCode:tr,onSubmit:s,onBack:h}),e[8]=s,e[9]=r,e[10]=l,e[11]=p,e[12]=b):b=e[12],b};function tr(t,e){return Qs(t,e)}var sr=F();async function rr(){return(await xt.request({})).sources}function nr(){let t=(0,sr.c)(1),e;return t[0]===Symbol.for("react.memo_cache_sentinel")?(e=[],t[0]=e):e=t[0],Se(rr,e)}var ce=F();const or=t=>{let e=(0,ce.c)(8),{sources:s,onAdd:n}=t;if(s.length===0)return null;let r;e[0]===Symbol.for("react.memo_cache_sentinel")?(r=(0,o.jsxs)("div",{className:"mr-1 flex items-center gap-1.5",children:[(0,o.jsx)(Wt,{className:"h-3.5 w-3.5 text-muted-foreground"}),(0,o.jsx)("h3",{id:"quick-add-data-sources-title",className:"text-sm font-medium",children:"Quick add"})]}),e[0]=r):r=e[0];let a;if(e[1]!==n||e[2]!==s){let c;e[4]===n?c=e[5]:(c=l=>(0,o.jsx)(me,{side:"bottom",content:(0,o.jsx)(ar,{source:l}),children:(0,o.jsxs)("button",{type:"button","aria-label":`Add ${l.displayName} connection`,className:"inline-flex items-center gap-1 rounded-full border border-(--blue-8) bg-(--blue-2) px-2.5 py-1 text-xs font-semibold text-(--blue-11) transition-colors hover:bg-(--blue-3) focus:outline-hidden focus:ring-2 focus:ring-ring focus:ring-offset-2",onClick:()=>n(l),children:[(0,o.jsx)(zt,{className:"h-3 w-3"}),l.displayName]})},l.id),e[4]=n,e[5]=c),a=s.map(c),e[1]=n,e[2]=s,e[3]=a}else a=e[3];let i;return e[6]===a?i=e[7]:(i=(0,o.jsx)("section",{"aria-labelledby":"quick-add-data-sources-title",className:"rounded-md border bg-muted/30 px-3 py-2",children:(0,o.jsxs)("div",{className:"flex flex-wrap items-center gap-2",children:[r,(0,o.jsx)(qt,{delayDuration:200,children:a})]})}),e[6]=a,e[7]=i),i};var ar=t=>{let e=(0,ce.c)(17),{source:s}=t,n;e[0]===s.displayName?n=e[1]:(n=(0,o.jsx)("div",{className:"font-medium",children:s.displayName}),e[0]=s.displayName,e[1]=n);let r;e[2]===s.origins?r=e[3]:(r=s.origins.map(ir).join(" and "),e[2]=s.origins,e[3]=r);let a;e[4]===r?a=e[5]:(a=(0,o.jsxs)("div",{className:"text-xs text-muted-foreground",children:["Detected from"," ",r]}),e[4]=r,e[5]=a);let i;e[6]!==n||e[7]!==a?(i=(0,o.jsxs)("div",{children:[n,a]}),e[6]=n,e[7]=a,e[8]=i):i=e[8];let c;e[9]===s.configuration?c=e[10]:(c=s.configuration.map(lr),e[9]=s.configuration,e[10]=c);let l;e[11]===c?l=e[12]:(l=(0,o.jsx)("dl",{className:"grid grid-cols-[auto_1fr] gap-x-3 gap-y-1 text-xs",children:c}),e[11]=c,e[12]=l);let p;e[13]===Symbol.for("react.memo_cache_sentinel")?(p=(0,o.jsx)("div",{className:"text-xs text-muted-foreground",children:"Click to add a configured cell."}),e[13]=p):p=e[13];let h;return e[14]!==i||e[15]!==l?(h=(0,o.jsxs)("div",{className:"min-w-64 space-y-2 py-1",children:[i,l,p]}),e[14]=i,e[15]=l,e[16]=h):h=e[16],h};const cr=t=>{let e=(0,ce.c)(8),{onSubmit:s}=t,n=Te(),{data:r}=nr(),a;e[0]===r?a=e[1]:(a=r??[],e[0]=r,e[1]=a);let i;e[2]!==n||e[3]!==s?(i=l=>{n(l.code),s()},e[2]=n,e[3]=s,e[4]=i):i=e[4];let c;return e[5]!==a||e[6]!==i?(c=(0,o.jsx)(or,{sources:a,onAdd:i}),e[5]=a,e[6]=i,e[7]=c):c=e[7],c};function ir(t){return t.label}function lr(t){return(0,o.jsxs)("div",{className:"contents",children:[(0,o.jsx)("dt",{className:"text-muted-foreground",children:t.field}),(0,o.jsx)("dd",{children:(0,o.jsx)("code",{children:t.value.kind==="environment-variable"?`os.environ["${t.value.name}"]`:t.value.value})})]},t.value.kind==="environment-variable"?t.value.name:`${t.field}:${t.value.value}`)}var dr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20xml:space='preserve'%20id='Layer_1'%20x='0'%20y='0'%20version='1.1'%20viewBox='0.02%20102.6%20511.9%20306.4'%3e%3cstyle%3e.st1{fill-rule:evenodd;clip-rule:evenodd;fill:%23f90}%3c/style%3e%3cpath%20d='M144.3%20214.1c0%206.3.7%2011.4%201.9%2015.2%201.4%203.7%203.1%207.8%205.4%2012.3.9%201.4%201.2%202.7%201.2%203.9%200%201.7-1%203.4-3.2%205.1l-10.7%207.2c-1.5%201-3.1%201.5-4.4%201.5-1.7%200-3.4-.9-5.1-2.4-2.4-2.6-4.4-5.3-6.1-8-1.7-2.9-3.4-6.1-5.3-10-13.3%2015.7-30%2023.5-50.1%2023.5-14.3%200-25.7-4.1-34.1-12.3-8.3-8.2-12.6-19.1-12.6-32.7%200-14.5%205.1-26.2%2015.5-35.1S60.8%20169%2078.4%20169c5.8%200%2011.7.5%2018.1%201.4s12.8%202.2%2019.6%203.7v-12.4c0-12.9-2.7-22-8-27.2-5.4-5.3-14.6-7.8-27.8-7.8-6%200-12.1.7-18.4%202.2s-12.4%203.4-18.4%205.8c-2.7%201.2-4.8%201.9-6%202.2s-2%20.5-2.7.5c-2.4%200-3.6-1.7-3.6-5.3v-8.3c0-2.7.3-4.8%201.2-6s2.4-2.4%204.8-3.6c6-3.1%2013.1-5.6%2021.5-7.7%208.3-2.2%2017.2-3.2%2026.6-3.2%2020.3%200%2035.1%204.6%2044.6%2013.8%209.4%209.2%2014.1%2023.2%2014.1%2041.9v55.2h.3zM75.2%20240c5.6%200%2011.4-1%2017.5-3.1%206.1-2%2011.6-5.8%2016.2-10.9%202.7-3.2%204.8-6.8%205.8-10.9s1.7-9%201.7-14.8v-7.2c-4.9-1.2-10.2-2.2-15.7-2.9-5.4-.7-10.7-1-16-1-11.4%200-19.8%202.2-25.4%206.8S51%20207.1%2051%20215.6c0%208%202%2014%206.3%2018.1%204.1%204.2%2010%206.3%2017.9%206.3m136.7%2018.4c-3.1%200-5.1-.5-6.5-1.7-1.4-1-2.6-3.4-3.6-6.6l-40-131.6c-1-3.4-1.5-5.6-1.5-6.8%200-2.7%201.4-4.3%204.1-4.3h16.7c3.2%200%205.4.5%206.6%201.7%201.4%201%202.4%203.4%203.4%206.6l28.6%20112.7%2026.6-112.7c.9-3.4%201.9-5.6%203.2-6.6%201.4-1%203.7-1.7%206.8-1.7H270c3.2%200%205.4.5%206.8%201.7%201.4%201%202.6%203.4%203.2%206.6l26.9%20114.1%2029.5-114.1c1-3.4%202.2-5.6%203.4-6.6%201.4-1%203.6-1.7%206.6-1.7h15.8c2.7%200%204.3%201.4%204.3%204.3%200%20.9-.2%201.7-.3%202.7-.2%201-.5%202.4-1.2%204.3l-41%20131.6q-1.5%205.1-3.6%206.6c-1.4%201-3.6%201.7-6.5%201.7h-14.6c-3.2%200-5.4-.5-6.8-1.7s-2.6-3.4-3.2-6.8l-26.4-109.8L236.7%20250c-.9%203.4-1.9%205.6-3.2%206.8-1.4%201.2-3.7%201.7-6.8%201.7h-14.8zm218.8%204.6c-8.9%200-17.7-1-26.2-3.1-8.5-2-15.2-4.3-19.6-6.8-2.7-1.5-4.6-3.2-5.3-4.8s-1-3.2-1-4.8v-8.7c0-3.6%201.4-5.3%203.9-5.3%201%200%202%20.2%203.1.5%201%20.3%202.6%201%204.3%201.7%205.8%202.6%2012.1%204.6%2018.7%206%206.8%201.4%2013.5%202%2020.3%202%2010.7%200%2019.1-1.9%2024.9-5.6s8.9-9.2%208.9-16.2c0-4.8-1.5-8.7-4.6-11.9s-8.9-6.1-17.2-8.9l-24.7-7.7c-12.4-3.9-21.6-9.7-27.2-17.4-5.6-7.5-8.5-15.8-8.5-24.7%200-7.2%201.5-13.5%204.6-18.9s7.2-10.2%2012.3-14c5.1-3.9%2010.9-6.8%2017.7-8.9%206.8-2%2014-2.9%2021.5-2.9%203.7%200%207.7.2%2011.4.7%203.9.5%207.5%201.2%2011.1%201.9%203.4.9%206.6%201.7%209.7%202.7s5.4%202%207.2%203.1c2.4%201.4%204.1%202.7%205.1%204.3%201%201.4%201.5%203.2%201.5%205.6v8c0%203.6-1.4%205.4-3.9%205.4-1.4%200-3.6-.7-6.5-2q-14.55-6.6-32.7-6.6c-9.7%200-17.4%201.5-22.6%204.8s-8%208.2-8%2015.2c0%204.8%201.7%208.9%205.1%2012.1s9.7%206.5%2018.7%209.4l24.2%207.7c12.3%203.9%2021.1%209.4%2026.4%2016.3s7.8%2015%207.8%2023.8c0%207.3-1.5%2014-4.4%2019.8-3.1%205.8-7.2%2010.9-12.4%2015-5.3%204.3-11.6%207.3-18.9%209.5-8%202.5-16%203.7-24.7%203.7'%20style='fill:%23fff'/%3e%3cpath%20fill='%23fff'%20d='M462.9%20345.7c-56%2041.4-137.4%2063.3-207.4%2063.3-98.1%200-186.5-36.3-253.2-96.6-5.3-4.8-.5-11.2%205.8-7.5%2072.2%2041.9%20161.3%2067.3%20253.4%2067.3%2062.2%200%20130.4-12.9%20193.3-39.5%209.3-4.2%2017.3%206.2%208.1%2013'%20class='st1'/%3e%3cpath%20fill='%23fff'%20d='M486.2%20319.2c-7.2-9.2-47.3-4.4-65.6-2.2-5.4.7-6.3-4.1-1.4-7.7%2032-22.5%2084.6-16%2090.8-8.5%206.1%207.7-1.7%2060.3-31.7%2085.5-4.6%203.9-9%201.9-7-3.2%206.9-16.9%2022.1-54.9%2014.9-63.9'%20class='st1'/%3e%3c/svg%3e",pr="data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%20128%20128'%3e%3cpath%20fill='%23FFF'%20d='m115.679%2069.288-15.591-8.94-2.689-1.163-63.781.436v32.381h82.061z'/%3e%3cpath%20fill='%23F38020'%20d='M87.295%2089.022c.763-2.617.472-5.015-.8-6.796-1.163-1.635-3.125-2.58-5.488-2.689l-44.737-.581c-.291%200-.545-.145-.691-.363s-.182-.509-.109-.8c.145-.436.581-.763%201.054-.8l45.137-.581c5.342-.254%2011.157-4.579%2013.192-9.885l2.58-6.723c.109-.291.145-.581.073-.872-2.906-13.158-14.644-22.97-28.672-22.97-12.938%200-23.913%208.359-27.838%2019.952a13.35%2013.35%200%200%200-9.267-2.58c-6.215.618-11.193%205.597-11.811%2011.811-.145%201.599-.036%203.162.327%204.615C10.104%2070.051%202%2078.337%202%2088.549c0%20.909.073%201.817.182%202.726a.895.895%200%200%200%20.872.763h82.57c.472%200%20.909-.327%201.054-.8l.617-2.216z'/%3e%3cpath%20fill='%23FAAE40'%20d='M101.542%2060.275c-.4%200-.836%200-1.236.036-.291%200-.545.218-.654.509l-1.744%206.069c-.763%202.617-.472%205.015.8%206.796%201.163%201.635%203.125%202.58%205.488%202.689l9.522.581c.291%200%20.545.145.691.363.145.218.182.545.109.8-.145.436-.581.763-1.054.8l-9.924.582c-5.379.254-11.157%204.579-13.192%209.885l-.727%201.853c-.145.363.109.727.509.727h34.089c.4%200%20.763-.254.872-.654.581-2.108.909-4.325.909-6.614%200-13.447-10.975-24.422-24.458-24.422'/%3e%3c/svg%3e",hr="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20id='Layer_1'%20data-name='Layer%201'%20viewBox='0%200%20224.09%20161.1'%20width='224.09'%20height='161.1'%20%3e%3cdefs%3e%3cstyle%3e%20.cls-1,%20.cls-2%20{%20fill:%20%23000;%20stroke-width:%200px;%20}%20.cls-2%20{%20fill-rule:%20evenodd;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='cls-2'%20d='M92.1,112.3h-27.07c-1.65,0-3.3-.99-4.29-2.64l-12.55-22.47c-.66-1.65-.66-3.3,0-4.62l12.55-22.47c.99-1.65,2.64-2.64,4.29-2.64h15.52c1.65,0,3.3-.99,4.29-2.64l11.23-20.16c.99-1.65-.33-3.63-1.98-3.63h-41.6c-3.63,0-6.6,1.98-8.58,4.96l-24.76,44.28c-1.65,2.97-1.65,6.61,0,9.58l24.76,43.94c1.65,2.97,4.95,4.96,8.58,4.96h53.15c1.98,0,2.97-1.98,1.98-3.64l-11.55-20.49c-.33-1.65-1.98-2.31-3.96-2.31Z'/%3e%3cpath%20class='cls-1'%20d='M165.4,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.55,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61,0-9.58Z'/%3e%3cpath%20class='cls-2'%20d='M111.58,86.86l13.21-23.46c.66-1.32.66-3.3,0-4.96l-15.19-26.1c-.99-1.65-3.3-1.65-4.29,0l-12.88,22.8c-.66,1.32-.66,3.3,0,4.63l14.86,26.76c.99,1.98,3.63,1.98,4.29.33Z'/%3e%3cpath%20class='cls-1'%20d='M204.35,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.89,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61-.33-9.58Z'/%3e%3c/svg%3e",mr="data:image/svg+xml,%3csvg%20xmlns:xlink='http://www.w3.org/1999/xlink'%20xmlns='http://www.w3.org/2000/svg'%20id='Layer_1'%20data-name='Layer%201'%20viewBox='0%200%20224.09%20161.1'%20width='224.09'%20height='161.1'%3e%3cdefs%3e%3cstyle%3e%20.cls-1,%20.cls-2%20{%20fill:%20%23fff;%20stroke-width:%200px;%20}%20.cls-2%20{%20fill-rule:%20evenodd;%20}%20%3c/style%3e%3c/defs%3e%3cpath%20class='cls-2'%20d='M92.1,112.3h-27.07c-1.65,0-3.3-.99-4.29-2.64l-12.55-22.47c-.66-1.65-.66-3.3,0-4.62l12.55-22.47c.99-1.65,2.64-2.64,4.29-2.64h15.52c1.65,0,3.3-.99,4.29-2.64l11.23-20.16c.99-1.65-.33-3.63-1.98-3.63h-41.6c-3.63,0-6.6,1.98-8.58,4.96l-24.76,44.28c-1.65,2.97-1.65,6.61,0,9.58l24.76,43.94c1.65,2.97,4.95,4.96,8.58,4.96h53.15c1.98,0,2.97-1.98,1.98-3.64l-11.55-20.49c-.33-1.65-1.98-2.31-3.96-2.31Z'%3e%3c/path%3e%3cpath%20class='cls-1'%20d='M165.4,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.55,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61,0-9.58Z'%3e%3c/path%3e%3cpath%20class='cls-2'%20d='M111.58,86.86l13.21-23.46c.66-1.32.66-3.3,0-4.96l-15.19-26.1c-.99-1.65-3.3-1.65-4.29,0l-12.88,22.8c-.66,1.32-.66,3.3,0,4.63l14.86,26.76c.99,1.98,3.63,1.98,4.29.33Z'%3e%3c/path%3e%3cpath%20class='cls-1'%20d='M204.35,50.51l-10.57-17.84c-.99-1.65-3.3-1.65-4.29,0l-44.57,79.3c-.66,1.65-.66,3.3,0,4.63l11.89,20.82c.99,1.65,3.3,1.65,4.29,0l43.58-77.32c1.65-2.97,1.65-6.61-.33-9.58Z'%3e%3c/path%3e%3c/svg%3e",ur="data:image/svg+xml,%3c?xml%20version='1.0'%20encoding='UTF-8'?%3e%3csvg%20id='standard_product_icon'%20xmlns='http://www.w3.org/2000/svg'%20version='1.1'%20viewBox='0%200%20512%20512'%3e%3c!--%20Generator:%20Adobe%20Illustrator%2029.1.0,%20SVG%20Export%20Plug-In%20.%20SVG%20Version:%202.1.0%20Build%20142)%20--%3e%3cdefs%3e%3cstyle%3e%20.st0%20{%20fill:%20none;%20}%20.st1%20{%20fill:%20%234285f4;%20}%20.st2%20{%20fill:%20%2334a853;%20}%20.st3%20{%20fill:%20%23fbbc04;%20}%20.st4%20{%20fill:%20%23ea4335;%20}%20%3c/style%3e%3c/defs%3e%3cg%20id='bounding_box'%3e%3crect%20class='st0'%20width='512'%20height='512'/%3e%3c/g%3e%3cg%20id='art'%3e%3cpath%20class='st2'%20d='M442,277.9H70c-8.8,0-16,7.2-16,16v148.1c0,8.8,7.2,16,16,16h107.2c1.5.5,3.1.7,4.8.7s3.3-.3,4.8-.7h255.2c8.8,0,16-7.2,16-16v-148.1c0-8.8-7.2-16-16-16ZM86,309.9h80v116.1h-80v-116.1ZM426,425.9h-228v-116.1h228v116.1Z'/%3e%3cpath%20class='st3'%20d='M442,54H70c-8.8,0-16,7.2-16,16v148.8c0,8.8,7.2,16,16,16h372c8.8,0,16-7.2,16-16V70c0-8.8-7.2-16-16-16ZM86,86h80v116.8h-80v-116.8ZM426,202.8h-228v-116.8h228v116.8Z'/%3e%3cpath%20class='st4'%20d='M442,234.8h-16V86H54v-16c0-8.8,7.2-16,16-16h372c8.8,0,16,7.2,16,16v148.8c0,8.8-7.2,16-16,16Z'/%3e%3cpath%20class='st1'%20d='M442,457.9h-16v-148.1H54v-16c0-8.8,7.2-16,16-16h372c8.8,0,16,7.2,16,16v148.1c0,8.8-7.2,16-16,16Z'/%3e%3ccircle%20class='st4'%20cx='349'%20cy='144.4'%20r='37'/%3e%3ccircle%20class='st1'%20cx='349'%20cy='367.9'%20r='37'/%3e%3c/g%3e%3c/svg%3e",br="data:image/svg+xml,%3csvg%20viewBox='0%200%2087.3%2078'%20xmlns='http://www.w3.org/2000/svg'%3e%3cpath%20d='m6.6%2066.85%203.85%206.65c.8%201.4%201.95%202.5%203.3%203.3l13.75-23.8h-27.5c0%201.55.4%203.1%201.2%204.5z'%20fill='%230066da'/%3e%3cpath%20d='m43.65%2025-13.75-23.8c-1.35.8-2.5%201.9-3.3%203.3l-25.4%2044a9.06%209.06%200%200%200%20-1.2%204.5h27.5z'%20fill='%2300ac47'/%3e%3cpath%20d='m73.55%2076.8c1.35-.8%202.5-1.9%203.3-3.3l1.6-2.75%207.65-13.25c.8-1.4%201.2-2.95%201.2-4.5h-27.502l5.852%2011.5z'%20fill='%23ea4335'/%3e%3cpath%20d='m43.65%2025%2013.75-23.8c-1.35-.8-2.9-1.2-4.5-1.2h-18.5c-1.6%200-3.15.45-4.5%201.2z'%20fill='%2300832d'/%3e%3cpath%20d='m59.8%2053h-32.3l-13.75%2023.8c1.35.8%202.9%201.2%204.5%201.2h50.8c1.6%200%203.15-.45%204.5-1.2z'%20fill='%232684fc'/%3e%3cpath%20d='m73.4%2026.5-12.7-22c-.8-1.4-1.95-2.5-3.3-3.3l-13.75%2023.8%2016.15%2028h27.45c0-1.55-.4-3.1-1.2-4.5z'%20fill='%23ffba00'/%3e%3c/svg%3e",fr=F(),gr={s3:{src:ls,dark:dr},coreweave:{src:hr,dark:mr},cloudflare:{src:pr},azure:{src:ds},gcs:{src:ur},http:Ht,file:re,"in-memory":Mt,gdrive:{src:br},github:fs};const tt=t=>{let e=(0,fr.c)(11),{protocol:s,forceDark:n,className:r}=t,{theme:a}=Qt(),i=gr[s.toLowerCase()]??re;if("src"in i){let h=i.src;i.dark&&(n||a==="dark")&&(h=i.dark);let b=h,m;e[0]===r?m=e[1]:(m=H("h-3.5 w-3.5",r),e[0]=r,e[1]=m);let g;return e[2]!==s||e[3]!==h||e[4]!==m?(g=(0,o.jsx)("img",{src:b,alt:s,className:m}),e[2]=s,e[3]=h,e[4]=m,e[5]=g):g=e[5],g}let c=i,l;e[6]===r?l=e[7]:(l=H("h-3.5 w-3.5",r),e[6]=r,e[7]=l);let p;return e[8]!==c||e[9]!==l?(p=(0,o.jsx)(c,{className:l}),e[8]=c,e[9]=l,e[10]=p):p=e[10],p};var st=()=>U("type",[_({type:x("Access keys"),access_key_id:f().optional().describe(d.of({label:"Access Key ID",description:"Leave empty to use the default credential chain",inputType:"password",optionRegex:"(access.?key.?id|object.?storage.?key|aws.?access.?key)"})),secret_access_key:f().optional().describe(d.of({label:"Secret Access Key",inputType:"password",optionRegex:"(secret.?access.?key|object.?storage.?secret|aws.?secret)"}))}),_({type:x("Container credentials"),container_credentials_full_uri:f().nonempty().describe(d.of({label:"Credentials URI",description:"Endpoint that vends credentials to the container",placeholder:"http://169.254.170.23/v1/credentials",optionRegex:"container.?credentials"})),container_authorization_token_file:f().nonempty().describe(d.of({label:"Authorization Token File",description:"File holding the token sent to the credentials URI",placeholder:"/var/run/secrets/token",optionRegex:"(container.?authorization.?token.?file|container.?auth.?token)"}))})]).default({type:"Access keys"}).describe(d.of({label:"Credentials",special:"tabs"}));const rt=_({type:x("s3"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|s3.?bucket)"})),region:f().optional().describe(d.of({label:"Region",placeholder:"us-east-1",optionRegex:"(region|aws.?region)"})),endpoint_url:f().optional().describe(d.of({label:"Endpoint URL",description:"Ignored if the AWS_ENDPOINT_URL_S3 environment variable is set",placeholder:"https://s3.amazonaws.com",optionRegex:"(endpoint|s3.?url|s3.?endpoint)"})),allow_http:L().default(!1).describe(d.of({label:"Allow HTTP",description:"Required for plain-http (non-TLS) endpoints"})),auth:st()}).describe(d.of({direction:"two-columns"})),nt=_({type:x("gcs"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"my-bucket",optionRegex:"(bucket|gcs.?bucket|google.?bucket)"})),service_account_key:f().optional().describe(d.of({label:"Service Account Key (JSON)",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),ot=_({type:x("azure"),container:f().nonempty().describe(d.of({label:"Container",placeholder:"my-container"})),account_name:f().nonempty().describe(d.of({label:"Account Name",placeholder:"storageaccount",optionRegex:"(azure.?account|account.?name|storage.?account)"})),account_key:f().optional().describe(d.of({label:"Account Key",inputType:"password",optionRegex:"(azure.?key|account.?key|storage.?key)"}))}).describe(d.of({direction:"two-columns"})),at=_({type:x("coreweave"),bucket:f().nonempty().describe(d.of({label:"Bucket",placeholder:"bucket-name"})),region:f().nonempty().describe(d.of({label:"Region",placeholder:"US-EAST-04A"})),auth:st()}).describe(d.of({direction:"two-columns"})),ct=_({type:x("gdrive"),credentials_json:f().optional().describe(d.of({label:"Service Account JSON",description:"Leave empty to use browser-based authentication",special:"secret_textarea"}))}).describe(d.of({direction:"two-columns"})),yr=U("type",[rt,nt,ot,at,ct]),_r={obstore:"obstore",fsspec:"fsspec"};var xr=class{constructor(){V(this,"secrets",{})}get imports(){return Object.keys(this.secrets).length===0?new Set:new Set(["import os"])}print(t,e){if(e===void 0||e==="")return"";let s=`_${t}`;if(E(e)){let n=je(e);return this.secrets[s]=`os.environ.get("${n}")`,s}return`"${e}"`}formatSecrets(){return Object.keys(this.secrets).length===0?"":Object.entries(this.secrets).map(([t,e])=>`${t} = ${e}`).join(`
143
143
  `)}};function it(t,e){if((t==null?void 0:t.type)==="Container credentials")return[` container_credentials_full_uri=${e.print("container_credentials_full_uri",t.container_credentials_full_uri)},`,` container_authorization_token_file=${e.print("container_authorization_token_file",t.container_authorization_token_file)},`];let s=[];return t!=null&&t.access_key_id&&s.push(` access_key_id=${e.print("access_key_id",t.access_key_id)},`),t!=null&&t.secret_access_key&&s.push(` secret_access_key=${e.print("secret_access_key",t.secret_access_key)},`),s}function wr(t,e){let s=e.print("bucket",t.bucket),n=new Set(["from obstore.store import S3Store"]),r=[];return t.region&&r.push(` region=${e.print("region",t.region)},`),r.push(...it(t.auth,e)),t.endpoint_url&&r.push(` endpoint_url=${e.print("endpoint_url",t.endpoint_url)},`),t.allow_http&&r.push(" allow_http=True,"),{imports:n,code:y(`
144
144
  store = S3Store(${s},${r.length>0?`
145
145
  ${r.join(`
@@ -1 +1 @@
1
- import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-CMc2NsXm.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-Dr2QbDlZ.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-Bmo6cMSq.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-E3o1Uk0e.js";import"./download-U_wgQ8mC.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-DKUs0ozP.js";import{t as de}from"./useCellActionButton-CXvU9GmI.js";import"./markdown-renderer-uWTrQId1.js";import{a as pe,c as se,t as me}from"./useNotebookActions-l9NAqPKm.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as he}from"./useHotkey-DLZvrRZT.js";import"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import"./chunk-5FQGJX7Z-BEbM01OT.js";import"./html-to-image-Dm7huiQj.js";import{r as ce}from"./focus-D64hL1tZ.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as ye,c as fe,i as B,l as z,n as ue,o as J,r as be,s as ge}from"./command-Dqxie4gq.js";import{t as L}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-BgxcWTfV.js";import"./multi-icon-C2ijLyOs.js";import"./dist-CDFlR-dv.js";import"./dist-DYsXEge_.js";import"./dist-6KRysbQA.js";import"./dist-lCLEUACp.js";import"./dist-B5BlmbY-.js";import"./dist-B4sFEC9P.js";import"./dist-C6uSSUmH.js";import"./dist-C13NfWpP.js";import"./dist-1DJkf78n.js";import"./esm-DqItXpGT.js";var ke=U(),we=3;function Ce(){let e=(0,ke.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,d]=se("marimo:commands",l),s;e[1]!==o||e[2]!==d?(s=u=>{d(xe([u,...o]).slice(0,we))},e[1]=o,e[2]=d,e[3]=s):s=e[3];let r;return e[4]!==o||e[5]!==s?(r={recentCommands:o,addRecentCommand:s},e[4]=o,e[5]=s,e[6]=r):r=e[6],r}function xe(e){return[...new Set(e)]}function Q(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(o=>o.label?Q(o)?T(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var je=U();function Se(){let e=(0,je.c)(75),[l,o]=ie(),[d,s]=ae(),{saveAppConfig:r,saveUserConfig:u}=ne(),D;e[0]!==u||e[1]!==o?(D=async p=>{await u({config:p}).then(()=>{o(m=>({...m,...p}))})},e[0]=u,e[1]=o,e[2]=D):D=e[2];let t=D,F;e[3]!==r||e[4]!==s?(F=async p=>{await r({config:p}).then(()=>{s(p)})},e[3]=r,e[4]=s,e[5]=F):F=e[5];let N=F,G;if(e[6]!==d||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==N||e[11]!==t){let p;e[13]===d?p=e[14]:(p=q=>q!==d.width,e[13]=d,e[14]=p);let m;e[15]!==d||e[16]!==N?(m=q=>({label:`App config > Set width=${q}`,handle:()=>{N({...d,width:q})}}),e[15]=d,e[16]=N,e[17]=m):m=e[17];let j;e[18]!==l.display||e[19]!==t?(j={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=j):j=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let S;e[24]!==l.display||e[25]!==t?(S={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=S):S=e[26];let R=l.keymap.preset==="vim",_;e[27]!==l.keymap||e[28]!==t?(_=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=_):_=e[29];let v;e[30]!==R||e[31]!==_?(v={label:"Config > Switch keymap to VIM",hidden:R,handle:_},e[30]=R,e[31]=_,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",E;e[42]!==k||e[43]!==w?(E={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=E):E=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let O=l.completion.copilot==="github",I;e[48]!==C||e[49]!==O?(I={label:"Config > Enable GitHub Copilot",handle:C,hidden:O},e[48]=C,e[49]=O,e[50]=I):I=e[50];let $=!l.display.reference_highlighting,x;e[51]!==l.display||e[52]!==t?(x=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=x):x=e[53];let y;e[54]!==$||e[55]!==x?(y={label:"Config > Disable reference highlighting",hidden:$,handle:x},e[54]=$,e[55]=x,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Set cell output area: above",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.cell_output==="below",M;e[69]!==l.display||e[70]!==t?(M=()=>{t({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=t,e[71]=M):M=e[71];let P;e[72]!==f||e[73]!==M?(P={label:"Config > Set cell output area: below",hidden:f,handle:M},e[72]=f,e[73]=M,e[74]=P):P=e[74],G=[...Y().filter(p).map(m),j,b,S,v,c,E,I,y,H,A,P].filter(_e),e[6]=d,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=N,e[11]=t,e[12]=G}else G=e[12];return G}function _e(e){return!e.hidden}var ve=U(),n=W(re(),1),Ke=()=>{let e=(0,ve.c)(37),[l,o]=X(pe),d=he(),s=V(ce),r=V(oe),u;e[0]===s?u=e[1]:(u={cell:s},e[0]=s,e[1]=u);let D=de(u).flat();D=T(D);let t=Se(),F=me();F=[...T(F),...T(t)];let N=F.filter(He),G=te.keyBy(N,Ae),{recentCommands:p,addRecentCommand:m}=Ce(),j;e[2]===p?j=e[3]:(j=new Set(p),e[2]=p,e[3]=j);let b=j,S;e[4]!==r||e[5]!==o?(S=i=>{Z(r.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Me))},e[4]=r,e[5]=o,e[6]=S):S=e[6],ee(document,"keydown",S);let R;e[7]!==m||e[8]!==r||e[9]!==d||e[10]!==o?(R=(i,a)=>{let A=d[i];if(!A)return null;let f=r.getHotkey(i);return(0,n.jsxs)(J,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,n.jsxs)("span",{children:[f.name,a.tooltip&&(0,n.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:f.key})})]},i)},e[7]=m,e[8]=r,e[9]=d,e[10]=o,e[11]=R):R=e[11];let _=R,v;e[12]!==m||e[13]!==r||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:M,additionalKeywords:P}=i,q=f===void 0?{}:f;return(0,n.jsxs)(J,{disabled:q.disabled,keywords:P,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,n.jsxs)("span",{children:[a,q.tooltip&&(0,n.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),M&&(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:r.getHotkey(M).key})})]},a)},e[12]=m,e[13]=r,e[14]=o,e[15]=v):v=e[15];let K=v,g=ue,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)(ye,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=ge,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)(be,{children:"No results found."}),e[17]=w):w=e[17];let E=p.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(B,{heading:"Recently Used",children:p.map(i=>{let a=G[i];return le(i)?_(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!Q(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,n.jsx)(fe,{})]}),C=B,O=r.iterate().map(i=>{if(b.has(i))return null;let a=G[i];return _(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),I=N.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),$;e[18]!==b||e[19]!==K?($=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=$):$=e[20];let x=D.map($),y;e[21]!==C||e[22]!==I||e[23]!==x||e[24]!==O?(y=(0,n.jsxs)(C,{heading:"Commands",children:[O,I,x]}),e[21]=C,e[22]=I,e[23]=x,e[24]=O,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==E?(h=(0,n.jsxs)(k,{children:[w,E,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=E,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,n.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function He(e){return!e.hotkey}function Ae(e){return e.label}function Me(e){return!e}export{Ke as default};
1
+ import{s as W}from"./chunk-LvLJmgfZ.js";import{l as X,u as V}from"./useEvent-D91BmmQi.js";import"./react-Bj1aDYRI.js";import"./cells-CMc2NsXm.js";import"./react-dom-CSu739Rf.js";import{t as U}from"./compiler-runtime-B3qBwwSJ.js";import{S as Y}from"./ai-model-dropdown-Dr2QbDlZ.js";import{m as Z,t as ee,u as le}from"./useEventListener-C0195JsF.js";import{t as te}from"./objects-BlG0ZrO0.js";import{C as ie,S as ae,g as oe}from"./utils-BWBBpCkT.js";import"./readonly-python-code-Bmo6cMSq.js";import{t as re}from"./jsx-runtime-Blw4afVn.js";import"./fullscreen-CTDqNQr6.js";import"./popover-Bcz1Zikb.js";import"./JsonOutput-E3o1Uk0e.js";import"./download-U_wgQ8mC.js";import"./dist-12S8I4CH.js";import"./cjs-D5tzp-Y6.js";import"./main-BNL5rxQw.js";import"./useNonce-CbdaHKzX.js";import{r as ne}from"./requests-9-v2bhoi.js";import"./layout-DKUs0ozP.js";import{t as de}from"./useCellActionButton-CXvU9GmI.js";import"./markdown-renderer-uWTrQId1.js";import{a as pe,c as se,t as me}from"./useNotebookActions-D476fP35.js";import"./dist-DcwTQG1A.js";import"./dist-DnjsPBRJ.js";import"./dist-BJZAIIze.js";import"./dist-aRc_dRed.js";import"./dist-CPjTeT8p.js";import"./session-BmukRjSi.js";import"./purify.es-CWmnYhGI.js";import"./dates-C2LWzsCZ.js";import{n as he}from"./useHotkey-DLZvrRZT.js";import"./share-852X_cqy.js";import"./tooltip-B7U4xkIN.js";import"./vega-loader.browser-Dun7Qe4B.js";import"./defaultLocale-DOVIEEPN.js";import"./defaultLocale-BUCH2FMc.js";import"./chunk-5FQGJX7Z-BEbM01OT.js";import"./html-to-image-Dm7huiQj.js";import{r as ce}from"./focus-D64hL1tZ.js";import"./react-resizable-panels.browser.esm-Z-MD3n3J.js";import{a as ye,c as fe,i as B,l as z,n as ue,o as J,r as be,s as ge}from"./command-Dqxie4gq.js";import{t as L}from"./renderShortcut-Bl8_FVn8.js";import"./esm-B30N1GS0.js";import"./name-cell-input-BgxcWTfV.js";import"./multi-icon-C2ijLyOs.js";import"./dist-CDFlR-dv.js";import"./dist-DYsXEge_.js";import"./dist-6KRysbQA.js";import"./dist-lCLEUACp.js";import"./dist-B5BlmbY-.js";import"./dist-B4sFEC9P.js";import"./dist-C6uSSUmH.js";import"./dist-C13NfWpP.js";import"./dist-1DJkf78n.js";import"./esm-DqItXpGT.js";var ke=U(),we=3;function Ce(){let e=(0,ke.c)(7),l;e[0]===Symbol.for("react.memo_cache_sentinel")?(l=[],e[0]=l):l=e[0];let[o,d]=se("marimo:commands",l),s;e[1]!==o||e[2]!==d?(s=u=>{d(xe([u,...o]).slice(0,we))},e[1]=o,e[2]=d,e[3]=s):s=e[3];let r;return e[4]!==o||e[5]!==s?(r={recentCommands:o,addRecentCommand:s},e[4]=o,e[5]=s,e[6]=r):r=e[6],r}function xe(e){return[...new Set(e)]}function Q(e){return e.dropdown!==void 0}function T(e,l=""){return e.flatMap(o=>o.label?Q(o)?T(o.dropdown,`${l+o.label} > `):{...o,label:l+o.label,additionalKeywords:o.additionalKeywords}:[])}var je=U();function Se(){let e=(0,je.c)(75),[l,o]=ie(),[d,s]=ae(),{saveAppConfig:r,saveUserConfig:u}=ne(),D;e[0]!==u||e[1]!==o?(D=async p=>{await u({config:p}).then(()=>{o(m=>({...m,...p}))})},e[0]=u,e[1]=o,e[2]=D):D=e[2];let t=D,F;e[3]!==r||e[4]!==s?(F=async p=>{await r({config:p}).then(()=>{s(p)})},e[3]=r,e[4]=s,e[5]=F):F=e[5];let N=F,G;if(e[6]!==d||e[7]!==l.completion||e[8]!==l.display||e[9]!==l.keymap||e[10]!==N||e[11]!==t){let p;e[13]===d?p=e[14]:(p=q=>q!==d.width,e[13]=d,e[14]=p);let m;e[15]!==d||e[16]!==N?(m=q=>({label:`App config > Set width=${q}`,handle:()=>{N({...d,width:q})}}),e[15]=d,e[16]=N,e[17]=m):m=e[17];let j;e[18]!==l.display||e[19]!==t?(j={label:"Config > Set theme: dark",handle:()=>{t({display:{...l.display,theme:"dark"}})}},e[18]=l.display,e[19]=t,e[20]=j):j=e[20];let b;e[21]!==l.display||e[22]!==t?(b={label:"Config > Set theme: light",handle:()=>{t({display:{...l.display,theme:"light"}})}},e[21]=l.display,e[22]=t,e[23]=b):b=e[23];let S;e[24]!==l.display||e[25]!==t?(S={label:"Config > Set theme: system",handle:()=>{t({display:{...l.display,theme:"system"}})}},e[24]=l.display,e[25]=t,e[26]=S):S=e[26];let R=l.keymap.preset==="vim",_;e[27]!==l.keymap||e[28]!==t?(_=()=>{t({keymap:{...l.keymap,preset:"vim"}})},e[27]=l.keymap,e[28]=t,e[29]=_):_=e[29];let v;e[30]!==R||e[31]!==_?(v={label:"Config > Switch keymap to VIM",hidden:R,handle:_},e[30]=R,e[31]=_,e[32]=v):v=e[32];let K=l.keymap.preset==="default",g;e[33]!==l.keymap||e[34]!==t?(g=()=>{t({keymap:{...l.keymap,preset:"default"}})},e[33]=l.keymap,e[34]=t,e[35]=g):g=e[35];let c;e[36]!==K||e[37]!==g?(c={label:"Config > Switch keymap to default (current: VIM)",hidden:K,handle:g},e[36]=K,e[37]=g,e[38]=c):c=e[38];let k;e[39]!==l.completion||e[40]!==t?(k=()=>{t({completion:{...l.completion,copilot:!1}})},e[39]=l.completion,e[40]=t,e[41]=k):k=e[41];let w=l.completion.copilot!=="github",E;e[42]!==k||e[43]!==w?(E={label:"Config > Disable GitHub Copilot",handle:k,hidden:w},e[42]=k,e[43]=w,e[44]=E):E=e[44];let C;e[45]!==l.completion||e[46]!==t?(C=()=>{t({completion:{...l.completion,copilot:"github"}})},e[45]=l.completion,e[46]=t,e[47]=C):C=e[47];let O=l.completion.copilot==="github",I;e[48]!==C||e[49]!==O?(I={label:"Config > Enable GitHub Copilot",handle:C,hidden:O},e[48]=C,e[49]=O,e[50]=I):I=e[50];let $=!l.display.reference_highlighting,x;e[51]!==l.display||e[52]!==t?(x=()=>{t({display:{...l.display,reference_highlighting:!1}})},e[51]=l.display,e[52]=t,e[53]=x):x=e[53];let y;e[54]!==$||e[55]!==x?(y={label:"Config > Disable reference highlighting",hidden:$,handle:x},e[54]=$,e[55]=x,e[56]=y):y=e[56];let h;e[57]!==l.display||e[58]!==t?(h=()=>{t({display:{...l.display,reference_highlighting:!0}})},e[57]=l.display,e[58]=t,e[59]=h):h=e[59];let H;e[60]!==l.display.reference_highlighting||e[61]!==h?(H={label:"Config > Enable reference highlighting",hidden:l.display.reference_highlighting,handle:h},e[60]=l.display.reference_highlighting,e[61]=h,e[62]=H):H=e[62];let i=l.display.cell_output==="above",a;e[63]!==l.display||e[64]!==t?(a=()=>{t({display:{...l.display,cell_output:"above"}})},e[63]=l.display,e[64]=t,e[65]=a):a=e[65];let A;e[66]!==i||e[67]!==a?(A={label:"Config > Set cell output area: above",hidden:i,handle:a},e[66]=i,e[67]=a,e[68]=A):A=e[68];let f=l.display.cell_output==="below",M;e[69]!==l.display||e[70]!==t?(M=()=>{t({display:{...l.display,cell_output:"below"}})},e[69]=l.display,e[70]=t,e[71]=M):M=e[71];let P;e[72]!==f||e[73]!==M?(P={label:"Config > Set cell output area: below",hidden:f,handle:M},e[72]=f,e[73]=M,e[74]=P):P=e[74],G=[...Y().filter(p).map(m),j,b,S,v,c,E,I,y,H,A,P].filter(_e),e[6]=d,e[7]=l.completion,e[8]=l.display,e[9]=l.keymap,e[10]=N,e[11]=t,e[12]=G}else G=e[12];return G}function _e(e){return!e.hidden}var ve=U(),n=W(re(),1),Ke=()=>{let e=(0,ve.c)(37),[l,o]=X(pe),d=he(),s=V(ce),r=V(oe),u;e[0]===s?u=e[1]:(u={cell:s},e[0]=s,e[1]=u);let D=de(u).flat();D=T(D);let t=Se(),F=me();F=[...T(F),...T(t)];let N=F.filter(He),G=te.keyBy(N,Ae),{recentCommands:p,addRecentCommand:m}=Ce(),j;e[2]===p?j=e[3]:(j=new Set(p),e[2]=p,e[3]=j);let b=j,S;e[4]!==r||e[5]!==o?(S=i=>{Z(r.getHotkey("global.commandPalette").key)(i)&&(i.preventDefault(),o(Me))},e[4]=r,e[5]=o,e[6]=S):S=e[6],ee(document,"keydown",S);let R;e[7]!==m||e[8]!==r||e[9]!==d||e[10]!==o?(R=(i,a)=>{let A=d[i];if(!A)return null;let f=r.getHotkey(i);return(0,n.jsxs)(J,{disabled:a.disabled,keywords:f.additionalKeywords,onSelect:()=>{m(i),o(!1),requestAnimationFrame(()=>{A()})},value:f.name,children:[(0,n.jsxs)("span",{children:[f.name,a.tooltip&&(0,n.jsx)("span",{className:"ml-2",children:a.tooltip})]}),(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:f.key})})]},i)},e[7]=m,e[8]=r,e[9]=d,e[10]=o,e[11]=R):R=e[11];let _=R,v;e[12]!==m||e[13]!==r||e[14]!==o?(v=i=>{let{label:a,handle:A,props:f,hotkey:M,additionalKeywords:P}=i,q=f===void 0?{}:f;return(0,n.jsxs)(J,{disabled:q.disabled,keywords:P,onSelect:()=>{m(a),o(!1),requestAnimationFrame(()=>{A()})},value:a,children:[(0,n.jsxs)("span",{children:[a,q.tooltip&&(0,n.jsxs)("span",{className:"ml-2",children:["(",q.tooltip,")"]})]}),M&&(0,n.jsx)(z,{children:(0,n.jsx)(L,{shortcut:r.getHotkey(M).key})})]},a)},e[12]=m,e[13]=r,e[14]=o,e[15]=v):v=e[15];let K=v,g=ue,c;e[16]===Symbol.for("react.memo_cache_sentinel")?(c=(0,n.jsx)(ye,{placeholder:"Type to search..."}),e[16]=c):c=e[16];let k=ge,w;e[17]===Symbol.for("react.memo_cache_sentinel")?(w=(0,n.jsx)(be,{children:"No results found."}),e[17]=w):w=e[17];let E=p.length>0&&(0,n.jsxs)(n.Fragment,{children:[(0,n.jsx)(B,{heading:"Recently Used",children:p.map(i=>{let a=G[i];return le(i)?_(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip}):a&&!Q(a)?K({label:a.label,handle:a.handleHeadless||a.handle,props:{disabled:a.disabled,tooltip:a.tooltip},additionalKeywords:a.additionalKeywords}):null})}),(0,n.jsx)(fe,{})]}),C=B,O=r.iterate().map(i=>{if(b.has(i))return null;let a=G[i];return _(i,{disabled:a==null?void 0:a.disabled,tooltip:a==null?void 0:a.tooltip})}),I=N.map(i=>b.has(i.label)?null:K({label:i.label,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords})),$;e[18]!==b||e[19]!==K?($=i=>b.has(i.label)?null:K({label:`Cell > ${i.label}`,handle:i.handleHeadless||i.handle,props:{disabled:i.disabled,tooltip:i.tooltip},additionalKeywords:i.additionalKeywords}),e[18]=b,e[19]=K,e[20]=$):$=e[20];let x=D.map($),y;e[21]!==C||e[22]!==I||e[23]!==x||e[24]!==O?(y=(0,n.jsxs)(C,{heading:"Commands",children:[O,I,x]}),e[21]=C,e[22]=I,e[23]=x,e[24]=O,e[25]=y):y=e[25];let h;e[26]!==k||e[27]!==y||e[28]!==w||e[29]!==E?(h=(0,n.jsxs)(k,{children:[w,E,y]}),e[26]=k,e[27]=y,e[28]=w,e[29]=E,e[30]=h):h=e[30];let H;return e[31]!==g||e[32]!==l||e[33]!==o||e[34]!==h||e[35]!==c?(H=(0,n.jsxs)(g,{open:l,onOpenChange:o,children:[c,h]}),e[31]=g,e[32]=l,e[33]=o,e[34]=h,e[35]=c,e[36]=H):H=e[36],H};function He(e){return!e.hotkey}function Ae(e){return e.label}function Me(e){return!e}export{Ke as default};