@marimo-team/frontend 0.25.3-dev134 → 0.25.3-dev135
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.
- package/dist/assets/{CellStatus-DC6FFQOg.js → CellStatus-Bu_cFOaf.js} +1 -1
- package/dist/assets/{ErrorBoundary-Ce-Ujlwj.js → ErrorBoundary-Cy4lxM4U.js} +2 -2
- package/dist/assets/{JsonOutput-CfEBzaqW.js → JsonOutput-Dnd0uzN4.js} +5 -5
- package/dist/assets/{MarimoErrorOutput-Bh6o9zle.js → MarimoErrorOutput-DWgmERpO.js} +4 -4
- package/dist/assets/{RenderHTML-COGZsXQV.js → RenderHTML-BuZ8DdVv.js} +2 -2
- package/dist/assets/{RunButton-DQ51plUv.js → RunButton-BXXDV5w-.js} +1 -1
- package/dist/assets/{add-cell-with-ai-D7gtGUsg.js → add-cell-with-ai-DYahRMb_.js} +26 -26
- package/dist/assets/{add-connection-dialog-CpMCc97S.js → add-connection-dialog-CjRaQbDW.js} +51 -51
- package/dist/assets/{agent-panel-BSFYqJ9B.js → agent-panel-Cb9PZdDM.js} +3 -3
- package/dist/assets/ai-model-dropdown-Bbr2oylS.js +13 -0
- package/dist/assets/{app-config-button-Cfcg_5Bz.js → app-config-button-CPNc_---.js} +1 -1
- package/dist/assets/{blob-CszMu60N.js → blob-CQAkRxR1.js} +1 -1
- package/dist/assets/cell-editor-CjvWSYDB.js +42 -0
- package/dist/assets/{cell-link-Cj0gGaMV.js → cell-link-DIOanEQB.js} +1 -1
- package/dist/assets/{cells-SvbLY10y.js → cells-lwP9-xsQ.js} +41 -41
- package/dist/assets/{chat-display-D43_g3TX.js → chat-display-DpCQoui-.js} +1 -1
- package/dist/assets/{chat-panel-B_HAJMwx.js → chat-panel-C79_pWxF.js} +2 -2
- package/dist/assets/{chat-ui-BEcYCphu.js → chat-ui-DOOiaOcb.js} +1 -1
- package/dist/assets/{column-preview-CrzaJKk8.js → column-preview-DIvrCqra.js} +1 -1
- package/dist/assets/{command-palette-Bm9yIVcD.js → command-palette-BYgBVslq.js} +1 -1
- package/dist/assets/{common-BJyUxCzv.js → common-B7U2CeDc.js} +1 -1
- package/dist/assets/{components-D1f_Cz4i.js → components-Vz1pD133.js} +1 -1
- package/dist/assets/{datasource-C8KSVfSD.js → datasource-Bp8TnG7a.js} +2 -2
- package/dist/assets/{dependency-graph-panel-BhmyJbUl.js → dependency-graph-panel-B31-YcSF.js} +3 -3
- package/dist/assets/{documentation-panel-DcVG0Q0d.js → documentation-panel-C2MJwSef.js} +1 -1
- package/dist/assets/{download-Bx52VRE4.js → download-J6sWXUJR.js} +1 -1
- package/dist/assets/{edit-page-DUrwOHR-.js → edit-page-DfxHDnWP.js} +6 -6
- package/dist/assets/{error-entries-11OuHzUF.js → error-entries-BcRbOxwK.js} +1 -1
- package/dist/assets/{error-panel-XJy5S25F.js → error-panel-jZlFCjdy.js} +1 -1
- package/dist/assets/feedback-button-94vZrmBy.js +1 -0
- package/dist/assets/{feedback-button-B7jh_B4w.js → feedback-button-C2XmZw_y.js} +2 -2
- package/dist/assets/{file-explorer-panel-CnVxbF4A.js → file-explorer-panel-Cg9UovsS.js} +1 -1
- package/dist/assets/{file-name-input-BJuqjQqH.js → file-name-input-y9ggAMGJ.js} +1 -1
- package/dist/assets/{floating-outline-8yyZ-MOJ.js → floating-outline-CE1olGl0.js} +1 -1
- package/dist/assets/{gallery-page-DJvGHePf.js → gallery-page-ClEnoAT-.js} +1 -1
- package/dist/assets/{glide-data-editor-Cyc8DHZx.js → glide-data-editor-Cp0q28Zz.js} +1 -1
- package/dist/assets/{home-page-tRZJmSU6.js → home-page-DJsI6Od_.js} +1 -1
- package/dist/assets/{hooks-CxGwybGw.js → hooks-DGSryuSD.js} +1 -1
- package/dist/assets/{index-CoxbqhGH.js → index-BjNf54kO.js} +7 -7
- package/dist/assets/{layout-DvXJxBiL.js → layout-DRVIFud8.js} +5 -5
- package/dist/assets/{logs-panel-KtsY7TrR.js → logs-panel-Db38azhc.js} +1 -1
- package/dist/assets/{markdown-renderer-DUgV7_fm.js → markdown-renderer-D2td9eFc.js} +1 -1
- package/dist/assets/{name-cell-input-C3-Cj-Ek.js → name-cell-input-CJpi0Kvu.js} +1 -1
- package/dist/assets/{outline-panel-BzyY4JA6.js → outline-panel-DxQKP4eN.js} +1 -1
- package/dist/assets/{packages-panel-DxosbWko.js → packages-panel-BFzN4mNb.js} +1 -1
- package/dist/assets/{panel-accordion-state-BRbTib2B.js → panel-accordion-state-D3RiRniG.js} +1 -1
- package/dist/assets/panels-CpUpLOy4.js +1 -0
- package/dist/assets/{process-output-CSwx7rvo.js → process-output-B6v1FE29.js} +1 -1
- package/dist/assets/{readonly-code-display-B9y9423Y.js → readonly-code-display-Deg2hzFh.js} +1 -1
- package/dist/assets/{readonly-python-code-Dgw6trlk.js → readonly-python-code-DPGknu49.js} +1 -1
- package/dist/assets/{reveal-component-B9A4wkG-.js → reveal-component-CXkDpGxy.js} +2 -2
- package/dist/assets/{run-page-C1MQ5b_A.js → run-page-qp2KKYgs.js} +1 -1
- package/dist/assets/{runtime-details-state-D_hOQL9T.js → runtime-details-state-BiGF299n.js} +1 -1
- package/dist/assets/{scratchpad-panel-CBCsPmMW.js → scratchpad-panel-QV0lacAe.js} +1 -1
- package/dist/assets/session-panel-CrWluawa.js +1 -0
- package/dist/assets/{snippets-panel-C0VDE_4i.js → snippets-panel-CM7g9b6c.js} +1 -1
- package/dist/assets/{state-DrraMmqz.js → state-DhMztz1E.js} +1 -1
- package/dist/assets/{state-DvU2AiFx.js → state-lEPoZS4k.js} +4 -4
- package/dist/assets/{tracing-C5d51Nmi.js → tracing-DRA8maZB.js} +1 -1
- package/dist/assets/{tracing-panel-B89R8dWE.js → tracing-panel-DLxPRadV.js} +2 -2
- package/dist/assets/{tree-actions-Cph8FVzh.js → tree-actions-COtU5qy_.js} +1 -1
- package/dist/assets/{useAddCell-VPkB72pn.js → useAddCell-BAEOA87M.js} +1 -1
- package/dist/assets/{useCellActionButton--zI3GFnt.js → useCellActionButton-BobjsJfu.js} +1 -1
- package/dist/assets/{useDeleteCell-CjewKeSr.js → useDeleteCell-gedazkBF.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-Bt_ka-wl.js → useDependencyPanelTab-DAJ6BOUm.js} +1 -1
- package/dist/assets/useNotebookActions-CnLArLoz.js +1 -0
- package/dist/assets/{useRunCells-BupCZpzk.js → useRunCells-CUknep7p.js} +1 -1
- package/dist/assets/{useSplitCell-CaLIR0TS.js → useSplitCell-DeXniINv.js} +1 -1
- package/dist/index.html +20 -20
- package/package.json +1 -1
- package/src/components/datasources/__tests__/column-preview.test.tsx +35 -3
- package/src/components/datasources/__tests__/datasources-interactions.test.tsx +181 -0
- package/src/components/datasources/__tests__/utils.test.ts +57 -6
- package/src/components/datasources/column-preview.tsx +5 -2
- package/src/components/datasources/datasources.tsx +3 -4
- package/src/components/datasources/utils.ts +32 -23
- package/dist/assets/ai-model-dropdown-D575Vid8.js +0 -13
- package/dist/assets/cell-editor-BLpOlLnM.js +0 -42
- package/dist/assets/feedback-button-C-eKtxXE.js +0 -1
- package/dist/assets/panels-Da3071Q4.js +0 -1
- package/dist/assets/session-panel-CiHCKPlx.js +0 -1
- package/dist/assets/useNotebookActions-DV2S6KaG.js +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{$t as r,Bn as i,En as a,On as o,Xt as s,Yt as c,Zt as l,cn as u,dn as d,en as f,nn as p,tn as m,un as h}from"./cells-SvbLY10y.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{D as _,O as v,S as y}from"./config-CXnC3MRv.js";import{M as b}from"./config-7IjqNuVp.js";import{t as x}from"./jsx-runtime-B74pBk57.js";import{o as S}from"./alert-dialog-8YiYLrfr.js";import{l as C}from"./select-CgWQvW1F.js";import{c as w}from"./switch-D2gdC_ep.js";import{t as T}from"./tooltip-B5lAA_jn.js";import{t as E}from"./button-Cl7haVNh.js";import{t as D}from"./createLucideIcon-DfJ2oMlA.js";import{d as O,f as k,i as A,k as j,n as M,u as N}from"./ai-model-dropdown-D575Vid8.js";import{r as P}from"./useNumberFormatter-D7O_26UI.js";import{b as F,p as I}from"./write-secret-modal-CBi2vNK_.js";import{Jt as L,Yt as R,nn as ee,r as z,tn as B}from"./input-DLA5Dhn3.js";import{t as V}from"./settings-BpdQZRgT.js";import{t as te}from"./use-toast-Wu434mLr.js";import{s as H}from"./arrays-0R2reF2y.js";import{r as U}from"./requests-BIFR-h4M.js";import{r as ne}from"./useDebounce-DwTQ_1Pu.js";import{t as W}from"./kbd-pdKBv96t.js";import{t as G}from"./Inputs-BsQm29hD.js";var K=D(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),q=g(),J=x(),Y=e=>{let t=(0,q.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=F(),{sendShutdown:l}=U(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(X,200)},t[0]=l,t[1]=u);let d=u;if(b())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,J.jsx)(S,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(P,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,J.jsx)(G,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,J.jsx)(T,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function X(){window.close()}var Z=e(n(),1),re=100,ie=()=>{let e=(0,q.c)(37),[t,n]=y(),{saveAppConfig:u}=U(),d=(0,Z.useId)(),h=(0,Z.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=a(_),e[0]=g):g=e[0];let v;e[1]===t?v=e[2]:(v={resolver:g,defaultValues:t},e[1]=t,e[2]=v);let b=o(v),x;e[3]!==u||e[4]!==n?(x=async e=>{await u({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=u,e[4]=n,e[5]=x):x=e[5];let S=x,C;e[6]===S?C=e[7]:(C=e=>{S(e)},e[6]=S,e[7]=C);let w=ne(C,re),T;e[8]===t.width?T=e[9]:(T=[t.width],e[8]=t.width,e[9]=T),(0,Z.useEffect)(ae,T);let E;e[10]!==w||e[11]!==b?(E=b.handleSubmit(w),e[10]=w,e[11]=b,e[12]=E):E=e[12];let D;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,J.jsxs)(`div`,{children:[(0,J.jsx)(k,{children:`Notebook Settings`}),(0,J.jsx)(O,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=D):D=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,J.jsxs)(Q,{title:`Display`,children:[(0,J.jsx)(r,{control:b.control,name:`width`,render:se}),(0,J.jsx)(r,{control:b.control,name:`app_title`,render:$})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,J.jsxs)(Q,{title:`Custom Files`,children:[(0,J.jsx)(r,{control:b.control,name:`css_file`,render:ce}),(0,J.jsx)(r,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let M;e[18]===b.control?M=e[19]:(M=(0,J.jsx)(Q,{title:`Data`,children:(0,J.jsx)(r,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=M);let N;e[20]!==d||e[21]!==h?(N=e=>{let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(s,{children:(0,J.jsxs)(`div`,{className:`flex gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,J.jsx)(i,{id:d,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(H(t.value,`html`))}}),(0,J.jsx)(m,{htmlFor:d,children:`HTML`})]}),(0,J.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,J.jsx)(i,{id:h,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(H(t.value,`ipynb`))}}),(0,J.jsx)(m,{htmlFor:h,children:`IPYNB`})]})]})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,J.jsx)(W,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=d,e[21]=h,e[22]=N):N=e[22];let P;e[23]!==b.control||e[24]!==N?(P=(0,J.jsx)(Q,{title:`Exporting outputs`,children:(0,J.jsx)(r,{control:b.control,name:`auto_download`,render:N})}),e[23]=b.control,e[24]=N,e[25]=P):P=e[25];let F;e[26]!==P||e[27]!==A||e[28]!==j||e[29]!==M?(F=(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,M,P]}),e[26]=P,e[27]=A,e[28]=j,e[29]=M,e[30]=F):F=e[30];let I;e[31]!==F||e[32]!==E?(I=(0,J.jsxs)(`form`,{onChange:E,className:`flex flex-col gap-6`,children:[D,F]}),e[31]=F,e[32]=E,e[33]=I):I=e[33];let L;return e[34]!==b||e[35]!==I?(L=(0,J.jsx)(c,{...b,children:I}),e[34]=b,e[35]=I,e[36]=L):L=e[36],L},Q=e=>{let t=(0,q.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,J.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ae(){window.dispatchEvent(new Event(`resize`))}function oe(e){return(0,J.jsx)(`option`,{value:e,children:e},e)}function se(e){let{field:t}=e;return(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`Width`}),(0,J.jsx)(s,{children:(0,J.jsx)(C,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:j().map(oe)})}),(0,J.jsx)(p,{})]})}function $(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`App title`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsx)(l,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsx)(l,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,J.jsx)(W,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,J.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`SQL Output Type`}),(0,J.jsx)(s,{children:(0,J.jsx)(C,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),te({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:N.map(ue)})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,J.jsx)(W,{className:`inline`,children:`native`}),`. See the`,` `,(0,J.jsx)(I,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,q.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,o=r===void 0||r,s=i!==void 0&&i,c=a===void 0?`Settings`:a,[l,f]=t(M),p=s?`disabled`:`hint-green`,m;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(V,{strokeWidth:1.8}),n[0]=m):m=n[0];let g;n[1]===c?g=n[2]:(g=(0,J.jsx)(T,{content:c,children:m}),n[1]=c,n[2]=g);let _;n[3]!==s||n[4]!==p||n[5]!==g?(_=(0,J.jsx)(G,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:s,color:p,children:g}),n[3]=s,n[4]=p,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsxs)(R,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,J.jsx)(w,{children:(0,J.jsx)(B,{children:`User settings`})}),(0,J.jsx)(A,{})]}),n[7]=y):y=n[7];let b=y;if(!o){let e;n[8]===v?e=n[9]:(e=(0,J.jsx)(ee,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==f||n[11]!==l||n[12]!==e?(t=(0,J.jsxs)(L,{open:l,onOpenChange:f,children:[e,b]}),n[10]=f,n[11]=l,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,J.jsx)(d,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,C;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(ie,{}),C=(0,J.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=C):(S=n[16],C=n[17]);let D;n[18]===f?D=n[19]:(D=()=>f(!0),n[18]=f,n[19]=D);let O;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(V,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=O):O=n[20];let k;n[21]===D?k=n[22]:(k=(0,J.jsxs)(h,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,C,(0,J.jsxs)(E,{onClick:D,variant:`link`,className:`px-0`,children:[O,`User settings`]})]}),n[21]=D,n[22]=k);let j;n[23]!==k||n[24]!==x?(j=(0,J.jsxs)(u,{children:[x,k]}),n[23]=k,n[24]=x,n[25]=j):j=n[25];let N;n[26]!==f||n[27]!==l?(N=(0,J.jsx)(L,{open:l,onOpenChange:f,children:b}),n[26]=f,n[27]=l,n[28]=N):N=n[28];let P;return n[29]!==j||n[30]!==N?(P=(0,J.jsxs)(J.Fragment,{children:[j,N]}),n[29]=j,n[30]=N,n[31]=P):P=n[31],P};function pe(e){return e.preventDefault()}export{Y as n,K as r,fe as t};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-BDjgaBtz.js";import{t as n}from"./react-DVplv7_D.js";import{$t as r,Bn as i,En as a,On as o,Xt as s,Yt as c,Zt as l,cn as u,dn as d,en as f,nn as p,tn as m,un as h}from"./cells-lwP9-xsQ.js";import{t as g}from"./compiler-runtime-BrajqUja.js";import{D as _,O as v,S as y}from"./config-CXnC3MRv.js";import{M as b}from"./config-7IjqNuVp.js";import{t as x}from"./jsx-runtime-B74pBk57.js";import{o as S}from"./alert-dialog-8YiYLrfr.js";import{l as C}from"./select-CgWQvW1F.js";import{c as w}from"./switch-D2gdC_ep.js";import{t as T}from"./tooltip-B5lAA_jn.js";import{t as E}from"./button-Cl7haVNh.js";import{t as D}from"./createLucideIcon-DfJ2oMlA.js";import{d as O,f as k,i as A,k as j,n as M,u as N}from"./ai-model-dropdown-Bbr2oylS.js";import{r as P}from"./useNumberFormatter-D7O_26UI.js";import{b as F,p as I}from"./write-secret-modal-CBi2vNK_.js";import{Jt as L,Yt as R,nn as ee,r as z,tn as B}from"./input-DLA5Dhn3.js";import{t as V}from"./settings-BpdQZRgT.js";import{t as te}from"./use-toast-Wu434mLr.js";import{s as H}from"./arrays-0R2reF2y.js";import{r as U}from"./requests-BIFR-h4M.js";import{r as ne}from"./useDebounce-DwTQ_1Pu.js";import{t as W}from"./kbd-pdKBv96t.js";import{t as G}from"./Inputs-BsQm29hD.js";var K=D(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),q=g(),J=x(),Y=e=>{let t=(0,q.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=F(),{sendShutdown:l}=U(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(X,200)},t[0]=l,t[1]=u);let d=u;if(b())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,J.jsx)(S,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(P,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,J.jsx)(G,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,J.jsx)(T,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function X(){window.close()}var Z=e(n(),1),re=100,ie=()=>{let e=(0,q.c)(37),[t,n]=y(),{saveAppConfig:u}=U(),d=(0,Z.useId)(),h=(0,Z.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=a(_),e[0]=g):g=e[0];let v;e[1]===t?v=e[2]:(v={resolver:g,defaultValues:t},e[1]=t,e[2]=v);let b=o(v),x;e[3]!==u||e[4]!==n?(x=async e=>{await u({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=u,e[4]=n,e[5]=x):x=e[5];let S=x,C;e[6]===S?C=e[7]:(C=e=>{S(e)},e[6]=S,e[7]=C);let w=ne(C,re),T;e[8]===t.width?T=e[9]:(T=[t.width],e[8]=t.width,e[9]=T),(0,Z.useEffect)(ae,T);let E;e[10]!==w||e[11]!==b?(E=b.handleSubmit(w),e[10]=w,e[11]=b,e[12]=E):E=e[12];let D;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,J.jsxs)(`div`,{children:[(0,J.jsx)(k,{children:`Notebook Settings`}),(0,J.jsx)(O,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=D):D=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,J.jsxs)(Q,{title:`Display`,children:[(0,J.jsx)(r,{control:b.control,name:`width`,render:se}),(0,J.jsx)(r,{control:b.control,name:`app_title`,render:$})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,J.jsxs)(Q,{title:`Custom Files`,children:[(0,J.jsx)(r,{control:b.control,name:`css_file`,render:ce}),(0,J.jsx)(r,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let M;e[18]===b.control?M=e[19]:(M=(0,J.jsx)(Q,{title:`Data`,children:(0,J.jsx)(r,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=M);let N;e[20]!==d||e[21]!==h?(N=e=>{let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,J.jsx)(s,{children:(0,J.jsxs)(`div`,{className:`flex gap-4`,children:[(0,J.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,J.jsx)(i,{id:d,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(H(t.value,`html`))}}),(0,J.jsx)(m,{htmlFor:d,children:`HTML`})]}),(0,J.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,J.jsx)(i,{id:h,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(H(t.value,`ipynb`))}}),(0,J.jsx)(m,{htmlFor:h,children:`IPYNB`})]})]})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,J.jsx)(W,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=d,e[21]=h,e[22]=N):N=e[22];let P;e[23]!==b.control||e[24]!==N?(P=(0,J.jsx)(Q,{title:`Exporting outputs`,children:(0,J.jsx)(r,{control:b.control,name:`auto_download`,render:N})}),e[23]=b.control,e[24]=N,e[25]=P):P=e[25];let F;e[26]!==P||e[27]!==A||e[28]!==j||e[29]!==M?(F=(0,J.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,M,P]}),e[26]=P,e[27]=A,e[28]=j,e[29]=M,e[30]=F):F=e[30];let I;e[31]!==F||e[32]!==E?(I=(0,J.jsxs)(`form`,{onChange:E,className:`flex flex-col gap-6`,children:[D,F]}),e[31]=F,e[32]=E,e[33]=I):I=e[33];let L;return e[34]!==b||e[35]!==I?(L=(0,J.jsx)(c,{...b,children:I}),e[34]=b,e[35]=I,e[36]=L):L=e[36],L},Q=e=>{let t=(0,q.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,J.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ae(){window.dispatchEvent(new Event(`resize`))}function oe(e){return(0,J.jsx)(`option`,{value:e,children:e},e)}function se(e){let{field:t}=e;return(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`Width`}),(0,J.jsx)(s,{children:(0,J.jsx)(C,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:j().map(oe)})}),(0,J.jsx)(p,{})]})}function $(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`App title`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsx)(l,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),v.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsx)(l,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,J.jsx)(s,{children:(0,J.jsx)(z,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,J.jsx)(W,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,J.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,J.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,J.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,J.jsx)(m,{children:`SQL Output Type`}),(0,J.jsx)(s,{children:(0,J.jsx)(C,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),te({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:N.map(ue)})}),(0,J.jsx)(p,{})]}),(0,J.jsxs)(l,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,J.jsx)(W,{className:`inline`,children:`native`}),`. See the`,` `,(0,J.jsx)(I,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,q.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,o=r===void 0||r,s=i!==void 0&&i,c=a===void 0?`Settings`:a,[l,f]=t(M),p=s?`disabled`:`hint-green`,m;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,J.jsx)(V,{strokeWidth:1.8}),n[0]=m):m=n[0];let g;n[1]===c?g=n[2]:(g=(0,J.jsx)(T,{content:c,children:m}),n[1]=c,n[2]=g);let _;n[3]!==s||n[4]!==p||n[5]!==g?(_=(0,J.jsx)(G,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:s,color:p,children:g}),n[3]=s,n[4]=p,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsxs)(R,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,J.jsx)(w,{children:(0,J.jsx)(B,{children:`User settings`})}),(0,J.jsx)(A,{})]}),n[7]=y):y=n[7];let b=y;if(!o){let e;n[8]===v?e=n[9]:(e=(0,J.jsx)(ee,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==f||n[11]!==l||n[12]!==e?(t=(0,J.jsxs)(L,{open:l,onOpenChange:f,children:[e,b]}),n[10]=f,n[11]=l,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,J.jsx)(d,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,C;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,J.jsx)(ie,{}),C=(0,J.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=C):(S=n[16],C=n[17]);let D;n[18]===f?D=n[19]:(D=()=>f(!0),n[18]=f,n[19]=D);let O;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(V,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=O):O=n[20];let k;n[21]===D?k=n[22]:(k=(0,J.jsxs)(h,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,C,(0,J.jsxs)(E,{onClick:D,variant:`link`,className:`px-0`,children:[O,`User settings`]})]}),n[21]=D,n[22]=k);let j;n[23]!==k||n[24]!==x?(j=(0,J.jsxs)(u,{children:[x,k]}),n[23]=k,n[24]=x,n[25]=j):j=n[25];let N;n[26]!==f||n[27]!==l?(N=(0,J.jsx)(L,{open:l,onOpenChange:f,children:b}),n[26]=f,n[27]=l,n[28]=N):N=n[28];let P;return n[29]!==j||n[30]!==N?(P=(0,J.jsxs)(J.Fragment,{children:[j,N]}),n[29]=j,n[30]=N,n[31]=P):P=n[31],P};function pe(e){return e.preventDefault()}export{Y as n,K as r,fe as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./markdown-renderer-
|
|
1
|
+
import{a as e}from"./markdown-renderer-D2td9eFc.js";function t(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>{n(Error(`Failed to read blob: ${e.type}`))},r.readAsDataURL(e)})}function n(e){let[t,n]=e.split(`,`,2),r=/^data:(.+);base64$/.exec(t)?.[1],i=atob(n),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new Blob([o],{type:r})}function r({contents:t,mimeType:r,isBase64:i}){return i?n(e(t,r)):new Blob([t],{type:r})}export{r as n,t as r,n as t};
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-C2Fqi8D-.js","./loro_wasm_bg-Ctp2cNI9.js","./rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-BDjgaBtz.js";import{t as u}from"./react-DVplv7_D.js";import{$i as d,Ba as f,Bn as p,Br as m,Bt as h,Ci as g,Cr as _,D as v,Dr as y,Fr as b,H as x,I as S,Ir as C,Ja as w,K as T,Lr as ee,Lt as E,Mo as D,Ni as O,Nn as k,Nr as te,Pr as ne,Ri as A,Rr as j,Sa as re,Si as M,So as N,Ta as ie,U as ae,Ur as P,V as oe,Vn as se,W as ce,Wr as F,Yn as le,Zn as ue,_a as de,_i as fe,_n as pe,_t as me,ai as he,ar as ge,at as _e,b as ve,bi as ye,bt as be,ca as xe,ci as Se,cn as Ce,cr as we,d as Te,dt as Ee,ea as De,fi as Oe,fn as ke,ft as Ae,ga as je,gn as Me,gt as Ne,h as Pe,ht as Fe,i as Ie,it as Le,jr as Re,la as ze,li as Be,lr as Ve,mn as He,mt as Ue,ni as We,nr as Ge,or as Ke,ot as qe,pi as Je,po as Ye,pt as Xe,ri as Ze,rr as Qe,si as $e,sr as et,ti as tt,tr as nt,tt as rt,u as it,ui as at,un as ot,vn as st,vr as ct,vt as lt,wa as ut,wi as dt,wo as ft,xa as pt,xi as mt,yi as ht,zr as I}from"./cells-lwP9-xsQ.js";import{t as gt}from"./react-dom-_LrxgvjW.js";import{C as _t,I as vt,M as yt,N as bt,O as xt,R as St,S as Ct,b as wt}from"./schemas-ChRqMOTL.js";import{t as Tt}from"./compiler-runtime-BrajqUja.js";import{t as Et}from"./debounce-aFmHgJZY.js";import{E as Dt,_ as Ot,c as kt,g as At,h as jt,s as Mt}from"./config-CXnC3MRv.js";import{_ as Nt,c as Pt,g as Ft,m as It,t as Lt}from"./useEventListener-DPOTkksd.js";import{t as Rt}from"./invariant-Ci2dTZ72.js";import{s as zt}from"./config-BC32AAdw.js";import{d as Bt,m as Vt,t as Ht}from"./session-BHgGkjDm.js";import{D as Ut,M as Wt,S as Gt,T as Kt,_ as qt,o as Jt,p as Yt,r as Xt}from"./config-7IjqNuVp.js";import{c as Zt}from"./state-ClBFtZxn.js";import{t as Qt}from"./ErrorBoundary-Cy4lxM4U.js";import{t as $t}from"./cn-ldLVeaqm.js";import{t as en}from"./jsx-runtime-B74pBk57.js";import{Q as tn,Z as nn}from"./JsonOutput-Dnd0uzN4.js";import{d as rn}from"./select-CgWQvW1F.js";import{n as an}from"./download-J6sWXUJR.js";import{t as on}from"./switch-D2gdC_ep.js";import{t as sn}from"./tooltip-B5lAA_jn.js";import{r as cn,t as ln}from"./button-Cl7haVNh.js";import{t as un}from"./createLucideIcon-DfJ2oMlA.js";import{i as dn,n as fn}from"./paths-bkIFVj8h.js";import{r as pn}from"./layout-DRVIFud8.js";import{A as mn,C as hn,D as gn,_ as _n,j as vn,t as yn,v as bn,y as xn}from"./ai-model-dropdown-Bbr2oylS.js";import{r as Sn}from"./useNumberFormatter-D7O_26UI.js";import{t as Cn}from"./circle-check-BCurAHEb.js";import{B as wn,F as Tn,G as En,I as Dn,L as On,M as kn,R as An,T as jn,V as Mn,W as Nn,c as Pn,f as Fn,i as In,n as Ln,o as Rn,r as zn,s as Bn,w as Vn,z as Hn}from"./add-cell-with-ai-DYahRMb_.js";import{t as Un}from"./database-zap-B_PMVg8T.js";import{r as Wn,t as Gn}from"./file-icons-CdJgUy-I.js";import{t as Kn}from"./components-9p_w2C6e.js";import{b as qn}from"./write-secret-modal-CBi2vNK_.js";import{n as Jn}from"./spinner-DyNE-o8o.js";import{n as Yn,o as Xn,r as Zn}from"./readonly-python-code-DPGknu49.js";import{n as Qn,t as $n}from"./useDeleteCell-gedazkBF.js";import{t as er}from"./save-Dgoim6QF.js";import{G as tr,I as nr,Ut as rr,Xt as ir,Yt as ar,Zt as or,tn as sr}from"./input-DLA5Dhn3.js";import{n as cr}from"./copy-74EjuZso.js";import{t as lr}from"./use-toast-Wu434mLr.js";import{t as ur}from"./preload-helper-uBIymjUX.js";import{$t as dr,Ct as fr,Dt as pr,E as mr,Et as hr,Ft as gr,Gt as _r,H as vr,I as yr,It as br,Jt as xr,Kt as Sr,Ot as Cr,P as wr,Qt as L,St as Tr,Ut as Er,V as Dr,Vt as Or,Wt as kr,Xt as Ar,_ as jr,at as R,dt as Mr,gt as Nr,ht as Pr,in as Fr,jt as Ir,lt as Lr,m as Rr,ot as zr,st as z,tn as Br,ut as Vr,w as Hr,wt as Ur,zt as Wr}from"./dist-Cny7_yZb.js";import{C as Gr,E as Kr,I as qr,O as Jr,S as Yr,a as Xr,c as Zr,n as Qr,r as $r,w as ei}from"./dist-DBMV4gqt.js";import{o as ti}from"./arrays-0R2reF2y.js";import{n as ni}from"./once-6KNTRW0u.js";import{t as ri}from"./createReducer-B04CIO-e.js";import{a as ii,c as ai,f as oi,h as si,i as ci,l as li,n as ui,o as di,t as fi}from"./dist-qhAY4L2r.js";import{r as pi}from"./strings-3lNX212T.js";import{r as mi,t as hi}from"./requests-BIFR-h4M.js";import{t as gi}from"./badge-crT3E0Rm.js";import{a as _i}from"./dist-DusFODSa.js";import{r as vi}from"./useTheme-C2dnh2vM.js";import{t as yi}from"./I18nProvider-Cg2I_s1_.js";import{i as bi}from"./numbers-DJK15_4S.js";import{n as xi}from"./useAsyncData-qvoPYHtx.js";import{a as Si}from"./useRunCells-CUknep7p.js";import{l as Ci}from"./useInstallPackage-BfNKN33w.js";import{a as wi}from"./errors-CNsgAw6m.js";import{t as B}from"./extends-CvVTau-c.js";import{t as Ti}from"./objectWithoutPropertiesLoose-Do6ywDBO.js";import{t as Ei}from"./kbd-pdKBv96t.js";import{a as Di,n as Oi}from"./state-DhMztz1E.js";import{a as ki,o as Ai}from"./cell-link-DIOanEQB.js";import{a as ji}from"./renderShortcut-Bxv9ZLnD.js";import{n as Mi,t as Ni}from"./icons-CiZ_8zS-.js";import{n as Pi}from"./esm-CI_o7NhW.js";import{t as Fi}from"./dist-AelfNxj6.js";import{t as Ii}from"./skeleton-Cqh4O9g1.js";import{t as Li}from"./requests-DuLJN9Tf.js";import{n as Ri}from"./formatting-DW2u7HXI.js";import{t as zi}from"./useSplitCell-DeXniINv.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-D3RiRniG.js";import{Bo as Ui,Fo as Wi,Ho as Gi,Io as Ki,Lo as qi,No as Ji,Po as Yi,Ro as Xi,Uo as Zi,Vo as Qi,ut as $i,zo as ea}from"./loro_wasm_bg-Ctp2cNI9.js";import{t as ta}from"./Inputs-BsQm29hD.js";import{n as na}from"./hooks-DGSryuSD.js";var ra=un(`file-pen`,[[`path`,{d:`M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34`,key:`o6klzx`}],[`path`,{d:`M14 2v5a1 1 0 0 0 1 1h5`,key:`wfsgrz`}],[`path`,{d:`M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z`,key:`zhnas1`}]]),ia={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},aa=300,oa=Sr.define({combine:e=>Fr(e,{onError:console.error,inputDebounceTime:aa,keymaps:ia},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),sa=L.define(),ca=dr.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(sa))return e.value;return e}}),la=L.define(),ua=L.define(),da=dr.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(la)&&(n={...n,inputValue:e.value}),e.is(ua)&&(n={...n,shouldFocus:e.value});return n}}),fa=L.define(),pa=dr.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(fa))return e.value;return e}}),ma=L.define(),ha=dr.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=1,_a=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<ga)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[sa.of({show:!0,lineFrom:o,lineTo:s}),ua.of(!0),la.of(``)],selection:kr.cursor(i.from)}),!0},va=e=>e.state.field(pa)?(e.dispatch({effects:[fa.of(null),sa.of({show:!1,lineFrom:0,lineTo:0}),ua.of(!1),la.of(``),ma.of(!1)]}),!0):!1,ya=e=>{let t=e.state.field(pa);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[fa.of(null),sa.of({show:!1,lineFrom:0,lineTo:0}),ua.of(!1),la.of(``),ma.of(!1)]}),!0):!1},ba=dr.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(xa));if(!t.docChanged&&!n&&!t.selection)return e;if(n&&t.state.doc===n.value.doc&&t.state.selection.main.head===n.value.pos)return{suggestion:n.value.text};if(e.suggestion&&t.docChanged&&t.startState.selection.ranges.length===1&&t.startState.selection.main.empty&&t.state.selection.ranges.length===1&&t.state.selection.main.empty){let n=t.startState.selection.main.head,r=``,i=0,a=!0;if(t.changes.iterChanges((e,t,o,s,c)=>{i++,a&&=e===n&&t===n,r=c.toString()}),a&&i===1&&r&&e.suggestion.startsWith(r)&&t.state.selection.main.head===n+r.length)return{suggestion:e.suggestion.slice(r.length)||null}}return{suggestion:null}}}),xa=L.define();function Sa(e,t){let n=e.state.selection.main.head,r=[],i=R.widget({widget:new Ca(t),side:1});return r.push(i.range(n)),R.set(r)}var Ca=class extends Mr{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
|
|
3
|
+
`).length-1}},wa=class{cache=new Map;timeout;constructor(e){this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){if(t){for(let[e,t]of this.cache)Date.now()-t.timestamp>this.timeout&&this.cache.delete(e);if(this.cache.delete(e),this.cache.set(e,{result:t,timestamp:Date.now()}),this.cache.size>20){let e=this.cache.keys().next().value;e!==void 0&&this.cache.delete(e)}}}},Ta=(e,t)=>Vr.fromClass(class{abortController=null;timer=null;cache;constructor(){this.cache=new wa(t.cacheTimeout??1e3)}cancel(){this.timer!==null&&clearTimeout(this.timer),this.timer=null,this.abortController?.abort(),this.abortController=null}update(n){let r=n.transactions.some(e=>e.effects.some(e=>e.is(xa)&&e.value.text===null));if(!n.docChanged&&!n.selectionSet&&!r&&!(n.focusChanged&&!n.view.hasFocus)||(this.cancel(),!n.docChanged||n.state.field(ba).suggestion||!n.state.selection.main.empty||n.state.selection.ranges.length!==1||t.events?.beforeSuggestionFetch?.(n.view)===!1))return;let i=new AbortController;this.abortController=i;let a=n.state.doc,o=n.state.selection.main.head,s=JSON.stringify([a.toString(),o]),c=this.cache.get(s),l=async()=>{if(!i.signal.aborted)try{let r=c??await e(n.state,i.signal,n.view);if(i.signal.aborted||n.view.state.doc!==a||n.view.state.selection.main.head!==o||t.events?.shouldShowSuggestion?.(n.view,r)===!1)return;this.cache.set(s,r),n.view.dispatch({effects:xa.of({text:r,doc:a,pos:o})})}catch(e){!i.signal.aborted&&e instanceof Error&&e.name!==`AbortError`&&console.error(`Suggestion fetch error:`,e)}};this.timer=setTimeout(l,c?0:t.delay??500)}destroy(){this.cancel()}}),Ea=Vr.fromClass(class{decorations;constructor(){this.decorations=R.none}update(e){let t=e.state.field(ba)?.suggestion;if(!t){this.decorations=R.none;return}this.decorations=Sa(e.view,t)}},{decorations:e=>e.decorations});function Da(e,t,n,r){return{...e.changeByRange(i=>{if(i===e.selection.main)return{changes:{from:n,to:r,insert:t},range:kr.cursor(n+t.length)};let a=r-n;return!i.empty||a&&e.sliceDoc(i.from-a,i.from)!==e.sliceDoc(n,r)?{range:i}:{changes:{from:i.from-a,to:i.from,insert:t},range:kr.cursor(i.from-a+t.length)}}),userEvent:`input.complete`}}var Oa=e=>{let t=e.state.field(ba)?.suggestion;if(!t)return!1;let n=e.state.facet(ja);return e.dispatch({...Da(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),n.events?.onSuggestionAccepted?.(e,t),!0},ka=e=>{let t=e.state.field(ba)?.suggestion;if(!t)return!1;let n=e.state.facet(ja);return e.dispatch({effects:xa.of({text:null,doc:e.state.doc,pos:e.state.selection.main.head})}),n.events?.onSuggestionRejected?.(e,t),!0},Aa=hr.of([{key:`Tab`,run:Oa},{key:`Escape`,run:ka}]),ja=Sr.define({combine:e=>e.at(-1)});function Ma(e){let{includeKeymap:t=!0}=e;return[ba,ja.of(e),Ta(e.fetchFn,e),Ea,t?Aa:[]]}var Na=z.baseTheme({".cm-ai-input-container":{display:`flex`,flexDirection:`column`,gap:`4px`,width:`min(calc(100% + 7px), 500px)`,padding:`5px 5px`,margin:`0 -6px`,backgroundColor:`light-dark(rgb(241, 243, 245), rgb(40, 40, 40))`},".cm-ai-input":{display:`block`,width:`100%`,padding:`3px 8px`,border:`2px solid rgb(51, 154, 240)`,borderRadius:`5px`,fontSize:`12px`},".cm-ai-help-info-button":{fontSize:`10px`,paddingLeft:`10px`,height:`18px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,display:`block`,marginRight:`auto`},".cm-ai-help-info-button:hover":{color:`light-dark(rgb(89, 97, 105), rgb(190, 190, 190))`},".cm-ai-generate-button":{background:`#0E639C`,border:`none`,padding:`2px 6px`,color:`#ffffff`,cursor:`pointer`,font:`inherit`,borderRadius:`4px`,"&:hover":{backgroundColor:`#1177bb`}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:`light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important`},".cm-line:has(.cm-new-code-line)":{backgroundColor:`light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important`},".cm-old-code-container":{backgroundColor:`light-dark(rgb(255, 205, 205), rgb(100, 40, 40))`,position:`relative`,display:`flex`,paddingTop:`0`,width:`100%`,alignItems:`center`},".cm-code-button":{position:`absolute`,right:`5px`,top:`50%`,transform:`translateY(-50%)`,background:`none`,border:`none`,cursor:`pointer`,fontSize:`16px`},".cm-floating-buttons":{fontFamily:`sans-serif`,position:`absolute`,top:`-20px`,left:`5px`,display:`flex`},".cm-floating-button":{fontFamily:`sans-serif`,padding:`2px 5px`,fontSize:`10px`,cursor:`pointer`,fontWeight:`700`},".cm-floating-accept":{backgroundColor:`light-dark(rgb(55, 125, 34), rgb(40, 80, 25))`,borderTopLeftRadius:`5px`,borderBottomLeftRadius:`5px`,color:`white`,filter:`brightness(90%)`,"&:hover":{filter:`brightness(100%)`}},".cm-floating-reject":{backgroundColor:`light-dark(rgb(220, 53, 69), rgb(180, 40, 50))`,color:`white`,borderTopRightRadius:`5px`,borderBottomRightRadius:`5px`,filter:`brightness(90%)`,"&:hover":{filter:`brightness(100%)`}},".hotkey":{display:`inline-block`,padding:`0 4px`,borderRadius:`3px`,backgroundColor:`rgba(255, 255, 255, 0.1)`,fontSize:`90%`},".cm-ai-loading-indicator":{fontStyle:`italic`,fontSize:`10px`,paddingLeft:`12px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,opacity:`0`,transition:`opacity 0.3s ease-in-out`,"&::after":{content:`""`,display:`inline-block`,animation:`ellipsis-pulse 1.5s steps(4, end) infinite`},"&:not(:empty)":{opacity:`1`}},".cm-ai-input:disabled":{opacity:`0.5`},"@keyframes ellipsis-pulse":{"0%":{content:`'.'`},"25%":{content:`'..'`},"50%":{content:`'...'`},"75%":{content:`''`}},".cm-ai-loading-container":{display:`flex`,alignItems:`center`,padding:`0 8px`},".cm-ai-cancel-button":{padding:`2px 8px`,fontSize:`10px`,borderRadius:`4px`,color:`light-dark(rgb(109, 117, 125), rgb(170, 170, 170))`,cursor:`pointer`,"&:hover":{background:`light-dark(rgb(223, 227, 232), rgb(50, 50, 50))`}},".hidden":{display:`none`}}),Pa={mac:`⌘`,windows:`Ctrl`,default:`Ctrl`};function Fa(){return navigator.platform.startsWith(`Mac`)?Pa.mac:navigator.platform.startsWith(`Win`)?Pa.windows:Pa.default}function Ia(e){return e.replace(`Mod`,Fa()).replace(`-`,` `).toUpperCase()}function V(e,t){let n=document.createElement(e);return n.className=t,n}function La(e){let t=e.state.facet(oa),n={...ia,...t.keymaps},r=e.state.facet(Ra),i=V(`div`,`cm-ai-tooltip`).appendChild(V(`div`,`cm-ai-tooltip-button`)),a=i.appendChild(document.createElement(`span`));a.textContent=`${r.label} `;let o=a.appendChild(document.createElement(`span`));return o.className=`hotkey`,o.textContent=Ia(n.showInput),i.querySelector(`span`)?.addEventListener(`mousedown`,e=>{e.stopPropagation(),e.button===0&&e.preventDefault()}),i.querySelector(`span`)?.addEventListener(`click`,t=>{t.preventDefault(),_a(e)}),i}var Ra=Sr.define({combine(e){return Fr(e,{render:La,hideOnBlur:!1,label:`Edit with AI`})}}),za=Vr.fromClass(class{view;suppress;dom;mousedown=()=>{this.suppress=!0};mouseup=()=>{this.suppress=!1,this.display(this.view)};scroll=()=>{this.display(this.view)};windowScroll=()=>{this.display(this.view)};constructor(e){this.view=e;let t=e.state.facet(Ra);this.suppress=!1,document.addEventListener(`mousedown`,this.mousedown),document.addEventListener(`mouseup`,this.mouseup),e.scrollDOM.addEventListener(`scroll`,this.scroll),window.addEventListener(`scroll`,this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ca).show){this.dom.style.display=`none`;return}if(e.state.facet(Ra).hideOnBlur&&!e.hasFocus){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}e.requestMeasure({read:this.#e})}#e=e=>{let t=e.state.selection.ranges.find(e=>!e.empty);if(t&&!this.suppress){let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to);if(!n||!r)return;let i=e.dom.getBoundingClientRect(),a=e.dom.parentElement?.getBoundingClientRect(),o=e=>e.top>=i.top&&e.top<=i.bottom&&e.left>=i.left&&e.left<=i.right,s=e=>!a||e.top>=a.top&&e.top<=a.bottom&&e.left>=a.left&&e.left<=a.right,c=o(n)||o(r),l=s(n)||s(r);if(!c||!l){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}this.dom.style.display=`flex`,this.dom.setAttribute(`aria-hidden`,`false`);let u=this.dom.getBoundingClientRect(),d=o(n)?n:r,f=i.right-u.width,p=Math.min(d.left,f),m=d.top-u.height,h=a?a.y:-1/0;m<h&&(m=r.bottom),this.dom.style.left=`${p}px`,this.dom.style.top=`${m}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute(`aria-hidden`,`false`)})}else this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`)};destroy(){document.removeEventListener(`mousedown`,this.mousedown),document.removeEventListener(`mouseup`,this.mouseup),this.view.scrollDOM.removeEventListener(`scroll`,this.scroll),window.removeEventListener(`scroll`,this.windowScroll,!0),this.dom.remove()}}),Ba=z.baseTheme({".cm-ai-tooltip-button":{userSelect:`none`,fontFamily:`system-ui, -apple-system, sans-serif`,position:`fixed`,display:`flex`,boxSizing:`border-box`,padding:`2px 6px`,borderRadius:`4px`,fontSize:`12px`,backgroundColor:`#0E639C`,color:`#ffffff`,border:`1px solid transparent`,boxShadow:`0 2px 4px rgba(0,0,0,0.1)`,zIndex:`999`,transition:`opacity 0.5s`,"&[aria-hidden='true']":{opacity:`0`},"&[aria-hidden='false']":{opacity:`1`},"& > span":{pointerEvents:`auto`,cursor:`pointer`,display:`inline-block`,padding:`2px`},"&:hover":{backgroundColor:`#1177bb`}}});function Va(){return[za,Ba]}var Ha=class extends Mr{oldCode;constructor(e){super(),this.oldCode=e}toDOM(e){let t=V(`div`,`cm-old-code-container`);t.setAttribute(`role`,`region`),t.setAttribute(`aria-label`,`Previous code version`);let n=V(`div`,`cm-old-code cm-line`);n.textContent=this.oldCode;let r=V(`div`,`cm-floating-buttons`),i=e.state.facet(oa),a={...ia,...i.keymaps},o=V(`button`,`cm-floating-button cm-floating-accept`);o.innerHTML=`<span class="hotkey">${Ia(a.acceptEdit)}</span> Accept`,o.setAttribute(`aria-label`,`Accept changes`),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),va(e)});let s=V(`button`,`cm-floating-button cm-floating-reject`);return s.innerHTML=`<span class="hotkey">${Ia(a.rejectEdit)}</span> Reject`,s.setAttribute(`aria-label`,`Reject changes`),s.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),ya(e)}),r.append(o,s),t.append(n,r),t}updateDOM(e,t){return!0}},Ua=class extends Mr{complete;abortController=null;dom=null;input=null;loadingContainer=null;helpInfo=null;inputContainer=null;form=null;view=null;constructor(e){super(),this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let t=e.state.field(da),n=e.state.field(ha),r=V(`div`,`cm-ai-input-container`);this.inputContainer=r,this.dom=r;let i=V(`form`,`cm-ai-input-form`);this.form=i,i.setAttribute(`role`,`search`),i.setAttribute(`aria-label`,`AI editing instructions`),i.addEventListener(`submit`,e=>e.preventDefault());let a=V(`input`,`cm-ai-input`);this.input=a,i.append(a),a.placeholder=`Editing instructions...`,a.setAttribute(`aria-label`,`AI editing instructions`),a.setAttribute(`autocomplete`,`off`),a.setAttribute(`spellcheck`,`true`),a.value=t.inputValue;let o=V(`div`,`cm-ai-loading-container`);this.loadingContainer=o;let s=V(`div`,`cm-ai-loading-indicator`);s.setAttribute(`role`,`status`),s.setAttribute(`aria-live`,`polite`),s.textContent=`Generating`;let c=V(`button`,`cm-ai-cancel-button`);c.textContent=`Cancel`,c.setAttribute(`aria-label`,`Cancel code generation`),c.addEventListener(`click`,this.onCancel),o.append(c,s);let l=V(`div`,`cm-ai-help-info`);this.helpInfo=l;let u=l.appendChild(document.createElement(`button`));u.className=`cm-ai-help-info-button`,u.textContent=`Esc to close`,u.addEventListener(`click`,this.onCancel);let d=V(`button`,`cm-ai-generate-button`);d.textContent=`⏎ Generate`,d.setAttribute(`aria-label`,`Generate code`),d.addEventListener(`click`,this.handleSubmit),this.toggleLoading(n),t.shouldFocus&&requestAnimationFrame(()=>{a.value=t.inputValue,a.focus(),e.dispatch({effects:ua.of(!1)})}),f(a.value),a.addEventListener(`input`,m),a.addEventListener(`keydown`,this.onKeyDown);function f(e){l.replaceChildren(e?d:u)}let p=``;function m(){e.dispatch({effects:la.of(a.value)});let t=a.value.trim();t!==p&&(p=t,f(t))}return r}toggleLoading(e){this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&this.inputContainer?.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo)}onKeyDown=async e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key===`Escape`&&this.onCancel()};onCancel=()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[sa.of({show:!1,lineFrom:0,lineTo:0}),ma.of(!1)]}),e.focus())};handleSubmit=async e=>{let t=this.view;if(!t)return;let n=t.state.facet(oa);e?.stopPropagation();let r=t.state.field(ca),{input:i}=this;if(!i)return;let a=i.value.trim();if(!r.show||!a)return;let o=t.state.doc.line(r.lineFrom),s=t.state.doc.line(r.lineTo),c=o.from,l=s.to,u=t.state.sliceDoc(c,l),d=t.state.sliceDoc(0,c),f=t.state.sliceDoc(l);this.abortController=new AbortController,t.dispatch({effects:ma.of(!0)}),this.toggleLoading(!0);try{let e=await this.complete({prompt:a,selection:u,codeBefore:d,codeAfter:f,editorView:t,signal:this.abortController.signal});if(!t.state.field(ca).show)return;if(!e||typeof e!=`string`)throw Error(`Invalid completion result`);t.dispatch({changes:{from:c,to:l,insert:e},effects:[sa.of({show:!1,lineFrom:0,lineTo:0}),fa.of({from:c,to:c+e.length,oldCode:u,newCode:e}),ma.of(!1)]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;n.onError?.(e)}finally{this.cleanup(),this.toggleLoading(!1),t.focus()}};updateDOM(e,t){return this.dom=e,this.input=e.querySelector(`.cm-ai-input`),!0}cleanup(){this.abortController?.abort(),this.abortController=null,this.dom?.remove(),this.input?.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function Wa(e){if(!e.prompt)throw Error(`prompt function is required`);let t={...ia,...e.keymaps};return[oa.of(e),ca,da,pa,ha,Va(),Na,hr.of([{key:t.showInput,run:_a}]),xr.highest([hr.of([{key:t.acceptEdit,run:va},{key:t.rejectEdit,run:ya}])]),Ga,Ka,qa,Ja]}var Ga=z.updateListener.of(e=>{let t=e.state.field(ca);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,i=!1;e.changes.iterChanges((t,a,o,s)=>{let c=e.state.doc.lineAt(t).number;if(c<n){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;n+=t,r+=t,i=!0}else if(c<=r){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;r+=t,i=!0}}),i&&e.view.dispatch({effects:[sa.of({show:!0,lineFrom:n,lineTo:r})]})}),Ka=z.decorations.of(e=>{let t=e.state.field(pa);return t?R.set([R.mark({class:`cm-new-code-line`}).range(t.from,t.to)]):R.none}),qa=z.decorations.compute([ca],e=>{let t=e.field(ca),n=e.facet(oa),r=[];if(t.show){let i=t.lineFrom,a=t.lineTo;for(let t=i;t<=a;t++){let a=e.doc.line(t).from;r.push(R.line({class:`cm-ai-selection`}).range(a)),t===i&&r.push(R.widget({widget:new Ua(n.prompt),side:-1}).range(a))}}return R.set(r)}),Ja=dr.define({create(e){return R.none},update(e,t){let n=t.state.field(pa);return n?R.set([R.widget({widget:new Ha(n.oldCode),block:!0}).range(n.from)]):R.none},provide:e=>z.decorations.from(e)}),H=e(u(),1),U=Tt(),Ya=()=>({entries:new Map}),{valueAtom:Xa,useActions:Za}=ri(Ya,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:i,store:a}=t,o=a.get(ve),s=a.get(tt),c=new Set(o.cellIds.inOrderIds.filter(e=>o.cellData[e].code.trim()===``)),l=new Map;for(let e of n){if(c.has(e)){l.set(e,{cellId:e,type:`simple`});continue}let t=o.cellRuntime[e],n=new Map;for(let t of Object.values(s)){let r=t.declaredBy.includes(e),i=t.usedBy.some(e=>!c.has(e));r&&i&&n.set(t.name,t.usedBy)}let r;t?.runElapsedTimeMs&&t.runElapsedTimeMs>2e3&&(r=t.runElapsedTimeMs),n.size===0&&r===void 0?l.set(e,{cellId:e,type:`simple`}):l.set(e,{cellId:e,type:`expensive`,executionDurationMs:r,defs:n})}let u=[...l.values()].every(e=>e.type===`simple`);return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):i({cellIds:[...l.values()].map(e=>e.cellId)}),Ya()):{...e,entries:l}},clear:()=>Ya()});function Qa(){let e=(0,U.c)(10),t=n(),{submit:r,clear:a}=Za(),{entries:o}=i(Xa),s=$n(),c=Qn(),l;e[0]!==s||e[1]!==c||e[2]!==t||e[3]!==r?(l=e=>{r({cellIds:e,deleteCell:s,deleteManyCells:c,store:t})},e[0]=s,e[1]=c,e[2]=t,e[3]=r,e[4]=l):l=e[4];let u=o.size===0,d=o.size>1,f;return e[5]!==a||e[6]!==l||e[7]!==u||e[8]!==d?(f={submit:l,clear:a,idle:u,shouldConfirmDelete:d},e[5]=a,e[6]=l,e[7]=u,e[8]=d,e[9]=f):f=e[9],f}function $a(e){let t=(0,U.c)(16),n=i(Xa),r=Za(),a=Qn(),o;t[0]!==e||t[1]!==n.entries?(o=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=o):o=t[2];let s=o;if(!s){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={isPending:!1},t[3]=e):e=t[3],e}if(n.entries.size!==1){let e;return t[4]===s?e=t[5]:(e={isPending:!0,shouldConfirmDelete:!1,...s},t[4]=s,t[5]=e),e}let c;t[6]!==r||t[7]!==a||t[8]!==n.entries?(c=()=>{a({cellIds:[...n.entries.values()].map(eo)}),r.clear()},t[6]=r,t[7]=a,t[8]=n.entries,t[9]=c):c=t[9];let l;t[10]===r?l=t[11]:(l=()=>r.clear(),t[10]=r,t[11]=l);let u;return t[12]!==s||t[13]!==c||t[14]!==l?(u={isPending:!0,...s,shouldConfirmDelete:!0,confirm:c,cancel:l},t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}function eo(e){return e.cellId}async function to(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error(`Failed to get response body`);let t=null,n=!1;if(await Mn({stream:En({stream:e.body,schema:Nn}).pipeThrough(new TransformStream({transform(e){if(!e.success)throw e.error;let r=e.value;if(On(r)&&r.type===Tn)t=Dn.parse(r.data).code;else if(r.type===`error`)throw Error(r.errorText);else r.type===`finish`&&(n=r.finishReason===`stop`)}})),onError:e=>{throw e}}),!n)throw Error(`AI completion ended before final validation`);if(t===null)throw Error(`AI completion returned no cell code`);return t}async function no(e){let t=`
|
|
4
|
+
${e.codeBefore}
|
|
5
|
+
<rewrite_this>
|
|
6
|
+
${e.selection}
|
|
7
|
+
</rewrite_this>
|
|
8
|
+
${e.codeAfter}
|
|
9
|
+
`.trim(),n=Xt();await Gt();let r=await fetch(n.getAiURL(`completion`).toString(),{method:`POST`,headers:n.headers(),body:JSON.stringify({prompt:e.prompt,code:t,selectedText:e.selection,includeOtherCode:``,language:e.language})}),i=e.selection.match(/^\s*/)?.[0]||``,a=await to(r);return a.startsWith(i)||(a=i+a),a}function ro(e){switch(e){case`table`:case`connection`:F(`variables`),Hi(Vi,`datasources`);return;case`bucket`:F(`files`),Hi(Bi,`remote-storage`);return;case`cache`:F(`cache`);return;default:pi(e)}}function io(e){let{state:t,names:n}=e;if(n.size===0)return[];let r=vr(t);if(!r||C(r))return[];let i=new Map,a=e=>{if(e.name===I.VariableName){let r=t.doc.sliceString(e.from,e.to);n.has(r)&&!i.has(r)&&i.set(r,{from:e.from,to:e.to,name:r});return}if(e.name===I.TupleExpression||e.name===I.ArrayExpression||e.name===I.ParenthesizedExpression)for(let t=e.firstChild;t;t=t.nextSibling)a(t)},o=e=>{let t=-1;for(let n=e.firstChild;n;n=n.nextSibling)n.name===I.AssignOp&&(t=n.from);if(t!==-1)for(let n=e.firstChild;n&&n.from<t;n=n.nextSibling)a(n)},s=e=>{if(!m.has(e.name)){if(e.name===I.AssignStatement){o(e);return}for(let t=e.firstChild;t;t=t.nextSibling)s(t)}};return s(r.topNode),[...i.values()]}var ao=/\bmo\.(?:persistent_cache|cache)\b/g;function oo(e){let t=e.match(/^[A-Za-z]*("""|'''|"|')([\s\S]*)\1$/);return t?t[2]:e}function so(e,t){if(!e)return null;let n=e=>e?.name===`,`||e?.name===`)`,r=null;for(let i=e.firstChild;i;i=i.nextSibling)if(i.name!==`(`&&i.name!==`)`&&i.name!==`,`&&(r??=i,i.name===I.VariableName&&t(i)===`name`&&i.nextSibling?.name===I.AssignOp)){let e=i.nextSibling.nextSibling;if(e?.name===I.String&&n(e.nextSibling))return oo(t(e))}return r&&r.name===I.String&&n(r.nextSibling)?oo(t(r)):null}function co(e,t,n,r){let i=t=>e.doc.sliceString(t.from,t.to),a=t.resolveInner(n,1),o=null,s=null,c=r,l=null;for(let e=a.parent;e&&e.from===n;e=e.parent)if(e.name===I.CallExpression){l=e;break}if(l){c=l.to,s=l.getChild(I.ArgList);let e=l.parent;if(e?.name===I.AssignStatement){let t=e.getChild(I.VariableName);o=t&&t.from<l.from?i(t):null}else if(e?.name===I.WithStatement){let t=e.firstChild;for(;t;){if(t.from<l.to||t.name===j.As){t=t.nextSibling;continue}t.name===I.VariableName&&(o=i(t));break}}}else if(a.parent?.name===I.Decorator){let e=a.parent,t=e.getChild(I.ArgList);t?.from===r&&(s=t,c=t.to);let n=(e.parent?.getChild(I.FunctionDefinition))?.getChild(I.VariableName);o=n?i(n):null}let u=so(s,i);return{from:n,to:c,boundName:o,cacheName:u}}function lo(e,t,n){let r=t.resolveInner(n,1);return!ee.has(r.name)&&r.name===I.VariableName&&e.doc.sliceString(r.from,r.to)===`mo`}function uo(e){let t=vr(e);return!t||C(t)?[]:[...e.doc.toString().matchAll(ao)].filter(n=>lo(e,t,n.index??0)).map(n=>{let r=n.index??0;return co(e,t,r,r+n[0].length)})}function fo(e,t,n){let r=e.get(t);r!==void 0&&r!==n&&Ft.error(`[code-lens] "${t}" is claimed by both a ${r} and a ${n} entity; keeping ${n}`),e.set(t,n)}var po=r(e=>{let t=new Map;for(let n of e(A))n.variable_name&&fo(t,n.variable_name,`table`);for(let n of e(O).keys())d.has(n)||fo(t,n,`connection`);for(let n of e(be))fo(t,n.name,`bucket`);return t}),mo=r(e=>{let t=e(po),n=e(tt),r=new Map,i=new Map;for(let[e,a]of t){let t=n[e];if(t==null){i.set(e,a);continue}for(let n of t.declaredBy){let t=r.get(n);t||(t=new Map,r.set(n,t)),t.set(e,a)}}return{byCell:r,pending:i}});function ho(e){let{byCell:t,pending:n}=o.get(mo),r=new Map(t.get(e));for(let[e,t]of n)r.has(e)||r.set(e,t);return r}var go=e=>`<svg xmlns="http://www.w3.org/2000/svg" aria-hidden="true" width="12" height="12" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">${e}</svg>`,_o={table:go(`<path d="M9 3H5a2 2 0 0 0-2 2v4m6-6h10a2 2 0 0 1 2 2v4M9 3v18m0 0h10a2 2 0 0 0 2-2V9M9 21H5a2 2 0 0 1-2-2V9m0 0h18"/>`),connection:go(`<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 21 19V5"/><path d="M3 12A9 3 0 0 0 21 12"/>`),bucket:go(`<line x1="22" x2="2" y1="12" y2="12"/><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"/><line x1="6" x2="6.01" y1="16" y2="16"/><line x1="10" x2="10.01" y1="16" y2="16"/>`),cache:go(`<ellipse cx="12" cy="5" rx="9" ry="3"/><path d="M3 5V19A9 3 0 0 0 15 21.84"/><path d="M21 5V8"/><path d="M21 12L18 17H22L19 22"/><path d="M3 12A9 3 0 0 0 14.59 14.87"/>`)},vo={table:`Open in data sources`,connection:`Open in data sources`,bucket:`Open in remote storage`,cache:`Open cache panel`},yo=e(gt(),1),bo=e(D(),1),W=en();function xo(e,t){let n=(0,bo.createRoot)(e);return(0,yo.flushSync)(()=>{n.render((0,W.jsx)(s,{store:o,children:(0,W.jsx)(So,{spec:t})}))}),()=>queueMicrotask(()=>n.unmount())}var So=e=>{let t=(0,U.c)(9),{spec:n}=e;switch(n.kind){case`table`:{let e;return t[0]===n.name?e=t[1]:(e=(0,W.jsx)(Co,{name:n.name}),t[0]=n.name,t[1]=e),e}case`connection`:{let e;return t[2]===n.name?e=t[3]:(e=(0,W.jsx)(wo,{name:n.name}),t[2]=n.name,t[3]=e),e}case`bucket`:{let e;return t[4]===n.name?e=t[5]:(e=(0,W.jsx)(To,{name:n.name}),t[4]=n.name,t[5]=e),e}case`cache`:{let e=n.cache?.boundName??null,r=n.cache?.cacheName??null,i;return t[6]!==e||t[7]!==r?(i=(0,W.jsx)(Ao,{boundName:e,cacheName:r}),t[6]=e,t[7]=r,t[8]=i):i=t[8],i}default:pi(n.kind)}},Co=e=>{let t=(0,U.c)(5),{name:n}=e,r=i(A),a;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e.variable_name===n,t[3]=n,t[4]=e);let i=r.find(e);a=i?dt(i):g(`table`),t[0]=n,t[1]=r,t[2]=a}else a=t[2];return a},wo=e=>{let t=(0,U.c)(5),{name:n}=e,r=i(O),a,o;if(t[0]!==r||t[1]!==n){o=Symbol.for(`react.early_return_sentinel`);bb0:{let e=r.get(n);if(!e){let e;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=g(`database`),t[4]=e):e=t[4],o=e;break bb0}a=M(e)}t[0]=r,t[1]=n,t[2]=a,t[3]=o}else a=t[2],o=t[3];return o===Symbol.for(`react.early_return_sentinel`)?a:o},To=e=>{let t=(0,U.c)(27),{name:n}=e,r=i(be),a;if(t[0]!==n||t[1]!==r){let e;t[3]===n?e=t[4]:(e=e=>e.name===n,t[3]=n,t[4]=e),a=r.find(e),t[0]=n,t[1]=r,t[2]=a}else a=t[2];let o=a;if(!o){let e;return t[5]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,W.jsx)(`div`,{className:ht,children:(0,W.jsx)(`span`,{className:`text-xs text-(--slate-11)`,children:`No storage information available.`})}),t[5]=e):e=t[5],e}let s;t[6]===o.protocol?s=t[7]:(s=(0,W.jsx)(Kn,{protocol:o.protocol,className:`w-4 h-4`}),t[6]=o.protocol,t[7]=s);let c;t[8]===o.protocol?c=t[9]:(c=(0,W.jsx)(gi,{variant:`outline`,className:`text-xs`,children:o.protocol}),t[8]=o.protocol,t[9]=c);let l;t[10]!==o.displayName||t[11]!==s||t[12]!==c?(l=(0,W.jsx)(mt,{icon:s,title:o.displayName,badge:c}),t[10]=o.displayName,t[11]=s,t[12]=c,t[13]=l):l=t[13];let u;t[14]===o.name?u=t[15]:(u=(0,W.jsx)(ye,{label:`Variable`,value:(0,W.jsx)(`code`,{className:`text-xs bg-(--slate-4) px-1 rounded`,children:o.name})}),t[14]=o.name,t[15]=u);let d=o.rootPath||`(root)`,f;t[16]===d?f=t[17]:(f=(0,W.jsx)(ye,{label:`Root`,value:(0,W.jsx)(`code`,{className:`text-xs bg-(--slate-4) px-1 rounded`,children:d})}),t[16]=d,t[17]=f);let p;t[18]===o.backendType?p=t[19]:(p=(0,W.jsx)(ye,{label:`Backend`,value:(0,W.jsx)(`span`,{className:`font-medium`,children:o.backendType})}),t[18]=o.backendType,t[19]=p);let m;t[20]!==u||t[21]!==f||t[22]!==p?(m=(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[u,f,p]}),t[20]=u,t[21]=f,t[22]=p,t[23]=m):m=t[23];let h;return t[24]!==l||t[25]!==m?(h=(0,W.jsxs)(`div`,{className:ht,children:[l,m]}),t[24]=l,t[25]=m,t[26]=h):h=t[26],h},Eo=/\bhits=(\d+) misses=(\d+)/,Do=null,Oo=5e3;function ko(){let e=Date.now();Do!=null&&e-Do<Oo||(Do=e,hi().getCacheInfo().catch(()=>{Do=null}))}var Ao=e=>{let t=(0,U.c)(16),{boundName:n,cacheName:r}=e,{locale:a}=yi(),o=i(tt),s=i(Li),c=n?o[n]:void 0,l;t[0]===c?l=t[1]:(l=c?.dataType?.startsWith(`_cache_call`)?c.value?.match(Eo):void 0,t[0]=c,t[1]=l);let u=l,d=!!u,f,p;t[2]===d?(f=t[3],p=t[4]):(f=()=>{d||ko()},p=[d],t[2]=d,t[3]=f,t[4]=p),(0,H.useEffect)(f,p);let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,W.jsx)(Un,{className:`w-4 h-4 text-(--amber-9)`}),t[5]=m):m=t[5];let h=r??n??`Cache`,g;t[6]===h?g=t[7]:(g=(0,W.jsx)(mt,{icon:m,title:h}),t[6]=h,t[7]=g);let _;t[8]!==s||t[9]!==a||t[10]!==u?(_=u?(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,W.jsx)(ye,{label:`Hits`,value:(0,W.jsx)(`span`,{className:`font-medium`,children:bi(Number(u[1]),a)})}),(0,W.jsx)(ye,{label:`Misses`,value:(0,W.jsx)(`span`,{className:`font-medium`,children:bi(Number(u[2]),a)})})]}):s&&(0,W.jsxs)(`div`,{className:`flex flex-col gap-2 py-2`,children:[(0,W.jsx)(`span`,{className:`text-xs font-medium text-(--slate-11)`,children:`Notebook-wide`}),(0,W.jsx)(ye,{label:`Hits`,value:bi(s.hits,a)}),(0,W.jsx)(ye,{label:`Misses`,value:bi(s.misses,a)}),(0,W.jsx)(ye,{label:`Time saved`,value:Ri(s.time,a)})]}),t[8]=s,t[9]=a,t[10]=u,t[11]=_):_=t[11];let v;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(v=(0,W.jsx)(`div`,{className:`pt-2 text-xs text-(--slate-10)`,children:`Click to open the cache panel`}),t[12]=v):v=t[12];let y;return t[13]!==g||t[14]!==_?(y=(0,W.jsxs)(`div`,{className:ht,children:[g,_,v]}),t[13]=g,t[14]=_,t[15]=y):y=t[15],y},jo=L.define(),Mo=L.define();function No(e,t){return e.pos===t.pos&&e.kind===t.kind&&e.name===t.name&&e.cache?.boundName===t.cache?.boundName&&e.cache?.cacheName===t.cache?.cacheName}var Po=class{view;showTimer;hideTimer;constructor(e){this.view=e}enterLens(e,t){this.clearTimers(),Io(this.view,t);let n=this.view.state.field(zo,!1);n&&No(n.spec,e)||(this.showTimer=window.setTimeout(()=>{this.showTimer=void 0,this.view.dispatch({effects:Mo.of(e)})},400))}leave(){this.clearTimers(),this.hideTimer=window.setTimeout(()=>{this.hideTimer=void 0,this.hide()},200)}enterPopover(){window.clearTimeout(this.hideTimer),this.hideTimer=void 0}hide(){this.clearTimers(),this.view.state.field(zo,!1)&&this.view.dispatch({effects:Mo.of(null)})}destroy(){this.clearTimers()}clearTimers(){window.clearTimeout(this.showTimer),window.clearTimeout(this.hideTimer),this.showTimer=void 0,this.hideTimer=void 0}},Fo=Vr.define(e=>new Po(e));function Io(e,t){e.dom.dispatchEvent(new MouseEvent(`mouseleave`,{relatedTarget:t}))}var Lo=class extends Mr{spec;constructor(e){super(),this.spec=e}eq(e){return No(this.spec,e.spec)}toDOM(e){let{spec:t}=this,n=document.createElement(`span`);n.className=`mo-code-lens`,n.setAttribute(`role`,`button`),n.tabIndex=0,n.setAttribute(`aria-label`,vo[t.kind]),n.innerHTML=_o[t.kind];let r=()=>e.plugin(Fo),i=()=>r()?.hide();return n.onmouseenter=()=>r()?.enterLens(t,n),n.onmouseleave=()=>r()?.leave(),n.onmousemove=e=>{e.stopPropagation()},n.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},n.onclick=e=>{e.preventDefault(),e.stopPropagation(),i(),ro(t.kind)},n.onkeydown=e=>{(e.key===`Enter`||e.key===` `)&&(e.preventDefault(),e.stopPropagation(),i(),ro(t.kind))},n}ignoreEvent(){return!0}};function Ro(e){return{spec:e,tooltip:{pos:e.pos,above:!0,create:t=>{let n=document.createElement(`div`);return n.classList.add(`mo-cm-tooltip`,`docs-documentation`),n.onmouseenter=()=>t.plugin(Fo)?.enterPopover(),n.onmouseleave=()=>t.plugin(Fo)?.leave(),{dom:n,resize:!1,destroy:xo(n,e)}}}}}var zo=dr.define({create(){return null},update(e,t){for(let n of t.effects){if(n.is(Mo))return n.value?Ro(n.value):null;if(n.is(jo)&&e)return n.value.some(t=>No(t,e.spec))?e:null}return t.docChanged?null:e},provide:e=>gr.from(e,e=>e?.tooltip??null)}),Bo=dr.define({create(){return R.none},update(e,t){e=e.map(t.changes);for(let n of t.effects)n.is(jo)&&(e=R.set(n.value.map(e=>R.widget({widget:new Lo(e),side:1}).range(e.pos)),!0));return e},provide:e=>z.decorations.from(e)}),Vo=class{view;cellId;includeCache;unsubscribes;debounceMs=300;scheduleUpdate;constructor(e,t,n){this.view=e,this.cellId=t,this.includeCache=n,this.scheduleUpdate=Et(()=>this.run(),this.debounceMs);let r=()=>this.scheduleUpdate();this.unsubscribes=[o.sub(A,r),o.sub(O,r),o.sub(be,r),o.sub(tt,r)],this.scheduleUpdate()}update(e){let t=e.startState.field(Fe,!1)?.type!==e.state.field(Fe,!1)?.type;(e.docChanged||t)&&this.scheduleUpdate()}destroy(){this.scheduleUpdate.cancel();for(let e of this.unsubscribes)e()}run(){let{state:e}=this.view,t=[],n=e.field(Fe,!1)?.type;if(n==null||n===`python`){let n=ho(this.cellId),r=io({state:e,names:new Set(n.keys())});for(let e of r){let r=n.get(e.name);r&&t.push({pos:e.to,kind:r,name:e.name})}if(this.includeCache)for(let n of uo(e))t.push({pos:n.to,kind:`cache`,name:`cache:${n.from}`,cache:{boundName:n.boundName,cacheName:n.cacheName}})}queueMicrotask(()=>{this.view.dispatch({effects:jo.of(t)})})}},Ho=`3px`,Uo=z.baseTheme({".mo-code-lens":{display:`inline-flex`,verticalAlign:`baseline`,transform:`translateY(1.5px)`,padding:Ho,margin:`-${Ho} 0 -${Ho} calc(0.3em - ${Ho})`,cursor:`pointer`,opacity:`0.5`},".mo-code-lens:hover":{opacity:`1`}});function Wo(e,t=!0){return t?[Bo,zo,Fo,Vr.define(t=>new Vo(t,e,he(`cache_panel`))),Uo]:[]}var Go=[`%alias`,`%cd`,`%clear`,`%debug`,`%env`,`%load`,`%load_ext`,`%lsmagic`,`%matplotlib`,`%pwd`,`%who_ls`,`%system`,`%%time`,`%%timeit`,`%%writefile`,`%%capture`,`%%html`,`%%latex`],Ko;function qo(){let e=async e=>{let t=o.get(Dt),{saveUserConfig:n}=hi();await n({config:{runtime:{auto_reload:e}}}).then(()=>o.set(Dt,{...t,runtime:{...t.runtime,auto_reload:e}}))},t=[{match:`!pip install`,onMatch:()=>{o.set(P,e=>({...e,isSidebarOpen:!0,selectedPanel:`packages`})),Ci()},title:`Package Installation`,description:(0,W.jsxs)(W.Fragment,{children:[`The package manager sidebar has been opened.`,(0,W.jsx)(`br`,{}),`Install packages directly from there instead.`]})},{match:`!uv pip install`,onMatch:()=>{o.set(P,e=>({...e,isSidebarOpen:!0,selectedPanel:`packages`})),Ci()},title:`Package Installation`,description:(0,W.jsxs)(W.Fragment,{children:[`The package manager sidebar has been opened.`,(0,W.jsx)(`br`,{}),`Install packages directly from there instead.`]})},{match:`!uv add`,onMatch:()=>{o.set(P,e=>({...e,isSidebarOpen:!0,selectedPanel:`packages`})),Ci()},title:`Package Installation`,description:(0,W.jsxs)(W.Fragment,{children:[`The package manager sidebar has been opened.`,(0,W.jsx)(`br`,{}),`Install packages directly from there instead.`]})},{match:`%autoreload 2`,onMatch:async()=>{await e(`autorun`)},title:`Module reload`,description:(0,W.jsxs)(W.Fragment,{children:[`Module reload mode set to `,(0,W.jsx)(`b`,{children:`autorun`}),` - module changes will re-run the cells that import them.`]})},{match:`%autoreload 1`,onMatch:async()=>{await e(`lazy`)},title:`Module reload`,description:(0,W.jsxs)(W.Fragment,{children:[`Module reload mode set to `,(0,W.jsx)(`b`,{children:`lazy`}),` - module changes will mark the cells that import them as stale.`]})},{match:`%autoreload 0`,onMatch:async()=>{await e(`off`)},title:`Module reload`,description:(0,W.jsx)(W.Fragment,{children:`Module reload disabled - module changes will not be detected.`})},{match:`!ls`,onMatch:()=>{},title:`Listing files`,description:(0,W.jsxs)(W.Fragment,{children:[`Shell commands are not directly supported.`,(0,W.jsx)(`br`,{}),`Use `,(0,W.jsx)(`code`,{children:`import subprocess; subprocess.run(['ls'])`}),` instead.`]})},...Go.map(e=>({match:e,onMatch:()=>{},title:(0,W.jsx)(Ei,{className:`inline`,children:e}),description:(0,W.jsxs)(W.Fragment,{children:[`Magic commands are not supported in marimo. Read more about replacements in the`,` `,(0,W.jsx)(`a`,{href:`https://docs.marimo.io/guides/coming_from/jupyter/#adapting-to-the-absence-of-magic-commands`,target:`_blank`,className:`text-link underline cursor-pointer`,rel:`noopener noreferrer`,children:`documentation`}),`.`]})}))],n=new Map(t.map(e=>[e.match,e]));return z.updateListener.of(e=>{if(e.docChanged){let t=e.state.selection.main,r=e.state.doc,i=r.lineAt(t.head),a=r.sliceString(i.from,t.anchor).trim(),o=n.get(a);o&&(o.onMatch(),Ko?Ko.upsert({title:o.title,description:o.description}):Ko=lr({title:o.title,description:o.description}))}})}var Jo=new Set([`Escape`,"Alt-`"]);function Yo(e,t=Jo){return e.filter(e=>![e.key,e.mac,e.linux,e.win].some(e=>t.has(e)))}function Xo(e=!0){let t=new Set(Jo);e||t.add(`Enter`);let n=Yo(ai,t);return xr.highest(hr.of([...n,{key:`Ctrl-y`,run:e=>_(e)?ui(e):!1},{key:`Ctrl-n`,run:e=>_(e)?oi(!0)(e):!1},{key:`Ctrl-p`,run:e=>_(e)?oi(!1)(e):!1}]))}var Zo=L.define(),Qo=L.define(),$o=L.define();function G(e,t){if(!e)throw Error(t)}var es=34028234663852886e22,ts=-34028234663852886e22,ns=4294967295,rs=2147483647,is=-2147483648;function as(e){if(typeof e!=`number`)throw Error(`invalid int 32: `+typeof e);if(!Number.isInteger(e)||e>rs||e<is)throw Error(`invalid int 32: `+e)}function os(e){if(typeof e!=`number`)throw Error(`invalid uint 32: `+typeof e);if(!Number.isInteger(e)||e>ns||e<0)throw Error(`invalid uint 32: `+e)}function ss(e){if(typeof e!=`number`)throw Error(`invalid float 32: `+typeof e);if(Number.isFinite(e)&&(e>es||e<ts))throw Error(`invalid float 32: `+e)}var cs=Symbol(`@bufbuild/protobuf/enum-type`);function ls(e){let t=e[cs];return G(t,`missing enum type on enum object`),t}function us(e,t,n,r){e[cs]=ds(t,n.map(t=>({no:t.no,name:t.name,localName:e[t.no]})),r)}function ds(e,t,n){let r=Object.create(null),i=Object.create(null),a=[];for(let e of t){let t=ps(e);a.push(t),r[e.name]=t,i[e.no]=t}return{typeName:e,values:a,findName(e){return r[e]},findNumber(e){return i[e]}}}function fs(e,t,n){let r={};for(let e of t){let t=ps(e);r[t.localName]=t.no,r[t.no]=t.localName}return us(r,e,t,n),r}function ps(e){return`localName`in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var K=class{equals(e){return this.getType().runtime.util.equals(this.getType(),this,e)}clone(){return this.getType().runtime.util.clone(this)}fromBinary(e,t){let n=this.getType().runtime.bin,r=n.makeReadOptions(t);return n.readMessage(this,r.readerFactory(e),e.byteLength,r),this}fromJson(e,t){let n=this.getType(),r=n.runtime.json,i=r.makeReadOptions(t);return r.readMessage(n,e,i,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(e){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${e instanceof Error?e.message:String(e)}`)}return this.fromJson(n,t)}toBinary(e){let t=this.getType().runtime.bin,n=t.makeWriteOptions(e),r=n.writerFactory();return t.writeMessage(this,r,n),r.finish()}toJson(e){let t=this.getType().runtime.json,n=t.makeWriteOptions(e);return t.writeMessage(this,n)}toJsonString(e){let t=this.toJson(e);return JSON.stringify(t,null,e?.prettySpaces??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function ms(e,t,n,r){let i=r?.localName??t.substring(t.lastIndexOf(`.`)+1),a={[i]:function(t){e.util.initFields(this),e.util.initPartial(t,this)}}[i];return Object.setPrototypeOf(a.prototype,new K),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(e,t){return new a().fromBinary(e,t)},fromJson(e,t){return new a().fromJson(e,t)},fromJsonString(e,t){return new a().fromJsonString(e,t)},equals(t,n){return e.util.equals(a,t,n)}}),a}function hs(){let e=0,t=0;for(let n=0;n<28;n+=7){let r=this.buf[this.pos++];if(e|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}let n=this.buf[this.pos++];if(e|=(n&15)<<28,t=(n&112)>>4,!(n&128))return this.assertBounds(),[e,t];for(let n=3;n<=31;n+=7){let r=this.buf[this.pos++];if(t|=(r&127)<<n,!(r&128))return this.assertBounds(),[e,t]}throw Error(`invalid varint`)}function gs(e,t,n){for(let r=0;r<28;r+=7){let i=e>>>r,a=!(!(i>>>7)&&t==0),o=(a?i|128:i)&255;if(n.push(o),!a)return}let r=e>>>28&15|(t&7)<<4,i=!!(t>>3);if(n.push((i?r|128:r)&255),i){for(let e=3;e<31;e+=7){let r=t>>>e,i=!!(r>>>7),a=(i?r|128:r)&255;if(n.push(a),!i)return}n.push(t>>>31&1)}}var _s=4294967296;function vs(e){let t=e[0]===`-`;t&&(e=e.slice(1));let n=1e6,r=0,i=0;function a(t,a){let o=Number(e.slice(t,a));i*=n,r=r*n+o,r>=_s&&(i+=r/_s|0,r%=_s)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?Cs(r,i):Ss(r,i)}function ys(e,t){let n=Ss(e,t),r=n.hi&2147483648;r&&(n=Cs(n.lo,n.hi));let i=bs(n.lo,n.hi);return r?`-`+i:i}function bs(e,t){if({lo:e,hi:t}=xs(e,t),t<=2097151)return String(_s*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,i=t>>16&65535,a=n+r*6777216+i*6710656,o=r+i*8147497,s=i*2,c=1e7;return a>=c&&(o+=Math.floor(a/c),a%=c),o>=c&&(s+=Math.floor(o/c),o%=c),s.toString()+ws(o)+ws(a)}function xs(e,t){return{lo:e>>>0,hi:t>>>0}}function Ss(e,t){return{lo:e|0,hi:t|0}}function Cs(e,t){return t=~t,e?e=~e+1:t+=1,Ss(e,t)}var ws=e=>{let t=String(e);return`0000000`.slice(t.length)+t};function Ts(e,t){if(e>=0){for(;e>127;)t.push(e&127|128),e>>>=7;t.push(e)}else{for(let n=0;n<9;n++)t.push(e&127|128),e>>=7;t.push(1)}}function Es(){let e=this.buf[this.pos++],t=e&127;if(!(e&128)||(e=this.buf[this.pos++],t|=(e&127)<<7,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<14,!(e&128))||(e=this.buf[this.pos++],t|=(e&127)<<21,!(e&128)))return this.assertBounds(),t;e=this.buf[this.pos++],t|=(e&15)<<28;for(let t=5;e&128&&t<10;t++)e=this.buf[this.pos++];if(e&128)throw Error(`invalid varint`);return this.assertBounds(),t>>>0}function Ds(){let e=new DataView(new ArrayBuffer(8));if(typeof BigInt==`function`&&typeof e.getBigInt64==`function`&&typeof e.getBigUint64==`function`&&typeof e.setBigInt64==`function`&&typeof e.setBigUint64==`function`&&(typeof process!=`object`||{}.BUF_BIGINT_DISABLE!==`1`)){let t=BigInt(`-9223372036854775808`),n=BigInt(`9223372036854775807`),r=BigInt(`0`),i=BigInt(`18446744073709551615`);return{zero:BigInt(0),supported:!0,parse(e){let r=typeof e==`bigint`?e:BigInt(e);if(r>n||r<t)throw Error(`int64 invalid: ${e}`);return r},uParse(e){let t=typeof e==`bigint`?e:BigInt(e);if(t>i||t<r)throw Error(`uint64 invalid: ${e}`);return t},enc(t){return e.setBigInt64(0,this.parse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(t){return e.setBigInt64(0,this.uParse(t),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigInt64(0,!0)},uDec(t,n){return e.setInt32(0,t,!0),e.setInt32(4,n,!0),e.getBigUint64(0,!0)}}}let t=e=>G(/^-?[0-9]+$/.test(e),`int64 invalid: ${e}`),n=e=>G(/^[0-9]+$/.test(e),`uint64 invalid: ${e}`);return{zero:`0`,supported:!1,parse(e){return typeof e!=`string`&&(e=e.toString()),t(e),e},uParse(e){return typeof e!=`string`&&(e=e.toString()),n(e),e},enc(e){return typeof e!=`string`&&(e=e.toString()),t(e),vs(e)},uEnc(e){return typeof e!=`string`&&(e=e.toString()),n(e),vs(e)},dec(e,t){return ys(e,t)},uDec(e,t){return bs(e,t)}}}var q=Ds(),J;(function(e){e[e.DOUBLE=1]=`DOUBLE`,e[e.FLOAT=2]=`FLOAT`,e[e.INT64=3]=`INT64`,e[e.UINT64=4]=`UINT64`,e[e.INT32=5]=`INT32`,e[e.FIXED64=6]=`FIXED64`,e[e.FIXED32=7]=`FIXED32`,e[e.BOOL=8]=`BOOL`,e[e.STRING=9]=`STRING`,e[e.BYTES=12]=`BYTES`,e[e.UINT32=13]=`UINT32`,e[e.SFIXED32=15]=`SFIXED32`,e[e.SFIXED64=16]=`SFIXED64`,e[e.SINT32=17]=`SINT32`,e[e.SINT64=18]=`SINT64`})(J||={});var Os;(function(e){e[e.BIGINT=0]=`BIGINT`,e[e.STRING=1]=`STRING`})(Os||={});function ks(e,t,n){if(t===n)return!0;if(e==J.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let e=0;e<t.length;e++)if(t[e]!==n[e])return!1;return!0}switch(e){case J.UINT64:case J.FIXED64:case J.INT64:case J.SFIXED64:case J.SINT64:return t==n}return!1}function As(e,t){switch(e){case J.BOOL:return!1;case J.UINT64:case J.FIXED64:case J.INT64:case J.SFIXED64:case J.SINT64:return t==0?q.zero:`0`;case J.DOUBLE:case J.FLOAT:return 0;case J.BYTES:return new Uint8Array;case J.STRING:return``;default:return 0}}function js(e,t){switch(e){case J.BOOL:return t===!1;case J.STRING:return t===``;case J.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var Y;(function(e){e[e.Varint=0]=`Varint`,e[e.Bit64=1]=`Bit64`,e[e.LengthDelimited=2]=`LengthDelimited`,e[e.StartGroup=3]=`StartGroup`,e[e.EndGroup=4]=`EndGroup`,e[e.Bit32=5]=`Bit32`})(Y||={});var Ms=class{constructor(e){this.stack=[],this.textEncoder=e??new TextEncoder,this.chunks=[],this.buf=[]}finish(){this.chunks.push(new Uint8Array(this.buf));let e=0;for(let t=0;t<this.chunks.length;t++)e+=this.chunks[t].length;let t=new Uint8Array(e),n=0;for(let e=0;e<this.chunks.length;e++)t.set(this.chunks[e],n),n+=this.chunks[e].length;return this.chunks=[],t}fork(){return this.stack.push({chunks:this.chunks,buf:this.buf}),this.chunks=[],this.buf=[],this}join(){let e=this.finish(),t=this.stack.pop();if(!t)throw Error(`invalid state, fork stack empty`);return this.chunks=t.chunks,this.buf=t.buf,this.uint32(e.byteLength),this.raw(e)}tag(e,t){return this.uint32((e<<3|t)>>>0)}raw(e){return this.buf.length&&(this.chunks.push(new Uint8Array(this.buf)),this.buf=[]),this.chunks.push(e),this}uint32(e){for(os(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return as(e),Ts(e,this.buf),this}bool(e){return this.buf.push(+!!e),this}bytes(e){return this.uint32(e.byteLength),this.raw(e)}string(e){let t=this.textEncoder.encode(e);return this.uint32(t.byteLength),this.raw(t)}float(e){ss(e);let t=new Uint8Array(4);return new DataView(t.buffer).setFloat32(0,e,!0),this.raw(t)}double(e){let t=new Uint8Array(8);return new DataView(t.buffer).setFloat64(0,e,!0),this.raw(t)}fixed32(e){os(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){as(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return as(e),e=(e<<1^e>>31)>>>0,Ts(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=q.enc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}fixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=q.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=q.enc(e);return gs(t.lo,t.hi,this.buf),this}sint64(e){let t=q.enc(e),n=t.hi>>31;return gs(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=q.uEnc(e);return gs(t.lo,t.hi,this.buf),this}},Ns=class{constructor(e,t){this.varint64=hs,this.uint32=Es,this.buf=e,this.len=e.length,this.pos=0,this.view=new DataView(e.buffer,e.byteOffset,e.byteLength),this.textDecoder=t??new TextDecoder}tag(){let e=this.uint32(),t=e>>>3,n=e&7;if(t<=0||n<0||n>5)throw Error(`illegal tag: field no `+t+` wire type `+n);return[t,n]}skip(e,t){let n=this.pos;switch(e){case Y.Varint:for(;this.buf[this.pos++]&128;);break;case Y.Bit64:this.pos+=4;case Y.Bit32:this.pos+=4;break;case Y.LengthDelimited:let n=this.uint32();this.pos+=n;break;case Y.StartGroup:for(;;){let[e,n]=this.tag();if(n===Y.EndGroup){if(t!==void 0&&e!==t)throw Error(`invalid end group tag`);break}this.skip(n,e)}break;default:throw Error(`cant skip wire type `+e)}return this.assertBounds(),this.buf.subarray(n,this.pos)}assertBounds(){if(this.pos>this.len)throw RangeError(`premature EOF`)}int32(){return this.uint32()|0}sint32(){let e=this.uint32();return e>>>1^-(e&1)}int64(){return q.dec(...this.varint64())}uint64(){return q.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,q.dec(e,t)}bool(){let[e,t]=this.varint64();return e!==0||t!==0}fixed32(){return this.view.getUint32((this.pos+=4)-4,!0)}sfixed32(){return this.view.getInt32((this.pos+=4)-4,!0)}fixed64(){return q.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return q.dec(this.sfixed32(),this.sfixed32())}float(){return this.view.getFloat32((this.pos+=4)-4,!0)}double(){return this.view.getFloat64((this.pos+=8)-8,!0)}bytes(){let e=this.uint32(),t=this.pos;return this.pos+=e,this.assertBounds(),this.buf.subarray(t,t+e)}string(){return this.textDecoder.decode(this.bytes())}};function Ps(e,t,n,r){let i;return{typeName:t,extendee:n,get field(){if(!i){let n=typeof r==`function`?r():r;n.name=t.split(`.`).pop(),n.jsonName=`[${t}]`,i=e.util.newFieldList([n]).list()[0]}return i},runtime:e}}function Fs(e){let t=e.field.localName,n=Object.create(null);return n[t]=Is(e),[n,()=>n[t]]}function Is(e){let t=e.field;if(t.repeated)return[];if(t.default!==void 0)return t.default;switch(t.kind){case`enum`:return t.T.values[0].no;case`scalar`:return As(t.T,t.L);case`message`:let e=t.T,n=new e;return e.fieldWrapper?e.fieldWrapper.unwrapField(n):n;case`map`:throw`map fields are not allowed to be extensions`}}function Ls(e,t){if(!t.repeated&&(t.kind==`enum`||t.kind==`scalar`)){for(let n=e.length-1;n>=0;--n)if(e[n].no==t.no)return[e[n]];return[]}return e.filter(e=>e.no===t.no)}var Rs=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/`.split(``),zs=[];for(let e=0;e<Rs.length;e++)zs[Rs[e].charCodeAt(0)]=e;zs[45]=Rs.indexOf(`+`),zs[95]=Rs.indexOf(`/`);var Bs={dec(e){let t=e.length*3/4;e[e.length-2]==`=`?t-=2:e[e.length-1]==`=`&&--t;let n=new Uint8Array(t),r=0,i=0,a,o=0;for(let t=0;t<e.length;t++){if(a=zs[e.charCodeAt(t)],a===void 0)switch(e[t]){case`=`:i=0;case`
|
|
10
|
+
`:case`\r`:case` `:case` `:continue;default:throw Error(`invalid base64 string.`)}switch(i){case 0:o=a,i=1;break;case 1:n[r++]=o<<2|(a&48)>>4,o=a,i=2;break;case 2:n[r++]=(o&15)<<4|(a&60)>>2,o=a,i=3;break;case 3:n[r++]=(o&3)<<6|a,i=0}}if(i==1)throw Error(`invalid base64 string.`);return n.subarray(0,r)},enc(e){let t=``,n=0,r,i=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Rs[r>>2],i=(r&3)<<4,n=1;break;case 1:t+=Rs[i|r>>4],i=(r&15)<<2,n=2;break;case 2:t+=Rs[i|r>>6],t+=Rs[r&63],n=0}return n&&(t+=Rs[i],t+=`=`,n==1&&(t+=`=`)),t}};function Vs(e,t,n){Ws(t,e);let r=t.runtime.bin.makeReadOptions(n),i=Ls(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,o]=Fs(t);for(let e of i)t.runtime.bin.readField(a,r.readerFactory(e.data),t.field,e.wireType,r);return o()}function Hs(e,t,n,r){Ws(t,e);let i=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(Us(e,t)){let n=e.getType().runtime.bin.listUnknownFields(e).filter(e=>e.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let t of n)e.getType().runtime.bin.onUnknownField(e,t.no,t.wireType,t.data)}let o=a.writerFactory(),s=t.field;!s.opt&&!s.repeated&&(s.kind==`enum`||s.kind==`scalar`)&&(s=Object.assign(Object.assign({},t.field),{opt:!0})),t.runtime.bin.writeField(s,n,o,a);let c=i.readerFactory(o.finish());for(;c.pos<c.len;){let[t,n]=c.tag(),r=c.skip(n,t);e.getType().runtime.bin.onUnknownField(e,t,n,r)}}function Us(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(e=>e.no==t.field.no)}function Ws(e,t){G(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function Gs(e,t){let n=e.localName;if(e.repeated)return t[n].length>0;if(e.oneof)return t[e.oneof.localName].case===n;switch(e.kind){case`enum`:case`scalar`:return e.opt||e.req?t[n]!==void 0:e.kind==`enum`?t[n]!==e.T.values[0].no:!js(e.T,t[n]);case`message`:return t[n]!==void 0;case`map`:return Object.keys(t[n]).length>0}}function Ks(e,t){let n=e.localName,r=!e.opt&&!e.req;if(e.repeated)t[n]=[];else if(e.oneof)t[e.oneof.localName]={case:void 0};else switch(e.kind){case`map`:t[n]={};break;case`enum`:t[n]=r?e.T.values[0].no:void 0;break;case`scalar`:t[n]=r?As(e.T,e.L):void 0;break;case`message`:t[n]=void 0}}function qs(e,t){if(typeof e!=`object`||!e||!Object.getOwnPropertyNames(K.prototype).every(t=>t in e&&typeof e[t]==`function`))return!1;let n=e.getType();return n===null||typeof n!=`function`||!(`typeName`in n)||typeof n.typeName!=`string`?!1:t===void 0||n.typeName==t.typeName}function Js(e,t){return qs(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}J.DOUBLE,J.FLOAT,J.INT64,J.UINT64,J.INT32,J.UINT32,J.BOOL,J.STRING,J.BYTES;var Ys={ignoreUnknownFields:!1},Xs={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function Zs(e){return e?Object.assign(Object.assign({},Ys),e):Ys}function Qs(e){return e?Object.assign(Object.assign({},Xs),e):Xs}var $s=Symbol(),ec=Symbol();function tc(){return{makeReadOptions:Zs,makeWriteOptions:Qs,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!=`object`)throw Error(`cannot decode message ${e.typeName} from JSON: ${nc(t)}`);r??=new e;let i=new Map,a=n.typeRegistry;for(let[o,s]of Object.entries(t)){let t=e.fields.findJsonName(o);if(t){if(t.oneof){if(s===null&&t.kind==`scalar`)continue;let n=i.get(t.oneof);if(n!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${t.oneof.name}" present: "${n}", "${o}"`);i.set(t.oneof,o)}rc(r,s,t,n,e)}else{let t=!1;if(a?.findExtension&&o.startsWith(`[`)&&o.endsWith(`]`)){let i=a.findExtension(o.substring(1,o.length-1));if(i&&i.extendee.typeName==e.typeName){t=!0;let[e,a]=Fs(i);rc(e,s,i.field,n,i),Hs(r,i,a(),n)}}if(!t&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${o}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},i;try{for(i of n.fields.byNumber()){if(!Gs(i,e)){if(i.req)throw`required field not set`;if(!t.emitDefaultValues||!sc(i))continue}let n=i.oneof?e[i.oneof.localName].value:e[i.localName],a=cc(i,n,t);a!==void 0&&(r[t.useProtoFieldName?i.name:i.jsonName]=a)}let a=t.typeRegistry;if(a?.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let o=a.findExtensionFor(n.typeName,i.no);if(o&&Us(e,o)){let n=Vs(e,o,t),i=cc(o.field,n,t);i!==void 0&&(r[o.field.jsonName]=i)}}}catch(e){let t=i?`cannot encode field ${n.typeName}.${i.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,r=e instanceof Error?e.message:String(e);throw Error(t+(r.length>0?`: ${r}`:``))}return r},readScalar(e,t,n){return ac(e,t,n??Os.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||js(e,t)))return uc(e,t)},debug:nc}}function nc(e){if(e===null)return`null`;switch(typeof e){case`object`:return Array.isArray(e)?`array`:`object`;case`string`:return e.length>100?`string`:`"${e.split(`"`).join(`\\"`)}"`;default:return String(e)}}function rc(e,t,n,r,i){let a=n.localName;if(n.repeated){if(G(n.kind!=`map`),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${nc(t)}`);let o=e[a];for(let e of t){if(e===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${nc(e)}`);switch(n.kind){case`message`:o.push(n.T.fromJson(e,r));break;case`enum`:let t=oc(n.T,e,r.ignoreUnknownFields,!0);t!==ec&&o.push(t);break;case`scalar`:try{o.push(ac(n.T,e,n.L,!0))}catch(t){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${nc(e)}`;throw t instanceof Error&&t.message.length>0&&(r+=`: ${t.message}`),Error(r)}}}}else if(n.kind==`map`){if(t===null)return;if(typeof t!=`object`||Array.isArray(t))throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: ${nc(t)}`);let o=e[a];for(let[e,a]of Object.entries(t)){if(a===null)throw Error(`cannot decode field ${i.typeName}.${n.name} from JSON: map value null`);let s;try{s=ic(n.K,e)}catch(e){let r=`cannot decode map key for field ${i.typeName}.${n.name} from JSON: ${nc(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}switch(n.V.kind){case`message`:o[s]=n.V.T.fromJson(a,r);break;case`enum`:let e=oc(n.V.T,a,r.ignoreUnknownFields,!0);e!==ec&&(o[s]=e);break;case`scalar`:try{o[s]=ac(n.V.T,a,Os.BIGINT,!0)}catch(e){let r=`cannot decode map value for field ${i.typeName}.${n.name} from JSON: ${nc(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a=`value`),n.kind){case`message`:let o=n.T;if(t===null&&o.typeName!=`google.protobuf.Value`)return;let s=e[a];qs(s)?s.fromJson(t,r):(e[a]=s=o.fromJson(t,r),o.fieldWrapper&&!n.oneof&&(e[a]=o.fieldWrapper.unwrapField(s)));break;case`enum`:let c=oc(n.T,t,r.ignoreUnknownFields,!1);switch(c){case $s:Ks(n,e);break;case ec:break;default:e[a]=c}break;case`scalar`:try{let r=ac(n.T,t,n.L,!1);switch(r){case $s:Ks(n,e);break;default:e[a]=r}}catch(e){let r=`cannot decode field ${i.typeName}.${n.name} from JSON: ${nc(t)}`;throw e instanceof Error&&e.message.length>0&&(r+=`: ${e.message}`),Error(r)}}}function ic(e,t){if(e===J.BOOL)switch(t){case`true`:t=!0;break;case`false`:t=!1}return ac(e,t,Os.BIGINT,!0).toString()}function ac(e,t,n,r){if(t===null)return r?As(e,n):$s;switch(e){case J.DOUBLE:case J.FLOAT:if(t===`NaN`)return NaN;if(t===`Infinity`)return 1/0;if(t===`-Infinity`)return-1/0;if(t===``||typeof t==`string`&&t.trim().length!==t.length||typeof t!=`string`&&typeof t!=`number`)break;let r=Number(t);if(Number.isNaN(r)||!Number.isFinite(r))break;return e==J.FLOAT&&ss(r),r;case J.INT32:case J.FIXED32:case J.SFIXED32:case J.SINT32:case J.UINT32:let i;if(typeof t==`number`?i=t:typeof t==`string`&&t.length>0&&t.trim().length===t.length&&(i=Number(t)),i===void 0)break;return e==J.UINT32||e==J.FIXED32?os(i):as(i),i;case J.INT64:case J.SFIXED64:case J.SINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let a=q.parse(t);return n?a.toString():a;case J.FIXED64:case J.UINT64:if(typeof t!=`number`&&typeof t!=`string`)break;let o=q.uParse(t);return n?o.toString():o;case J.BOOL:if(typeof t!=`boolean`)break;return t;case J.STRING:if(typeof t!=`string`)break;return t;case J.BYTES:if(t===``)return new Uint8Array;if(typeof t!=`string`)break;return Bs.dec(t)}throw Error()}function oc(e,t,n,r){if(t===null)return e.typeName==`google.protobuf.NullValue`?0:r?e.values[0].no:$s;switch(typeof t){case`number`:if(Number.isInteger(t))return t;break;case`string`:let r=e.findName(t);if(r!==void 0)return r.no;if(n)return ec}throw Error(`cannot decode enum ${e.typeName} from JSON: ${nc(t)}`)}function sc(e){return e.repeated||e.kind==`map`?!0:!(e.oneof||e.kind==`message`||e.opt||e.req)}function cc(e,t,n){if(e.kind==`map`){G(typeof t==`object`&&!!t);let r={},i=Object.entries(t);switch(e.V.kind){case`scalar`:for(let[t,n]of i)r[t.toString()]=uc(e.V.T,n);break;case`message`:for(let[e,t]of i)r[e.toString()]=t.toJson(n);break;case`enum`:let t=e.V.T;for(let[e,a]of i)r[e.toString()]=lc(t,a,n.enumAsInteger)}return n.emitDefaultValues||i.length>0?r:void 0}if(e.repeated){G(Array.isArray(t));let r=[];switch(e.kind){case`scalar`:for(let n=0;n<t.length;n++)r.push(uc(e.T,t[n]));break;case`enum`:for(let i=0;i<t.length;i++)r.push(lc(e.T,t[i],n.enumAsInteger));break;case`message`:for(let e=0;e<t.length;e++)r.push(t[e].toJson(n))}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case`scalar`:return uc(e.T,t);case`enum`:return lc(e.T,t,n.enumAsInteger);case`message`:return Js(e.T,t).toJson(n)}}function lc(e,t,n){return G(typeof t==`number`),e.typeName==`google.protobuf.NullValue`?null:n?t:e.findNumber(t)?.name??t}function uc(e,t){switch(e){case J.INT32:case J.SFIXED32:case J.SINT32:case J.FIXED32:case J.UINT32:return G(typeof t==`number`),t;case J.FLOAT:case J.DOUBLE:return G(typeof t==`number`),Number.isNaN(t)?`NaN`:t===1/0?`Infinity`:t===-1/0?`-Infinity`:t;case J.STRING:return G(typeof t==`string`),t;case J.BOOL:return G(typeof t==`boolean`),t;case J.UINT64:case J.FIXED64:case J.INT64:case J.SFIXED64:case J.SINT64:return G(typeof t==`bigint`||typeof t==`string`||typeof t==`number`),t.toString();case J.BYTES:return G(t instanceof Uint8Array),Bs.enc(t)}}var dc=Symbol(`@bufbuild/protobuf/unknown-fields`),fc={readUnknownFields:!0,readerFactory:e=>new Ns(e)},pc={writeUnknownFields:!0,writerFactory:()=>new Ms};function mc(e){return e?Object.assign(Object.assign({},fc),e):fc}function hc(e){return e?Object.assign(Object.assign({},pc),e):pc}function gc(){return{makeReadOptions:mc,makeWriteOptions:hc,listUnknownFields(e){return e[dc]??[]},discardUnknownFields(e){delete e[dc]},writeUnknownFields(e,t){let n=e[dc];if(n)for(let e of n)t.tag(e.no,e.wireType).raw(e.data)},onUnknownField(e,t,n,r){let i=e;Array.isArray(i[dc])||(i[dc]=[]),i[dc].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,i){let a=e.getType(),o=i?t.len:t.pos+n,s,c;for(;t.pos<o&&([s,c]=t.tag(),i!==!0||c!=Y.EndGroup);){let n=a.fields.find(s);if(!n){let n=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,n);continue}_c(e,t,n,c,r)}if(i&&(c!=Y.EndGroup||s!==n))throw Error(`invalid end group tag`)},readField:_c,writeMessage(e,t,n){let r=e.getType();for(let i of r.fields.byNumber()){if(!Gs(i,e)){if(i.req)throw Error(`cannot encode field ${r.typeName}.${i.name} to binary: required field not set`);continue}Sc(i,i.oneof?e[i.oneof.localName].value:e[i.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Sc(e,t,n,r)}}}function _c(e,t,n,r,i){let{repeated:a,localName:o}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=o&&delete e.value,e.case=o,o=`value`),n.kind){case`scalar`:case`enum`:let s=n.kind==`enum`?J.INT32:n.T,c=xc;if(n.kind==`scalar`&&n.L>0&&(c=bc),a){let n=e[o];if(r==Y.LengthDelimited&&s!=J.STRING&&s!=J.BYTES){let e=t.uint32()+t.pos;for(;t.pos<e;)n.push(c(t,s))}else n.push(c(t,s))}else e[o]=c(t,s);break;case`message`:let l=n.T;a?e[o].push(vc(t,new l,i,n)):qs(e[o])?vc(t,e[o],i,n):(e[o]=vc(t,new l,i,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[o]=l.fieldWrapper.unwrapField(e[o])));break;case`map`:let[u,d]=yc(n,t,i);e[o][u]=d}}function vc(e,t,n,r){let i=t.getType().runtime.bin,a=r?.delimited;return i.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function yc(e,t,n){let r=t.uint32(),i=t.pos+r,a,o;for(;t.pos<i;){let[r]=t.tag();switch(r){case 1:a=xc(t,e.K);break;case 2:switch(e.V.kind){case`scalar`:o=xc(t,e.V.T);break;case`enum`:o=t.int32();break;case`message`:o=vc(t,new e.V.T,n,void 0)}}}if(a===void 0&&(a=As(e.K,Os.BIGINT)),typeof a!=`string`&&typeof a!=`number`&&(a=a.toString()),o===void 0)switch(e.V.kind){case`scalar`:o=As(e.V.T,Os.BIGINT);break;case`enum`:o=e.V.T.values[0].no;break;case`message`:o=new e.V.T}return[a,o]}function bc(e,t){let n=xc(e,t);return typeof n==`bigint`?n.toString():n}function xc(e,t){switch(t){case J.STRING:return e.string();case J.BOOL:return e.bool();case J.DOUBLE:return e.double();case J.FLOAT:return e.float();case J.INT32:return e.int32();case J.INT64:return e.int64();case J.UINT64:return e.uint64();case J.FIXED64:return e.fixed64();case J.BYTES:return e.bytes();case J.FIXED32:return e.fixed32();case J.SFIXED32:return e.sfixed32();case J.SFIXED64:return e.sfixed64();case J.SINT64:return e.sint64();case J.UINT32:return e.uint32();case J.SINT32:return e.sint32()}}function Sc(e,t,n,r){G(t!==void 0);let i=e.repeated;switch(e.kind){case`scalar`:case`enum`:let a=e.kind==`enum`?J.INT32:e.T;if(i){if(G(Array.isArray(t)),e.packed)Ec(n,a,e.no,t);else for(let r of t)Tc(n,a,e.no,r)}else Tc(n,a,e.no,t);break;case`message`:if(i){G(Array.isArray(t));for(let i of t)wc(n,r,e,i)}else wc(n,r,e,t);break;case`map`:G(typeof t==`object`&&!!t);for(let[i,a]of Object.entries(t))Cc(n,r,e,i,a)}}function Cc(e,t,n,r,i){e.tag(n.no,Y.LengthDelimited),e.fork();let a=r;switch(n.K){case J.INT32:case J.FIXED32:case J.UINT32:case J.SFIXED32:case J.SINT32:a=Number.parseInt(r);break;case J.BOOL:G(r==`true`||r==`false`),a=r==`true`}switch(Tc(e,n.K,1,a),n.V.kind){case`scalar`:Tc(e,n.V.T,2,i);break;case`enum`:Tc(e,J.INT32,2,i);break;case`message`:G(i!==void 0),e.tag(2,Y.LengthDelimited).bytes(i.toBinary(t))}e.join()}function wc(e,t,n,r){let i=Js(n.T,r);n.delimited?e.tag(n.no,Y.StartGroup).raw(i.toBinary(t)).tag(n.no,Y.EndGroup):e.tag(n.no,Y.LengthDelimited).bytes(i.toBinary(t))}function Tc(e,t,n,r){G(r!==void 0);let[i,a]=Dc(t);e.tag(n,i)[a](r)}function Ec(e,t,n,r){if(!r.length)return;e.tag(n,Y.LengthDelimited).fork();let[,i]=Dc(t);for(let t=0;t<r.length;t++)e[i](r[t]);e.join()}function Dc(e){let t=Y.Varint;switch(e){case J.BYTES:case J.STRING:t=Y.LengthDelimited;break;case J.DOUBLE:case J.FIXED64:case J.SFIXED64:t=Y.Bit64;break;case J.FIXED32:case J.SFIXED32:case J.FLOAT:t=Y.Bit32}let n=J[e].toLowerCase();return[t,n]}function Oc(){return{setEnumType:us,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let n=r.localName,i=t,a=e;if(a[n]!=null)switch(r.kind){case`oneof`:let e=a[n].case;if(e===void 0)continue;let t=r.findField(e),o=a[n].value;t&&t.kind==`message`&&!qs(o,t.T)?o=new t.T(o):t&&t.kind===`scalar`&&t.T===J.BYTES&&(o=Ac(o)),i[n]={case:e,value:o};break;case`scalar`:case`enum`:let s=a[n];r.T===J.BYTES&&(s=r.repeated?s.map(Ac):Ac(s)),i[n]=s;break;case`map`:switch(r.V.kind){case`scalar`:case`enum`:if(r.V.T===J.BYTES)for(let[e,t]of Object.entries(a[n]))i[n][e]=Ac(t);else Object.assign(i[n],a[n]);break;case`message`:let e=r.V.T;for(let t of Object.keys(a[n])){let r=a[n][t];e.fieldWrapper||(r=new e(r)),i[n][t]=r}}break;case`message`:let c=r.T;if(r.repeated)i[n]=a[n].map(e=>qs(e,c)?e:new c(e));else{let e=a[n];i[n]=c.fieldWrapper?c.typeName===`google.protobuf.BytesValue`?Ac(e):e:qs(e,c)?e:new c(e)}}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(e=>{let r=t[e.localName],i=n[e.localName];if(e.repeated){if(r.length!==i.length)return!1;switch(e.kind){case`message`:return r.every((t,n)=>e.T.equals(t,i[n]));case`scalar`:return r.every((t,n)=>ks(e.T,t,i[n]));case`enum`:return r.every((e,t)=>ks(J.INT32,e,i[t]))}throw Error(`repeated cannot contain ${e.kind}`)}switch(e.kind){case`message`:let t=r,n=i;return e.T.fieldWrapper&&(t!==void 0&&!qs(t)&&(t=e.T.fieldWrapper.wrapField(t)),n!==void 0&&!qs(n)&&(n=e.T.fieldWrapper.wrapField(n))),e.T.equals(t,n);case`enum`:return ks(J.INT32,r,i);case`scalar`:return ks(e.T,r,i);case`oneof`:if(r.case!==i.case)return!1;let a=e.findField(r.case);if(a===void 0)return!0;switch(a.kind){case`message`:return a.T.equals(r.value,i.value);case`enum`:return ks(J.INT32,r.value,i.value);case`scalar`:return ks(a.T,r.value,i.value)}throw Error(`oneof cannot contain ${a.kind}`);case`map`:let o=Object.keys(r).concat(Object.keys(i));switch(e.V.kind){case`message`:let t=e.V.T;return o.every(e=>t.equals(r[e],i[e]));case`enum`:return o.every(e=>ks(J.INT32,r[e],i[e]));case`scalar`:let n=e.V.T;return o.every(e=>ks(n,r[e],i[e]))}}})},clone(e){let t=e.getType(),n=new t,r=n;for(let n of t.fields.byMember()){let t=e[n.localName],i;if(n.repeated)i=t.map(kc);else if(n.kind==`map`){i=r[n.localName];for(let[e,n]of Object.entries(t))i[e]=kc(n)}else i=n.kind==`oneof`?n.findField(t.case)?{case:t.case,value:kc(t.value)}:{case:void 0}:kc(t);r[n.localName]=i}for(let n of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,n.no,n.wireType,n.data);return n}}}function kc(e){if(e===void 0)return e;if(qs(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Ac(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function jc(e,t,n){return{syntax:e,json:tc(),bin:gc(),util:Object.assign(Object.assign({},Oc()),{newFieldList:t,initFields:n}),makeMessageType(e,t,n){return ms(this,e,t,n)},makeEnum:fs,makeEnumType:ds,getEnumType:ls,makeExtension(e,t,n){return Ps(this,e,t,n)}}}var Mc=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let e={};for(let t of this.list())e[t.jsonName]=e[t.name]=t;this.jsonNames=e}return this.jsonNames[e]}find(e){if(!this.numbers){let e={};for(let t of this.list())e[t.no]=t;this.numbers=e}return this.numbers[e]}list(){return this.all||=this._normalizer(this._fields),this.all}byNumber(){return this.numbersAsc||=this.list().concat().sort((e,t)=>e.no-t.no),this.numbersAsc}byMember(){if(!this.members){this.members=[];let e=this.members,t;for(let n of this.list())n.oneof?n.oneof!==t&&(t=n.oneof,e.push(t)):e.push(n)}return this.members}};function Nc(e,t){let n=Ic(e);return t?n:Vc(Bc(n))}function Pc(e){return Nc(e,!1)}var Fc=Ic;function Ic(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let i=e.charAt(r);switch(i){case`_`:t=!0;break;case`0`:case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:n.push(i),t=!1;break;default:t&&(t=!1,i=i.toUpperCase()),n.push(i)}}return n.join(``)}var Lc=new Set([`constructor`,`toString`,`toJSON`,`valueOf`]),Rc=new Set([`getType`,`clone`,`equals`,`fromBinary`,`fromJson`,`fromJsonString`,`toBinary`,`toJson`,`toJsonString`,`toObject`]),zc=e=>`${e}$`,Bc=e=>Rc.has(e)?zc(e):e,Vc=e=>Lc.has(e)?zc(e):e,Hc=class{constructor(e){this.kind=`oneof`,this.repeated=!1,this.packed=!1,this.opt=!1,this.req=!1,this.default=void 0,this.fields=[],this.name=e,this.localName=Pc(e)}addField(e){G(e.oneof===this,`field ${e.name} not one of ${this.name}`),this.fields.push(e)}findField(e){if(!this._lookup){this._lookup=Object.create(null);for(let e=0;e<this.fields.length;e++)this._lookup[this.fields[e].localName]=this.fields[e]}return this._lookup[e]}};function Uc(e,t){let n=[],r;for(let i of typeof e==`function`?e():e){let e=i;if(e.localName=Nc(i.name,i.oneof!==void 0),e.jsonName=i.jsonName??Fc(i.name),e.repeated=i.repeated??!1,i.kind==`scalar`&&(e.L=i.L??Os.BIGINT),e.delimited=i.delimited??!1,e.req=i.req??!1,e.opt=i.opt??!1,i.packed===void 0&&(e.packed=t?i.kind==`enum`||i.kind==`scalar`&&i.T!=J.BYTES&&i.T!=J.STRING:!1),i.oneof!==void 0){let t=typeof i.oneof==`string`?i.oneof:i.oneof.name;(!r||r.name!=t)&&(r=new Hc(t)),e.oneof=r,r.addField(e)}n.push(e)}return n}var X=jc(`proto3`,e=>new Mc(e,e=>Uc(e,!0)),e=>{for(let t of e.getType().fields.byMember()){if(t.opt)continue;let n=t.localName,r=e;if(t.repeated){r[n]=[];continue}switch(t.kind){case`oneof`:r[n]={case:void 0};break;case`enum`:r[n]=0;break;case`map`:r[n]={};break;case`scalar`:r[n]=As(t.T,t.L)}}}),Wc;(function(e){e[e.Unary=0]=`Unary`,e[e.ServerStreaming=1]=`ServerStreaming`,e[e.ClientStreaming=2]=`ClientStreaming`,e[e.BiDiStreaming=3]=`BiDiStreaming`})(Wc||={});var Gc;(function(e){e[e.NoSideEffects=1]=`NoSideEffects`,e[e.Idempotent=2]=`Idempotent`})(Gc||={});var Kc;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.JUPYTER_FORMAT=77]=`JUPYTER_FORMAT`})(Kc||={}),X.util.setEnumType(Kc,`exa.codeium_common_pb.ExperimentKey`,[{no:0,name:`UNSPECIFIED`},{no:77,name:`JUPYTER_FORMAT`}]);var qc;(function(e){e[e.CODEIUM=0]=`CODEIUM`})(qc||={}),X.util.setEnumType(qc,`exa.codeium_common_pb.AuthSource`,[{no:0,name:`AUTH_SOURCE_CODEIUM`}]);var Jc;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.ENABLE_CODEIUM=1]=`ENABLE_CODEIUM`,e[e.DISABLE_CODEIUM=2]=`DISABLE_CODEIUM`,e[e.SHOW_PREVIOUS_COMPLETION=3]=`SHOW_PREVIOUS_COMPLETION`,e[e.SHOW_NEXT_COMPLETION=4]=`SHOW_NEXT_COMPLETION`})(Jc||={}),X.util.setEnumType(Jc,`exa.codeium_common_pb.EventType`,[{no:0,name:`EVENT_TYPE_UNSPECIFIED`},{no:1,name:`EVENT_TYPE_ENABLE_CODEIUM`},{no:2,name:`EVENT_TYPE_DISABLE_CODEIUM`},{no:3,name:`EVENT_TYPE_SHOW_PREVIOUS_COMPLETION`},{no:4,name:`EVENT_TYPE_SHOW_NEXT_COMPLETION`}]);var Yc;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.TYPING_AS_SUGGESTED=1]=`TYPING_AS_SUGGESTED`,e[e.CACHE=2]=`CACHE`,e[e.NETWORK=3]=`NETWORK`})(Yc||={}),X.util.setEnumType(Yc,`exa.codeium_common_pb.CompletionSource`,[{no:0,name:`COMPLETION_SOURCE_UNSPECIFIED`},{no:1,name:`COMPLETION_SOURCE_TYPING_AS_SUGGESTED`},{no:2,name:`COMPLETION_SOURCE_CACHE`},{no:3,name:`COMPLETION_SOURCE_NETWORK`}]);var Xc;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.C=1]=`C`,e[e.CLOJURE=2]=`CLOJURE`,e[e.COFFEESCRIPT=3]=`COFFEESCRIPT`,e[e.CPP=4]=`CPP`,e[e.CSHARP=5]=`CSHARP`,e[e.CSS=6]=`CSS`,e[e.CUDACPP=7]=`CUDACPP`,e[e.DOCKERFILE=8]=`DOCKERFILE`,e[e.GO=9]=`GO`,e[e.GROOVY=10]=`GROOVY`,e[e.HANDLEBARS=11]=`HANDLEBARS`,e[e.HASKELL=12]=`HASKELL`,e[e.HCL=13]=`HCL`,e[e.HTML=14]=`HTML`,e[e.INI=15]=`INI`,e[e.JAVA=16]=`JAVA`,e[e.JAVASCRIPT=17]=`JAVASCRIPT`,e[e.JSON=18]=`JSON`,e[e.JULIA=19]=`JULIA`,e[e.KOTLIN=20]=`KOTLIN`,e[e.LATEX=21]=`LATEX`,e[e.LESS=22]=`LESS`,e[e.LUA=23]=`LUA`,e[e.MAKEFILE=24]=`MAKEFILE`,e[e.MARKDOWN=25]=`MARKDOWN`,e[e.OBJECTIVEC=26]=`OBJECTIVEC`,e[e.OBJECTIVECPP=27]=`OBJECTIVECPP`,e[e.PERL=28]=`PERL`,e[e.PHP=29]=`PHP`,e[e.PLAINTEXT=30]=`PLAINTEXT`,e[e.PROTOBUF=31]=`PROTOBUF`,e[e.PBTXT=32]=`PBTXT`,e[e.PYTHON=33]=`PYTHON`,e[e.R=34]=`R`,e[e.RUBY=35]=`RUBY`,e[e.RUST=36]=`RUST`,e[e.SASS=37]=`SASS`,e[e.SCALA=38]=`SCALA`,e[e.SCSS=39]=`SCSS`,e[e.SHELL=40]=`SHELL`,e[e.SQL=41]=`SQL`,e[e.STARLARK=42]=`STARLARK`,e[e.SWIFT=43]=`SWIFT`,e[e.TSX=44]=`TSX`,e[e.TYPESCRIPT=45]=`TYPESCRIPT`,e[e.VISUALBASIC=46]=`VISUALBASIC`,e[e.VUE=47]=`VUE`,e[e.XML=48]=`XML`,e[e.XSL=49]=`XSL`,e[e.YAML=50]=`YAML`,e[e.SVELTE=51]=`SVELTE`,e[e.TOML=52]=`TOML`,e[e.DART=53]=`DART`,e[e.RST=54]=`RST`,e[e.OCAML=55]=`OCAML`,e[e.CMAKE=56]=`CMAKE`,e[e.PASCAL=57]=`PASCAL`,e[e.ELIXIR=58]=`ELIXIR`,e[e.FSHARP=59]=`FSHARP`,e[e.LISP=60]=`LISP`,e[e.MATLAB=61]=`MATLAB`,e[e.POWERSHELL=62]=`POWERSHELL`,e[e.SOLIDITY=63]=`SOLIDITY`,e[e.ADA=64]=`ADA`,e[e.OCAML_INTERFACE=65]=`OCAML_INTERFACE`})(Xc||={}),X.util.setEnumType(Xc,`exa.codeium_common_pb.Language`,[{no:0,name:`LANGUAGE_UNSPECIFIED`},{no:1,name:`LANGUAGE_C`},{no:2,name:`LANGUAGE_CLOJURE`},{no:3,name:`LANGUAGE_COFFEESCRIPT`},{no:4,name:`LANGUAGE_CPP`},{no:5,name:`LANGUAGE_CSHARP`},{no:6,name:`LANGUAGE_CSS`},{no:7,name:`LANGUAGE_CUDACPP`},{no:8,name:`LANGUAGE_DOCKERFILE`},{no:9,name:`LANGUAGE_GO`},{no:10,name:`LANGUAGE_GROOVY`},{no:11,name:`LANGUAGE_HANDLEBARS`},{no:12,name:`LANGUAGE_HASKELL`},{no:13,name:`LANGUAGE_HCL`},{no:14,name:`LANGUAGE_HTML`},{no:15,name:`LANGUAGE_INI`},{no:16,name:`LANGUAGE_JAVA`},{no:17,name:`LANGUAGE_JAVASCRIPT`},{no:18,name:`LANGUAGE_JSON`},{no:19,name:`LANGUAGE_JULIA`},{no:20,name:`LANGUAGE_KOTLIN`},{no:21,name:`LANGUAGE_LATEX`},{no:22,name:`LANGUAGE_LESS`},{no:23,name:`LANGUAGE_LUA`},{no:24,name:`LANGUAGE_MAKEFILE`},{no:25,name:`LANGUAGE_MARKDOWN`},{no:26,name:`LANGUAGE_OBJECTIVEC`},{no:27,name:`LANGUAGE_OBJECTIVECPP`},{no:28,name:`LANGUAGE_PERL`},{no:29,name:`LANGUAGE_PHP`},{no:30,name:`LANGUAGE_PLAINTEXT`},{no:31,name:`LANGUAGE_PROTOBUF`},{no:32,name:`LANGUAGE_PBTXT`},{no:33,name:`LANGUAGE_PYTHON`},{no:34,name:`LANGUAGE_R`},{no:35,name:`LANGUAGE_RUBY`},{no:36,name:`LANGUAGE_RUST`},{no:37,name:`LANGUAGE_SASS`},{no:38,name:`LANGUAGE_SCALA`},{no:39,name:`LANGUAGE_SCSS`},{no:40,name:`LANGUAGE_SHELL`},{no:41,name:`LANGUAGE_SQL`},{no:42,name:`LANGUAGE_STARLARK`},{no:43,name:`LANGUAGE_SWIFT`},{no:44,name:`LANGUAGE_TSX`},{no:45,name:`LANGUAGE_TYPESCRIPT`},{no:46,name:`LANGUAGE_VISUALBASIC`},{no:47,name:`LANGUAGE_VUE`},{no:48,name:`LANGUAGE_XML`},{no:49,name:`LANGUAGE_XSL`},{no:50,name:`LANGUAGE_YAML`},{no:51,name:`LANGUAGE_SVELTE`},{no:52,name:`LANGUAGE_TOML`},{no:53,name:`LANGUAGE_DART`},{no:54,name:`LANGUAGE_RST`},{no:55,name:`LANGUAGE_OCAML`},{no:56,name:`LANGUAGE_CMAKE`},{no:57,name:`LANGUAGE_PASCAL`},{no:58,name:`LANGUAGE_ELIXIR`},{no:59,name:`LANGUAGE_FSHARP`},{no:60,name:`LANGUAGE_LISP`},{no:61,name:`LANGUAGE_MATLAB`},{no:62,name:`LANGUAGE_POWERSHELL`},{no:63,name:`LANGUAGE_SOLIDITY`},{no:64,name:`LANGUAGE_ADA`},{no:65,name:`LANGUAGE_OCAML_INTERFACE`}]);var Zc=class e extends K{completionId=``;text=``;prefix=``;stop=``;score=0;tokens=[];decodedTokens=[];probabilities=[];adjustedProbabilities=[];generatedLength=q.zero;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.codeium_common_pb.Completion`;static fields=X.util.newFieldList(()=>[{no:1,name:`completion_id`,kind:`scalar`,T:9},{no:2,name:`text`,kind:`scalar`,T:9},{no:3,name:`prefix`,kind:`scalar`,T:9},{no:4,name:`stop`,kind:`scalar`,T:9},{no:5,name:`score`,kind:`scalar`,T:1},{no:6,name:`tokens`,kind:`scalar`,T:4,repeated:!0},{no:7,name:`decoded_tokens`,kind:`scalar`,T:9,repeated:!0},{no:8,name:`probabilities`,kind:`scalar`,T:1,repeated:!0},{no:9,name:`adjusted_probabilities`,kind:`scalar`,T:1,repeated:!0},{no:10,name:`generated_length`,kind:`scalar`,T:4}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Qc=class e extends K{ideName=``;ideVersion=``;extensionName=``;extensionVersion=``;apiKey=``;locale=``;sessionId=``;requestId=q.zero;userAgent=``;url=``;authSource=qc.CODEIUM;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.codeium_common_pb.Metadata`;static fields=X.util.newFieldList(()=>[{no:1,name:`ide_name`,kind:`scalar`,T:9},{no:7,name:`ide_version`,kind:`scalar`,T:9},{no:12,name:`extension_name`,kind:`scalar`,T:9},{no:2,name:`extension_version`,kind:`scalar`,T:9},{no:3,name:`api_key`,kind:`scalar`,T:9},{no:4,name:`locale`,kind:`scalar`,T:9},{no:10,name:`session_id`,kind:`scalar`,T:9},{no:9,name:`request_id`,kind:`scalar`,T:4},{no:13,name:`user_agent`,kind:`scalar`,T:9},{no:14,name:`url`,kind:`scalar`,T:9},{no:15,name:`auth_source`,kind:`enum`,T:X.getEnumType(qc)}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},$c=class e extends K{tabSize=q.zero;insertSpaces=!1;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.codeium_common_pb.EditorOptions`;static fields=X.util.newFieldList(()=>[{no:1,name:`tab_size`,kind:`scalar`,T:4},{no:2,name:`insert_spaces`,kind:`scalar`,T:8}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}};(class e extends K{eventType=Jc.UNSPECIFIED;eventJson=``;timestampUnixMs=q.zero;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.codeium_common_pb.Event`;static fields=X.util.newFieldList(()=>[{no:1,name:`event_type`,kind:`enum`,T:X.getEnumType(Jc)},{no:2,name:`event_json`,kind:`scalar`,T:9},{no:3,name:`timestamp_unix_ms`,kind:`scalar`,T:3}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}});var el=class extends Mr{index;total;constructor(e,t){super(),this.index=e,this.total=t}toDOM(){let e=document.createElement(`span`);e.setAttribute(`aria-hidden`,`true`),e.className=`cm-codeium-cycle`;let t=e.appendChild(document.createElement(`span`));t.className=`cm-codeium-cycle-explanation`,t.innerText=`${this.index+1}/${this.total}`;let n=e.appendChild(document.createElement(`button`));return n.className=`cm-codeium-cycle-key`,n.innerText=`→ (Ctrl ])`,n.dataset.action=`codeium-cycle`,e}ignoreEvent(){return!1}},tl=Sr.define({combine(e){return Fr(e,{language:Xc.TYPESCRIPT,timeout:150,widgetClass:el,alwaysOn:!0},{})}}),nl=Sr.define({combine(e){return Fr(e,{override:()=>[]},{})}}),rl=R.mark({class:`cm-ghostText`}),il=dr.define({create(e){return null},update(e,t){let n=t.state.facet(tl);for(let e of t.effects){if(e.is(Zo)){let{changeSpecs:t,index:r}=e.value,i=t[r].map(e=>rl.range(e.absoluteStartPos,e.absoluteEndPos)),a=i.at(-1)?.to;return{index:r,decorations:R.set([...i,...a!==void 0&&t.length>1&&n.widgetClass?[R.widget({widget:new n.widgetClass(r,t.length),side:1}).range(a)]:[]]),changeSpecs:t,reverseChangeSet:e.value.reverseChangeSet}}if(e.is(Qo)||e.is($o))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>z.decorations.from(e,e=>e?.decorations||R.none)}),al=Wr.define(),ol=Wr.define(),Z;(function(e){e[e.Canceled=1]=`Canceled`,e[e.Unknown=2]=`Unknown`,e[e.InvalidArgument=3]=`InvalidArgument`,e[e.DeadlineExceeded=4]=`DeadlineExceeded`,e[e.NotFound=5]=`NotFound`,e[e.AlreadyExists=6]=`AlreadyExists`,e[e.PermissionDenied=7]=`PermissionDenied`,e[e.ResourceExhausted=8]=`ResourceExhausted`,e[e.FailedPrecondition=9]=`FailedPrecondition`,e[e.Aborted=10]=`Aborted`,e[e.OutOfRange=11]=`OutOfRange`,e[e.Unimplemented=12]=`Unimplemented`,e[e.Internal=13]=`Internal`,e[e.Unavailable=14]=`Unavailable`,e[e.DataLoss=15]=`DataLoss`,e[e.Unauthenticated=16]=`Unauthenticated`})(Z||={});function sl(e){let t=Z[e];return typeof t==`string`?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,e=>`_`+e.toLowerCase()):e.toString()}var cl;function ll(e){if(!cl){cl={};for(let e of Object.values(Z))typeof e!=`string`&&(cl[sl(e)]=e)}return cl[e]}var ul=class e extends Error{constructor(e,t=Z.Unknown,n,r,i){super(dl(e,t)),this.name=`ConnectError`,Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=e,this.code=t,this.metadata=new Headers(n??{}),this.details=r??[],this.cause=i}static from(t,n=Z.Unknown){return t instanceof e?t:t instanceof Error?t.name==`AbortError`?new e(t.message,Z.Canceled):new e(t.message,n,void 0,void 0,t):new e(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===e.prototype||t.name===`ConnectError`&&`code`in t&&typeof t.code==`number`&&`metadata`in t&&`details`in t&&Array.isArray(t.details)&&`rawMessage`in t&&typeof t.rawMessage==`string`&&`cause`in t:!1}findDetails(e){let t=`typeName`in e?{findMessage:t=>t===e.typeName?e:void 0}:e,n=[];for(let e of this.details){if(`getType`in e){t.findMessage(e.getType().typeName)&&n.push(e);continue}let r=t.findMessage(e.type);if(r)try{n.push(r.fromBinary(e.value))}catch{}}return n}};function dl(e,t){return e.length?`[${sl(t)}] ${e}`:`[${sl(t)}]`}function fl(...e){let t=new Headers;for(let n of e)n.forEach((e,n)=>{t.append(n,e)});return t}function pl(e,t){let n={};for(let[r,i]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},i),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function ml(e){let t,n=new Uint8Array;function r(e){let t=new Uint8Array(n.length+e.length);t.set(n),t.set(e,n.length),n=t}return new ReadableStream({start(){t=e.getReader()},async pull(e){let i;for(;;){if(i===void 0&&n.byteLength>=5){let e=0;for(let t=1;t<5;t++)e=(e<<8)+n[t];i={flags:n[0],length:e}}if(i!==void 0&&n.byteLength>=i.length+5)break;let e=await t.read();if(e.done)break;r(e.value)}if(i===void 0){if(n.byteLength==0){e.close();return}e.error(new ul(`premature end of stream`,Z.DataLoss));return}let a=n.subarray(5,5+i.length);n=n.subarray(5+i.length),e.enqueue({flags:i.flags,data:a})}})}function hl(e,t){let n=new Uint8Array(t.length+5);n.set(t,5);let r=new DataView(n.buffer,n.byteOffset,n.byteLength);return r.setUint8(0,e),r.setUint32(1,t.length),n}var gl=function(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values==`function`?__values(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}},_l=function(e){return this instanceof _l?(this.v=e,this):new _l(e)},vl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof _l?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}},yl=function(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:_l(e[r](t)),done:!1}:i?i(t):t}:i}};function bl(e){return vl(this,arguments,function*(){yield _l(yield*yl(gl(e)))})}var xl=function(e){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var t=e[Symbol.asyncIterator],n;return t?t.call(e):(e=typeof __values==`function`?__values(e):e[Symbol.iterator](),n={},r(`next`),r(`throw`),r(`return`),n[Symbol.asyncIterator]=function(){return this},n);function r(t){n[t]=e[t]&&function(n){return new Promise(function(r,a){n=e[t](n),i(r,a,n.done,n.value)})}}function i(e,t,n,r){Promise.resolve(r).then(function(t){e({value:t,done:n})},t)}},Sl=function(e){return this instanceof Sl?(this.v=e,this):new Sl(e)},Cl=function(e){var t,n;return t={},r(`next`),r(`throw`,function(e){throw e}),r(`return`),t[Symbol.iterator]=function(){return this},t;function r(r,i){t[r]=e[r]?function(t){return(n=!n)?{value:Sl(e[r](t)),done:!1}:i?i(t):t}:i}},wl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof Sl?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Tl(e,t){return pl(e,n=>{switch(n.kind){case Wc.Unary:return Dl(t,e,n);case Wc.ServerStreaming:return Ol(t,e,n);case Wc.ClientStreaming:return kl(t,e,n);case Wc.BiDiStreaming:return Al(t,e,n);default:return null}})}function El(e,t){return Tl(e,t)}function Dl(e,t,n){return async function(r,i){var a,o;let s=await e.unary(t,n,i?.signal,i?.timeoutMs,i?.headers,r,i?.contextValues);return(a=i?.onHeader)==null||a.call(i,s.header),(o=i?.onTrailer)==null||o.call(i,s.trailer),s.message}}function Ol(e,t,n){return function(r,i){return jl(e.stream(t,n,i?.signal,i?.timeoutMs,i?.headers,bl([r]),i?.contextValues),i)}}function kl(e,t,n){return async function(r,i){var a,o,s,c,l,u;let d=await e.stream(t,n,i?.signal,i?.timeoutMs,i?.headers,r,i?.contextValues);(l=i?.onHeader)==null||l.call(i,d.header);let f,p=0;try{for(var m=!0,h=xl(d.message),g;g=await h.next(),a=g.done,!a;m=!0)c=g.value,m=!1,f=c,p++}catch(e){o={error:e}}finally{try{!m&&!a&&(s=h.return)&&await s.call(h)}finally{if(o)throw o.error}}if(!f)throw new ul(`protocol error: missing response message`,Z.Unimplemented);if(p>1)throw new ul(`protocol error: received extra messages for client streaming method`,Z.Unimplemented);return(u=i?.onTrailer)==null||u.call(i,d.trailer),f}}function Al(e,t,n){return function(r,i){return jl(e.stream(t,n,i?.signal,i?.timeoutMs,i?.headers,r,i?.contextValues),i)}}function jl(e,t){let n=(function(){return wl(this,arguments,function*(){var n,r;let i=yield Sl(e);(n=t?.onHeader)==null||n.call(t,i.header),yield Sl(yield*Cl(xl(i.message))),(r=t?.onTrailer)==null||r.call(t,i.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Ml(...e){let t=new AbortController,n=e.filter(e=>e!==void 0).concat(t.signal);for(let e of n){if(e.aborted){r.apply(e);break}e.addEventListener(`abort`,r)}function r(){t.signal.aborted||t.abort(Pl(this));for(let e of n)e.removeEventListener(`abort`,r)}return t}function Nl(e){let t=new AbortController,n=()=>{t.abort(new ul(`the operation timed out`,Z.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Pl(e){if(!e.aborted)return;if(e.reason!==void 0)return e.reason;let t=Error(`This operation was aborted`);return t.name=`AbortError`,t}function Fl(){return{get(e){return e.id in this?this[e.id]:e.defaultValue},set(e,t){return this[e.id]=t,this},delete(e){return delete this[e.id],this}}}function Il(e,t,n){let r=typeof t==`string`?t:t.typeName,i=typeof n==`string`?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${i}`)}function Ll(e,t){return t instanceof e?t:new e(t)}function Rl(e,t){function n(t){return t.done===!0?t:{done:t.done,value:Ll(e,t.value)}}return{[Symbol.asyncIterator](){let e=t[Symbol.asyncIterator](),r={next:()=>e.next().then(n)};return e.throw!==void 0&&(r.throw=t=>e.throw(t).then(n)),e.return!==void 0&&(r.return=t=>e.return(t).then(n)),r}}}function zl(e,t){return t?.concat().reverse().reduce((e,t)=>t(e),e)??e}function Bl(e){let t=Object.assign({},e);return t.ignoreUnknownFields??=!0,t}function Vl(e,t,n,r){let i=t?Hl(e.I,r):Ul(e.I,n);return{parse:(t?Hl(e.O,r):Ul(e.O,n)).parse,serialize:i.serialize}}function Hl(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(e){throw new ul(`parse binary: ${e instanceof Error?e.message:String(e)}`,Z.Internal)}},serialize(e){try{return e.toBinary(t)}catch(e){throw new ul(`serialize binary: ${e instanceof Error?e.message:String(e)}`,Z.Internal)}}}}function Ul(e,t){let n=t?.textEncoder??new TextEncoder,r=t?.textDecoder??new TextDecoder,i=Bl(t);return{parse(t){try{let n=r.decode(t);return e.fromJsonString(n,i)}catch(e){throw ul.from(e,Z.InvalidArgument)}},serialize(e){try{let t=e.toJsonString(i);return n.encode(t)}catch(e){throw ul.from(e,Z.Internal)}}}}var Wl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i,Gl=`application/proto`,Kl=`application/json`,ql=`application/connect+proto`,Jl=`application/connect+json`;function Yl(e){let t=e?.match(Wl);if(t)return{stream:!!t[1],binary:!!t[3]}}function Xl(e,t,n){if(t&&new Headers(t).forEach((e,t)=>n.metadata.append(t,e)),typeof e!=`object`||!e||Array.isArray(e))throw n;let r=n.code;`code`in e&&typeof e.code==`string`&&(r=ll(e.code)??r);let i=e.message;if(i!=null&&typeof i!=`string`)throw n;let a=new ul(i??``,r,t);if(`details`in e&&Array.isArray(e.details))for(let t of e.details){if(typeof t!=`object`||!t||Array.isArray(t)||typeof t.type!=`string`||typeof t.value!=`string`)throw n;try{a.details.push({type:t.type,value:Bs.dec(t.value),debug:t.debug})}catch{throw n}}return a}function Zl(e){let t=new ul(`invalid end stream`,Z.Unknown),n;try{n=JSON.parse(typeof e==`string`?e:new TextDecoder().decode(e))}catch{throw t}if(typeof n!=`object`||!n||Array.isArray(n))throw t;let r=new Headers;if(`metadata`in n){if(typeof n.metadata!=`object`||n.metadata==null||Array.isArray(n.metadata))throw t;for(let[e,i]of Object.entries(n.metadata)){if(!Array.isArray(i)||i.some(e=>typeof e!=`string`))throw t;for(let t of i)r.append(e,t)}}return{metadata:r,error:`error`in n&&n.error!=null?Xl(n.error,r,t):void 0}}var Ql=`Content-Type`,$l=`Content-Length`,eu=`Content-Encoding`,tu=`Accept-Encoding`,nu=`Connect-Timeout-Ms`,ru=`Connect-Protocol-Version`,iu=`User-Agent`;function au(e){switch(e){case 400:return Z.Internal;case 401:return Z.Unauthenticated;case 403:return Z.PermissionDenied;case 404:return Z.Unimplemented;case 429:return Z.Unavailable;case 502:return Z.Unavailable;case 503:return Z.Unavailable;case 504:return Z.Unavailable;default:return Z.Unknown}}function ou(e){let t=new Headers,n=new Headers;return e.forEach((e,r)=>{r.toLowerCase().startsWith(`trailer-`)?n.append(r.substring(8),e):t.append(r,e)}),[t,n]}function su(e,t,n,r,i){let a=new Headers(r??{});return n!==void 0&&a.set(nu,`${n}`),a.set(Ql,e==Wc.Unary?t?Gl:Kl:t?ql:Jl),a.set(ru,`1`),i&&a.set(iu,`connect-es/1.6.1`),a}function cu(e,t,n,r){let i=r.get(Ql),a=Yl(i);if(n!==200){let t=new ul(`HTTP ${n}`,au(n),r);if(e==Wc.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:t};throw t}let o={binary:t,stream:e!==Wc.Unary};if(a?.binary!==o.binary||a.stream!==o.stream)throw new ul(`unsupported content type ${i}`,a===void 0?Z.Unknown:Z.Internal,r);return{isUnaryError:!1}}var lu=`application/`;function uu(e,t){return t?Bs.enc(e).replace(/\+/g,`-`).replace(/\//g,`_`).replace(/=+$/,``):encodeURIComponent(new TextDecoder().decode(e))}function du(e,t,n){let r=`?connect=v1`,i=e.header.get(Ql);i?.indexOf(lu)===0&&(r+=`&encoding=`+encodeURIComponent(i.slice(12)));let a=e.header.get(eu);a!==null&&a!==`identity`&&(r+=`&compression=`+encodeURIComponent(a),n=!0),n&&(r+=`&base64=1`),r+=`&message=`+uu(t,n);let o=e.url+r,s=new Headers(e.header);return[ru,Ql,$l,eu,tu].forEach(e=>s.delete(e)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:`GET`}),url:o,header:s})}function fu(e){let t=zl(e.next,e.interceptors),[n,r,i]=mu(e);return t(Object.assign(Object.assign({},e.req),{message:Ll(e.req.method.I,e.req.message),signal:n})).then(e=>(i(),e),r)}function pu(e){let t=zl(e.next,e.interceptors),[n,r,i]=mu(e),a=Object.assign(Object.assign({},e.req),{message:Rl(e.req.method.I,e.req.message),signal:n}),o=!1;return n.addEventListener(`abort`,function(){var t,n;let r=e.req.message[Symbol.asyncIterator]();o||(t=r.throw)==null||t.call(r,this.reason).catch(()=>{}),(n=r.return)==null||n.call(r).catch(()=>{})}),t(a).then(e=>Object.assign(Object.assign({},e),{message:{[Symbol.asyncIterator](){let t=e.message[Symbol.asyncIterator]();return{next(){return t.next().then(e=>(e.done==1&&(o=!0,i()),e),r)}}}}}),r)}function mu(e){let{signal:t,cleanup:n}=Nl(e.timeoutMs),r=Ml(e.signal,t);return[r.signal,function(e){let i=ul.from(t.aborted?Pl(t):e);return r.abort(i),n(),Promise.reject(i)},function(){n(),r.abort()}]}var hu;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.INACTIVE=1]=`INACTIVE`,e[e.PROCESSING=2]=`PROCESSING`,e[e.SUCCESS=3]=`SUCCESS`,e[e.WARNING=4]=`WARNING`,e[e.ERROR=5]=`ERROR`})(hu||={}),X.util.setEnumType(hu,`exa.language_server_pb.CodeiumState`,[{no:0,name:`CODEIUM_STATE_UNSPECIFIED`},{no:1,name:`CODEIUM_STATE_INACTIVE`},{no:2,name:`CODEIUM_STATE_PROCESSING`},{no:3,name:`CODEIUM_STATE_SUCCESS`},{no:4,name:`CODEIUM_STATE_WARNING`},{no:5,name:`CODEIUM_STATE_ERROR`}]);var gu;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.SINGLE=1]=`SINGLE`,e[e.MULTI=2]=`MULTI`})(gu||={}),X.util.setEnumType(gu,`exa.language_server_pb.LineType`,[{no:0,name:`LINE_TYPE_UNSPECIFIED`},{no:1,name:`LINE_TYPE_SINGLE`},{no:2,name:`LINE_TYPE_MULTI`}]);var _u;(function(e){e[e.UNSPECIFIED=0]=`UNSPECIFIED`,e[e.INLINE=1]=`INLINE`,e[e.BLOCK=2]=`BLOCK`,e[e.INLINE_MASK=3]=`INLINE_MASK`})(_u||={}),X.util.setEnumType(_u,`exa.language_server_pb.CompletionPartType`,[{no:0,name:`COMPLETION_PART_TYPE_UNSPECIFIED`},{no:1,name:`COMPLETION_PART_TYPE_INLINE`},{no:2,name:`COMPLETION_PART_TYPE_BLOCK`},{no:3,name:`COMPLETION_PART_TYPE_INLINE_MASK`}]);var vu=class e extends K{threshold=0;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.MultilineConfig`;static fields=X.util.newFieldList(()=>[{no:1,name:`threshold`,kind:`scalar`,T:2}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},yu=class e extends K{metadata;document;editorOptions;otherDocuments=[];experimentConfig;modelName=``;multilineConfig;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.GetCompletionsRequest`;static fields=X.util.newFieldList(()=>[{no:1,name:`metadata`,kind:`message`,T:Qc},{no:2,name:`document`,kind:`message`,T:Eu},{no:3,name:`editor_options`,kind:`message`,T:$c},{no:5,name:`other_documents`,kind:`message`,T:Eu,repeated:!0},{no:7,name:`experiment_config`,kind:`message`,T:Du},{no:10,name:`model_name`,kind:`scalar`,T:9},{no:13,name:`multiline_config`,kind:`message`,T:vu}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},bu=class e extends K{state;completionItems=[];constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.GetCompletionsResponse`;static fields=X.util.newFieldList(()=>[{no:1,name:`state`,kind:`message`,T:Ou},{no:2,name:`completion_items`,kind:`message`,T:Mu,repeated:!0}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},xu=class e extends K{metadata;completionId=``;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.AcceptCompletionRequest`;static fields=X.util.newFieldList(()=>[{no:1,name:`metadata`,kind:`message`,T:Qc},{no:2,name:`completion_id`,kind:`scalar`,T:9}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Su=class e extends K{constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.AcceptCompletionResponse`;static fields=X.util.newFieldList(()=>[]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Cu=class e extends K{constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.GetAuthTokenRequest`;static fields=X.util.newFieldList(()=>[]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},wu=class e extends K{authToken=``;uuid=``;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.GetAuthTokenResponse`;static fields=X.util.newFieldList(()=>[{no:1,name:`auth_token`,kind:`scalar`,T:9},{no:2,name:`uuid`,kind:`scalar`,T:9}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Tu=class e extends K{row=q.zero;col=q.zero;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.DocumentPosition`;static fields=X.util.newFieldList(()=>[{no:1,name:`row`,kind:`scalar`,T:4},{no:2,name:`col`,kind:`scalar`,T:4}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Eu=class e extends K{absolutePath=``;relativePath=``;text=``;editorLanguage=``;language=Xc.UNSPECIFIED;cursorOffset=q.zero;cursorPosition;lineEnding=``;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.Document`;static fields=X.util.newFieldList(()=>[{no:1,name:`absolute_path`,kind:`scalar`,T:9},{no:2,name:`relative_path`,kind:`scalar`,T:9},{no:3,name:`text`,kind:`scalar`,T:9},{no:4,name:`editor_language`,kind:`scalar`,T:9},{no:5,name:`language`,kind:`enum`,T:X.getEnumType(Xc)},{no:6,name:`cursor_offset`,kind:`scalar`,T:4},{no:8,name:`cursor_position`,kind:`message`,T:Tu},{no:7,name:`line_ending`,kind:`scalar`,T:9}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Du=class e extends K{forceEnableExperiments=[];constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.ExperimentConfig`;static fields=X.util.newFieldList(()=>[{no:1,name:`force_enable_experiments`,kind:`enum`,T:X.getEnumType(Kc),repeated:!0}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Ou=class e extends K{state=hu.UNSPECIFIED;message=``;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.State`;static fields=X.util.newFieldList(()=>[{no:1,name:`state`,kind:`enum`,T:X.getEnumType(hu)},{no:2,name:`message`,kind:`scalar`,T:9}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},ku=class e extends K{startOffset=q.zero;endOffset=q.zero;startPosition;endPosition;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.Range`;static fields=X.util.newFieldList(()=>[{no:1,name:`start_offset`,kind:`scalar`,T:4},{no:2,name:`end_offset`,kind:`scalar`,T:4},{no:3,name:`start_position`,kind:`message`,T:Tu},{no:4,name:`end_position`,kind:`message`,T:Tu}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Au=class e extends K{text=``;deltaCursorOffset=q.zero;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.Suffix`;static fields=X.util.newFieldList(()=>[{no:1,name:`text`,kind:`scalar`,T:9},{no:2,name:`delta_cursor_offset`,kind:`scalar`,T:3}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},ju=class e extends K{text=``;offset=q.zero;type=_u.UNSPECIFIED;prefix=``;line=q.zero;constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.CompletionPart`;static fields=X.util.newFieldList(()=>[{no:1,name:`text`,kind:`scalar`,T:9},{no:2,name:`offset`,kind:`scalar`,T:4},{no:3,name:`type`,kind:`enum`,T:X.getEnumType(_u)},{no:4,name:`prefix`,kind:`scalar`,T:9},{no:5,name:`line`,kind:`scalar`,T:4}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Mu=class e extends K{completion;suffix;range;source=Yc.UNSPECIFIED;completionParts=[];constructor(e){super(),X.util.initPartial(e,this)}static runtime=X;static typeName=`exa.language_server_pb.CompletionItem`;static fields=X.util.newFieldList(()=>[{no:1,name:`completion`,kind:`message`,T:Zc},{no:5,name:`suffix`,kind:`message`,T:Au},{no:2,name:`range`,kind:`message`,T:ku},{no:3,name:`source`,kind:`enum`,T:X.getEnumType(Yc)},{no:8,name:`completion_parts`,kind:`message`,T:ju,repeated:!0}]);static fromBinary(t,n){return new e().fromBinary(t,n)}static fromJson(t,n){return new e().fromJson(t,n)}static fromJsonString(t,n){return new e().fromJsonString(t,n)}static equals(t,n){return X.util.equals(e,t,n)}},Nu={typeName:`exa.language_server_pb.LanguageServerService`,methods:{getCompletions:{name:`GetCompletions`,I:yu,O:bu,kind:Wc.Unary},acceptCompletion:{name:`AcceptCompletion`,I:xu,O:Su,kind:Wc.Unary},getAuthToken:{name:`GetAuthToken`,I:Cu,O:wu,kind:Wc.Unary}}};function Pu(){try{new Headers}catch{throw Error(`connect-web requires the fetch API. Are you running on an old version of Node.js? Node.js is not supported in Connect for Web - please stay tuned for Connect for Node.`)}}var Fu=function(e){return this instanceof Fu?(this.v=e,this):new Fu(e)},Iu=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError(`Symbol.asyncIterator is not defined.`);var r=n.apply(e,t||[]),i,a=[];return i={},s(`next`),s(`throw`),s(`return`,o),i[Symbol.asyncIterator]=function(){return this},i;function o(e){return function(t){return Promise.resolve(t).then(e,d)}}function s(e,t){r[e]&&(i[e]=function(t){return new Promise(function(n,r){a.push([e,t,n,r])>1||c(e,t)})},t&&(i[e]=t(i[e])))}function c(e,t){try{l(r[e](t))}catch(e){f(a[0][3],e)}}function l(e){e.value instanceof Fu?Promise.resolve(e.value.v).then(u,d):f(a[0][2],e)}function u(e){c(`next`,e)}function d(e){c(`throw`,e)}function f(e,t){e(t),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Lu(e){Pu();let t=e.useBinaryFormat??!1;return{async unary(n,r,i,a,o,s,c){let{serialize:l,parse:u}=Vl(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await fu({interceptors:e.interceptors,signal:i,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Il(e.baseUrl,n,r),init:{method:`POST`,credentials:e.credentials??`same-origin`,redirect:`error`,mode:`cors`},header:su(r.kind,t,a,o,!1),contextValues:c??Fl(),message:s},next:async i=>{let a=e.useHttpGet===!0&&r.idempotency===Gc.NoSideEffects,o=null;a?i=du(i,l(i.message),t):o=l(i.message);let s=await(e.fetch??globalThis.fetch)(i.url,Object.assign(Object.assign({},i.init),{headers:i.header,signal:i.signal,body:o})),{isUnaryError:c,unaryError:d}=cu(r.kind,t,s.status,s.headers);if(c)throw Xl(await s.json(),fl(...ou(s.headers)),d);let[f,p]=ou(s.headers);return{stream:!1,service:n,method:r,header:f,message:t?u(new Uint8Array(await s.arrayBuffer())):r.O.fromJson(await s.json(),Bl(e.jsonOptions)),trailer:p}}})},async stream(n,r,i,a,o,s,c){let{serialize:l,parse:u}=Vl(r,t,e.jsonOptions,e.binaryOptions);function d(e,t,n,r){return Iu(this,arguments,function*(){let i=ml(e).getReader(),a=!1;for(;;){let e=yield Fu(i.read());if(e.done)break;let{flags:r,data:o}=e.value;if((r&1)==1)throw new ul(`protocol error: received unsupported compressed output`,Z.Internal);if((r&2)==2){a=!0;let e=Zl(o);if(e.error){let t=e.error;throw n.forEach((e,n)=>{t.metadata.append(n,e)}),t}e.metadata.forEach((e,n)=>t.set(n,e));continue}yield yield Fu(u(o))}if(`throwIfAborted`in r&&r.throwIfAborted(),!a)throw`missing EndStreamResponse`})}async function f(e){if(r.kind!=Wc.ServerStreaming)throw`The fetch API does not support streaming request bodies`;let t=await e[Symbol.asyncIterator]().next();if(t.done==1)throw`missing request message`;return hl(0,l(t.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await pu({interceptors:e.interceptors,timeoutMs:a,signal:i,req:{stream:!0,service:n,method:r,url:Il(e.baseUrl,n,r),init:{method:`POST`,credentials:e.credentials??`same-origin`,redirect:`error`,mode:`cors`},header:su(r.kind,t,a,o,!1),contextValues:c??Fl(),message:s},next:async n=>{let i=await(e.fetch??globalThis.fetch)(n.url,Object.assign(Object.assign({},n.init),{headers:n.header,signal:n.signal,body:await f(n.message)}));if(cu(r.kind,t,i.status,i.headers),i.body===null)throw`missing response body`;let a=new Headers;return Object.assign(Object.assign({},n),{header:i.headers,trailer:a,message:d(i.body,a,i.headers,n.signal)})}})}}}var Ru=El(Nu,Lu({baseUrl:`https://web-backend.codeium.com`,useBinaryFormat:!0})),zu;try{zu=crypto.randomUUID()}catch{function e(){return`10000000-1000-4000-8000-100000000000`.replace(/[018]/g,e=>(+e^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>e/4).toString(16))}zu=e()}async function Bu({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await Ru.getCompletions({metadata:{ideName:`web`,ideVersion:`0.0.5`,extensionName:`@valtown/codemirror-codeium`,extensionVersion:`1.0.0`,apiKey:n.apiKey,sessionId:zu,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:`typescript`,lineEnding:`
|
|
11
|
+
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${zu}`}})}function Vu(e){return e.completionItems.map(e=>{let t=0;return e.completionParts.filter(e=>e.type!==3).map(e=>{let n=Number(e.offset),r=e.type===2?`\n${e.text}`:e.text,i={absoluteStartPos:t+n,absoluteEndPos:t+n+r.length,from:n,to:n,insert:r};return t+=r.length,i})})}async function Hu(e,t){let n=e.state.facet(tl),{override:r}=e.state.facet(nl),i=await r(),a=e.state,o=a.selection.main.head,s=a.doc.toString();try{let r=await Bu({text:s,cursorOffset:o,config:n,otherDocuments:i});if(!r||r.completionItems.length===0||!((t===void 0||o===t)&&li(e.state)!==`active`&&e.hasFocus))return;let c=Vu(r),l=c.at(0);if(!l)return;let u=Or.of(l,a.doc.length),d=u.invert(a.doc);e.dispatch({changes:u,effects:Zo.of({index:0,reverseChangeSet:d,changeSpecs:c}),annotations:[ol.of(null),al.of(null),Br.addToHistory.of(!1)]})}catch(e){console.warn(`copilot completion failed`,e),await new Promise(e=>setTimeout(e,300))}}function Uu(e){return e.docChanged&&!e.transactions.some(e=>e.effects.some(e=>e.is(Qo)||e.is($o)))}function Wu(e){if(!e.view.hasFocus||e.state.field(il)||li(e.state)===`active`)return!0;for(let t of e.transactions)if(t.annotation(al)!==void 0)return!0}function Gu(){let e=null,t=0;return z.updateListener.of(n=>{let r=n.view.state.facet(tl);if(!r.alwaysOn||!Uu(n)||(e&&clearTimeout(e),Wu(n)))return;let i=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new fi(n.view.state,i,!1))||(e=setTimeout(async()=>{i===t&&await Hu(n.view,t)},r.timeout),t=i)})}function Ku(e){let t=e.state.field(il);if(!t)return!1;let n=t.reverseChangeSet?.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Qo.of(null),annotations:[ol.of(null),al.of(null),Br.addToHistory.of(!1)]});let r=0;return n?.iterChangedRanges((e,t,n,i)=>{r=i}),e.dispatch({changes:n,selection:kr.cursor(r),annotations:[al.of(null),Br.addToHistory.of(!0)]}),!0}var qu=e=>{let{state:t}=e,n=t.field(il);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let i=(n.index+1)%r.length,a=r.at(i);if(!a)return!1;let o=n.reverseChangeSet.apply(t.doc),s=Or.of(n.reverseChangeSet,t.doc.length).compose(Or.of(a,o.length)),c=Or.of(a,o.length).invert(o);return e.dispatch({changes:s,effects:Zo.of({index:i,reverseChangeSet:c,changeSpecs:r}),annotations:[ol.of(null),al.of(null),Br.addToHistory.of(!1)]}),!0};function Ju(e){let t=e.state.field(il);return t&&e.dispatch({changes:t.reverseChangeSet,effects:$o.of(null),annotations:[ol.of(null),al.of(null),Br.addToHistory.of(!1)]}),!1}function Yu(e,t){return e.state.field(il)?t===`Tab`?Ku(e):Ju(e):!1}function Xu(e){let t=!1,n=e.state.selection.asSingle().ranges.at(0)?.head,r=e.state.field(il);return n!==void 0&&r?(r.decorations?.between(n,n,()=>{t=!0}),t):!1}function Zu(){return z.domEventHandlers({keydown(e,t){return e.key===`]`&&e.ctrlKey?!1:e.key!==`Shift`&&e.key!==`Control`&&e.key!==`Alt`&&e.key!==`Meta`&&Yu(t,e.key)},mouseup(e,t){let n=e.target;return n.nodeName===`BUTTON`&&n.dataset.action===`codeium-cycle`?(qu(t),e.stopPropagation(),e.preventDefault(),!0):Xu(t)?Ku(t):Ju(t)}})}function Qu(){return hr.of([{key:`Ctrl-]`,run:qu}])}function $u(){return z.updateListener.of(e=>{e.focusChanged&&Ju(e.view)})}function ed(e){return[tl.of(e),il,xr.highest(Qu()),xr.highest($u()),xr.high(Zu()),Gu()]}var td=ut();function nd({response:e,prefix:t,suffix:n}){if(!e)return e;let r=e;return t&&r.startsWith(t)&&(r=r.slice(t.length)),n&&r.endsWith(n)&&(r=r.slice(0,-n.length)),r}var rd=new Er,id=Ft.get(`@github/copilot-language-server`),ad={delay:150,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}},od=e=>{let t=[];return e.copilot===`codeium`&&e.codeium_api_key&&t.push(ed({apiKey:e.codeium_api_key,language:Xc.PYTHON}),nl.of({override:async()=>[{text:ue(``),language:Xc.PYTHON,editorLanguage:`python`}]})),e.copilot===`github`&&t.push(Ma({...ad,fetchFn:async(e,t,n)=>{let r=e.selection.main.head;if(!hn()||!n.hasFocus||e.doc.length===0)return``;let i=xn(),a=await i.flushDocumentChanges(e.doc.toString());if(t.aborted||e.doc!==n.state.doc)return``;let o=sd(e,a),s=await i.getCompletion(o,t);return t.aborted||e.doc!==n.state.doc||r!==n.state.selection.main.head?(Ft.debug(`ignoring response because of new position`),``):cd(s,o.position,e)}})),e.copilot===`custom`&&t.push(Ma({...ad,fetchFn:async(e,t,n)=>{let r=e.selection.main.head;if(e.doc.length===0||!n.hasFocus)return``;let i=e.doc.sliceString(0,e.selection.main.head),a=e.doc.sliceString(e.selection.main.head,e.doc.length);if(i.length===0)return``;let o=e.field(Fe).type,s=await zt.post(`/ai/inline_completion`,{prefix:i,suffix:a,language:o},{signal:t});return t.aborted||e.doc!==n.state.doc||r!==n.state.selection.main.head?(Ft.debug(`ignoring response because of new position`),``):(s=nd({response:s,prefix:i,suffix:a}),s)}})),[...t,xr.highest(hr.of([{key:`Escape`,run:e=>{let t=ka(e);return!_(e)&&t}}])),rd.of(bn())]};function sd(e,t){let n=e.doc.toString(),r=t.split(`
|
|
12
|
+
`).length-n.split(`
|
|
13
|
+
`).length,i=ld(e.doc,e.selection.main.head);return i.line+=r,{textDocument:{uri:`file://${_n}`,version:`replace_me`},position:i,context:{triggerKind:td.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function cd(e,t,n){if(!e)return id.debug(`No response from copilot`),``;let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return id.debug(`No response from copilot`),``;let{insertText:i,range:a}=r,o=String(i);if(!a)return id.error(`No range from copilot`),o;let s=a.start.character-t.character,c=s<0?o.slice(-s):o,l=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let e=0;e<c.length;e++){let t=c.slice(e);if(l.startsWith(t))return c.slice(0,e)}return c}function ld(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}function ud(e){return Rt(`create`in e,`Expected query to have a "create" method`),e}var dd=Ut({findText:``,replaceText:``,caseSensitive:!1,wholeWord:!1,regexp:!1,isOpen:!1,currentView:void 0},(e,t)=>{if(t===void 0)return e;switch(t.type){case`setFind`:return{...e,findText:t.find};case`setReplace`:return{...e,replaceText:t.replace};case`setCaseSensitive`:return{...e,caseSensitive:t.caseSensitive};case`setWholeWord`:return{...e,wholeWord:t.wholeWord};case`setRegex`:return{...e,regexp:t.regexp};case`setIsOpen`:return{...e,isOpen:t.isOpen};case`setCurrentView`:return{...e,currentView:{view:t.view,range:t.range}};case`clearCurrentView`:return{...e,currentView:void 0}}});function fd(e){if([...document.querySelectorAll(`[role="dialog"][data-state="open"]`)].some(e=>e instanceof HTMLElement&&e.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(o.set(dd,{type:`setFind`,find:n}),o.set(dd,{type:`setCurrentView`,view:e,range:{from:t.from,to:t.to}})):o.set(dd,{type:`setCurrentView`,view:e,range:{from:0,to:0}})}return o.get(dd).isOpen?(o.set(dd,{type:`setIsOpen`,isOpen:!1}),requestAnimationFrame(()=>{o.set(dd,{type:`setIsOpen`,isOpen:!0})}),!0):(o.set(dd,{type:`setIsOpen`,isOpen:!0}),!0)}function pd(){return o.get(dd).isOpen?(o.set(dd,{type:`setIsOpen`,isOpen:!1}),!0):!1}var md=L.define();function hd(){let e=o.get(dd),t=it();for(let n of t)n.state.readOnly||n.dispatch({effects:md.of(new Qr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})}function gd(){let e=it();for(let t of e)t.state.readOnly||t.dispatch({effects:md.of(new Qr({search:``}))})}var _d=dr.define({create(){let e=o.get(dd);return ud(new Qr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord})).create()},update(e,t){for(let n of t.effects)n.is(md)&&(e=ud(n.value).create());return e}}),vd=R.mark({class:`cm-searchMatch`}),yd=R.mark({class:`cm-searchMatch cm-searchMatch-selected`}),bd=Vr.fromClass(class{decorations;view;constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(_d))}update(e){let t=e.state.field(_d);(t!==e.startState.field(_d)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return R.none;let{view:t}=this,n=new Ar,r=t.visibleRanges,i=r.length;for(let a=0;a<i;a++){let{to:o}=r[a],{from:s}=r[a];for(;a<i-1&&o>r[a+1].from-500;)o=r[++a].to;e.highlight(t.state,s,o,(e,r)=>{let i=t.state.selection.ranges.some(t=>t.from===e&&t.to===r);n.add(e,r,i?yd:vd)})}return n.finish()}},{decorations:e=>e.decorations}),xd=z.baseTheme({"&light .cm-searchMatch":{backgroundColor:`var(--cm-search-match-background-light)`},"&dark .cm-searchMatch":{backgroundColor:`var(--cm-search-match-background-dark)`},"&light .cm-searchMatch-selected":{backgroundColor:`transparent`},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:`var(--cm-search-match-selected-background-dark) !important`}});function Sd(e){return[hr.of([{key:`Escape`,preventDefault:!1,run:pd},{key:e.getHotkey(`cell.selectNextOccurrence`).key,preventDefault:!0,run:Xr},{key:e.getHotkey(`cell.findAndReplace`).key,preventDefault:!0,run:fd}]),$r(),bd,_d,xd]}var Cd=R.mark({class:`underline`}),wd=L.define(),Td=L.define(),Ed=L.define(),Dd=dr.define({create(){return R.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(wd)?n=e.update({add:[Cd.range(r.value.from,r.value.to)]}):r.is(Td)?n=e.update({add:[te.range(r.value.from,r.value.to)]}):r.is(Ed)&&(n=R.none);return n},provide:e=>z.decorations.from(e)}),Od=class{view;commandClickMode;hoveredRange;onClick;constructor(e,t){this.view=e,this.commandClickMode=!1,this.hoveredRange=null,this.onClick=t,window.addEventListener(`keydown`,this.keydown),window.addEventListener(`keyup`,this.keyup),window.addEventListener(`blur`,this.windowBlur),window.addEventListener(`mouseleave`,this.windowBlur)}update(e){}destroy(){window.removeEventListener(`keydown`,this.keydown),window.removeEventListener(`keyup`,this.keyup),window.removeEventListener(`blur`,this.windowBlur),window.removeEventListener(`mouseleave`,this.windowBlur),this.view.dom.removeEventListener(`mousemove`,this.mousemove),this.view.dom.removeEventListener(`click`,this.click)}keydown=e=>{(e.key===`Meta`||e.key===`Control`)&&(this.commandClickMode=!0,this.view.dom.addEventListener(`mousemove`,this.mousemove),this.view.dom.addEventListener(`click`,this.click))};keyup=e=>{(e.key===`Meta`||e.key===`Control`)&&this.exitCommandClickMode()};windowBlur=()=>{this.commandClickMode&&this.exitCommandClickMode()};exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener(`mousemove`,this.mousemove),this.view.dom.removeEventListener(`click`,this.click),this.clearUnderline()}mousemove=e=>{if(!e.metaKey&&!e.ctrlKey){this.exitCommandClickMode();return}if(!this.commandClickMode){this.clearUnderline();return}let t=this.view.posAtCoords({x:e.clientX,y:e.clientY});if(t==null){this.clearUnderline();return}let n=this.view.state.field(b,!1)?.ranges.find(e=>t>=e.from&&t<=e.to);if(n){let{from:e,to:r}=n;if(this.hoveredRange&&this.hoveredRange.from===e&&this.hoveredRange.to===r)return;this.clearUnderline(),this.hoveredRange={from:e,to:r,position:t},this.view.dispatch({effects:Td.of(this.hoveredRange)});return}let r=vr(this.view.state).cursorAt(t);if(r.name===`VariableName`){let{from:e,to:n}=r;if(this.hoveredRange&&this.hoveredRange.from===e&&this.hoveredRange.to===n)return;this.clearUnderline(),this.hoveredRange={from:e,to:n,position:t},this.view.dispatch({effects:wd.of(this.hoveredRange)})}else this.clearUnderline()};click=e=>{this.hoveredRange&&(e.preventDefault(),e.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))};clearUnderline(){this.hoveredRange&&=(this.view.dispatch({effects:Ed.of(null)}),null)}},kd=e=>Vr.define(t=>new Od(t,e));function Ad(){return[Dd,kd(e=>{ct(e)}),z.baseTheme({".underline":{textDecoration:`underline`,cursor:`pointer`,color:`var(--link)`}})]}function jd(){return[z.domEventHandlers({drop:(e,t)=>{let n=e.dataTransfer?.files[0];if(n?.type.startsWith(`text/`))return e.preventDefault(),Ke(t,n),!0;if(n?.type.startsWith(`image/`))return e.preventDefault(),ge(t,n),!0;let r=e.dataTransfer?.getData(`text/plain`);if(r){e.preventDefault();let n=t.posAtCoords({x:e.clientX,y:e.clientY});return n!==null&&t.dispatch({changes:{from:n,to:n,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function Md(){return[z.domEventHandlers({paste:(e,t)=>{let n=e.clipboardData?.getData(`text/plain`);if(!n||!Nd(n))return!1;let{setup:r,cells:i}=Pd(n);if(r===null&&i.length===0)return!1;let a=t.state.facet(De);return r!==null&&a.addOrAppendSetupCell(r),i.length>0&&a.createManyBelow(i),!0}})]}function Nd(e){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(e)}function Pd(e){if(!Nd(e))return{setup:null,cells:[]};let t=[],n=[],r=_i.parse(e),i=(t,n)=>{let r=e.lastIndexOf(`
|
|
14
|
+
`,t-1)+1;return Fd(e.slice(r,n))},a=(e,n)=>{let r=i(e,n);r.trim()&&t.push(r)},o=(e,t)=>{let n=[];for(let t=e.firstChild;t;t=t.nextSibling)t.name!==`:`&&n.push(t);t&&n.at(-1)?.name===`ReturnStatement`&&n.pop();let r=n[0],a=n.at(-1);if(!r||!a)return null;let o=i(r.from,a.to);return o.trim()?o:null};return r.iterate({enter:r=>{if(r.name===`WithStatement`){let t=r.node.getChild(`Body`);if(t&&e.slice(r.from,t.from).includes(`app.setup`)){let e=o(t,!1);e!==null&&n.push(e)}return!1}if(r.name!==`DecoratedStatement`)return!0;let i=r.node.getChild(`Decorator`),s=r.node.getChild(`FunctionDefinition`);if(!i||!s)return!1;let c=e.slice(i.from,i.to).trim();if(c.startsWith(`@app.cell`)){let e=s.getChild(`Body`);if(e){let n=o(e,!0);n!==null&&t.push(n)}return!1}return c.startsWith(`@app.function`)&&a(s.from,s.to),!1}}),{setup:n.length>0?n.join(`
|
|
15
|
+
|
|
16
|
+
`):null,cells:t}}function Fd(e){let t=e.split(`
|
|
17
|
+
`);if(t.length===0)return``;let n=t.filter(e=>e.trim().length>0);if(n.length===0)return``;let r=/^\s*/,i=Math.min(...n.map(e=>e.match(r)?.[0].length??1/0));return i===0?e.trim():t.map(e=>e.slice(i)).join(`
|
|
18
|
+
`).trim()}function Id(e,t,n,r){return r!==`{`||t!==n||!vr(e.state).resolveInner(t,-1)?.type.name.includes(`String`)?!1:(e.dispatch({changes:{from:t,to:n,insert:`{}`},selection:{anchor:t+1},userEvent:`input.type`}),!0)}function Ld(){return z.inputHandler.of(Id)}function Rd(e){let{showPlaceholder:t,enableAI:n}=e;return t?`marimo-import`:n?`ai`:`none`}var zd=`cm-tooltip-portal`;function Bd(e){if(e==null)return document.querySelector(`#App`)??void 0;let t=document.querySelector(e);if(t==null)return;let n=t.querySelector(`:scope > .${zd}`);if(n!=null)return n;let r=document.createElement(`div`);return r.className=`${zd} not-prose contents`,t.append(r),r}var Vd=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:i,cellActions:a,completionConfig:o,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=e,d=Rd(e);return[mn(n,r),jd(),Md(),qo(),de({cellId:t,completionConfig:o,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),Ve({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),Ud(e),Ad(),c?.enabled?Zr():[],i&&u?[Wa({prompt:e=>no({prompt:e.prompt,selection:e.selection,codeBefore:e.codeBefore,codeAfter:e.codeAfter,language:Ze(e.editorView)})}),Ra.of({hideOnBlur:!0})]:[],ne(t,l.reference_highlighting??!0),Wo(t,l.code_lens??!0)]},Hd=e=>{let{from:t,to:n}=e.state.selection.main;if(t!==n)return!1;let r=e.state.doc.lineAt(n);return r.text.slice(0,n-r.from).trim()!==``&&si(e)},Ud=e=>{let{theme:t,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:i,cellId:a,lspConfig:o,diagnosticsConfig:s,tooltipParentSelector:c}=e,l=Rd(e),u=r.auto_close_pairs!==!1;return[z.lineWrapping,Pr(),Nr(),Tr(),fr(),Ur(),Cr(),Ir(),br({position:`fixed`,parent:Bd(c)}),We(),t===`dark`?Zn:Yn,Re(o),od(r),Hr(),Ld(),u?ci():[],Xo(i),u?xr.high(hr.of(ii)):[],Rr(),wr(),yr.of(` `),Dr(jr,{fallback:!0}),hr.of(mr),Xe({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...o,diagnostics:s}}),je.of(Yr()),_r.allowMultipleSelections.of(!0),Sd(n),hr.of([{key:`Tab`,run:e=>ui(e)||Hd(e)||Kr(e),preventDefault:!0},{key:n.getHotkey(`completion.moveDown`).key,run:e=>li(e.state)!==null&&(oi(!0)(e),!0),preventDefault:!0},{key:n.getHotkey(`completion.moveUp`).key,run:e=>li(e.state)!==null&&(oi(!1)(e),!0),preventDefault:!0}]),hr.of([...ei,Jr])]},Wd=(e=>!e||e instanceof WebAssembly.Module?e:typeof e==`object`&&`default`in e?e.default??e:e)($i),Gd=e=>{Ui(e),Kd(e)};function Kd(e){typeof e.__wbindgen_start==`function`&&e.__wbindgen_start()}if(Wd&&Wd.__wbindgen_start)Gd(Wd);else if(`Bun`in globalThis){let e;if(Wd instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(Wd,{"./loro_wasm_bg.js":Zi}));else{let t=Bun.pathToFileURL(Wd);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":Zi}))}Gd(e.exports)}else{let e=Wd instanceof WebAssembly.Module?Wd:await ur(()=>import(`./loro_wasm_bg-C2Fqi8D-.js`),__vite__mapDeps([0,1,2]),import.meta.url),t=e instanceof WebAssembly.Module?e:e&&e.default||e,n;if(t instanceof WebAssembly.Instance)n=t;else if(t instanceof WebAssembly.Module)n=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Zi});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:e}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":Zi});n=e}else if(typeof t==`string`||t instanceof URL){let e=await fetch(t),{instance:r}=await WebAssembly.instantiateStreaming(e,{"./loro_wasm_bg.js":Zi});n=r}else throw console.error(`Unsupported wasm import type:`,t),Error(`Unsupported wasm import type: `+typeof t);Gd(n.exports??n)}var qd=[`Map`,`Text`,`List`,`Tree`,`MovableList`,`Counter`];function Jd(e){return Gi(e)}function Yd(e){if(typeof e!=`object`||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!=`object`||!t||typeof t.kind!=`function`?!1:qd.includes(e.kind())}var Xd=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new Ji(e,t),this.peer=e,this.timeout=t}apply(e,t=`remote`){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(e=>{e({updated:n,added:r,removed:[]},t)}),this.startTimerIfNotEmpty()}setLocalState(e){let t=this.inner.getState(this.peer)==null;this.inner.setLocalState(e),t?this.listeners.forEach(e=>{e({updated:[],added:[this.inner.peer()],removed:[]},`local`)}):this.listeners.forEach(e=>{e({updated:[this.inner.peer()],added:[],removed:[]},`local`)}),this.startTimerIfNotEmpty()}getLocalState(){return this.inner.getState(this.peer)}getAllStates(){return this.inner.getAllStates()}encode(e){return this.inner.encode(e)}encodeAll(){return this.inner.encodeAll()}addListener(e){this.listeners.add(e)}removeListener(e){this.listeners.delete(e)}peers(){return this.inner.peers()}destroy(){clearInterval(this.timer),this.listeners.clear()}startTimerIfNotEmpty(){this.inner.isEmpty()||this.timer!=null||(this.timer=setInterval(()=>{let e=this.inner.removeOutdated();e.length>0&&this.listeners.forEach(t=>{t({updated:[],added:[],removed:e},`timeout`)}),this.inner.isEmpty()&&(clearInterval(this.timer),this.timer=void 0)},this.timeout/2))}};Ki.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(r,a)=>{if(typeof a==`string`&&Jd(a)&&!t.has(a)){t.add(a);let o=n.getContainerById(a);if(o==null)throw Error(`ContainerID not found: ${a}`);let s=e(r,o);if(s===o){let e=o.getShallowValue();return typeof e==`object`?i(e):e}if(Yd(s))throw Error(`Using new container is not allowed in toJsonWithReplacer`);return typeof s==`object`&&s?i(s):s}if(typeof a==`object`&&a)return i(a);let o=e(r,a);if(Yd(o))throw Error(`Using new container is not allowed in toJsonWithReplacer`);return o},i=e=>{if(Array.isArray(e))return e.map((e,t)=>r(t,e)).filter(e=>e!==void 0);let t={};for(let[n,i]of Object.entries(e)){let e=r(n,i);e!==void 0&&(t[n]=e)}return t};return i(n.getShallowValue())};var Zd=Symbol(`loro.callPendingEventsWrapped`);function Qd(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!=`function`)return;let r=n.value;if(r[Zd])return;let i=function(...e){let t;try{return t=r.apply(this,e),t}finally{t&&typeof t.then==`function`?t.finally(()=>{Qi()}):Qi()}};i[Zd]=!0,Object.defineProperty(e,t,{...n,value:i})}function $d(e,t){for(let n of t)Qd(e,n)}$d(Ki.prototype,[`setDetachedEditing`,`attach`,`detach`,`fork`,`forkAt`,`checkoutToLatest`,`checkout`,`commit`,`getCursorPos`,`revertTo`,`export`,`exportJsonUpdates`,`exportJsonInIdSpan`,`importJsonUpdates`,`import`,`importUpdateBatch`,`importBatch`,`travelChangeAncestors`,`getChangedContainersIn`,`diff`,`applyDiff`,`setPeerId`]),$d(Wi.prototype,[`set`,`delete`,`apply`,`removeOutdated`]),$d(ea.prototype,[`undo`,`redo`]),(!globalThis.EventTarget||!globalThis.Event)&&console.error(`
|
|
19
|
+
PartySocket requires a global 'EventTarget' class to be available!
|
|
20
|
+
You can polyfill this global by adding this to your code before any partysocket imports:
|
|
21
|
+
|
|
22
|
+
\`\`\`
|
|
23
|
+
import 'partysocket/event-target-polyfill';
|
|
24
|
+
\`\`\`
|
|
25
|
+
Please file an issue at https://github.com/partykit/partykit if you're still having trouble.
|
|
26
|
+
`);var ef=class extends Event{message;error;constructor(e,t){super(`error`,t),this.message=e.message,this.error=e}},tf=class extends Event{code;reason;wasClean=!0;constructor(e=1e3,t=``,n){super(`close`,n),this.code=e,this.reason=t}},nf={Event,ErrorEvent:ef,CloseEvent:tf};function rf(e,t){if(!e)throw Error(t)}function af(e){return new e.constructor(e.type,e)}function of(e){return`data`in e?new MessageEvent(e.type,e):`code`in e||`reason`in e?new tf(e.code||1999,e.reason||`unknown reason`,e):`error`in e?new ef(e.error,e):new Event(e.type,e)}var sf=typeof process<`u`&&process.versions?.node!==void 0,cf=typeof navigator<`u`&&navigator.product===`ReactNative`,lf=sf||cf?of:af,uf={maxReconnectionDelay:1e4,minReconnectionDelay:3e3,minUptime:5e3,reconnectionDelayGrowFactor:1.3,connectionTimeout:4e3,maxRetries:1/0,maxEnqueuedMessages:1/0,startClosed:!1,debug:!1},df=!1;function ff(){}var pf=class e extends EventTarget{_ws;_retryCount=-1;_uptimeTimeout;_connectTimeout;_shouldReconnect=!0;_connectLock=!1;_binaryType=`blob`;_closeCalled=!1;_didWarnAboutClosedSend=!1;_messageQueue=[];_debugLogger=console.log.bind(console);_url;_protocols;_options;constructor(e,t,n={}){super(),this._url=e,this._protocols=t,this._options=n,this._options.startClosed&&(this._shouldReconnect=!1),this._options.debugLogger&&(this._debugLogger=this._options.debugLogger),this._connect()}static get CONNECTING(){return 0}static get OPEN(){return 1}static get CLOSING(){return 2}static get CLOSED(){return 3}get CONNECTING(){return e.CONNECTING}get OPEN(){return e.OPEN}get CLOSING(){return e.CLOSING}get CLOSED(){return e.CLOSED}get binaryType(){return this._ws?this._ws.binaryType:this._binaryType}set binaryType(e){this._binaryType=e,this._ws&&(this._ws.binaryType=e)}get retryCount(){return Math.max(this._retryCount,0)}get bufferedAmount(){return this._messageQueue.reduce((e,t)=>(typeof t==`string`?e+=t.length:t instanceof Blob?e+=t.size:e+=t.byteLength,e),0)+(this._ws?this._ws.bufferedAmount:0)}get extensions(){return this._ws?this._ws.extensions:``}get protocol(){return this._ws?this._ws.protocol:``}get readyState(){return this._closeCalled?e.CLOSED:this._ws?this._ws.readyState:this._options.startClosed?e.CLOSED:e.CONNECTING}get url(){return this._ws?this._ws.url:``}get shouldReconnect(){return this._shouldReconnect}onclose=null;onerror=null;onmessage=null;onopen=null;close(e=1e3,t){if(this._closeCalled=!0,this._shouldReconnect=!1,this._clearTimeouts(),!this._ws){this._debug(`close enqueued: no ws instance`);return}if(this._ws.readyState===this.CLOSED||this._ws.readyState===this.CLOSING){this._debug(`close: already closing or closed`);return}this._disconnect(e,t)}reconnect(e,t){this._shouldReconnect=!0,this._closeCalled=!1,this._didWarnAboutClosedSend=!1,this._retryCount=-1,!this._ws||this._ws.readyState===this.CLOSED||this._ws.readyState===this.CLOSING||this._disconnect(e,t),this._connect()}send(e){if(this._ws&&this._ws.readyState===this.OPEN)return this._debug(`send`,e),this._ws.send(e),!0;this._closeCalled&&!this._didWarnAboutClosedSend&&(this._didWarnAboutClosedSend=!0,console.warn(`ReconnectingWebSocket: send() was called after close(). The message has been buffered, but it will only be delivered if reconnect() is called on this socket. If this socket has been discarded, the message is lost — this usually means a stale socket reference is being used.`));let{maxEnqueuedMessages:t=uf.maxEnqueuedMessages}=this._options;return this._messageQueue.length<t&&(this._debug(`enqueue`,e),this._messageQueue.push(e)),!1}drainQueuedMessages(){let e=this._messageQueue;return this._messageQueue=[],e}_debug(...e){this._options.debug&&this._debugLogger(`RWS>`,...e)}_getNextDelay(){let{reconnectionDelayGrowFactor:e=uf.reconnectionDelayGrowFactor,minReconnectionDelay:t=uf.minReconnectionDelay,maxReconnectionDelay:n=uf.maxReconnectionDelay}=this._options,r=0;return this._retryCount>0&&(r=t*e**(this._retryCount-1),r>n&&(r=n)),this._debug(`next delay`,r),r}_wait(){return new Promise(e=>{setTimeout(e,this._getNextDelay())})}_getNextProtocols(e){if(!e)return Promise.resolve(null);if(typeof e==`string`||Array.isArray(e))return Promise.resolve(e);if(typeof e==`function`){let t=e();if(!t)return Promise.resolve(null);if(typeof t==`string`||Array.isArray(t))return Promise.resolve(t);if(t.then)return t}throw Error(`Invalid protocols`)}_getNextUrl(e){if(typeof e==`string`)return Promise.resolve(e);if(typeof e==`function`){let t=e();if(typeof t==`string`)return Promise.resolve(t);if(t.then)return t}throw Error(`Invalid URL`)}_connect(){if(this._connectLock||!this._shouldReconnect)return;this._connectLock=!0;let{maxRetries:e=uf.maxRetries,connectionTimeout:t=uf.connectionTimeout}=this._options;if(this._retryCount>=e){this._debug(`max retries reached`,this._retryCount,`>=`,e),this._connectLock=!1;return}this._retryCount++,this._debug(`connect`,this._retryCount),this._removeListeners(),this._wait().then(()=>Promise.all([this._getNextUrl(this._url),this._getNextProtocols(this._protocols||null)])).then(([e,n])=>{if(this._closeCalled){this._connectLock=!1;return}!this._options.WebSocket&&typeof WebSocket>`u`&&!df&&(console.error(`‼️ No WebSocket implementation available. You should define options.WebSocket.
|
|
27
|
+
|
|
28
|
+
For example, if you're using node.js, run \`npm install ws\`, and then in your code:
|
|
29
|
+
|
|
30
|
+
import PartySocket from 'partysocket';
|
|
31
|
+
import WS from 'ws';
|
|
32
|
+
|
|
33
|
+
const partysocket = new PartySocket({
|
|
34
|
+
host: "127.0.0.1:1999",
|
|
35
|
+
room: "test-room",
|
|
36
|
+
WebSocket: WS
|
|
37
|
+
});
|
|
38
|
+
|
|
39
|
+
`),df=!0);let r=this._options.WebSocket||WebSocket;this._debug(`connect`,{url:e,protocols:n}),this._ws=n?new r(e,n):new r(e),this._ws.binaryType=this._binaryType,this._connectLock=!1,this._addListeners(),this._connectTimeout=setTimeout(()=>this._handleTimeout(),t)}).catch(e=>{this._connectLock=!1,this._handleError(new nf.ErrorEvent(Error(e.message),this))})}_handleTimeout(){this._debug(`timeout event`),this._handleError(new nf.ErrorEvent(Error(`TIMEOUT`),this))}_disconnect(e=1e3,t){if(this._clearTimeouts(),this._ws){this._removeListeners();try{(this._ws.readyState===this.OPEN||this._ws.readyState===this.CONNECTING)&&this._ws.close(e,t),this._handleClose(new nf.CloseEvent(e,t,this))}catch{}}}_acceptOpen(){this._debug(`accept open`),this._retryCount=0}_handleOpen=e=>{this._debug(`open event`);let{minUptime:t=uf.minUptime}=this._options;clearTimeout(this._connectTimeout),this._uptimeTimeout=setTimeout(()=>this._acceptOpen(),t),rf(this._ws,`WebSocket is not defined`),this._ws.binaryType=this._binaryType,this._messageQueue.forEach(e=>{this._ws?.send(e)}),this._messageQueue=[],this.onopen&&this.onopen(e),this.dispatchEvent(lf(e))};_handleMessage=e=>{this._debug(`message event`),this.onmessage&&this.onmessage(e),this.dispatchEvent(lf(e))};_handleError=e=>{this._debug(`error event`,e.message),this._disconnect(void 0,e.message===`TIMEOUT`?`timeout`:void 0),this.onerror&&this.onerror(e),this._debug(`exec error listeners`),this.dispatchEvent(lf(e)),this._connect()};_handleClose=e=>{this._debug(`close event`),this._clearTimeouts(),this._options.shouldReconnectOnClose&&!this._options.shouldReconnectOnClose(e)&&(this._shouldReconnect=!1),this._shouldReconnect&&this._connect(),this.onclose&&this.onclose(e),this.dispatchEvent(lf(e))};_removeListeners(){this._ws&&(this._debug(`removeListeners`),this._ws.removeEventListener(`open`,this._handleOpen),this._ws.removeEventListener(`close`,this._handleClose),this._ws.removeEventListener(`message`,this._handleMessage),this._ws.removeEventListener(`error`,this._handleError),this._ws.addEventListener(`error`,ff))}_addListeners(){this._ws&&(this._debug(`addListeners`),this._ws.addEventListener(`open`,this._handleOpen),this._ws.addEventListener(`close`,this._handleClose),this._ws.addEventListener(`message`,this._handleMessage),this._ws.addEventListener(`error`,this._handleError))}_clearTimeouts(){clearTimeout(this._connectTimeout),clearTimeout(this._uptimeTimeout)}},mf=z.baseTheme({".loro-cursor":{position:`absolute`,width:`2px`,display:`inline-block`,height:`1.2em`},".loro-cursor::before":{position:`absolute`,top:`1.3em`,left:`0`,content:`var(--rtc-name)`,padding:`2px 6px`,fontSize:`12px`,borderRadius:`3px`,whiteSpace:`nowrap`,userSelect:`none`,backgroundColor:`inherit`,opacity:`0.7`},".loro-selection":{opacity:`0.5`}});Wr.define();var hf=L.define(),gf=dr.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(hf))switch(n.value.type){case`update`:{let{peer:t,user:r,cursor:i}=n.value;e.remoteCursors.set(t,{uid:t,cursor:i,user:r});break}case`delete`:e.remoteCursors.delete(n.value.peer);break;case`checkout`:e.isCheckout=n.value.checkout}return e}}),_f=e=>{let t=e.transactions.flatMap(e=>e.effects).filter(e=>e.is(hf));return e.docChanged||e.viewportChanged||t.length>0},vf=()=>pr({above:!0,class:`loro-cursor-layer`,update:_f,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(gf);return n?[]:[...t.values()].flatMap(t=>{let n=kr.cursor(t.cursor.anchor);return bf.createCursor(e,n,t.user?.name||`unknown`,t.user?.colorClassName||``)})}}),yf=()=>pr({above:!1,class:`loro-selection-layer`,update:_f,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(gf);return n?[]:[...t.entries()].filter(([,e])=>e.cursor.head!==void 0&&e.cursor.anchor!==e.cursor.head).flatMap(([,t])=>{let n=kr.range(t.cursor.anchor,t.cursor.head);return Lr.forRange(e,`loro-selection ${t.user?.colorClassName||``}`,n)})}}),bf=class e{left;top;height;name;colorClassName;constructor({left:e,top:t,height:n,name:r,colorClassName:i}){this.left=e,this.top=t,this.height=n,this.name=r,this.colorClassName=i}draw(){let e=document.createElement(`div`);return this.adjust(e),e}update(e){return this.adjust(e),!0}adjust(e){e.style.left=`${this.left}px`,e.style.top=`${this.top}px`,e.style.height=`${this.height}px`,e.className=`loro-cursor ${this.colorClassName}`,e.style.setProperty(`--rtc-name`,`"${this.name}"`)}eq(e){return this.left===e.left&&this.top===e.top&&this.height===e.height&&this.name===e.name}static createCursor(t,n,r,i){let a=e.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let o=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===zr.LTR?o.left:o.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=o.top-t.scrollDOM.scrollTop;return[new e({left:a.left-s,top:a.top-c,height:a.bottom-a.top,name:r,colorClassName:i})]}static calculateAbsoluteCursorPosition(e,t){let n=Math.max(0,Math.min(t.state.doc.length,e.anchor));return t.coordsAtPos(n,e.assoc||1)}},xf=(e,t,n,r)=>{let i=[],{updated:a,added:o}=n;for(let n of[...a,...o]){let a=Sf(e,t,n,r);a&&i.push(a)}return i},Sf=(e,t,n,r)=>{let i=t.getAllStates()[n];if(!i||n===e.peerIdStr||i.scopeId!==r)return;if(i.type===`delete`)return hf.of({type:`delete`,peer:i.uid,scopeId:i.scopeId});let a=Yi.decode(i.cursor.anchor),o=e.getCursorPos(a)?.offset??0,s=o;if(i.cursor.head){let t=Yi.decode(i.cursor.head);s=e.getCursorPos(t)?.offset??0}return hf.of({type:`update`,peer:i.uid,scopeId:i.scopeId,cursor:{anchor:o,head:s},user:i.user})},Cf=class{sub;view;doc;user;awareness;getTextFromDoc;scopeId;getUserId;constructor(e,{doc:t,user:n,awareness:r,getTextFromDoc:i,scopeId:a,getUserId:o}){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=i,this.scopeId=a,this.getUserId=o,this.sub=this.doc.subscribe(e=>{if(e.by===`local`){let e=[];for(let t of this.awareness.peers()){let n=Sf(this.doc,this.awareness,t,this.scopeId);n&&e.push(n)}this.view.dispatch({effects:e})}else e.by===`checkout`&&this.view.dispatch({effects:[hf.of({type:`checkout`,checkout:this.doc.isDetached()})]})})}update(e){if(!e.selectionSet&&!e.focusChanged&&!e.docChanged)return;let t=e.state.selection.main;if(this.view.hasFocus&&!this.doc.isDetached()){let e=Tf({doc:this.doc,getTextFromDoc:this.getTextFromDoc,anchor:t.anchor,head:t.head});this.awareness.setLocalState({type:`update`,uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId,cursor:e,user:this.user})}else this.awareness.setLocalState({type:`delete`,uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){this.sub?.(),this.awareness.setLocalState({type:`delete`,uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},wf=class{_awarenessListener;view;doc;awareness;scopeId;constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let i=async(e,t)=>{t!==`local`&&this.view.dispatch({effects:xf(this.doc,this.awareness,e,this.scopeId)})};this._awarenessListener=i,this.awareness.addListener(i)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},Tf=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{n===r&&(r=void 0);let i=t(e).getCursor(n)?.encode();if(!i)throw Error(`cursor head not found`);let a;return r!==void 0&&(a=t(e).getCursor(r)?.encode()),{anchor:i,head:a}},Ef=[`bg-(--amber-6)`,`bg-(--blue-6)`,`bg-(--crimson-6)`,`bg-(--cyan-6)`,`bg-(--grass-6)`,`bg-(--gray-6)`,`bg-(--green-6)`,`bg-(--lime-6)`,`bg-(--orange-6)`,`bg-(--purple-6)`,`bg-(--red-6)`,`bg-(--sage-6)`,`bg-(--sky-6)`,`bg-(--slate-6)`],Df=e=>{if(typeof e==`string`){let t=0;for(let n=0;n<e.length;n++)t=(t<<5)-t+e.charCodeAt(n),t=Math.trunc(t);return Ef[Math.abs(t)%Ef.length]}return Ef[e%Ef.length]},Q=Ft.get(`rtc`),Of=Q.get(`awareness`).disabled(),kf=`awareness:`;function Af(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function jf(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function Mf(e,t){return e.slice(t.length)}var Nf=r(void 0),$=new Ki,Pf=new Xd($.peerIdStr),Ff=ni(()=>{Q.debug(`creating websocket`);let e=new pf(Xt().getWsSyncURL(Ht()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await Gt(),Bt()===`edit`&&e.reconnect()}),e.addEventListener(`message`,async e=>{let t=await e.data.arrayBuffer(),n=new Uint8Array(t);if(jf(n,kf)){let e=Mf(n,kf);Pf.apply(e),Of.debug(`applied awareness update`);return}$.import(n),Q.debug(`imported doc change. new doc:`,$.toJSON()),o.get(Nf)!==$&&o.set(Nf,$)}),e.addEventListener(`open`,()=>{Q.debug(`websocket open`)}),e.addEventListener(`close`,e=>{Q.warn(`websocket close`,e),o.get(Nf)===$&&o.set(Nf,void 0)}),e});_e()&&Ff(),$.subscribeLocalUpdates(e=>{Q.debug(`local update, sending to server`),Ff().send(new Uint8Array(e))}),Pf.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t===`local`&&(Of.debug(`awareness changes`,n),Ff().send(Af(kf,Pf.encode(n))))});function If(e,t,n=``){if(Wt())return{extension:[],code:n};let r=$.getByPath(`codes/${e}`)!==void 0,i=$.getMap(`codes`).getOrCreateContainer(e,new Xi);return r||(Q.log(`initializing code for new cell`,n),i.insert(0,n)),{code:n.toString(),extension:[Lf(e),Rf(e),zf({doc:$,awareness:Pf,user:{get name(){return o.get(qe)||`Anonymous`},get colorClassName(){return Df(this.name)}},getTextFromDoc:()=>i,cellId:e}),Se($,[`codes`,e],()=>i)]}}function Lf(e){let t=(e,t)=>{let n=e.state.field(Fe).type,r=t.toString();r&&r!==n&&(Q.debug(`[incoming] setting language type: ${n} -> ${r}`),lt(e,{language:r,keepCodeAsIs:!0}))},n=(e,t)=>{let n=e.state.field(nt),r=t.toJSON();a(n,r)||e.dispatch({effects:[Qe.of(r)],annotations:[$e.of(!0)]})};return Vr.define(r=>{let i;return Promise.resolve().then(()=>{let a=$.getByPath(`languages/${e}`);if(!a){Q.error(`no language container found for cell`,e);return}Rt(a instanceof Xi,`language type is not a LoroText`);let o=$.getByPath(`language_metadata/${e}`);if(!o){Q.error(`no language metadata container found for cell`,e);return}Rt(o instanceof qi,`language metadata is not a LoroMap`),t(r,a),n(r,o),i=$.subscribe(e=>{if(e.origin===`local`)return;let i=e.events.some(e=>e.target===a.id),s=e.events.some(e=>e.target===o.id);i&&t(r,a),s&&n(r,o)})}),{destroy(){i()}}})}function Rf(e){let t=$.getMap(`languages`).getOrCreateContainer(e,new Xi),n=$.getMap(`language_metadata`).getOrCreateContainer(e,new qi);return z.updateListener.of(e=>{let r=t.toString()!==``;if(!e.docChanged&&r)return;if(!r){let r=Ue(e.state).type;lt(e.view,{language:r}),Q.debug(`no initial language, setting default to`,r),t.delete(0,t.length),t.insert(0,r),Q.debug(`no initial language metadata, setting default to`,e.state.field(nt));let i=e.state.field(nt);for(let e of Object.keys(i))n.set(e,i[e]);$.commit();return}let i=!1;for(let r of e.transactions)if(!r.annotation($e)){for(let e of r.effects)if(e.is(me)&&t.toString()!==e.value.type&&(Q.debug(`[outgoing] language change: ${t} -> ${e.value.type}`),t.delete(0,t.length),t.insert(0,e.value.type),i=!0),e.is(Qe)||e.is(Ge)){let t=e.value;e.is(Ge)?(Q.debug(`[outgoing] setting language metadata: `,t),n.clear()):Q.debug(`[outgoing] updating language metadata: `,t);for(let e of Object.keys(t))n.set(e,t[e]);i=!0}}i&&$.commit()})}function zf({doc:e,awareness:t,user:n,getTextFromDoc:r,cellId:i,getUserId:a}){let o=`loro:cell:${i}`;return[gf,vf(),yf(),Vr.define(i=>new Cf(i,{doc:e,user:n,awareness:t,getTextFromDoc:r,scopeId:o,getUserId:a})),Vr.define(n=>new wf(n,e,t,o)),mf]}var Bf=Ye,Vf=e=>{let t=(0,U.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:i,flexibleWidth:a,onNameChange:o,className:s}=e,c=n!==void 0&&n,l=i===void 0?null:i,u=a!==void 0&&a,{sendListFiles:d}=mi(),[f,p]=(0,H.useState)(l),m;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(m=[],t[0]=m):m=t[0];let[h,g]=(0,H.useState)(m),[_,v]=(0,H.useState)(!1),y=(0,H.useRef)(null),b=(0,H.useRef)(!1),x,S;t[1]===l?(x=t[2],S=t[3]):(x=()=>{p(l)},S=[l],t[1]=l,t[2]=x,t[3]=S),(0,H.useEffect)(x,S);let C;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(C=()=>{v(!0)},t[4]=C):C=t[4];let w=C,T;t[5]!==l||t[6]!==c?(T=e=>{e.relatedTarget?.closest(`.filename-input`)||(v(!1),c&&p(l))},t[5]=l,t[6]=c,t[7]=T):T=t[7];let ee=T,E;t[8]===f?E=t[9]:(E=fn.dirname(f||``),t[8]=f,t[9]=E);let D=E,O=fn.basename(f||``),k=h.filter(e=>fn.basename(e.path).startsWith(O)),te;t[10]!==D||t[11]!==_||t[12]!==d?(te=async()=>{if(!_){g([]);return}let e=await d({path:D});g(e.files)},t[10]=D,t[11]=_,t[12]=d,t[13]=te):te=t[13];let ne;t[14]!==D||t[15]!==_?(ne=[D,_],t[14]=D,t[15]=_,t[16]=ne):ne=t[16];let{isPending:A}=xi(te,ne),j=Hf(f,h,l),re=(j||k.length>0)&&(0,W.jsxs)(st,{className:`font-mono`,children:[!A&&(0,W.jsx)(He,{children:`No files`}),j&&(0,W.jsxs)(pe,{variant:`success`,className:`py-2 px-3`,onSelect:()=>{j&&(b.current=!0,o(j),y.current?.blur())},children:[(0,W.jsx)(ra,{className:`w-4 h-4 mr-2`}),` `,(0,W.jsxs)(`span`,{className:`text-sm`,children:[l?`Rename to: `:`Save as: `,(0,W.jsx)(`span`,{className:`font-medium text-sm`,children:fn.basename(j)})]})]},`_rename_`),k.map(e=>{let t=e.isDirectory?`directory`:Wn(e.path),n=Gn[t];return(0,W.jsxs)(pe,{variant:e.isDirectory?`default`:`muted`,className:`py-2 px-3`,onSelect:()=>{e.isDirectory?p(`${e.path}/`):p(e.path)},children:[(0,W.jsx)(n,{className:`w-4 h-4 mr-2`}),` `,fn.basename(e.path)]},e.path)})]}),M=Math.max(20,f?.length||r?.length||0)*10,N=_?f||``:l||``,ie;t[17]!==u||t[18]!==M?(ie=u?{maxWidth:M}:void 0,t[17]=u,t[18]=M,t[19]=ie):ie=t[19];let ae;t[20]===s?ae=t[21]:(ae=$t(s,`w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60`),t[20]=s,t[21]=ae);let P;t[22]!==r||t[23]!==N||t[24]!==ie||t[25]!==ae?(P=(0,W.jsx)(Bf,{children:(0,W.jsx)(Me,{"data-testid":`dir-completion-input`,tabIndex:-1,rootClassName:`border-none justify-center px-1`,spellCheck:`false`,value:N,onKeyDown:Uf,icon:null,ref:y,onValueChange:p,placeholder:r,autoComplete:`off`,style:ie,className:ae})}),t[22]=r,t[23]=N,t[24]=ie,t[25]=ae,t[26]=P):P=t[26];let oe=re&&`group-focus-within:block`,se;t[27]===oe?se=t[28]:(se=$t(`p-0 w-full min-w-80 max-w-80vw hidden`,oe),t[27]=oe,t[28]=se);let ce;t[29]!==re||t[30]!==se?(ce=(0,W.jsx)(ot,{side:`bottom`,className:se,portal:!1,children:re}),t[29]=re,t[30]=se,t[31]=ce):ce=t[31];let F;t[32]!==P||t[33]!==ce?(F=(0,W.jsxs)(st,{children:[P,ce]}),t[32]=P,t[33]=ce,t[34]=F):F=t[34];let le;t[35]!==ee||t[36]!==F?(le=(0,W.jsx)(ke,{onFocus:w,onBlur:ee,shouldFilter:!1,id:`filename-input`,className:`bg-transparent group filename-input`,children:F}),t[35]=ee,t[36]=F,t[37]=le):le=t[37];let ue;return t[38]!==_||t[39]!==le?(ue=(0,W.jsx)(Qt,{children:(0,W.jsx)(Ce,{open:_,modal:!1,children:le})}),t[38]=_,t[39]=le,t[40]=ue):ue=t[40],ue};function Hf(e,t,n){if(e&&!e.endsWith(`/`)&&((he(`markdown`)?new Set([`py`,`md`,`markdown`,`qmd`]):new Set([`py`])).has(fn.extension(e))||(e=e.endsWith(`.`)?`${e}py`:e.endsWith(`.p`)?`${e}y`:`${e}.py`),!t.some(t=>t.path===e||fn.basename(t.path)===e)&&!(n&&(n===e||fn.basename(n)===e))))return e}function Uf(e){e.key===`Escape`&&e.currentTarget.blur()}var Wf=e=>{let t=(0,U.c)(33),n=()=>{an(new Blob([r()],{type:`text/plain`}),`${e.proposedName}.json`)},r=c(qf),i;t[0]!==n||t[1]!==e?(i=t=>{t.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=i):i=t[2];let a;t[3]===e?a=t[4]:(a=t=>{t.key===`Escape`&&e.closeModal()},t[3]=e,t[4]=a);let o;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,W.jsx)(sr,{className:`text-accent-foreground mb-6`,children:`Download unsaved changes?`}),t[5]=o):o=t[5];let s;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(s={wordBreak:`break-word`},t[6]=s):s=t[6];let l,u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,W.jsx)(`p`,{children:`This app has unsaved changes. To recover:`}),u={paddingBottom:`10px`},t[7]=l,t[8]=u):(l=t[7],u=t[8]);let d;t[9]===e.proposedName?d=t[10]:(d=(0,W.jsxs)(`li`,{style:u,children:[`Click the "Download" button. This will download a file called\xA0`,(0,W.jsxs)(`code`,{children:[e.proposedName,`.json`]}),`. This file contains your code.`]}),t[9]=e.proposedName,t[10]=d);let f;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(f={paddingBottom:`10px`},t[11]=f):f=t[11];let p;t[12]===Symbol.for(`react.memo_cache_sentinel`)?(p={display:`block`,padding:`10px`},t[12]=p):p=t[12];let m;t[13]===e.proposedName?m=t[14]:(m=(0,W.jsxs)(`code`,{style:p,children:[`marimo recover `,e.proposedName,`.json `,`>`,` `,e.proposedName,`.py`]}),t[13]=e.proposedName,t[14]=m);let h;t[15]===e.proposedName?h=t[16]:(h=(0,W.jsxs)(`code`,{children:[e.proposedName,`.py`]}),t[15]=e.proposedName,t[16]=h);let g;t[17]!==h||t[18]!==m?(g=(0,W.jsxs)(`li`,{style:f,children:[`In your terminal, type`,m,`to overwrite `,h,` with the recovered changes.`]}),t[17]=h,t[18]=m,t[19]=g):g=t[19];let _;t[20]!==g||t[21]!==d?(_=(0,W.jsx)(ir,{className:`markdown wrap-break-word`,style:s,children:(0,W.jsxs)(`div`,{className:`prose dark:prose-invert`,children:[l,(0,W.jsxs)(`ol`,{children:[d,g]})]})}),t[20]=g,t[21]=d,t[22]=_):_=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,W.jsx)(ln,{"aria-label":`Cancel`,variant:`secondary`,"data-testid":`cancel-recovery-button`,onClick:e.closeModal,children:`Cancel`}),t[23]=e.closeModal,t[24]=v);let y;t[25]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,W.jsx)(ln,{"data-testid":`download-recovery-button`,"aria-label":`Download`,variant:`default`,type:`submit`,children:`Download`}),t[25]=y):y=t[25];let b;t[26]===v?b=t[27]:(b=(0,W.jsxs)(or,{children:[v,y]}),t[26]=v,t[27]=b);let x;return t[28]!==i||t[29]!==a||t[30]!==_||t[31]!==b?(x=(0,W.jsx)(ar,{className:`w-fit`,children:(0,W.jsxs)(`form`,{onSubmit:i,onKeyDown:a,children:[o,_,b]})}),t[28]=i,t[29]=a,t[30]=_,t[31]=b,t[32]=x):x=t[32],x},Gf=e=>{let t=(0,U.c)(12),{filename:n,needsSave:r}=e,{openModal:i,closeModal:a}=qn(),o;t[0]===n?o=t[1]:(o=n===null?`app`:fn.basename(n).split(`.`)[0],t[0]=n,t[1]=o);let s=o,c;t[2]!==a||t[3]!==r||t[4]!==i||t[5]!==s?(c=()=>{r&&i((0,W.jsx)(Wf,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=i,t[5]=s,t[6]=c):c=t[6];let l=c;gn(`global.save`,l);let u;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(u=ji(`global.save`),t[7]=u):u=t[7];let d=r?`yellow`:`gray`,f;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,W.jsx)(er,{strokeWidth:1.5,size:18}),t[8]=f):f=t[8];let p;return t[9]!==l||t[10]!==d?(p=(0,W.jsx)(sn,{content:u,children:(0,W.jsx)(ta,{onClick:l,id:`save-button`,"aria-label":`Save`,className:`rectangle`,color:d,children:f})}),t[9]=l,t[10]=d,t[11]=p):p=t[11],p};function Kf(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function qf(){let e=Pe(),t=ze(e),n={version:`1`,metadata:{marimo_version:Zt()},cells:t.map(Kf)};return JSON.stringify(n,null,2)}var Jf=r(void 0),Yf=r(e=>{let t=e(Jf);return Xf({state:e(ve),layout:e(Xn),lastSavedNotebook:t})});function Xf({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:i}=e,o=r.inOrderIds.map(e=>i[e]),s=o.map(e=>e.code),c=o.map(e=>e.config),l=o.map(e=>e.name);return!ti(s,n.codes)||!ti(l,n.names)||!a(c,n.configs)||!a(t.selectedLayout,n.layout.selectedLayout)||!a(t.layoutData,n.layout.layoutData)}function Zf(e){let t=(0,U.c)(21),{codes:n,cellConfigs:r,config:i,connStatus:a,cellNames:o,needsSave:s,kioskMode:c,onSave:l}=e,u=(0,H.useRef)(null),d;t[0]===n?d=t[1]:(d=n.join(`:`),t[0]=n,t[1]=d);let f=d,p;t[2]===r?p=t[3]:(p=r.map(Qf).join(`:`),t[2]=r,t[3]=p);let m=p,h;t[4]===o?h=t[5]:(h=o.join(`:`),t[4]=o,t[5]=h);let g=h,_;t[6]!==i||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==l?(_=()=>{if(!c)return i.autosave===`after_delay`&&(u.current!==null&&clearTimeout(u.current),s&&a.state===Kt.OPEN&&(u.current=setTimeout(l,i.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},t[6]=i,t[7]=a.state,t[8]=c,t[9]=s,t[10]=l,t[11]=_):_=t[11];let v;t[12]!==m||t[13]!==g||t[14]!==f||t[15]!==i||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==l?(v=[f,m,g,i,a.state,l,c,s],t[12]=m,t[13]=g,t[14]=f,t[15]=i,t[16]=a.state,t[17]=c,t[18]=s,t[19]=l,t[20]=v):v=t[20],(0,H.useEffect)(_,v)}function Qf(e){return JSON.stringify(e)}var $f=Promise.resolve();function ep(e){let t=$f.then(e);return $f=t.then(()=>void 0,()=>void 0),t}var tp=e=>{let t=(0,U.c)(15),{kioskMode:n}=e,r=ki(),a=i(Yf),o=i(qt).state===Kt.CLOSED,{saveOrNameNotebook:s,saveIfNotebookIsPersistent:c}=np(),l;t[0]!==n||t[1]!==c?(l={onSave:c,kioskMode:n},t[0]=n,t[1]=c,t[2]=l):l=t[2],sp(l),na();let u;t[3]===a?u=t[4]:(u=e=>{if(a)return e.preventDefault(),e.returnValue=`You have unsaved changes. Are you sure you want to leave?`,e.returnValue},t[3]=a,t[4]=u),Lt(window,`beforeunload`,u);let d;t[5]===s?d=t[6]:(d=e=>{e.preventDefault(),e.stopPropagation(),s()},t[5]=s,t[6]=d);let f=d;if(gn(`global.save`,s),o){let e;return t[7]!==r||t[8]!==a?(e=(0,W.jsx)(Gf,{filename:r,needsSave:a}),t[7]=r,t[8]=a,t[9]=e):e=t[9],e}let p;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(p=ji(`global.save`),t[10]=p):p=t[10];let m=a?`yellow`:`hint-green`,h;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,W.jsx)(er,{strokeWidth:1.5,size:18}),t[11]=h):h=t[11];let g;return t[12]!==f||t[13]!==m?(g=(0,W.jsx)(sn,{content:p,children:(0,W.jsx)(ta,{"data-testid":`save-button`,id:`save-button`,shape:`rectangle`,color:m,onClick:f,children:h})}),t[12]=f,t[13]=m,t[14]=g):g=t[14],g};function np(){let e=(0,U.c)(21),{sendSave:t}=mi(),{openModal:r,closeModal:i,openAlert:a}=qn(),o=l(Jf),s=Ai(),u=n(),d;e[0]!==a||e[1]!==t||e[2]!==o||e[3]!==u?(d=(e,n)=>ep(async()=>{let r=u.get(qt),i=u.get(kt);if(u.get(Vt))return;if(r.state!==Kt.OPEN){a(`Failed to save notebook: not connected to a kernel.`);return}if(Ft.log(`saving to `,e),n&&i.format_on_save&&(Ft.log(`formatting notebook (onSave)`),await fe()),ze(Pe()).length===0)return;let s=await rt(async()=>{let n=Pe(),r=ze(n),i=r.map(ap),a=r.map(ip),o=r.map(rp),s=Te(n),c=u.get(Xn);return await t({cellIds:i,codes:a,names:o,filename:e,configs:s,layout:pn(),persist:!0}),{names:o,codes:a,configs:s,layout:c}});o(s)}),e[0]=a,e[1]=t,e[2]=o,e[3]=u,e[4]=d):d=e[4];let p=c(d),m;e[5]!==p||e[6]!==u?(m=e=>{let t=e!==void 0&&e,n=u.get(f),r=u.get(qt);op(n)&&r.state===Kt.OPEN&&p(n,t)},e[5]=p,e[6]=u,e[7]=m):m=e[7];let h=c(m),g;e[8]!==p||e[9]!==s?(g=e=>{s(e).then(e=>{e!==null&&p(e,!0)})},e[8]=p,e[9]=s,e[10]=g):g=e[10];let _=g,v;e[11]!==i||e[12]!==_||e[13]!==r||e[14]!==h||e[15]!==u?(v=()=>{let e=u.get(f),t=u.get(qt);h(!0),!op(e)&&t.state!==Kt.CLOSED&&r((0,W.jsx)(up,{onClose:i,onSave:_}))},e[11]=i,e[12]=_,e[13]=r,e[14]=h,e[15]=u,e[16]=v):v=e[16];let y=c(v),b;return e[17]!==h||e[18]!==p||e[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:h,saveNotebook:p},e[17]=h,e[18]=p,e[19]=y,e[20]=b):b=e[20],b}function rp(e){return e.name}function ip(e){return e.code}function ap(e){return e.id}function op(e){return e!==null&&!e.startsWith(`/tmp/`)&&!e.startsWith(`/var/folders`)&&!e.includes(`AppData\\Local\\Temp`)}function sp(e){let n=(0,U.c)(14),r=i(kt),a=S(),[o]=t(qt),s=i(Yf),c,l;if(n[0]!==a){let e=ze(a);c=e.map(lp),l=e.map(cp),n[0]=a,n[1]=c,n[2]=l}else c=n[1],l=n[2];let u=l,d;n[3]===a?d=n[4]:(d=Te(a),n[3]=a,n[4]=d);let f=d,p;n[5]!==r||n[6]!==u||n[7]!==c||n[8]!==f||n[9]!==o||n[10]!==s||n[11]!==e.kioskMode||n[12]!==e.onSave?(p={onSave:e.onSave,needsSave:s,codes:c,cellConfigs:f,cellNames:u,connStatus:o,config:r,kioskMode:e.kioskMode},n[5]=r,n[6]=u,n[7]=c,n[8]=f,n[9]=o,n[10]=s,n[11]=e.kioskMode,n[12]=e.onSave,n[13]=p):p=n[13],Zf(p)}function cp(e){return e.name}function lp(e){return e.code}var up=e=>{let t=(0,U.c)(17),{onClose:n,onSave:r}=e,[i,a]=(0,H.useState)(),o;t[0]!==n||t[1]!==r?(o=e=>{a(e),e.trim()&&(r(e),n())},t[0]=n,t[1]=r,t[2]=o):o=t[2];let s=o,c;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,W.jsx)(sr,{children:`Save notebook`}),t[3]=c):c=t[3];let l;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,W.jsx)(rn,{className:`text-md pt-6 px-1`,children:`Save as`}),t[4]=l):l=t[4];let u;t[5]===s?u=t[6]:(u=(0,W.jsxs)(`div`,{className:`flex flex-col`,children:[l,(0,W.jsx)(Vf,{onNameChange:s,placeholderText:`filename`,className:`missing-filename`})]}),t[5]=s,t[6]=u);let d;t[7]===n?d=t[8]:(d=(0,W.jsx)(ln,{"data-testid":`cancel-save-dialog-button`,"aria-label":`Cancel`,variant:`secondary`,onClick:n,children:`Cancel`}),t[7]=n,t[8]=d);let f=!i,p;t[9]===f?p=t[10]:(p=(0,W.jsx)(ln,{"data-testid":`submit-save-dialog-button`,"aria-label":`Save`,variant:`default`,disabled:f,type:`submit`,children:`Save`}),t[9]=f,t[10]=p);let m;t[11]!==d||t[12]!==p?(m=(0,W.jsxs)(or,{children:[d,p]}),t[11]=d,t[12]=p,t[13]=m):m=t[13];let h;return t[14]!==u||t[15]!==m?(h=(0,W.jsxs)(ar,{children:[c,u,m]}),t[14]=u,t[15]=m,t[16]=h):h=t[16],h};function dp(...e){return t=>{e.forEach(e=>{typeof e==`function`?e(t):e!=null&&(e.current=t)})}}var fp={modified:{doc:``},original:{doc:``}},pp=(0,H.createContext)(fp);function mp(e,t){return B({},e,t,{modified:B({},e.modified,t.modified),original:B({},e.original,t.original)})}var hp=()=>(0,H.useContext)(pp),gp=e=>{var t=e.children,n=e.theme,r=(0,H.useReducer)(mp,B({},fp,{theme:n})),i=r[0],a=r[1];return(0,H.useEffect)(()=>a({theme:n}),[n]),(0,W.jsx)(pp.Provider,{value:B({},i,{dispatch:a}),children:t})},_p=[`extensions`,`value`,`selection`,`onChange`],vp=e=>{var t=e.extensions,n=t===void 0?[]:t,r=e.value,i=e.selection,a=e.onChange,o=Ti(e,_p),s=hp(),c=s.theme,l=s.dispatch,u=Pi(B({},o,{theme:c}));return(0,H.useEffect)(()=>l({original:{doc:r,selection:i,extensions:[...u,...n]},originalExtension:{onChange:a,option:o,extension:[n]}}),[e]),null};vp.displayName=`CodeMirrorMerge.Original`;var yp=[`extensions`,`value`,`selection`,`onChange`],bp=e=>{var t=e.extensions,n=t===void 0?[]:t,r=e.value,i=e.selection,a=e.onChange,o=Ti(e,yp),s=hp(),c=s.theme,l=s.dispatch,u=Pi(B({},o,{theme:c}));return(0,H.useEffect)(()=>{l({modified:{doc:r,selection:i,extensions:[...u,...n]},modifiedExtension:{onChange:a,option:o,extension:[n]}})},[e]),null};bp.displayName=`CodeMirrorMerge.Modified`;var xp=[`className`,`children`,`orientation`,`revertControls`,`highlightChanges`,`gutter`,`collapseUnchanged`,`destroyRerender`,`renderRevertControl`,`diffConfig`,`root`],Sp=[`modified`,`modifiedExtension`,`original`,`originalExtension`,`theme`,`dispatch`],Cp=H.forwardRef((e,t)=>{var n=e.className,r=e.children,i=e.orientation,a=e.revertControls,o=e.highlightChanges,s=e.gutter,c=e.collapseUnchanged,l=e.destroyRerender,u=l===void 0||l,d=e.renderRevertControl,f=e.diffConfig,p=e.root,m=Ti(e,xp),h=hp(),g=h.modified,_=h.modifiedExtension,v=h.original,y=h.originalExtension,b=h.theme,x=h.dispatch,S=Ti(h,Sp),C=(0,H.useRef)(null),w=(0,H.useRef)(),T={orientation:i,revertControls:a,highlightChanges:o,gutter:s,collapseUnchanged:c,renderRevertControl:d,diffConfig:f,root:p};(0,H.useImperativeHandle)(t,()=>({container:C.current,view:w.current,modified:g,original:v,config:B({a:v,b:g,parent:C.current},T)}),[C,w,g,v,T]);var ee=z.updateListener.of(e=>{if(e.docChanged&&typeof y?.onChange==`function`){var t=e.state.doc.toString();y?.onChange(t,e)}}),E=z.updateListener.of(e=>{if(e.docChanged&&typeof _?.onChange==`function`){var t=e.state.doc.toString();_?.onChange(t,e)}});return(0,H.useEffect)(()=>{!w.current&&C.current&&y&&_&&(w.current=new Fi(B({a:B({},v,{extensions:[...y?.extension||[],...Pi(B({},y?.option,{theme:b})),ee]}),b:B({},g,{extensions:[..._?.extension||[],...Pi(B({},_?.option,{theme:b})),E]}),parent:C.current},T)),x({view:w.current}))},[w,C,y,_]),(0,H.useEffect)(()=>{if(v&&v.doc&&w.current){var e=w.current?.a.state.doc.toString();if(e!==v.doc){var t;(t=w.current)==null||t.a.dispatch({changes:{from:0,to:e.length,insert:v.doc||``}})}}if(g&&g.doc&&w.current){var n=w.current?.b.state.doc.toString();if(n!==g.doc){var r;(r=w.current)==null||r.b.dispatch({changes:{from:0,to:n.length,insert:g.doc||``}})}}if(u&&w.current){var i=w.current.a.state.selection.ranges[0].from,a=w.current.b.state.selection.ranges[0].from;w.current.destroy(),w.current=new Fi(B({a:B({},v,{extensions:[...y?.extension||[],...Pi(B({},y?.option,{theme:b}))]}),b:B({},g,{extensions:[..._?.extension||[],...Pi(B({},_?.option,{theme:b}))]}),parent:C.current},T)),i&&(w.current.a.focus(),w.current.a.dispatch({selection:{anchor:i,head:i}})),a&&(w.current.b.focus(),w.current.b.dispatch({selection:{anchor:a,head:a}}))}},[w,b,C.current,v,g,y,_,u]),(0,H.useEffect)(()=>()=>w.current&&w.current.destroy(),[]),(0,H.useEffect)(()=>{if(w.current){var e={};S.orientation!==i&&(e.orientation=i),S.revertControls!==a&&(e.revertControls=a),S.highlightChanges!==o&&(e.highlightChanges=o),S.gutter!==s&&(e.gutter=s),S.collapseUnchanged!==c&&(e.collapseUnchanged=c),S.renderRevertControl!==d&&(e.collapseUnchanged=c),Object.keys(e).length&&x&&w.current&&(w.current.reconfigure(B({},e)),x(B({},e)))}},[x,w,i,a,o,s,c,d]),(0,W.jsx)(`div`,B({ref:C,className:`cm-merge-theme`+(n?` `+n:``)},m,{children:r}))});Cp.displayName=`CodeMirrorMerge.Internal`;var wp=[`theme`],Tp=H.forwardRef((e,t)=>{var n=e.theme,r=Ti(e,wp);return(0,W.jsx)(gp,{theme:n,children:(0,W.jsx)(Cp,B({},r,{ref:t}))})});Tp.Original=vp,Tp.Modified=bp,Tp.displayName=`CodeMirrorMerge`;var Ep=Tp.Original,Dp=Tp.Modified,Op=[le(),z.lineWrapping],kp=({cellId:e,aiCompletionCell:n,className:r,onChange:i,currentLanguageAdapter:a,currentCode:o,declineChange:s,acceptChange:c,runCell:l,outputArea:u,children:d})=>{let[f,m]=(0,H.useState)(!1),[h,g]=t(Di),_=(0,H.useId)(),v=Jt(),{initialPrompt:b,triggerImmediately:S,cellId:C}=n??{},T=C===e,ee=kn(e),E;ee?.type===`update_cell`&&(E=ee.previousCode);let[D,O]=(0,H.useState)(``),[k,te]=(0,H.useState)(b??``),ne=H.useMemo(()=>new wn({api:v.getAiURL(`completion`).toString(),headers:()=>v.headers(),prepareSendMessagesRequest:({body:e,id:t})=>({body:{...e,id:t}})}),[v]),{sendMessage:A,stop:j,status:re}=Hn({throttle:100,transport:ne,onData:e=>{if(e.type===Tn){let t=Dn.parse(e.data);O(t.code.trimEnd())}},onError:e=>{O(``),lr({title:`Completion failed`,description:wi(e)})},onFinish:({isAbort:e,isDisconnect:t,isError:n,finishReason:r})=>{(e||t||n||r!==`stop`)&&O(``)}}),M=re===`submitted`||re===`streaming`,N=(0,H.useCallback)(()=>{O(``),j()},[j]),ie=(0,H.useCallback)(async e=>{await j(),O(``);let t={...jn({input:e}),prompt:e,includeOtherCode:h?ue(o):``,code:o,language:a??`python`};await A({text:e},{body:t})},[o,a,h,A,j]),ae=(0,H.useCallback)(()=>{ie(k)},[ie,k]),P=H.useRef(null),oe=(0,H.useCallback)(()=>{S&&!M&&b&&ie(b)},[S]);(0,H.useEffect)(()=>{T&&(x(()=>{let e=P.current;return e?.view?(e.view.focus(),oe(),!0):!1},{retries:3,delay:100,initialDelay:100}),y(P.current?.view))},[T,oe]),(0,H.useEffect)(()=>{T&&te(b||``)},[T,b,te]);let{theme:se}=vi(),ce=()=>{c(D),O(``)},F=()=>{N(),m(!0),P.current?.view?.focus()},le=T&&S&&(D||M);u??=`below`;let de=T&&(!S||f),fe=(0,W.jsx)(`div`,{className:$t(`w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden`,le?`max-h-20 opacity-100 translate-y-0`:`max-h-0 opacity-0 -translate-y-2`),children:(0,W.jsx)(Ap,{status:M?`loading`:`generated`,onAccept:ce,onReject:F,showInputPrompt:f,setShowInputPrompt:m,runCell:l,className:`mt-4 mb-3 w-lg`})}),pe=(e,t)=>(0,W.jsxs)(Tp,{className:`cm`,theme:se,children:[(0,W.jsx)(Ep,{onChange:i,value:e,extensions:Op}),(0,W.jsx)(Dp,{value:t,editable:!1,readOnly:!0,extensions:Op})]}),me=()=>{if(D&&T)return pe(o,D);if(!D&&E)return pe(E,o)},he=(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(In,{isLoading:M,onAccept:ce,size:`xs`,multipleCompletions:!1,label:zn.accept,acceptShortcut:`Mod-↵`,runCell:l}),(0,W.jsx)(Rn,{onDecline:F,size:`xs`,multipleCompletions:!1,label:zn.decline,declineShortcut:`Shift-Mod-Delete`})]});return(0,W.jsxs)(`div`,{"data-ai-input-open":de,className:$t(`flex flex-col w-full rounded-[inherit]`,r),children:[(0,W.jsx)(`div`,{className:$t(`flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300`,de&&`max-h-[400px] border-b min-h-11 visible`,!de&&`max-h-0 min-h-0 invisible`),children:T&&(0,W.jsxs)(W.Fragment,{children:[(0,W.jsx)(w,{className:`text-(--blue-10) shrink-0`,size:16}),(0,W.jsx)(Ln,{inputRef:P,className:`h-full my-0 py-2 flex items-center`,onClose:()=>{N(),s()},value:k,onChange:te,onSubmit:()=>{M||(P.current?.view&&An(P.current.view),ae())},onKeyDown:Bn({handleAcceptCompletion:ce,handleDeclineCompletion:F,isLoading:M,hasCompletion:D.trim().length>0})}),(0,W.jsxs)(`div`,{className:`-mr-1.5 py-1.5`,children:[(0,W.jsxs)(`div`,{className:`flex flex-row items-center justify-end gap-0.5`,children:[(0,W.jsx)(Fn,{isLoading:M,onStop:N,onSendClick:ae,isEmpty:!k.trim(),showStopLabel:!0}),(0,W.jsx)(Pn,{handleAddContext:()=>Vn(P),isLoading:M}),(0,W.jsx)(yn,{triggerClassName:`h-7 text-xs`,iconSize:`small`,forRole:`edit`,displayIconOnly:!0,placeholder:`Edit model`})]}),D&&(0,W.jsx)(`div`,{className:`mt-1 flex items-center gap-1`,children:he})]}),(0,W.jsx)(`div`,{className:`h-full w-px bg-border mx-2`}),(0,W.jsx)(sn,{content:`Include code from other cells`,children:(0,W.jsxs)(`div`,{className:`flex flex-row items-start gap-1 overflow-hidden`,children:[(0,W.jsx)(p,{"data-testid":`include-other-cells-checkbox`,id:_,checked:h,onCheckedChange:e=>g(!!e)}),(0,W.jsx)(rn,{htmlFor:_,className:`text-muted-foreground text-xs whitespace-nowrap ellipsis`,children:`All code`})]})}),(0,W.jsx)(ln,{"aria-label":`Discard AI completion`,"data-testid":`decline-completion-button`,variant:`text`,size:`icon`,disabled:M,onClick:()=>{N(),s()},children:(0,W.jsx)(Sn,{className:`text-(--red-10)`,size:16})})]})}),u===`above`&&fe,me(),(!D||!T)&&!E&&d,u===`below`&&fe]})},Ap=e=>{let t=(0,U.c)(27),{status:n,onAccept:r,onReject:i,className:a,showInputPrompt:o,setShowInputPrompt:s,runCell:c}=e,l=n===`loading`,u;t[0]===a?u=t[1]:(u=$t(`flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border bg-(--gray-2) dark:bg-(--gray-3)`,a),t[0]=a,t[1]=u);let d;t[2]===l?d=t[3]:(d=l?(0,W.jsx)(Jn,{className:`animate-spin text-blue-600 mb-px`,size:15,strokeWidth:2,"aria-label":`Generating fix`}):(0,W.jsx)(Cn,{className:`text-green-600 mb-px`,size:15,strokeWidth:2,"aria-label":`Fix generated`}),t[2]=l,t[3]=d);let f=l?`Generating fix...`:`Showing fix`,p;t[4]===f?p=t[5]:(p=(0,W.jsx)(`p`,{className:`transition-opacity duration-200 text-muted-foreground`,children:f}),t[4]=f,t[5]=p);let m;t[6]!==d||t[7]!==p?(m=(0,W.jsxs)(`div`,{className:`flex flex-row items-center gap-2`,children:[d,p]}),t[6]=d,t[7]=p,t[8]=m):m=t[8];let h;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,W.jsx)(rn,{htmlFor:`show-input-prompt`,className:`text-muted-foreground text-xs whitespace-nowrap ellipsis`,children:`Show prompt`}),t[9]=h):h=t[9];let g;t[10]!==s||t[11]!==o?(g=(0,W.jsxs)(`div`,{className:`flex flex-row items-center gap-1`,children:[h,(0,W.jsx)(on,{checked:o,onCheckedChange:s,size:`xs`})]}),t[10]=s,t[11]=o,t[12]=g):g=t[12];let _;t[13]!==l||t[14]!==r||t[15]!==c?(_=(0,W.jsx)(In,{isLoading:l,onAccept:r,size:`xs`,label:zn.accept,runCell:c}),t[13]=l,t[14]=r,t[15]=c,t[16]=_):_=t[16];let v;t[17]===i?v=t[18]:(v=(0,W.jsx)(Rn,{onDecline:i,size:`xs`,label:zn.decline}),t[17]=i,t[18]=v);let y;t[19]!==_||t[20]!==v?(y=(0,W.jsxs)(`div`,{className:`flex flex-row items-center gap-2 ml-auto`,children:[_,v]}),t[19]=_,t[20]=v,t[21]=y):y=t[21];let b;return t[22]!==u||t[23]!==y||t[24]!==m||t[25]!==g?(b=(0,W.jsxs)(`div`,{className:u,children:[m,g,y]}),t[22]=u,t[23]=y,t[24]=m,t[25]=g,t[26]=b):b=t[26],b},jp=`web application/x-marimo-cell`,Mp=bt({cells:Ct(bt({code:vt(),name:vt().optional(),config:bt({column:St([yt(),wt()]).optional(),disabled:_t().optional(),hide_code:_t().optional(),expand_output:_t().optional()}).optional()})),version:xt(`1.0`)});function Np(e){return e.map(e=>e.code).join(`
|
|
40
|
+
|
|
41
|
+
`)}async function Pp(e){let t={cells:e.map(e=>({code:e.code,name:e.name,config:e.config})),version:`1.0`},n=new Bp().add(jp,t).add(`text/plain`,Np(e)).build();await navigator.clipboard.write([n])}function Fp(){let e=(0,U.c)(13),t=v(),n=Oe(),r=Je(),i;e[0]===n?i=e[1]:(i=async e=>{let t=Pe(),r=e.map(e=>t.cellData[e]).filter(Boolean);if(r.length!==0)try{await Pp(r),n.clear(),Ip(r.length)}catch(e){let t=e;Ft.error(`Failed to copy cells to clipboard`,t);try{await cr(Np(r)),n.clear(),Ip(r.length)}catch{Lp()}}},e[0]=n,e[1]=i);let a=c(i),o;e[2]===n?o=e[3]:(o=async e=>{let t=Pe(),r=e.filter(e=>t.cellData[e]),i=r.map(e=>t.cellData[e]);if(i.length!==0)try{await Pp(i),n.markForCut({cellIds:r})}catch(e){let t=e;Ft.error(`Failed to cut cells to clipboard`,t);try{await cr(Np(i)),n.markForCut({cellIds:r})}catch{Lp()}}},e[2]=n,e[3]=o);let s=c(o),l;e[4]!==t||e[5]!==n||e[6]!==r.cellIds?(l=async(e,i)=>{let{before:a}=i??{},o=a!==void 0&&a;if(r.cellIds.size>0){let i=[...r.cellIds],a=Pe(),s=i.map(e=>{let t=a.cellIds.findWithId(e);return{columnId:t.id,index:t.indexOfOrThrow(e)}});t.moveCellsRelativeTo({cellIds:i,targetCellId:e,position:o?`before`:`after`,previousPlacements:s}),n.clear();return}try{let n=await navigator.clipboard.read();for(let r of n)if(r.types.includes(jp)){let n=await(await r.getType(jp)).text();try{let r=Mp.parse(JSON.parse(n));if(r.cells.length===0)break;let i=e,a=r.cells.toReversed();for(let e of a)t.createNewCell({cellId:i,before:o,code:e.code,name:e.name,config:e.config,hideCode:e.config?.hide_code,autoFocus:!0});return}catch(e){let t=e;Ft.warn(`Failed to parse clipboard cell data`,t)}}let r=await navigator.clipboard.readText();r.trim()?t.createNewCell({cellId:e,before:o,code:r,autoFocus:!0}):Rp()}catch(e){let t=e;Ft.error(`Failed to paste from clipboard`,t),zp()}},e[4]=t,e[5]=n,e[6]=r.cellIds,e[7]=l):l=e[7];let u=c(l),d;return e[8]!==a||e[9]!==s||e[10]!==u||e[11]!==n.clear?(d={copyCells:a,cutCells:s,pasteAtCell:u,clearPendingCut:n.clear},e[8]=a,e[9]=s,e[10]=u,e[11]=n.clear,e[12]=d):d=e[12],d}var Ip=e=>{let t=e===1?`Cell`:`${e} cells`;lr({title:`${t} copied`,description:`${t} ${e===1?`has`:`have`} been copied to clipboard.`})},Lp=()=>{lr({title:`Copy failed`,description:`Failed to copy cells to clipboard.`,variant:`danger`})},Rp=()=>{lr({title:`Nothing to paste`,description:`No cell or text found in clipboard.`,variant:`danger`})},zp=()=>{lr({title:`Paste failed`,description:`Failed to read from clipboard`,variant:`danger`})},Bp=class{items={};add(e,t){return ClipboardItem.supports(e)?typeof t==`string`?(this.items[e]=new Blob([t],{type:e}),this):(this.items[e]=new Blob([JSON.stringify(t)],{type:e}),this):(Ft.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}};function Vp(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Hp,createActions:Up,valueAtom:Wp,useActions:Gp}=ri(Vp,{select:(e,t)=>({selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])}),extend:(e,t)=>{if(!e.selectionStart)return{selectionStart:t.cellId,selectionEnd:t.cellId,selected:new Set([t.cellId])};let{cellId:n,allCellIds:r}=t;try{let t=r.findWithId(e.selectionStart),i=t.indexOfOrThrow(e.selectionStart),a=t.indexOfOrThrow(n),[o,s]=i<a?[i,a]:[a,i],c=t.slice(o,s+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(c)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:Vp()}),Kp=()=>i(Wp);function qp(e){let t=(0,U.c)(2),n;return t[0]===e?n=t[1]:(n=r(t=>t(Wp).selected.has(e)),t[0]=e,t[1]=n),i(n)}function Jp(){return Gp()}function Yp(e){return e.get(Wp).selected}var{valueAtom:Xp,useActions:Zp}=ri(()=>new Set,{add:(e,t)=>{if(e.has(t))return e;let n=new Set(e);return n.add(t),n},remove:(e,t)=>{if(!e.has(t))return e;let n=new Set(e);return n.delete(t),T(()=>{let e=document.activeElement;if(!e)return;let t=N.findElementThroughShadowDOMs(e);t&&oe(N.parse(t.id))}),n}}),Qp=e=>r(t=>t(Xp).has(e));function $p(e){let t=(0,U.c)(2),n;return t[0]===e?n=t[1]:(n=Qp(e),t[0]=e,t[1]=n),i(n)}var em=new WeakMap,tm=500;function nm(e){if(e.ctrlKey||e.metaKey||e.altKey)return``;let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function rm(e,t){let n=nm(e),r=e.target;if(!n||!r)return!1;let i=em.get(r),a=n;i?.timeout&&clearTimeout(i.timeout),i&&(a=`${i.sequence} ${n}`);let o=t[a];if(o)return em.delete(r),o();if(!i){let e=t[n];if(e)return e()}if(Object.keys(t).some(e=>e.startsWith(`${a} `))){let e=window.setTimeout(()=>{em.delete(r)},tm);return em.set(r,{sequence:a,timeout:e}),!0}return em.delete(r),!1}function im(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&=e(r);return n}catch{return!1}}}}function am(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function om(e,t){let n=(0,U.c)(12),r=E(),i=v(),a=Zp(),o;n[0]!==e||n[1]!==r?(o=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=o):o=n[2];let s;n[3]!==i||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=n=>{sm(n.relatedTarget)||sm(n.target)||cm(n.relatedTarget)!==e&&cm(n.relatedTarget?.closest(`[data-for-cell-id]`))!==e&&(a.remove(e),i.markTouched({cellId:e}),r.blurCell(),t.current&&pm(t.current))},n[3]=i,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==o||n[10]!==s?(c={onFocusWithin:o,onBlurWithin:s},n[9]=o,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=nr(c);return l}function sm(e){return e?e instanceof HTMLElement&&e.closest(`.cm-vim-panel`)!==null:!1}function cm(e){return e&&e.getAttribute(k)||null}function lm(e,t){let r=(0,U.c)(34),{canMoveX:a,editorView:o,cellActionDropdownRef:s}=t,{saveOrNameNotebook:c}=np(),{saveCellConfig:u}=mi(),d=l(Oi),f=v(),p=n(),m=Zp(),g=Si(),_=i(Ot),{copyCells:y,pasteAtCell:b,cutCells:x}=Fp(),S=Jp(),C=qp(e),w=Qa(),T=Qn(),ee=i(Dt),E;r[0]===ee?E=r[1]:(E=At(ee),r[0]=ee,r[1]=E);let D=E,O;r[2]!==w||r[3]!==S?(O={clear:()=>{w.clear(),S.clear()},extend:e=>{w.clear(),S.extend(e)},select:e=>{w.clear(),S.select(e)}},r[2]=w,r[3]=S,r[4]=O):O=r[4];let k=O,te=i(jt),ne;r[5]===te?ne=r[6]:(ne=(e,t)=>It(te.getHotkey(e).key)(t.nativeEvent||t),r[5]=te,r[6]=ne);let A=ne,j=om(e,o),re;r[7]!==f||r[8]!==D||r[9]!==a||r[10]!==s||r[11]!==e||r[12]!==y||r[13]!==x||r[14]!==T||r[15]!==o||r[16]!==C||r[17]!==A||r[18]!==_||r[19]!==b||r[20]!==w||r[21]!==g||r[22]!==u||r[23]!==c||r[24]!==k||r[25]!==d||r[26]!==p||r[27]!==m||r[28]!==ee?(re={onKeyDown:t=>{if(cn.fromInput(t)){t.continuePropagation();return}let n={"Mod+ArrowUp":()=>(f.focusTopCell(),k.clear(),!0),"Mod+ArrowDown":()=>(f.focusBottomCell(),k.clear(),!0),ArrowUp:()=>(f.focusCell({cellId:e,where:`before`}),k.clear(),!0),ArrowDown:()=>(f.focusCell({cellId:e,where:`after`}),k.clear(),!0),ArrowLeft:()=>{if(a){let t=p.get(ve),n=t.cellIds.findWithId(e),r=t.cellIds.indexOf(n),i=t.cellIds.at(r-1);if(i&&i.length>0){let t=fm(e,i);return f.focusCell({cellId:t,where:`exact`}),k.clear(),!0}}return!1},ArrowRight:()=>{if(a){let t=p.get(ve),n=t.cellIds.findWithId(e),r=t.cellIds.indexOf(n),i=t.cellIds.at(r+1);if(i&&i.length>0){let t=fm(e,i);return f.focusCell({cellId:t,where:`exact`}),k.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let t=p.get(Ie);k.extend({cellId:e,allCellIds:t});let n=t.findWithId(e).before(e);return n&&k.extend({cellId:n,allCellIds:t}),f.focusCell({cellId:e,where:`before`}),!0},"Shift+ArrowDown":()=>{let t=p.get(Ie);k.extend({cellId:e,allCellIds:t});let n=t.findWithId(e).after(e);return n&&k.extend({cellId:n,allCellIds:t}),f.focusCell({cellId:e,where:`after`}),!0},Escape:()=>p.get(at).size>0?(p.set(Be),!0):C?(k.clear(),!0):!1,Enter:()=>(m.add(e),ce(p,e),k.clear(),!0),s:()=>(c(),!0)};for(let[e,r]of Object.entries(n))if(It(e)(t)&&r()){t.preventDefault();return}let r={"cell.run":am(e=>(g(e),!0)),"cell.runAndNewBelow":am(e=>{g(e);let t=e[e.length-1];return f.moveToNextCell({cellId:t,before:!1}),!0}),"cell.runAndNewAbove":am(e=>{g(e);let t=e[0];return f.moveToNextCell({cellId:t,before:!0}),!0}),"cell.createAbove":e=>(f.createNewCell({cellId:e,before:!0}),!0),"cell.createBelow":e=>(f.createNewCell({cellId:e,before:!1}),!0),"cell.moveUp":am(e=>{let t=e[0];return p.get(ve).cellIds.findWithId(t).first()!==t&&(e.forEach(e=>{f.moveCell({cellId:e,before:!0})}),!0)}),"cell.moveDown":am(e=>{let t=e[e.length-1];return p.get(ve).cellIds.findWithId(t).last()!==t&&(e.toReversed().forEach(e=>{f.moveCell({cellId:e,before:!1})}),!0)}),"cell.moveLeft":im(e=>a?(f.moveCell({cellId:e,direction:`left`}),!0):!1),"cell.moveRight":im(e=>a?(f.moveCell({cellId:e,direction:`right`}),!0):!1),"cell.hideCode":am(e=>{let t=!e.map(e=>p.get(ve).cellData[e]?.config||null).every(um);u({configs:Object.fromEntries(e.map(e=>[e,{hide_code:t}]))});for(let n of e)f.updateCellConfig({cellId:n,config:{hide_code:t}});if(e.length===1){let n=e[0];f.focusCell({cellId:n,where:`after`}),t?(o.current?.contentDOM.blur(),ae(n)):ce(p,n)}return!0}),"cell.focusDown":e=>(f.focusCell({cellId:e,where:`after`}),!0),"cell.focusUp":e=>(f.focusCell({cellId:e,where:`before`}),!0),"cell.sendToBottom":am(e=>(e.forEach(e=>{f.sendToBottom({cellId:e})}),!0)),"cell.sendToTop":am(e=>(e.toReversed().forEach(e=>{f.sendToTop({cellId:e})}),!0)),"cell.aiCompletion":e=>{if(!D)return!1;let t=!1;return d(n=>n?.cellId===e?(t=!0,null):{cellId:e}),t&&o.current?.focus(),!0},"cell.cellActions":()=>(s.current?.toggle(),!0),"command.copyCell":am(e=>(y(e),!0)),"command.cutCell":am(e=>(x(e),!0)),"command.pasteCell":e=>(b(e),!0),"command.createCellBefore":e=>!cn.hasModifier(t)&&(f.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),"command.createCellAfter":e=>!cn.hasModifier(t)&&(f.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"command.createSqlCellAfter":e=>!cn.hasModifier(t)&&(h({autoInstantiate:!0,createNewCell:f.createNewCell,fromCellId:e,before:!0}),f.createNewCell({cellId:e,before:!1,autoFocus:!0,code:se.sql.defaultCode}),!0),"cell.delete":()=>{if(!ee.keymap.destructive_delete)return!1;let t=i.size>=2?[...i]:[e],n=p.get(ve);return t.some(e=>{let{status:t}=n.cellRuntime[e];return t===`running`||t===`queued`})?!1:w.idle?(w.submit(t),!0):(T({cellIds:t}),w.clear(),!0)}},i=Yp(p);if(_===`vim`&&rm(t.nativeEvent||t,{j:n.ArrowDown,k:n.ArrowUp,h:n.ArrowLeft,l:n.ArrowRight,i:n.Enter,"shift+j":n[`Shift+ArrowDown`],"shift+k":n[`Shift+ArrowUp`],"g g":n[`Mod+ArrowUp`],"shift+g":n[`Mod+ArrowDown`],"d d":()=>r[`cell.delete`](),"y y":()=>(y(i.size>=2?[...i]:[e]),!0),p:()=>(b(e,{before:!1}),!0),"shift+p":()=>(b(e,{before:!0}),!0),o:()=>(f.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(f.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(f.undoDeleteCell(),!0)})){t.preventDefault();return}for(let[n,a]of Object.entries(r))if(A(n,t)){if(typeof a==`function`){if(a(e)){t.preventDefault();return}}else if(i.size>=2?a.bulkHandle([...i]):a.handle(e)){t.preventDefault();return}return}t.continuePropagation()}},r[7]=f,r[8]=D,r[9]=a,r[10]=s,r[11]=e,r[12]=y,r[13]=x,r[14]=T,r[15]=o,r[16]=C,r[17]=A,r[18]=_,r[19]=b,r[20]=w,r[21]=g,r[22]=u,r[23]=c,r[24]=k,r[25]=d,r[26]=p,r[27]=m,r[28]=ee,r[29]=re):re=r[29];let{keyboardProps:M}=tr(re),N;return r[30]!==j||r[31]!==C||r[32]!==M?(N=rr(j,M,{"data-selected":C,className:`data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1`}),r[30]=j,r[31]=C,r[32]=M,r[33]=N):N=r[33],N}function um(e){return e?.hide_code}function dm(e,t){let n=(0,U.c)(12),r=Zp(),a=i(Ot),o=i(jt),s;if(n[0]!==o){let e=o.getHotkey(`command.vimEnterCommandMode`);s=It(e.key),n[0]=o,n[1]=s}else s=n[1];let c=s,l;n[2]!==e||n[3]!==r?(l=()=>{r.remove(e),ae(e),T(()=>{oe(e)})},n[2]=e,n[3]=r,n[4]=l):l=n[4];let u=l,d;n[5]!==t||n[6]!==u?(d=()=>{if(!t.current){u();return}let e=t.current,n=e.state;if(qr(e))return;let r=!!n.field(re,!1)||!!n.field(we,!1),i=li(n)!==null;r&&pm(e),i&&di(e),!(r||i)&&u()},n[5]=t,n[6]=u,n[7]=d):d=n[7];let f=d,p;n[8]!==f||n[9]!==a||n[10]!==c?(p={onKeyDown:e=>{a===`vim`?c(e)&&f():e.key===`Escape`&&f(),e.continuePropagation()}},n[8]=f,n[9]=a,n[10]=c,n[11]=p):p=n[11];let{keyboardProps:m}=tr(p);return m}function fm(e,t){let n=document.getElementById(N.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let e of t.topLevelIds){let t=document.getElementById(N.create(e));if(t){let n=t.getBoundingClientRect();if(r.top<=n.bottom&&r.bottom>=n.top)return e}}return t.last()}function pm(e){e.state.field(re,!1)&&e.dispatch({effects:pt.of(null)}),et(e)}var mm=50,hm=4,gm=60;function _m(e){return Math.min(gm,Math.max(hm,e))}var vm=e=>{let t=(0,U.c)(13),{code:n,className:r}=e,i,a,o,s;if(t[0]!==r||t[1]!==n){let e=n.split(`
|
|
42
|
+
`,mm);t[6]===r?i=t[7]:(i=$t(`cm`,`mo-code-placeholder`,r),t[6]=r,t[7]=i),a=`cell-editor-placeholder`,o=!0,s=e.map(ym),t[0]=r,t[1]=n,t[2]=i,t[3]=a,t[4]=o,t[5]=s}else i=t[2],a=t[3],o=t[4],s=t[5];let c;return t[8]!==i||t[9]!==a||t[10]!==o||t[11]!==s?(c=(0,W.jsx)(`div`,{className:i,"data-testid":a,"aria-hidden":o,children:s}),t[8]=i,t[9]=a,t[10]=o,t[11]=s,t[12]=c):c=t[12],c};function ym(e,t){let n=e.trimEnd().length;return(0,W.jsx)(`div`,{className:`mo-code-placeholder-line`,children:n>0&&(0,W.jsx)(Ii,{className:`mo-code-placeholder-bar`,style:{width:`${_m(n)}ch`}})},t)}var bm=e=>{let t=(0,U.c)(25),{editorViewRef:n,code:r,currentLanguageAdapter:i,onAfterToggle:a,className:o}=e,s=o===void 0?`absolute right-3 top-2 z-20 flex hover-action gap-1`:o,c;t[0]===r?c=t[1]:(c=se.markdown.isSupported(r)||r.trim()===``,t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=se.sql.isSupported(r)||r.trim()===``,t[2]=r,t[3]=u);let d=u&&i===`python`,f;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,W.jsx)(dn,{color:`var(--sky-11)`,strokeWidth:2.5,className:`w-4 h-4`}),t[4]=f):f=t[4];let p;t[5]!==i||t[6]!==n||t[7]!==a||t[8]!==d?(p=(0,W.jsx)(xm,{editorViewRef:n,currentLanguageAdapter:i,canSwitchToLanguage:d,icon:f,toType:`sql`,displayName:`SQL`,onAfterToggle:a}),t[5]=i,t[6]=n,t[7]=a,t[8]=d,t[9]=p):p=t[9];let m=l&&i===`python`,h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,W.jsx)(Ni,{fill:`var(--sky-11)`,color:`black`,className:`w-4 h-4`}),t[10]=h):h=t[10];let g;t[11]!==i||t[12]!==n||t[13]!==a||t[14]!==m?(g=(0,W.jsx)(xm,{editorViewRef:n,currentLanguageAdapter:i,canSwitchToLanguage:m,icon:h,toType:`markdown`,displayName:`Markdown`,onAfterToggle:a}),t[11]=i,t[12]=n,t[13]=a,t[14]=m,t[15]=g):g=t[15];let _;t[16]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,W.jsx)(Mi,{fill:`var(--sky-11)`,color:`black`,className:`w-4 h-4`}),t[16]=_):_=t[16];let v;t[17]!==i||t[18]!==n?(v=(0,W.jsx)(xm,{editorViewRef:n,currentLanguageAdapter:i,canSwitchToLanguage:!0,icon:_,toType:`python`,displayName:`Python`,onAfterToggle:Nt.NOOP}),t[17]=i,t[18]=n,t[19]=v):v=t[19];let y;return t[20]!==s||t[21]!==v||t[22]!==p||t[23]!==g?(y=(0,W.jsxs)(`div`,{className:s,children:[p,g,v]}),t[20]=s,t[21]=v,t[22]=p,t[23]=g,t[24]=y):y=t[24],y},xm=e=>{let t=(0,U.c)(10),{editorViewRef:n,currentLanguageAdapter:r,canSwitchToLanguage:i,icon:a,toType:o,displayName:s,onAfterToggle:c}=e,l;t[0]!==n||t[1]!==c||t[2]!==o?(l=()=>{let e=n.current;e&&(lt(e,{language:o}),c())},t[0]=n,t[1]=c,t[2]=o,t[3]=l):l=t[3];let u=l;if(!i||r===o)return null;let d=`View as ${s}`,f;t[4]!==u||t[5]!==a?(f=(0,W.jsx)(ln,{"data-testid":`language-toggle-button`,variant:`text`,size:`xs`,className:`opacity-80 px-1`,onClick:u,children:a}),t[4]=u,t[5]=a,t[6]=f):f=t[6];let p;return t[7]!==d||t[8]!==f?(p=(0,W.jsx)(sn,{content:d,children:f}),t[7]=d,t[8]=f,t[9]=p):p=t[9],p};function Sm(e,t,n){return n?{code:n.code,extensions:[...t,n.extension]}:{code:e,extensions:t}}var Cm=({theme:e,showPlaceholder:n,id:r,config:a,code:o,status:s,serializedEditorState:l,setEditorView:u,runCell:d,userConfig:f,editorViewRef:p,editorViewParentRef:m,hidden:g,hasOutput:_,showHiddenCode:y,languageAdapter:b,setLanguageAdapter:x,showLanguageToggles:S=!0,inlineAiTooltip:C,outputArea:w,tooltipParentSelector:T})=>{let[ee,E]=t(Oi),D=$n(),{saveOrNameNotebook:O}=np(),k=Qa(),{saveCellConfig:te}=mi(),ne=s===`running`||s===`queued`,A=v(),j=zi(),re=b===`markdown`,M=c(()=>ne?!1:k.idle&&f.keymap.destructive_delete?(k.submit([r]),!0):(D({cellId:r}),!0)),N=c(()=>!ne&&(d(),p.current&&pm(p.current),!0)),ae=c(()=>{let e=!a.hide_code;return te({configs:{[r]:{hide_code:e}}}),A.updateCellConfig({cellId:r,config:{hide_code:e}}),e}),P=i(Mt),oe=i(vn),se=c(()=>{h({autoInstantiate:P,createNewCell:A.createNewCell}),a.hide_code||(te({configs:{[r]:{hide_code:!0}}}),A.updateCellConfig({cellId:r,config:{hide_code:!0}}),A.markUntouched({cellId:r}))}),ce=c(()=>{h({autoInstantiate:P,createNewCell:A.createNewCell})}),F=At(f),le=(0,H.useMemo)(()=>{let t=Vd({cellId:r,showPlaceholder:n,enableAI:F,cellActions:{...A,afterToggleMarkdown:se,afterToggleSQL:ce,onRun:N,deleteCell:M,saveNotebook:O,createManyBelow:e=>{for(let t of e.toReversed())A.createNewCell({code:t,before:!1,cellId:r,skipIfCodeExists:!0})},addOrAppendSetupCell:e=>{let t=Pe();if(!t.cellIds.setupCellExists()){A.addSetupCellIfDoesntExist({code:e});return}let n=xe(t)[ft],r=n?Ee(n):t.cellData[ft].code,i=r.trim()?`${r.trimEnd()}\n\n${e}`:e;n&&Ae(n,i),A.updateCellCode({cellId:ft,code:i,formattingChange:!1})},splitCell:j,toggleHideCode:ae,aiCellCompletion:()=>{if(!F)return!1;let e=!1;return E(t=>t?.cellId===r?(e=!0,null):{cellId:r}),e}},completionConfig:f.completion,acceptCompletionOnEnter:oe,keymapConfig:f.keymap,lspConfig:f.language_servers,theme:e,hotkeys:new Pt(f.keymap.overrides??{}),diagnosticsConfig:f.diagnostics,displayConfig:f.display,inlineAiTooltip:C??f.ai?.inline_tooltip??!1,tooltipParentSelector:T});return t.push(Vr.define(e=>(x(e.state.field(Fe).type),{update(e){x(e.state.field(Fe).type)}})),z.updateListener.of(e=>{e.selectionSet&&e.state.selection.ranges.some(e=>e.from!==e.to)&&y({focus:!1})}),z.domEventHandlers({focus:()=>{y({focus:!1})}})),t},[r,oe,f.keymap,f.completion,f.language_servers,f.display,f.diagnostics,f.ai?.inline_tooltip,C,T,F,e,n,A,j,ae,M,N,E,se,ce,x,y,O]),ue=_e()&&Le(r),de=e=>{if(!ue)return Sm(o,le,void 0);let t=If(r,e=>{A.updateCellCode({cellId:r,code:e,formattingChange:!0})},e);return Sm(o,le,t)},fe=c(()=>{let e=de(o),t=new z({state:_r.create({doc:e.code,extensions:e.extensions})});u(t),ue||lt(t,{language:Ue(t.state).type})}),pe=c(()=>{Rt(p.current!==null,`Editor view is not initialized`);let e=de();p.current.dispatch({effects:[L.reconfigure.of([e.extensions]),Ne(p.current,{completionConfig:f.completion,hotkeysProvider:new Pt(f.keymap.overrides??{}),lspConfig:{...f.language_servers,diagnostics:f.diagnostics}})]})}),me=c(()=>{Rt(l,`Editor view is not initialized`);let e=de(o),t=new z({state:_r.fromJSON(l,{doc:e.code,extensions:e.extensions},{history:Gr})});ue||lt(t,{language:Ue(t.state).type}),u(t),A.clearSerializedEditorState({cellId:r})}),[he,ge]=(0,H.useState)(l!==null);(0,H.useEffect)(()=>{if(p.current!==null){ge(!0);return}if(ge(!1),l!==null){me(),ge(!0);return}return ie.request(r,()=>{p.current===null&&(fe(),ge(!0))}),()=>ie.cancel(r)},[r,p,me,fe,l]),(0,H.useEffect)(()=>{p.current!==null&&pe()},[pe,le,p]),(0,H.useEffect)(()=>()=>{p.current?.destroy(),p.current=null},[p]);let[ve,ye]=tn({rootMargin:`300px 0px`,threshold:0});(0,H.useEffect)(()=>{he||(ye?.isIntersecting?ie.prioritize(r):ie.deprioritize(r))},[he,ye?.isIntersecting,r]);let be=dm(r,p),Se=``;return re&&g&&_?Se=`h-0 overflow-hidden`:g&&(Se=`opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden`),(0,W.jsx)(kp,{cellId:r,aiCompletionCell:ee,currentCode:p.current?.state.doc.toString()??o,currentLanguageAdapter:b,declineChange:c(()=>{E(null),p.current?.focus()}),onChange:c(e=>{p.current?.dispatch({changes:{from:0,to:p.current.state.doc.length,insert:e}})}),acceptChange:c(e=>{p.current?.dispatch({changes:{from:0,to:p.current.state.doc.length,insert:e}}),p.current?.focus(),E(null)}),runCell:N,outputArea:w,children:(0,W.jsxs)(`div`,{className:`relative w-full`,ref:ve,...be,children:[he?(0,W.jsx)(wm,{className:Se,editorView:p.current,ref:m,hidden:g,showHiddenCode:y}):(0,W.jsx)(vm,{code:o,className:Se}),!g&&S&&(0,W.jsx)(`div`,{className:`absolute top-1 right-5`,children:(0,W.jsx)(bm,{code:o,editorViewRef:p,currentLanguageAdapter:b,onAfterToggle:se})})]})})},wm=H.forwardRef((e,t)=>{let n=(0,U.c)(14),{className:r,editorView:i,hidden:a,showHiddenCode:o}=e,s=(0,H.useRef)(null),c,l;n[0]===i?(c=n[1],l=n[2]):(c=()=>{i!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(i.dom)},l=[i,s],n[0]=i,n[1]=c,n[2]=l),(0,H.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=$t(`cm mathjax_ignore`,r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==o?(d=e=>{a&&o&&(e.stopPropagation(),o({focus:!0}))},n[5]=a,n[6]=o,n[7]=d):d=n[7];let f;n[8]===t?f=n[9]:(f=e=>{t?dp(t,s)(e):dp(s)(e)},n[8]=t,n[9]=f);let p;return n[10]!==u||n[11]!==d||n[12]!==f?(p=(0,W.jsx)(`div`,{className:u,onDoubleClick:d,ref:f,"data-testid":`cell-editor`}),n[10]=u,n[11]=d,n[12]=f,n[13]=p):p=n[13],p});wm.displayName=`CellCodeMirrorEditor`;function Tm(e){let n=n=>{let r=(0,U.c)(5),a=i(qt),[o,s]=t(Nf);if(_e()&&Le(n.id)&&(Yt(a.state)||o===void 0)){let e;r[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,W.jsx)(`span`,{children:`Waiting for real-time collaboration connection...`}),r[0]=e):e=r[0];let t;return r[1]===s?t=r[2]:(t=(0,W.jsx)(`div`,{className:`flex h-full w-full items-baseline p-4`,children:(0,W.jsxs)(nn,{milliseconds:1e3,fallback:null,children:[e,(0,W.jsx)(ln,{variant:`link`,onClick:()=>{s(`disabled`)},children:`Turn off real-time collaboration`})]})}),r[1]=s,r[2]=t),t}let c;return r[3]===n?c=r[4]:(c=(0,W.jsx)(e,{...n}),r[3]=n,r[4]=c),c};return n.displayName=`WithWaitUntilConnected(${e.displayName})`,n}var Em=_e()?Tm((0,H.memo)(Cm)):(0,H.memo)(Cm);export{fd as _,Zp as a,Qa as b,dp as c,Jf as d,Vf as f,dd as g,hd as h,$p as i,tp as l,gd as m,bm as n,Jp as o,Nf as p,lm as r,Kp as s,Em as t,np as u,ud as v,$a as y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{c as e,l as t,t as n,u as r}from"./useEvent-BDjgaBtz.js";import{
|
|
1
|
+
import{c as e,l as t,t as n,u as r}from"./useEvent-BDjgaBtz.js";import{Ba as i,D as a,In as o,M as s,P as c,So as l,U as u,gr as d}from"./cells-lwP9-xsQ.js";import{t as f}from"./compiler-runtime-BrajqUja.js";import{p}from"./config-CXnC3MRv.js";import{g as m}from"./useEventListener-DPOTkksd.js";import{i as h}from"./utils-B4K466FK.js";import{c as g}from"./session-BHgGkjDm.js";import{T as _,_ as v}from"./config-7IjqNuVp.js";import{t as y}from"./cn-ldLVeaqm.js";import{t as b}from"./jsx-runtime-B74pBk57.js";import{r as x}from"./button-Cl7haVNh.js";import{n as S}from"./paths-bkIFVj8h.js";import{b as C}from"./write-secret-modal-CBi2vNK_.js";import{r as w}from"./requests-BIFR-h4M.js";var T=f();function E(){return t(i)}function D(){let t=(0,T.c)(5),[a]=e(v),o=r(i),{openAlert:s}=C(),{sendRename:c}=w(),l;return t[0]!==a.state||t[1]!==s||t[2]!==c||t[3]!==o?(l=async e=>{let t=p();return a.state===_.OPEN?(g(t=>{e===null?t.delete(h.filePath):t.set(h.filePath,e)}),c({filename:e}).then(()=>(o(e),document.title=t.app_title||S.basename(e)||`Untitled Notebook`,e)).catch(e=>(s(e.message),null))):(s(`Failed to save notebook: not connected to a kernel.`),null)},t[0]=a.state,t[1]=s,t[2]=c,t[3]=o,t[4]=l):l=t[4],n(l)}var O=b(),k=e=>{let t=(0,T.c)(15),{className:n,cellId:r,variant:i,onClick:d,formatCellName:f,skipScroll:p}=e,m=c()[r]??``,h=s().inOrderIds.indexOf(r),{showCellIfHidden:g}=a(),_=f??N,v;t[0]===r?v=t[1]:(v=r===`__scratch__`?void 0:`#${l.create(r)}`,t[0]=r,t[1]=v);let b;t[2]===n?b=t[3]:(b=y(`inline-block cursor-pointer text-left text-link hover:underline focus-visible:outline focus-visible:outline-ring`,n),t[2]=n,t[3]=b);let S;t[4]!==r||t[5]!==d||t[6]!==g||t[7]!==p||t[8]!==i?(S=e=>{if(!(e.defaultPrevented||e.button!==0||x.hasModifier(e))){if(r===`__scratch__`)return!1;g({cellId:r}),e.stopPropagation(),e.preventDefault(),requestAnimationFrame(()=>{M(r,i,p)&&(u(r,{preventScroll:!0}),d?.())})}},t[4]=r,t[5]=d,t[6]=g,t[7]=p,t[8]=i,t[9]=S):S=t[9];let C=_(o(m,h)),w;return t[10]!==v||t[11]!==b||t[12]!==S||t[13]!==C?(w=(0,O.jsx)(`a`,{href:v,className:b,onClick:S,children:C}),t[10]=v,t[11]=b,t[12]=S,t[13]=C,t[14]=w):w=t[14],w},A=e=>{let t=(0,T.c)(2),n;return t[0]===e?n=t[1]:(n=(0,O.jsx)(k,{...e,variant:`destructive`}),t[0]=e,t[1]=n),n},j=e=>{let t=(0,T.c)(10),{cellId:n,lineNumber:r}=e,i=E(),a;t[0]!==n||t[1]!==r?(a=()=>d(n,r),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=e=>n===`__scratch__`?`scratch`:`marimo://${i||`untitled`}#cell=${e}`,t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==a||t[8]!==o?(s=(0,O.jsx)(k,{cellId:n,onClick:a,skipScroll:!0,variant:`destructive`,className:`traceback-cell-link`,formatCellName:o}),t[6]=n,t[7]=a,t[8]=o,t[9]=s):s=t[9],s};function M(e,t,n){let r=l.create(e),i=document.getElementById(r),a=i?.classList.contains(`has-error`);return i===null?(m.error(`Cell ${r} not found on page.`),!1):(n||i.scrollIntoView({behavior:`smooth`,block:`center`}),(t===`destructive`||a&&t===void 0)&&(i.classList.add(`error-outline`),setTimeout(()=>{i.classList.remove(`error-outline`)},2e3)),(t===`focus`||!a&&t===void 0)&&(i.classList.add(`focus-outline`),setTimeout(()=>{i.classList.remove(`focus-outline`)},2e3)),!0)}function N(e){return e}export{E as a,M as i,A as n,D as o,j as r,k as t};
|