@marimo-team/frontend 0.23.16-dev50 → 0.23.16-dev52
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-DciB5rbr.js → CellStatus-BT88_2jw.js} +1 -1
- package/dist/assets/{JsonOutput-BM3vve9F.js → JsonOutput-0XYUxjxO.js} +12 -12
- package/dist/assets/{MarimoErrorOutput-Bh0y53Du.js → MarimoErrorOutput-DuwnzR5D.js} +4 -4
- package/dist/assets/{RenderHTML-B9jx7Dsm.js → RenderHTML-BPdXbewN.js} +1 -1
- package/dist/assets/{RunButton-DMtHbFuA.js → RunButton-DJyvIhMO.js} +1 -1
- package/dist/assets/{add-cell-with-ai-BcRYriMM.js → add-cell-with-ai-Dspw1-mO.js} +12 -12
- package/dist/assets/add-connection-dialog-B1fFBVqJ.js +178 -0
- package/dist/assets/{agent-panel-B31W_VwU.js → agent-panel-iPdDqSEd.js} +4 -4
- package/dist/assets/{ai-model-dropdown-B3D05oQh.js → ai-model-dropdown-BC1SNLKb.js} +3 -3
- package/dist/assets/{app-config-button-D_mjovwU.js → app-config-button-CuE-bLFn.js} +1 -1
- package/dist/assets/{blob-BJREJiQp.js → blob-C23KHI9W.js} +1 -1
- package/dist/assets/{cell-editor-BOhZHoLm.js → cell-editor-D8UAfiUa.js} +11 -11
- package/dist/assets/cell-link-Bu5k33_H.js +1 -0
- package/dist/assets/{cells-Jr-5Pc9f.js → cells-C3V6s-g5.js} +53 -53
- package/dist/assets/{chat-display-Djy1Jt6b.js → chat-display-DSMFTDiK.js} +1 -1
- package/dist/assets/{chat-panel-B2nYSE_l.js → chat-panel-DuGaXa17.js} +4 -4
- package/dist/assets/{chat-ui-DlG0En7w.js → chat-ui-TD66NC03.js} +4 -4
- package/dist/assets/{column-preview-BUHlI5va.js → column-preview-Dqt5ygdi.js} +1 -1
- package/dist/assets/{command-palette-rEJmXCZM.js → command-palette-DgyUILpb.js} +1 -1
- package/dist/assets/{common-CZc3fQI4.js → common-CIJsW5yR.js} +1 -1
- package/dist/assets/{components-GAYCj6Mx.js → components-CniQJAsf.js} +1 -1
- package/dist/assets/{datasource-AWkkAeiS.js → datasource-YLl5kKpx.js} +2 -2
- package/dist/assets/{dependency-graph-panel-wcqTPq6b.js → dependency-graph-panel-MPHqARlX.js} +4 -4
- package/dist/assets/{documentation-panel-Eu8MIkoU.js → documentation-panel-DZnNktBv.js} +1 -1
- package/dist/assets/{download-CQ7iZFJL.js → download-CSWknseP.js} +2 -2
- package/dist/assets/{edit-page-zyK_cMuR.js → edit-page-DVXg8Ibp.js} +6 -6
- package/dist/assets/error-entries-DIjVQBFa.js +8 -0
- package/dist/assets/{error-panel-BZzr0PA1.js → error-panel-CJSBDHOq.js} +1 -1
- package/dist/assets/{file-explorer-panel-C1W7g_Wp.js → file-explorer-panel-sHVZyshk.js} +4 -4
- package/dist/assets/{file-icons-BAqZR08W.js → file-icons-DDUQU--N.js} +1 -1
- package/dist/assets/{file-name-input-0MiZVw5r.js → file-name-input-CQjQP_zG.js} +1 -1
- package/dist/assets/{floating-outline-C6g75zrP.js → floating-outline-D1iQUiR_.js} +1 -1
- package/dist/assets/{focus-C0HXXg3V.js → focus-D_UTw9HF.js} +1 -1
- package/dist/assets/{form-C051zAev.js → form-B6jUSJBp.js} +1 -1
- package/dist/assets/{form-DT44Rmhp.js → form-Bp7lk3pm.js} +1 -1
- package/dist/assets/{home-page-CJz9IHZ2.js → home-page-CX6IV-hM.js} +2 -2
- package/dist/assets/{html-to-image-CfjhKLA4.js → html-to-image-kpOREGyr.js} +2 -2
- package/dist/assets/index-8Nlyq3mV.css +2 -0
- package/dist/assets/{index-BGE_j_ZS.js → index-CrJhpWGp.js} +6 -6
- package/dist/assets/{layout-D4bpsgVD.js → layout-DdPE4xZU.js} +5 -5
- package/dist/assets/{logs-panel-CsaY3O1m.js → logs-panel-DnNiJzUQ.js} +1 -1
- package/dist/assets/{markdown-renderer-BgqeO4JR.js → markdown-renderer-CqljiwGm.js} +2 -2
- package/dist/assets/{name-cell-input-DcU8Rfrz.js → name-cell-input-BQzQI3Ja.js} +1 -1
- package/dist/assets/{outline-panel-D-CHPZQM.js → outline-panel-BIgVnAC7.js} +1 -1
- package/dist/assets/{packages-panel-dq7QVZl1.js → packages-panel-_HiSQVV7.js} +1 -1
- package/dist/assets/panels-b-OL36p2.js +4 -0
- package/dist/assets/{process-output-NbwnUu05.js → process-output-CJkR5qgD.js} +1 -1
- package/dist/assets/{radio-group-rhQpGwU-.js → radio-group-Dm-ZV-tP.js} +1 -1
- package/dist/assets/readonly-code-display-BiNt9i32.js +1 -0
- package/dist/assets/{readonly-python-code-Q_1Y3VyZ.js → readonly-python-code-DMKb3G0K.js} +1 -1
- package/dist/assets/{reveal-component-CedpDwM8.js → reveal-component-DN6-mIsb.js} +2 -2
- package/dist/assets/{run-page-CGoux5cj.js → run-page-BKCqJ0uJ.js} +1 -1
- package/dist/assets/scratchpad-panel-DwZEAfW1.js +1 -0
- package/dist/assets/{session-panel-OIot3eyB.js → session-panel-B-9BnZxS.js} +1 -1
- package/dist/assets/{skeleton-BRvjFlRu.js → skeleton-B72xXZAF.js} +1 -1
- package/dist/assets/{snippets-panel-YFyH2hUM.js → snippets-panel-Brc_pmTk.js} +1 -1
- package/dist/assets/{state-bHyw5u3R.js → state-BTAocii6.js} +1 -1
- package/dist/assets/state-D9oG57zx.js +3 -0
- package/dist/assets/{tracing-CDMM1BB2.js → tracing-Cn9cTT65.js} +1 -1
- package/dist/assets/{tracing-panel-BH5Zbvl9.js → tracing-panel-FWoe3_eY.js} +2 -2
- package/dist/assets/{tree-actions-DDveUIHK.js → tree-actions-rPl1v1gM.js} +1 -1
- package/dist/assets/useCellActionButton-Du3JXpNf.js +1 -0
- package/dist/assets/{useDeleteCell-BIopCngo.js → useDeleteCell-DHOwR-CG.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-snM337f9.js → useDependencyPanelTab-B2PCtSi6.js} +1 -1
- package/dist/assets/{useNotebookActions-CsZfWFKy.js → useNotebookActions-DfQAtofT.js} +4 -4
- package/dist/assets/useRunCells-Dg11M4pT.js +1 -0
- package/dist/assets/{useSplitCell-BTmKY1CU.js → useSplitCell-BwWVHida.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +1 -1
- package/src/__mocks__/requests.ts +1 -0
- package/src/components/editor/connections/__tests__/quick-add-data-sources.test.tsx +113 -0
- package/src/components/editor/connections/add-connection-dialog.tsx +2 -0
- package/src/components/editor/connections/quick-add-data-sources.tsx +106 -0
- package/src/components/editor/viewer-banner.tsx +4 -2
- package/src/core/datasets/data-source-discovery.ts +5 -0
- package/src/core/datasets/request-registry.ts +11 -0
- package/src/core/islands/bootstrap.ts +1 -0
- package/src/core/islands/bridge.ts +1 -0
- package/src/core/kernel/messages.ts +2 -0
- package/src/core/network/__tests__/requests-lazy.test.ts +15 -0
- package/src/core/network/__tests__/requests-network.test.ts +14 -0
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +8 -0
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +2 -0
- package/src/core/wasm/bridge.ts +10 -0
- package/src/core/websocket/useMarimoKernelConnection.tsx +4 -0
- package/src/hooks/__tests__/useDataSourceDiscovery.test.ts +80 -0
- package/src/hooks/useDataSourceDiscovery.ts +18 -0
- package/dist/assets/add-connection-dialog-syjRSNPT.js +0 -178
- package/dist/assets/cell-link-DqNEv3f9.js +0 -1
- package/dist/assets/error-entries-Cr8uVukN.js +0 -8
- package/dist/assets/index-D6Dp_PFj.css +0 -2
- package/dist/assets/panels-DWoniKhE.js +0 -4
- package/dist/assets/readonly-code-display-CVY2f7EZ.js +0 -1
- package/dist/assets/scratchpad-panel-BLuF25yR.js +0 -1
- package/dist/assets/state-DB_fxbhn.js +0 -3
- package/dist/assets/useCellActionButton-D5ix_g2a.js +0 -1
- package/dist/assets/useRunCells-CF_V8X2K.js +0 -1
|
@@ -1,27 +1,27 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-DWuCVDfB.js","./loro_wasm_bg-aCH66ryB.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var Ad=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ld=(Z
|
|
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(`
|
|
2
|
+
var Ad=Object.defineProperty;var Ha=Z=>{throw TypeError(Z)};var Ld=(Z,$,ye)=>$ in Z?Ad(Z,$,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[$]=ye;var p=(Z,$,ye)=>Ld(Z,typeof $!="symbol"?$+"":$,ye),Od=(Z,$,ye)=>$.has(Z)||Ha("Cannot "+ye);var za=(Z,$,ye)=>(Od(Z,$,"read from private field"),ye?ye.call(Z):$.get(Z)),Ya=(Z,$,ye)=>$.has(Z)?Ha("Cannot add the same private member more than once"):$ instanceof WeakSet?$.add(Z):$.set(Z,ye);import{s as Ka}from"./chunk-LvLJmgfZ.js";import{d as Xa,f as Cr,i as K,l as In,n as ae,p as jt,s as kn,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$i as Tn,$t as Ud,B as Qa,Dn as Pd,E as Nn,Ei as Za,Er as jd,F as Dd,Gn as Fd,H as Md,Ht as Rd,K as ei,Mn as xr,Nt as Bd,On as Gd,Pt as ti,Qn as Jd,St as Dt,Ti as Vd,Tn as Wd,Tt as $d,U as ni,Un as qd,V as An,Vi as ri,W as oi,Wi as Hd,Wn as zd,Wt as Ir,Xn as Yd,Xt as ai,Yn as ii,Yt as kr,Zn as Kd,Zt as si,_n as Ln,_t as Xd,ar as Qd,bi as Zd,bt as ef,ct as li,en as tf,er as nf,fi as rf,fn as of,gt as af,ht as sf,i as ci,ii as lf,kn as cf,l as ui,lt as On,m as yt,nn as uf,pi as Tr,qn as df,rn as ff,ta as Nr,tn as mf,tr as pf,u as di,ut as hf,vt as Ar,xi as gf,xn as yf,xt as bf,y as tt,yt as _n,__tla as wf}from"./cells-C3V6s-g5.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-BC1SNLKb.js";import{_ as _f,c as pi,g as We,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 Pf,g as gi,l as yi,v as bi}from"./utils-BWBBpCkT.js";import{E as jf,M as Df,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 Wf}from"./readonly-python-code-DMKb3G0K.js";import{t as $f}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 Yf}from"./popover-Bcz1Zikb.js";import{Q as Kf,Z as Xf,__tla as Qf}from"./JsonOutput-0XYUxjxO.js";import{t as Ur}from"./label-CqjrpwRC.js";import{r as Zf}from"./download-CSWknseP.js";import{t as Un}from"./tooltip-4bZlU7jl.js";import{r as Pr,t as lt}from"./button-DDGiD1NW.js";import{At as em,Bt as Pn,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 jr,St as lm,Tt as $e,Ut as wt,V as cm,Wt as Dr,Yt as um,Zt as pe,_ as dm,at as W,dt as jn,en as Bt,gt as fm,ht as mm,lt as pm,m as hm,ot as gm,qt as ct,rn as Dn,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 Pm}from"./dist-DYEuVkEX.js";import{t as jm}from"./main-BNL5rxQw.js";import{r as Mn,t as Dm}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-DdPE4xZU.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 Wm,N as $m,O as qm,V as Hm,a as ki,d as zm,k as Ti,n as Ym,o as Km,r as Ni,s as Xm,w as Qm}from"./add-cell-with-ai-Dspw1-mO.js";import{r as Zm,t as ep}from"./file-icons-DDUQU--N.js";import{n as tp}from"./spinner-D-V4psAa.js";import{n as Rr,t as Ai}from"./useDeleteCell-DHOwR-CG.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-Dg11M4pT.js";import{c as Ui,i as Pi,n as ji,r as up}from"./dialog-BCVepWLJ.js";import{t as Di}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-BTAocii6.js";import{a as pp,o as hp}from"./cell-link-Bu5k33_H.js";import{r as Ri}from"./html-to-image-kpOREGyr.js";import{a as gp}from"./focus-D_UTw9HF.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-DE4Vb9tO.js";import{t as Cp}from"./useSplitCell-BwWVHida.js";import{co as xp,do as Gr,fo as Ip,ft as kp,go as St,ho as Wi,lo as Jr,mo as $i,oo as Tp,po as Np,so as qi,uo as Hi,__tla as Ap}from"./loro_wasm_bg-aCH66ryB.js";import{t as Lp}from"./ws-CNqquaud.js";import{t as zi}from"./Inputs-BhvqLBkk.js";import{r as Op,t as _p}from"./skeleton-B72xXZAF.js";let Vr,Vt,Rn,Bn,Gn,Wr,we,Yi,Ki,Xi,Qi,$r,qr,ut,Zi,es,ts,Wt,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,Pe,je,De,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 $={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const xt=Rt.define({combine:e=>Dn(e,{onError:console.error,inputDebounceTime:ye,keymaps:$},{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}}),$t=pe.define(),Tt=ze.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is($t))return n.value;return e}}),dt=pe.define(),Yr=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 Kr=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:[$t.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:[$t.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 Wn(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=W.widget({widget:new ss(t),side:1});return r.push(o.range(n)),W.set(r)}var ss=class extends jn{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=W.none}update(e){var n;let t=(n=e.state.field(qt))==null?void 0:n.suggestion;if(!t){this.decorations=W.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($n);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($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},ms=$e.of([{key:"Tab",run:fs},{key:"Escape",run:Zr}]),$n=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,$n.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={...$,...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=Wn(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 Dn(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)});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 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 jn{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={...$,...a.keymaps},s=fe("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Wn(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">${Wn(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 jn{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}),$t.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 Es(e){if(!e.prompt)throw Error("prompt function is required");let t={...$,...e.keymaps};return[xt.of(e),ot,zr,Tt,Yr,bs(),ps,$e.of([{key:t.showInput,run:Kr}]),ct.highest([$e.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?W.set([W.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):W.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(W.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push(W.widget({widget:new vs(n.prompt),side:-1}).range(s))}}return W.set(r)}),Is=ze.define({create(e){return W.none},update(e,t){let n=t.state.field(Tt);return n?W.set([W.widget({widget:new ws(n.oldCode),block:!0}).range(n.from)]):W.none},provide:e=>G.decorations.from(e)});var ks=Je(),T=Ka(_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(qd),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
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
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
|
|
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 Wm({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=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:`
|
|
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=Ka(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=K.get(_r),{saveUserConfig:a}=Dm();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."]})},...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 Ps(e=!0){let t=new Set(oo);e||t.add("Enter");let n=Us(Lm,t);return ct.highest($e.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 Yn=pe.define(),Kn=pe.define(),Xn=pe.define();function q(e,t){if(!e)throw Error(t)}var js=3402823466385289e23,Ds=-3402823466385289e23,Fs=4294967295,Ms=2147483647,Rs=-2147483648;function Yt(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>js||e<Ds))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 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 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 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 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 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):er(r,o)}function Ws(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}=$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 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 Ws(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 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){Qn(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 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}},Ys=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 Ks(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 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 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 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 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];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=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):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 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 Ys(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)):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]=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"&&!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 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 Ks(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=Po(e);return t?n:El(vl(n))}function gl(e){return Uo(e,!1)}const yl=Po;function Po(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"]),jo=e=>`${e}$`,vl=e=>wl.has(e)?jo(e):e;const El=e=>bl.has(e)?jo(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 Do;(function(e){e[e.NoSideEffects=1]="NoSideEffects",e[e.Idempotent=2]="Idempotent"})(Do||(Do={}));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 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),Il=(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 kl=class extends jn{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 Dn(e,{language:it.TYPESCRIPT,timeout:150,widgetClass:kl,alwaysOn:!0},{})}}),Mo=Rt.define({combine(e){return Dn(e,{override:()=>[]},{})}});var Tl=W.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(Yn)){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:W.set([...s,...c!==void 0&&a.length>1&&n.widgetClass?[W.widget({widget:new n.widgetClass(i,a.length),side:1}).range(c)]:[]]),changeSpecs:a,reverseChangeSet:o.value.reverseChangeSet}}if(o.is(Kn)||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)||W.none)}),pt=jr.define(),un=jr.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 Pl=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)},jl=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])}},Dl=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 jl(this,arguments,function*(){yield Ot(yield*Dl(Pl(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 Wl(t,e,n);case ve.BiDiStreaming:return $l(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 Wl(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 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 Wo(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:Wo(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 $o(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 Yl=/^application\/(connect\+)?(?:(json)(?:; ?charset=utf-?8)?|(proto))$/i;function Kl(e){let t=e==null?void 0:e.match(Yl);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=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?Ko(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=Kl(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=$o(e.next,e.interceptors),[n,r,o]=na(e);return t(Object.assign(Object.assign({},e.req),{message:Wo(e.req.method.I,e.req.message),signal:n})).then(a=>(o(),a),r)}function rc(e){let t=$o(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 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),ac=(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: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 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:fc},{no:2,name:"completion_items",kind:"message",T:gc,repeated:!0}])),Te),sc=(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),lc=(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),cc=(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),uc=(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),ar=(_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:ar},{no:7,name:"line_ending",kind:"scalar",T:9}])),Ue),dc=(Pe=class extends Y{constructor(n){super();p(this,"forceEnableExperiments",[]);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.ExperimentConfig"),p(Pe,"fields",E.util.newFieldList(()=>[{no:1,name:"force_enable_experiments",kind:"enum",T:E.getEnumType(rr),repeated:!0}])),Pe),fc=(je=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 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.State"),p(je,"fields",E.util.newFieldList(()=>[{no:1,name:"state",kind:"enum",T:E.getEnumType(mn)},{no:2,name:"message",kind:"scalar",T:9}])),je),mc=(De=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 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.Range"),p(De,"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}])),De),pc=(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),hc=(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),gc=(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: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===Do.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 Ko(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:j}=x.value;if((_&1)==1)throw new he("protocol error: received unsupported compressed output",R.Internal);if((_&2)==2){C=!0;let A=Xl(j);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(j))}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
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=
|
|
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=Pn.of(u,a.doc.length),m=d.invert(a.doc);e.dispatch({changes:d,effects:Yn.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(Kn)||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 Pm(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:Kn.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=Pn.of(n.reverseChangeSet,t.doc.length).compose(Pn.of(a,i.length)),c=Pn.of(a,i.length).invert(i);return e.dispatch({changes:s,effects:Yn.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 $e.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 Pc({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 jc=jm(),Dc=new am,sr=We.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):(We.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=Pc({response:l,prefix:i,suffix:s}),l):(We.debug("ignoring response because of new position"),"")}})),[...t,ct.highest($e.of([{key:"Escape",run:n=>{let r=Zr(n);return Ln(n)?!1:r}}])),Dc.of(Nf())]};function Mc(e,t){let n=e.doc.toString(),r=t.split(`
|
|
16
16
|
`).length-n.split(`
|
|
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:
|
|
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:jc.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=Hd({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?(K.set(we,{type:"setFind",find:n}),K.set(we,{type:"setCurrentView",view:e,range:{from:t.from,to:t.to}})):K.set(we,{type:"setCurrentView",view:e,range:{from:0,to:0}})}return K.get(we).isOpen?(K.set(we,{type:"setIsOpen",isOpen:!1}),requestAnimationFrame(()=>{K.set(we,{type:"setIsOpen",isOpen:!0})}),!0):(K.set(we,{type:"setIsOpen",isOpen:!0}),!0)};function Gc(){return K.get(we).isOpen?(K.set(we,{type:"setIsOpen",isOpen:!1}),!0):!1}var lr=pe.define();Yi=function(){let e=K.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=K.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=W.mark({class:"cm-searchMatch"}),Vc=W.mark({class:"cm-searchMatch cm-searchMatch-selected"}),Wc=250;const $c=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 W.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*Wc;)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[$e.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(),$c,gn,qc]}var zc=W.mark({class:"underline"}),la=pe.define(),ca=pe.define(),ua=pe.define();const Yc=ze.define({create(){return W.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:[Pd.range(r.value.from,r.value.to)]}):r.is(ua)&&(n=W.none);return n},provide:e=>G.decorations.from(e)});var Kc=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(cf,!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 Kc(t,e));function Qc(){return[Yc,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(),tf(t,n),!0;if(n!=null&&n.type.startsWith("image/"))return e.preventDefault(),Ud(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(lf);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
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
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 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-DWuCVDfB.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(`
|
|
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(),gf({cellId:t,completionConfig:i,hotkeys:r,placeholderType:d,lspConfig:s,diagnosticsConfig:c}),ff({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:Fd(m.editorView)})}),zt.of({hideOnBlur:!0})]:[],Gd(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)}),zd(),t==="dark"?Wf:Vf,Wd(i),Fc(r),ym(),ou(),u?_m():[],Ps(o),u?ct.high($e.of(Am)):[],hm(),sm(),im.of(" "),cm(dm,{fallback:!0}),$e.of(rm),Xd({placeholderType:l,completionConfig:r,hotkeys:n,cellId:a,lspConfig:{...i,diagnostics:s}}),Zd.of(Cm()),Dr.allowMultipleSelections.of(!0),Hc(n),$e.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}]),$e.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 $i=="function"&&$i(),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-DWuCVDfB.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(()=>{Wi()}):Wi()}};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"}});jr.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=We.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=jt(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(),jf()==="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()),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});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(Df())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 K.get(hf)||"Anonymous"},get colorClassName(){return Su(this.name)}},()=>o,e),Yd(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}`),Dt(r,{language:i,keepCodeAsIs:!0}))},n=(r,o)=>{let a=r.state.field(kr),i=o.toJSON();kn(a,i)||r.dispatch({effects:[si.of(i)],annotations:[ii.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;Dt(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(kr));let s=r.state.field(kr);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(ii)){for(let s of i.effects)if(s.is(bf)&&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(si)||s.is(ai)){let c=s.value;s.is(ai)?(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;Wr=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),j,A;t[1]===l?(j=t[2],A=t[3]):(j=()=>{f(l)},A=[l],t[1]=l,t[2]=j,t[3]=A),(0,T.useEffect)(j,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),P=Ou(m,y,l),be=(P||le.length>0)&&(0,g.jsxs)(Gi,{className:"font-mono",children:[!U&&(0,g.jsx)(wp,{children:"No files"}),P&&(0,g.jsxs)(Bi,{variant:"success",className:"py-2 px-3",onSelect:()=>{var H;P&&(_.current=!0,i(P),(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(P)})]})]},"_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 D;t[20]===s?D=t[21]:(D=nt(s,"w-full px-4 py-1 my-1 h-9 font-mono text-foreground/60"),t[20]=s,t[21]=D);let L;t[22]!==r||t[23]!==S||t[24]!==I||t[25]!==D?(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:D})}),t[22]=r,t[23]=S,t[24]=I,t[25]=D,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)($f,{children:(0,g.jsx)(Yf,{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("/")&&((df("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(Du),o;t[0]!==n||t[1]!==e?(o=j=>{j.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=j=>{j.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)(Pi,{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)(ji,{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 Pu=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;Di("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 ju(e){return{id:e.id,name:e.name,code:e.code,code_hash:null,config:{column:0,...e.config}}}function Du(){let e=Tr(yt()),t={version:"1",metadata:{marimo_version:Jf()},cells:e.map(ju)};return JSON.stringify(t,null,2)}let hr;Gn=jt(void 0),hr=jt(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}=Wt(),c;t[0]!==n||t[1]!==s?(c={onSave:s,kioskMode:n},t[0]=n,t[1]=s,t[2]=c):c=t[2],Wu(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(Di("global.save",i),a){let b;return t[7]!==r||t[8]!==o?(b=(0,g.jsx)(Pu,{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},Wt=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}We.log("saving to ",v),C&&_.format_on_save&&(We.log("formatting notebook (onSave)"),await Qd());let j=yt(),A=Tr(j),k=A.map(Vu),B=A.map(Ju),F=A.map(Gu),ne=di(j),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(ri),_=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(ri),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 Wu(e){let t=(0,wn.c)(14),n=ie(yi),r=Dd(),[o]=In(bt),a=ie(hr),i,s;if(t[0]!==r){let m=Tr(r);i=m.map(qu),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=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 $u(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)(Wr,{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)(Pi,{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)(ji,{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),Yu=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})},Ku=["extensions","value","selection","onChange"],Ca=e=>{var{extensions:t=[],value:n,selection:r,onChange:o}=e,a=Jt(e,Ku),{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,j=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,P;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=(P=k.current)==null?void 0:P.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={};j.orientation!==o&&(O.orientation=o),j.revertControls!==a&&(O.revertControls=a),j.highlightChanges!==i&&(O.highlightChanges=i),j.gutter!==s&&(O.gutter=s),j.collapseUnchanged!==c&&(O.collapseUnchanged=c),j.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)(Yu,{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=[Rd(),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:j}=t??{},A=j===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),P=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}),yf((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(P),se("")},I=()=>{var M,oe;O(),se(""),m(!0),(oe=(M=U.current)==null?void 0:M.view)==null||oe.focus()},D=A&&_&&(P||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",D?"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(P&&A)return Be(a,P);if(!P&&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)(Ym,{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&&$m(U.current.view),re())},onKeyDown:Km({handleAcceptCompletion:S,handleDeclineCompletion:I,isLoading:N,hasCompletion:P.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"})]}),P&&(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)(Bd,{"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(),(!P||!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 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
|
|
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=Nn(),t=nf(),n=pf();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){We.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){We.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){We.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){We.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):(We.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:Pp,createActions:jp,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=jt(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),ei(()=>{let r=document.activeElement;if(!r)return;let o=Tn.findElementThroughShadowDOMs(r);o&&Qa(Tn.parse(o.id))}),n}}),Ua=e=>jt(t=>t(_a).has(e)),Ki=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 Pt=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=Pt.get(r),a=n;o!=null&&o.timeout&&clearTimeout(o.timeout),o&&(a=`${o.sequence} ${n}`);let i=t[a];if(i)return Pt.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(()=>{Pt.delete(r)},hd);return Pt.set(r,{sequence:a,timeout:s}),!0}return Pt.delete(r),!1}var Er=Je();function Pa(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=Nn(),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;ja(u.relatedTarget)||ja(u.target)||Da(u.relatedTarget)===e||Da((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 ja(e){return e&&e instanceof HTMLElement?e.closest(".cm-vim-panel")!==null:!1}function Da(e){return e&&e.getAttribute($d)||null}Zi=function(e,t){let n=(0,Er.c)(34),{canMoveX:r,editorView:o,cellActionDropdownRef:a}=t,{saveOrNameNotebook:i}=Wt(),{saveCellConfig:s}=Mn(),c=Xa(Mi),l=Nn(),u=Cr(),d=Vt(),m=cp(),f=ie(bi),{copyCells:h,pasteAtCell:y,cutCells:b}=sd(),v=qr(),C=md(e),x=Rn(),_=Rr(),j=ie(_r),A;n[0]===j?A=n[1]:(A=hi(j),n[0]=j,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,P)=>Or(ne.getHotkey(U).key)(P.nativeEvent||P),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]!==j?(le={onKeyDown:U=>{if(Pr.fromInput(U)){U.continuePropagation();return}let P={"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),D=S.cellIds.indexOf(I),L=S.cellIds.at(D-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),D=S.cellIds.indexOf(I),L=S.cellIds.at(D+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(Jd).size>0?(u.set(Kd),!0):C?(F.clear(),!0):!1,Enter:()=>(d.add(e),oi(u,e),F.clear(),!0),s:()=>(i(),!0)};for(let[S,I]of Object.entries(P))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(D=>{l.moveCell({cellId:D,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(D=>{l.moveCell({cellId:D,before:!1})}),!0)}),"cell.moveLeft":Pa(S=>r?(l.moveCell({cellId:S,direction:"left"}),!0):!1),"cell.moveRight":Pa(S=>r?(l.moveCell({cellId:S,direction:"right"}),!0):!1),"cell.hideCode":He(S=>{var D;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?((D=o.current)==null||D.contentDOM.blur(),ni(L)):oi(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 D;if(!k)return!1;let I=!1;return c(L=>(L==null?void 0:L.cellId)===S?(I=!0,null):{cellId:S}),I&&((D=o.current)==null||D.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=>Pr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!0,autoFocus:!0}),!0),"command.createCellAfter":S=>Pr.hasModifier(U)?!1:(l.createNewCell({cellId:S,before:!1,autoFocus:!0}),!0),"cell.delete":()=>{if(!j.keymap.destructive_delete)return!1;let S=ce.size>=2?[...ce]:[e],I=u.get(tt);return S.some(D=>{let{status:L}=I.cellRuntime[D];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:P.ArrowDown,k:P.ArrowUp,h:P.ArrowLeft,l:P.ArrowRight,i:P.Enter,"shift+j":P["Shift+ArrowDown"],"shift+k":P["Shift+ArrowUp"],"g g":P["Mod+ArrowUp"],"shift+g":P["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]=j,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),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(Em(h))return;let b=!!y.field(Za,!1)||!!y.field(uf,!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(Tn.create(e));if(!n)return t.first();let r=n.getBoundingClientRect();for(let o of t.topLevelIds){let a=document.getElementById(Tn.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(Za,!1)&&e.dispatch({effects:Vd.of(null)}),mf(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;$r=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=ti.markdown.isSupported(r)||r.trim()==="",t[0]=r,t[1]=c);let l=c,u;t[2]===r?u=t[3]:(u=ti.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)(jd,{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&&(Dt(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,Wa;let[j,A]=In(Mi),k=Ai(),{saveOrNameNotebook:B}=Wt(),F=Rn(),{saveCellConfig:ne}=Mn(),O=a==="running"||a==="queued",N=Nn(),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}),P=ie(Pf),be=ie(Of),ce=ae(()=>{Ri({autoInstantiate:P,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:P,createNewCell:N.createNewCell})}),I=hi(l),D=(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)[Nr],$a=xn?sf(xn):ge.cellData[Nr].code,qa=$a.trim()?`${$a.trimEnd()}
|
|
26
26
|
|
|
27
|
-
${Q}`:Q;xn&&
|
|
27
|
+
${Q}`:Q;xn&&af(xn,qa),N.updateCellCode({cellId:Nr,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);D.push(de.extension),o=de.code}let J=new G({state:Dr.create({doc:o,extensions:D})});s(J),L||Dt(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})});D.push(J.extension)}u.current.dispatch({effects:[pe.reconfigure.of([D]),ef(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);D.push(de.extension),o=de.code}let J=new G({state:Dr.fromJSON(i,{doc:o,extensions:D},{history:wm})});L||Dt(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,D,u]),(0,T.useEffect)(()=>()=>{var J;(J=u.current)==null||J.destroy(),u.current=null},[u]);let[oe,H]=Kf({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:j,currentCode:((Wa=u.current)==null?void 0:Wa.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)($r,{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)(Xf,{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,Wr as f,we as g,Yi as h,Ki as i,Xi as l,Qi as m,$r as n,qr as o,ut as p,Zi as r,es as s,ts as t,Wt as u,Jn as v,ns as y};
|