@marimo-team/frontend 0.23.16-dev36 → 0.23.16-dev37
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-Dua-Q5qp.js → CellStatus-C6Cj3oJc.js} +1 -1
- package/dist/assets/{JsonOutput-BjTsPSAI.js → JsonOutput-CyzvjIjx.js} +6 -6
- package/dist/assets/{MarimoErrorOutput-BSyqD6Hg.js → MarimoErrorOutput-CIuzXFFo.js} +8 -8
- package/dist/assets/{RenderHTML-DG0Fm01X.js → RenderHTML-Cd-PP5ZR.js} +1 -1
- package/dist/assets/{RunButton-DFs1N-c9.js → RunButton-CnYWedW4.js} +1 -1
- package/dist/assets/{add-cell-with-ai-C6Kxfu_D.js → add-cell-with-ai-ByOBQT99.js} +10 -10
- package/dist/assets/{add-connection-dialog-DAqIrB2O.js → add-connection-dialog-C97ylgk0.js} +1 -1
- package/dist/assets/{agent-panel-GtkUm7qc.js → agent-panel-Dxo9WUKV.js} +5 -5
- package/dist/assets/{ai-model-dropdown-UEHQ_Tx0.js → ai-model-dropdown-Bvqy98cI.js} +3 -3
- package/dist/assets/{app-config-button-BmBlROBo.js → app-config-button-v1lG63C2.js} +1 -1
- package/dist/assets/{cell-editor-DKzBZjFa.js → cell-editor-BKrHbyX_.js} +16 -16
- package/dist/assets/cell-link-w5IbCQV4.js +1 -0
- package/dist/assets/{cells-C-9Qa_6_.js → cells-DzyDERZy.js} +57 -57
- package/dist/assets/{chat-display-CqB9H1kF.js → chat-display-Ccgk4vbE.js} +1 -1
- package/dist/assets/{chat-panel-C3wpuHtk.js → chat-panel--53TIc3t.js} +4 -4
- package/dist/assets/{chat-ui-DF2nZlBy.js → chat-ui-B5rBxgsw.js} +4 -4
- package/dist/assets/{column-preview-Bp4QHPE2.js → column-preview-Cb8R9kfl.js} +1 -1
- package/dist/assets/{command-palette-DaJdKaQz.js → command-palette-B1S9PjZi.js} +1 -1
- package/dist/assets/{common-DeheUlBO.js → common-CJ3baa6D.js} +1 -1
- package/dist/assets/{components-Dk-7Tn_8.js → components-DpUIWGaj.js} +1 -1
- package/dist/assets/{datasource-D-oZZRFN.js → datasource-D_VcQMEn.js} +2 -2
- package/dist/assets/{dependency-graph-panel-JK4qjNID.js → dependency-graph-panel-DY5lvPDx.js} +4 -4
- package/dist/assets/{documentation-panel-C_TxLeX8.js → documentation-panel-CGhwxsXK.js} +1 -1
- package/dist/assets/{download-QhwPYWYu.js → download-DpS57jyt.js} +2 -2
- package/dist/assets/{edit-page-C8yy6X_7.js → edit-page-DA765yQV.js} +6 -6
- package/dist/assets/error-entries-CTYMwfsh.js +8 -0
- package/dist/assets/{error-panel-BOBOm9wN.js → error-panel-DGAkG5kW.js} +1 -1
- package/dist/assets/{file-explorer-panel-CQOFpuIG.js → file-explorer-panel-BKUo-MDh.js} +3 -3
- package/dist/assets/{file-icons-DoBeqg86.js → file-icons-DfWENcb8.js} +1 -1
- package/dist/assets/{file-name-input-B8d-QPzY.js → file-name-input-CNVZtm5K.js} +1 -1
- package/dist/assets/{floating-outline-ylNOBTvA.js → floating-outline-LitP0wCD.js} +1 -1
- package/dist/assets/{focus-CJzSyxLL.js → focus-CNKbm-Xz.js} +1 -1
- package/dist/assets/{form-C2_p_FeE.js → form-nHzLTU1m.js} +2 -2
- package/dist/assets/{home-page-D_6eKuGc.js → home-page-DM9Z_IJ7.js} +1 -1
- package/dist/assets/{html-to-image-DfyxinVN.js → html-to-image-JaxFFZcr.js} +2 -2
- package/dist/assets/{index-D-wPCBTa.js → index-C7_REKh1.js} +6 -6
- package/dist/assets/{layout-BWV4OadK.js → layout-B29hqiiK.js} +5 -5
- package/dist/assets/{logs-panel-DpMLUEOB.js → logs-panel-CQRPYS8j.js} +1 -1
- package/dist/assets/{markdown-renderer-DtzxgcfB.js → markdown-renderer-sEayY9-m.js} +2 -2
- package/dist/assets/{name-cell-input-SbknxDvi.js → name-cell-input-B-aj1KH3.js} +1 -1
- package/dist/assets/{outline-panel-kV7ARoXE.js → outline-panel-BOryk60D.js} +1 -1
- package/dist/assets/{packages-panel-B3biBPQ1.js → packages-panel-DoYDLty3.js} +1 -1
- package/dist/assets/{panels-BsrSW0bC.js → panels-Bb4fIHgH.js} +2 -2
- package/dist/assets/{process-output-DCAOrKEU.js → process-output-d-LEMtGI.js} +1 -1
- package/dist/assets/{radio-group-BWAhJtjV.js → radio-group-DfioQthW.js} +1 -1
- package/dist/assets/readonly-code-display-C9fu8tvK.js +1 -0
- package/dist/assets/{readonly-python-code-B5ABqdqK.js → readonly-python-code-DHxOnQGj.js} +1 -1
- package/dist/assets/{reveal-component-CrcdxGl_.js → reveal-component-5jf0W625.js} +2 -2
- package/dist/assets/{run-page-DFHpKr66.js → run-page-BMKx9ld_.js} +1 -1
- package/dist/assets/scratchpad-panel-C8z8vzBX.js +1 -0
- package/dist/assets/{session-panel-DWS61Z1x.js → session-panel-BVVk-02h.js} +1 -1
- package/dist/assets/{skeleton-PJnQ2_IA.js → skeleton-Bubr9pIj.js} +1 -1
- package/dist/assets/{snippets-panel-D1eovB0O.js → snippets-panel-U2-iok-c.js} +1 -1
- package/dist/assets/{state-Bu-aMpIc.js → state-DtziTd1T.js} +3 -3
- package/dist/assets/{state-BjouLTuw.js → state-DxQhUsG9.js} +1 -1
- package/dist/assets/{textarea-DhPaQ0wx.js → textarea-Bmzmbbpo.js} +1 -1
- package/dist/assets/{tracing-B2ux60rQ.js → tracing-B5XFvMmV.js} +1 -1
- package/dist/assets/{tracing-panel-CF8H5wRv.js → tracing-panel-DnR2bYDe.js} +2 -2
- package/dist/assets/{tree-actions-CPSDN4eE.js → tree-actions-Dx9CDaxV.js} +1 -1
- package/dist/assets/{useCellActionButton-k2OXllYI.js → useCellActionButton-DypR3yDt.js} +1 -1
- package/dist/assets/{useDeleteCell-C3nmnuxK.js → useDeleteCell-vMXAr3rY.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-D14Lna3z.js → useDependencyPanelTab-CwdwKf7A.js} +1 -1
- package/dist/assets/{useNotebookActions-CHM0Ardg.js → useNotebookActions-jWIcmpv0.js} +3 -3
- package/dist/assets/useRunCells-C2dvU2jA.js +1 -0
- package/dist/assets/useSplitCell-C1tubdNi.js +1 -0
- package/dist/index.html +22 -22
- package/package.json +1 -1
- package/src/components/editor/cell/code/__tests__/cell-editor-activity-lifecycle.test.ts +250 -0
- package/src/components/editor/cell/code/cell-editor.tsx +13 -7
- package/src/core/cells/cells.ts +4 -4
- package/src/core/rtc/state.ts +9 -0
- package/dist/assets/cell-link-CRHwRCw2.js +0 -1
- package/dist/assets/error-entries-B8hPG61B.js +0 -8
- package/dist/assets/readonly-code-display-D_rgEfAm.js +0 -1
- package/dist/assets/scratchpad-panel-CfqnZK3C.js +0 -1
- package/dist/assets/useRunCells-C4qD32Ix.js +0 -1
- package/dist/assets/useSplitCell-BEebdldD.js +0 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Duqr-kJ2.js","./loro_wasm_bg-RNUly1SE.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var
|
|
3
|
-
`).length-1}},ss=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ls=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new ss(t.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Ht.of({text:a,doc:r})});return}try{let d=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=t.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(o,d),n.view.dispatch({effects:Ht.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),cs=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=as(e.view,t)}},{decorations:e=>e.decorations});function us(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var ds=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({...us(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},Zr=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},fs=We.of([{key:"Tab",run:ds},{key:"Escape",run:Zr}]),$n=Rt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=os(e.fetchFn,t);return[qt,$n.of(e),ls(r,e),cs,n?fs:[]]}const ms=J.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function ps(e){var s,c;let t=e.state.facet(xt),n={...W,...t.keymaps},r=e.state.facet(zt),o=fe("div","cm-ai-tooltip").appendChild(fe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Vn(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),Kr(e)}),o}const zt=Rt.define({combine(e){return Pn(e,{render:ps,hideOnBlur:!1,label:"Edit with AI"})}}),hs=Xe.fromClass((Ja=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ya(this,Sn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(o),u=c(r)||c(o);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),m=s(r)?r:o,f=a.right-d.width,h=Math.min(m.left,f),y=m.top-d.height,b=i?i.y:-1/0;y<b&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ot).show){this.dom.style.display="none";return}if(e.state.facet(zt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:za(this,Sn)})}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()}},Sn=new WeakMap,Ja));var gs=J.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 ys(){return[hs,gs]}var bs=class extends Dn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=fe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=fe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=fe("div","cm-floating-buttons"),a=t.state.facet(xt),i={...W,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Vn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Xr(t)});let c=fe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Vn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},ws=class extends Dn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(ot),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),m=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:m,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(zr),r=t.state.field(Yr),o=fe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=fe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",b=>b.preventDefault());let i=fe("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=fe("div","cm-ai-loading-container");this.loadingContainer=s;let c=fe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=fe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=fe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let m=fe("button","cm-ai-generate-button");m.textContent="\u23CE Generate",m.setAttribute("aria-label","Generate code"),m.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?m:d)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let b=i.value.trim();b!==h&&(h=b,f(b))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function vs(e){if(!e.prompt)throw Error("prompt function is required");let t={...W,...e.keymaps};return[xt.of(e),ot,zr,Tt,Yr,ys(),ms,We.of([{key:t.showInput,run:Kr}]),ct.highest([We.of([{key:t.acceptEdit,run:Xr},{key:t.rejectEdit,run:Qr}])]),Es,Ss,Cs,xs]}const Es=J.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let l=e.state.doc.lineAt(a).number;if(l<n){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=u,r+=u,o=!0}else if(l<=r){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=u,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),Ss=J.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),Cs=J.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(xt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new ws(n.prompt),side:-1}).range(s))}}return $.set(r)}),xs=ze.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new bs(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>J.decorations.from(e)});var Is=Je(),T=Ka(Od(),1),Wn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=Mr(Wn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(Kd),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let m=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(C=>!c.has(C));b&&v&&f.set(y.name,y.usedBy)}let h;m!=null&&m.runElapsedTimeMs&&m.runElapsedTimeMs>2e3&&(h=m.runElapsedTimeMs),f.size===0&&h===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:h,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):o({cellIds:[...l.values()].map(d=>d.cellId)}),Wn()):{...e,entries:l}},clear:()=>Wn()});Mn=function(){let e=Sr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=Ni(),a=Rr();return(0,T.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},ts=function(e){let t=(0,Is.c)(16),n=ie(to),r=no(),o=Rr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let u;return t[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},t[3]=u):u=t[3],u}if(n.entries.size!==1){let u;return t[4]===i?u=t[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=u),u}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(ks)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let l;return t[12]!==i||t[13]!==s||t[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],l};function ks(e){return e.cellId}var ro=["python","sql","markdown"];function qn(e,t={}){var l;let{streaming:n=!1}=t,r=((l=e.match(/^\s*/))==null?void 0:l[0])??"",o=e.slice(r.length),a=null,i=!1;for(let u of ro)if(o.startsWith(`\`\`\`${u}`)){i=!0,a=o.slice(3+u.length),a.startsWith(`
|
|
4
|
-
`)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let u=o.slice(3);if(n&&
|
|
5
|
-
`)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),c=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:a}function
|
|
6
|
-
`)?!1:ro.some(t=>t.startsWith(e))}async function
|
|
2
|
+
var Ad=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ld=(Z,W,ye)=>W in Z?Ad(Z,W,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[W]=ye;var p=(Z,W,ye)=>Ld(Z,typeof W!="symbol"?W+"":W,ye),Od=(Z,W,ye)=>W.has(Z)||Ha("Cannot "+ye);var za=(Z,W,ye)=>(Od(Z,W,"read from private field"),ye?ye.call(Z):W.get(Z)),Ka=(Z,W,ye)=>W.has(Z)?Ha("Cannot add the same private member more than once"):W instanceof WeakSet?W.add(Z):W.set(Z,ye);import{s as Ya}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Cr,i as Y,l as In,n as ae,p as Pt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$n as Ud,$t as Dd,B as Qa,Bi as Za,Dn as Pd,E as Tn,En as jd,F as Fd,H as Md,Hn as Rd,Jn as ei,Jt as xr,K as ti,Kn as Bd,Nt as Gd,On as Jd,Pt as ni,Qi as Nn,Qt as Vd,St as jt,Ti as ri,Tr as $d,Tt as Wd,U as oi,Ui as qd,Un as Hd,Ut as Ir,V as An,Vt as zd,W as ai,Wn as Kd,Xn as Yd,Xt as ii,Yn as Xd,Yt as si,Zn as Qd,_t as Zd,bi as ef,bn as tf,bt as nf,ct as li,di as rf,dn as of,ea as kr,en as af,er as sf,fi as Tr,gn as Ln,gt as lf,ht as cf,i as ci,ir as uf,jn as Nr,l as ui,lt as On,m as yt,nn as df,ri as ff,tn as mf,u as di,ut as pf,vt as Ar,wi as hf,wn as gf,xt as yf,y as tt,yi as bf,yt as _n,__tla as wf}from"./cells-DzyDERZy.js";import{B as vf,N as Ef,P as Lr,R as fi,S as Sf,T as mi,k as Cf,w as xf}from"./zod-H_cgTO0M.js";import{t as Je}from"./compiler-runtime-B3qBwwSJ.js";import{C as If,f as kf,m as Tf,p as Nf,t as Af,v as Lf,w as Of}from"./ai-model-dropdown-Bvqy98cI.js";import{_ as _f,c as pi,g as $e,m as Or,t as Uf}from"./useEventListener-C0195JsF.js";import{t as Ft}from"./invariant-CkiqGLcK.js";import{E as _r,_ as hi,c as Df,g as gi,l as yi,v as bi}from"./utils-BWBBpCkT.js";import{E as Pf,M as jf,O as Ff,S as wi,T as Mt,m as Mf,o as Rf,r as vi,v as bt}from"./config-B-Q7J_6d.js";import{n as Bf,t as Gf}from"./switch-OVajJBPR.js";import{c as Jf,n as Vf,r as $f}from"./readonly-python-code-DHxOnQGj.js";import{t as Wf}from"./ErrorBoundary-DzTD8LVq.js";import{t as nt}from"./cn-DYvqRARy.js";import{t as qf}from"./jsx-runtime-Blw4afVn.js";import{l as Hf,r as zf,t as Kf}from"./popover-Bcz1Zikb.js";import{X as Yf,Z as Xf,__tla as Qf}from"./JsonOutput-CyzvjIjx.js";import{t as Ur}from"./label-CqjrpwRC.js";import{r as Zf}from"./download-DpS57jyt.js";import{t as Un}from"./tooltip-4bZlU7jl.js";import{r as Dr,t as lt}from"./button-DDGiD1NW.js";import{At as em,Bt as Dn,Ct as tm,Dt as nm,E as rm,Et as Ei,Ft as om,Gt as Rt,H as Si,Ht as am,I as im,P as sm,Qt as ze,Rt as Pr,St as lm,Tt as We,Ut as wt,V as cm,Wt as jr,Yt as um,Zt as pe,_ as dm,at as $,dt as Pn,en as Bt,gt as fm,ht as mm,lt as pm,m as hm,ot as gm,qt as ct,rn as jn,st as G,ut as Xe,w as ym,xt as bm}from"./dist-12S8I4CH.js";import{C as wm,E as vm,I as Em,O as Sm,S as Cm,a as xm,c as Im,n as Fr,r as km,w as Tm}from"./dist-CiVShZKM.js";import{o as Ci}from"./arrays-DbOq36rN.js";import{n as Nm}from"./once-CGKw_kwj.js";import{t as Mr}from"./createReducer-DGx5Af-C.js";import{a as Am,c as Lm,f as Fn,h as Om,i as _m,l as Gt,n as xi,o as Um,t as Dm}from"./dist-DYEuVkEX.js";import{t as Pm}from"./main-BNL5rxQw.js";import{r as Mn,t as jm}from"./requests-9-v2bhoi.js";import{t as Fm}from"./createLucideIcon-w-Qo9n0R.js";import{r as Ii,t as Mm,__tla as Rm}from"./layout-B29hqiiK.js";import{t as Bm}from"./x-C-Eq0ag8.js";import{t as Gm}from"./circle-check-C32B6Qa1.js";import{B as Jm,F as Vm,L as $m,N as Wm,O as qm,V as Hm,a as ki,d as zm,k as Ti,n as Km,o as Ym,r as Ni,s as Xm,w as Qm}from"./add-cell-with-ai-ByOBQT99.js";import{r as Zm,t as ep}from"./file-icons-DfWENcb8.js";import{n as tp}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ai}from"./useDeleteCell-vMXAr3rY.js";import{t as Li}from"./save-DBuEmnnF.js";import{Y as np,Z as Oi}from"./input-JxFwu-3G.js";import{t as rp}from"./sparkles-DUCpRFlS.js";import{t as op}from"./preload-helper-TXkS1QI3.js";import{a as ap}from"./dist-CPjTeT8p.js";import{t as vt}from"./use-toast-BwJoaaDM.js";import{n as Qe}from"./paths-BKO-pHK6.js";import{t as ip}from"./session-BmukRjSi.js";import{r as sp}from"./useTheme-Bxv9B31g.js";import{n as _i}from"./copy-Bxb1_Gtw.js";import{k as lp}from"./usePress-5hBv4sjD.js";import{a as cp}from"./useRunCells-C2dvU2jA.js";import{c as Ui,i as Di,n as Pi,r as up}from"./dialog-BCVepWLJ.js";import{t as ji}from"./useHotkey-DLZvrRZT.js";import{n as Fi}from"./ImperativeModal-fY-ZfT0b.js";import{a as dp}from"./errors-PgHhDa-M.js";import{t as z}from"./extends-B9D0JO9U.js";import{t as Jt}from"./objectWithoutPropertiesLoose-CboCOq4o.js";import{t as fp}from"./kbd-C5HnBH5U.js";import{a as Br}from"./useInstallPackage-WiYBwhUO.js";import{i as mp,n as Mi}from"./state-DxQhUsG9.js";import{a as pp,o as hp}from"./cell-link-w5IbCQV4.js";import{r as Ri}from"./html-to-image-JaxFFZcr.js";import{a as gp}from"./focus-CNKbm-Xz.js";import{n as yp}from"./useAsyncData-Bg5iAViP.js";import{a as bp,o as Bi,r as wp,s as Gi,t as vp}from"./command-Dqxie4gq.js";import{a as Ji}from"./renderShortcut-Bl8_FVn8.js";import{n as Ep,t as Sp}from"./icons-CIPE8AIY.js";import{n as Et}from"./esm-B30N1GS0.js";import{t as Vi}from"./dist-DrtRBAn8.js";import{t as Cp}from"./useSplitCell-C1tubdNi.js";import{co as xp,do as Gr,fo as Ip,ft as kp,go as St,ho as $i,lo as Jr,mo as Wi,oo as Tp,po as Np,so as qi,uo as Hi,__tla as Ap}from"./loro_wasm_bg-RNUly1SE.js";import{t as Lp}from"./ws-BmTnbVEi.js";import{t as zi}from"./Inputs-B8-VCb_j.js";import{r as Op,t as _p}from"./skeleton-Bubr9pIj.js";let Vr,Vt,Rn,Bn,Gn,$r,we,Ki,Yi,Xi,Qi,Wr,qr,ut,Zi,es,ts,$t,Jn,ns,Up=Promise.all([(()=>{try{return wf}catch{}})(),(()=>{try{return Qf}catch{}})(),(()=>{try{return Rm}catch{}})(),(()=>{try{return Ap}catch{}})()]).then(async()=>{var Sn,Ja,Ee,Se,Ce,xe,Ie,ke,Te,Ne,Ae,Le,Oe,_e,Ue,De,Pe,je,Fe,Me,Re;var Z=Fm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const W={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>jn(e,{onError:console.error,inputDebounceTime:ye,keymaps:W},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),rt=pe.define(),ot=ze.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(rt))return n.value;return e}}),It=pe.define(),kt=pe.define(),zr=ze.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(It)&&(n={...n,inputValue:r.value}),r.is(kt)&&(n={...n,shouldFocus:r.value});return n}}),Wt=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(Wt))return n.value;return e}}),dt=pe.define(),Kr=ze.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(dt))return n.value;return e}});var rs=1;const Yr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<rs)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[rt.of({show:!0,lineFrom:i,lineTo:s}),kt.of(!0),It.of("")],selection:wt.cursor(o.from)}),!0},Xr=e=>e.state.field(Tt)?(e.dispatch({effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(Tt);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[Wt.of(null),rt.of({show:!1,lineFrom:0,lineTo:0}),kt.of(!1),It.of(""),dt.of(!1)]}),!0):!1};var Vn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function os(){return navigator.platform.startsWith("Mac")?Vn.mac:navigator.platform.startsWith("Win")?Vn.windows:Vn.default}function $n(e){return e.replace("Mod",os()).replace("-"," ").toUpperCase()}function fe(e,t){let n=document.createElement(e);return n.className=t,n}function as(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var qt=ze.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Ht));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Ht=pe.define();function is(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new ss(t),side:1});return r.push(o.range(n)),$.set(r)}var ss=class extends Pn{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
|
|
3
|
+
`).length-1}},ls=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},cs=(e,t)=>Xe.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new ls(t.cacheTimeout??1e3)}async update(n){var i,s,c,l,u;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Ht.of({text:a,doc:r})});return}try{let d=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((u=(l=t.events)==null?void 0:l.shouldShowSuggestion)==null?void 0:u.call(l,n.view,d))===!1)return;this.cache.set(o,d),n.view.dispatch({effects:Ht.of({text:d,doc:r})})}catch(d){d instanceof Error&&d.name!=="AbortError"&&console.error("Suggestion fetch error:",d)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),us=Xe.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=is(e.view,t)}},{decorations:e=>e.decorations});function ds(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:wt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:wt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var fs=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Wn);return e.dispatch({...ds(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},Zr=e=>{var r,o,a;let t=(r=e.state.field(qt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet(Wn);return e.dispatch({effects:Ht.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},ms=We.of([{key:"Tab",run:fs},{key:"Escape",run:Zr}]),Wn=Rt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=as(e.fetchFn,t);return[qt,Wn.of(e),cs(r,e),us,n?ms:[]]}const ps=G.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function hs(e){var s,c;let t=e.state.facet(xt),n={...W,...t.keymaps},r=e.state.facet(zt),o=fe("div","cm-ai-tooltip").appendChild(fe("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=$n(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",l=>{l.stopPropagation(),l.button===0&&l.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",l=>{l.preventDefault(),Yr(e)}),o}const zt=Rt.define({combine(e){return jn(e,{render:hs,hideOnBlur:!1,label:"Edit with AI"})}}),gs=Xe.fromClass((Ja=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ka(this,Sn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,l=s(r)||s(o),u=c(r)||c(o);if(!l||!u){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let d=this.dom.getBoundingClientRect(),m=s(r)?r:o,f=a.right-d.width,h=Math.min(m.left,f),y=m.top-d.height,b=i?i.y:-1/0;y<b&&(y=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${y}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(zt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(ot).show){this.dom.style.display="none";return}if(e.state.facet(zt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:za(this,Sn)})}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()}},Sn=new WeakMap,Ja));var ys=G.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 bs(){return[gs,ys]}var ws=class extends Pn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=fe("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=fe("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=fe("div","cm-floating-buttons"),a=t.state.facet(xt),i={...W,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${$n(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Xr(t)});let c=fe("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${$n(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",l=>{l.preventDefault(),l.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},vs=class extends Pn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),dt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(xt);t==null||t.stopPropagation();let o=n.state.field(ot),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),l=s.from,u=c.to,d=n.state.sliceDoc(l,u),m=n.state.sliceDoc(0,l),f=n.state.sliceDoc(u);this.abortController=new AbortController,n.dispatch({effects:dt.of(!0)}),this.toggleLoading(!0);try{let y=await this.complete({prompt:i,selection:d,codeBefore:m,codeAfter:f,editorView:n,signal:this.abortController.signal});if(!n.state.field(ot).show)return;if(!y||typeof y!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:l,to:u,insert:y},effects:[rt.of({show:!1,lineFrom:0,lineTo:0}),Wt.of({from:l,to:l+y.length,oldCode:d,newCode:y}),dt.of(!1)]})}catch(y){if(y instanceof DOMException&&y.name==="AbortError")return;(h=r.onError)==null||h.call(r,y)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(zr),r=t.state.field(Kr),o=fe("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=fe("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",b=>b.preventDefault());let i=fe("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=fe("div","cm-ai-loading-container");this.loadingContainer=s;let c=fe("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let l=fe("button","cm-ai-cancel-button");l.textContent="Cancel",l.setAttribute("aria-label","Cancel code generation"),l.addEventListener("click",this.onCancel),s.append(l,c);let u=fe("div","cm-ai-help-info");this.helpInfo=u;let d=u.appendChild(document.createElement("button"));d.className="cm-ai-help-info-button",d.textContent="Esc to close",d.addEventListener("click",this.onCancel);let m=fe("button","cm-ai-generate-button");m.textContent="\u23CE Generate",m.setAttribute("aria-label","Generate code"),m.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:kt.of(!1)})}),f(i.value),i.addEventListener("input",y),i.addEventListener("keydown",this.onKeyDown);function f(b){u.replaceChildren(b?m:d)}let h="";function y(){t.dispatch({effects:It.of(i.value)});let b=i.value.trim();b!==h&&(h=b,f(b))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function Es(e){if(!e.prompt)throw Error("prompt function is required");let t={...W,...e.keymaps};return[xt.of(e),ot,zr,Tt,Kr,bs(),ps,We.of([{key:t.showInput,run:Yr}]),ct.highest([We.of([{key:t.acceptEdit,run:Xr},{key:t.rejectEdit,run:Qr}])]),Ss,Cs,xs,Is]}const Ss=G.updateListener.of(e=>{let t=e.state.field(ot);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let l=e.state.doc.lineAt(a).number;if(l<n){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=u,r+=u,o=!0}else if(l<=r){let u=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=u,o=!0}}),o&&e.view.dispatch({effects:[rt.of({show:!0,lineFrom:n,lineTo:r})]})}),Cs=G.decorations.of(e=>{let t=e.state.field(Tt);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),xs=G.decorations.compute([ot],e=>{let t=e.field(ot),n=e.facet(xt),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new vs(n.prompt),side:-1}).range(s))}}return $.set(r)}),Is=ze.define({create(e){return $.none},update(e,t){let n=t.state.field(Tt);return n?$.set([$.widget({widget:new ws(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>G.decorations.from(e)});var ks=Je(),T=Ya(_d(),1),qn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=Mr(qn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(tt),s=a.get(Rd),c=new Set(i.cellIds.inOrderIds.filter(d=>i.cellData[d].code.trim()==="")),l=new Map;for(let d of n){if(c.has(d)){l.set(d,{cellId:d,type:"simple"});continue}let m=i.cellRuntime[d],f=new Map;for(let y of Object.values(s)){let b=y.declaredBy.includes(d),v=y.usedBy.some(C=>!c.has(C));b&&v&&f.set(y.name,y.usedBy)}let h;m!=null&&m.runElapsedTimeMs&&m.runElapsedTimeMs>2e3&&(h=m.runElapsedTimeMs),f.size===0&&h===void 0?l.set(d,{cellId:d,type:"simple"}):l.set(d,{cellId:d,type:"expensive",executionDurationMs:h,defs:f})}let u=[...l.values()].every(d=>d.type==="simple");return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):o({cellIds:[...l.values()].map(d=>d.cellId)}),qn()):{...e,entries:l}},clear:()=>qn()});Rn=function(){let e=Cr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=Ai(),a=Rr();return(0,T.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},ns=function(e){let t=(0,ks.c)(16),n=ie(to),r=no(),o=Rr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let u;return t[3]===Symbol.for("react.memo_cache_sentinel")?(u={isPending:!1},t[3]=u):u=t[3],u}if(n.entries.size!==1){let u;return t[4]===i?u=t[5]:(u={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=u),u}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(Ts)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let l;return t[12]!==i||t[13]!==s||t[14]!==c?(l={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=l):l=t[15],l};function Ts(e){return e.cellId}var ro=["python","sql","markdown"];function Hn(e,t={}){var l;let{streaming:n=!1}=t,r=((l=e.match(/^\s*/))==null?void 0:l[0])??"",o=e.slice(r.length),a=null,i=!1;for(let u of ro)if(o.startsWith(`\`\`\`${u}`)){i=!0,a=o.slice(3+u.length),a.startsWith(`
|
|
4
|
+
`)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let u=o.slice(3);if(n&&Ns(u))return e;i=!0,a=u,a.startsWith(`
|
|
5
|
+
`)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),c=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:a}function Ns(e){return e.includes(`
|
|
6
|
+
`)?!1:ro.some(t=>t.startsWith(e))}async function As(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error("Failed to get response body");let t="";return await $m({stream:Hm({stream:e.body,schema:Jm}).pipeThrough(new TransformStream({transform(n){if(!n.success)throw n.error;let r=n.value;if(r.type==="text-delta")t+=r.delta;else if(r.type==="error")throw Error(r.errorText)}})),onError:n=>{throw n}}),Hn(t)}async function Ls(e){var i;let t=`
|
|
7
7
|
${e.codeBefore}
|
|
8
8
|
<rewrite_this>
|
|
9
9
|
${e.selection}
|
|
10
10
|
</rewrite_this>
|
|
11
11
|
${e.codeAfter}
|
|
12
|
-
`.trim(),n=wi();await bi();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})}),o=((i=e.selection.match(/^\s*/))==null?void 0:i[0])||"",a=await Ns(r);return a.startsWith(o)||(a=o+a),a}var g=Ka(Wf(),1),Ls=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],Hn;function Os(){let e=async r=>{let o=K.get(_r),{saveUserConfig:a}=Pm();await a({config:{runtime:{auto_reload:r}}}).then(()=>K.set(_r,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{K.set(xr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{K.set(xr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{K.set(xr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.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,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.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,g.jsx)(g.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,g.jsxs)(g.Fragment,{children:["Shell commands are not directly supported.",(0,g.jsx)("br",{}),"Use ",(0,g.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Ls.map(r=>({match:r,onMatch:()=>{},title:(0,g.jsx)(dp,{className:"inline",children:r}),description:(0,g.jsxs)(g.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,g.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(r=>[r.match,r]));return J.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),Hn?Hn.upsert({title:c.title,description:c.description}):Hn=vt({title:c.title,description:c.description}))}})}var oo=new Set(["Escape","Alt-`"]);function _s(e,t=oo){return e.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>t.has(r)))}function Us(e=!0){let t=new Set(oo);e||t.add("Enter");let n=_s(Am,t);return ct.highest(We.of([...n,{key:"Ctrl-y",run:r=>Ln(r)?Ci(r):!1},{key:"Ctrl-n",run:r=>Ln(r)?jn(!0)(r):!1},{key:"Ctrl-p",run:r=>Ln(r)?jn(!1)(r):!1}]))}const zn=pe.define(),Yn=pe.define(),Kn=pe.define();function q(e,t){if(!e)throw Error(t)}var Ds=3402823466385289e23,Ps=-3402823466385289e23,js=4294967295,Fs=2147483647,Ms=-2147483648;function Yt(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>Fs||e<Ms)throw Error("invalid int 32: "+e)}function Xn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>js||e<0)throw Error("invalid uint 32: "+e)}function ao(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>Ds||e<Ps))throw Error("invalid float 32: "+e)}var io=Symbol("@bufbuild/protobuf/enum-type");function Rs(e){let t=e[io];return q(t,"missing enum type on enum object"),t}function so(e,t,n,r){e[io]=lo(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function lo(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=co(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function Bs(e,t,n){let r={};for(let o of t){let a=co(o);r[a.localName]=a.no,r[a.no]=a.localName}return so(r,e,t,n),r}function co(e){return"localName"in e?e:Object.assign(Object.assign({},e),{localName:e.name})}var Y=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,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}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==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Gs(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new Y),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Js(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&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 r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function Qn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var Kt=4294967296;function uo(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=Kt&&(o+=r/Kt|0,r%=Kt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?mo(r,o):Zn(r,o)}function Vs(e,t){let n=Zn(e,t),r=n.hi&2147483648;r&&(n=mo(n.lo,n.hi));let o=fo(n.lo,n.hi);return r?"-"+o:o}function fo(e,t){if({lo:e,hi:t}=$s(e,t),t<=2097151)return String(Kt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+po(i)+po(a)}function $s(e,t){return{lo:e>>>0,hi:t>>>0}}function Zn(e,t){return{lo:e|0,hi:t|0}}function mo(e,t){return t=~t,e?e=~e+1:t+=1,Zn(e,t)}var po=e=>{let t=String(e);return"0000000".slice(t.length)+t};function ho(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 Ws(){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 n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function qs(){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 r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>q(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>q(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),uo(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),uo(r)},dec(r,o){return Vs(r,o)},uDec(r,o){return fo(r,o)}}}const V=qs();var w;(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"})(w||(w={}));var at;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(at||(at={}));function Ze(e,t,n){if(t===n)return!0;if(e==w.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==n}return!1}function ft(e,t){switch(e){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==0?V.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function go(e,t){switch(e){case w.BOOL:return t===!1;case w.STRING:return t==="";case w.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var X;(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"})(X||(X={}));var Hs=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 r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].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(Xn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Yt(e),ho(e,this.buf),this}bool(e){return this.buf.push(e?1:0),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){ao(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){Xn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Yt(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Yt(e),e=(e<<1^e>>31)>>>0,ho(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.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=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return Qn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return Qn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return Qn(t.lo,t.hi,this.buf),this}},zs=class{constructor(e,t){this.varint64=Js,this.uint32=Ws,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 X.Varint:for(;this.buf[this.pos++]&128;);break;case X.Bit64:this.pos+=4;case X.Bit32:this.pos+=4;break;case X.LengthDelimited:let r=this.uint32();this.pos+=r;break;case X.StartGroup:for(;;){let[o,a]=this.tag();if(a===X.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}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 V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.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 V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.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 Ys(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function yo(e){let t=e.field.localName,n=Object.create(null);return n[t]=Ks(e),[n,()=>n[t]]}function Ks(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 ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Xs(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(n=>n.no===t.no)}var Ye="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xt=[];for(let e=0;e<Ye.length;e++)Xt[Ye[e].charCodeAt(0)]=e;Xt[45]=Ye.indexOf("+"),Xt[95]=Ye.indexOf("/");const Qt={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,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=Xt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
|
|
13
|
-
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Ye[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=Ye[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=Ye[o|r>>6],t+=Ye[r&63],n=0;break}return n&&(t+=Ye[o],t+="=",n==1&&(t+="=")),t}};function Qs(e,t,n){wo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Xs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=yo(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function Zs(e,t,n,r){wo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(bo(e,t)){let l=e.getType().runtime.bin.listUnknownFields(e).filter(u=>u.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let u of l)e.getType().runtime.bin.onUnknownField(e,u.no,u.wireType,u.data)}let i=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,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);e.getType().runtime.bin.onUnknownField(e,l,u,d)}}function bo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function wo(e,t){q(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function vo(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:!go(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function Eo(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?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function Ke(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(Y.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function So(e,t){return Ke(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var Co={ignoreUnknownFields:!1},xo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function el(e){return e?Object.assign(Object.assign({},Co),e):Co}function tl(e){return e?Object.assign(Object.assign({},xo),e):xo}var Zt=Symbol(),en=Symbol();function nl(){return{makeReadOptions:el,makeWriteOptions:tl,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${qe(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=o.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);o.set(c.oneof,i)}Io(r,s,c,n,e)}else{let l=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=a.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==e.typeName){l=!0;let[d,m]=yo(u);Io(d,s,u.field,n,u),Zs(r,u,m(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!vo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!ol(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=ko(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&bo(e,s)){let c=Qs(e,s,t),l=ko(s.field,c,t);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return Nt(e,t,n??at.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||go(e,t)))return tn(e,t)},debug:qe}}function qe(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 Io(e,t,n,r,o){let a=n.localName;if(n.repeated){if(q(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=er(n.T,s,r.ignoreUnknownFields,!0);c!==en&&i.push(c);break;case"scalar":try{i.push(Nt(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let l;try{l=rl(n.K,s)}catch(u){let d=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=er(n.V.T,c,r.ignoreUnknownFields,!0);u!==en&&(i[l]=u);break;case"scalar":try{i[l]=Nt(n.V.T,c,at.BIGINT,!0)}catch(d){let m=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),Error(m)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];Ke(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=er(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Zt:Eo(n,e);break;case en:break;default:e[a]=c;break}break;case"scalar":try{let l=Nt(n.T,t,n.L,!1);l===Zt?Eo(n,e):e[a]=l}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function rl(e,t){if(e===w.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return Nt(e,t,at.BIGINT,!0).toString()}function Nt(e,t,n,r){if(t===null)return r?ft(e,n):Zt;switch(e){case w.DOUBLE:case w.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 o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==w.FLOAT&&ao(o),o;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==w.UINT32||e==w.FIXED32?Xn(a):Yt(a),a;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case w.BOOL:if(typeof t!="boolean")break;return t;case w.STRING:if(typeof t!="string")break;return t;case w.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Qt.dec(t)}throw Error()}function er(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Zt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return en;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${qe(t)}`)}function ol(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ko(e,t,n){if(e.kind=="map"){q(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=tn(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=tr(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){q(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(tn(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(tr(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return tn(e.T,t);case"enum":return tr(e.T,t,n.enumAsInteger);case"message":return So(e.T,t).toJson(n)}}function tr(e,t,n){var r;return q(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function tn(e,t){switch(e){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return q(typeof t=="number"),t;case w.FLOAT:case w.DOUBLE:return q(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case w.STRING:return q(typeof t=="string"),t;case w.BOOL:return q(typeof t=="boolean"),t;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return q(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case w.BYTES:return q(t instanceof Uint8Array),Qt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),To={readUnknownFields:!0,readerFactory:e=>new zs(e)},No={writeUnknownFields:!0,writerFactory:()=>new Hs};function al(e){return e?Object.assign(Object.assign({},To),e):To}function il(e){return e?Object.assign(Object.assign({},No),e):No}function sl(){return{makeReadOptions:al,makeWriteOptions:il,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==X.EndGroup));){let l=a.fields.find(s);if(!l){let u=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,u);continue}Ao(e,t,l,c,r)}if(o&&(c!=X.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ao,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!vo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}Lo(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Lo(e,t,n,r)}}}function Ao(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=rn;if(n.kind=="scalar"&&n.L>0&&(c=cl),a){let m=e[i];if(r==X.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=t.uint32()+t.pos;for(;t.pos<f;)m.push(c(t,s))}else m.push(c(t,s))}else e[i]=c(t,s);break;case"message":let l=n.T;a?e[i].push(nn(t,new l,o,n)):Ke(e[i])?nn(t,e[i],o,n):(e[i]=nn(t,new l,o,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=l.fieldWrapper.unwrapField(e[i])));break;case"map":let[u,d]=ll(n,t,o);e[i][u]=d;break}}function nn(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function ll(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=rn(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=rn(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=nn(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,at.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,at.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function cl(e,t){let n=rn(e,t);return typeof n=="bigint"?n.toString():n}function rn(e,t){switch(t){case w.STRING:return e.string();case w.BOOL:return e.bool();case w.DOUBLE:return e.double();case w.FLOAT:return e.float();case w.INT32:return e.int32();case w.INT64:return e.int64();case w.UINT64:return e.uint64();case w.FIXED64:return e.fixed64();case w.BYTES:return e.bytes();case w.FIXED32:return e.fixed32();case w.SFIXED32:return e.sfixed32();case w.SFIXED64:return e.sfixed64();case w.SINT64:return e.sint64();case w.UINT32:return e.uint32();case w.SINT32:return e.sint32()}}function Lo(e,t,n,r){q(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?w.INT32:e.T;if(o)if(q(Array.isArray(t)),e.packed)dl(n,a,e.no,t);else for(let i of t)At(n,a,e.no,i);else At(n,a,e.no,t);break;case"message":if(o){q(Array.isArray(t));for(let i of t)Oo(n,r,e,i)}else Oo(n,r,e,t);break;case"map":q(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))ul(n,r,e,i,s);break}}function ul(e,t,n,r,o){e.tag(n.no,X.LengthDelimited),e.fork();let a=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:a=Number.parseInt(r);break;case w.BOOL:q(r=="true"||r=="false"),a=r=="true";break}switch(At(e,n.K,1,a),n.V.kind){case"scalar":At(e,n.V.T,2,o);break;case"enum":At(e,w.INT32,2,o);break;case"message":q(o!==void 0),e.tag(2,X.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Oo(e,t,n,r){let o=So(n.T,r);n.delimited?e.tag(n.no,X.StartGroup).raw(o.toBinary(t)).tag(n.no,X.EndGroup):e.tag(n.no,X.LengthDelimited).bytes(o.toBinary(t))}function At(e,t,n,r){q(r!==void 0);let[o,a]=_o(t);e.tag(n,o)[a](r)}function dl(e,t,n,r){if(!r.length)return;e.tag(n,X.LengthDelimited).fork();let[,o]=_o(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function _o(e){let t=X.Varint;switch(e){case w.BYTES:case w.STRING:t=X.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:t=X.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:t=X.Bit32;break}let n=w[e].toLowerCase();return[t,n]}function fl(){return{setEnumType:so,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),l=i[o].value;c&&c.kind=="message"&&!Ke(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Lt(l)),a[o]={case:s,value:l};break;case"scalar":case"enum":let u=i[o];r.T===w.BYTES&&(u=r.repeated?u.map(Lt):Lt(u)),a[o]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,h]of Object.entries(i[o]))a[o][f]=Lt(h);else Object.assign(a[o],i[o]);break;case"message":let m=r.V.T;for(let f of Object.keys(i[o])){let h=i[o][f];m.fieldWrapper||(h=new m(h)),a[o][f]=h}break}break;case"message":let d=r.T;if(r.repeated)a[o]=i[o].map(m=>Ke(m,d)?m:new d(m));else{let m=i[o];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?a[o]=Lt(m):a[o]=m:a[o]=Ke(m,d)?m:new d(m)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Ze(r.T,i,a[s]));case"enum":return o.every((i,s)=>Ze(w.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!Ke(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Ke(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Ze(w.INT32,o,a);case"scalar":return Ze(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Ze(w.INT32,o.value,a.value);case"scalar":return Ze(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let u=r.V.T;return l.every(m=>u.equals(o[m],a[m]));case"enum":return l.every(m=>Ze(w.INT32,o[m],a[m]));case"scalar":let d=r.V.T;return l.every(m=>Ze(d,o[m],a[m]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(on);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=on(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:on(a.value)}:{case:void 0}:on(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function on(e){if(e===void 0)return e;if(Ke(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Lt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function ml(e,t,n){return{syntax:e,json:nl(),bin:sl(),util:Object.assign(Object.assign({},fl()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return Gs(this,r,o,a)},makeEnum:Bs,makeEnumType:lo,getEnumType:Rs,makeExtension(r,o,a){return Ys(this,r,o,a)}}}var pl=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(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 Uo(e,t){let n=Do(e);return t?n:vl(wl(n))}function hl(e){return Uo(e,!1)}const gl=Do;function Do(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){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(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var yl=new Set(["constructor","toString","toJSON","valueOf"]),bl=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Po=e=>`${e}$`,wl=e=>bl.has(e)?Po(e):e;const vl=e=>yl.has(e)?Po(e):e;var El=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=hl(e)}addField(e){q(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 t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function Sl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=Uo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??gl(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??at.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=w.BYTES&&o.T!=w.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new El(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const E=ml("proto3",e=>new pl(e,t=>Sl(t,!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]=ft(t.T,t.L);break;case"message":break}}});var ve;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ve||(ve={}));var jo;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(jo||(jo={}));var nr;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(nr||(nr={})),E.util.setEnumType(nr,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var an;(function(e){e[e.CODEIUM=0]="CODEIUM"})(an||(an={})),E.util.setEnumType(an,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var sn;(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"})(sn||(sn={})),E.util.setEnumType(sn,"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 ln;(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"})(ln||(ln={})),E.util.setEnumType(ln,"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 it;(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"})(it||(it={})),E.util.setEnumType(it,"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 Cl=(Ee=class extends Y{constructor(n){super();p(this,"completionId","");p(this,"text","");p(this,"prefix","");p(this,"stop","");p(this,"score",0);p(this,"tokens",[]);p(this,"decodedTokens",[]);p(this,"probabilities",[]);p(this,"adjustedProbabilities",[]);p(this,"generatedLength",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ee,n,r)}},p(Ee,"runtime",E),p(Ee,"typeName","exa.codeium_common_pb.Completion"),p(Ee,"fields",E.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}])),Ee),Fo=(Se=class extends Y{constructor(n){super();p(this,"ideName","");p(this,"ideVersion","");p(this,"extensionName","");p(this,"extensionVersion","");p(this,"apiKey","");p(this,"locale","");p(this,"sessionId","");p(this,"requestId",V.zero);p(this,"userAgent","");p(this,"url","");p(this,"authSource",an.CODEIUM);E.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Se,n,r)}},p(Se,"runtime",E),p(Se,"typeName","exa.codeium_common_pb.Metadata"),p(Se,"fields",E.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:E.getEnumType(an)}])),Se),xl=(Ce=class extends Y{constructor(n){super();p(this,"tabSize",V.zero);p(this,"insertSpaces",!1);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ce,n,r)}},p(Ce,"runtime",E),p(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),p(Ce,"fields",E.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);xe=class extends Y{constructor(n){super();p(this,"eventType",sn.UNSPECIFIED);p(this,"eventJson","");p(this,"timestampUnixMs",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(xe,n,r)}},p(xe,"runtime",E),p(xe,"typeName","exa.codeium_common_pb.Event"),p(xe,"fields",E.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:E.getEnumType(sn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var Il=class extends Dn{constructor(t,n){super();p(this,"index");p(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const cn=Rt.define({combine(e){return Pn(e,{language:it.TYPESCRIPT,timeout:150,widgetClass:Il,alwaysOn:!0},{})}}),Mo=Rt.define({combine(e){return Pn(e,{override:()=>[]},{})}});var kl=$.mark({class:"cm-ghostText"});const st=ze.define({create(e){return null},update(e,t){var r;let n=t.state.facet(cn);for(let o of t.effects){if(o.is(zn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(l=>kl.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:$.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[$.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Yn)||o.is(Kn))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>J.decorations.from(e,t=>(t==null?void 0:t.decorations)||$.none)}),pt=Pr.define(),un=Pr.define();var R;(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"})(R||(R={}));function rr(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var dn;function Tl(e){if(!dn){dn={};for(let t of Object.values(R))typeof t!="string"&&(dn[rr(t)]=t)}return dn[e]}var he=class Ct extends Error{constructor(t,n=R.Unknown,r,o,a){super(Nl(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Ct?t:t instanceof Error?t.name=="AbortError"?new Ct(t.message,R.Canceled):new Ct(t.message,n,void 0,void 0,t):new Ct(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Ct.prototype?!0: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(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function Nl(e,t){return e.length?`[${rr(t)}] ${e}`:`[${rr(t)}]`}function Al(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function Ll(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function Ol(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new he("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function _l(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 Ul=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(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},Ot=function(e){return this instanceof Ot?(this.v=e,this):new Ot(e)},Dl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof Ot?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}},Pl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:Ot(e[o](i)),done:!1}:a?a(i):i}:a}};function jl(e){return Dl(this,arguments,function*(){yield Ot(yield*Pl(Ul(e)))})}var Ro=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(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},Fl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},Ml=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof ht?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Rl(e,t){return Ll(e,n=>{switch(n.kind){case ve.Unary:return Gl(t,e,n);case ve.ServerStreaming:return Jl(t,e,n);case ve.ClientStreaming:return Vl(t,e,n);case ve.BiDiStreaming:return $l(t,e,n);default:return null}})}function Bl(e,t){return Rl(e,t)}function Gl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function Jl(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,jl([r]),o==null?void 0:o.contextValues),o)}}function Vl(e,t,n){return async function(r,o){var a,i,s,c,l,u;let d=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(l=o==null?void 0:o.onHeader)==null||l.call(o,d.header);let m,f=0;try{for(var h=!0,y=Ro(d.message),b;b=await y.next(),a=b.done,!a;h=!0)c=b.value,h=!1,m=c,f++}catch(v){i={error:v}}finally{try{!h&&!a&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!m)throw new he("protocol error: missing response message",R.Unimplemented);if(f>1)throw new he("protocol error: received extra messages for client streaming method",R.Unimplemented);return(u=o==null?void 0:o.onTrailer)==null||u.call(o,d.trailer),m}}function $l(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Bo(e,t){let n=(function(){return Ml(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*Fl(Ro(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function Wl(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Go(this));for(let o of n)o.removeEventListener("abort",r)}return t}function ql(e){let t=new AbortController,n=()=>{t.abort(new he("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Go(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 Jo(){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 Vo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function $o(e,t){return t instanceof e?t:new e(t)}function Hl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:$o(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function Wo(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function qo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ho(e,t,n,r){let o=t?zo(e.I,r):Yo(e.I,n);return{parse:(t?zo(e.O,r):Yo(e.O,n)).parse,serialize:o.serialize}}function zo(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new he(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new he(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Yo(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=qo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw he.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw he.from(i,R.Internal)}}}}const zl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Yl(e){let t=e==null?void 0:e.match(zl);if(t)return{stream:!!t[1],binary:!!t[3]}}function Ko(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=Tl(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new he(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Qt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Kl(e){let t=new he("invalid end stream",R.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[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Ko(n.error,r,t):void 0}}const fn="Content-Type",Xo="Content-Encoding",Qo="Connect-Protocol-Version";function Xl(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Zo(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function ea(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(fn,e==ve.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set(Qo,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function ta(e,t,n,r){let o=r.get(fn),a=Yl(o);if(n!==200){let s=new he(`HTTP ${n}`,Xl(n),r);if(e==ve.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ve.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new he(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Ql="application/";function Zl(e,t){return t?Qt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function ec(e,t,n){let r="?connect=v1",o=e.header.get(fn);(o==null?void 0:o.indexOf(Ql))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Xo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+Zl(t,n);let i=e.url+r,s=new Headers(e.header);return[Qo,fn,"Content-Length",Xo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function tc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e);return t(Object.assign(Object.assign({},e.req),{message:$o(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function nc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e),a=Object.assign(Object.assign({},e.req),{message:Hl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=e.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,o()),l),r)}}}}}),r)}function na(e){let{signal:t,cleanup:n}=ql(e.timeoutMs),r=Wl(e.signal,t);return[r.signal,function(o){let a=he.from(t.aborted?Go(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var mn;(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"})(mn||(mn={})),E.util.setEnumType(mn,"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 ra;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(ra||(ra={})),E.util.setEnumType(ra,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var pn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(pn||(pn={})),E.util.setEnumType(pn,"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 rc=(Ie=class extends Y{constructor(n){super();p(this,"threshold",0);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ie,n,r)}},p(Ie,"runtime",E),p(Ie,"typeName","exa.language_server_pb.MultilineConfig"),p(Ie,"fields",E.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ie),oc=(ke=class extends Y{constructor(n){super();p(this,"metadata");p(this,"document");p(this,"editorOptions");p(this,"otherDocuments",[]);p(this,"experimentConfig");p(this,"modelName","");p(this,"multilineConfig");E.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return E.util.equals(ke,n,r)}},p(ke,"runtime",E),p(ke,"typeName","exa.language_server_pb.GetCompletionsRequest"),p(ke,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:oa},{no:3,name:"editor_options",kind:"message",T:xl},{no:5,name:"other_documents",kind:"message",T:oa,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:uc},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:rc}])),ke),ac=(Te=class extends Y{constructor(n){super();p(this,"state");p(this,"completionItems",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Te,n,r)}},p(Te,"runtime",E),p(Te,"typeName","exa.language_server_pb.GetCompletionsResponse"),p(Te,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:dc},{no:2,name:"completion_items",kind:"message",T:hc,repeated:!0}])),Te),ic=(Ne=class extends Y{constructor(n){super();p(this,"metadata");p(this,"completionId","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ne,n,r)}},p(Ne,"runtime",E),p(Ne,"typeName","exa.language_server_pb.AcceptCompletionRequest"),p(Ne,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),Ne),sc=(Ae=class extends Y{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Ae().fromBinary(t,n)}static fromJson(t,n){return new Ae().fromJson(t,n)}static fromJsonString(t,n){return new Ae().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Ae,t,n)}},p(Ae,"runtime",E),p(Ae,"typeName","exa.language_server_pb.AcceptCompletionResponse"),p(Ae,"fields",E.util.newFieldList(()=>[])),Ae),lc=(Le=class extends Y{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Le().fromBinary(t,n)}static fromJson(t,n){return new Le().fromJson(t,n)}static fromJsonString(t,n){return new Le().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Le,t,n)}},p(Le,"runtime",E),p(Le,"typeName","exa.language_server_pb.GetAuthTokenRequest"),p(Le,"fields",E.util.newFieldList(()=>[])),Le),cc=(Oe=class extends Y{constructor(n){super();p(this,"authToken","");p(this,"uuid","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Oe,n,r)}},p(Oe,"runtime",E),p(Oe,"typeName","exa.language_server_pb.GetAuthTokenResponse"),p(Oe,"fields",E.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Oe),or=(_e=class extends Y{constructor(n){super();p(this,"row",V.zero);p(this,"col",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return E.util.equals(_e,n,r)}},p(_e,"runtime",E),p(_e,"typeName","exa.language_server_pb.DocumentPosition"),p(_e,"fields",E.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),_e),oa=(Ue=class extends Y{constructor(n){super();p(this,"absolutePath","");p(this,"relativePath","");p(this,"text","");p(this,"editorLanguage","");p(this,"language",it.UNSPECIFIED);p(this,"cursorOffset",V.zero);p(this,"cursorPosition");p(this,"lineEnding","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ue,n,r)}},p(Ue,"runtime",E),p(Ue,"typeName","exa.language_server_pb.Document"),p(Ue,"fields",E.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:E.getEnumType(it)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:or},{no:7,name:"line_ending",kind:"scalar",T:9}])),Ue),uc=(De=class extends Y{constructor(n){super();p(this,"forceEnableExperiments",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return E.util.equals(De,n,r)}},p(De,"runtime",E),p(De,"typeName","exa.language_server_pb.ExperimentConfig"),p(De,"fields",E.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:E.getEnumType(nr),repeated:!0}])),De),dc=(Pe=class extends Y{constructor(n){super();p(this,"state",mn.UNSPECIFIED);p(this,"message","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Pe,n,r)}},p(Pe,"runtime",E),p(Pe,"typeName","exa.language_server_pb.State"),p(Pe,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:E.getEnumType(mn)},{no:2,name:"message",kind:"scalar",T:9}])),Pe),fc=(je=class extends Y{constructor(n){super();p(this,"startOffset",V.zero);p(this,"endOffset",V.zero);p(this,"startPosition");p(this,"endPosition");E.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return E.util.equals(je,n,r)}},p(je,"runtime",E),p(je,"typeName","exa.language_server_pb.Range"),p(je,"fields",E.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:or},{no:4,name:"end_position",kind:"message",T:or}])),je),mc=(Fe=class extends Y{constructor(n){super();p(this,"text","");p(this,"deltaCursorOffset",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Fe,n,r)}},p(Fe,"runtime",E),p(Fe,"typeName","exa.language_server_pb.Suffix"),p(Fe,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Fe),pc=(Me=class extends Y{constructor(n){super();p(this,"text","");p(this,"offset",V.zero);p(this,"type",pn.UNSPECIFIED);p(this,"prefix","");p(this,"line",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Me,n,r)}},p(Me,"runtime",E),p(Me,"typeName","exa.language_server_pb.CompletionPart"),p(Me,"fields",E.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:E.getEnumType(pn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Me),hc=(Re=class extends Y{constructor(n){super();p(this,"completion");p(this,"suffix");p(this,"range");p(this,"source",ln.UNSPECIFIED);p(this,"completionParts",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Re,n,r)}},p(Re,"runtime",E),p(Re,"typeName","exa.language_server_pb.CompletionItem"),p(Re,"fields",E.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:Cl},{no:5,name:"suffix",kind:"message",T:mc},{no:2,name:"range",kind:"message",T:fc},{no:3,name:"source",kind:"enum",T:E.getEnumType(ln)},{no:8,name:"completion_parts",kind:"message",T:pc,repeated:!0}])),Re);const gc={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:oc,O:ac,kind:ve.Unary},acceptCompletion:{name:"AcceptCompletion",I:ic,O:sc,kind:ve.Unary},getAuthToken:{name:"GetAuthToken",I:lc,O:cc,kind:ve.Unary}}};function yc(){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 _t=function(e){return this instanceof _t?(this.v=e,this):new _t(e)},bc=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof _t?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function wc(e){yc();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await tc({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async d=>{let m=e.useHttpGet===!0&&r.idempotency===jo.NoSideEffects,f=null;m?d=ec(d,l(d.message),t):f=l(d.message);let h=await(e.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=ta(r.kind,t,h.status,h.headers);if(y)throw Ko(await h.json(),Al(...Zo(h.headers)),b);let[v,C]=Zo(h.headers);return{stream:!1,service:n,method:r,header:v,message:t?u(new Uint8Array(await h.arrayBuffer())):r.O.fromJson(await h.json(),qo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);function d(f,h,y,b){return bc(this,arguments,function*(){let v=Ol(f).getReader(),C=!1;for(;;){let x=yield _t(v.read());if(x.done)break;let{flags:_,data:P}=x.value;if((_&1)==1)throw new he("protocol error: received unsupported compressed output",R.Internal);if((_&2)==2){C=!0;let A=Kl(P);if(A.error){let k=A.error;throw y.forEach((B,F)=>{k.metadata.append(F,B)}),k}A.metadata.forEach((k,B)=>h.set(B,k));continue}yield yield _t(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function m(f){if(r.kind!=ve.ServerStreaming)throw"The fetch API does not support streaming request bodies";let h=await f[Symbol.asyncIterator]().next();if(h.done==1)throw"missing request message";return _l(0,l(h.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await nc({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async f=>{let h=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await m(f.message)}));if(ta(r.kind,t,h.status,h.headers),h.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:h.headers,trailer:y,message:d(h.body,y,h.headers,f.signal)})}})}}}var vc=Bl(gc,wc({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),hn;try{hn=crypto.randomUUID()}catch{hn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function Ec({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await vc.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:hn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
-
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${hn}`}})}function
|
|
15
|
-
${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function
|
|
12
|
+
`.trim(),n=vi();await wi();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})}),o=((i=e.selection.match(/^\s*/))==null?void 0:i[0])||"",a=await As(r);return a.startsWith(o)||(a=o+a),a}var g=Ya(qf(),1),Os=["%alias","%cd","%clear","%debug","%env","%load","%load_ext","%lsmagic","%matplotlib","%pwd","%who_ls","%system","%%time","%%timeit","%%writefile","%%capture","%%html","%%latex"],zn;function _s(){let e=async r=>{let o=Y.get(_r),{saveUserConfig:a}=jm();await a({config:{runtime:{auto_reload:r}}}).then(()=>Y.set(_r,{...o,runtime:{...o.runtime,auto_reload:r}}))},t=[{match:"!pip install",onMatch:()=>{Y.set(Nr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv pip install",onMatch:()=>{Y.set(Nr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"!uv add",onMatch:()=>{Y.set(Nr,r=>({...r,isSidebarOpen:!0,selectedPanel:"packages"})),Br()},title:"Package Installation",description:(0,g.jsxs)(g.Fragment,{children:["The package manager sidebar has been opened.",(0,g.jsx)("br",{}),"Install packages directly from there instead."]})},{match:"%autoreload 2",onMatch:async()=>{await e("autorun")},title:"Module reload",description:(0,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.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,g.jsxs)(g.Fragment,{children:["Module reload mode set to ",(0,g.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,g.jsx)(g.Fragment,{children:"Module reload disabled - module changes will not be detected."})},{match:"!ls",onMatch:()=>{},title:"Listing files",description:(0,g.jsxs)(g.Fragment,{children:["Shell commands are not directly supported.",(0,g.jsx)("br",{}),"Use ",(0,g.jsx)("code",{children:"import subprocess; subprocess.run(['ls'])"})," instead."]})},...Os.map(r=>({match:r,onMatch:()=>{},title:(0,g.jsx)(fp,{className:"inline",children:r}),description:(0,g.jsxs)(g.Fragment,{children:["Magic commands are not supported in marimo. Read more about replacements in the"," ",(0,g.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(r=>[r.match,r]));return G.updateListener.of(r=>{if(r.docChanged){let o=r.state.selection.main,a=r.state.doc,i=a.lineAt(o.head),s=a.sliceString(i.from,o.anchor).trim(),c=n.get(s);c&&(c.onMatch(),zn?zn.upsert({title:c.title,description:c.description}):zn=vt({title:c.title,description:c.description}))}})}var oo=new Set(["Escape","Alt-`"]);function Us(e,t=oo){return e.filter(n=>![n.key,n.mac,n.linux,n.win].some(r=>t.has(r)))}function Ds(e=!0){let t=new Set(oo);e||t.add("Enter");let n=Us(Lm,t);return ct.highest(We.of([...n,{key:"Ctrl-y",run:r=>Ln(r)?xi(r):!1},{key:"Ctrl-n",run:r=>Ln(r)?Fn(!0)(r):!1},{key:"Ctrl-p",run:r=>Ln(r)?Fn(!1)(r):!1}]))}const Kn=pe.define(),Yn=pe.define(),Xn=pe.define();function q(e,t){if(!e)throw Error(t)}var Ps=3402823466385289e23,js=-3402823466385289e23,Fs=4294967295,Ms=2147483647,Rs=-2147483648;function Kt(e){if(typeof e!="number")throw Error("invalid int 32: "+typeof e);if(!Number.isInteger(e)||e>Ms||e<Rs)throw Error("invalid int 32: "+e)}function Qn(e){if(typeof e!="number")throw Error("invalid uint 32: "+typeof e);if(!Number.isInteger(e)||e>Fs||e<0)throw Error("invalid uint 32: "+e)}function ao(e){if(typeof e!="number")throw Error("invalid float 32: "+typeof e);if(Number.isFinite(e)&&(e>Ps||e<js))throw Error("invalid float 32: "+e)}var io=Symbol("@bufbuild/protobuf/enum-type");function Bs(e){let t=e[io];return q(t,"missing enum type on enum object"),t}function so(e,t,n,r){e[io]=lo(t,n.map(o=>({no:o.no,name:o.name,localName:e[o.no]})),r)}function lo(e,t,n){let r=Object.create(null),o=Object.create(null),a=[];for(let i of t){let s=co(i);a.push(s),r[i.name]=s,o[i.no]=s}return{typeName:e,values:a,findName(i){return r[i]},findNumber(i){return o[i]}}}function Gs(e,t,n){let r={};for(let o of t){let a=co(o);r[a.localName]=a.no,r[a.no]=a.localName}return so(r,e,t,n),r}function co(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,o=r.makeReadOptions(t);return r.readMessage(n,e,o,this),this}fromJsonString(e,t){let n;try{n=JSON.parse(e)}catch(r){throw Error(`cannot decode ${this.getType().typeName} from JSON: ${r instanceof Error?r.message:String(r)}`)}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==null?void 0:e.prettySpaces)??0)}toJSON(){return this.toJson({emitDefaultValues:!0})}getType(){return Object.getPrototypeOf(this).constructor}};function Js(e,t,n,r){let o=(r==null?void 0:r.localName)??t.substring(t.lastIndexOf(".")+1),a={[o]:function(i){e.util.initFields(this),e.util.initPartial(i,this)}}[o];return Object.setPrototypeOf(a.prototype,new K),Object.assign(a,{runtime:e,typeName:t,fields:e.util.newFieldList(n),fromBinary(i,s){return new a().fromBinary(i,s)},fromJson(i,s){return new a().fromJson(i,s)},fromJsonString(i,s){return new a().fromJsonString(i,s)},equals(i,s){return e.util.equals(a,i,s)}}),a}function Vs(){let e=0,t=0;for(let r=0;r<28;r+=7){let o=this.buf[this.pos++];if(e|=(o&127)<<r,!(o&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 r=3;r<=31;r+=7){let o=this.buf[this.pos++];if(t|=(o&127)<<r,!(o&128))return this.assertBounds(),[e,t]}throw Error("invalid varint")}function Zn(e,t,n){for(let a=0;a<28;a+=7){let i=e>>>a,s=!(!(i>>>7)&&t==0),c=(s?i|128:i)&255;if(n.push(c),!s)return}let r=e>>>28&15|(t&7)<<4,o=!!(t>>3);if(n.push((o?r|128:r)&255),o){for(let a=3;a<31;a+=7){let i=t>>>a,s=!!(i>>>7),c=(s?i|128:i)&255;if(n.push(c),!s)return}n.push(t>>>31&1)}}var Yt=4294967296;function uo(e){let t=e[0]==="-";t&&(e=e.slice(1));let n=1e6,r=0,o=0;function a(i,s){let c=Number(e.slice(i,s));o*=n,r=r*n+c,r>=Yt&&(o+=r/Yt|0,r%=Yt)}return a(-24,-18),a(-18,-12),a(-12,-6),a(-6),t?mo(r,o):er(r,o)}function $s(e,t){let n=er(e,t),r=n.hi&2147483648;r&&(n=mo(n.lo,n.hi));let o=fo(n.lo,n.hi);return r?"-"+o:o}function fo(e,t){if({lo:e,hi:t}=Ws(e,t),t<=2097151)return String(Yt*t+e);let n=e&16777215,r=(e>>>24|t<<8)&16777215,o=t>>16&65535,a=n+r*6777216+o*6710656,i=r+o*8147497,s=o*2,c=1e7;return a>=c&&(i+=Math.floor(a/c),a%=c),i>=c&&(s+=Math.floor(i/c),i%=c),s.toString()+po(i)+po(a)}function Ws(e,t){return{lo:e>>>0,hi:t>>>0}}function er(e,t){return{lo:e|0,hi:t|0}}function mo(e,t){return t=~t,e?e=~e+1:t+=1,er(e,t)}var po=e=>{let t=String(e);return"0000000".slice(t.length)+t};function ho(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 qs(){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 n=5;e&128&&n<10;n++)e=this.buf[this.pos++];if(e&128)throw Error("invalid varint");return this.assertBounds(),t>>>0}function Hs(){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 r=BigInt("-9223372036854775808"),o=BigInt("9223372036854775807"),a=BigInt("0"),i=BigInt("18446744073709551615");return{zero:BigInt(0),supported:!0,parse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>o||c<r)throw Error(`int64 invalid: ${s}`);return c},uParse(s){let c=typeof s=="bigint"?s:BigInt(s);if(c>i||c<a)throw Error(`uint64 invalid: ${s}`);return c},enc(s){return e.setBigInt64(0,this.parse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},uEnc(s){return e.setBigInt64(0,this.uParse(s),!0),{lo:e.getInt32(0,!0),hi:e.getInt32(4,!0)}},dec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigInt64(0,!0)},uDec(s,c){return e.setInt32(0,s,!0),e.setInt32(4,c,!0),e.getBigUint64(0,!0)}}}let t=r=>q(/^-?[0-9]+$/.test(r),`int64 invalid: ${r}`),n=r=>q(/^[0-9]+$/.test(r),`uint64 invalid: ${r}`);return{zero:"0",supported:!1,parse(r){return typeof r!="string"&&(r=r.toString()),t(r),r},uParse(r){return typeof r!="string"&&(r=r.toString()),n(r),r},enc(r){return typeof r!="string"&&(r=r.toString()),t(r),uo(r)},uEnc(r){return typeof r!="string"&&(r=r.toString()),n(r),uo(r)},dec(r,o){return $s(r,o)},uDec(r,o){return fo(r,o)}}}const V=Hs();var w;(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"})(w||(w={}));var at;(function(e){e[e.BIGINT=0]="BIGINT",e[e.STRING=1]="STRING"})(at||(at={}));function Ze(e,t,n){if(t===n)return!0;if(e==w.BYTES){if(!(t instanceof Uint8Array)||!(n instanceof Uint8Array)||t.length!==n.length)return!1;for(let r=0;r<t.length;r++)if(t[r]!==n[r])return!1;return!0}switch(e){case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==n}return!1}function ft(e,t){switch(e){case w.BOOL:return!1;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return t==0?V.zero:"0";case w.DOUBLE:case w.FLOAT:return 0;case w.BYTES:return new Uint8Array;case w.STRING:return"";default:return 0}}function go(e,t){switch(e){case w.BOOL:return t===!1;case w.STRING:return t==="";case w.BYTES:return t instanceof Uint8Array&&!t.byteLength;default:return t==0}}var X;(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"})(X||(X={}));var zs=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 r=0;r<this.chunks.length;r++)e+=this.chunks[r].length;let t=new Uint8Array(e),n=0;for(let r=0;r<this.chunks.length;r++)t.set(this.chunks[r],n),n+=this.chunks[r].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(Qn(e);e>127;)this.buf.push(e&127|128),e>>>=7;return this.buf.push(e),this}int32(e){return Kt(e),ho(e,this.buf),this}bool(e){return this.buf.push(e?1:0),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){ao(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){Qn(e);let t=new Uint8Array(4);return new DataView(t.buffer).setUint32(0,e,!0),this.raw(t)}sfixed32(e){Kt(e);let t=new Uint8Array(4);return new DataView(t.buffer).setInt32(0,e,!0),this.raw(t)}sint32(e){return Kt(e),e=(e<<1^e>>31)>>>0,ho(e,this.buf),this}sfixed64(e){let t=new Uint8Array(8),n=new DataView(t.buffer),r=V.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=V.uEnc(e);return n.setInt32(0,r.lo,!0),n.setInt32(4,r.hi,!0),this.raw(t)}int64(e){let t=V.enc(e);return Zn(t.lo,t.hi,this.buf),this}sint64(e){let t=V.enc(e),n=t.hi>>31;return Zn(t.lo<<1^n,(t.hi<<1|t.lo>>>31)^n,this.buf),this}uint64(e){let t=V.uEnc(e);return Zn(t.lo,t.hi,this.buf),this}},Ks=class{constructor(e,t){this.varint64=Vs,this.uint32=qs,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 X.Varint:for(;this.buf[this.pos++]&128;);break;case X.Bit64:this.pos+=4;case X.Bit32:this.pos+=4;break;case X.LengthDelimited:let r=this.uint32();this.pos+=r;break;case X.StartGroup:for(;;){let[o,a]=this.tag();if(a===X.EndGroup){if(t!==void 0&&o!==t)throw Error("invalid end group tag");break}this.skip(a,o)}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 V.dec(...this.varint64())}uint64(){return V.uDec(...this.varint64())}sint64(){let[e,t]=this.varint64(),n=-(e&1);return e=(e>>>1|(t&1)<<31)^n,t=t>>>1^n,V.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 V.uDec(this.sfixed32(),this.sfixed32())}sfixed64(){return V.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 Ys(e,t,n,r){let o;return{typeName:t,extendee:n,get field(){if(!o){let a=typeof r=="function"?r():r;a.name=t.split(".").pop(),a.jsonName=`[${t}]`,o=e.util.newFieldList([a]).list()[0]}return o},runtime:e}}function yo(e){let t=e.field.localName,n=Object.create(null);return n[t]=Xs(e),[n,()=>n[t]]}function Xs(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 ft(t.T,t.L);case"message":let n=t.T,r=new n;return n.fieldWrapper?n.fieldWrapper.unwrapField(r):r;case"map":throw"map fields are not allowed to be extensions"}}function Qs(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(n=>n.no===t.no)}var Ke="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split(""),Xt=[];for(let e=0;e<Ke.length;e++)Xt[Ke[e].charCodeAt(0)]=e;Xt[45]=Ke.indexOf("+"),Xt[95]=Ke.indexOf("/");const Qt={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,o=0,a,i=0;for(let s=0;s<e.length;s++){if(a=Xt[e.charCodeAt(s)],a===void 0)switch(e[s]){case"=":o=0;case`
|
|
13
|
+
`:case"\r":case" ":case" ":continue;default:throw Error("invalid base64 string.")}switch(o){case 0:i=a,o=1;break;case 1:n[r++]=i<<2|(a&48)>>4,i=a,o=2;break;case 2:n[r++]=(i&15)<<4|(a&60)>>2,i=a,o=3;break;case 3:n[r++]=(i&3)<<6|a,o=0;break}}if(o==1)throw Error("invalid base64 string.");return n.subarray(0,r)},enc(e){let t="",n=0,r,o=0;for(let a=0;a<e.length;a++)switch(r=e[a],n){case 0:t+=Ke[r>>2],o=(r&3)<<4,n=1;break;case 1:t+=Ke[o|r>>4],o=(r&15)<<2,n=2;break;case 2:t+=Ke[o|r>>6],t+=Ke[r&63],n=0;break}return n&&(t+=Ke[o],t+="=",n==1&&(t+="=")),t}};function Zs(e,t,n){wo(t,e);let r=t.runtime.bin.makeReadOptions(n),o=Qs(e.getType().runtime.bin.listUnknownFields(e),t.field),[a,i]=yo(t);for(let s of o)t.runtime.bin.readField(a,r.readerFactory(s.data),t.field,s.wireType,r);return i()}function el(e,t,n,r){wo(t,e);let o=t.runtime.bin.makeReadOptions(r),a=t.runtime.bin.makeWriteOptions(r);if(bo(e,t)){let l=e.getType().runtime.bin.listUnknownFields(e).filter(u=>u.no!=t.field.no);e.getType().runtime.bin.discardUnknownFields(e);for(let u of l)e.getType().runtime.bin.onUnknownField(e,u.no,u.wireType,u.data)}let i=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,i,a);let c=o.readerFactory(i.finish());for(;c.pos<c.len;){let[l,u]=c.tag(),d=c.skip(u,l);e.getType().runtime.bin.onUnknownField(e,l,u,d)}}function bo(e,t){let n=e.getType();return t.extendee.typeName===n.typeName&&!!n.runtime.bin.listUnknownFields(e).find(r=>r.no==t.field.no)}function wo(e,t){q(e.extendee.typeName==t.getType().typeName,`extension ${e.typeName} can only be applied to message ${e.extendee.typeName}`)}function vo(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:!go(e.T,t[n]);case"message":return t[n]!==void 0;case"map":return Object.keys(t[n]).length>0}}function Eo(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?ft(e.T,e.L):void 0;break;case"message":t[n]=void 0;break}}function Ye(e,t){if(typeof e!="object"||!e||!Object.getOwnPropertyNames(K.prototype).every(r=>r in e&&typeof e[r]=="function"))return!1;let n=e.getType();return n===null||typeof n!="function"||!("typeName"in n)||typeof n.typeName!="string"?!1:t===void 0?!0:n.typeName==t.typeName}function So(e,t){return Ye(t)||!e.fieldWrapper?t:e.fieldWrapper.wrapField(t)}w.DOUBLE,w.FLOAT,w.INT64,w.UINT64,w.INT32,w.UINT32,w.BOOL,w.STRING,w.BYTES;var Co={ignoreUnknownFields:!1},xo={emitDefaultValues:!1,enumAsInteger:!1,useProtoFieldName:!1,prettySpaces:0};function tl(e){return e?Object.assign(Object.assign({},Co),e):Co}function nl(e){return e?Object.assign(Object.assign({},xo),e):xo}var Zt=Symbol(),en=Symbol();function rl(){return{makeReadOptions:tl,makeWriteOptions:nl,readMessage(e,t,n,r){if(t==null||Array.isArray(t)||typeof t!="object")throw Error(`cannot decode message ${e.typeName} from JSON: ${qe(t)}`);r??(r=new e);let o=new Map,a=n.typeRegistry;for(let[i,s]of Object.entries(t)){let c=e.fields.findJsonName(i);if(c){if(c.oneof){if(s===null&&c.kind=="scalar")continue;let l=o.get(c.oneof);if(l!==void 0)throw Error(`cannot decode message ${e.typeName} from JSON: multiple keys for oneof "${c.oneof.name}" present: "${l}", "${i}"`);o.set(c.oneof,i)}Io(r,s,c,n,e)}else{let l=!1;if(a!=null&&a.findExtension&&i.startsWith("[")&&i.endsWith("]")){let u=a.findExtension(i.substring(1,i.length-1));if(u&&u.extendee.typeName==e.typeName){l=!0;let[d,m]=yo(u);Io(d,s,u.field,n,u),el(r,u,m(),n)}}if(!l&&!n.ignoreUnknownFields)throw Error(`cannot decode message ${e.typeName} from JSON: key "${i}" is unknown`)}}return r},writeMessage(e,t){let n=e.getType(),r={},o;try{for(o of n.fields.byNumber()){if(!vo(o,e)){if(o.req)throw"required field not set";if(!t.emitDefaultValues||!al(o))continue}let i=o.oneof?e[o.oneof.localName].value:e[o.localName],s=ko(o,i,t);s!==void 0&&(r[t.useProtoFieldName?o.name:o.jsonName]=s)}let a=t.typeRegistry;if(a!=null&&a.findExtensionFor)for(let i of n.runtime.bin.listUnknownFields(e)){let s=a.findExtensionFor(n.typeName,i.no);if(s&&bo(e,s)){let c=Zs(e,s,t),l=ko(s.field,c,t);l!==void 0&&(r[s.field.jsonName]=l)}}}catch(a){let i=o?`cannot encode field ${n.typeName}.${o.name} to JSON`:`cannot encode message ${n.typeName} to JSON`,s=a instanceof Error?a.message:String(a);throw Error(i+(s.length>0?`: ${s}`:""))}return r},readScalar(e,t,n){return Nt(e,t,n??at.BIGINT,!0)},writeScalar(e,t,n){if(t!==void 0&&(n||go(e,t)))return tn(e,t)},debug:qe}}function qe(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 Io(e,t,n,r,o){let a=n.localName;if(n.repeated){if(q(n.kind!="map"),t===null)return;if(!Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let s of t){if(s===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`);switch(n.kind){case"message":i.push(n.T.fromJson(s,r));break;case"enum":let c=tr(n.T,s,r.ignoreUnknownFields,!0);c!==en&&i.push(c);break;case"scalar":try{i.push(Nt(n.T,s,n.L,!0))}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(s)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}}else if(n.kind=="map"){if(t===null)return;if(typeof t!="object"||Array.isArray(t))throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`);let i=e[a];for(let[s,c]of Object.entries(t)){if(c===null)throw Error(`cannot decode field ${o.typeName}.${n.name} from JSON: map value null`);let l;try{l=ol(n.K,s)}catch(u){let d=`cannot decode map key for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw u instanceof Error&&u.message.length>0&&(d+=`: ${u.message}`),Error(d)}switch(n.V.kind){case"message":i[l]=n.V.T.fromJson(c,r);break;case"enum":let u=tr(n.V.T,c,r.ignoreUnknownFields,!0);u!==en&&(i[l]=u);break;case"scalar":try{i[l]=Nt(n.V.T,c,at.BIGINT,!0)}catch(d){let m=`cannot decode map value for field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw d instanceof Error&&d.message.length>0&&(m+=`: ${d.message}`),Error(m)}break}}}else switch(n.oneof&&(e=e[n.oneof.localName]={case:a},a="value"),n.kind){case"message":let i=n.T;if(t===null&&i.typeName!="google.protobuf.Value")return;let s=e[a];Ye(s)?s.fromJson(t,r):(e[a]=s=i.fromJson(t,r),i.fieldWrapper&&!n.oneof&&(e[a]=i.fieldWrapper.unwrapField(s)));break;case"enum":let c=tr(n.T,t,r.ignoreUnknownFields,!1);switch(c){case Zt:Eo(n,e);break;case en:break;default:e[a]=c;break}break;case"scalar":try{let l=Nt(n.T,t,n.L,!1);l===Zt?Eo(n,e):e[a]=l}catch(l){let u=`cannot decode field ${o.typeName}.${n.name} from JSON: ${qe(t)}`;throw l instanceof Error&&l.message.length>0&&(u+=`: ${l.message}`),Error(u)}break}}function ol(e,t){if(e===w.BOOL)switch(t){case"true":t=!0;break;case"false":t=!1;break}return Nt(e,t,at.BIGINT,!0).toString()}function Nt(e,t,n,r){if(t===null)return r?ft(e,n):Zt;switch(e){case w.DOUBLE:case w.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 o=Number(t);if(Number.isNaN(o)||!Number.isFinite(o))break;return e==w.FLOAT&&ao(o),o;case w.INT32:case w.FIXED32:case w.SFIXED32:case w.SINT32:case w.UINT32:let a;if(typeof t=="number"?a=t:typeof t=="string"&&t.length>0&&t.trim().length===t.length&&(a=Number(t)),a===void 0)break;return e==w.UINT32||e==w.FIXED32?Qn(a):Kt(a),a;case w.INT64:case w.SFIXED64:case w.SINT64:if(typeof t!="number"&&typeof t!="string")break;let i=V.parse(t);return n?i.toString():i;case w.FIXED64:case w.UINT64:if(typeof t!="number"&&typeof t!="string")break;let s=V.uParse(t);return n?s.toString():s;case w.BOOL:if(typeof t!="boolean")break;return t;case w.STRING:if(typeof t!="string")break;return t;case w.BYTES:if(t==="")return new Uint8Array;if(typeof t!="string")break;return Qt.dec(t)}throw Error()}function tr(e,t,n,r){if(t===null)return e.typeName=="google.protobuf.NullValue"?0:r?e.values[0].no:Zt;switch(typeof t){case"number":if(Number.isInteger(t))return t;break;case"string":let o=e.findName(t);if(o!==void 0)return o.no;if(n)return en;break}throw Error(`cannot decode enum ${e.typeName} from JSON: ${qe(t)}`)}function al(e){return e.repeated||e.kind=="map"?!0:!(e.oneof||e.kind=="message"||e.opt||e.req)}function ko(e,t,n){if(e.kind=="map"){q(typeof t=="object"&&!!t);let r={},o=Object.entries(t);switch(e.V.kind){case"scalar":for(let[i,s]of o)r[i.toString()]=tn(e.V.T,s);break;case"message":for(let[i,s]of o)r[i.toString()]=s.toJson(n);break;case"enum":let a=e.V.T;for(let[i,s]of o)r[i.toString()]=nr(a,s,n.enumAsInteger);break}return n.emitDefaultValues||o.length>0?r:void 0}if(e.repeated){q(Array.isArray(t));let r=[];switch(e.kind){case"scalar":for(let o=0;o<t.length;o++)r.push(tn(e.T,t[o]));break;case"enum":for(let o=0;o<t.length;o++)r.push(nr(e.T,t[o],n.enumAsInteger));break;case"message":for(let o=0;o<t.length;o++)r.push(t[o].toJson(n));break}return n.emitDefaultValues||r.length>0?r:void 0}switch(e.kind){case"scalar":return tn(e.T,t);case"enum":return nr(e.T,t,n.enumAsInteger);case"message":return So(e.T,t).toJson(n)}}function nr(e,t,n){var r;return q(typeof t=="number"),e.typeName=="google.protobuf.NullValue"?null:n?t:((r=e.findNumber(t))==null?void 0:r.name)??t}function tn(e,t){switch(e){case w.INT32:case w.SFIXED32:case w.SINT32:case w.FIXED32:case w.UINT32:return q(typeof t=="number"),t;case w.FLOAT:case w.DOUBLE:return q(typeof t=="number"),Number.isNaN(t)?"NaN":t===1/0?"Infinity":t===-1/0?"-Infinity":t;case w.STRING:return q(typeof t=="string"),t;case w.BOOL:return q(typeof t=="boolean"),t;case w.UINT64:case w.FIXED64:case w.INT64:case w.SFIXED64:case w.SINT64:return q(typeof t=="bigint"||typeof t=="string"||typeof t=="number"),t.toString();case w.BYTES:return q(t instanceof Uint8Array),Qt.enc(t)}}var mt=Symbol("@bufbuild/protobuf/unknown-fields"),To={readUnknownFields:!0,readerFactory:e=>new Ks(e)},No={writeUnknownFields:!0,writerFactory:()=>new zs};function il(e){return e?Object.assign(Object.assign({},To),e):To}function sl(e){return e?Object.assign(Object.assign({},No),e):No}function ll(){return{makeReadOptions:il,makeWriteOptions:sl,listUnknownFields(e){return e[mt]??[]},discardUnknownFields(e){delete e[mt]},writeUnknownFields(e,t){let n=e[mt];if(n)for(let r of n)t.tag(r.no,r.wireType).raw(r.data)},onUnknownField(e,t,n,r){let o=e;Array.isArray(o[mt])||(o[mt]=[]),o[mt].push({no:t,wireType:n,data:r})},readMessage(e,t,n,r,o){let a=e.getType(),i=o?t.len:t.pos+n,s,c;for(;t.pos<i&&([s,c]=t.tag(),!(o===!0&&c==X.EndGroup));){let l=a.fields.find(s);if(!l){let u=t.skip(c,s);r.readUnknownFields&&this.onUnknownField(e,s,c,u);continue}Ao(e,t,l,c,r)}if(o&&(c!=X.EndGroup||s!==n))throw Error("invalid end group tag")},readField:Ao,writeMessage(e,t,n){let r=e.getType();for(let o of r.fields.byNumber()){if(!vo(o,e)){if(o.req)throw Error(`cannot encode field ${r.typeName}.${o.name} to binary: required field not set`);continue}Lo(o,o.oneof?e[o.oneof.localName].value:e[o.localName],t,n)}return n.writeUnknownFields&&this.writeUnknownFields(e,t),t},writeField(e,t,n,r){t!==void 0&&Lo(e,t,n,r)}}}function Ao(e,t,n,r,o){let{repeated:a,localName:i}=n;switch(n.oneof&&(e=e[n.oneof.localName],e.case!=i&&delete e.value,e.case=i,i="value"),n.kind){case"scalar":case"enum":let s=n.kind=="enum"?w.INT32:n.T,c=rn;if(n.kind=="scalar"&&n.L>0&&(c=ul),a){let m=e[i];if(r==X.LengthDelimited&&s!=w.STRING&&s!=w.BYTES){let f=t.uint32()+t.pos;for(;t.pos<f;)m.push(c(t,s))}else m.push(c(t,s))}else e[i]=c(t,s);break;case"message":let l=n.T;a?e[i].push(nn(t,new l,o,n)):Ye(e[i])?nn(t,e[i],o,n):(e[i]=nn(t,new l,o,n),l.fieldWrapper&&!n.oneof&&!n.repeated&&(e[i]=l.fieldWrapper.unwrapField(e[i])));break;case"map":let[u,d]=cl(n,t,o);e[i][u]=d;break}}function nn(e,t,n,r){let o=t.getType().runtime.bin,a=r==null?void 0:r.delimited;return o.readMessage(t,e,a?r.no:e.uint32(),n,a),t}function cl(e,t,n){let r=t.uint32(),o=t.pos+r,a,i;for(;t.pos<o;){let[s]=t.tag();switch(s){case 1:a=rn(t,e.K);break;case 2:switch(e.V.kind){case"scalar":i=rn(t,e.V.T);break;case"enum":i=t.int32();break;case"message":i=nn(t,new e.V.T,n,void 0);break}break}}if(a===void 0&&(a=ft(e.K,at.BIGINT)),typeof a!="string"&&typeof a!="number"&&(a=a.toString()),i===void 0)switch(e.V.kind){case"scalar":i=ft(e.V.T,at.BIGINT);break;case"enum":i=e.V.T.values[0].no;break;case"message":i=new e.V.T;break}return[a,i]}function ul(e,t){let n=rn(e,t);return typeof n=="bigint"?n.toString():n}function rn(e,t){switch(t){case w.STRING:return e.string();case w.BOOL:return e.bool();case w.DOUBLE:return e.double();case w.FLOAT:return e.float();case w.INT32:return e.int32();case w.INT64:return e.int64();case w.UINT64:return e.uint64();case w.FIXED64:return e.fixed64();case w.BYTES:return e.bytes();case w.FIXED32:return e.fixed32();case w.SFIXED32:return e.sfixed32();case w.SFIXED64:return e.sfixed64();case w.SINT64:return e.sint64();case w.UINT32:return e.uint32();case w.SINT32:return e.sint32()}}function Lo(e,t,n,r){q(t!==void 0);let o=e.repeated;switch(e.kind){case"scalar":case"enum":let a=e.kind=="enum"?w.INT32:e.T;if(o)if(q(Array.isArray(t)),e.packed)fl(n,a,e.no,t);else for(let i of t)At(n,a,e.no,i);else At(n,a,e.no,t);break;case"message":if(o){q(Array.isArray(t));for(let i of t)Oo(n,r,e,i)}else Oo(n,r,e,t);break;case"map":q(typeof t=="object"&&!!t);for(let[i,s]of Object.entries(t))dl(n,r,e,i,s);break}}function dl(e,t,n,r,o){e.tag(n.no,X.LengthDelimited),e.fork();let a=r;switch(n.K){case w.INT32:case w.FIXED32:case w.UINT32:case w.SFIXED32:case w.SINT32:a=Number.parseInt(r);break;case w.BOOL:q(r=="true"||r=="false"),a=r=="true";break}switch(At(e,n.K,1,a),n.V.kind){case"scalar":At(e,n.V.T,2,o);break;case"enum":At(e,w.INT32,2,o);break;case"message":q(o!==void 0),e.tag(2,X.LengthDelimited).bytes(o.toBinary(t));break}e.join()}function Oo(e,t,n,r){let o=So(n.T,r);n.delimited?e.tag(n.no,X.StartGroup).raw(o.toBinary(t)).tag(n.no,X.EndGroup):e.tag(n.no,X.LengthDelimited).bytes(o.toBinary(t))}function At(e,t,n,r){q(r!==void 0);let[o,a]=_o(t);e.tag(n,o)[a](r)}function fl(e,t,n,r){if(!r.length)return;e.tag(n,X.LengthDelimited).fork();let[,o]=_o(t);for(let a=0;a<r.length;a++)e[o](r[a]);e.join()}function _o(e){let t=X.Varint;switch(e){case w.BYTES:case w.STRING:t=X.LengthDelimited;break;case w.DOUBLE:case w.FIXED64:case w.SFIXED64:t=X.Bit64;break;case w.FIXED32:case w.SFIXED32:case w.FLOAT:t=X.Bit32;break}let n=w[e].toLowerCase();return[t,n]}function ml(){return{setEnumType:so,initPartial(e,t){if(e===void 0)return;let n=t.getType();for(let r of n.fields.byMember()){let o=r.localName,a=t,i=e;if(i[o]!=null)switch(r.kind){case"oneof":let s=i[o].case;if(s===void 0)continue;let c=r.findField(s),l=i[o].value;c&&c.kind=="message"&&!Ye(l,c.T)?l=new c.T(l):c&&c.kind==="scalar"&&c.T===w.BYTES&&(l=Lt(l)),a[o]={case:s,value:l};break;case"scalar":case"enum":let u=i[o];r.T===w.BYTES&&(u=r.repeated?u.map(Lt):Lt(u)),a[o]=u;break;case"map":switch(r.V.kind){case"scalar":case"enum":if(r.V.T===w.BYTES)for(let[f,h]of Object.entries(i[o]))a[o][f]=Lt(h);else Object.assign(a[o],i[o]);break;case"message":let m=r.V.T;for(let f of Object.keys(i[o])){let h=i[o][f];m.fieldWrapper||(h=new m(h)),a[o][f]=h}break}break;case"message":let d=r.T;if(r.repeated)a[o]=i[o].map(m=>Ye(m,d)?m:new d(m));else{let m=i[o];d.fieldWrapper?d.typeName==="google.protobuf.BytesValue"?a[o]=Lt(m):a[o]=m:a[o]=Ye(m,d)?m:new d(m)}break}}},equals(e,t,n){return t===n?!0:!t||!n?!1:e.fields.byMember().every(r=>{let o=t[r.localName],a=n[r.localName];if(r.repeated){if(o.length!==a.length)return!1;switch(r.kind){case"message":return o.every((i,s)=>r.T.equals(i,a[s]));case"scalar":return o.every((i,s)=>Ze(r.T,i,a[s]));case"enum":return o.every((i,s)=>Ze(w.INT32,i,a[s]))}throw Error(`repeated cannot contain ${r.kind}`)}switch(r.kind){case"message":let i=o,s=a;return r.T.fieldWrapper&&(i!==void 0&&!Ye(i)&&(i=r.T.fieldWrapper.wrapField(i)),s!==void 0&&!Ye(s)&&(s=r.T.fieldWrapper.wrapField(s))),r.T.equals(i,s);case"enum":return Ze(w.INT32,o,a);case"scalar":return Ze(r.T,o,a);case"oneof":if(o.case!==a.case)return!1;let c=r.findField(o.case);if(c===void 0)return!0;switch(c.kind){case"message":return c.T.equals(o.value,a.value);case"enum":return Ze(w.INT32,o.value,a.value);case"scalar":return Ze(c.T,o.value,a.value)}throw Error(`oneof cannot contain ${c.kind}`);case"map":let l=Object.keys(o).concat(Object.keys(a));switch(r.V.kind){case"message":let u=r.V.T;return l.every(m=>u.equals(o[m],a[m]));case"enum":return l.every(m=>Ze(w.INT32,o[m],a[m]));case"scalar":let d=r.V.T;return l.every(m=>Ze(d,o[m],a[m]))}break}})},clone(e){let t=e.getType(),n=new t,r=n;for(let o of t.fields.byMember()){let a=e[o.localName],i;if(o.repeated)i=a.map(on);else if(o.kind=="map"){i=r[o.localName];for(let[s,c]of Object.entries(a))i[s]=on(c)}else i=o.kind=="oneof"?o.findField(a.case)?{case:a.case,value:on(a.value)}:{case:void 0}:on(a);r[o.localName]=i}for(let o of t.runtime.bin.listUnknownFields(e))t.runtime.bin.onUnknownField(r,o.no,o.wireType,o.data);return n}}}function on(e){if(e===void 0)return e;if(Ye(e))return e.clone();if(e instanceof Uint8Array){let t=new Uint8Array(e.byteLength);return t.set(e),t}return e}function Lt(e){return e instanceof Uint8Array?e:new Uint8Array(e)}function pl(e,t,n){return{syntax:e,json:rl(),bin:ll(),util:Object.assign(Object.assign({},ml()),{newFieldList:t,initFields:n}),makeMessageType(r,o,a){return Js(this,r,o,a)},makeEnum:Gs,makeEnumType:lo,getEnumType:Bs,makeExtension(r,o,a){return Ys(this,r,o,a)}}}var hl=class{constructor(e,t){this._fields=e,this._normalizer=t}findJsonName(e){if(!this.jsonNames){let t={};for(let n of this.list())t[n.jsonName]=t[n.name]=n;this.jsonNames=t}return this.jsonNames[e]}find(e){if(!this.numbers){let t={};for(let n of this.list())t[n.no]=n;this.numbers=t}return this.numbers[e]}list(){return this.all||(this.all=this._normalizer(this._fields)),this.all}byNumber(){return this.numbersAsc||(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 Uo(e,t){let n=Do(e);return t?n:El(vl(n))}function gl(e){return Uo(e,!1)}const yl=Do;function Do(e){let t=!1,n=[];for(let r=0;r<e.length;r++){let o=e.charAt(r);switch(o){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(o),t=!1;break;default:t&&(t=!1,o=o.toUpperCase()),n.push(o);break}}return n.join("")}var bl=new Set(["constructor","toString","toJSON","valueOf"]),wl=new Set(["getType","clone","equals","fromBinary","fromJson","fromJsonString","toBinary","toJson","toJsonString","toObject"]),Po=e=>`${e}$`,vl=e=>wl.has(e)?Po(e):e;const El=e=>bl.has(e)?Po(e):e;var Sl=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=gl(e)}addField(e){q(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 t=0;t<this.fields.length;t++)this._lookup[this.fields[t].localName]=this.fields[t]}return this._lookup[e]}};function Cl(e,t){let n=[],r;for(let o of typeof e=="function"?e():e){let a=o;if(a.localName=Uo(o.name,o.oneof!==void 0),a.jsonName=o.jsonName??yl(o.name),a.repeated=o.repeated??!1,o.kind=="scalar"&&(a.L=o.L??at.BIGINT),a.delimited=o.delimited??!1,a.req=o.req??!1,a.opt=o.opt??!1,o.packed===void 0&&(t?a.packed=o.kind=="enum"||o.kind=="scalar"&&o.T!=w.BYTES&&o.T!=w.STRING:a.packed=!1),o.oneof!==void 0){let i=typeof o.oneof=="string"?o.oneof:o.oneof.name;(!r||r.name!=i)&&(r=new Sl(i)),a.oneof=r,r.addField(a)}n.push(a)}return n}const E=pl("proto3",e=>new hl(e,t=>Cl(t,!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]=ft(t.T,t.L);break;case"message":break}}});var ve;(function(e){e[e.Unary=0]="Unary",e[e.ServerStreaming=1]="ServerStreaming",e[e.ClientStreaming=2]="ClientStreaming",e[e.BiDiStreaming=3]="BiDiStreaming"})(ve||(ve={}));var jo;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(jo||(jo={}));var rr;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.JUPYTER_FORMAT=77]="JUPYTER_FORMAT"})(rr||(rr={})),E.util.setEnumType(rr,"exa.codeium_common_pb.ExperimentKey",[{no:0,name:"UNSPECIFIED"},{no:77,name:"JUPYTER_FORMAT"}]);var an;(function(e){e[e.CODEIUM=0]="CODEIUM"})(an||(an={})),E.util.setEnumType(an,"exa.codeium_common_pb.AuthSource",[{no:0,name:"AUTH_SOURCE_CODEIUM"}]);var sn;(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"})(sn||(sn={})),E.util.setEnumType(sn,"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 ln;(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"})(ln||(ln={})),E.util.setEnumType(ln,"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 it;(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"})(it||(it={})),E.util.setEnumType(it,"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 xl=(Ee=class extends K{constructor(n){super();p(this,"completionId","");p(this,"text","");p(this,"prefix","");p(this,"stop","");p(this,"score",0);p(this,"tokens",[]);p(this,"decodedTokens",[]);p(this,"probabilities",[]);p(this,"adjustedProbabilities",[]);p(this,"generatedLength",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ee().fromBinary(n,r)}static fromJson(n,r){return new Ee().fromJson(n,r)}static fromJsonString(n,r){return new Ee().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ee,n,r)}},p(Ee,"runtime",E),p(Ee,"typeName","exa.codeium_common_pb.Completion"),p(Ee,"fields",E.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}])),Ee),Fo=(Se=class extends K{constructor(n){super();p(this,"ideName","");p(this,"ideVersion","");p(this,"extensionName","");p(this,"extensionVersion","");p(this,"apiKey","");p(this,"locale","");p(this,"sessionId","");p(this,"requestId",V.zero);p(this,"userAgent","");p(this,"url","");p(this,"authSource",an.CODEIUM);E.util.initPartial(n,this)}static fromBinary(n,r){return new Se().fromBinary(n,r)}static fromJson(n,r){return new Se().fromJson(n,r)}static fromJsonString(n,r){return new Se().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Se,n,r)}},p(Se,"runtime",E),p(Se,"typeName","exa.codeium_common_pb.Metadata"),p(Se,"fields",E.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:E.getEnumType(an)}])),Se),Il=(Ce=class extends K{constructor(n){super();p(this,"tabSize",V.zero);p(this,"insertSpaces",!1);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ce().fromBinary(n,r)}static fromJson(n,r){return new Ce().fromJson(n,r)}static fromJsonString(n,r){return new Ce().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ce,n,r)}},p(Ce,"runtime",E),p(Ce,"typeName","exa.codeium_common_pb.EditorOptions"),p(Ce,"fields",E.util.newFieldList(()=>[{no:1,name:"tab_size",kind:"scalar",T:4},{no:2,name:"insert_spaces",kind:"scalar",T:8}])),Ce);xe=class extends K{constructor(n){super();p(this,"eventType",sn.UNSPECIFIED);p(this,"eventJson","");p(this,"timestampUnixMs",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new xe().fromBinary(n,r)}static fromJson(n,r){return new xe().fromJson(n,r)}static fromJsonString(n,r){return new xe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(xe,n,r)}},p(xe,"runtime",E),p(xe,"typeName","exa.codeium_common_pb.Event"),p(xe,"fields",E.util.newFieldList(()=>[{no:1,name:"event_type",kind:"enum",T:E.getEnumType(sn)},{no:2,name:"event_json",kind:"scalar",T:9},{no:3,name:"timestamp_unix_ms",kind:"scalar",T:3}]));var kl=class extends Pn{constructor(t,n){super();p(this,"index");p(this,"total");this.index=t,this.total=n}toDOM(){let t=document.createElement("span");t.setAttribute("aria-hidden","true"),t.className="cm-codeium-cycle";let n=t.appendChild(document.createElement("span"));n.className="cm-codeium-cycle-explanation",n.innerText=`${this.index+1}/${this.total}`;let r=t.appendChild(document.createElement("button"));return r.className="cm-codeium-cycle-key",r.innerText="\u2192 (Ctrl ])",r.dataset.action="codeium-cycle",t}ignoreEvent(){return!1}};const cn=Rt.define({combine(e){return jn(e,{language:it.TYPESCRIPT,timeout:150,widgetClass:kl,alwaysOn:!0},{})}}),Mo=Rt.define({combine(e){return jn(e,{override:()=>[]},{})}});var Tl=$.mark({class:"cm-ghostText"});const st=ze.define({create(e){return null},update(e,t){var r;let n=t.state.facet(cn);for(let o of t.effects){if(o.is(Kn)){let{changeSpecs:a,index:i}=o.value,s=a[i].map(l=>Tl.range(l.absoluteStartPos,l.absoluteEndPos)),c=(r=s.at(-1))==null?void 0:r.to;return{index:i,decorations:$.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[$.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Yn)||o.is(Xn))return null}return e&&{...e,decorations:e.decorations.map(t.changes),reverseChangeSet:e.reverseChangeSet.map(t.changes)}},provide:e=>G.decorations.from(e,t=>(t==null?void 0:t.decorations)||$.none)}),pt=Pr.define(),un=Pr.define();var R;(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"})(R||(R={}));function or(e){let t=R[e];return typeof t=="string"?t[0].toLowerCase()+t.substring(1).replace(/[A-Z]/g,n=>"_"+n.toLowerCase()):e.toString()}var dn;function Nl(e){if(!dn){dn={};for(let t of Object.values(R))typeof t!="string"&&(dn[or(t)]=t)}return dn[e]}var he=class Ct extends Error{constructor(t,n=R.Unknown,r,o,a){super(Al(t,n)),this.name="ConnectError",Object.setPrototypeOf(this,new.target.prototype),this.rawMessage=t,this.code=n,this.metadata=new Headers(r??{}),this.details=o??[],this.cause=a}static from(t,n=R.Unknown){return t instanceof Ct?t:t instanceof Error?t.name=="AbortError"?new Ct(t.message,R.Canceled):new Ct(t.message,n,void 0,void 0,t):new Ct(String(t),n,void 0,void 0,t)}static[Symbol.hasInstance](t){return t instanceof Error?Object.getPrototypeOf(t)===Ct.prototype?!0: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(t){let n="typeName"in t?{findMessage:o=>o===t.typeName?t:void 0}:t,r=[];for(let o of this.details){if("getType"in o){n.findMessage(o.getType().typeName)&&r.push(o);continue}let a=n.findMessage(o.type);if(a)try{r.push(a.fromBinary(o.value))}catch{}}return r}};function Al(e,t){return e.length?`[${or(t)}] ${e}`:`[${or(t)}]`}function Ll(...e){let t=new Headers;for(let n of e)n.forEach((r,o)=>{t.append(o,r)});return t}function Ol(e,t){let n={};for(let[r,o]of Object.entries(e.methods)){let a=t(Object.assign(Object.assign({},o),{localName:r,service:e}));a!=null&&(n[r]=a)}return n}function _l(e){let t,n=new Uint8Array;function r(o){let a=new Uint8Array(n.length+o.length);a.set(n),a.set(o,n.length),n=a}return new ReadableStream({start(){t=e.getReader()},async pull(o){let a;for(;;){if(a===void 0&&n.byteLength>=5){let c=0;for(let l=1;l<5;l++)c=(c<<8)+n[l];a={flags:n[0],length:c}}if(a!==void 0&&n.byteLength>=a.length+5)break;let s=await t.read();if(s.done)break;r(s.value)}if(a===void 0){if(n.byteLength==0){o.close();return}o.error(new he("premature end of stream",R.DataLoss));return}let i=n.subarray(5,5+a.length);n=n.subarray(5+a.length),o.enqueue({flags:a.flags,data:i})}})}function Ul(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 Dl=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(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},Ot=function(e){return this instanceof Ot?(this.v=e,this):new Ot(e)},Pl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof Ot?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}},jl=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:Ot(e[o](i)),done:!1}:a?a(i):i}:a}};function Fl(e){return Pl(this,arguments,function*(){yield Ot(yield*jl(Dl(e)))})}var Ro=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(a){n[a]=e[a]&&function(i){return new Promise(function(s,c){i=e[a](i),o(s,c,i.done,i.value)})}}function o(a,i,s,c){Promise.resolve(c).then(function(l){a({value:l,done:s})},i)}},ht=function(e){return this instanceof ht?(this.v=e,this):new ht(e)},Ml=function(e){var t,n;return t={},r("next"),r("throw",function(o){throw o}),r("return"),t[Symbol.iterator]=function(){return this},t;function r(o,a){t[o]=e[o]?function(i){return(n=!n)?{value:ht(e[o](i)),done:!1}:a?a(i):i}:a}},Rl=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof ht?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function Bl(e,t){return Ol(e,n=>{switch(n.kind){case ve.Unary:return Jl(t,e,n);case ve.ServerStreaming:return Vl(t,e,n);case ve.ClientStreaming:return $l(t,e,n);case ve.BiDiStreaming:return Wl(t,e,n);default:return null}})}function Gl(e,t){return Bl(e,t)}function Jl(e,t,n){return async function(r,o){var a,i;let s=await e.unary(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);return(a=o==null?void 0:o.onHeader)==null||a.call(o,s.header),(i=o==null?void 0:o.onTrailer)==null||i.call(o,s.trailer),s.message}}function Vl(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,Fl([r]),o==null?void 0:o.contextValues),o)}}function $l(e,t,n){return async function(r,o){var a,i,s,c,l,u;let d=await e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues);(l=o==null?void 0:o.onHeader)==null||l.call(o,d.header);let m,f=0;try{for(var h=!0,y=Ro(d.message),b;b=await y.next(),a=b.done,!a;h=!0)c=b.value,h=!1,m=c,f++}catch(v){i={error:v}}finally{try{!h&&!a&&(s=y.return)&&await s.call(y)}finally{if(i)throw i.error}}if(!m)throw new he("protocol error: missing response message",R.Unimplemented);if(f>1)throw new he("protocol error: received extra messages for client streaming method",R.Unimplemented);return(u=o==null?void 0:o.onTrailer)==null||u.call(o,d.trailer),m}}function Wl(e,t,n){return function(r,o){return Bo(e.stream(t,n,o==null?void 0:o.signal,o==null?void 0:o.timeoutMs,o==null?void 0:o.headers,r,o==null?void 0:o.contextValues),o)}}function Bo(e,t){let n=(function(){return Rl(this,arguments,function*(){var r,o;let a=yield ht(e);(r=t==null?void 0:t.onHeader)==null||r.call(t,a.header),yield ht(yield*Ml(Ro(a.message))),(o=t==null?void 0:t.onTrailer)==null||o.call(t,a.trailer)})})()[Symbol.asyncIterator]();return{[Symbol.asyncIterator]:()=>({next:()=>n.next()})}}function ql(...e){let t=new AbortController,n=e.filter(o=>o!==void 0).concat(t.signal);for(let o of n){if(o.aborted){r.apply(o);break}o.addEventListener("abort",r)}function r(){t.signal.aborted||t.abort(Go(this));for(let o of n)o.removeEventListener("abort",r)}return t}function Hl(e){let t=new AbortController,n=()=>{t.abort(new he("the operation timed out",R.DeadlineExceeded))},r;return e!==void 0&&(e<=0?n():r=setTimeout(n,e)),{signal:t.signal,cleanup:()=>clearTimeout(r)}}function Go(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 Jo(){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 Vo(e,t,n){let r=typeof t=="string"?t:t.typeName,o=typeof n=="string"?n:n.name;return e.toString().replace(/\/?$/,`/${r}/${o}`)}function $o(e,t){return t instanceof e?t:new e(t)}function zl(e,t){function n(r){return r.done===!0?r:{done:r.done,value:$o(e,r.value)}}return{[Symbol.asyncIterator](){let r=t[Symbol.asyncIterator](),o={next:()=>r.next().then(n)};return r.throw!==void 0&&(o.throw=a=>r.throw(a).then(n)),r.return!==void 0&&(o.return=a=>r.return(a).then(n)),o}}}function Wo(e,t){return(t==null?void 0:t.concat().reverse().reduce((n,r)=>r(n),e))??e}function qo(e){let t=Object.assign({},e);return t.ignoreUnknownFields??(t.ignoreUnknownFields=!0),t}function Ho(e,t,n,r){let o=t?zo(e.I,r):Ko(e.I,n);return{parse:(t?zo(e.O,r):Ko(e.O,n)).parse,serialize:o.serialize}}function zo(e,t){return{parse(n){try{return e.fromBinary(n,t)}catch(r){throw new he(`parse binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}},serialize(n){try{return n.toBinary(t)}catch(r){throw new he(`serialize binary: ${r instanceof Error?r.message:String(r)}`,R.Internal)}}}}function Ko(e,t){let n=(t==null?void 0:t.textEncoder)??new TextEncoder,r=(t==null?void 0:t.textDecoder)??new TextDecoder,o=qo(t);return{parse(a){try{let i=r.decode(a);return e.fromJsonString(i,o)}catch(i){throw he.from(i,R.InvalidArgument)}},serialize(a){try{let i=a.toJsonString(o);return n.encode(i)}catch(i){throw he.from(i,R.Internal)}}}}const Kl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Yl(e){let t=e==null?void 0:e.match(Kl);if(t)return{stream:!!t[1],binary:!!t[3]}}function Yo(e,t,n){if(t&&new Headers(t).forEach((i,s)=>n.metadata.append(s,i)),typeof e!="object"||!e||Array.isArray(e))throw n;let r=n.code;"code"in e&&typeof e.code=="string"&&(r=Nl(e.code)??r);let o=e.message;if(o!=null&&typeof o!="string")throw n;let a=new he(o??"",r,t);if("details"in e&&Array.isArray(e.details))for(let i of e.details){if(typeof i!="object"||!i||Array.isArray(i)||typeof i.type!="string"||typeof i.value!="string")throw n;try{a.details.push({type:i.type,value:Qt.dec(i.value),debug:i.debug})}catch{throw n}}return a}function Xl(e){let t=new he("invalid end stream",R.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[o,a]of Object.entries(n.metadata)){if(!Array.isArray(a)||a.some(i=>typeof i!="string"))throw t;for(let i of a)r.append(o,i)}}return{metadata:r,error:"error"in n&&n.error!=null?Yo(n.error,r,t):void 0}}const fn="Content-Type",Xo="Content-Encoding",Qo="Connect-Protocol-Version";function Ql(e){switch(e){case 400:return R.Internal;case 401:return R.Unauthenticated;case 403:return R.PermissionDenied;case 404:return R.Unimplemented;case 429:return R.Unavailable;case 502:return R.Unavailable;case 503:return R.Unavailable;case 504:return R.Unavailable;default:return R.Unknown}}function Zo(e){let t=new Headers,n=new Headers;return e.forEach((r,o)=>{o.toLowerCase().startsWith("trailer-")?n.append(o.substring(8),r):t.append(o,r)}),[t,n]}function ea(e,t,n,r,o){let a=new Headers(r??{});return n!==void 0&&a.set("Connect-Timeout-Ms",`${n}`),a.set(fn,e==ve.Unary?t?"application/proto":"application/json":t?"application/connect+proto":"application/connect+json"),a.set(Qo,"1"),o&&a.set("User-Agent","connect-es/1.6.1"),a}function ta(e,t,n,r){let o=r.get(fn),a=Yl(o);if(n!==200){let s=new he(`HTTP ${n}`,Ql(n),r);if(e==ve.Unary&&a&&!a.binary)return{isUnaryError:!0,unaryError:s};throw s}let i={binary:t,stream:e!==ve.Unary};if((a==null?void 0:a.binary)!==i.binary||a.stream!==i.stream)throw new he(`unsupported content type ${o}`,a===void 0?R.Unknown:R.Internal,r);return{isUnaryError:!1}}var Zl="application/";function ec(e,t){return t?Qt.enc(e).replace(/\+/g,"-").replace(/\//g,"_").replace(/=+$/,""):encodeURIComponent(new TextDecoder().decode(e))}function tc(e,t,n){let r="?connect=v1",o=e.header.get(fn);(o==null?void 0:o.indexOf(Zl))===0&&(r+="&encoding="+encodeURIComponent(o.slice(12)));let a=e.header.get(Xo);a!==null&&a!=="identity"&&(r+="&compression="+encodeURIComponent(a),n=!0),n&&(r+="&base64=1"),r+="&message="+ec(t,n);let i=e.url+r,s=new Headers(e.header);return[Qo,fn,"Content-Length",Xo,"Accept-Encoding"].forEach(c=>s.delete(c)),Object.assign(Object.assign({},e),{init:Object.assign(Object.assign({},e.init),{method:"GET"}),url:i,header:s})}function nc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e);return t(Object.assign(Object.assign({},e.req),{message:$o(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function rc(e){let t=Wo(e.next,e.interceptors),[n,r,o]=na(e),a=Object.assign(Object.assign({},e.req),{message:zl(e.req.method.I,e.req.message),signal:n}),i=!1;return n.addEventListener("abort",function(){var s,c;let l=e.req.message[Symbol.asyncIterator]();i||(s=l.throw)==null||s.call(l,this.reason).catch(()=>{}),(c=l.return)==null||c.call(l).catch(()=>{})}),t(a).then(s=>Object.assign(Object.assign({},s),{message:{[Symbol.asyncIterator](){let c=s.message[Symbol.asyncIterator]();return{next(){return c.next().then(l=>(l.done==1&&(i=!0,o()),l),r)}}}}}),r)}function na(e){let{signal:t,cleanup:n}=Hl(e.timeoutMs),r=ql(e.signal,t);return[r.signal,function(o){let a=he.from(t.aborted?Go(t):o);return r.abort(a),n(),Promise.reject(a)},function(){n(),r.abort()}]}var mn;(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"})(mn||(mn={})),E.util.setEnumType(mn,"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 ra;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.SINGLE=1]="SINGLE",e[e.MULTI=2]="MULTI"})(ra||(ra={})),E.util.setEnumType(ra,"exa.language_server_pb.LineType",[{no:0,name:"LINE_TYPE_UNSPECIFIED"},{no:1,name:"LINE_TYPE_SINGLE"},{no:2,name:"LINE_TYPE_MULTI"}]);var pn;(function(e){e[e.UNSPECIFIED=0]="UNSPECIFIED",e[e.INLINE=1]="INLINE",e[e.BLOCK=2]="BLOCK",e[e.INLINE_MASK=3]="INLINE_MASK"})(pn||(pn={})),E.util.setEnumType(pn,"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 oc=(Ie=class extends K{constructor(n){super();p(this,"threshold",0);E.util.initPartial(n,this)}static fromBinary(n,r){return new Ie().fromBinary(n,r)}static fromJson(n,r){return new Ie().fromJson(n,r)}static fromJsonString(n,r){return new Ie().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ie,n,r)}},p(Ie,"runtime",E),p(Ie,"typeName","exa.language_server_pb.MultilineConfig"),p(Ie,"fields",E.util.newFieldList(()=>[{no:1,name:"threshold",kind:"scalar",T:2}])),Ie),ac=(ke=class extends K{constructor(n){super();p(this,"metadata");p(this,"document");p(this,"editorOptions");p(this,"otherDocuments",[]);p(this,"experimentConfig");p(this,"modelName","");p(this,"multilineConfig");E.util.initPartial(n,this)}static fromBinary(n,r){return new ke().fromBinary(n,r)}static fromJson(n,r){return new ke().fromJson(n,r)}static fromJsonString(n,r){return new ke().fromJsonString(n,r)}static equals(n,r){return E.util.equals(ke,n,r)}},p(ke,"runtime",E),p(ke,"typeName","exa.language_server_pb.GetCompletionsRequest"),p(ke,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"document",kind:"message",T:oa},{no:3,name:"editor_options",kind:"message",T:Il},{no:5,name:"other_documents",kind:"message",T:oa,repeated:!0},{no:7,name:"experiment_config",kind:"message",T:dc},{no:10,name:"model_name",kind:"scalar",T:9},{no:13,name:"multiline_config",kind:"message",T:oc}])),ke),ic=(Te=class extends K{constructor(n){super();p(this,"state");p(this,"completionItems",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Te().fromBinary(n,r)}static fromJson(n,r){return new Te().fromJson(n,r)}static fromJsonString(n,r){return new Te().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Te,n,r)}},p(Te,"runtime",E),p(Te,"typeName","exa.language_server_pb.GetCompletionsResponse"),p(Te,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"message",T:fc},{no:2,name:"completion_items",kind:"message",T:gc,repeated:!0}])),Te),sc=(Ne=class extends K{constructor(n){super();p(this,"metadata");p(this,"completionId","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ne().fromBinary(n,r)}static fromJson(n,r){return new Ne().fromJson(n,r)}static fromJsonString(n,r){return new Ne().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ne,n,r)}},p(Ne,"runtime",E),p(Ne,"typeName","exa.language_server_pb.AcceptCompletionRequest"),p(Ne,"fields",E.util.newFieldList(()=>[{no:1,name:"metadata",kind:"message",T:Fo},{no:2,name:"completion_id",kind:"scalar",T:9}])),Ne),lc=(Ae=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Ae().fromBinary(t,n)}static fromJson(t,n){return new Ae().fromJson(t,n)}static fromJsonString(t,n){return new Ae().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Ae,t,n)}},p(Ae,"runtime",E),p(Ae,"typeName","exa.language_server_pb.AcceptCompletionResponse"),p(Ae,"fields",E.util.newFieldList(()=>[])),Ae),cc=(Le=class extends K{constructor(t){super(),E.util.initPartial(t,this)}static fromBinary(t,n){return new Le().fromBinary(t,n)}static fromJson(t,n){return new Le().fromJson(t,n)}static fromJsonString(t,n){return new Le().fromJsonString(t,n)}static equals(t,n){return E.util.equals(Le,t,n)}},p(Le,"runtime",E),p(Le,"typeName","exa.language_server_pb.GetAuthTokenRequest"),p(Le,"fields",E.util.newFieldList(()=>[])),Le),uc=(Oe=class extends K{constructor(n){super();p(this,"authToken","");p(this,"uuid","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Oe().fromBinary(n,r)}static fromJson(n,r){return new Oe().fromJson(n,r)}static fromJsonString(n,r){return new Oe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Oe,n,r)}},p(Oe,"runtime",E),p(Oe,"typeName","exa.language_server_pb.GetAuthTokenResponse"),p(Oe,"fields",E.util.newFieldList(()=>[{no:1,name:"auth_token",kind:"scalar",T:9},{no:2,name:"uuid",kind:"scalar",T:9}])),Oe),ar=(_e=class extends K{constructor(n){super();p(this,"row",V.zero);p(this,"col",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new _e().fromBinary(n,r)}static fromJson(n,r){return new _e().fromJson(n,r)}static fromJsonString(n,r){return new _e().fromJsonString(n,r)}static equals(n,r){return E.util.equals(_e,n,r)}},p(_e,"runtime",E),p(_e,"typeName","exa.language_server_pb.DocumentPosition"),p(_e,"fields",E.util.newFieldList(()=>[{no:1,name:"row",kind:"scalar",T:4},{no:2,name:"col",kind:"scalar",T:4}])),_e),oa=(Ue=class extends K{constructor(n){super();p(this,"absolutePath","");p(this,"relativePath","");p(this,"text","");p(this,"editorLanguage","");p(this,"language",it.UNSPECIFIED);p(this,"cursorOffset",V.zero);p(this,"cursorPosition");p(this,"lineEnding","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Ue().fromBinary(n,r)}static fromJson(n,r){return new Ue().fromJson(n,r)}static fromJsonString(n,r){return new Ue().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Ue,n,r)}},p(Ue,"runtime",E),p(Ue,"typeName","exa.language_server_pb.Document"),p(Ue,"fields",E.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:E.getEnumType(it)},{no:6,name:"cursor_offset",kind:"scalar",T:4},{no:8,name:"cursor_position",kind:"message",T:ar},{no:7,name:"line_ending",kind:"scalar",T:9}])),Ue),dc=(De=class extends K{constructor(n){super();p(this,"forceEnableExperiments",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new De().fromBinary(n,r)}static fromJson(n,r){return new De().fromJson(n,r)}static fromJsonString(n,r){return new De().fromJsonString(n,r)}static equals(n,r){return E.util.equals(De,n,r)}},p(De,"runtime",E),p(De,"typeName","exa.language_server_pb.ExperimentConfig"),p(De,"fields",E.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:E.getEnumType(rr),repeated:!0}])),De),fc=(Pe=class extends K{constructor(n){super();p(this,"state",mn.UNSPECIFIED);p(this,"message","");E.util.initPartial(n,this)}static fromBinary(n,r){return new Pe().fromBinary(n,r)}static fromJson(n,r){return new Pe().fromJson(n,r)}static fromJsonString(n,r){return new Pe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Pe,n,r)}},p(Pe,"runtime",E),p(Pe,"typeName","exa.language_server_pb.State"),p(Pe,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:E.getEnumType(mn)},{no:2,name:"message",kind:"scalar",T:9}])),Pe),mc=(je=class extends K{constructor(n){super();p(this,"startOffset",V.zero);p(this,"endOffset",V.zero);p(this,"startPosition");p(this,"endPosition");E.util.initPartial(n,this)}static fromBinary(n,r){return new je().fromBinary(n,r)}static fromJson(n,r){return new je().fromJson(n,r)}static fromJsonString(n,r){return new je().fromJsonString(n,r)}static equals(n,r){return E.util.equals(je,n,r)}},p(je,"runtime",E),p(je,"typeName","exa.language_server_pb.Range"),p(je,"fields",E.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:ar},{no:4,name:"end_position",kind:"message",T:ar}])),je),pc=(Fe=class extends K{constructor(n){super();p(this,"text","");p(this,"deltaCursorOffset",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Fe().fromBinary(n,r)}static fromJson(n,r){return new Fe().fromJson(n,r)}static fromJsonString(n,r){return new Fe().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Fe,n,r)}},p(Fe,"runtime",E),p(Fe,"typeName","exa.language_server_pb.Suffix"),p(Fe,"fields",E.util.newFieldList(()=>[{no:1,name:"text",kind:"scalar",T:9},{no:2,name:"delta_cursor_offset",kind:"scalar",T:3}])),Fe),hc=(Me=class extends K{constructor(n){super();p(this,"text","");p(this,"offset",V.zero);p(this,"type",pn.UNSPECIFIED);p(this,"prefix","");p(this,"line",V.zero);E.util.initPartial(n,this)}static fromBinary(n,r){return new Me().fromBinary(n,r)}static fromJson(n,r){return new Me().fromJson(n,r)}static fromJsonString(n,r){return new Me().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Me,n,r)}},p(Me,"runtime",E),p(Me,"typeName","exa.language_server_pb.CompletionPart"),p(Me,"fields",E.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:E.getEnumType(pn)},{no:4,name:"prefix",kind:"scalar",T:9},{no:5,name:"line",kind:"scalar",T:4}])),Me),gc=(Re=class extends K{constructor(n){super();p(this,"completion");p(this,"suffix");p(this,"range");p(this,"source",ln.UNSPECIFIED);p(this,"completionParts",[]);E.util.initPartial(n,this)}static fromBinary(n,r){return new Re().fromBinary(n,r)}static fromJson(n,r){return new Re().fromJson(n,r)}static fromJsonString(n,r){return new Re().fromJsonString(n,r)}static equals(n,r){return E.util.equals(Re,n,r)}},p(Re,"runtime",E),p(Re,"typeName","exa.language_server_pb.CompletionItem"),p(Re,"fields",E.util.newFieldList(()=>[{no:1,name:"completion",kind:"message",T:xl},{no:5,name:"suffix",kind:"message",T:pc},{no:2,name:"range",kind:"message",T:mc},{no:3,name:"source",kind:"enum",T:E.getEnumType(ln)},{no:8,name:"completion_parts",kind:"message",T:hc,repeated:!0}])),Re);const yc={typeName:"exa.language_server_pb.LanguageServerService",methods:{getCompletions:{name:"GetCompletions",I:ac,O:ic,kind:ve.Unary},acceptCompletion:{name:"AcceptCompletion",I:sc,O:lc,kind:ve.Unary},getAuthToken:{name:"GetAuthToken",I:cc,O:uc,kind:ve.Unary}}};function bc(){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 _t=function(e){return this instanceof _t?(this.v=e,this):new _t(e)},wc=function(e,t,n){if(!Symbol.asyncIterator)throw TypeError("Symbol.asyncIterator is not defined.");var r=n.apply(e,t||[]),o,a=[];return o={},s("next"),s("throw"),s("return",i),o[Symbol.asyncIterator]=function(){return this},o;function i(f){return function(h){return Promise.resolve(h).then(f,d)}}function s(f,h){r[f]&&(o[f]=function(y){return new Promise(function(b,v){a.push([f,y,b,v])>1||c(f,y)})},h&&(o[f]=h(o[f])))}function c(f,h){try{l(r[f](h))}catch(y){m(a[0][3],y)}}function l(f){f.value instanceof _t?Promise.resolve(f.value.v).then(u,d):m(a[0][2],f)}function u(f){c("next",f)}function d(f){c("throw",f)}function m(f,h){f(h),a.shift(),a.length&&c(a[0][0],a[0][1])}};function vc(e){bc();let t=e.useBinaryFormat??!1;return{async unary(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await nc({interceptors:e.interceptors,signal:o,timeoutMs:a,req:{stream:!1,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async d=>{let m=e.useHttpGet===!0&&r.idempotency===jo.NoSideEffects,f=null;m?d=tc(d,l(d.message),t):f=l(d.message);let h=await(e.fetch??globalThis.fetch)(d.url,Object.assign(Object.assign({},d.init),{headers:d.header,signal:d.signal,body:f})),{isUnaryError:y,unaryError:b}=ta(r.kind,t,h.status,h.headers);if(y)throw Yo(await h.json(),Ll(...Zo(h.headers)),b);let[v,C]=Zo(h.headers);return{stream:!1,service:n,method:r,header:v,message:t?u(new Uint8Array(await h.arrayBuffer())):r.O.fromJson(await h.json(),qo(e.jsonOptions)),trailer:C}}})},async stream(n,r,o,a,i,s,c){let{serialize:l,parse:u}=Ho(r,t,e.jsonOptions,e.binaryOptions);function d(f,h,y,b){return wc(this,arguments,function*(){let v=_l(f).getReader(),C=!1;for(;;){let x=yield _t(v.read());if(x.done)break;let{flags:_,data:P}=x.value;if((_&1)==1)throw new he("protocol error: received unsupported compressed output",R.Internal);if((_&2)==2){C=!0;let A=Xl(P);if(A.error){let k=A.error;throw y.forEach((B,F)=>{k.metadata.append(F,B)}),k}A.metadata.forEach((k,B)=>h.set(B,k));continue}yield yield _t(u(P))}if("throwIfAborted"in b&&b.throwIfAborted(),!C)throw"missing EndStreamResponse"})}async function m(f){if(r.kind!=ve.ServerStreaming)throw"The fetch API does not support streaming request bodies";let h=await f[Symbol.asyncIterator]().next();if(h.done==1)throw"missing request message";return Ul(0,l(h.value))}return a=a===void 0?e.defaultTimeoutMs:a<=0?void 0:a,await rc({interceptors:e.interceptors,timeoutMs:a,signal:o,req:{stream:!0,service:n,method:r,url:Vo(e.baseUrl,n,r),init:{method:"POST",credentials:e.credentials??"same-origin",redirect:"error",mode:"cors"},header:ea(r.kind,t,a,i,!1),contextValues:c??Jo(),message:s},next:async f=>{let h=await(e.fetch??globalThis.fetch)(f.url,Object.assign(Object.assign({},f.init),{headers:f.header,signal:f.signal,body:await m(f.message)}));if(ta(r.kind,t,h.status,h.headers),h.body===null)throw"missing response body";let y=new Headers;return Object.assign(Object.assign({},f),{header:h.headers,trailer:y,message:d(h.body,y,h.headers,f.signal)})}})}}}var Ec=Gl(yc,vc({baseUrl:"https://web-backend.codeium.com",useBinaryFormat:!0})),hn;try{hn=crypto.randomUUID()}catch{hn=function(){return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,t=>(t^(crypto.getRandomValues(new Uint8Array(1))[0]??0)&15>>t/4).toString(16))}()}async function Sc({text:e,cursorOffset:t,config:n,otherDocuments:r}){return await Ec.getCompletions({metadata:{ideName:"web",ideVersion:"0.0.5",extensionName:"@valtown/codemirror-codeium",extensionVersion:"1.0.0",apiKey:n.apiKey,sessionId:hn,authSource:n.authSource},document:{text:e,cursorOffset:BigInt(t),language:n.language,editorLanguage:"typescript",lineEnding:`
|
|
14
|
+
`},editorOptions:{tabSize:2n,insertSpaces:!0},otherDocuments:r,multilineConfig:void 0},{headers:{Authorization:`Basic ${n.apiKey}-${hn}`}})}function Cc(e){return e.completionItems.map(t=>{let n=0;return t.completionParts.filter(r=>r.type!==3).map(r=>{let o=Number(r.offset),a=r.type===2?`
|
|
15
|
+
${r.text}`:r.text,i={absoluteStartPos:n+o,absoluteEndPos:n+o+a.length,from:o,to:o,insert:a};return n+=a.length,i})})}async function xc(e,t){let n=e.state.facet(cn),{override:r}=e.state.facet(Mo),o=await r(),a=e.state,i=a.selection.main.head,s=a.doc.toString();try{let c=await Sc({text:s,cursorOffset:i,config:n,otherDocuments:o});if(!c||c.completionItems.length===0||!((t===void 0||i===t)&&Gt(e.state)!=="active"&&e.hasFocus))return;let l=Cc(c),u=l.at(0);if(!u)return;let d=Dn.of(u,a.doc.length),m=d.invert(a.doc);e.dispatch({changes:d,effects:Kn.of({index:0,reverseChangeSet:m,changeSpecs:l}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]})}catch(c){console.warn("copilot completion failed",c),await new Promise(l=>setTimeout(l,300))}}function Ic(e){return e.docChanged&&!e.transactions.some(t=>t.effects.some(n=>n.is(Yn)||n.is(Xn)))}function kc(e){if(!e.view.hasFocus||e.state.field(st)||Gt(e.state)==="active")return!0;for(let t of e.transactions)if(t.annotation(pt)!==void 0)return!0}function Tc(){let e=null,t=0;return G.updateListener.of(n=>{let r=n.view.state.facet(cn);if(!r.alwaysOn||!Ic(n)||(e&&clearTimeout(e),kc(n)))return;let o=n.state.selection.main.head;r.shouldComplete&&!r.shouldComplete(new Dm(n.view.state,o,!1))||(e=setTimeout(async()=>{o===t&&await xc(n.view,t)},r.timeout),t=o)})}function aa(e){var o;let t=e.state.field(st);if(!t)return!1;let n=(o=t.reverseChangeSet)==null?void 0:o.invert(e.state.doc);e.dispatch({changes:t.reverseChangeSet,effects:Yn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]});let r=0;return n==null||n.iterChangedRanges((a,i,s,c)=>{r=c}),e.dispatch({changes:n,selection:wt.cursor(r),annotations:[pt.of(null),Bt.addToHistory.of(!0)]}),!0}const ia=e=>{let{state:t}=e,n=t.field(st);if(!n)return!1;let{changeSpecs:r}=n;if(r.length<2)return!1;let o=(n.index+1)%r.length,a=r.at(o);if(!a)return!1;let i=n.reverseChangeSet.apply(t.doc),s=Dn.of(n.reverseChangeSet,t.doc.length).compose(Dn.of(a,i.length)),c=Dn.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:Kn.of({index:o,reverseChangeSet:c,changeSpecs:r}),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!0};function ir(e){let t=e.state.field(st);return t&&e.dispatch({changes:t.reverseChangeSet,effects:Xn.of(null),annotations:[un.of(null),pt.of(null),Bt.addToHistory.of(!1)]}),!1}function Nc(e,t){return e.state.field(st)?t==="Tab"?aa(e):ir(e):!1}function Ac(e){var o,a;let t=!1,n=(o=e.state.selection.asSingle().ranges.at(0))==null?void 0:o.head,r=e.state.field(st);return n!==void 0&&r?((a=r.decorations)==null||a.between(n,n,()=>{t=!0}),t):!1}function Lc(){return G.domEventHandlers({keydown(e,t){return e.key==="]"&&e.ctrlKey?!1:e.key!=="Shift"&&e.key!=="Control"&&e.key!=="Alt"&&e.key!=="Meta"?Nc(t,e.key):!1},mouseup(e,t){let n=e.target;return n.nodeName==="BUTTON"&&n.dataset.action==="codeium-cycle"?(ia(t),e.stopPropagation(),e.preventDefault(),!0):Ac(t)?aa(t):ir(t)}})}function Oc(){return We.of([{key:"Ctrl-]",run:ia}])}function _c(){return G.updateListener.of(e=>{e.focusChanged&&ir(e.view)})}function Uc(e){return[cn.of(e),st,ct.highest(Oc()),ct.highest(_c()),ct.high(Lc()),Tc()]}function Dc({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 Pc=Pm(),jc=new am,sr=$e.get("@github/copilot-language-server"),sa={delay:300,includeKeymap:!0,events:{shouldShowSuggestion:e=>e.hasFocus,beforeSuggestionFetch:e=>e.hasFocus}};const Fc=e=>{let t=[];return e.copilot==="codeium"&&e.codeium_api_key&&t.push(Uc({apiKey:e.codeium_api_key,language:it.PYTHON}),Mo.of({override:async()=>[{text:Ir(""),language:it.PYTHON,editorLanguage:"python"}]})),e.copilot==="github"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(!Lf()||!o.hasFocus||n.doc.length===0)return"";await new Promise(c=>setTimeout(c,20));let i=Mc(n,Ir(n.doc.toString())),s=await Tf().getCompletion(i);return a===o.state.selection.main.head?Rc(s,i.position,n):($e.debug("ignoring response because of new position"),"")}})),e.copilot==="custom"&&t.push(eo({...sa,fetchFn:async(n,r,o)=>{let a=n.selection.main.head;if(n.doc.length===0||!o.hasFocus)return"";let i=n.doc.sliceString(0,n.selection.main.head),s=n.doc.sliceString(n.selection.main.head,n.doc.length);if(i.length===0)return"";let c=n.field(_n).type,l=await Bf.post("/ai/inline_completion",{prefix:i,suffix:s,language:c});return a===o.state.selection.main.head?(l=Dc({response:l,prefix:i,suffix:s}),l):($e.debug("ignoring response because of new position"),"")}})),[...t,ct.highest(We.of([{key:"Escape",run:n=>{let r=Zr(n);return Ln(n)?!1:r}}])),jc.of(Nf())]};function Mc(e,t){let n=e.doc.toString(),r=t.split(`
|
|
16
16
|
`).length-n.split(`
|
|
17
|
-
`).length,o=
|
|
18
|
-
`,s-1)+1;return
|
|
17
|
+
`).length,o=Bc(e.doc,e.selection.main.head);return o.line+=r,{textDocument:{uri:`file://${kf}`,version:"replace_me"},position:o,context:{triggerKind:Pc.InlineCompletionTriggerKind.Automatic},formattingOptions:{tabSize:e.tabSize,insertSpaces:!0}}}function Rc(e,t,n){if(!e)return sr.debug("No response from copilot"),"";let r=Array.isArray(e)?e[0]:e.items[0];if(!r)return sr.debug("No response from copilot"),"";let{insertText:o,range:a}=r,i=String(o);if(!a)return sr.error("No range from copilot"),i;let s=a.start.character-t.character,c=s<0?i.slice(-s):i,l=n.doc.sliceString(n.selection.main.head,n.doc.length);for(let u=0;u<c.length;u++){let d=c.slice(u);if(l.startsWith(d))return c.slice(0,u)}return c}function Bc(e,t){let n=e.lineAt(t);return{line:n.number-1,character:t-n.from}}Jn=function(e){return Ft("create"in e,'Expected query to have a "create" method'),e},we=qd({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}}}),Vr=function(e){if([...document.querySelectorAll('[role="dialog"][data-state="open"]')].some(t=>t instanceof HTMLElement&&t.childNodes.length>0))return!1;if(e){let t=e.state.selection.main,n=e.state.sliceDoc(t.from,t.to);n?(Y.set(we,{type:"setFind",find:n}),Y.set(we,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):Y.set(we,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{Y.set(we,{type:"setIsOpen",isOpen:!0})}),!0):(Y.set(we,{type:"setIsOpen",isOpen:!0}),!0)};function Gc(){return Y.get(we).isOpen?(Y.set(we,{type:"setIsOpen",isOpen:!1}),!0):!1}var lr=pe.define();Ki=function(){let e=Y.get(we),t=ui();for(let n of t)n.state.readOnly||n.dispatch({effects:lr.of(new Fr({search:e.findText,caseSensitive:e.caseSensitive,regexp:e.regexp,replace:e.replaceText,wholeWord:e.wholeWord}))})},Qi=function(){let e=ui();for(let t of e)t.state.readOnly||t.dispatch({effects:lr.of(new Fr({search:""}))})};const gn=ze.define({create(){let e=Y.get(we);return Jn(new Fr({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(lr)&&(e=Jn(n.value).create());return e}});var Jc=$.mark({class:"cm-searchMatch"}),Vc=$.mark({class:"cm-searchMatch cm-searchMatch-selected"}),$c=250;const Wc=Xe.fromClass(class{constructor(e){this.view=e,this.decorations=this.highlight(e.state.field(gn))}update(e){let t=e.state.field(gn);(t!==e.startState.field(gn)||e.docChanged||e.selectionSet||e.viewportChanged)&&(this.decorations=this.highlight(t))}highlight(e){if(!e.spec.valid)return $.none;let{view:t}=this,n=new um,r=t.visibleRanges,o=r.length;for(let a=0;a<o;a++){let{to:i}=r[a],{from:s}=r[a];for(;a<o-1&&i>r[a+1].from-2*$c;)i=r[++a].to;e.highlight(t.state,s,i,(c,l)=>{let u=t.state.selection.ranges.some(d=>d.from===c&&d.to===l);n.add(c,l,u?Vc:Jc)})}return n.finish()}},{decorations:e=>e.decorations}),qc=G.baseTheme({"&light .cm-searchMatch":{backgroundColor:"#99ff7780"},"&dark .cm-searchMatch":{backgroundColor:"#22bb0070"},"&light .cm-searchMatch-selected":{backgroundColor:"transparent"},"&dark .cm-searchMatch.cm-searchMatch-selected":{backgroundColor:"#6199ff88 !important"}});function Hc(e){return[We.of([{key:"Escape",preventDefault:!1,run:Gc},{key:e.getHotkey("cell.selectNextOccurrence").key,preventDefault:!0,run:xm},{key:e.getHotkey("cell.findAndReplace").key,preventDefault:!0,run:Vr}]),km(),Wc,gn,qc]}var zc=$.mark({class:"underline"}),la=pe.define(),ca=pe.define(),ua=pe.define();const Kc=ze.define({create(){return $.none},update(e,t){let n=e.map(t.changes);for(let r of t.effects)r.is(la)?n=e.update({add:[zc.range(r.value.from,r.value.to)]}):r.is(ca)?n=e.update({add:[jd.range(r.value.from,r.value.to)]}):r.is(ua)&&(n=$.none);return n},provide:e=>G.decorations.from(e)});var Yc=class{constructor(e,t){p(this,"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))});p(this,"keyup",e=>{(e.key==="Meta"||e.key==="Control")&&this.exitCommandClickMode()});p(this,"windowBlur",()=>{this.commandClickMode&&this.exitCommandClickMode()});p(this,"mousemove",e=>{var o;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=(o=this.view.state.field(Jd,!1))==null?void 0:o.ranges.find(a=>t>=a.from&&t<=a.to);if(n){let{from:a,to:i}=n;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:ca.of(this.hoveredRange)});return}let r=Si(this.view.state).cursorAt(t);if(r.name==="VariableName"){let{from:a,to:i}=r;if(this.hoveredRange&&this.hoveredRange.from===a&&this.hoveredRange.to===i)return;this.clearUnderline(),this.hoveredRange={from:a,to:i,position:t},this.view.dispatch({effects:la.of(this.hoveredRange)})}else this.clearUnderline()});p(this,"click",e=>{this.hoveredRange&&(e.preventDefault(),e.stopPropagation(),this.view.dispatch({selection:{head:this.hoveredRange.position,anchor:this.hoveredRange.position}}),this.onClick(this.view))});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)}exitCommandClickMode(){this.commandClickMode=!1,this.view.dom.removeEventListener("mousemove",this.mousemove),this.view.dom.removeEventListener("click",this.click),this.clearUnderline()}clearUnderline(){this.hoveredRange&&(this.hoveredRange=(this.view.dispatch({effects:ua.of(null)}),null))}};const Xc=e=>Xe.define(t=>new Yc(t,e));function Qc(){return[Kc,Xc(e=>{of(e)}),G.baseTheme({".underline":{textDecoration:"underline",cursor:"pointer",color:"var(--link)"}})]}function Zc(){return[G.domEventHandlers({drop:(e,t)=>{var o,a;let n=(o=e.dataTransfer)==null?void 0:o.files[0];if(n!=null&&n.type.startsWith("text/"))return e.preventDefault(),Dd(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Vd(t,n),!0;let r=(a=e.dataTransfer)==null?void 0:a.getData("text/plain");if(r){e.preventDefault();let i=t.posAtCoords({x:e.clientX,y:e.clientY});return i!==null&&t.dispatch({changes:{from:i,to:i,insert:r},scrollIntoView:!0}),!0}return!1},dragover:e=>{e.preventDefault()}})]}function eu(){return[G.domEventHandlers({paste:(e,t)=>{var i;let n=(i=e.clipboardData)==null?void 0:i.getData("text/plain");if(!n||!da(n))return!1;let{setup:r,cells:o}=tu(n);if(r===null&&o.length===0)return!1;let a=t.state.facet(ff);return r!==null&&a.addOrAppendSetupCell(r),o.length>0&&a.createManyBelow(o),!0}})]}function da(e){return/@app\.cell|@app\.function|\bapp\.setup\b/.test(e)}function tu(e){if(!da(e))return{setup:null,cells:[]};let t=[],n=[],r=ap.parse(e),o=(s,c)=>{let l=e.lastIndexOf(`
|
|
18
|
+
`,s-1)+1;return nu(e.slice(l,c))},a=(s,c)=>{let l=o(s,c);l.trim()&&t.push(l)},i=(s,c)=>{var f;let l=[];for(let h=s.firstChild;h;h=h.nextSibling)h.name!==":"&&l.push(h);c&&((f=l.at(-1))==null?void 0:f.name)==="ReturnStatement"&&l.pop();let u=l[0],d=l.at(-1);if(!u||!d)return null;let m=o(u.from,d.to);return m.trim()?m:null};return r.iterate({enter:s=>{if(s.name==="WithStatement"){let d=s.node.getChild("Body");if(d&&e.slice(s.from,d.from).includes("app.setup")){let m=i(d,!1);m!==null&&n.push(m)}return!1}if(s.name!=="DecoratedStatement")return!0;let c=s.node.getChild("Decorator"),l=s.node.getChild("FunctionDefinition");if(!c||!l)return!1;let u=e.slice(c.from,c.to).trim();if(u.startsWith("@app.cell")){let d=l.getChild("Body");if(d){let m=i(d,!0);m!==null&&t.push(m)}return!1}return u.startsWith("@app.function")&&a(l.from,l.to),!1}}),{setup:n.length>0?n.join(`
|
|
19
19
|
|
|
20
|
-
`):null,cells:t}}function
|
|
20
|
+
`):null,cells:t}}function nu(e){let t=e.split(`
|
|
21
21
|
`);if(t.length===0)return"";let n=t.filter(a=>a.trim().length>0);if(n.length===0)return"";let r=/^\s*/,o=Math.min(...n.map(a=>{var i;return((i=a.match(r))==null?void 0:i[0].length)??1/0}));return o===0?e.trim():t.map(a=>a.slice(o)).join(`
|
|
22
|
-
`).trim()}function nu(e,t,n,r){var o;return r!=="{"||t!==n||!((o=Ei(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function ru(){return J.inputHandler.of(nu)}function fa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}var ma="cm-tooltip-portal";function ou(e){if(e==null)return document.querySelector("#App")??void 0;let t=document.querySelector(e);if(t==null)return;let n=t.querySelector(`:scope > .${ma}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${ma} not-prose contents`,t.append(r),r}const au=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=e,d=fa(e);return[xf(n,r),Qc(),Zc(),Os(),hf({cellId:t,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),cf({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),su(e),Xc(),c!=null&&c.enabled?xm():[],o&&u?[vs({prompt:m=>As({prompt:m.prompt,selection:m.selection,codeBefore:m.codeBefore,codeAfter:m.codeAfter,language:Yd(m.editorView)})}),zt.of({hideOnBlur:!0})]:[],Md(t,l.reference_highlighting??!0)]};var iu=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()===""?!1:Lm(e)};const su=e=>{let{theme:t,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:o,cellId:a,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=e,l=fa(e),u=r.auto_close_pairs!==!1;return[J.lineWrapping,fm(),dm(),ym(),sm(),em(),tm(),Zf(),rm({position:"fixed",parent:ou(c)}),Vd(),t==="dark"?Vf:Jf,jd(i),jc(r),gm(),ru(),u?Om():[],Us(o),u?ct.high(We.of(Nm)):[],pm(),im(),am.of(" "),lm(um,{fallback:!0}),We.of(nm),nf({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...i,diagnostics:s}}),ff.of(Sm()),jr.allowMultipleSelections.of(!0),qc(n),We.of([{key:"Tab",run:d=>Ci(d)||iu(d)||wm(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>Gt(d.state)===null?!1:(jn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>Gt(d.state)===null?!1:(jn(!1)(d),!0),preventDefault:!0}]),We.of([...km,Em])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(Ip),lr=e=>{Tp(e),typeof $i=="function"&&$i(),lu(St)};function lu(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)lr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":St}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":St}))}lr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await rp(()=>import("./loro_wasm_bg-Duqr-kJ2.js").then(async r=>(await r.__tla,r)),__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":St});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":St});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);lr(n.exports??n)}var cu=["Map","Text","List","Tree","MovableList","Counter"];function uu(e){return e.startsWith("cid:")}function pa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:cu.includes(e.kind())}var du=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new kp(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({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(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({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))}};Jr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&uu(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=e(a,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?o(u):u}if(pa(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?o(l):l}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(pa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return o(n.getShallowValue())};var ha=Symbol("loro.callPendingEventsWrapped");function fu(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ha])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{Vi()}):Vi()}};o[ha]=!0,Object.defineProperty(e,t,{...n,value:o})}function cr(e,t){for(let n of t)fu(e,n)}cr(Jr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),cr(Cp.prototype,["set","delete","apply","removeOutdated"]),cr(xp.prototype,["undo","redo"]);const mu=J.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"}});Pr.define();const Ut=pe.define(),ur=ze.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ut))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var ga=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ut));return e.docChanged||e.viewportChanged||t.length>0};const pu=()=>vi({above:!0,class:"loro-cursor-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=wt.cursor(r.cursor.anchor);return gu.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),hu=()=>vi({above:!1,class:"loro-selection-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(ur);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=wt.range(r.cursor.anchor,r.cursor.head);return mm.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var gu=class Hr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Hr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===hm.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Hr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},yu=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ya(e,t,s,r);c&&o.push(c)}return o},ya=(e,t,n,r)=>{var c,l;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ut.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=Wi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let u=Wi.decode(o.cursor.head);s=((l=e.getCursorPos(u))==null?void 0:l.offset)??0}return Ut.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},bu=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=ya(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ut.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 n=vu({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:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},wu=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:yu(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},vu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const yn=["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)"],Eu=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 yn[Math.abs(t)%yn.length]}return yn[e%yn.length]};var me=$e.get("rtc"),ba=me.get("awareness").disabled(),dr="awareness:";function Su(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function Cu(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function xu(e,t){return e.slice(t.length)}ut=Pt(void 0);var te=new Jr,bn=new du(te.peerIdStr),fr=Tm(()=>{me.debug("creating websocket");let e=new Ap(wi().getWsSyncURL(ap()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await bi(),Df()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(Cu(r,dr)){let o=xu(r,dr);bn.apply(o),ba.debug("applied awareness update");return}te.import(r),me.debug("imported doc change. new doc:",te.toJSON()),K.get(ut)!==te&&K.set(ut,te)}),e.addEventListener("open",()=>{me.debug("websocket open")}),e.addEventListener("close",t=>{me.warn("websocket close",t),K.get(ut)===te&&K.set(ut,void 0)}),e});Tr()&&fr(),te.subscribeLocalUpdates(e=>{me.debug("local update, sending to server"),fr().send(e)}),bn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ba.debug("awareness changes",n),fr().send(Su(dr,bn.encode(n))))});function mr(e,t,n=""){if(Pf())return{extension:[],code:n};let r=te.getByPath(`codes/${e}`)!==void 0,o=te.getMap("codes").getOrCreateContainer(e,new Gr);return r||(me.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[Iu(e),ku(e),Tu(te,bn,{get name(){return K.get(of)||"Anonymous"},get colorClassName(){return Eu(this.name)}},()=>o,e),$d(te,["codes",e],()=>o)]}}function Iu(e){let t=(r,o)=>{let a=r.state.field(On).type,i=o.toString();i&&i!==a&&(me.debug(`[incoming] setting language type: ${a} -> ${i}`),jt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(Ar),i=o.toJSON();kn(a,i)||r.dispatch({effects:[oi.of(i)],annotations:[si.of(!0)]})};return Xe.define(r=>{let o;return Promise.resolve().then(()=>{let a=te.getByPath(`languages/${e}`);if(!a){me.error("no language container found for cell",e);return}Ft(a instanceof Gr,"language type is not a LoroText");let i=te.getByPath(`language_metadata/${e}`);if(!i){me.error("no language metadata container found for cell",e);return}Ft(i instanceof qi,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=te.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===a.id),l=s.events.some(u=>u.target===i.id);c&&t(r,a),l&&n(r,i)})}),{destroy(){o()}}})}function ku(e){let t=te.getMap("languages").getOrCreateContainer(e,new Gr),n=te.getMap("language_metadata").getOrCreateContainer(e,new qi);return J.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=kr(r.state).type;jt(r.view,{language:i}),me.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),me.debug("no initial language metadata, setting default to",r.state.field(Ar));let s=r.state.field(Ar);for(let c of Object.keys(s))n.set(c,s[c]);te.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(si)){for(let s of i.effects)if(s.is(ef)&&t.toString()!==s.value.type&&(me.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(oi)||s.is(Za)){let c=s.value;s.is(Za)?(me.debug("[outgoing] setting language metadata: ",c),n.clear()):me.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);a=!0}}a&&te.commit()})}function Tu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[ur,pu(),hu(),Xe.define(s=>new bu(s,e,n,t,r,i,a)),Xe.define(s=>new wu(s,e,t,i)),mu]}var Nu=Je(),Au=qf;$r=e=>{let t=(0,Nu.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,l=o===void 0?null:o,u=a===void 0?!1:a,{sendListFiles:d}=Fn(),[m,f]=(0,T.useState)(l),h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];let[y,b]=(0,T.useState)(h),[v,C]=(0,T.useState)(!1),x=(0,T.useRef)(null),_=(0,T.useRef)(!1),P,A;t[1]===l?(P=t[2],A=t[3]):(P=()=>{f(l)},A=[l],t[1]=l,t[2]=P,t[3]=A),(0,T.useEffect)(P,A);let k;t[4]===Symbol.for("react.memo_cache_sentinel")?(k=()=>{C(!0)},t[4]=k):k=t[4];let B=k,F;t[5]!==l||t[6]!==c?(F=H=>{var gt;(gt=H.relatedTarget)!=null&>.closest(".filename-input")||(C(!1),c&&f(l))},t[5]=l,t[6]=c,t[7]=F):F=t[7];let ne=F,O;t[8]===m?O=t[9]:(O=Qe.dirname(m||""),t[8]=m,t[9]=O);let N=O,se=Qe.basename(m||""),le=y.filter(H=>Qe.basename(H.path).startsWith(se)),re;t[10]!==N||t[11]!==v||t[12]!==d?(re=async()=>{if(!v){b([]);return}b((await d({path:N})).files)},t[10]=N,t[11]=v,t[12]=d,t[13]=re):re=t[13];let ee;t[14]!==N||t[15]!==v?(ee=[N,v],t[14]=N,t[15]=v,t[16]=ee):ee=t[16];let{isPending:U}=gp(re,ee),D=Lu(m,y,l),be=(D||le.length>0)&&(0,g.jsxs)(Bi,{className:"font-mono",children:[!U&&(0,g.jsx)(bp,{children:"No files"}),D&&(0,g.jsxs)(Ri,{variant:"success",className:"py-2 px-3",onSelect:()=>{var H;D&&(_.current=!0,i(D),(H=x.current)==null||H.blur())},children:[(0,g.jsx)(Z,{className:"w-4 h-4 mr-2"})," ",(0,g.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,g.jsx)("span",{className:"font-medium text-sm",children:Qe.basename(D)})]})]},"_rename_"),le.map(H=>{let gt=Zm[H.isDirectory?"directory":Qm(H.path)];return(0,g.jsxs)(Ri,{variant:H.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{H.isDirectory?f(`${H.path}/`):f(H.path)},children:[(0,g.jsx)(gt,{className:"w-4 h-4 mr-2"})," ",Qe.basename(H.path)]},H.path)})]}),ce=Math.max(20,(m==null?void 0:m.length)||(r==null?void 0:r.length)||0)*10,S=v?m||"":l||"",I;t[17]!==u||t[18]!==ce?(I=u?{maxWidth:ce}:void 0,t[17]=u,t[18]=ce,t[19]=I):I=t[19];let j;t[20]===s?j=t[21]:(j=nt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=j);let L;t[22]!==r||t[23]!==S||t[24]!==I||t[25]!==j?(L=(0,g.jsx)(Au,{children:(0,g.jsx)(yp,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:S,onKeyDown:Ou,icon:null,ref:x,onValueChange:f,placeholder:r,autoComplete:"off",style:I,className:j})}),t[22]=r,t[23]=S,t[24]=I,t[25]=j,t[26]=L):L=t[26];let ue=be&&"group-focus-within:block",Be;t[27]===ue?Be=t[28]:(Be=nt("p-0 w-full min-w-80 max-w-80vw hidden",ue),t[27]=ue,t[28]=Be);let Ve;t[29]!==be||t[30]!==Be?(Ve=(0,g.jsx)(Hf,{side:"bottom",className:Be,portal:!1,children:be}),t[29]=be,t[30]=Be,t[31]=Ve):Ve=t[31];let Ge;t[32]!==L||t[33]!==Ve?(Ge=(0,g.jsxs)(Bi,{children:[L,Ve]}),t[32]=L,t[33]=Ve,t[34]=Ge):Ge=t[34];let M;t[35]!==ne||t[36]!==Ge?(M=(0,g.jsx)(wp,{onFocus:B,onBlur:ne,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ge}),t[35]=ne,t[36]=Ge,t[37]=M):M=t[37];let oe;return t[38]!==v||t[39]!==M?(oe=(0,g.jsx)($f,{children:(0,g.jsx)(zf,{open:v,modal:!1,children:M})}),t[38]=v,t[39]=M,t[40]=oe):oe=t[40],oe};function Lu(e,t,n){if(e&&!e.endsWith("/")&&((Bd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Qe.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Qe.basename(r.path)===e)&&!(n&&(n===e||Qe.basename(n)===e))))return e}function Ou(e){e.key==="Escape"&&e.currentTarget.blur()}var wa=Je(),_u=e=>{let t=(0,wa.c)(33),n=()=>{Qf(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=ae(Pu),o;t[0]!==n||t[1]!==e?(o=P=>{P.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=P=>{P.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(_i,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,l;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},t[7]=c,t[8]=l):(c=t[7],l=t[8]);let u;t[9]===e.proposedName?u=t[10]:(u=(0,g.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,g.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=u);let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},t[11]=d):d=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m={display:"block",padding:"10px"},t[12]=m):m=t[12];let f;t[13]===e.proposedName?f=t[14]:(f=(0,g.jsxs)("code",{style:m,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=f);let h;t[15]===e.proposedName?h=t[16]:(h=(0,g.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=h);let y;t[17]!==h||t[18]!==f?(y=(0,g.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",h," with the recovered changes."]}),t[17]=h,t[18]=f,t[19]=y):y=t[19];let b;t[20]!==y||t[21]!==u?(b=(0,g.jsx)(cp,{className:"markdown wrap-break-word",style:s,children:(0,g.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,g.jsxs)("ol",{children:[u,y]})]})}),t[20]=y,t[21]=u,t[22]=b):b=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,g.jsx)(lt,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,g.jsx)(lt,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let x;t[26]===v?x=t[27]:(x=(0,g.jsxs)(Ui,{children:[v,C]}),t[26]=v,t[27]=x);let _;return t[28]!==o||t[29]!==a||t[30]!==b||t[31]!==x?(_=(0,g.jsx)(Di,{className:"w-fit",children:(0,g.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,b,x]})}),t[28]=o,t[29]=a,t[30]=b,t[31]=x,t[32]=_):_=t[32],_};const Uu=e=>{let t=(0,wa.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=ji(),i;t[0]===n?i=t[1]:(i=n===null?"app":Qe.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,g.jsx)(_u,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=c;Pi("global.save",l);let u;t[7]===Symbol.for("react.memo_cache_sentinel")?(u=Gi("global.save"),t[7]=u):u=t[7];let d=r?"yellow":"gray",m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[8]=m):m=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,g.jsx)(_n,{content:u,children:(0,g.jsx)(Hi,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:m})}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f};function Du(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function Pu(){let e=Nr(yt()),t={version:"1",metadata:{marimo_version:Gf()},cells:e.map(Du)};return JSON.stringify(t,null,2)}let pr;Bn=Pt(void 0),pr=Pt(e=>{let t=e(Bn);return ju({state:e(tt),layout:e(xi),lastSavedNotebook:t})});function ju({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(l=>o[l]),i=a.map(l=>l.code),s=a.map(l=>l.config),c=a.map(l=>l.name);return!Si(i,n.codes)||!Si(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Fu=Je();function Mu(e){let t=(0,Fu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=e,u=(0,T.useRef)(null),d;t[0]===n?d=t[1]:(d=n.join(":"),t[0]=n,t[1]=d);let m=d,f;t[2]===r?f=t[3]:(f=r.map(Ru).join(":"),t[2]=r,t[3]=f);let h=f,y;t[4]===i?y=t[5]:(y=i.join(":"),t[4]=i,t[5]=y);let b=y,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==l?(v=()=>{if(!c)return o.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&a.state===Mt.OPEN&&(u.current=setTimeout(l,o.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=l,t[11]=v):v=t[11];let C;t[12]!==h||t[13]!==b||t[14]!==m||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==l?(C=[m,h,b,o,a.state,l,c,s],t[12]=h,t[13]=b,t[14]=m,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=l,t[20]=C):C=t[20],(0,T.useEffect)(v,C)}function Ru(e){return JSON.stringify(e)}var wn=Je();Ki=e=>{let t=(0,wn.c)(15),{kioskMode:n}=e,r=mp(),o=ie(pr),a=ie(bt).state===Mt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=$t(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Vu(c),Lp();let l;t[3]===o?l=t[4]:(l=b=>{if(o)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},t[3]=o,t[4]=l),_f(window,"beforeunload",l);let u;t[5]===i?u=t[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},t[5]=i,t[6]=u);let d=u;if(Pi("global.save",i),a){let b;return t[7]!==r||t[8]!==o?(b=(0,g.jsx)(Uu,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=b):b=t[9],b}let m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=Gi("global.save"),t[10]=m):m=t[10];let f=o?"yellow":"hint-green",h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,g.jsx)(Ai,{strokeWidth:1.5,size:18}),t[11]=h):h=t[11];let y;return t[12]!==d||t[13]!==f?(y=(0,g.jsx)(_n,{content:m,children:(0,g.jsx)(Hi,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:h})}),t[12]=d,t[13]=f,t[14]=y):y=t[14],y},$t=function(){let e=(0,wn.c)(21),{sendSave:t}=Fn(),{openModal:n,closeModal:r,openAlert:o}=ji(),a=Xa(Bn),i=pp(),s=Sr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let x=s.get(bt),_=s.get(gi);if(s.get(jf))return;if(x.state!==Mt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),C&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await lf());let P=yt(),A=Nr(P),k=A.map(Ju),B=A.map(Gu),F=A.map(Bu),ne=li(P),O=s.get(xi);B.length!==0&&(await t({cellIds:k,codes:B,names:F,filename:v,configs:ne,layout:Fm(),persist:!0}),a({names:F,codes:B,configs:ne,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let l=ae(c),u;e[5]!==l||e[6]!==s?(u=v=>{let C=v===void 0?!1:v,x=s.get(ui),_=s.get(bt);va(x)&&_.state===Mt.OPEN&&l(x,C)},e[5]=l,e[6]=s,e[7]=u):u=e[7];let d=ae(u),m;e[8]!==l||e[9]!==i?(m=v=>{i(v).then(C=>{C!==null&&l(C,!0)})},e[8]=l,e[9]=i,e[10]=m):m=e[10];let f=m,h;e[11]!==r||e[12]!==f||e[13]!==n||e[14]!==d||e[15]!==s?(h=()=>{let v=s.get(ui),C=s.get(bt);d(!0),!va(v)&&C.state!==Mt.CLOSED&&n((0,g.jsx)(qu,{onClose:r,onSave:f}))},e[11]=r,e[12]=f,e[13]=n,e[14]=d,e[15]=s,e[16]=h):h=e[16];let y=ae(h),b;return e[17]!==d||e[18]!==l||e[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},e[17]=d,e[18]=l,e[19]=y,e[20]=b):b=e[20],b};function Bu(e){return e.name}function Gu(e){return e.code}function Ju(e){return e.id}function va(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function Vu(e){let t=(0,wn.c)(14),n=ie(gi),r=Rd(),[o]=In(bt),a=ie(pr),i,s;if(t[0]!==r){let m=Nr(r);i=m.map(Wu),s=m.map($u),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,l;t[3]===r?l=t[4]:(l=li(r),t[3]=r,t[4]=l);let u=l,d;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==u||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(d={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:u,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=u,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=d):d=t[13],Mu(d)}function $u(e){return e.name}function Wu(e){return e.code}var qu=e=>{let t=(0,wn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,T.useState)(),i;t[0]!==n||t[1]!==r?(i=b=>{a(b),b.trim()&&(r(b),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)(_i,{children:"Save notebook"}),t[3]=c):c=t[3];let l;t[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(Ur,{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,g.jsxs)("div",{className:"flex flex-col",children:[l,(0,g.jsx)($r,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=u);let d;t[7]===n?d=t[8]:(d=(0,g.jsx)(lt,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=d);let m=!o,f;t[9]===m?f=t[10]:(f=(0,g.jsx)(lt,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:m,type:"submit",children:"Save"}),t[9]=m,t[10]=f);let h;t[11]!==d||t[12]!==f?(h=(0,g.jsxs)(Ui,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=h):h=t[13];let y;return t[14]!==u||t[15]!==h?(y=(0,g.jsxs)(Di,{children:[c,u,h]}),t[14]=u,t[15]=h,t[16]=y):y=t[16],y};Rn=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var Ea={modified:{doc:""},original:{doc:""}},Sa=(0,T.createContext)(Ea);function Hu(e,t){return z({},e,t,{modified:z({},e.modified,t.modified),original:z({},e.original,t.original)})}var hr=()=>(0,T.useContext)(Sa),zu=e=>{var{children:t,theme:n}=e,[r,o]=(0,T.useReducer)(Hu,z({},Ea,{theme:n}));return(0,T.useEffect)(()=>o({theme:n}),[n]),(0,g.jsx)(Sa.Provider,{value:z({},r,{dispatch:o}),children:t})},Yu=["extensions","value","selection","onChange"],Ca=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Yu),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};Ca.displayName="CodeMirrorMerge.Original";var Ku=["extensions","value","selection","onChange"],xa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Ku),{theme:i,dispatch:s}=hr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};xa.displayName="CodeMirrorMerge.Modified";var Xu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Qu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ia=T.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:m}=e,f=Jt(e,Xu),h=hr(),{modified:y,modifiedExtension:b,original:v,originalExtension:C,theme:x,dispatch:_}=h,P=Jt(h,Qu),A=(0,T.useRef)(null),k=(0,T.useRef)(),B={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:m};(0,T.useImperativeHandle)(t,()=>({container:A.current,view:k.current,modified:y,original:v,config:z({a:v,b:y,parent:A.current},B)}),[A,k,y,v,B]);var F=J.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var N=O.state.doc.toString();C==null||C.onChange(N,O)}}),ne=J.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var N=O.state.doc.toString();b==null||b.onChange(N,O)}});return(0,T.useEffect)(()=>{!k.current&&A.current&&C&&b&&(k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x})),F]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x})),ne]}),parent:A.current},B)),_({view:k.current}))},[k,A,C,b]),(0,T.useEffect)(()=>{var U,D;if(v&&v.doc&&k.current){var O=(U=k.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var N;(N=k.current)==null||N.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&k.current){var se=(D=k.current)==null?void 0:D.b.state.doc.toString();if(se!==y.doc){var le;(le=k.current)==null||le.b.dispatch({changes:{from:0,to:se.length,insert:y.doc||""}})}}if(l&&k.current){var re=k.current.a.state.selection.ranges[0].from,ee=k.current.b.state.selection.ranges[0].from;k.current.destroy(),k.current=new Ji(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x}))]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x}))]}),parent:A.current},B)),re&&(k.current.a.focus(),k.current.a.dispatch({selection:{anchor:re,head:re}})),ee&&(k.current.b.focus(),k.current.b.dispatch({selection:{anchor:ee,head:ee}}))}},[k,x,A.current,v,y,C,b,l]),(0,T.useEffect)(()=>()=>k.current&&k.current.destroy(),[]),(0,T.useEffect)(()=>{if(k.current){var O={};P.orientation!==o&&(O.orientation=o),P.revertControls!==a&&(O.revertControls=a),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&k.current&&(k.current.reconfigure(z({},O)),_(z({},O)))}},[_,k,o,a,i,s,c,u]),(0,g.jsx)("div",z({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ia.displayName="CodeMirrorMerge.Internal";var Zu=["theme"],vn=T.forwardRef((e,t)=>{var{theme:n}=e;return(0,g.jsx)(zu,{theme:n,children:(0,g.jsx)(Ia,z({},Jt(e,Zu),{ref:t}))})});vn.Original=Ca,vn.Modified=xa,vn.displayName="CodeMirrorMerge";var gr=vn,ed=Je(),td=gr.Original,nd=gr.Modified,ka=[Dd(),J.lineWrapping];const rd=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,m]=(0,T.useState)(!1),[f,h]=(0,T.useState)({}),[y,b]=In(fp),v=(0,T.useId)(),C=Mf(),{initialPrompt:x,triggerImmediately:_,cellId:P}=t??{},A=P===e,k=ie(Xm).get(e),B;(k==null?void 0:k.type)==="update_cell"&&(B=k.previousCode);let{completion:F,input:ne,stop:O,isLoading:N,setCompletion:se,setInput:le,handleSubmit:re,complete:ee}=Jm({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:x,experimental_throttle:100,body:{...Object.keys(f).length>0?f:x?ki({input:x}):{},includeOtherCode:y?Ir(a):"",code:a,language:o},onError:M=>{vt({title:"Completion failed",description:up(M)})},onFinish:(M,oe)=>{se(qn(oe).trimEnd())}}),U=T.useRef(null),D=qn(F,{streaming:N}).trimEnd(),be=(0,T.useCallback)(()=>{_&&!N&&x&&ee(x)},[_]);(0,T.useEffect)(()=>{var M;A&&(Gd(()=>{let oe=U.current;return oe!=null&&oe.view?(oe.view.focus(),be(),!0):!1},{retries:3,delay:100,initialDelay:100}),gf((M=U.current)==null?void 0:M.view))},[A,be]),(0,T.useEffect)(()=>{A&&le(x||"")},[A,x,le]);let{theme:ce}=ip(),S=()=>{s(D),se("")},I=()=>{var M,oe;O(),se(""),m(!0),(oe=(M=U.current)==null?void 0:M.view)==null||oe.focus()},j=A&&_&&(D||N);l??(l="below");let L=A&&(!_||d),ue=(0,g.jsx)("div",{className:nt("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",j?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,g.jsx)(od,{status:N?"loading":"generated",onAccept:S,onReject:I,showInputPrompt:d,setShowInputPrompt:m,runCell:c,className:"mt-4 mb-3 w-lg"})}),Be=(M,oe)=>(0,g.jsxs)(gr,{className:"cm",theme:ce,children:[(0,g.jsx)(td,{onChange:r,value:M,extensions:ka}),(0,g.jsx)(nd,{value:oe,editable:!1,readOnly:!0,extensions:ka})]}),Ve=()=>{if(D&&A)return Be(a,D);if(!D&&B)return Be(B,a)},Ge=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Ti,{isLoading:N,onAccept:S,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,g.jsx)(Ii,{onDecline:I,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,g.jsxs)("div",{"data-ai-input-open":L,className:nt("flex flex-col w-full rounded-[inherit]",n),children:[(0,g.jsx)("div",{className:nt("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(np,{className:"text-(--blue-10) shrink-0",size:16}),(0,g.jsx)(zm,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:ne,onChange:M=>{le(M),h(ki({input:M}))},onSubmit:()=>{var M;N||((M=U.current)!=null&&M.view&&$m(U.current.view),re())},onKeyDown:Ym({handleAcceptCompletion:S,handleDeclineCompletion:I,isLoading:N,hasCompletion:D.trim().length>0})}),(0,g.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,g.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,g.jsx)(Hm,{isLoading:N,onStop:O,onSendClick:re,isEmpty:!ne.trim(),showStopLabel:!0}),(0,g.jsx)(Km,{handleAddContext:()=>Wm(U),isLoading:N}),(0,g.jsx)(Nf,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),D&&(0,g.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ge})]}),(0,g.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,g.jsx)(_n,{content:"Include code from other cells",children:(0,g.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,g.jsx)(Wd,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:M=>b(!!M)}),(0,g.jsx)(Ur,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,g.jsx)(lt,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:N,onClick:()=>{O(),i(),se("")},children:(0,g.jsx)(Rm,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&ue,Ve(),(!D||!A)&&!B&&u,l==="below"&&ue]})};var od=e=>{let t=(0,ed.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,l=n==="loading",u;t[0]===a?u=t[1]:(u=nt("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=u);let d;t[2]===l?d=t[3]:(d=l?(0,g.jsx)(ep,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,g.jsx)(Bm,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=l,t[3]=d);let m=l?"Generating fix...":"Showing fix",f;t[4]===m?f=t[5]:(f=(0,g.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:m}),t[4]=m,t[5]=f);let h;t[6]!==d||t[7]!==f?(h=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),t[6]=d,t[7]=f,t[8]=h):h=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ur,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=y):y=t[9];let b;t[10]!==s||t[11]!==i?(b=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,g.jsx)(Bf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=b):b=t[12];let v;t[13]!==l||t[14]!==r||t[15]!==c?(v=(0,g.jsx)(Ti,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=l,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,g.jsx)(Ii,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let x;t[19]!==v||t[20]!==C?(x=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=x):x=t[21];let _;return t[22]!==u||t[23]!==x||t[24]!==h||t[25]!==b?(_=(0,g.jsxs)("div",{className:u,children:[h,b,x]}),t[22]=u,t[23]=x,t[24]=h,t[25]=b,t[26]=_):_=t[26],_},yr="web application/x-marimo-cell",ad=Lr({cells:Cf(Lr({code:di(),name:di().optional(),config:Lr({column:wf([vf(),Ef()]).optional(),disabled:fi().optional(),hide_code:fi().optional()}).optional()})),version:Sf("1.0")});function br(e){return e.map(t=>t.code).join(`
|
|
22
|
+
`).trim()}function ru(e,t,n,r){var o;return r!=="{"||t!==n||!((o=Si(e.state).resolveInner(t,-1))!=null&&o.type.name.includes("String"))?!1:(e.dispatch({changes:{from:t,to:n,insert:"{}"},selection:{anchor:t+1},userEvent:"input.type"}),!0)}function ou(){return G.inputHandler.of(ru)}function fa(e){let{showPlaceholder:t,enableAI:n}=e;return t?"marimo-import":n?"ai":"none"}var ma="cm-tooltip-portal";function au(e){if(e==null)return document.querySelector("#App")??void 0;let t=document.querySelector(e);if(t==null)return;let n=t.querySelector(`:scope > .${ma}`);if(n!=null)return n;let r=document.createElement("div");return r.className=`${ma} not-prose contents`,t.append(r),r}const iu=e=>{let{cellId:t,keymapConfig:n,hotkeys:r,enableAI:o,cellActions:a,completionConfig:i,lspConfig:s,diagnosticsConfig:c,displayConfig:l,inlineAiTooltip:u}=e,d=fa(e);return[If(n,r),Zc(),eu(),_s(),ef({cellId:t,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),df({cellId:t,hotkeys:r,cellActions:a,keymapConfig:n}),lu(e),Qc(),c!=null&&c.enabled?Im():[],o&&u?[Es({prompt:m=>Ls({prompt:m.prompt,selection:m.selection,codeBefore:m.codeBefore,codeAfter:m.codeAfter,language:Kd(m.editorView)})}),zt.of({hideOnBlur:!0})]:[],Pd(t,l.reference_highlighting??!0)]};var su=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()===""?!1:Om(e)};const lu=e=>{let{theme:t,hotkeys:n,completionConfig:r,acceptCompletionOnEnter:o,cellId:a,lspConfig:i,diagnosticsConfig:s,tooltipParentSelector:c}=e,l=fa(e),u=r.auto_close_pairs!==!1;return[G.lineWrapping,mm(),fm(),bm(),lm(),tm(),nm(),em(),om({position:"fixed",parent:au(c)}),Hd(),t==="dark"?$f:Vf,gf(i),Fc(r),ym(),ou(),u?_m():[],Ds(o),u?ct.high(We.of(Am)):[],hm(),sm(),im.of(" "),cm(dm,{fallback:!0}),We.of(rm),Zd({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...i,diagnostics:s}}),bf.of(Cm()),jr.allowMultipleSelections.of(!0),Hc(n),We.of([{key:"Tab",run:d=>xi(d)||su(d)||vm(d),preventDefault:!0},{key:n.getHotkey("completion.moveDown").key,run:d=>Gt(d.state)===null?!1:(Fn(!0)(d),!0),preventDefault:!0},{key:n.getHotkey("completion.moveUp").key,run:d=>Gt(d.state)===null?!1:(Fn(!1)(d),!0),preventDefault:!0}]),We.of([...Tm,Sm])]};var et=(e=>!e||e instanceof WebAssembly.Module?e:typeof e=="object"&&"default"in e?e.default??e:e)(kp),cr=e=>{Np(e),typeof Wi=="function"&&Wi(),cu(St)};function cu(e){typeof e.__wbindgen_start=="function"&&e.__wbindgen_start()}if(et&&et.__wbindgen_start)cr(et);else if("Bun"in globalThis){let e;if(et instanceof WebAssembly.Module)({instance:e}=await WebAssembly.instantiate(et,{"./loro_wasm_bg.js":St}));else{let t=Bun.pathToFileURL(et);({instance:e}=await WebAssembly.instantiateStreaming(fetch(t),{"./loro_wasm_bg.js":St}))}cr(e.exports)}else{let e=et instanceof WebAssembly.Module?et:await op(()=>import("./loro_wasm_bg-Duqr-kJ2.js").then(async r=>(await r.__tla,r)),__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":St});else if(t instanceof ArrayBuffer||ArrayBuffer.isView(t)){let{instance:r}=await WebAssembly.instantiate(t,{"./loro_wasm_bg.js":St});n=r}else if(typeof t=="string"||t instanceof URL){let r=await fetch(t),{instance:o}=await WebAssembly.instantiateStreaming(r,{"./loro_wasm_bg.js":St});n=o}else throw console.error("Unsupported wasm import type:",t),Error("Unsupported wasm import type: "+typeof t);cr(n.exports??n)}var uu=["Map","Text","List","Tree","MovableList","Counter"];function du(e){return e.startsWith("cid:")}function pa(e){if(typeof e!="object"||!e)return!1;let t=Object.getPrototypeOf(e);return typeof t!="object"||!t||typeof t.kind!="function"?!1:uu.includes(e.kind())}var fu=class{constructor(e,t=3e4){this.listeners=new Set,this.inner=new Tp(e,t),this.peer=e,this.timeout=t}apply(e,t="remote"){let{updated:n,added:r}=this.inner.apply(e);this.listeners.forEach(o=>{o({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(n=>{n({updated:[],added:[this.inner.peer()],removed:[]},"local")}):this.listeners.forEach(n=>{n({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))}};Jr.prototype.toJsonWithReplacer=function(e){let t=new Set,n=this,r=(a,i)=>{if(typeof i=="string"&&du(i)&&!t.has(i)){t.add(i);let c=n.getContainerById(i);if(c==null)throw Error(`ContainerID not found: ${i}`);let l=e(a,c);if(l===c){let u=c.getShallowValue();return typeof u=="object"?o(u):u}if(pa(l))throw Error("Using new container is not allowed in toJsonWithReplacer");return typeof l=="object"&&l?o(l):l}if(typeof i=="object"&&i)return o(i);let s=e(a,i);if(pa(s))throw Error("Using new container is not allowed in toJsonWithReplacer");return s},o=a=>{if(Array.isArray(a))return a.map((s,c)=>r(c,s)).filter(s=>s!==void 0);let i={};for(let[s,c]of Object.entries(a)){let l=r(s,c);l!==void 0&&(i[s]=l)}return i};return o(n.getShallowValue())};var ha=Symbol("loro.callPendingEventsWrapped");function mu(e,t){let n=Object.getOwnPropertyDescriptor(e,t);if(!n||typeof n.value!="function")return;let r=n.value;if(r[ha])return;let o=function(...a){let i;try{return i=r.apply(this,a),i}finally{i&&typeof i.then=="function"?i.finally(()=>{$i()}):$i()}};o[ha]=!0,Object.defineProperty(e,t,{...n,value:o})}function ur(e,t){for(let n of t)mu(e,n)}ur(Jr.prototype,["setDetachedEditing","attach","detach","fork","forkAt","checkoutToLatest","checkout","commit","getCursorPos","revertTo","export","exportJsonUpdates","exportJsonInIdSpan","importJsonUpdates","import","importUpdateBatch","importBatch","travelChangeAncestors","getChangedContainersIn","diff","applyDiff","setPeerId"]),ur(xp.prototype,["set","delete","apply","removeOutdated"]),ur(Ip.prototype,["undo","redo"]);const pu=G.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"}});Pr.define();const Ut=pe.define(),dr=ze.define({create(){return{remoteCursors:new Map,isCheckout:!1}},update(e,t){for(let n of t.effects)if(n.is(Ut))switch(n.value.type){case"update":{let{peer:r,user:o,cursor:a}=n.value;e.remoteCursors.set(r,{uid:r,cursor:a,user:o});break}case"delete":e.remoteCursors.delete(n.value.peer);break;case"checkout":e.isCheckout=n.value.checkout}return e}});var ga=e=>{let t=e.transactions.flatMap(n=>n.effects).filter(n=>n.is(Ut));return e.docChanged||e.viewportChanged||t.length>0};const hu=()=>Ei({above:!0,class:"loro-cursor-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(dr);return n?[]:[...t.values()].flatMap(r=>{var a,i;let o=wt.cursor(r.cursor.anchor);return yu.createCursor(e,o,((a=r.user)==null?void 0:a.name)||"unknown",((i=r.user)==null?void 0:i.colorClassName)||"")})}}),gu=()=>Ei({above:!1,class:"loro-selection-layer",update:ga,markers:e=>{let{remoteCursors:t,isCheckout:n}=e.state.field(dr);return n?[]:[...t.entries()].filter(([,r])=>r.cursor.head!==void 0&&r.cursor.anchor!==r.cursor.head).flatMap(([,r])=>{var a;let o=wt.range(r.cursor.anchor,r.cursor.head);return pm.forRange(e,`loro-selection ${((a=r.user)==null?void 0:a.colorClassName)||""}`,o)})}});var yu=class Hr{constructor(t,n,r,o,a){this.left=t,this.top=n,this.height=r,this.name=o,this.colorClassName=a}draw(){let t=document.createElement("div");return this.adjust(t),t}update(t){return this.adjust(t),!0}adjust(t){t.style.left=`${this.left}px`,t.style.top=`${this.top}px`,t.style.height=`${this.height}px`,t.className=`loro-cursor ${this.colorClassName}`,t.style.setProperty("--rtc-name",`"${this.name}"`)}eq(t){return this.left===t.left&&this.top===t.top&&this.height===t.height&&this.name===t.name}static createCursor(t,n,r,o){let a=Hr.calculateAbsoluteCursorPosition(n,t);if(!a)return[];let i=t.scrollDOM.getBoundingClientRect(),s=(t.textDirection===gm.LTR?i.left:i.right-t.scrollDOM.clientWidth)-t.scrollDOM.scrollLeft,c=i.top-t.scrollDOM.scrollTop;return[new Hr(a.left-s,a.top-c,a.bottom-a.top,r,o)]}static calculateAbsoluteCursorPosition(t,n){let r=Math.max(0,Math.min(n.state.doc.length,t.anchor));return n.coordsAtPos(r,t.assoc||1)}},bu=(e,t,n,r)=>{let o=[],{updated:a,added:i}=n;for(let s of[...a,...i]){let c=ya(e,t,s,r);c&&o.push(c)}return o},ya=(e,t,n,r)=>{var c,l;let o=t.getAllStates()[n];if(!o||n===e.peerIdStr||o.scopeId!==r)return;if(o.type==="delete")return Ut.of({type:"delete",peer:o.uid,scopeId:o.scopeId});let a=qi.decode(o.cursor.anchor),i=((c=e.getCursorPos(a))==null?void 0:c.offset)??0,s=i;if(o.cursor.head){let u=qi.decode(o.cursor.head);s=((l=e.getCursorPos(u))==null?void 0:l.offset)??0}return Ut.of({type:"update",peer:o.uid,scopeId:o.scopeId,cursor:{anchor:i,head:s},user:o.user})},wu=class{constructor(e,t,n,r,o,a,i){this.view=e,this.doc=t,this.user=n,this.awareness=r,this.getTextFromDoc=o,this.scopeId=a,this.getUserId=i,this.sub=this.doc.subscribe(s=>{if(s.by==="local"){let c=[];for(let l of this.awareness.peers()){let u=ya(this.doc,this.awareness,l,this.scopeId);u&&c.push(u)}this.view.dispatch({effects:c})}else s.by==="checkout"&&this.view.dispatch({effects:[Ut.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 n=Eu({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:n,user:this.user})}else this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}destroy(){var e;(e=this.sub)==null||e.call(this),this.awareness.setLocalState({type:"delete",uid:this.getUserId?this.getUserId():this.doc.peerIdStr,scopeId:this.scopeId})}},vu=class{constructor(e,t,n,r){this.view=e,this.doc=t,this.awareness=n,this.scopeId=r;let o=async(a,i)=>{i!=="local"&&this.view.dispatch({effects:bu(this.doc,this.awareness,a,this.scopeId)})};this._awarenessListener=o,this.awareness.addListener(o)}destroy(){this._awarenessListener&&this.awareness.removeListener(this._awarenessListener)}},Eu=({doc:e,getTextFromDoc:t,anchor:n,head:r})=>{var i,s;n===r&&(r=void 0);let o=(i=t(e).getCursor(n))==null?void 0:i.encode();if(!o)throw Error("cursor head not found");let a;return r!==void 0&&(a=(s=t(e).getCursor(r))==null?void 0:s.encode()),{anchor:o,head:a}};const yn=["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)"],Su=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 yn[Math.abs(t)%yn.length]}return yn[e%yn.length]};var me=$e.get("rtc"),ba=me.get("awareness").disabled(),fr="awareness:";function Cu(e,t){let n=new TextEncoder().encode(e);return new Uint8Array([...n,...t])}function xu(e,t){return new TextDecoder().decode(e.slice(0,t.length))===t}function Iu(e,t){return e.slice(t.length)}ut=Pt(void 0);var te=new Jr,bn=new fu(te.peerIdStr),mr=Nm(()=>{me.debug("creating websocket");let e=new Lp(vi().getWsSyncURL(ip()).toString(),void 0,{maxRetries:10,debug:!1,startClosed:!0,connectionTimeout:1e4});return Promise.resolve().then(async()=>{await wi(),Pf()==="edit"&&e.reconnect()}),e.addEventListener("message",async t=>{let n=await t.data.arrayBuffer(),r=new Uint8Array(n);if(xu(r,fr)){let o=Iu(r,fr);bn.apply(o),ba.debug("applied awareness update");return}te.import(r),me.debug("imported doc change. new doc:",te.toJSON()),Y.get(ut)!==te&&Y.set(ut,te)}),e.addEventListener("open",()=>{me.debug("websocket open")}),e.addEventListener("close",t=>{me.warn("websocket close",t),Y.get(ut)===te&&Y.set(ut,void 0)}),e});On()&&mr(),te.subscribeLocalUpdates(e=>{me.debug("local update, sending to server"),mr().send(e)}),bn.addListener((e,t)=>{let n=[...e.added,...e.removed,...e.updated];t==="local"&&(ba.debug("awareness changes",n),mr().send(Cu(fr,bn.encode(n))))});function pr(e,t,n=""){if(jf())return{extension:[],code:n};let r=te.getByPath(`codes/${e}`)!==void 0,o=te.getMap("codes").getOrCreateContainer(e,new Gr);return r||(me.log("initializing code for new cell",n),o.insert(0,n)),{code:n.toString(),extension:[ku(e),Tu(e),Nu(te,bn,{get name(){return Y.get(pf)||"Anonymous"},get colorClassName(){return Su(this.name)}},()=>o,e),Xd(te,["codes",e],()=>o)]}}function ku(e){let t=(r,o)=>{let a=r.state.field(_n).type,i=o.toString();i&&i!==a&&(me.debug(`[incoming] setting language type: ${a} -> ${i}`),jt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(xr),i=o.toJSON();kn(a,i)||r.dispatch({effects:[ii.of(i)],annotations:[ei.of(!0)]})};return Xe.define(r=>{let o;return Promise.resolve().then(()=>{let a=te.getByPath(`languages/${e}`);if(!a){me.error("no language container found for cell",e);return}Ft(a instanceof Gr,"language type is not a LoroText");let i=te.getByPath(`language_metadata/${e}`);if(!i){me.error("no language metadata container found for cell",e);return}Ft(i instanceof Hi,"language metadata is not a LoroMap"),t(r,a),n(r,i),o=te.subscribe(s=>{if(s.origin==="local")return;let c=s.events.some(u=>u.target===a.id),l=s.events.some(u=>u.target===i.id);c&&t(r,a),l&&n(r,i)})}),{destroy(){o()}}})}function Tu(e){let t=te.getMap("languages").getOrCreateContainer(e,new Gr),n=te.getMap("language_metadata").getOrCreateContainer(e,new Hi);return G.updateListener.of(r=>{let o=t.toString()!=="";if(!r.docChanged&&o)return;if(!o){let i=Ar(r.state).type;jt(r.view,{language:i}),me.debug("no initial language, setting default to",i),t.delete(0,t.length),t.insert(0,i),me.debug("no initial language metadata, setting default to",r.state.field(xr));let s=r.state.field(xr);for(let c of Object.keys(s))n.set(c,s[c]);te.commit();return}let a=!1;for(let i of r.transactions)if(!i.annotation(ei)){for(let s of i.effects)if(s.is(yf)&&t.toString()!==s.value.type&&(me.debug(`[outgoing] language change: ${t} -> ${s.value.type}`),t.delete(0,t.length),t.insert(0,s.value.type),a=!0),s.is(ii)||s.is(si)){let c=s.value;s.is(si)?(me.debug("[outgoing] setting language metadata: ",c),n.clear()):me.debug("[outgoing] updating language metadata: ",c);for(let l of Object.keys(c))n.set(l,c[l]);a=!0}}a&&te.commit()})}function Nu(e,t,n,r,o,a){let i=`loro:cell:${o}`;return[dr,hu(),gu(),Xe.define(s=>new wu(s,e,n,t,r,i,a)),Xe.define(s=>new vu(s,e,t,i)),pu]}var Au=Je(),Lu=Hf;$r=e=>{let t=(0,Au.c)(41),{resetOnBlur:n,placeholderText:r,initialValue:o,flexibleWidth:a,onNameChange:i,className:s}=e,c=n===void 0?!1:n,l=o===void 0?null:o,u=a===void 0?!1:a,{sendListFiles:d}=Mn(),[m,f]=(0,T.useState)(l),h;t[0]===Symbol.for("react.memo_cache_sentinel")?(h=[],t[0]=h):h=t[0];let[y,b]=(0,T.useState)(h),[v,C]=(0,T.useState)(!1),x=(0,T.useRef)(null),_=(0,T.useRef)(!1),P,A;t[1]===l?(P=t[2],A=t[3]):(P=()=>{f(l)},A=[l],t[1]=l,t[2]=P,t[3]=A),(0,T.useEffect)(P,A);let k;t[4]===Symbol.for("react.memo_cache_sentinel")?(k=()=>{C(!0)},t[4]=k):k=t[4];let B=k,F;t[5]!==l||t[6]!==c?(F=H=>{var gt;(gt=H.relatedTarget)!=null&>.closest(".filename-input")||(C(!1),c&&f(l))},t[5]=l,t[6]=c,t[7]=F):F=t[7];let ne=F,O;t[8]===m?O=t[9]:(O=Qe.dirname(m||""),t[8]=m,t[9]=O);let N=O,se=Qe.basename(m||""),le=y.filter(H=>Qe.basename(H.path).startsWith(se)),re;t[10]!==N||t[11]!==v||t[12]!==d?(re=async()=>{if(!v){b([]);return}b((await d({path:N})).files)},t[10]=N,t[11]=v,t[12]=d,t[13]=re):re=t[13];let ee;t[14]!==N||t[15]!==v?(ee=[N,v],t[14]=N,t[15]=v,t[16]=ee):ee=t[16];let{isPending:U}=yp(re,ee),D=Ou(m,y,l),be=(D||le.length>0)&&(0,g.jsxs)(Gi,{className:"font-mono",children:[!U&&(0,g.jsx)(wp,{children:"No files"}),D&&(0,g.jsxs)(Bi,{variant:"success",className:"py-2 px-3",onSelect:()=>{var H;D&&(_.current=!0,i(D),(H=x.current)==null||H.blur())},children:[(0,g.jsx)(Z,{className:"w-4 h-4 mr-2"})," ",(0,g.jsxs)("span",{className:"text-sm",children:[l?"Rename to: ":"Save as: ",(0,g.jsx)("span",{className:"font-medium text-sm",children:Qe.basename(D)})]})]},"_rename_"),le.map(H=>{let gt=ep[H.isDirectory?"directory":Zm(H.path)];return(0,g.jsxs)(Bi,{variant:H.isDirectory?"default":"muted",className:"py-2 px-3",onSelect:()=>{H.isDirectory?f(`${H.path}/`):f(H.path)},children:[(0,g.jsx)(gt,{className:"w-4 h-4 mr-2"})," ",Qe.basename(H.path)]},H.path)})]}),ce=Math.max(20,(m==null?void 0:m.length)||(r==null?void 0:r.length)||0)*10,S=v?m||"":l||"",I;t[17]!==u||t[18]!==ce?(I=u?{maxWidth:ce}:void 0,t[17]=u,t[18]=ce,t[19]=I):I=t[19];let j;t[20]===s?j=t[21]:(j=nt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=j);let L;t[22]!==r||t[23]!==S||t[24]!==I||t[25]!==j?(L=(0,g.jsx)(Lu,{children:(0,g.jsx)(bp,{"data-testid":"dir-completion-input",tabIndex:-1,rootClassName:"border-none justify-center px-1",spellCheck:"false",value:S,onKeyDown:_u,icon:null,ref:x,onValueChange:f,placeholder:r,autoComplete:"off",style:I,className:j})}),t[22]=r,t[23]=S,t[24]=I,t[25]=j,t[26]=L):L=t[26];let ue=be&&"group-focus-within:block",Be;t[27]===ue?Be=t[28]:(Be=nt("p-0 w-full min-w-80 max-w-80vw hidden",ue),t[27]=ue,t[28]=Be);let Ve;t[29]!==be||t[30]!==Be?(Ve=(0,g.jsx)(zf,{side:"bottom",className:Be,portal:!1,children:be}),t[29]=be,t[30]=Be,t[31]=Ve):Ve=t[31];let Ge;t[32]!==L||t[33]!==Ve?(Ge=(0,g.jsxs)(Gi,{children:[L,Ve]}),t[32]=L,t[33]=Ve,t[34]=Ge):Ge=t[34];let M;t[35]!==ne||t[36]!==Ge?(M=(0,g.jsx)(vp,{onFocus:B,onBlur:ne,shouldFilter:!1,id:"filename-input",className:"bg-transparent group filename-input",children:Ge}),t[35]=ne,t[36]=Ge,t[37]=M):M=t[37];let oe;return t[38]!==v||t[39]!==M?(oe=(0,g.jsx)(Wf,{children:(0,g.jsx)(Kf,{open:v,modal:!1,children:M})}),t[38]=v,t[39]=M,t[40]=oe):oe=t[40],oe};function Ou(e,t,n){if(e&&!e.endsWith("/")&&((Bd("markdown")?new Set(["py","md","markdown","qmd"]):new Set(["py"])).has(Qe.extension(e))||(e=e.endsWith(".")?`${e}py`:e.endsWith(".p")?`${e}y`:`${e}.py`),!t.some(r=>r.path===e||Qe.basename(r.path)===e)&&!(n&&(n===e||Qe.basename(n)===e))))return e}function _u(e){e.key==="Escape"&&e.currentTarget.blur()}var wa=Je(),Uu=e=>{let t=(0,wa.c)(33),n=()=>{Zf(new Blob([r()],{type:"text/plain"}),`${e.proposedName}.json`)},r=ae(ju),o;t[0]!==n||t[1]!==e?(o=P=>{P.preventDefault(),n(),e.closeModal()},t[0]=n,t[1]=e,t[2]=o):o=t[2];let a;t[3]===e?a=t[4]:(a=P=>{P.key==="Escape"&&e.closeModal()},t[3]=e,t[4]=a);let i;t[5]===Symbol.for("react.memo_cache_sentinel")?(i=(0,g.jsx)(Ui,{className:"text-accent-foreground mb-6",children:"Download unsaved changes?"}),t[5]=i):i=t[5];let s;t[6]===Symbol.for("react.memo_cache_sentinel")?(s={wordBreak:"break-word"},t[6]=s):s=t[6];let c,l;t[7]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("p",{children:"This app has unsaved changes. To recover:"}),l={paddingBottom:"10px"},t[7]=c,t[8]=l):(c=t[7],l=t[8]);let u;t[9]===e.proposedName?u=t[10]:(u=(0,g.jsxs)("li",{style:l,children:['Click the "Download" button. This will download a file called\xA0',(0,g.jsxs)("code",{children:[e.proposedName,".json"]}),". This file contains your code."]}),t[9]=e.proposedName,t[10]=u);let d;t[11]===Symbol.for("react.memo_cache_sentinel")?(d={paddingBottom:"10px"},t[11]=d):d=t[11];let m;t[12]===Symbol.for("react.memo_cache_sentinel")?(m={display:"block",padding:"10px"},t[12]=m):m=t[12];let f;t[13]===e.proposedName?f=t[14]:(f=(0,g.jsxs)("code",{style:m,children:["marimo recover ",e.proposedName,".json ",">"," ",e.proposedName,".py"]}),t[13]=e.proposedName,t[14]=f);let h;t[15]===e.proposedName?h=t[16]:(h=(0,g.jsxs)("code",{children:[e.proposedName,".py"]}),t[15]=e.proposedName,t[16]=h);let y;t[17]!==h||t[18]!==f?(y=(0,g.jsxs)("li",{style:d,children:["In your terminal, type",f,"to overwrite ",h," with the recovered changes."]}),t[17]=h,t[18]=f,t[19]=y):y=t[19];let b;t[20]!==y||t[21]!==u?(b=(0,g.jsx)(up,{className:"markdown wrap-break-word",style:s,children:(0,g.jsxs)("div",{className:"prose dark:prose-invert",children:[c,(0,g.jsxs)("ol",{children:[u,y]})]})}),t[20]=y,t[21]=u,t[22]=b):b=t[22];let v;t[23]===e.closeModal?v=t[24]:(v=(0,g.jsx)(lt,{"aria-label":"Cancel",variant:"secondary","data-testid":"cancel-recovery-button",onClick:e.closeModal,children:"Cancel"}),t[23]=e.closeModal,t[24]=v);let C;t[25]===Symbol.for("react.memo_cache_sentinel")?(C=(0,g.jsx)(lt,{"data-testid":"download-recovery-button","aria-label":"Download",variant:"default",type:"submit",children:"Download"}),t[25]=C):C=t[25];let x;t[26]===v?x=t[27]:(x=(0,g.jsxs)(Di,{children:[v,C]}),t[26]=v,t[27]=x);let _;return t[28]!==o||t[29]!==a||t[30]!==b||t[31]!==x?(_=(0,g.jsx)(Pi,{className:"w-fit",children:(0,g.jsxs)("form",{onSubmit:o,onKeyDown:a,children:[i,b,x]})}),t[28]=o,t[29]=a,t[30]=b,t[31]=x,t[32]=_):_=t[32],_};const Du=e=>{let t=(0,wa.c)(12),{filename:n,needsSave:r}=e,{openModal:o,closeModal:a}=Fi(),i;t[0]===n?i=t[1]:(i=n===null?"app":Qe.basename(n).split(".")[0],t[0]=n,t[1]=i);let s=i,c;t[2]!==a||t[3]!==r||t[4]!==o||t[5]!==s?(c=()=>{r&&o((0,g.jsx)(Uu,{proposedName:s,closeModal:a}))},t[2]=a,t[3]=r,t[4]=o,t[5]=s,t[6]=c):c=t[6];let l=c;ji("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",m;t[8]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)(Li,{strokeWidth:1.5,size:18}),t[8]=m):m=t[8];let f;return t[9]!==l||t[10]!==d?(f=(0,g.jsx)(Un,{content:u,children:(0,g.jsx)(zi,{onClick:l,id:"save-button","aria-label":"Save",className:"rectangle",color:d,children:m})}),t[9]=l,t[10]=d,t[11]=f):f=t[11],f};function Pu(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function ju(){let e=Tr(yt()),t={version:"1",metadata:{marimo_version:Jf()},cells:e.map(Pu)};return JSON.stringify(t,null,2)}let hr;Gn=Pt(void 0),hr=Pt(e=>{let t=e(Gn);return Fu({state:e(tt),layout:e(Ii),lastSavedNotebook:t})});function Fu({state:e,layout:t,lastSavedNotebook:n}){if(!n)return!1;let{cellIds:r,cellData:o}=e,a=r.inOrderIds.map(l=>o[l]),i=a.map(l=>l.code),s=a.map(l=>l.config),c=a.map(l=>l.name);return!Ci(i,n.codes)||!Ci(c,n.names)||!kn(s,n.configs)||!kn(t.selectedLayout,n.layout.selectedLayout)||!kn(t.layoutData,n.layout.layoutData)}var Mu=Je();function Ru(e){let t=(0,Mu.c)(21),{codes:n,cellConfigs:r,config:o,connStatus:a,cellNames:i,needsSave:s,kioskMode:c,onSave:l}=e,u=(0,T.useRef)(null),d;t[0]===n?d=t[1]:(d=n.join(":"),t[0]=n,t[1]=d);let m=d,f;t[2]===r?f=t[3]:(f=r.map(Bu).join(":"),t[2]=r,t[3]=f);let h=f,y;t[4]===i?y=t[5]:(y=i.join(":"),t[4]=i,t[5]=y);let b=y,v;t[6]!==o||t[7]!==a.state||t[8]!==c||t[9]!==s||t[10]!==l?(v=()=>{if(!c)return o.autosave==="after_delay"&&(u.current!==null&&clearTimeout(u.current),s&&a.state===Mt.OPEN&&(u.current=setTimeout(l,o.autosave_delay))),()=>{u.current!==null&&clearTimeout(u.current)}},t[6]=o,t[7]=a.state,t[8]=c,t[9]=s,t[10]=l,t[11]=v):v=t[11];let C;t[12]!==h||t[13]!==b||t[14]!==m||t[15]!==o||t[16]!==a.state||t[17]!==c||t[18]!==s||t[19]!==l?(C=[m,h,b,o,a.state,l,c,s],t[12]=h,t[13]=b,t[14]=m,t[15]=o,t[16]=a.state,t[17]=c,t[18]=s,t[19]=l,t[20]=C):C=t[20],(0,T.useEffect)(v,C)}function Bu(e){return JSON.stringify(e)}var wn=Je();Xi=e=>{let t=(0,wn.c)(15),{kioskMode:n}=e,r=pp(),o=ie(hr),a=ie(bt).state===Mt.CLOSED,{saveOrNameNotebook:i,saveIfNotebookIsPersistent:s}=$t(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],$u(c),Op();let l;t[3]===o?l=t[4]:(l=b=>{if(o)return b.preventDefault(),b.returnValue="You have unsaved changes. Are you sure you want to leave?",b.returnValue},t[3]=o,t[4]=l),Uf(window,"beforeunload",l);let u;t[5]===i?u=t[6]:(u=b=>{b.preventDefault(),b.stopPropagation(),i()},t[5]=i,t[6]=u);let d=u;if(ji("global.save",i),a){let b;return t[7]!==r||t[8]!==o?(b=(0,g.jsx)(Du,{filename:r,needsSave:o}),t[7]=r,t[8]=o,t[9]=b):b=t[9],b}let m;t[10]===Symbol.for("react.memo_cache_sentinel")?(m=Ji("global.save"),t[10]=m):m=t[10];let f=o?"yellow":"hint-green",h;t[11]===Symbol.for("react.memo_cache_sentinel")?(h=(0,g.jsx)(Li,{strokeWidth:1.5,size:18}),t[11]=h):h=t[11];let y;return t[12]!==d||t[13]!==f?(y=(0,g.jsx)(Un,{content:m,children:(0,g.jsx)(zi,{"data-testid":"save-button",id:"save-button",shape:"rectangle",color:f,onClick:d,children:h})}),t[12]=d,t[13]=f,t[14]=y):y=t[14],y},$t=function(){let e=(0,wn.c)(21),{sendSave:t}=Mn(),{openModal:n,closeModal:r,openAlert:o}=Fi(),a=Xa(Gn),i=hp(),s=Cr(),c;e[0]!==o||e[1]!==t||e[2]!==a||e[3]!==s?(c=async(v,C)=>{let x=s.get(bt),_=s.get(yi);if(s.get(Ff))return;if(x.state!==Mt.OPEN){o("Failed to save notebook: not connected to a kernel.");return}$e.log("saving to ",v),C&&_.format_on_save&&($e.log("formatting notebook (onSave)"),await uf());let P=yt(),A=Tr(P),k=A.map(Vu),B=A.map(Ju),F=A.map(Gu),ne=di(P),O=s.get(Ii);B.length!==0&&(await t({cellIds:k,codes:B,names:F,filename:v,configs:ne,layout:Mm(),persist:!0}),a({names:F,codes:B,configs:ne,layout:O}))},e[0]=o,e[1]=t,e[2]=a,e[3]=s,e[4]=c):c=e[4];let l=ae(c),u;e[5]!==l||e[6]!==s?(u=v=>{let C=v===void 0?!1:v,x=s.get(Za),_=s.get(bt);va(x)&&_.state===Mt.OPEN&&l(x,C)},e[5]=l,e[6]=s,e[7]=u):u=e[7];let d=ae(u),m;e[8]!==l||e[9]!==i?(m=v=>{i(v).then(C=>{C!==null&&l(C,!0)})},e[8]=l,e[9]=i,e[10]=m):m=e[10];let f=m,h;e[11]!==r||e[12]!==f||e[13]!==n||e[14]!==d||e[15]!==s?(h=()=>{let v=s.get(Za),C=s.get(bt);d(!0),!va(v)&&C.state!==Mt.CLOSED&&n((0,g.jsx)(Hu,{onClose:r,onSave:f}))},e[11]=r,e[12]=f,e[13]=n,e[14]=d,e[15]=s,e[16]=h):h=e[16];let y=ae(h),b;return e[17]!==d||e[18]!==l||e[19]!==y?(b={saveOrNameNotebook:y,saveIfNotebookIsPersistent:d,saveNotebook:l},e[17]=d,e[18]=l,e[19]=y,e[20]=b):b=e[20],b};function Gu(e){return e.name}function Ju(e){return e.code}function Vu(e){return e.id}function va(e){return e!==null&&!e.startsWith("/tmp/")&&!e.startsWith("/var/folders")&&!e.includes("AppData\\Local\\Temp")}function $u(e){let t=(0,wn.c)(14),n=ie(yi),r=Fd(),[o]=In(bt),a=ie(hr),i,s;if(t[0]!==r){let m=Tr(r);i=m.map(qu),s=m.map(Wu),t[0]=r,t[1]=i,t[2]=s}else i=t[1],s=t[2];let c=s,l;t[3]===r?l=t[4]:(l=di(r),t[3]=r,t[4]=l);let u=l,d;t[5]!==n||t[6]!==c||t[7]!==i||t[8]!==u||t[9]!==o||t[10]!==a||t[11]!==e.kioskMode||t[12]!==e.onSave?(d={onSave:e.onSave,needsSave:a,codes:i,cellConfigs:u,cellNames:c,connStatus:o,config:n,kioskMode:e.kioskMode},t[5]=n,t[6]=c,t[7]=i,t[8]=u,t[9]=o,t[10]=a,t[11]=e.kioskMode,t[12]=e.onSave,t[13]=d):d=t[13],Ru(d)}function Wu(e){return e.name}function qu(e){return e.code}var Hu=e=>{let t=(0,wn.c)(17),{onClose:n,onSave:r}=e,[o,a]=(0,T.useState)(),i;t[0]!==n||t[1]!==r?(i=b=>{a(b),b.trim()&&(r(b),n())},t[0]=n,t[1]=r,t[2]=i):i=t[2];let s=i,c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)(Ui,{children:"Save notebook"}),t[3]=c):c=t[3];let l;t[4]===Symbol.for("react.memo_cache_sentinel")?(l=(0,g.jsx)(Ur,{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,g.jsxs)("div",{className:"flex flex-col",children:[l,(0,g.jsx)($r,{onNameChange:s,placeholderText:"filename",className:"missing-filename"})]}),t[5]=s,t[6]=u);let d;t[7]===n?d=t[8]:(d=(0,g.jsx)(lt,{"data-testid":"cancel-save-dialog-button","aria-label":"Cancel",variant:"secondary",onClick:n,children:"Cancel"}),t[7]=n,t[8]=d);let m=!o,f;t[9]===m?f=t[10]:(f=(0,g.jsx)(lt,{"data-testid":"submit-save-dialog-button","aria-label":"Save",variant:"default",disabled:m,type:"submit",children:"Save"}),t[9]=m,t[10]=f);let h;t[11]!==d||t[12]!==f?(h=(0,g.jsxs)(Di,{children:[d,f]}),t[11]=d,t[12]=f,t[13]=h):h=t[13];let y;return t[14]!==u||t[15]!==h?(y=(0,g.jsxs)(Pi,{children:[c,u,h]}),t[14]=u,t[15]=h,t[16]=y):y=t[16],y};Bn=function(...e){return t=>{e.forEach(n=>{typeof n=="function"?n(t):n!=null&&(n.current=t)})}};var Ea={modified:{doc:""},original:{doc:""}},Sa=(0,T.createContext)(Ea);function zu(e,t){return z({},e,t,{modified:z({},e.modified,t.modified),original:z({},e.original,t.original)})}var gr=()=>(0,T.useContext)(Sa),Ku=e=>{var{children:t,theme:n}=e,[r,o]=(0,T.useReducer)(zu,z({},Ea,{theme:n}));return(0,T.useEffect)(()=>o({theme:n}),[n]),(0,g.jsx)(Sa.Provider,{value:z({},r,{dispatch:o}),children:t})},Yu=["extensions","value","selection","onChange"],Ca=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Yu),{theme:i,dispatch:s}=gr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>s({original:{doc:n,selection:r,extensions:[...c,...t]},originalExtension:{onChange:o,option:a,extension:[t]}}),[e]),null};Ca.displayName="CodeMirrorMerge.Original";var Xu=["extensions","value","selection","onChange"],xa=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Xu),{theme:i,dispatch:s}=gr(),c=Et(z({},a,{theme:i}));return(0,T.useEffect)(()=>{s({modified:{doc:n,selection:r,extensions:[...c,...t]},modifiedExtension:{onChange:o,option:a,extension:[t]}})},[e]),null};xa.displayName="CodeMirrorMerge.Modified";var Qu=["className","children","orientation","revertControls","highlightChanges","gutter","collapseUnchanged","destroyRerender","renderRevertControl","diffConfig","root"],Zu=["modified","modifiedExtension","original","originalExtension","theme","dispatch"],Ia=T.forwardRef((e,t)=>{var{className:n,children:r,orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,destroyRerender:l=!0,renderRevertControl:u,diffConfig:d,root:m}=e,f=Jt(e,Qu),h=gr(),{modified:y,modifiedExtension:b,original:v,originalExtension:C,theme:x,dispatch:_}=h,P=Jt(h,Zu),A=(0,T.useRef)(null),k=(0,T.useRef)(),B={orientation:o,revertControls:a,highlightChanges:i,gutter:s,collapseUnchanged:c,renderRevertControl:u,diffConfig:d,root:m};(0,T.useImperativeHandle)(t,()=>({container:A.current,view:k.current,modified:y,original:v,config:z({a:v,b:y,parent:A.current},B)}),[A,k,y,v,B]);var F=G.updateListener.of(O=>{if(O.docChanged&&typeof(C==null?void 0:C.onChange)=="function"){var N=O.state.doc.toString();C==null||C.onChange(N,O)}}),ne=G.updateListener.of(O=>{if(O.docChanged&&typeof(b==null?void 0:b.onChange)=="function"){var N=O.state.doc.toString();b==null||b.onChange(N,O)}});return(0,T.useEffect)(()=>{!k.current&&A.current&&C&&b&&(k.current=new Vi(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x})),F]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x})),ne]}),parent:A.current},B)),_({view:k.current}))},[k,A,C,b]),(0,T.useEffect)(()=>{var U,D;if(v&&v.doc&&k.current){var O=(U=k.current)==null?void 0:U.a.state.doc.toString();if(O!==v.doc){var N;(N=k.current)==null||N.a.dispatch({changes:{from:0,to:O.length,insert:v.doc||""}})}}if(y&&y.doc&&k.current){var se=(D=k.current)==null?void 0:D.b.state.doc.toString();if(se!==y.doc){var le;(le=k.current)==null||le.b.dispatch({changes:{from:0,to:se.length,insert:y.doc||""}})}}if(l&&k.current){var re=k.current.a.state.selection.ranges[0].from,ee=k.current.b.state.selection.ranges[0].from;k.current.destroy(),k.current=new Vi(z({a:z({},v,{extensions:[...(C==null?void 0:C.extension)||[],...Et(z({},C==null?void 0:C.option,{theme:x}))]}),b:z({},y,{extensions:[...(b==null?void 0:b.extension)||[],...Et(z({},b==null?void 0:b.option,{theme:x}))]}),parent:A.current},B)),re&&(k.current.a.focus(),k.current.a.dispatch({selection:{anchor:re,head:re}})),ee&&(k.current.b.focus(),k.current.b.dispatch({selection:{anchor:ee,head:ee}}))}},[k,x,A.current,v,y,C,b,l]),(0,T.useEffect)(()=>()=>k.current&&k.current.destroy(),[]),(0,T.useEffect)(()=>{if(k.current){var O={};P.orientation!==o&&(O.orientation=o),P.revertControls!==a&&(O.revertControls=a),P.highlightChanges!==i&&(O.highlightChanges=i),P.gutter!==s&&(O.gutter=s),P.collapseUnchanged!==c&&(O.collapseUnchanged=c),P.renderRevertControl!==u&&(O.collapseUnchanged=c),Object.keys(O).length&&_&&k.current&&(k.current.reconfigure(z({},O)),_(z({},O)))}},[_,k,o,a,i,s,c,u]),(0,g.jsx)("div",z({ref:A,className:"cm-merge-theme"+(n?" "+n:"")},f,{children:r}))});Ia.displayName="CodeMirrorMerge.Internal";var ed=["theme"],vn=T.forwardRef((e,t)=>{var{theme:n}=e;return(0,g.jsx)(Ku,{theme:n,children:(0,g.jsx)(Ia,z({},Jt(e,ed),{ref:t}))})});vn.Original=Ca,vn.Modified=xa,vn.displayName="CodeMirrorMerge";var yr=vn,td=Je(),nd=yr.Original,rd=yr.Modified,ka=[zd(),G.lineWrapping];const od=({cellId:e,aiCompletionCell:t,className:n,onChange:r,currentLanguageAdapter:o,currentCode:a,declineChange:i,acceptChange:s,runCell:c,outputArea:l,children:u})=>{let[d,m]=(0,T.useState)(!1),[f,h]=(0,T.useState)({}),[y,b]=In(mp),v=(0,T.useId)(),C=Rf(),{initialPrompt:x,triggerImmediately:_,cellId:P}=t??{},A=P===e,k=ie(Qm).get(e),B;(k==null?void 0:k.type)==="update_cell"&&(B=k.previousCode);let{completion:F,input:ne,stop:O,isLoading:N,setCompletion:se,setInput:le,handleSubmit:re,complete:ee}=Vm({api:C.getAiURL("completion").toString(),headers:C.headers(),initialInput:x,experimental_throttle:100,body:{...Object.keys(f).length>0?f:x?Ti({input:x}):{},includeOtherCode:y?Ir(a):"",code:a,language:o},onError:M=>{vt({title:"Completion failed",description:dp(M)})},onFinish:(M,oe)=>{se(Hn(oe).trimEnd())}}),U=T.useRef(null),D=Hn(F,{streaming:N}).trimEnd(),be=(0,T.useCallback)(()=>{_&&!N&&x&&ee(x)},[_]);(0,T.useEffect)(()=>{var M;A&&(Md(()=>{let oe=U.current;return oe!=null&&oe.view?(oe.view.focus(),be(),!0):!1},{retries:3,delay:100,initialDelay:100}),tf((M=U.current)==null?void 0:M.view))},[A,be]),(0,T.useEffect)(()=>{A&&le(x||"")},[A,x,le]);let{theme:ce}=sp(),S=()=>{s(D),se("")},I=()=>{var M,oe;O(),se(""),m(!0),(oe=(M=U.current)==null?void 0:M.view)==null||oe.focus()},j=A&&_&&(D||N);l??(l="below");let L=A&&(!_||d),ue=(0,g.jsx)("div",{className:nt("w-full bg-(--cm-background) flex justify-center transition-all duration-300 ease-in-out overflow-hidden",j?"max-h-20 opacity-100 translate-y-0":"max-h-0 opacity-0 -translate-y-2"),children:(0,g.jsx)(ad,{status:N?"loading":"generated",onAccept:S,onReject:I,showInputPrompt:d,setShowInputPrompt:m,runCell:c,className:"mt-4 mb-3 w-lg"})}),Be=(M,oe)=>(0,g.jsxs)(yr,{className:"cm",theme:ce,children:[(0,g.jsx)(nd,{onChange:r,value:M,extensions:ka}),(0,g.jsx)(rd,{value:oe,editable:!1,readOnly:!0,extensions:ka})]}),Ve=()=>{if(D&&A)return Be(a,D);if(!D&&B)return Be(B,a)},Ge=(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(Ni,{isLoading:N,onAccept:S,size:"xs",multipleCompletions:!1,acceptShortcut:"Mod-\u21B5",runCell:c,borderless:!0,buttonStyles:"hover:shadow-none",playButtonStyles:"hover:shadow-none"}),(0,g.jsx)(ki,{onDecline:I,size:"xs",multipleCompletions:!1,declineShortcut:"Shift-Mod-Delete",borderless:!0,className:"hover:shadow-none"})]});return(0,g.jsxs)("div",{"data-ai-input-open":L,className:nt("flex flex-col w-full rounded-[inherit]",n),children:[(0,g.jsx)("div",{className:nt("flex items-center gap-2 px-3 transition-all rounded-[inherit] rounded-b-none duration-300",L&&"max-h-[400px] border-b min-h-11 visible",!L&&"max-h-0 min-h-0 invisible"),children:A&&(0,g.jsxs)(g.Fragment,{children:[(0,g.jsx)(rp,{className:"text-(--blue-10) shrink-0",size:16}),(0,g.jsx)(Km,{inputRef:U,className:"h-full my-0 py-2 flex items-center",onClose:()=>{i(),se("")},value:ne,onChange:M=>{le(M),h(Ti({input:M}))},onSubmit:()=>{var M;N||((M=U.current)!=null&&M.view&&Wm(U.current.view),re())},onKeyDown:Ym({handleAcceptCompletion:S,handleDeclineCompletion:I,isLoading:N,hasCompletion:D.trim().length>0})}),(0,g.jsxs)("div",{className:"-mr-1.5 py-1.5",children:[(0,g.jsxs)("div",{className:"flex flex-row items-center justify-end gap-0.5",children:[(0,g.jsx)(zm,{isLoading:N,onStop:O,onSendClick:re,isEmpty:!ne.trim(),showStopLabel:!0}),(0,g.jsx)(Xm,{handleAddContext:()=>qm(U),isLoading:N}),(0,g.jsx)(Af,{triggerClassName:"h-7 text-xs",iconSize:"small",forRole:"edit",displayIconOnly:!0,placeholder:"Edit model"})]}),D&&(0,g.jsx)("div",{className:"mt-1 flex items-center gap-1",children:Ge})]}),(0,g.jsx)("div",{className:"h-full w-px bg-border mx-2"}),(0,g.jsx)(Un,{content:"Include code from other cells",children:(0,g.jsxs)("div",{className:"flex flex-row items-start gap-1 overflow-hidden",children:[(0,g.jsx)(Gd,{"data-testid":"include-other-cells-checkbox",id:v,checked:y,onCheckedChange:M=>b(!!M)}),(0,g.jsx)(Ur,{htmlFor:v,className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"All code"})]})}),(0,g.jsx)(lt,{"data-testid":"decline-completion-button",variant:"text",size:"icon",disabled:N,onClick:()=>{O(),i(),se("")},children:(0,g.jsx)(Bm,{className:"text-(--red-10)",size:16})})]})}),l==="above"&&ue,Ve(),(!D||!A)&&!B&&u,l==="below"&&ue]})};var ad=e=>{let t=(0,td.c)(27),{status:n,onAccept:r,onReject:o,className:a,showInputPrompt:i,setShowInputPrompt:s,runCell:c}=e,l=n==="loading",u;t[0]===a?u=t[1]:(u=nt("flex flex-row items-center gap-6 rounded-md py-2 px-2.5 text-sm border border-border","shadow-[0_0_6px_1px_rgba(34,197,94,0.15)]",a),t[0]=a,t[1]=u);let d;t[2]===l?d=t[3]:(d=l?(0,g.jsx)(tp,{className:"animate-spin text-blue-600 mb-px",size:15,strokeWidth:2,"aria-label":"Generating fix"}):(0,g.jsx)(Gm,{className:"text-green-600 mb-px",size:15,strokeWidth:2,"aria-label":"Fix generated"}),t[2]=l,t[3]=d);let m=l?"Generating fix...":"Showing fix",f;t[4]===m?f=t[5]:(f=(0,g.jsx)("p",{className:"transition-opacity duration-200 text-muted-foreground",children:m}),t[4]=m,t[5]=f);let h;t[6]!==d||t[7]!==f?(h=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2",children:[d,f]}),t[6]=d,t[7]=f,t[8]=h):h=t[8];let y;t[9]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Ur,{htmlFor:"show-input-prompt",className:"text-muted-foreground text-xs whitespace-nowrap ellipsis",children:"Show prompt"}),t[9]=y):y=t[9];let b;t[10]!==s||t[11]!==i?(b=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-1",children:[y,(0,g.jsx)(Gf,{checked:i,onCheckedChange:s,size:"xs"})]}),t[10]=s,t[11]=i,t[12]=b):b=t[12];let v;t[13]!==l||t[14]!==r||t[15]!==c?(v=(0,g.jsx)(Ni,{isLoading:l,onAccept:r,size:"xs",borderless:!0,runCell:c}),t[13]=l,t[14]=r,t[15]=c,t[16]=v):v=t[16];let C;t[17]===o?C=t[18]:(C=(0,g.jsx)(ki,{onDecline:o,size:"xs",borderless:!0}),t[17]=o,t[18]=C);let x;t[19]!==v||t[20]!==C?(x=(0,g.jsxs)("div",{className:"flex flex-row items-center gap-2 ml-auto",children:[v,C]}),t[19]=v,t[20]=C,t[21]=x):x=t[21];let _;return t[22]!==u||t[23]!==x||t[24]!==h||t[25]!==b?(_=(0,g.jsxs)("div",{className:u,children:[h,b,x]}),t[22]=u,t[23]=x,t[24]=h,t[25]=b,t[26]=_):_=t[26],_},br="web application/x-marimo-cell",id=Lr({cells:xf(Lr({code:fi(),name:fi().optional(),config:Lr({column:vf([Ef(),Sf()]).optional(),disabled:mi().optional(),hide_code:mi().optional()}).optional()})),version:Cf("1.0")});function wr(e){return e.map(t=>t.code).join(`
|
|
23
23
|
|
|
24
|
-
`)}async function Ta(e){let t={cells:e.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new cd().add(yr,t).add("text/plain",br(e)).build();await navigator.clipboard.write([n])}function id(){let e=Tn(),t=qd(),n=_d();return{copyCells:ae(async r=>{let o=yt(),a=r.map(i=>o.cellData[i]).filter(Boolean);if(a.length!==0)try{await Ta(a),t.clear(),Na(a.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await Oi(br(a)),t.clear(),Na(a.length)}catch{Aa()}}}),cutCells:ae(async r=>{let o=yt(),a=r.filter(s=>o.cellData[s]),i=a.map(s=>o.cellData[s]);if(i.length!==0)try{await Ta(i),t.markForCut({cellIds:a})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await Oi(br(i)),t.markForCut({cellIds:a})}catch{Aa()}}}),pasteAtCell:ae(async(r,o)=>{var i;let{before:a=!1}=o??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=yt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});e.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:a?"before":"after",previousPlacements:l}),t.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(yr)){let u=await(await l.getType(yr)).text();try{let d=ad.parse(JSON.parse(u));if(d.cells.length===0)break;let m=r,f=d.cells.toReversed();for(let h of f)e.createNewCell({cellId:m,before:a,code:h.code,name:h.name,config:h.config,hideCode:(i=h.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?e.createNewCell({cellId:r,before:a,code:c,autoFocus:!0}):sd()}catch(s){$e.error("Failed to paste from clipboard",s),ld()}}),clearPendingCut:t.clear}}var Na=e=>{let t=e===1?"Cell":`${e} cells`;vt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Aa=()=>{vt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},sd=()=>{vt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},ld=()=>{vt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},cd=class{constructor(){p(this,"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):($e.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},ud=Je();function La(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Up,createActions:Dp,valueAtom:wr,useActions:dd}=Mr(La,{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 o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],l=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:La()});Zi=()=>ie(wr);function fd(e){let t=(0,ud.c)(2),n;return t[0]===e?n=t[1]:(n=Pt(r=>r(wr).selected.has(e)),t[0]=e,t[1]=n),ie(n)}qr=function(){return dd()};function md(e){return e.get(wr).selected}let Oa,_a,Ua;Oa=Je(),{valueAtom:_a,useActions:Vt}=Mr(()=>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),ei(()=>{let r=document.activeElement;if(!r)return;let o=An.findElementThroughShadowDOMs(r);o&&Qa(An.parse(o.id))}),n}}),Ua=e=>Pt(t=>t(_a).has(e)),Yi=function(e){let t=(0,Oa.c)(2),n;return t[0]===e?n=t[1]:(n=Ua(e),t[0]=e,t[1]=n),ie(n)};var Dt=new WeakMap,pd=500;function hd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function gd(e,t){let n=hd(e),r=e.target;if(!n||!r)return!1;let o=Dt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Dt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Dt.delete(r)},pd);return Dt.set(r,{sequence:a,timeout:s}),!0}return Dt.delete(r),!1}var vr=Je();function Da(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function He(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function yd(e,t){let n=(0,vr.c)(12),r=hp(),o=Tn(),a=Vt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=u=>{var d;Pa(u.relatedTarget)||Pa(u.target)||ja(u.relatedTarget)===e||ja((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&Er(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=tp(c);return l}function Pa(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function ja(e){return e&&e.getAttribute(pf)||null}Qi=function(e,t){let n=(0,vr.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=$t(),{saveCellConfig:s}=Fn(),c=Xa(Fi),l=Tn(),u=Sr(),d=Vt(),m=lp(),f=ie(yi),{copyCells:h,pasteAtCell:y,cutCells:b}=id(),v=qr(),C=fd(e),x=Mn(),_=Rr(),P=ie(_r),A;n[0]===P?A=n[1]:(A=pi(P),n[0]=P,n[1]=A);let k=A,B;n[2]!==x||n[3]!==v?(B={clear:()=>{x.clear(),v.clear()},extend:U=>{x.clear(),v.extend(U)},select:U=>{x.clear(),v.select(U)}},n[2]=x,n[3]=v,n[4]=B):B=n[4];let F=B,ne=ie(hi),O;n[5]===ne?O=n[6]:(O=(U,D)=>Or(ne.getHotkey(U).key)(D.nativeEvent||D),n[5]=ne,n[6]=O);let N=O,se=yd(e,o),le;n[7]!==l||n[8]!==k||n[9]!==r||n[10]!==a||n[11]!==e||n[12]!==h||n[13]!==b||n[14]!==_||n[15]!==o||n[16]!==C||n[17]!==N||n[18]!==f||n[19]!==y||n[20]!==x||n[21]!==m||n[22]!==s||n[23]!==i||n[24]!==F||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(le={onKeyDown:U=>{if(Dr.fromInput(U)){U.continuePropagation();return}let D={"Mod+ArrowUp":()=>(l.focusTopCell(),F.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),F.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:e,where:"before"}),F.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:e,where:"after"}),F.clear(),!0),ArrowLeft:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j-1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},ArrowRight:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j+1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let S=u.get(ai);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).before(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let S=u.get(ai);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).after(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"after"}),!0},Escape:()=>u.get(Xd).size>0?(u.set(Qd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),ri(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(D))if(Or(S)(U)&&I()){U.preventDefault();return}let be={"cell.run":He(S=>(m(S),!0)),"cell.runAndNewBelow":He(S=>{m(S);let I=S[S.length-1];return l.moveToNextCell({cellId:I,before:!1}),!0}),"cell.runAndNewAbove":He(S=>{m(S);let I=S[0];return l.moveToNextCell({cellId:I,before:!0}),!0}),"cell.createAbove":S=>(l.createNewCell({cellId:S,before:!0}),!0),"cell.createBelow":S=>(l.createNewCell({cellId:S,before:!1}),!0),"cell.moveUp":He(S=>{let I=S[0];return u.get(tt).cellIds.findWithId(I).first()===I?!1:(S.forEach(j=>{l.moveCell({cellId:j,before:!0})}),!0)}),"cell.moveDown":He(S=>{let I=S[S.length-1];return u.get(tt).cellIds.findWithId(I).last()===I?!1:(S.toReversed().forEach(j=>{l.moveCell({cellId:j,before:!1})}),!0)}),"cell.moveLeft":Da(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":Da(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var j;let I=!S.map(L=>{var ue;return((ue=u.get(tt).cellData[L])==null?void 0:ue.config)||null}).every(bd);s({configs:Object.fromEntries(S.map(L=>[L,{hide_code:I}]))});for(let L of S)l.updateCellConfig({cellId:L,config:{hide_code:I}});if(S.length===1){let L=S[0];l.focusCell({cellId:L,where:"after"}),I?((j=o.current)==null||j.contentDOM.blur(),ni(L)):ri(u,L)}return!0}),"cell.focusDown":S=>(l.focusCell({cellId:S,where:"after"}),!0),"cell.focusUp":S=>(l.focusCell({cellId:S,where:"before"}),!0),"cell.sendToBottom":He(S=>(S.forEach(I=>{l.sendToBottom({cellId:I})}),!0)),"cell.sendToTop":He(S=>(S.toReversed().forEach(I=>{l.sendToTop({cellId:I})}),!0)),"cell.aiCompletion":S=>{var j;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((j=o.current)==null||j.focus()),!0},"cell.cellActions":()=>{var S;return(S=a.current)==null||S.toggle(),!0},"command.copyCell":He(S=>(h(S),!0)),"command.cutCell":He(S=>(b(S),!0)),"command.pasteCell":S=>(y(S),!0),"command.createCellBefore":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(j=>{let{status:L}=I.cellRuntime[j];return L==="running"||L==="queued"})?!1:x.idle?(x.submit(S),!0):(_({cellIds:S}),x.clear(),!0)}},ce=md(u);if(f==="vim"&&gd(U.nativeEvent||U,{j:D.ArrowDown,k:D.ArrowUp,h:D.ArrowLeft,l:D.ArrowRight,i:D.Enter,"shift+j":D["Shift+ArrowDown"],"shift+k":D["Shift+ArrowUp"],"g g":D["Mod+ArrowUp"],"shift+g":D["Mod+ArrowDown"],"d d":()=>be["cell.delete"](),"y y":()=>(h(ce.size>=2?[...ce]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(l.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[S,I]of Object.entries(be))if(N(S,U)){if(typeof I=="function"){if(I(e)){U.preventDefault();return}}else if(ce.size>=2?I.bulkHandle([...ce]):I.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=k,n[9]=r,n[10]=a,n[11]=e,n[12]=h,n[13]=b,n[14]=_,n[15]=o,n[16]=C,n[17]=N,n[18]=f,n[19]=y,n[20]=x,n[21]=m,n[22]=s,n[23]=i,n[24]=F,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=le):le=n[29];let{keyboardProps:re}=Li(le),ee;return n[30]!==se||n[31]!==C||n[32]!==re?(ee=sp(se,re,{"data-selected":C,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=se,n[31]=C,n[32]=re,n[33]=ee):ee=n[33],ee};function bd(e){return e==null?void 0:e.hide_code}function wd(e,t){let n=(0,vr.c)(12),r=Vt(),o=ie(yi),a=ie(hi),i;n[0]===a?i=n[1]:(i=Or(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),ni(e),ei(()=>{Qa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==t||n[6]!==l?(u=()=>{if(!t.current){l();return}let h=t.current,y=h.state;if(vm(h))return;let b=!!y.field(ci,!1)||!!y.field(tf,!1),v=Gt(y)!==null;b&&Er(h),v&&_m(h),!(b||v)&&l()},n[5]=t,n[6]=l,n[7]=u):u=n[7];let d=u,m;n[8]!==d||n[9]!==o||n[10]!==s?(m={onKeyDown:h=>{o==="vim"?s(h)&&d():h.key==="Escape"&&d(),h.continuePropagation()}},n[8]=d,n[9]=o,n[10]=s,n[11]=m):m=n[11];let{keyboardProps:f}=Li(m);return f}function Fa(e,t){let n=document.getElementById(An.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(An.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function Er(e){e.state.field(ci,!1)&&e.dispatch({effects:Pd.of(null)}),Ud(e)}var vd=Je(),Ed=50,Sd=4,Cd=60;function xd(e){return Math.min(Cd,Math.max(Sd,e))}const Id=e=>{let t=(0,vd.c)(13),{code:n,className:r}=e,o,a,i,s;if(t[0]!==r||t[1]!==n){let l=n.split(`
|
|
25
|
-
`,
|
|
24
|
+
`)}async function Ta(e){let t={cells:e.map(r=>({code:r.code,name:r.name,config:r.config})),version:"1.0"},n=new ud().add(br,t).add("text/plain",wr(e)).build();await navigator.clipboard.write([n])}function sd(){let e=Tn(),t=Ud(),n=sf();return{copyCells:ae(async r=>{let o=yt(),a=r.map(i=>o.cellData[i]).filter(Boolean);if(a.length!==0)try{await Ta(a),t.clear(),Na(a.length)}catch(i){$e.error("Failed to copy cells to clipboard",i);try{await _i(wr(a)),t.clear(),Na(a.length)}catch{Aa()}}}),cutCells:ae(async r=>{let o=yt(),a=r.filter(s=>o.cellData[s]),i=a.map(s=>o.cellData[s]);if(i.length!==0)try{await Ta(i),t.markForCut({cellIds:a})}catch(s){$e.error("Failed to cut cells to clipboard",s);try{await _i(wr(i)),t.markForCut({cellIds:a})}catch{Aa()}}}),pasteAtCell:ae(async(r,o)=>{var i;let{before:a=!1}=o??{};if(n.cellIds.size>0){let s=[...n.cellIds],c=yt(),l=s.map(u=>{let d=c.cellIds.findWithId(u);return{columnId:d.id,index:d.indexOfOrThrow(u)}});e.moveCellsRelativeTo({cellIds:s,targetCellId:r,position:a?"before":"after",previousPlacements:l}),t.clear();return}try{let s=await navigator.clipboard.read();for(let l of s)if(l.types.includes(br)){let u=await(await l.getType(br)).text();try{let d=id.parse(JSON.parse(u));if(d.cells.length===0)break;let m=r,f=d.cells.toReversed();for(let h of f)e.createNewCell({cellId:m,before:a,code:h.code,name:h.name,config:h.config,hideCode:(i=h.config)==null?void 0:i.hide_code,autoFocus:!0});return}catch(d){$e.warn("Failed to parse clipboard cell data",d)}}let c=await navigator.clipboard.readText();c.trim()?e.createNewCell({cellId:r,before:a,code:c,autoFocus:!0}):ld()}catch(s){$e.error("Failed to paste from clipboard",s),cd()}}),clearPendingCut:t.clear}}var Na=e=>{let t=e===1?"Cell":`${e} cells`;vt({title:`${t} copied`,description:`${t} ${e===1?"has":"have"} been copied to clipboard.`})},Aa=()=>{vt({title:"Copy failed",description:"Failed to copy cells to clipboard.",variant:"danger"})},ld=()=>{vt({title:"Nothing to paste",description:"No cell or text found in clipboard.",variant:"danger"})},cd=()=>{vt({title:"Paste failed",description:"Failed to read from clipboard",variant:"danger"})},ud=class{constructor(){p(this,"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):($e.warn(`ClipboardItem does not support ${e}`),this)}build(){return new ClipboardItem(this.items)}},dd=Je();function La(){return{selectionStart:null,selectionEnd:null,selected:new Set}}var{reducer:Dp,createActions:Pp,valueAtom:vr,useActions:fd}=Mr(La,{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 o=r.findWithId(e.selectionStart),a=o.indexOfOrThrow(e.selectionStart),i=o.indexOfOrThrow(n),[s,c]=a<i?[a,i]:[i,a],l=o.slice(s,c+1);return{selectionStart:e.selectionStart,selectionEnd:n,selected:new Set(l)}}catch{return{selectionStart:n,selectionEnd:n,selected:new Set([n])}}},clear:e=>e.selected.size===0?e:La()});es=()=>ie(vr);function md(e){let t=(0,dd.c)(2),n;return t[0]===e?n=t[1]:(n=Pt(r=>r(vr).selected.has(e)),t[0]=e,t[1]=n),ie(n)}qr=function(){return fd()};function pd(e){return e.get(vr).selected}let Oa,_a,Ua;Oa=Je(),{valueAtom:_a,useActions:Vt}=Mr(()=>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),ti(()=>{let r=document.activeElement;if(!r)return;let o=Nn.findElementThroughShadowDOMs(r);o&&Qa(Nn.parse(o.id))}),n}}),Ua=e=>Pt(t=>t(_a).has(e)),Yi=function(e){let t=(0,Oa.c)(2),n;return t[0]===e?n=t[1]:(n=Ua(e),t[0]=e,t[1]=n),ie(n)};var Dt=new WeakMap,hd=500;function gd(e){if(e.ctrlKey||e.metaKey||e.altKey)return"";let t=e.key.toLowerCase();return e.shiftKey?`shift+${t}`:t}function yd(e,t){let n=gd(e),r=e.target;if(!n||!r)return!1;let o=Dt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Dt.delete(r),i();if(!o){let s=t[n];if(s)return s()}if(Object.keys(t).some(s=>s.startsWith(`${a} `))){let s=window.setTimeout(()=>{Dt.delete(r)},hd);return Dt.set(r,{sequence:a,timeout:s}),!0}return Dt.delete(r),!1}var Er=Je();function Da(e){return{handle:t=>e(t),bulkHandle:t=>{let n=!0;try{for(let r of t)n&&(n=e(r));return n}catch{return!1}}}}function He(e){return{handle:t=>e([t]),bulkHandle:t=>e(t)}}function bd(e,t){let n=(0,Er.c)(12),r=gp(),o=Tn(),a=Vt(),i;n[0]!==e||n[1]!==r?(i=()=>{r.focusCell({cellId:e})},n[0]=e,n[1]=r,n[2]=i):i=n[2];let s;n[3]!==o||n[4]!==e||n[5]!==t||n[6]!==r||n[7]!==a?(s=u=>{var d;Pa(u.relatedTarget)||Pa(u.target)||ja(u.relatedTarget)===e||ja((d=u.relatedTarget)==null?void 0:d.closest("[data-for-cell-id]"))===e||(a.remove(e),o.markTouched({cellId:e}),r.blurCell(),t.current&&Sr(t.current))},n[3]=o,n[4]=e,n[5]=t,n[6]=r,n[7]=a,n[8]=s):s=n[8];let c;n[9]!==i||n[10]!==s?(c={onFocusWithin:i,onBlurWithin:s},n[9]=i,n[10]=s,n[11]=c):c=n[11];let{focusWithinProps:l}=np(c);return l}function Pa(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function ja(e){return e&&e.getAttribute(Wd)||null}Zi=function(e,t){let n=(0,Er.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=$t(),{saveCellConfig:s}=Mn(),c=Xa(Mi),l=Tn(),u=Cr(),d=Vt(),m=cp(),f=ie(bi),{copyCells:h,pasteAtCell:y,cutCells:b}=sd(),v=qr(),C=md(e),x=Rn(),_=Rr(),P=ie(_r),A;n[0]===P?A=n[1]:(A=hi(P),n[0]=P,n[1]=A);let k=A,B;n[2]!==x||n[3]!==v?(B={clear:()=>{x.clear(),v.clear()},extend:U=>{x.clear(),v.extend(U)},select:U=>{x.clear(),v.select(U)}},n[2]=x,n[3]=v,n[4]=B):B=n[4];let F=B,ne=ie(gi),O;n[5]===ne?O=n[6]:(O=(U,D)=>Or(ne.getHotkey(U).key)(D.nativeEvent||D),n[5]=ne,n[6]=O);let N=O,se=bd(e,o),le;n[7]!==l||n[8]!==k||n[9]!==r||n[10]!==a||n[11]!==e||n[12]!==h||n[13]!==b||n[14]!==_||n[15]!==o||n[16]!==C||n[17]!==N||n[18]!==f||n[19]!==y||n[20]!==x||n[21]!==m||n[22]!==s||n[23]!==i||n[24]!==F||n[25]!==c||n[26]!==u||n[27]!==d||n[28]!==P?(le={onKeyDown:U=>{if(Dr.fromInput(U)){U.continuePropagation();return}let D={"Mod+ArrowUp":()=>(l.focusTopCell(),F.clear(),!0),"Mod+ArrowDown":()=>(l.focusBottomCell(),F.clear(),!0),ArrowUp:()=>(l.focusCell({cellId:e,where:"before"}),F.clear(),!0),ArrowDown:()=>(l.focusCell({cellId:e,where:"after"}),F.clear(),!0),ArrowLeft:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j-1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},ArrowRight:()=>{if(r){let S=u.get(tt),I=S.cellIds.findWithId(e),j=S.cellIds.indexOf(I),L=S.cellIds.at(j+1);if(L&&L.length>0){let ue=Fa(e,L);return l.focusCell({cellId:ue,where:"exact"}),F.clear(),!0}}return!1},"Shift+ArrowUp":()=>{let S=u.get(ci);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).before(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"before"}),!0},"Shift+ArrowDown":()=>{let S=u.get(ci);F.extend({cellId:e,allCellIds:S});let I=S.findWithId(e).after(e);return I&&F.extend({cellId:I,allCellIds:S}),l.focusCell({cellId:e,where:"after"}),!0},Escape:()=>u.get(Qd).size>0?(u.set(Yd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),ai(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(D))if(Or(S)(U)&&I()){U.preventDefault();return}let be={"cell.run":He(S=>(m(S),!0)),"cell.runAndNewBelow":He(S=>{m(S);let I=S[S.length-1];return l.moveToNextCell({cellId:I,before:!1}),!0}),"cell.runAndNewAbove":He(S=>{m(S);let I=S[0];return l.moveToNextCell({cellId:I,before:!0}),!0}),"cell.createAbove":S=>(l.createNewCell({cellId:S,before:!0}),!0),"cell.createBelow":S=>(l.createNewCell({cellId:S,before:!1}),!0),"cell.moveUp":He(S=>{let I=S[0];return u.get(tt).cellIds.findWithId(I).first()===I?!1:(S.forEach(j=>{l.moveCell({cellId:j,before:!0})}),!0)}),"cell.moveDown":He(S=>{let I=S[S.length-1];return u.get(tt).cellIds.findWithId(I).last()===I?!1:(S.toReversed().forEach(j=>{l.moveCell({cellId:j,before:!1})}),!0)}),"cell.moveLeft":Da(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":Da(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var j;let I=!S.map(L=>{var ue;return((ue=u.get(tt).cellData[L])==null?void 0:ue.config)||null}).every(wd);s({configs:Object.fromEntries(S.map(L=>[L,{hide_code:I}]))});for(let L of S)l.updateCellConfig({cellId:L,config:{hide_code:I}});if(S.length===1){let L=S[0];l.focusCell({cellId:L,where:"after"}),I?((j=o.current)==null||j.contentDOM.blur(),oi(L)):ai(u,L)}return!0}),"cell.focusDown":S=>(l.focusCell({cellId:S,where:"after"}),!0),"cell.focusUp":S=>(l.focusCell({cellId:S,where:"before"}),!0),"cell.sendToBottom":He(S=>(S.forEach(I=>{l.sendToBottom({cellId:I})}),!0)),"cell.sendToTop":He(S=>(S.toReversed().forEach(I=>{l.sendToTop({cellId:I})}),!0)),"cell.aiCompletion":S=>{var j;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((j=o.current)==null||j.focus()),!0},"cell.cellActions":()=>{var S;return(S=a.current)==null||S.toggle(),!0},"command.copyCell":He(S=>(h(S),!0)),"command.cutCell":He(S=>(b(S),!0)),"command.pasteCell":S=>(y(S),!0),"command.createCellBefore":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>Dr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!P.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(j=>{let{status:L}=I.cellRuntime[j];return L==="running"||L==="queued"})?!1:x.idle?(x.submit(S),!0):(_({cellIds:S}),x.clear(),!0)}},ce=pd(u);if(f==="vim"&&yd(U.nativeEvent||U,{j:D.ArrowDown,k:D.ArrowUp,h:D.ArrowLeft,l:D.ArrowRight,i:D.Enter,"shift+j":D["Shift+ArrowDown"],"shift+k":D["Shift+ArrowUp"],"g g":D["Mod+ArrowUp"],"shift+g":D["Mod+ArrowDown"],"d d":()=>be["cell.delete"](),"y y":()=>(h(ce.size>=2?[...ce]:[e]),!0),p:()=>(y(e,{before:!1}),!0),"shift+p":()=>(y(e,{before:!0}),!0),o:()=>(l.createNewCell({cellId:e,before:!1,autoFocus:!0}),!0),"shift+o":()=>(l.createNewCell({cellId:e,before:!0,autoFocus:!0}),!0),u:()=>(l.undoDeleteCell(),!0)})){U.preventDefault();return}for(let[S,I]of Object.entries(be))if(N(S,U)){if(typeof I=="function"){if(I(e)){U.preventDefault();return}}else if(ce.size>=2?I.bulkHandle([...ce]):I.handle(e)){U.preventDefault();return}return}U.continuePropagation()}},n[7]=l,n[8]=k,n[9]=r,n[10]=a,n[11]=e,n[12]=h,n[13]=b,n[14]=_,n[15]=o,n[16]=C,n[17]=N,n[18]=f,n[19]=y,n[20]=x,n[21]=m,n[22]=s,n[23]=i,n[24]=F,n[25]=c,n[26]=u,n[27]=d,n[28]=P,n[29]=le):le=n[29];let{keyboardProps:re}=Oi(le),ee;return n[30]!==se||n[31]!==C||n[32]!==re?(ee=lp(se,re,{"data-selected":C,className:"data-[selected=true]:ring-1 data-[selected=true]:ring-(--blue-8) data-[selected=true]:ring-offset-1"}),n[30]=se,n[31]=C,n[32]=re,n[33]=ee):ee=n[33],ee};function wd(e){return e==null?void 0:e.hide_code}function vd(e,t){let n=(0,Er.c)(12),r=Vt(),o=ie(bi),a=ie(gi),i;n[0]===a?i=n[1]:(i=Or(a.getHotkey("command.vimEnterCommandMode").key),n[0]=a,n[1]=i);let s=i,c;n[2]!==e||n[3]!==r?(c=()=>{r.remove(e),oi(e),ti(()=>{Qa(e)})},n[2]=e,n[3]=r,n[4]=c):c=n[4];let l=c,u;n[5]!==t||n[6]!==l?(u=()=>{if(!t.current){l();return}let h=t.current,y=h.state;if(Em(h))return;let b=!!y.field(ri,!1)||!!y.field(mf,!1),v=Gt(y)!==null;b&&Sr(h),v&&Um(h),!(b||v)&&l()},n[5]=t,n[6]=l,n[7]=u):u=n[7];let d=u,m;n[8]!==d||n[9]!==o||n[10]!==s?(m={onKeyDown:h=>{o==="vim"?s(h)&&d():h.key==="Escape"&&d(),h.continuePropagation()}},n[8]=d,n[9]=o,n[10]=s,n[11]=m):m=n[11];let{keyboardProps:f}=Oi(m);return f}function Fa(e,t){let n=document.getElementById(Nn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Nn.create(o));if(a){let i=a.getBoundingClientRect();if(r.top<=i.bottom&&r.bottom>=i.top)return o}}return t.last()}function Sr(e){e.state.field(ri,!1)&&e.dispatch({effects:hf.of(null)}),af(e)}var Ed=Je(),Sd=50,Cd=4,xd=60;function Id(e){return Math.min(xd,Math.max(Cd,e))}const kd=e=>{let t=(0,Ed.c)(13),{code:n,className:r}=e,o,a,i,s;if(t[0]!==r||t[1]!==n){let l=n.split(`
|
|
25
|
+
`,Sd);t[6]===r?o=t[7]:(o=nt("cm","mo-code-placeholder",r),t[6]=r,t[7]=o),a="cell-editor-placeholder",i=!0,s=l.map(Td),t[0]=r,t[1]=n,t[2]=o,t[3]=a,t[4]=i,t[5]=s}else o=t[2],a=t[3],i=t[4],s=t[5];let c;return t[8]!==o||t[9]!==a||t[10]!==i||t[11]!==s?(c=(0,g.jsx)("div",{className:o,"data-testid":a,"aria-hidden":i,children:s}),t[8]=o,t[9]=a,t[10]=i,t[11]=s,t[12]=c):c=t[12],c};function Td(e,t){let n=e.trimEnd().length;return(0,g.jsx)("div",{className:"mo-code-placeholder-line",children:n>0&&(0,g.jsx)(_p,{className:"mo-code-placeholder-bar",style:{width:`${Id(n)}ch`}})},t)}var Ma=Je();let En;Wr=e=>{let t=(0,Ma.c)(25),{editorView:n,code:r,currentLanguageAdapter:o,onAfterToggle:a,className:i}=e,s=i===void 0?"absolute right-3 top-2 z-20 flex hover-action gap-1":i,c;t[0]===r?c=t[1]:(c=ni.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=ni.sql.isSupported(r)||r.trim()==="",t[2]=r,t[3]=u);let d=u&&o==="python",m;t[4]===Symbol.for("react.memo_cache_sentinel")?(m=(0,g.jsx)($d,{color:"var(--sky-11)",strokeWidth:2.5,className:"w-4 h-4"}),t[4]=m):m=t[4];let f;t[5]!==o||t[6]!==n||t[7]!==a||t[8]!==d?(f=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:d,icon:m,toType:"sql",displayName:"SQL",onAfterToggle:a}),t[5]=o,t[6]=n,t[7]=a,t[8]=d,t[9]=f):f=t[9];let h=l&&o==="python",y;t[10]===Symbol.for("react.memo_cache_sentinel")?(y=(0,g.jsx)(Sp,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[10]=y):y=t[10];let b;t[11]!==o||t[12]!==n||t[13]!==a||t[14]!==h?(b=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:h,icon:y,toType:"markdown",displayName:"Markdown",onAfterToggle:a}),t[11]=o,t[12]=n,t[13]=a,t[14]=h,t[15]=b):b=t[15];let v;t[16]===Symbol.for("react.memo_cache_sentinel")?(v=(0,g.jsx)(Ep,{fill:"var(--sky-11)",color:"black",className:"w-4 h-4"}),t[16]=v):v=t[16];let C;t[17]!==o||t[18]!==n?(C=(0,g.jsx)(En,{editorView:n,currentLanguageAdapter:o,canSwitchToLanguage:!0,icon:v,toType:"python",displayName:"Python",onAfterToggle:_f.NOOP}),t[17]=o,t[18]=n,t[19]=C):C=t[19];let x;return t[20]!==s||t[21]!==C||t[22]!==f||t[23]!==b?(x=(0,g.jsxs)("div",{className:s,children:[f,b,C]}),t[20]=s,t[21]=C,t[22]=f,t[23]=b,t[24]=x):x=t[24],x},En=e=>{let t=(0,Ma.c)(10),{editorView:n,currentLanguageAdapter:r,canSwitchToLanguage:o,icon:a,toType:i,displayName:s,onAfterToggle:c}=e,l;t[0]!==n||t[1]!==c||t[2]!==i?(l=()=>{n&&(jt(n,{language:i}),c())},t[0]=n,t[1]=c,t[2]=i,t[3]=l):l=t[3];let u=l;if(!o||r===i)return null;let d=`View as ${s}`,m;t[4]!==u||t[5]!==a?(m=(0,g.jsx)(lt,{"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]=m):m=t[6];let f;return t[7]!==d||t[8]!==m?(f=(0,g.jsx)(Un,{content:d,children:m}),t[7]=d,t[8]=m,t[9]=f):f=t[9],f};var Ra=Je(),Ba=({theme:e,showPlaceholder:t,id:n,config:r,code:o,status:a,serializedEditorState:i,setEditorView:s,runCell:c,userConfig:l,editorViewRef:u,editorViewParentRef:d,hidden:m,hasOutput:f,showHiddenCode:h,languageAdapter:y,setLanguageAdapter:b,showLanguageToggles:v=!0,inlineAiTooltip:C,outputArea:x,tooltipParentSelector:_})=>{var Va,$a;let[P,A]=In(Mi),k=Ai(),{saveOrNameNotebook:B}=$t(),F=Rn(),{saveCellConfig:ne}=Mn(),O=a==="running"||a==="queued",N=Tn(),se=Cp(),le=y==="markdown",re=ae(()=>O?!1:F.idle&&l.keymap.destructive_delete?(F.submit([n]),!0):(k({cellId:n}),!0)),ee=ae(()=>O?!1:(c(),u.current&&Sr(u.current),!0)),U=ae(()=>{let J=!r.hide_code;return ne({configs:{[n]:{hide_code:J}}}),N.updateCellConfig({cellId:n,config:{hide_code:J}}),J}),D=ie(Df),be=ie(Of),ce=ae(()=>{Ri({autoInstantiate:D,createNewCell:N.createNewCell}),r.hide_code||(ne({configs:{[n]:{hide_code:!0}}}),N.updateCellConfig({cellId:n,config:{hide_code:!0}}),N.markUntouched({cellId:n}))}),S=ae(()=>{Ri({autoInstantiate:D,createNewCell:N.createNewCell})}),I=hi(l),j=(0,T.useMemo)(()=>{var de;let J=iu({cellId:n,showPlaceholder:t,enableAI:I,cellActions:{...N,afterToggleMarkdown:ce,afterToggleSQL:S,onRun:ee,deleteCell:re,saveNotebook:B,createManyBelow:Q=>{for(let ge of Q.toReversed())N.createNewCell({code:ge,before:!1,cellId:n,skipIfCodeExists:!0})},addOrAppendSetupCell:Q=>{let ge=yt();if(!ge.cellIds.setupCellExists()){N.addSetupCellIfDoesntExist({code:Q});return}let xn=rf(ge)[kr],Wa=xn?cf(xn):ge.cellData[kr].code,qa=Wa.trim()?`${Wa.trimEnd()}
|
|
26
26
|
|
|
27
|
-
${Q}`:Q;xn&&
|
|
27
|
+
${Q}`:Q;xn&&lf(xn,qa),N.updateCellCode({cellId:kr,code:qa,formattingChange:!1})},splitCell:se,toggleHideCode:U,aiCellCompletion:()=>{if(!I)return!1;let Q=!1;return A(ge=>(ge==null?void 0:ge.cellId)===n?(Q=!0,null):{cellId:n}),Q}},completionConfig:l.completion,acceptCompletionOnEnter:be,keymapConfig:l.keymap,lspConfig:l.language_servers,theme:e,hotkeys:new pi(l.keymap.overrides??{}),diagnosticsConfig:l.diagnostics,displayConfig:l.display,inlineAiTooltip:C??((de=l.ai)==null?void 0:de.inline_tooltip)??!1,tooltipParentSelector:_});return J.push(Xe.define(Q=>(b(Q.state.field(_n).type),{update(ge){b(ge.state.field(_n).type)}})),G.updateListener.of(Q=>{Q.selectionSet&&Q.state.selection.ranges.some(ge=>ge.from!==ge.to)&&h({focus:!1})}),G.domEventHandlers({focus:()=>{h({focus:!1})}})),J},[n,be,l.keymap,l.completion,l.language_servers,l.display,l.diagnostics,(Va=l.ai)==null?void 0:Va.inline_tooltip,C,_,I,e,t,N,se,U,re,ee,A,ce,S,b,h,B]),L=On()&&li(n),ue=ae(()=>{if(L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.create({doc:o,extensions:j})});s(J),L||jt(J,{language:Ar(J.state).type})}),Be=ae(()=>{if(Ft(u.current!==null,"Editor view is not initialized"),L){let J=pr(n,de=>{N.updateCellCode({cellId:n,code:de,formattingChange:!0})});j.push(J.extension)}u.current.dispatch({effects:[pe.reconfigure.of([j]),nf(u.current,{completionConfig:l.completion,hotkeysProvider:new pi(l.keymap.overrides??{}),lspConfig:{...l.language_servers,diagnostics:l.diagnostics}})]})}),Ve=ae(()=>{if(Ft(i,"Editor view is not initialized"),L){let de=pr(n,Q=>{N.updateCellCode({cellId:n,code:Q,formattingChange:!0})},o);j.push(de.extension),o=de.code}let J=new G({state:jr.fromJSON(i,{doc:o,extensions:j},{history:wm})});L||jt(J,{language:Ar(J.state).type}),s(J),N.clearSerializedEditorState({cellId:n})}),[Ge,M]=(0,T.useState)(i!==null);(0,T.useEffect)(()=>{if(u.current!==null){M(!0);return}if(M(!1),i!==null){Ve(),M(!0);return}return An.request(n,()=>{u.current===null&&(ue(),M(!0))}),()=>An.cancel(n)},[n,u,Ve,ue,i]),(0,T.useEffect)(()=>{u.current!==null&&Be()},[Be,j,u]),(0,T.useEffect)(()=>()=>{var J;(J=u.current)==null||J.destroy(),u.current=null},[u]);let[oe,H]=Xf({rootMargin:"300px 0px",threshold:0});(0,T.useEffect)(()=>{Ge||(H!=null&&H.isIntersecting?An.prioritize(n):An.deprioritize(n))},[Ge,H==null?void 0:H.isIntersecting,n]);let gt=vd(n,u),Cn="";return le&&m&&f?Cn="h-0 overflow-hidden":m&&(Cn="opacity-20 h-8 [&>div.cm-editor]:h-full [&>div.cm-editor]:overflow-hidden [&_.cm-panels]:hidden"),(0,g.jsx)(od,{cellId:n,aiCompletionCell:P,currentCode:(($a=u.current)==null?void 0:$a.state.doc.toString())??o,currentLanguageAdapter:y,declineChange:ae(()=>{var J;A(null),(J=u.current)==null||J.focus()}),onChange:ae(J=>{var de;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}})}),acceptChange:ae(J=>{var de,Q;(de=u.current)==null||de.dispatch({changes:{from:0,to:u.current.state.doc.length,insert:J}}),(Q=u.current)==null||Q.focus(),A(null)}),runCell:ee,outputArea:x,children:(0,g.jsxs)("div",{className:"relative w-full",ref:oe,...gt,children:[Ge?(0,g.jsx)(Ga,{className:Cn,editorView:u.current,ref:d,hidden:m,showHiddenCode:h}):(0,g.jsx)(kd,{code:o,className:Cn}),!m&&v&&(0,g.jsx)("div",{className:"absolute top-1 right-5",children:(0,g.jsx)(Wr,{code:o,editorView:u.current,currentLanguageAdapter:y,onAfterToggle:ce})})]})})},Ga=T.forwardRef((e,t)=>{let n=(0,Ra.c)(14),{className:r,editorView:o,hidden:a,showHiddenCode:i}=e,s=(0,T.useRef)(null),c,l;n[0]===o?(c=n[1],l=n[2]):(c=()=>{o!==null&&s.current!==null&&s.current.children.length===0&&s.current.append(o.dom)},l=[o,s],n[0]=o,n[1]=c,n[2]=l),(0,T.useEffect)(c,l);let u;n[3]===r?u=n[4]:(u=nt("cm mathjax_ignore",r),n[3]=r,n[4]=u);let d;n[5]!==a||n[6]!==i?(d=h=>{a&&i&&(h.stopPropagation(),i({focus:!0}))},n[5]=a,n[6]=i,n[7]=d):d=n[7];let m;n[8]===t?m=n[9]:(m=h=>{t?Bn(t,s)(h):Bn(s)(h)},n[8]=t,n[9]=m);let f;return n[10]!==u||n[11]!==d||n[12]!==m?(f=(0,g.jsx)("div",{className:u,onDoubleClick:d,ref:m,"data-testid":"cell-editor"}),n[10]=u,n[11]=d,n[12]=m,n[13]=f):f=n[13],f});Ga.displayName="CellCodeMirrorEditor";function Nd(e){let t=n=>{let r=(0,Ra.c)(5),o=ie(bt),[a,i]=In(ut);if(On()&&li(n.id)&&(Mf(o.state)||a===void 0)){let c;r[0]===Symbol.for("react.memo_cache_sentinel")?(c=(0,g.jsx)("span",{children:"Waiting for real-time collaboration connection..."}),r[0]=c):c=r[0];let l;return r[1]===i?l=r[2]:(l=(0,g.jsx)("div",{className:"flex h-full w-full items-baseline p-4",children:(0,g.jsxs)(Yf,{milliseconds:1e3,fallback:null,children:[c,(0,g.jsx)(lt,{variant:"link",onClick:()=>{i("disabled")},children:"Turn off real-time collaboration"})]})}),r[1]=i,r[2]=l),l}let s;return r[3]===n?s=r[4]:(s=(0,g.jsx)(e,{...n}),r[3]=n,r[4]=s),s};return t.displayName=`WithWaitUntilConnected(${e.displayName})`,t}ts=On()?Nd((0,T.memo)(Ba)):(0,T.memo)(Ba)});export{Vr as _,Up as __tla,Vt as a,Rn as b,Bn as c,Gn as d,$r as f,we as g,Ki as h,Yi as i,Xi as l,Qi as m,Wr as n,qr as o,ut as p,Zi as r,es as s,ts as t,$t as u,Jn as v,ns as y};
|