@marimo-team/frontend 0.24.1-dev95 → 0.24.1-dev97

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.
Files changed (78) hide show
  1. package/dist/assets/{CellStatus-BAfpiaJr.js → CellStatus-wvvZkEPY.js} +1 -1
  2. package/dist/assets/{JsonOutput-Bu92ihyf.js → JsonOutput-CRLQQVKf.js} +1 -1
  3. package/dist/assets/{MarimoErrorOutput-B6VFcCOD.js → MarimoErrorOutput-CeUo5oka.js} +1 -1
  4. package/dist/assets/{RenderHTML-Cqn8OKqJ.js → RenderHTML-YkwVPe9V.js} +1 -1
  5. package/dist/assets/{RunButton-CjlJVYRU.js → RunButton-BaV8A-z4.js} +1 -1
  6. package/dist/assets/{add-cell-with-ai-CoNAy8Wk.js → add-cell-with-ai-DoLkfzYn.js} +1 -1
  7. package/dist/assets/add-connection-dialog-C1IF1nR0.js +166 -0
  8. package/dist/assets/{agent-panel-BsUX99c5.js → agent-panel-CG154QrU.js} +1 -1
  9. package/dist/assets/{ai-model-dropdown-jajg9hms.js → ai-model-dropdown-CrSrb8Zz.js} +1 -1
  10. package/dist/assets/{app-config-button-CHcCBh-B.js → app-config-button-ktBH1pEB.js} +1 -1
  11. package/dist/assets/{blob-kift6pGB.js → blob-DVtvZmWH.js} +1 -1
  12. package/dist/assets/{cell-editor-ByVa98Tu.js → cell-editor-BJfeuqKX.js} +1 -1
  13. package/dist/assets/{cell-link-CnfnwA6v.js → cell-link-Dqqt6Rgs.js} +1 -1
  14. package/dist/assets/{cells-BEcungGa.js → cells-D4RwofRx.js} +1 -1
  15. package/dist/assets/{chat-display-CL_JFB9v.js → chat-display-COmzHgx5.js} +1 -1
  16. package/dist/assets/{chat-panel-CSzekzAv.js → chat-panel-B2tyEfGW.js} +1 -1
  17. package/dist/assets/{chat-ui-C1eAy9FG.js → chat-ui-B5bsr-7V.js} +1 -1
  18. package/dist/assets/{column-preview-BZX77DV6.js → column-preview-CW5DPFvy.js} +1 -1
  19. package/dist/assets/{command-palette-56SvxMFF.js → command-palette-BcOasAqL.js} +1 -1
  20. package/dist/assets/{common-fL5LEOMt.js → common-CC3tuCpi.js} +1 -1
  21. package/dist/assets/{components-BtTyGydI.js → components-D02ZZZMP.js} +1 -1
  22. package/dist/assets/{datasource-uyI476er.js → datasource-Do8f2hFf.js} +1 -1
  23. package/dist/assets/{dependency-graph-panel-DQ6IwmNu.js → dependency-graph-panel-Dg-tUB9T.js} +1 -1
  24. package/dist/assets/{documentation-panel-ChxeMQDj.js → documentation-panel-DvHjxlli.js} +1 -1
  25. package/dist/assets/{download-Dv0iO8M_.js → download-BP8MrprC.js} +1 -1
  26. package/dist/assets/{edit-page-B1Vy-UvZ.js → edit-page-CdZC5ONw.js} +4 -4
  27. package/dist/assets/{error-entries-B5GaQ2cq.js → error-entries-DOZ1u97X.js} +1 -1
  28. package/dist/assets/{error-panel-D_YO8QtX.js → error-panel-CINcf76Z.js} +1 -1
  29. package/dist/assets/{file-explorer-panel-1JRkBA_A.js → file-explorer-panel-cflxW8a7.js} +1 -1
  30. package/dist/assets/{file-icons-D18ZIT8U.js → file-icons-DgKj9mrV.js} +1 -1
  31. package/dist/assets/{file-name-input-Dp8aYmEH.js → file-name-input-CQF4Ovwx.js} +1 -1
  32. package/dist/assets/{floating-outline-B14J6Uv7.js → floating-outline-CRXIsrPm.js} +1 -1
  33. package/dist/assets/{home-page-CoMZwM0i.js → home-page-DPRHPAQM.js} +1 -1
  34. package/dist/assets/{index-B6Nvcqin.js → index-DN1JMd0-.js} +4 -4
  35. package/dist/assets/{layout-FSOVn_sw.js → layout-CoCSL4MU.js} +3 -3
  36. package/dist/assets/{logs-panel-BwA2j1LD.js → logs-panel-DFibPeCT.js} +1 -1
  37. package/dist/assets/{markdown-renderer-IN72oVfj.js → markdown-renderer-CdZX2MvM.js} +1 -1
  38. package/dist/assets/{name-cell-input-BOFMaTa1.js → name-cell-input-B-d5Jwh4.js} +1 -1
  39. package/dist/assets/{outline-panel-xZQU-sfs.js → outline-panel-D2Wk10hY.js} +1 -1
  40. package/dist/assets/{packages-panel-gfl3Dnuj.js → packages-panel-CQsbxIlG.js} +1 -1
  41. package/dist/assets/{panel-accordion-state-BBB6Kqr-.js → panel-accordion-state-D6-FMXE2.js} +1 -1
  42. package/dist/assets/{panels-mouc5Y1Z.js → panels--lkNflNC.js} +1 -1
  43. package/dist/assets/{process-output-C-rOBNl7.js → process-output-DvTtgoMs.js} +1 -1
  44. package/dist/assets/{readonly-code-display-fUSnJEhE.js → readonly-code-display-BvqLeUsJ.js} +1 -1
  45. package/dist/assets/{readonly-python-code-C2BktOKY.js → readonly-python-code-GSN4D4sb.js} +1 -1
  46. package/dist/assets/{reveal-component-CsovRN4m.js → reveal-component-BuGlRY79.js} +1 -1
  47. package/dist/assets/{run-page-CRcnkzFj.js → run-page-DaS9kH4f.js} +1 -1
  48. package/dist/assets/{scratchpad-panel-BkqXEAfy.js → scratchpad-panel-C2QyAZqH.js} +1 -1
  49. package/dist/assets/{session-panel-CnIUsX9O.js → session-panel-C_N3WGWQ.js} +1 -1
  50. package/dist/assets/{skeleton-7uu6KXmn.js → skeleton-12JqAMmp.js} +1 -1
  51. package/dist/assets/{snippets-panel-BoziU8SV.js → snippets-panel-BxwHsPmW.js} +1 -1
  52. package/dist/assets/{state-DNIOp9vd.js → state-BqrF--O0.js} +1 -1
  53. package/dist/assets/{state-DaMe_1Uy.js → state-CHplO0zn.js} +1 -1
  54. package/dist/assets/{tracing-COpxb-Up.js → tracing-Dhq121dR.js} +1 -1
  55. package/dist/assets/{tracing-panel-DnNQLsh8.js → tracing-panel-IKt1933_.js} +2 -2
  56. package/dist/assets/{tree-actions-CjTwlxy1.js → tree-actions-DIfWonCA.js} +1 -1
  57. package/dist/assets/{useAddCell-ZP7MPBcM.js → useAddCell-BYrVaYfZ.js} +1 -1
  58. package/dist/assets/{useCellActionButton-va5-Bjgq.js → useCellActionButton-DbXDs0MA.js} +1 -1
  59. package/dist/assets/{useDeleteCell-CuEKdiht.js → useDeleteCell-Wgcl3CRG.js} +1 -1
  60. package/dist/assets/{useDependencyPanelTab-DDQx4yD6.js → useDependencyPanelTab-C5AU8GKL.js} +1 -1
  61. package/dist/assets/useNotebookActions-DQQplV7z.js +10 -0
  62. package/dist/assets/{useRunCells-DccIcaY0.js → useRunCells-DTdMRbkE.js} +1 -1
  63. package/dist/assets/{useSplitCell-CoAAhbPs.js → useSplitCell-2z0zEB8X.js} +1 -1
  64. package/dist/assets/vega-component-BSXJcTJb.js +1 -0
  65. package/dist/index.html +19 -19
  66. package/package.json +1 -1
  67. package/src/components/editor/actions/__tests__/types.test.ts +44 -0
  68. package/src/components/editor/actions/useNotebookActions.tsx +16 -0
  69. package/src/components/editor/chrome/types.ts +1 -1
  70. package/src/components/editor/connections/database/add-database-form.tsx +4 -0
  71. package/src/components/editor/connections/storage/add-storage-form.tsx +6 -0
  72. package/src/plugins/impl/vega/__tests__/__snapshots__/make-selectable.test.ts.snap +185 -185
  73. package/src/plugins/impl/vega/__tests__/make-selectable.test.ts +78 -2
  74. package/src/plugins/impl/vega/params.ts +26 -10
  75. package/src/plugins/impl/vega/vega-component.tsx +7 -2
  76. package/dist/assets/add-connection-dialog-D28GcLwH.js +0 -166
  77. package/dist/assets/useNotebookActions-DEBmnVAR.js +0 -10
  78. package/dist/assets/vega-component-Bel2PDO-.js +0 -1
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{Kn as r,Mn as i,Pn as a,_n as o,an as s,cn as c,gn as l,mn as u,nn as d,on as f,rn as p,sn as m,tn as h}from"./cells-BEcungGa.js";import{t as g}from"./compiler-runtime-CYIjoINj.js";import{C as _,O as v,k as y}from"./utils-CWSZQEjr.js";import{E as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-jajg9hms.js";import{N as E}from"./config-D4frVGQ4.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-BVi_GyOB.js";import{l as k}from"./select-czJLm6jf.js";import{t as A}from"./tooltip-D7dq6bnc.js";import{t as j}from"./button-Btj6GXNy.js";import{s as M}from"./arrays-BqUx5USx.js";import{r as N}from"./requests-C6_IaFh7.js";import{t as P}from"./createLucideIcon-B7HeEoG2.js";import{r as F}from"./useNumberFormatter-DHJ9s6Vk.js";import{M as I,T as L,b as R,j as z,p as B,w as V}from"./write-secret-modal-lNU_7c2x.js";import{r as H}from"./input-Daz6sk8l.js";import{t as U}from"./settings-C-cYas75.js";import{t as W}from"./use-toast-DpWHUGuF.js";import{t as G}from"./VisuallyHidden-SChAyKIQ.js";import{n as K}from"./useDebounce-Dulm61-t.js";import{t as q}from"./kbd-Cwh96ZBE.js";import{t as J}from"./Inputs-E85rt2lh.js";var Y=P(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),X=g(),Z=D(),ee=e=>{let t=(0,X.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=R(),{sendShutdown:l}=N(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(te,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,Z.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(F,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,Z.jsx)(J,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,Z.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function te(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,X.c)(37),[t,n]=_(),{saveAppConfig:o}=N(),l=(0,Q.useId)(),u=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(v),e[0]=g):g=e[0];let y;e[1]===t?y=e[2]:(y={resolver:g,defaultValues:t},e[1]=t,e[2]=y);let b=a(y),C;e[3]!==o||e[4]!==n?(C=async e=>{await o({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=o,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=K(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(S,{children:`Notebook Settings`}),(0,Z.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,Z.jsxs)($,{title:`Display`,children:[(0,Z.jsx)(s,{control:b.control,name:`width`,render:oe}),(0,Z.jsx)(s,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,Z.jsxs)($,{title:`Custom Files`,children:[(0,Z.jsx)(s,{control:b.control,name:`css_file`,render:ce}),(0,Z.jsx)(s,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let P;e[18]===b.control?P=e[19]:(P=(0,Z.jsx)($,{title:`Data`,children:(0,Z.jsx)(s,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=P);let F;e[20]!==l||e[21]!==u?(F=e=>{let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(d,{children:(0,Z.jsxs)(`div`,{className:`flex gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:l,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(M(t.value,`html`))}}),(0,Z.jsx)(m,{htmlFor:l,children:`HTML`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:u,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(M(t.value,`ipynb`))}}),(0,Z.jsx)(m,{htmlFor:u,children:`IPYNB`})]})]})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,Z.jsx)(q,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=l,e[21]=u,e[22]=F):F=e[22];let I;e[23]!==b.control||e[24]!==F?(I=(0,Z.jsx)($,{title:`Exporting outputs`,children:(0,Z.jsx)(s,{control:b.control,name:`auto_download`,render:F})}),e[23]=b.control,e[24]=F,e[25]=I):I=e[25];let L;e[26]!==I||e[27]!==A||e[28]!==j||e[29]!==P?(L=(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,P,I]}),e[26]=I,e[27]=A,e[28]=j,e[29]=P,e[30]=L):L=e[30];let R;e[31]!==L||e[32]!==O?(R=(0,Z.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,L]}),e[31]=L,e[32]=O,e[33]=R):R=e[33];let z;return e[34]!==b||e[35]!==R?(z=(0,Z.jsx)(h,{...b,children:R}),e[34]=b,e[35]=R,e[36]=z):z=e[36],z},$=e=>{let t=(0,X.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,Z.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`Width`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,Z.jsx)(c,{})]})}function se(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`App title`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,Z.jsx)(q,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`SQL Output Type`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),W({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,Z.jsx)(q,{className:`inline`,children:`native`}),`. See the`,` `,(0,Z.jsx)(B,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,X.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,s=r===void 0||r,c=i!==void 0&&i,d=a===void 0?`Settings`:a,[f,p]=t(w),m=c?`disabled`:`hint-green`,h;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(U,{strokeWidth:1.8}),n[0]=h):h=n[0];let g;n[1]===d?g=n[2]:(g=(0,Z.jsx)(A,{content:d,children:h}),n[1]=d,n[2]=g);let _;n[3]!==c||n[4]!==m||n[5]!==g?(_=(0,Z.jsx)(J,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:c,color:m,children:g}),n[3]=c,n[4]=m,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(z,{children:`User settings`})}),(0,Z.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!s){let e;n[8]===v?e=n[9]:(e=(0,Z.jsx)(I,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==p||n[11]!==f||n[12]!==e?(t=(0,Z.jsxs)(V,{open:f,onOpenChange:p,children:[e,b]}),n[10]=p,n[11]=f,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,Z.jsx)(o,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(re,{}),T=(0,Z.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===p?E=n[19]:(E=()=>p(!0),n[18]=p,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(U,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,Z.jsxs)(l,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,Z.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,Z.jsxs)(u,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==p||n[27]!==f?(M=(0,Z.jsx)(V,{open:f,onOpenChange:p,children:b}),n[26]=p,n[27]=f,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,Z.jsxs)(Z.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{ee as n,Y as r,fe as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t}from"./useEvent-xfs0Sn4r.js";import{t as n}from"./react-CBDbhulC.js";import{Kn as r,Mn as i,Pn as a,_n as o,an as s,cn as c,gn as l,mn as u,nn as d,on as f,rn as p,sn as m,tn as h}from"./cells-D4RwofRx.js";import{t as g}from"./compiler-runtime-CYIjoINj.js";import{C as _,O as v,k as y}from"./utils-CWSZQEjr.js";import{E as b,d as x,f as S,i as C,n as w,u as T}from"./ai-model-dropdown-CrSrb8Zz.js";import{N as E}from"./config-D4frVGQ4.js";import{t as D}from"./jsx-runtime-B74pBk57.js";import{o as O}from"./alert-dialog-BVi_GyOB.js";import{l as k}from"./select-czJLm6jf.js";import{t as A}from"./tooltip-D7dq6bnc.js";import{t as j}from"./button-Btj6GXNy.js";import{s as M}from"./arrays-BqUx5USx.js";import{r as N}from"./requests-C6_IaFh7.js";import{t as P}from"./createLucideIcon-B7HeEoG2.js";import{r as F}from"./useNumberFormatter-DHJ9s6Vk.js";import{M as I,T as L,b as R,j as z,p as B,w as V}from"./write-secret-modal-lNU_7c2x.js";import{r as H}from"./input-Daz6sk8l.js";import{t as U}from"./settings-C-cYas75.js";import{t as W}from"./use-toast-DpWHUGuF.js";import{t as G}from"./VisuallyHidden-SChAyKIQ.js";import{n as K}from"./useDebounce-Dulm61-t.js";import{t as q}from"./kbd-Cwh96ZBE.js";import{t as J}from"./Inputs-E85rt2lh.js";var Y=P(`power-off`,[[`path`,{d:`M18.36 6.64A9 9 0 0 1 20.77 15`,key:`dxknvb`}],[`path`,{d:`M6.16 6.16a9 9 0 1 0 12.68 12.68`,key:`1x7qb5`}],[`path`,{d:`M12 2v4`,key:`3427ic`}],[`path`,{d:`m2 2 20 20`,key:`1ooewy`}]]),X=g(),Z=D(),ee=e=>{let t=(0,X.c)(15),{description:n,disabled:r,tooltip:i}=e,a=r!==void 0&&r,o=i===void 0?`Shutdown`:i,{openConfirm:s,closeModal:c}=R(),{sendShutdown:l}=N(),u;t[0]===l?u=t[1]:(u=()=>{l(),setTimeout(te,200)},t[0]=l,t[1]=u);let d=u;if(E())return null;let f=a?`disabled`:`red`,p;t[2]!==c||t[3]!==n||t[4]!==d||t[5]!==s?(p=e=>{e.stopPropagation(),s({title:`Shutdown`,description:n,variant:`destructive`,confirmAction:(0,Z.jsx)(O,{onClick:()=>{d(),c()},"aria-label":`Confirm Shutdown`,children:`Shutdown`})})},t[2]=c,t[3]=n,t[4]=d,t[5]=s,t[6]=p):p=t[6];let m;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,Z.jsx)(F,{strokeWidth:1}),t[7]=m):m=t[7];let h;t[8]!==a||t[9]!==f||t[10]!==p?(h=(0,Z.jsx)(J,{"aria-label":`Shutdown`,"data-testid":`shutdown-button`,shape:`circle`,size:`small`,color:f,className:`h-[27px] w-[27px]`,disabled:a,onClick:p,children:m}),t[8]=a,t[9]=f,t[10]=p,t[11]=h):h=t[11];let g;return t[12]!==h||t[13]!==o?(g=(0,Z.jsx)(A,{content:o,children:h}),t[12]=h,t[13]=o,t[14]=g):g=t[14],g};function te(){window.close()}var Q=e(n(),1),ne=100,re=()=>{let e=(0,X.c)(37),[t,n]=_(),{saveAppConfig:o}=N(),l=(0,Q.useId)(),u=(0,Q.useId)(),g;e[0]===Symbol.for(`react.memo_cache_sentinel`)?(g=i(v),e[0]=g):g=e[0];let y;e[1]===t?y=e[2]:(y={resolver:g,defaultValues:t},e[1]=t,e[2]=y);let b=a(y),C;e[3]!==o||e[4]!==n?(C=async e=>{await o({config:e}).then(()=>{n(e)}).catch(()=>{n(e)})},e[3]=o,e[4]=n,e[5]=C):C=e[5];let w=C,T;e[6]===w?T=e[7]:(T=e=>{w(e)},e[6]=w,e[7]=T);let E=K(T,ne),D;e[8]===t.width?D=e[9]:(D=[t.width],e[8]=t.width,e[9]=D),(0,Q.useEffect)(ie,D);let O;e[10]!==E||e[11]!==b?(O=b.handleSubmit(E),e[10]=E,e[11]=b,e[12]=O):O=e[12];let k;e[13]===Symbol.for(`react.memo_cache_sentinel`)?(k=(0,Z.jsxs)(`div`,{children:[(0,Z.jsx)(S,{children:`Notebook Settings`}),(0,Z.jsx)(x,{children:`Configure how your notebook or application looks and behaves.`})]}),e[13]=k):k=e[13];let A;e[14]===b.control?A=e[15]:(A=(0,Z.jsxs)($,{title:`Display`,children:[(0,Z.jsx)(s,{control:b.control,name:`width`,render:oe}),(0,Z.jsx)(s,{control:b.control,name:`app_title`,render:se})]}),e[14]=b.control,e[15]=A);let j;e[16]===b.control?j=e[17]:(j=(0,Z.jsxs)($,{title:`Custom Files`,children:[(0,Z.jsx)(s,{control:b.control,name:`css_file`,render:ce}),(0,Z.jsx)(s,{control:b.control,name:`html_head_file`,render:le})]}),e[16]=b.control,e[17]=j);let P;e[18]===b.control?P=e[19]:(P=(0,Z.jsx)($,{title:`Data`,children:(0,Z.jsx)(s,{control:b.control,name:`sql_output`,render:de})}),e[18]=b.control,e[19]=P);let F;e[20]!==l||e[21]!==u?(F=e=>{let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-col gap-2`,children:[(0,Z.jsx)(d,{children:(0,Z.jsxs)(`div`,{className:`flex gap-4`,children:[(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:l,"data-testid":`html-checkbox`,checked:t.value.includes(`html`),onCheckedChange:()=>{t.onChange(M(t.value,`html`))}}),(0,Z.jsx)(m,{htmlFor:l,children:`HTML`})]}),(0,Z.jsxs)(`div`,{className:`flex items-center space-x-2`,children:[(0,Z.jsx)(r,{id:u,"data-testid":`ipynb-checkbox`,checked:t.value.includes(`ipynb`),onCheckedChange:()=>{t.onChange(M(t.value,`ipynb`))}}),(0,Z.jsx)(m,{htmlFor:u,children:`IPYNB`})]})]})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named`,` `,(0,Z.jsx)(q,{className:`inline`,children:`__marimo__`}),` next to your notebook file.`]})]})},e[20]=l,e[21]=u,e[22]=F):F=e[22];let I;e[23]!==b.control||e[24]!==F?(I=(0,Z.jsx)($,{title:`Exporting outputs`,children:(0,Z.jsx)(s,{control:b.control,name:`auto_download`,render:F})}),e[23]=b.control,e[24]=F,e[25]=I):I=e[25];let L;e[26]!==I||e[27]!==A||e[28]!==j||e[29]!==P?(L=(0,Z.jsxs)(`div`,{className:`grid grid-cols-2 gap-x-8 gap-y-4`,children:[A,j,P,I]}),e[26]=I,e[27]=A,e[28]=j,e[29]=P,e[30]=L):L=e[30];let R;e[31]!==L||e[32]!==O?(R=(0,Z.jsxs)(`form`,{onChange:O,className:`flex flex-col gap-6`,children:[k,L]}),e[31]=L,e[32]=O,e[33]=R):R=e[33];let z;return e[34]!==b||e[35]!==R?(z=(0,Z.jsx)(h,{...b,children:R}),e[34]=b,e[35]=R,e[36]=z):z=e[36],z},$=e=>{let t=(0,X.c)(5),{title:n,children:r}=e,i;t[0]===n?i=t[1]:(i=(0,Z.jsx)(`h3`,{className:`text-base font-semibold mb-1`,children:n}),t[0]=n,t[1]=i);let a;return t[2]!==r||t[3]!==i?(a=(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-2`,children:[i,r]}),t[2]=r,t[3]=i,t[4]=a):a=t[4],a};function ie(){window.dispatchEvent(new Event(`resize`))}function ae(e){return(0,Z.jsx)(`option`,{value:e,children:e},e)}function oe(e){let{field:t}=e;return(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`Width`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`app-width-select`,onChange:e=>t.onChange(e.target.value),value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:b().map(ae)})}),(0,Z.jsx)(c,{})]})}function se(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`App title`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window.`})]})}function ce(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`Custom CSS`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`custom.css`,onChange:e=>{t.onChange(e.target.value),y.safeParse(e.target.value).success&&(document.title=e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsx)(p,{children:`A filepath to a custom css file to be injected into the notebook.`})]})}function le(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{className:`shrink-0`,children:`HTML Head`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(H,{...t,value:t.value??``,placeholder:`head.html`,onChange:e=>{t.onChange(e.target.value)}})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`A filepath to an HTML file to be injected into the`,` `,(0,Z.jsx)(q,{className:`inline`,children:`<head/>`}),` section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts.`]})]})}function ue(e){return(0,Z.jsx)(`option`,{value:e.value,children:e.label},e.value)}function de(e){let{field:t}=e;return(0,Z.jsxs)(`div`,{className:`flex flex-col gap-y-1`,children:[(0,Z.jsxs)(f,{className:`flex flex-row items-center space-x-1 space-y-0`,children:[(0,Z.jsx)(m,{children:`SQL Output Type`}),(0,Z.jsx)(d,{children:(0,Z.jsx)(k,{"data-testid":`sql-output-select`,onChange:e=>{t.onChange(e.target.value),W({title:`Kernel Restart Required`,description:`This change requires a kernel restart to take effect.`})},value:t.value,disabled:t.disabled,className:`inline-flex mr-2`,children:T.map(ue)})}),(0,Z.jsx)(c,{})]}),(0,Z.jsxs)(p,{children:[`The Python type returned by a SQL cell. For best performance with large datasets, we recommend using`,` `,(0,Z.jsx)(q,{className:`inline`,children:`native`}),`. See the`,` `,(0,Z.jsx)(B,{href:`https://docs.marimo.io/guides/working_with_data/sql`,children:`SQL guide`}),` `,`for more information.`]})]})}var fe=e=>{let n=(0,X.c)(32),{showAppConfig:r,disabled:i,tooltip:a}=e,s=r===void 0||r,c=i!==void 0&&i,d=a===void 0?`Settings`:a,[f,p]=t(w),m=c?`disabled`:`hint-green`,h;n[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,Z.jsx)(U,{strokeWidth:1.8}),n[0]=h):h=n[0];let g;n[1]===d?g=n[2]:(g=(0,Z.jsx)(A,{content:d,children:h}),n[1]=d,n[2]=g);let _;n[3]!==c||n[4]!==m||n[5]!==g?(_=(0,Z.jsx)(J,{"aria-label":`Config`,"data-testid":`app-config-button`,shape:`circle`,size:`small`,className:`h-[27px] w-[27px]`,disabled:c,color:m,children:g}),n[3]=c,n[4]=m,n[5]=g,n[6]=_):_=n[6];let v=_,y;n[7]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,Z.jsxs)(L,{className:`w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0`,children:[(0,Z.jsx)(G,{children:(0,Z.jsx)(z,{children:`User settings`})}),(0,Z.jsx)(C,{})]}),n[7]=y):y=n[7];let b=y;if(!s){let e;n[8]===v?e=n[9]:(e=(0,Z.jsx)(I,{children:v}),n[8]=v,n[9]=e);let t;return n[10]!==p||n[11]!==f||n[12]!==e?(t=(0,Z.jsxs)(V,{open:f,onOpenChange:p,children:[e,b]}),n[10]=p,n[11]=f,n[12]=e,n[13]=t):t=n[13],t}let x;n[14]===v?x=n[15]:(x=(0,Z.jsx)(o,{asChild:!0,children:v}),n[14]=v,n[15]=x);let S,T;n[16]===Symbol.for(`react.memo_cache_sentinel`)?(S=(0,Z.jsx)(re,{}),T=(0,Z.jsx)(`div`,{className:`h-px bg-border my-2`}),n[16]=S,n[17]=T):(S=n[16],T=n[17]);let E;n[18]===p?E=n[19]:(E=()=>p(!0),n[18]=p,n[19]=E);let D;n[20]===Symbol.for(`react.memo_cache_sentinel`)?(D=(0,Z.jsx)(U,{strokeWidth:1.8,className:`w-4 h-4 mr-2`}),n[20]=D):D=n[20];let O;n[21]===E?O=n[22]:(O=(0,Z.jsxs)(l,{className:`w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]`,align:`end`,side:`bottom`,onFocusOutside:pe,children:[S,T,(0,Z.jsxs)(j,{onClick:E,variant:`link`,className:`px-0`,children:[D,`User settings`]})]}),n[21]=E,n[22]=O);let k;n[23]!==O||n[24]!==x?(k=(0,Z.jsxs)(u,{children:[x,O]}),n[23]=O,n[24]=x,n[25]=k):k=n[25];let M;n[26]!==p||n[27]!==f?(M=(0,Z.jsx)(V,{open:f,onOpenChange:p,children:b}),n[26]=p,n[27]=f,n[28]=M):M=n[28];let N;return n[29]!==k||n[30]!==M?(N=(0,Z.jsxs)(Z.Fragment,{children:[k,M]}),n[29]=k,n[30]=M,n[31]=N):N=n[31],N};function pe(e){return e.preventDefault()}export{ee as n,Y as r,fe as t};
@@ -1 +1 @@
1
- import{a as e}from"./markdown-renderer-IN72oVfj.js";function t(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>{n(Error(`Failed to read blob: ${e.type}`))},r.readAsDataURL(e)})}function n(e){let[t,n]=e.split(`,`,2),r=/^data:(.+);base64$/.exec(t)?.[1],i=atob(n),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new Blob([o],{type:r})}function r({contents:t,mimeType:r,isBase64:i}){return i?n(e(t,r)):new Blob([t],{type:r})}export{r as n,t as r,n as t};
1
+ import{a as e}from"./markdown-renderer-CdZX2MvM.js";function t(e){return new Promise((t,n)=>{let r=new FileReader;r.onload=e=>{t(e.target?.result)},r.onerror=e=>{n(Error(`Failed to read blob: ${e.type}`))},r.readAsDataURL(e)})}function n(e){let[t,n]=e.split(`,`,2),r=/^data:(.+);base64$/.exec(t)?.[1],i=atob(n),a=i.length,o=new Uint8Array(a);for(let e=0;e<a;e++)o[e]=i.charCodeAt(e);return new Blob([o],{type:r})}function r({contents:t,mimeType:r,isBase64:i}){return i?n(e(t,r)):new Blob([t],{type:r})}export{r as n,t as r,n as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-BzjWitFM.js","./loro_wasm_bg-BRA1AbB3.js","./rolldown-runtime-B0Z9INg1.js"])))=>i.map(i=>d[i]);
2
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as re,Na as k,Nr as A,Oi as j,Po as M,Sn as ie,So as ae,St as oe,Ti as N,To as se,U as ce,Ur as le,Ut as ue,V as de,Va as fe,Vr as P,W as F,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-BEcungGa.js";import{t as yt}from"./react-dom-BQrReHnR.js";import{Cn as bt,In as xt,Jn as St,Sn as Ct,Tt as wt,kt as Tt,ln as Et,xt as Dt}from"./schemas-aTUejmFi.js";import{t as Ot}from"./compiler-runtime-CYIjoINj.js";import{t as kt}from"./debounce-aFmHgJZY.js";import{D as At,_ as jt,c as Mt,g as Nt,l as Pt,v as Ft}from"./utils-CWSZQEjr.js";import{D as It,O as Lt,b as Rt,g as zt,h as Bt,m as Vt,t as Ht,w as Ut}from"./ai-model-dropdown-jajg9hms.js";import{_ as Wt,c as Gt,g as Kt,m as qt,t as Jt}from"./useEventListener-D27Dii_l.js";import{t as Yt}from"./invariant-Ci2dTZ72.js";import{E as Xt,N as Zt,O as Qt,S as $t,T as en,m as tn,o as nn,r as rn,v as an}from"./config-D4frVGQ4.js";import{n as on,t as sn}from"./switch-CtH5Ct94.js";import{f as cn,n as ln,r as un,y as dn}from"./readonly-python-code-C2BktOKY.js";import{t as fn}from"./ErrorBoundary-npvnLp9x.js";import{t as pn}from"./cn-ldLVeaqm.js";import{t as mn}from"./jsx-runtime-B74pBk57.js";import{d as hn}from"./select-czJLm6jf.js";import{J as gn,Y as _n}from"./JsonOutput-Bu92ihyf.js";import{n as vn}from"./download-Dv0iO8M_.js";import{t as yn}from"./tooltip-D7dq6bnc.js";import{r as bn,t as xn}from"./button-Btj6GXNy.js";import{At as Sn,Bt as Cn,Ct as wn,Dt as Tn,E as En,Et as Dn,Ft as On,Gt as kn,H as An,Ht as jn,I as Mn,P as Nn,Pt as Pn,Qt as Fn,Rt as In,St as Ln,Tt as Rn,Ut as zn,V as Bn,Wt as Vn,Yt as Hn,Zt as I,_ as Un,at as L,dt as Wn,en as Gn,gt as Kn,ht as qn,lt as Jn,m as Yn,ot as Xn,qt as Zn,rn as Qn,st as R,ut as $n,w as er,xt as tr}from"./dist-PIe1xcZo.js";import{C as nr,E as rr,I as ir,O as ar,S as or,a as sr,c as cr,n as lr,r as ur,w as dr}from"./dist-CbQrIaPV.js";import{o as fr}from"./arrays-BqUx5USx.js";import{n as pr}from"./once-Haz_uxEL.js";import{t as mr}from"./createReducer-Bq-nQJiK.js";import{a as hr,c as gr,f as _r,h as vr,i as yr,l as br,n as xr,o as Sr,t as Cr}from"./dist-Dz_04liz.js";import{r as wr}from"./strings-CpYReX2Q.js";import{r as Tr,t as Er}from"./requests-C6_IaFh7.js";import{t as Dr}from"./createLucideIcon-B7HeEoG2.js";import{r as Or}from"./layout-FSOVn_sw.js";import{r as kr}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as Ar}from"./circle-check-CUWv70QX.js";import{B as jr,F as Mr,G as Nr,I as Pr,L as Fr,M as Ir,R as Lr,T as Rr,V as zr,W as Br,c as Vr,f as Hr,i as Ur,n as Wr,o as Gr,r as Kr,s as qr,w as Jr,z as Yr}from"./add-cell-with-ai-CoNAy8Wk.js";import{t as Xr}from"./database-zap-CloO6gbw.js";import{r as Zr,t as Qr}from"./file-icons-D18ZIT8U.js";import{t as $r}from"./components-CBlGIIAX.js";import{D as ei,E as ti,T as ni,b as ri,j as ii}from"./write-secret-modal-lNU_7c2x.js";import{n as ai}from"./spinner-Ck-Hgfvj.js";import{n as oi,t as si}from"./useDeleteCell-CuEKdiht.js";import{t as ci}from"./save-BybsbOKz.js";import{I as li,Mt as ui,P as di}from"./input-Daz6sk8l.js";import{t as fi}from"./badge-D_-uqy2N.js";import{t as pi}from"./preload-helper-HclGiUj8.js";import{a as mi}from"./dist-DzAWvPVK.js";import{t as hi}from"./use-toast-DpWHUGuF.js";import{n as gi}from"./paths-zcL04qUW.js";import{t as _i}from"./session-CEdta5_Q.js";import{r as vi}from"./useTheme-CF-zG9YH.js";import{t as yi}from"./context-Do8M9TDF.js";import{i as bi}from"./numbers-DKurV_vq.js";import{n as xi}from"./useAsyncData-Buhk-UgR.js";import{n as Si}from"./copy-Cg05mM3C.js";import{a as Ci}from"./useRunCells-DccIcaY0.js";import{a as wi}from"./errors-DzO-nXy-.js";import{t as z}from"./extends-CvVTau-c.js";import{i as Ti,n as Ei}from"./esm-Dw0vvSg2.js";import{t as Di}from"./kbd-Cwh96ZBE.js";import{a as Oi}from"./useInstallPackage-u7d0wo79.js";import{a as ki,n as Ai}from"./state-DNIOp9vd.js";import{a as ji,o as Mi}from"./cell-link-CnfnwA6v.js";import{a as Ni}from"./renderShortcut-DK_OucLT.js";import{n as Pi,t as Fi}from"./icons-CjLa9BiH.js";import{t as Ii}from"./dist-8lhGoJ54.js";import{t as Li}from"./requests-S_7PqcSt.js";import{n as Ri}from"./formatting-BJlT1s_3.js";import{t as zi}from"./useSplitCell-CoAAhbPs.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-BBB6Kqr-.js";import{co as Ui,do as Wi,fo as Gi,ft as Ki,go as qi,ho as Ji,lo as Yi,mo as Xi,oo as Zi,po as Qi,so as $i,uo as ea}from"./loro_wasm_bg-BRA1AbB3.js";import{t as ta}from"./ws-DLVysDhS.js";import{t as na}from"./Inputs-E85rt2lh.js";import{r as ra,t as ia}from"./skeleton-7uu6KXmn.js";var aa=Dr(`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`}]]),oa={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},sa=300,ca=kn.define({combine:e=>Qn(e,{onError:console.error,inputDebounceTime:sa,keymaps:oa},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),la=I.define(),ua=Fn.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(la))return e.value;return e}}),da=I.define(),fa=I.define(),pa=Fn.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(da)&&(n={...n,inputValue:e.value}),e.is(fa)&&(n={...n,shouldFocus:e.value});return n}}),ma=I.define(),ha=Fn.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=I.define(),_a=Fn.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ga))return e.value;return e}}),va=1,ya=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<va)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[la.of({show:!0,lineFrom:o,lineTo:s}),fa.of(!0),da.of(``)],selection:zn.cursor(i.from)}),!0},ba=e=>e.state.field(ha)?(e.dispatch({effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1,xa=e=>{let t=e.state.field(ha);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1},Sa={mac:`⌘`,windows:`⊞ Win`,default:`Ctrl`};function Ca(){return navigator.platform.startsWith(`Mac`)?Sa.mac:navigator.platform.startsWith(`Win`)?Sa.windows:Sa.default}function wa(e){return e.replace(`Mod`,Ca()).replace(`-`,` `).toUpperCase()}function B(e,t){let n=document.createElement(e);return n.className=t,n}function Ta(e,t,n=void 0){let r=()=>{};return(...i)=>(r(),new Promise((a,o)=>{let s=setTimeout(()=>a(e(...i)),t);r=()=>{clearTimeout(s),n!==void 0&&o(n)}}))}var Ea=Fn.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(Da));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Da=I.define();function Oa(e,t){let n=e.state.selection.main.head,r=[],i=L.widget({widget:new ka(t),side:1});return r.push(i.range(n)),L.set(r)}var ka=class extends Wn{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
2
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,f as r,l as i,o as a,r as o,s,t as c,u as l}from"./useEvent-xfs0Sn4r.js";import{t as u}from"./react-CBDbhulC.js";import{Ai as d,Br as f,Ci as p,Cn as m,Ct as h,D as g,Di as _,Ei as v,Et as y,Gr as b,H as x,Ha as S,Hi as C,Hr as w,I as T,Io as E,K as D,Kn as ee,Kr as O,Kt as te,Lr as ne,Ma as re,Na as k,Nr as A,Oi as j,Po as M,Sn as ie,So as ae,St as oe,Ti as N,To as se,U as ce,Ur as le,Ut as ue,V as de,Va as fe,Vr as P,W as F,Wr as pe,Xa as me,Xr as he,Ya as ge,Yo as _e,Yr as ve,_t as ye,b as be,bn as xe,bt as Se,ci as Ce,cr as we,d as Te,di as Ee,dr as De,dt as Oe,ea as ke,eo as Ae,fr as je,ft as Me,gi as Ne,gn as Pe,h as Fe,hi as Ie,hr as Le,i as Re,io as ze,ki as Be,kr as Ve,li as He,lr as Ue,mi as We,mn as Ge,mr as Ke,pa as qe,pi as Je,pr as Ye,qn as Xe,ro as Ze,rr as Qe,si as $e,sr as et,st as tt,to as nt,tr as rt,u as it,ut as at,va as ot,vi as st,vn as ct,vt as lt,wn as ut,wr as dt,wt as ft,xt as pt,yi as mt,yo as ht,yt as gt,zn as _t,zr as vt}from"./cells-D4RwofRx.js";import{t as yt}from"./react-dom-BQrReHnR.js";import{Cn as bt,In as xt,Jn as St,Sn as Ct,Tt as wt,kt as Tt,ln as Et,xt as Dt}from"./schemas-aTUejmFi.js";import{t as Ot}from"./compiler-runtime-CYIjoINj.js";import{t as kt}from"./debounce-aFmHgJZY.js";import{D as At,_ as jt,c as Mt,g as Nt,l as Pt,v as Ft}from"./utils-CWSZQEjr.js";import{D as It,O as Lt,b as Rt,g as zt,h as Bt,m as Vt,t as Ht,w as Ut}from"./ai-model-dropdown-CrSrb8Zz.js";import{_ as Wt,c as Gt,g as Kt,m as qt,t as Jt}from"./useEventListener-D27Dii_l.js";import{t as Yt}from"./invariant-Ci2dTZ72.js";import{E as Xt,N as Zt,O as Qt,S as $t,T as en,m as tn,o as nn,r as rn,v as an}from"./config-D4frVGQ4.js";import{n as on,t as sn}from"./switch-CtH5Ct94.js";import{f as cn,n as ln,r as un,y as dn}from"./readonly-python-code-GSN4D4sb.js";import{t as fn}from"./ErrorBoundary-npvnLp9x.js";import{t as pn}from"./cn-ldLVeaqm.js";import{t as mn}from"./jsx-runtime-B74pBk57.js";import{d as hn}from"./select-czJLm6jf.js";import{J as gn,Y as _n}from"./JsonOutput-CRLQQVKf.js";import{n as vn}from"./download-BP8MrprC.js";import{t as yn}from"./tooltip-D7dq6bnc.js";import{r as bn,t as xn}from"./button-Btj6GXNy.js";import{At as Sn,Bt as Cn,Ct as wn,Dt as Tn,E as En,Et as Dn,Ft as On,Gt as kn,H as An,Ht as jn,I as Mn,P as Nn,Pt as Pn,Qt as Fn,Rt as In,St as Ln,Tt as Rn,Ut as zn,V as Bn,Wt as Vn,Yt as Hn,Zt as I,_ as Un,at as L,dt as Wn,en as Gn,gt as Kn,ht as qn,lt as Jn,m as Yn,ot as Xn,qt as Zn,rn as Qn,st as R,ut as $n,w as er,xt as tr}from"./dist-PIe1xcZo.js";import{C as nr,E as rr,I as ir,O as ar,S as or,a as sr,c as cr,n as lr,r as ur,w as dr}from"./dist-CbQrIaPV.js";import{o as fr}from"./arrays-BqUx5USx.js";import{n as pr}from"./once-Haz_uxEL.js";import{t as mr}from"./createReducer-Bq-nQJiK.js";import{a as hr,c as gr,f as _r,h as vr,i as yr,l as br,n as xr,o as Sr,t as Cr}from"./dist-Dz_04liz.js";import{r as wr}from"./strings-CpYReX2Q.js";import{r as Tr,t as Er}from"./requests-C6_IaFh7.js";import{t as Dr}from"./createLucideIcon-B7HeEoG2.js";import{r as Or}from"./layout-CoCSL4MU.js";import{r as kr}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as Ar}from"./circle-check-CUWv70QX.js";import{B as jr,F as Mr,G as Nr,I as Pr,L as Fr,M as Ir,R as Lr,T as Rr,V as zr,W as Br,c as Vr,f as Hr,i as Ur,n as Wr,o as Gr,r as Kr,s as qr,w as Jr,z as Yr}from"./add-cell-with-ai-DoLkfzYn.js";import{t as Xr}from"./database-zap-CloO6gbw.js";import{r as Zr,t as Qr}from"./file-icons-DgKj9mrV.js";import{t as $r}from"./components-CBlGIIAX.js";import{D as ei,E as ti,T as ni,b as ri,j as ii}from"./write-secret-modal-lNU_7c2x.js";import{n as ai}from"./spinner-Ck-Hgfvj.js";import{n as oi,t as si}from"./useDeleteCell-Wgcl3CRG.js";import{t as ci}from"./save-BybsbOKz.js";import{I as li,Mt as ui,P as di}from"./input-Daz6sk8l.js";import{t as fi}from"./badge-D_-uqy2N.js";import{t as pi}from"./preload-helper-HclGiUj8.js";import{a as mi}from"./dist-DzAWvPVK.js";import{t as hi}from"./use-toast-DpWHUGuF.js";import{n as gi}from"./paths-zcL04qUW.js";import{t as _i}from"./session-CEdta5_Q.js";import{r as vi}from"./useTheme-CF-zG9YH.js";import{t as yi}from"./context-Do8M9TDF.js";import{i as bi}from"./numbers-DKurV_vq.js";import{n as xi}from"./useAsyncData-Buhk-UgR.js";import{n as Si}from"./copy-Cg05mM3C.js";import{a as Ci}from"./useRunCells-DTdMRbkE.js";import{a as wi}from"./errors-DzO-nXy-.js";import{t as z}from"./extends-CvVTau-c.js";import{i as Ti,n as Ei}from"./esm-Dw0vvSg2.js";import{t as Di}from"./kbd-Cwh96ZBE.js";import{a as Oi}from"./useInstallPackage-u7d0wo79.js";import{a as ki,n as Ai}from"./state-BqrF--O0.js";import{a as ji,o as Mi}from"./cell-link-Dqqt6Rgs.js";import{a as Ni}from"./renderShortcut-DK_OucLT.js";import{n as Pi,t as Fi}from"./icons-CjLa9BiH.js";import{t as Ii}from"./dist-8lhGoJ54.js";import{t as Li}from"./requests-S_7PqcSt.js";import{n as Ri}from"./formatting-BJlT1s_3.js";import{t as zi}from"./useSplitCell-2z0zEB8X.js";import{n as Bi,r as Vi,t as Hi}from"./panel-accordion-state-D6-FMXE2.js";import{co as Ui,do as Wi,fo as Gi,ft as Ki,go as qi,ho as Ji,lo as Yi,mo as Xi,oo as Zi,po as Qi,so as $i,uo as ea}from"./loro_wasm_bg-BRA1AbB3.js";import{t as ta}from"./ws-DLVysDhS.js";import{t as na}from"./Inputs-E85rt2lh.js";import{r as ra,t as ia}from"./skeleton-12JqAMmp.js";var aa=Dr(`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`}]]),oa={showInput:`Mod-l`,acceptEdit:`Mod-y`,rejectEdit:`Mod-u`},sa=300,ca=kn.define({combine:e=>Qn(e,{onError:console.error,inputDebounceTime:sa,keymaps:oa},{onError:(e,t)=>e&&t,inputDebounceTime:(e,t)=>e&&t,keymaps:(e,t)=>e&&t})}),la=I.define(),ua=Fn.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let e of t.effects)if(e.is(la))return e.value;return e}}),da=I.define(),fa=I.define(),pa=Fn.define({create(){return{shouldFocus:!1,inputValue:``}},update(e,t){let n=e;for(let e of t.effects)e.is(da)&&(n={...n,inputValue:e.value}),e.is(fa)&&(n={...n,shouldFocus:e.value});return n}}),ma=I.define(),ha=Fn.define({create(){return null},update(e,t){for(let e of t.effects)if(e.is(ma))return e.value;return e}}),ga=I.define(),_a=Fn.define({create(){return!1},update(e,t){for(let e of t.effects)if(e.is(ga))return e.value;return e}}),va=1,ya=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,i=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(i.from,a.to).trim().length<va)return!1;let o=Math.max(1,Math.min(i.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[la.of({show:!0,lineFrom:o,lineTo:s}),fa.of(!0),da.of(``)],selection:zn.cursor(i.from)}),!0},ba=e=>e.state.field(ha)?(e.dispatch({effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1,xa=e=>{let t=e.state.field(ha);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[ma.of(null),la.of({show:!1,lineFrom:0,lineTo:0}),fa.of(!1),da.of(``),ga.of(!1)]}),!0):!1},Sa={mac:`⌘`,windows:`⊞ Win`,default:`Ctrl`};function Ca(){return navigator.platform.startsWith(`Mac`)?Sa.mac:navigator.platform.startsWith(`Win`)?Sa.windows:Sa.default}function wa(e){return e.replace(`Mod`,Ca()).replace(`-`,` `).toUpperCase()}function B(e,t){let n=document.createElement(e);return n.className=t,n}function Ta(e,t,n=void 0){let r=()=>{};return(...i)=>(r(),new Promise((a,o)=>{let s=setTimeout(()=>a(e(...i)),t);r=()=>{clearTimeout(s),n!==void 0&&o(n)}}))}var Ea=Fn.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(e=>e.is(Da));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Da=I.define();function Oa(e,t){let n=e.state.selection.main.head,r=[],i=L.widget({widget:new ka(t),side:1});return r.push(i.range(n)),L.set(r)}var ka=class extends Wn{suggestion;constructor(e){super(),this.suggestion=e}toDOM(){let e=document.createElement(`span`);return e.style.opacity=`0.4`,e.className=`cm-inline-suggestion`,e.textContent=this.suggestion,e.setAttribute(`role`,`suggestion`),e.setAttribute(`aria-label`,`Suggestion: ${this.suggestion}`),e}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},Aa=class{cache=new Map;timeout;constructor(e){this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},ja=(e,t)=>$n.fromClass(class{abortController=null;cache;constructor(){this.cache=new Aa(t.cacheTimeout??1e3)}async update(n){if(!n.docChanged||t.events?.beforeSuggestionFetch?.(n.view)===!1)return;this.abortController?.abort(),this.abortController=new AbortController;let r=n.state.doc,i=r.toString(),a=this.cache.get(i);if(a){n.view.dispatch({effects:Da.of({text:a,doc:r})});return}try{let a=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||t.events?.shouldShowSuggestion?.(n.view,a)===!1)return;this.cache.set(i,a),n.view.dispatch({effects:Da.of({text:a,doc:r})})}catch(e){e instanceof Error&&e.name!==`AbortError`&&console.error(`Suggestion fetch error:`,e)}}destroy(){this.abortController?.abort()}}),Ma=$n.fromClass(class{decorations;constructor(){this.decorations=L.none}update(e){let t=e.state.field(Ea)?.suggestion;if(!t){this.decorations=L.none;return}this.decorations=Oa(e.view,t)}},{decorations:e=>e.decorations});function Na(e,t,n,r){return{...e.changeByRange(i=>{if(i===e.selection.main)return{changes:{from:n,to:r,insert:t},range:zn.cursor(n+t.length)};let a=r-n;return!i.empty||a&&e.sliceDoc(i.from-a,i.from)!==e.sliceDoc(n,r)?{range:i}:{changes:{from:i.from-a,to:i.from,insert:t},range:zn.cursor(i.from-a+t.length)}}),userEvent:`input.complete`}}var Pa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({...Na(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),n.events?.onSuggestionAccepted?.(e,t),!0},Fa=e=>{let t=e.state.field(Ea)?.suggestion;if(!t)return!1;let n=e.state.facet(La);return e.dispatch({effects:Da.of({text:null,doc:e.state.doc})}),n.events?.onSuggestionRejected?.(e,t),!0},Ia=Rn.of([{key:`Tab`,run:Pa},{key:`Escape`,run:Fa}]),La=kn.define({combine:e=>e.at(-1)});function Ra(e){let{delay:t=500,includeKeymap:n=!0}=e,r=Ta(e.fetchFn,t);return[Ea,La.of(e),ja(r,e),Ma,n?Ia:[]]}var za=R.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 Ba(e){let t=e.state.facet(ca),n={...oa,...t.keymaps},r=e.state.facet(Va),i=B(`div`,`cm-ai-tooltip`).appendChild(B(`div`,`cm-ai-tooltip-button`)),a=i.appendChild(document.createElement(`span`));a.textContent=`${r.label} `;let o=a.appendChild(document.createElement(`span`));return o.className=`hotkey`,o.textContent=wa(n.showInput),i.querySelector(`span`)?.addEventListener(`mousedown`,e=>{e.stopPropagation(),e.button===0&&e.preventDefault()}),i.querySelector(`span`)?.addEventListener(`click`,t=>{t.preventDefault(),ya(e)}),i}var Va=kn.define({combine(e){return Qn(e,{render:Ba,hideOnBlur:!1,label:`Edit with AI`})}}),Ha=$n.fromClass(class{view;suppress;dom;mousedown=()=>{this.suppress=!0};mouseup=()=>{this.suppress=!1,this.display(this.view)};scroll=()=>{this.display(this.view)};windowScroll=()=>{this.display(this.view)};constructor(e){this.view=e;let t=e.state.facet(Va);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(ua).show){this.dom.style.display=`none`;return}if(e.state.facet(Va).hideOnBlur&&!e.hasFocus){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}e.requestMeasure({read:this.#e})}#e=e=>{let t=e.state.selection.ranges.find(e=>!e.empty);if(t&&!this.suppress){let n=e.coordsAtPos(t.from),r=e.coordsAtPos(t.to);if(!n||!r)return;let i=e.dom.getBoundingClientRect(),a=e.dom.parentElement?.getBoundingClientRect(),o=e=>e.top>=i.top&&e.top<=i.bottom&&e.left>=i.left&&e.left<=i.right,s=e=>!a||e.top>=a.top&&e.top<=a.bottom&&e.left>=a.left&&e.left<=a.right,c=o(n)||o(r),l=s(n)||s(r);if(!c||!l){this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`);return}this.dom.style.display=`flex`,this.dom.setAttribute(`aria-hidden`,`false`);let u=this.dom.getBoundingClientRect(),d=o(n)?n:r,f=i.right-u.width,p=Math.min(d.left,f),m=d.top-u.height,h=a?a.y:-1/0;m<h&&(m=r.bottom),this.dom.style.left=`${p}px`,this.dom.style.top=`${m}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute(`aria-hidden`,`false`)})}else this.dom.style.display=`none`,this.dom.setAttribute(`aria-hidden`,`true`)};destroy(){document.removeEventListener(`mousedown`,this.mousedown),document.removeEventListener(`mouseup`,this.mouseup),this.view.scrollDOM.removeEventListener(`scroll`,this.scroll),window.removeEventListener(`scroll`,this.windowScroll,!0),this.dom.remove()}}),Ua=R.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 Wa(){return[Ha,Ua]}var Ga=class extends Wn{oldCode;constructor(e){super(),this.oldCode=e}toDOM(e){let t=B(`div`,`cm-old-code-container`);t.setAttribute(`role`,`region`),t.setAttribute(`aria-label`,`Previous code version`);let n=B(`div`,`cm-old-code cm-line`);n.textContent=this.oldCode;let r=B(`div`,`cm-floating-buttons`),i=e.state.facet(ca),a={...oa,...i.keymaps},o=B(`button`,`cm-floating-button cm-floating-accept`);o.innerHTML=`<span class="hotkey">${wa(a.acceptEdit)}</span> Accept`,o.setAttribute(`aria-label`,`Accept changes`),o.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),ba(e)});let s=B(`button`,`cm-floating-button cm-floating-reject`);return s.innerHTML=`<span class="hotkey">${wa(a.rejectEdit)}</span> Reject`,s.setAttribute(`aria-label`,`Reject changes`),s.addEventListener(`click`,t=>{t.preventDefault(),t.stopPropagation(),e.focus(),xa(e)}),r.append(o,s),t.append(n,r),t}updateDOM(e,t){return!0}},Ka=class extends Wn{complete;abortController=null;dom=null;input=null;loadingContainer=null;helpInfo=null;inputContainer=null;form=null;view=null;constructor(e){super(),this.complete=e}toDOM(e){if(this.dom)return this.dom;this.view=e;let t=e.state.field(pa),n=e.state.field(_a),r=B(`div`,`cm-ai-input-container`);this.inputContainer=r,this.dom=r;let i=B(`form`,`cm-ai-input-form`);this.form=i,i.setAttribute(`role`,`search`),i.setAttribute(`aria-label`,`AI editing instructions`),i.addEventListener(`submit`,e=>e.preventDefault());let a=B(`input`,`cm-ai-input`);this.input=a,i.append(a),a.placeholder=`Editing instructions...`,a.setAttribute(`aria-label`,`AI editing instructions`),a.setAttribute(`autocomplete`,`off`),a.setAttribute(`spellcheck`,`true`),a.value=t.inputValue;let o=B(`div`,`cm-ai-loading-container`);this.loadingContainer=o;let s=B(`div`,`cm-ai-loading-indicator`);s.setAttribute(`role`,`status`),s.setAttribute(`aria-live`,`polite`),s.textContent=`Generating`;let c=B(`button`,`cm-ai-cancel-button`);c.textContent=`Cancel`,c.setAttribute(`aria-label`,`Cancel code generation`),c.addEventListener(`click`,this.onCancel),o.append(c,s);let l=B(`div`,`cm-ai-help-info`);this.helpInfo=l;let u=l.appendChild(document.createElement(`button`));u.className=`cm-ai-help-info-button`,u.textContent=`Esc to close`,u.addEventListener(`click`,this.onCancel);let d=B(`button`,`cm-ai-generate-button`);d.textContent=`⏎ Generate`,d.setAttribute(`aria-label`,`Generate code`),d.addEventListener(`click`,this.handleSubmit),this.toggleLoading(n),t.shouldFocus&&requestAnimationFrame(()=>{a.value=t.inputValue,a.focus(),e.dispatch({effects:fa.of(!1)})}),f(a.value),a.addEventListener(`input`,m),a.addEventListener(`keydown`,this.onKeyDown);function f(e){l.replaceChildren(e?d:u)}let p=``;function m(){e.dispatch({effects:da.of(a.value)});let t=a.value.trim();t!==p&&(p=t,f(t))}return r}toggleLoading(e){this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&this.inputContainer?.replaceChildren(this.form,e?this.loadingContainer:this.helpInfo)}onKeyDown=async e=>{e.key===`Enter`&&!e.shiftKey?(e.preventDefault(),await this.handleSubmit()):e.key===`Escape`&&this.onCancel()};onCancel=()=>{this.cleanup();let e=this.view;e&&(e.dispatch({effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ga.of(!1)]}),e.focus())};handleSubmit=async e=>{let t=this.view;if(!t)return;let n=t.state.facet(ca);e?.stopPropagation();let r=t.state.field(ua),{input:i}=this;if(!i)return;let a=i.value.trim();if(!r.show||!a)return;let o=t.state.doc.line(r.lineFrom),s=t.state.doc.line(r.lineTo),c=o.from,l=s.to,u=t.state.sliceDoc(c,l),d=t.state.sliceDoc(0,c),f=t.state.sliceDoc(l);this.abortController=new AbortController,t.dispatch({effects:ga.of(!0)}),this.toggleLoading(!0);try{let e=await this.complete({prompt:a,selection:u,codeBefore:d,codeAfter:f,editorView:t,signal:this.abortController.signal});if(!t.state.field(ua).show)return;if(!e||typeof e!=`string`)throw Error(`Invalid completion result`);t.dispatch({changes:{from:c,to:l,insert:e},effects:[la.of({show:!1,lineFrom:0,lineTo:0}),ma.of({from:c,to:c+e.length,oldCode:u,newCode:e}),ga.of(!1)]})}catch(e){if(e instanceof DOMException&&e.name===`AbortError`)return;n.onError?.(e)}finally{this.cleanup(),this.toggleLoading(!1),t.focus()}};updateDOM(e,t){return this.dom=e,this.input=e.querySelector(`.cm-ai-input`),!0}cleanup(){this.abortController?.abort(),this.abortController=null,this.dom?.remove(),this.input?.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function qa(e){if(!e.prompt)throw Error(`prompt function is required`);let t={...oa,...e.keymaps};return[ca.of(e),ua,pa,ha,_a,Wa(),za,Rn.of([{key:t.showInput,run:ya}]),Zn.highest([Rn.of([{key:t.acceptEdit,run:ba},{key:t.rejectEdit,run:xa}])]),Ja,Ya,Xa,Za]}var Ja=R.updateListener.of(e=>{let t=e.state.field(ua);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,i=!1;e.changes.iterChanges((t,a,o,s)=>{let c=e.state.doc.lineAt(t).number;if(c<n){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;n+=t,r+=t,i=!0}else if(c<=r){let t=e.state.doc.lineAt(s).number-e.state.doc.lineAt(o).number;r+=t,i=!0}}),i&&e.view.dispatch({effects:[la.of({show:!0,lineFrom:n,lineTo:r})]})}),Ya=R.decorations.of(e=>{let t=e.state.field(ha);return t?L.set([L.mark({class:`cm-new-code-line`}).range(t.from,t.to)]):L.none}),Xa=R.decorations.compute([ua],e=>{let t=e.field(ua),n=e.facet(ca),r=[];if(t.show){let i=t.lineFrom,a=t.lineTo;for(let t=i;t<=a;t++){let a=e.doc.line(t).from;r.push(L.line({class:`cm-ai-selection`}).range(a)),t===i&&r.push(L.widget({widget:new Ka(n.prompt),side:-1}).range(a))}}return L.set(r)}),Za=Fn.define({create(e){return L.none},update(e,t){let n=t.state.field(ha);return n?L.set([L.widget({widget:new Ga(n.oldCode),block:!0}).range(n.from)]):L.none},provide:e=>R.decorations.from(e)}),V=Ot(),H=e(u(),1),Qa=()=>({entries:new Map}),{valueAtom:$a,useActions:eo}=mr(Qa,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:i,store:a}=t,o=a.get(be),s=a.get($e),c=new Set(o.cellIds.inOrderIds.filter(e=>o.cellData[e].code.trim()===``)),l=new Map;for(let e of n){if(c.has(e)){l.set(e,{cellId:e,type:`simple`});continue}let t=o.cellRuntime[e],n=new Map;for(let t of Object.values(s)){let r=t.declaredBy.includes(e),i=t.usedBy.some(e=>!c.has(e));r&&i&&n.set(t.name,t.usedBy)}let r;t?.runElapsedTimeMs&&t.runElapsedTimeMs>2e3&&(r=t.runElapsedTimeMs),n.size===0&&r===void 0?l.set(e,{cellId:e,type:`simple`}):l.set(e,{cellId:e,type:`expensive`,executionDurationMs:r,defs:n})}let u=[...l.values()].every(e=>e.type===`simple`);return l.size>0&&u?(l.size===1?r({cellId:[...l.values()][0].cellId}):i({cellIds:[...l.values()].map(e=>e.cellId)}),Qa()):{...e,entries:l}},clear:()=>Qa()});function to(){let e=n(),{submit:t,clear:r}=eo(),{entries:a}=i($a),o=si(),s=oi();return(0,H.useMemo)(()=>({submit:n=>{t({cellIds:n,deleteCell:o,deleteManyCells:s,store:e})},clear:r,get idle(){return a.size===0},get shouldConfirmDelete(){return a.size>1}}),[e,t,r,a,o,s])}function no(e){let t=(0,V.c)(16),n=i($a),r=eo(),a=oi(),o;t[0]!==e||t[1]!==n.entries?(o=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=o):o=t[2];let s=o;if(!s){let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e={isPending:!1},t[3]=e):e=t[3],e}if(n.entries.size!==1){let e;return t[4]===s?e=t[5]:(e={isPending:!0,shouldConfirmDelete:!1,...s},t[4]=s,t[5]=e),e}let c;t[6]!==r||t[7]!==a||t[8]!==n.entries?(c=()=>{a({cellIds:[...n.entries.values()].map(ro)}),r.clear()},t[6]=r,t[7]=a,t[8]=n.entries,t[9]=c):c=t[9];let l;t[10]===r?l=t[11]:(l=()=>r.clear(),t[10]=r,t[11]=l);let u;return t[12]!==s||t[13]!==c||t[14]!==l?(u={isPending:!0,...s,shouldConfirmDelete:!0,confirm:c,cancel:l},t[12]=s,t[13]=c,t[14]=l,t[15]=u):u=t[15],u}function ro(e){return e.cellId}async function io(e){if(!e.ok)throw Error(await e.text());if(!e.body)throw Error(`Failed to get response body`);let t=null,n=!1;if(await zr({stream:Nr({stream:e.body,schema:Br}).pipeThrough(new TransformStream({transform(e){if(!e.success)throw e.error;let r=e.value;if(Fr(r)&&r.type===Mr)t=Pr.parse(r.data).code;else if(r.type===`error`)throw Error(r.errorText);else r.type===`finish`&&(n=r.finishReason===`stop`)}})),onError:e=>{throw e}}),!n)throw Error(`AI completion ended before final validation`);if(t===null)throw Error(`AI completion returned no cell code`);return t}async function ao(e){let t=`
4
4
  ${e.codeBefore}
5
5
  <rewrite_this>
@@ -1 +1 @@
1
- import{c as e,l as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{D as i,Hn as a,M as o,P as s,Po as c,Sr as l,yo as u}from"./cells-BEcungGa.js";import{t as d}from"./compiler-runtime-CYIjoINj.js";import{m as f}from"./utils-CWSZQEjr.js";import{g as p}from"./useEventListener-D27Dii_l.js";import{r as m}from"./constants-BDbGiS7O.js";import{T as h,v as g}from"./config-D4frVGQ4.js";import{t as _}from"./cn-ldLVeaqm.js";import{t as v}from"./jsx-runtime-B74pBk57.js";import{r as y}from"./requests-C6_IaFh7.js";import{b}from"./write-secret-modal-lNU_7c2x.js";import{n as x}from"./paths-zcL04qUW.js";import{s as S}from"./session-CEdta5_Q.js";var C=d();function w(){return t(u)}function T(){let t=(0,C.c)(5),[i]=e(g),a=r(u),{openAlert:o}=b(),{sendRename:s}=y(),c;return t[0]!==i.state||t[1]!==o||t[2]!==s||t[3]!==a?(c=async e=>{let t=f();return i.state===h.OPEN?(S(t=>{e===null?t.delete(m.filePath):t.set(m.filePath,e)}),s({filename:e}).then(()=>(a(e),document.title=t.app_title||x.basename(e)||`Untitled Notebook`,e)).catch(e=>(o(e.message),null))):(o(`Failed to save notebook: not connected to a kernel.`),null)},t[0]=i.state,t[1]=o,t[2]=s,t[3]=a,t[4]=c):c=t[4],n(c)}var E=v(),D=e=>{let t=(0,C.c)(12),{className:n,cellId:r,variant:c,onClick:l,formatCellName:u,skipScroll:d}=e,f=s()[r]??``,p=o().inOrderIds.indexOf(r),{showCellIfHidden:m}=i(),h=u??j,g;t[0]===n?g=t[1]:(g=_(`inline-block cursor-pointer text-link hover:underline`,n),t[0]=n,t[1]=g);let v;t[2]!==r||t[3]!==l||t[4]!==m||t[5]!==d||t[6]!==c?(v=e=>{if(r===`__scratch__`)return!1;m({cellId:r}),e.stopPropagation(),e.preventDefault(),requestAnimationFrame(()=>{A(r,c,d)&&l?.()})},t[2]=r,t[3]=l,t[4]=m,t[5]=d,t[6]=c,t[7]=v):v=t[7];let y=h(a(f,p)),b;return t[8]!==g||t[9]!==v||t[10]!==y?(b=(0,E.jsx)(`div`,{className:g,role:`link`,tabIndex:-1,onClick:v,children:y}),t[8]=g,t[9]=v,t[10]=y,t[11]=b):b=t[11],b},O=e=>{let t=(0,C.c)(2),n;return t[0]===e?n=t[1]:(n=(0,E.jsx)(D,{...e,variant:`destructive`}),t[0]=e,t[1]=n),n},k=e=>{let t=(0,C.c)(10),{cellId:n,lineNumber:r}=e,i=w(),a;t[0]!==n||t[1]!==r?(a=()=>l(n,r),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=e=>n===`__scratch__`?`scratch`:`marimo://${i||`untitled`}#cell=${e}`,t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==a||t[8]!==o?(s=(0,E.jsx)(D,{cellId:n,onClick:a,skipScroll:!0,variant:`destructive`,className:`traceback-cell-link`,formatCellName:o}),t[6]=n,t[7]=a,t[8]=o,t[9]=s):s=t[9],s};function A(e,t,n){let r=c.create(e),i=document.getElementById(r),a=i?.classList.contains(`has-error`);return i===null?(p.error(`Cell ${r} not found on page.`),!1):(n||i.scrollIntoView({behavior:`smooth`,block:`center`}),(t===`destructive`||a&&t===void 0)&&(i.classList.add(`error-outline`),setTimeout(()=>{i.classList.remove(`error-outline`)},2e3)),(t===`focus`||!a&&t===void 0)&&(i.classList.add(`focus-outline`),setTimeout(()=>{i.classList.remove(`focus-outline`)},2e3)),!0)}function j(e){return e}export{w as a,A as i,O as n,T as o,k as r,D as t};
1
+ import{c as e,l as t,t as n,u as r}from"./useEvent-xfs0Sn4r.js";import{D as i,Hn as a,M as o,P as s,Po as c,Sr as l,yo as u}from"./cells-D4RwofRx.js";import{t as d}from"./compiler-runtime-CYIjoINj.js";import{m as f}from"./utils-CWSZQEjr.js";import{g as p}from"./useEventListener-D27Dii_l.js";import{r as m}from"./constants-BDbGiS7O.js";import{T as h,v as g}from"./config-D4frVGQ4.js";import{t as _}from"./cn-ldLVeaqm.js";import{t as v}from"./jsx-runtime-B74pBk57.js";import{r as y}from"./requests-C6_IaFh7.js";import{b}from"./write-secret-modal-lNU_7c2x.js";import{n as x}from"./paths-zcL04qUW.js";import{s as S}from"./session-CEdta5_Q.js";var C=d();function w(){return t(u)}function T(){let t=(0,C.c)(5),[i]=e(g),a=r(u),{openAlert:o}=b(),{sendRename:s}=y(),c;return t[0]!==i.state||t[1]!==o||t[2]!==s||t[3]!==a?(c=async e=>{let t=f();return i.state===h.OPEN?(S(t=>{e===null?t.delete(m.filePath):t.set(m.filePath,e)}),s({filename:e}).then(()=>(a(e),document.title=t.app_title||x.basename(e)||`Untitled Notebook`,e)).catch(e=>(o(e.message),null))):(o(`Failed to save notebook: not connected to a kernel.`),null)},t[0]=i.state,t[1]=o,t[2]=s,t[3]=a,t[4]=c):c=t[4],n(c)}var E=v(),D=e=>{let t=(0,C.c)(12),{className:n,cellId:r,variant:c,onClick:l,formatCellName:u,skipScroll:d}=e,f=s()[r]??``,p=o().inOrderIds.indexOf(r),{showCellIfHidden:m}=i(),h=u??j,g;t[0]===n?g=t[1]:(g=_(`inline-block cursor-pointer text-link hover:underline`,n),t[0]=n,t[1]=g);let v;t[2]!==r||t[3]!==l||t[4]!==m||t[5]!==d||t[6]!==c?(v=e=>{if(r===`__scratch__`)return!1;m({cellId:r}),e.stopPropagation(),e.preventDefault(),requestAnimationFrame(()=>{A(r,c,d)&&l?.()})},t[2]=r,t[3]=l,t[4]=m,t[5]=d,t[6]=c,t[7]=v):v=t[7];let y=h(a(f,p)),b;return t[8]!==g||t[9]!==v||t[10]!==y?(b=(0,E.jsx)(`div`,{className:g,role:`link`,tabIndex:-1,onClick:v,children:y}),t[8]=g,t[9]=v,t[10]=y,t[11]=b):b=t[11],b},O=e=>{let t=(0,C.c)(2),n;return t[0]===e?n=t[1]:(n=(0,E.jsx)(D,{...e,variant:`destructive`}),t[0]=e,t[1]=n),n},k=e=>{let t=(0,C.c)(10),{cellId:n,lineNumber:r}=e,i=w(),a;t[0]!==n||t[1]!==r?(a=()=>l(n,r),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=e=>n===`__scratch__`?`scratch`:`marimo://${i||`untitled`}#cell=${e}`,t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==a||t[8]!==o?(s=(0,E.jsx)(D,{cellId:n,onClick:a,skipScroll:!0,variant:`destructive`,className:`traceback-cell-link`,formatCellName:o}),t[6]=n,t[7]=a,t[8]=o,t[9]=s):s=t[9],s};function A(e,t,n){let r=c.create(e),i=document.getElementById(r),a=i?.classList.contains(`has-error`);return i===null?(p.error(`Cell ${r} not found on page.`),!1):(n||i.scrollIntoView({behavior:`smooth`,block:`center`}),(t===`destructive`||a&&t===void 0)&&(i.classList.add(`error-outline`),setTimeout(()=>{i.classList.remove(`error-outline`)},2e3)),(t===`focus`||!a&&t===void 0)&&(i.classList.add(`focus-outline`),setTimeout(()=>{i.classList.remove(`focus-outline`)},2e3)),!0)}function j(e){return e}export{w as a,A as i,O as n,T as o,k as r,D as t};
@@ -50,7 +50,7 @@ Error generating stack: `+e.message+`
50
50
  `),n=[];for(let e of t)if(e?.startsWith(`#`))n.push(e);else break;return n}};function TE(e){do{if(e.name===`AssignStatement`)return e.node;if(e.name!==`Comment`)return null}while(e.next());return null}function EE(e){try{let t=lE(e).cursor();t.name===`Script`&&t.next();let n=TE(t);if(!n||e.slice(n.to).trim().length>0)return null;let r=null,i=null,a,o,s=0,c=n.cursor();if(c.firstChild(),c.name===`VariableName`&&(r=e.slice(c.from,c.to)),!r)return null;let l=!1,u=null;for(;c.nextSibling();)if(c.name===`AssignOp`)l=!0;else if(l&&!u){u=c.node;break}if(!u||u.name===`ConditionalExpression`||u.name===`BinaryExpression`||u.name===`UnaryExpression`)return null;let d=u.cursor(),f=null;if(d.name===`CallExpression`)f=d.node;else{d.firstChild();do if(d.name===`CallExpression`){f=d.node;break}while(d.nextSibling())}if(f){let t=f.cursor(),n=!1;if(t.firstChild(),t.name===`MemberExpression`&&(n=e.slice(t.from,t.to)===`mo.sql`),n){for(;t.next();)if(t.name===`ArgList`){let{args:n,kwargs:c}=dE(t.node.cursor(),e);n.length===1&&(i=mE(n[0],e),s=n[0].from+hE(e.slice(n[0].from,n[0].to)));for(let{key:e,value:t}of c)switch(e){case`engine`:a=t;break;case`output`:o=t===`True`}if(i===``)return{dfName:r,sqlString:``,engine:a,output:o,startPosition:s};break}}}return!r||!i?null:{dfName:r,sqlString:cE(i),engine:a,output:o,startPosition:s}}catch(e){return console.warn(`Failed to parse SQL statement`,e),null}}function DE(e){return e.split(`
51
51
  `).map(e=>e?.trim()?` ${e}`:e).join(`
52
52
  `)}var OE=()=>({cellIds:new Set}),{valueAtom:kE,useActions:AE}=Ku(OE,{markForCut:(e,t)=>({cellIds:new Set(t.cellIds)}),clear:()=>OE()}),jE=o(e=>e(kE).cellIds),ME=o(null,(e,t)=>{t(kE,OE())});function NE(){return AE()}function PE(e){let t=(0,X.c)(3),n=s(jE),r;return t[0]!==e||t[1]!==n?(r=n.has(e),t[0]=e,t[1]=n,t[2]=r):r=t[2],r}function FE(){return s(kE)}var IE=(e,t,n)=>hu.define(r=>new RE(r,e,t,n)),LE=Vl.define(),RE=class{sub;isInitDispatch=!1;view;doc;docPath;getTextFromDoc;constructor(e,t,n,r){this.view=e,this.doc=t,this.docPath=n,this.getTextFromDoc=r,this.sub=t.subscribe(this.onRemoteUpdate),Promise.resolve().then(()=>{this.isInitDispatch=!0;let t=this.view.state.doc.toString(),n=this.getTextFromDoc(this.doc);t!==n.toString()&&e.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:n.toString()}],annotations:[LE.of(this)]})})}onRemoteUpdate=e=>{if(e.by!==`local`){if(e.by===`checkout`){this.view.dispatch({changes:[{from:0,to:this.view.state.doc.length,insert:this.getTextFromDoc(this.doc).toString()}],annotations:[LE.of(this)]});return}if(e.by===`import`){let t=[],n=0;for(let{diff:r,path:i}of e.events){if(i.join(`/`)!==this.docPath.join(`/`)||r.type!==`text`)continue;let e=r.diff;for(let r of e)r.insert?t.push({from:n,to:n,insert:r.insert}):r.delete?(t.push({from:n,to:n+r.delete}),n+=r.delete):r.retain!=null&&(n+=r.retain);t.length>0&&this.view.dispatch({changes:t,annotations:[LE.of(this)]})}}}};update(e){if(this.isInitDispatch){this.isInitDispatch=!1;return}if(!e.docChanged||e.transactions.length>0&&(e.transactions[0].annotation(LE)===this||e.transactions[0].annotation(LE)===`undo`))return;let t=0;e.changes.iterChanges((e,n,r,i,a)=>{let o=a.sliceString(0,a.length,`
53
- `);e!==n&&this.getTextFromDoc(this.doc).delete(e+t,n-e),o.length>0&&this.getTextFromDoc(this.doc).insert(e+t,o),t+=o.length-(n-e)}),this.doc.commit()}destroy(){this.sub?.(),this.sub=void 0}};function zE(e,t){if(typeof window>`u`)return;let n=`__marimo__${t}`;window[n]&&B.warn(`Overwriting existing debug object ${n}`),window[n]=e}var BE={markdown:!0,wasm_layouts:!1,rtc_v2:!1,cache_panel:!1,external_agents:!1,debugger:!1,line_timing:!1};function VE(e){return rc()?.experimental?.[e]??BE[e]}function HE(e,t){rd().saveUserConfig({config:{experimental:{[e]:t}}})}zE(HE,`setFeatureFlag`);function UE(e,t){return{get:()=>t.get(e),sub:n=>t.sub(e,()=>n(t.get(e)))}}function WE(e,{offset:t,body:n=window,behavior:r=`smooth`}){let i=t?.top??0,a=t?.bottom??0,o=e.getBoundingClientRect();if(o.top<i){n.scrollBy({top:o.top-i,behavior:r});return}if(o.bottom>window.innerHeight-a){n.scrollBy({top:o.bottom-window.innerHeight+a,behavior:r});return}}function GE(e){return e?e.state.field(tH).type:`python`}function KE(e,t){return!e||GE(e)===t?!1:e.state.doc.toString().trim()===``||XF[t].isSupported(lH(e))}function qE(e,t,n={}){return!n.force&&!KE(e,t)?!1:(sH(e,{language:t}),t)}function JE(e){return H.of([{key:e.getHotkey(`cell.format`).key,preventDefault:!0,run:e=>(PT({[e.state.facet(bC)]:e}),!0)},{key:e.getHotkey(`cell.viewAsMarkdown`).key,preventDefault:!0,run:e=>{let t=qE(e,GE(e)===`markdown`?`python`:`markdown`,{force:!0});return t===`markdown`&&e.state.facet(yC).afterToggleMarkdown(),t!==!1}},{key:e.getHotkey(`cell.viewAsSQL`).key,preventDefault:!0,run:e=>{let t=qE(e,GE(e)===`sql`?`python`:`sql`,{force:!0});return t===`sql`&&e.state.facet(yC).afterToggleSQL(),t!==!1}}])}function YE(){return pu.updateListener.of(e=>{if(e.view.hasFocus&&e.heightChanged&&e.docChanged){if(e.transactions.some(e=>e.effects.some(e=>e.is(NT))))return;XE(e.view,{behavior:`smooth`})}})}function XE(e,t){let n=e.dom.getElementsByClassName(`cm-activeLine cm-line`);if(n.length===1){let e=n[0],r=document.getElementById(`App`);mc(r,`App not found`),WE(e,{offset:{top:30,bottom:150},body:r,behavior:t.behavior})}}function ZE(){return{}}var{reducer:QE,createActions:$E,valueAtom:eD,useActions:tD}=Ku(ZE,{setVariables:(e,t)=>{let n={...e},r={};for(let e of t)r[e.name]={...n[e.name],...e};return r},addVariables:(e,t)=>{let n={...e};for(let e of t)n[e.name]={...n[e.name],...e};return n},setMetadata:(e,t)=>{let n={...e};for(let{name:e,value:r,dataType:i}of t)n[e]&&(n[e]={...n[e],value:r,dataType:i});return n}}),nD=()=>s(eD);function rD(){return tD()}function iD(e){let t=e.storage||Q_;return{getItem(n,r){try{let i=t.getItem(n);if(!i)return r;let a=JSON.parse(i);return e.fromSerializable(a)}catch(e){return B.warn(`Error getting ${n} from storage`,e),r}},setItem:(n,r)=>{t.setItem(n,JSON.stringify(e.toSerializable(r)))},removeItem:e=>{t.removeItem(e)}}}var aD=B_(()=>Q_),oD=[{type:`files`,Icon:Ow,label:`Files`,tooltip:`View files`,defaultSection:`sidebar`,additionalKeywords:[`explorer`,`browser`,`directory`]},{type:`variables`,Icon:Kw,label:`Variables`,tooltip:`Explore variables and data sources`,defaultSection:`sidebar`,additionalKeywords:[`state`,`scope`,`inspector`]},{type:`packages`,Icon:gw,label:`Packages`,tooltip:`Manage packages`,defaultSection:`sidebar`,additionalKeywords:[`dependencies`,`pip`,`install`]},{type:`ai`,Icon:hw,label:`AI`,tooltip:`Chat & Agents`,defaultSection:`sidebar`,additionalKeywords:[`chat`,`copilot`,`assistant`]},{type:`outline`,Icon:Rw,label:`Outline`,tooltip:`View outline`,defaultSection:`sidebar`,additionalKeywords:[`toc`,`structure`,`headings`]},{type:`documentation`,Icon:Gw,label:`Docs`,tooltip:`View live docs`,defaultSection:`sidebar`,additionalKeywords:[`reference`,`api`]},{type:`dependencies`,Icon:Pw,label:`Dependencies`,tooltip:`Explore dependencies`,defaultSection:`sidebar`,additionalKeywords:[`graph`,`imports`]},{type:`errors`,Icon:xw,label:`Errors`,tooltip:`View errors`,defaultSection:`developer-panel`,additionalKeywords:[`exceptions`,`problems`,`diagnostics`]},{type:`scratchpad`,Icon:Fw,label:`Scratchpad`,tooltip:`Scratchpad`,defaultSection:`developer-panel`,additionalKeywords:[`scratch`,`draft`,`playground`]},{type:`tracing`,Icon:pw,label:`Tracing`,tooltip:`View tracing`,defaultSection:`developer-panel`,additionalKeywords:[`profiling`,`performance`]},{type:`secrets`,Icon:Aw,label:`Secrets`,tooltip:`Manage secrets`,defaultSection:`developer-panel`,hidden:_c(),additionalKeywords:[`env`,`environment`,`keys`,`credentials`]},{type:`logs`,Icon:Dw,label:`Logs`,tooltip:`View logs`,defaultSection:`developer-panel`,additionalKeywords:[`console`,`stdout`]},{type:`terminal`,Icon:Uw,label:`Terminal`,tooltip:`Terminal`,hidden:_c(),defaultSection:`developer-panel`,requiredCapability:`terminal`,additionalKeywords:[`shell`,`console`,`bash`,`command`]},{type:`snippets`,Icon:Vw,label:`Snippets`,tooltip:`Snippets`,defaultSection:`developer-panel`,additionalKeywords:[`templates`,`examples`]},{type:`cache`,Icon:Dd,label:`Cache`,tooltip:`View cache`,defaultSection:`developer-panel`,hidden:!VE(`cache_panel`),additionalKeywords:[`memory`,`memoize`]}],sD=new Map(oD.map(e=>[e.type,e]));function cD({panel:e,capabilities:t,aiEnabled:n}){return!!(e.hidden||e.type===`ai`&&!n||e.requiredCapability&&!t[e.requiredCapability])}var lD={sidebar:oD.filter(e=>!e.hidden&&e.defaultSection===`sidebar`).map(e=>e.type),developerPanel:oD.filter(e=>!e.hidden&&e.defaultSection===`developer-panel`).map(e=>e.type)};function uD(e){let t=new Set([...e.sidebar,...e.developerPanel]);return{sidebar:[...e.sidebar,...lD.sidebar.filter(e=>!t.has(e))],developerPanel:[...e.developerPanel,...lD.developerPanel.filter(e=>!t.has(e))]}}var dD=H_(`marimo:panel-layout`,lD,iD({toSerializable:e=>e,fromSerializable:e=>uD(e)}),{getOnInit:!0});function fD(e){let t=u.get(dD);return t.sidebar.includes(e)?`sidebar`:t.developerPanel.includes(e)?`developer-panel`:null}var pD=`marimo:sidebar`,mD=new ev(I({selectedPanel:$e().optional().transform(e=>e),isSidebarOpen:ka(),isDeveloperPanelOpen:ka().optional().default(!1),selectedDeveloperPanelTab:$e().optional().default(`errors`).transform(e=>e)}),hD);function hD(){return{selectedPanel:`variables`,isSidebarOpen:!1,isDeveloperPanelOpen:!1,selectedDeveloperPanelTab:`errors`}}var{reducer:gD,createActions:_D,valueAtom:vD,useActions:yD}=Ku(()=>mD.get(pD),{openApplication:(e,t)=>{let n=fD(t);return n===`sidebar`?{...e,selectedPanel:t,isSidebarOpen:!0}:n===`developer-panel`?{...e,selectedDeveloperPanelTab:t,isDeveloperPanelOpen:!0}:e},toggleApplication:(e,t)=>{let n=fD(t);return n===`sidebar`?{...e,selectedPanel:t,isSidebarOpen:!e.isSidebarOpen||e.selectedPanel!==t}:n===`developer-panel`?{...e,selectedDeveloperPanelTab:t,isDeveloperPanelOpen:!e.isDeveloperPanelOpen||e.selectedDeveloperPanelTab!==t}:e},toggleSidebarPanel:e=>({...e,isSidebarOpen:!e.isSidebarOpen}),setIsSidebarOpen:(e,t)=>({...e,isSidebarOpen:t}),toggleDeveloperPanel:e=>({...e,isDeveloperPanelOpen:!e.isDeveloperPanelOpen}),setIsDeveloperPanelOpen:(e,t)=>({...e,isDeveloperPanelOpen:t})},[(e,t)=>mD.set(pD,t)]),bD=()=>{let e=(0,X.c)(2),t=s(vD);if(t.isSidebarOpen)return t;let n;return e[0]===t?n=e[1]:(n={...t,selectedPanel:void 0},e[0]=t,e[1]=n),n};function xD(){return yD()}function SD(e){u.set(vD,t=>gD(t,{type:`openApplication`,payload:e}))}var CD=o({terminal:!1,pylsp:!1,basedpyright:!1,ty:!1,pyrefly:!1});function wD(e){return u.get(CD)?.[e]??!1}var TD=o({documentation:null}),Q={VariableName:`VariableName`,FunctionDefinition:`FunctionDefinition`,ClassDefinition:`ClassDefinition`,LambdaExpression:`LambdaExpression`,ParamList:`ParamList`,Decorator:`Decorator`,AssignStatement:`AssignStatement`,ForStatement:`ForStatement`,ImportStatement:`ImportStatement`,TryStatement:`TryStatement`,WithStatement:`WithStatement`,TupleExpression:`TupleExpression`,ArrayExpression:`ArrayExpression`,ParenthesizedExpression:`ParenthesizedExpression`,CallExpression:`CallExpression`,ArgList:`ArgList`,AssignOp:`AssignOp`,ArrayComprehensionExpression:`ArrayComprehensionExpression`,SetComprehensionExpression:`SetComprehensionExpression`,DictionaryComprehensionExpression:`DictionaryComprehensionExpression`,ComprehensionExpression:`ComprehensionExpression`,Comment:`Comment`,String:`String`,FormatString:`FormatString`},ED={For:`for`,In:`in`,As:`as`,Import:`import`},DD=new Set([Q.FunctionDefinition,Q.LambdaExpression,Q.ArrayComprehensionExpression,Q.SetComprehensionExpression,Q.DictionaryComprehensionExpression,Q.ComprehensionExpression,Q.ClassDefinition]),OD=new Set([Q.Comment,Q.String,Q.FormatString]);function kD(e){let t=Ml(e.state);if(!t||ND(t))return[];let n=new Set(Object.keys(e.variables).filter(t=>{let n=e.variables[t];return n.dataType!==`module`&&!n.declaredBy.includes(`setup`)&&!n.declaredBy.includes(e.cellId)}));if(n.size===0)return[];let r=[],i=new Map,a=new Map,o=new Map;function s(t,n){let r=t.cursor(),c=r.name,l=r.from,u=DD.has(c),d=n;switch(u&&(d=[...n,l],i.set(l,new Set),a.set(l,c)),c){case Q.FunctionDefinition:{let r=t.cursor();r.firstChild();do if(r.name===Q.VariableName){let t=e.state.doc.sliceString(r.from,r.to),a=n[n.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t);break}while(r.nextSibling());let a=t.cursor();a.firstChild();do if(a.name===Q.ParamList){let t=a.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}while(a.nextSibling());break}case Q.LambdaExpression:{let n=t.cursor();n.firstChild();do if(n.name===Q.ParamList){let t=n.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}while(n.nextSibling());break}case Q.ArrayComprehensionExpression:case Q.DictionaryComprehensionExpression:case Q.SetComprehensionExpression:case Q.ComprehensionExpression:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.For)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to);i.get(l)?.add(t)}else if(r&&n.name===Q.TupleExpression){let t=n.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}else r&&n.name===ED.In&&(r=!1);while(n.nextSibling());break}case Q.ClassDefinition:{let r=t.cursor();r.firstChild();do if(r.name===Q.VariableName){let t=e.state.doc.sliceString(r.from,r.to),a=n[n.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t);break}while(r.nextSibling());o.set(l,[]);break}case Q.AssignStatement:{let n=t.cursor(),s=[];n.firstChild();do n.name===Q.AssignOp&&s.push(n.from);while(n.nextSibling());let c=s[s.length-1],l=t.cursor();l.firstChild();let u=d[d.length-1]??-1;do l.from<c&&PD(l,{currentScope:u,state:e.state,allDeclarations:i,scopeTypes:a,classLevelDeclarations:o,assignmentPosition:r.to});while(l.nextSibling());break}case Q.ForStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.For)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),r=d[d.length-1]??-1;i.has(r)||i.set(r,new Set),i.get(r)?.add(t)}else r&&n.name===ED.In&&(r=!1);while(n.nextSibling());break}case Q.ImportStatement:{let n=t.cursor();n.firstChild();let r=d[d.length-1]??-1;i.has(r)||i.set(r,new Set);let a=i.get(r),o=!1,s=null,c=()=>{s!==null&&a?.add(s),s=null};do{if(n.name===ED.Import){o=!0;continue}if(o){if(n.name===ED.As){s=null;continue}n.name===Q.VariableName?(c(),s=e.state.doc.sliceString(n.from,n.to)):n.name===`,`&&c()}}while(n.nextSibling());c();break}case Q.TryStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.As)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),a=d[d.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t),r=!1}while(n.nextSibling());break}case Q.WithStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.As)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),a=d[d.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t),r=!1}while(n.nextSibling());break}}f(r,e=>{s(e,d)})}function c(e,t,n){let r=o.get(t);return r?r.some(([t,r])=>t===e&&r<n):!1}function l(e,t,n){for(let r of t)if(a.get(r)===Q.ClassDefinition){if(c(e,r,n))return!0}else if(i.get(r)?.has(e))return!0;return i.get(-1)?.has(e)??!1}function u(t,n){let i=t.cursor(),a=i.name,o=i.from;if(a===Q.ImportStatement)return;let s=DD.has(a),c=n;if(s&&(c=[...n,o]),a===Q.VariableName){let t=e.state.doc.sliceString(i.from,i.to);d(t,i)&&(l(t,c,i.from)||r.push({from:i.from,to:i.to,variableName:t}))}f(i,e=>{u(e,c)})}function d(e,t){return n.has(e)&&!MD(t)&&!AD(t)&&!jD(t)}function f(e,t){if(e.firstChild())do t(e.node);while(e.nextSibling())}return s(t,[]),u(t,[]),r}function AD(e){let t=e.node.cursor();if(t.moveTo(e.from),t.parent()&&t.name===Q.CallExpression&&t.firstChild())do if(t.name===Q.ArgList&&t.firstChild()){do if(t.from===e.from&&t.to===e.to)return t.nextSibling()&&t.name===Q.AssignOp;while(t.nextSibling());break}while(t.nextSibling());return!1}function jD(e){let t=e.node.cursor();if(t.parent()&&t.name===Q.AssignStatement){let n=t.node.cursor();n.firstChild();let r=-1;do if(n.name===Q.AssignOp){r=n.from;break}while(n.nextSibling());return r!==-1&&e.from<r}return!1}function MD(e){let t=e.node.cursor();return!!(t.prevSibling()&&t.name===`.`)}function ND(e){let t=e.cursor();do if(t.name===`⚠`||t.type.isError)return!0;while(t.next());return!1}function PD(e,t){switch(e.name){case Q.VariableName:{let n=t.state.doc.sliceString(e.from,e.to);if(t.currentScope!==-1&&t.scopeTypes.get(t.currentScope)===Q.ClassDefinition){let e=t.classLevelDeclarations.get(t.currentScope);e&&e.push([n,t.assignmentPosition])}else t.allDeclarations.has(t.currentScope)||t.allDeclarations.set(t.currentScope,new Set),t.allDeclarations.get(t.currentScope)?.add(n);break}case Q.TupleExpression:{let n=e.node.cursor();n.firstChild();do PD(n,t);while(n.nextSibling());break}case Q.ArrayExpression:{let n=e.node.cursor();n.firstChild();do PD(n,t);while(n.nextSibling());break}}}var FD=Zl.mark({class:`mo-cm-reactive-reference`}),ID=Zl.mark({class:`mo-cm-reactive-reference-hover`}),LD=Yl.define(),RD=class{view;cellId;variablesUnsubscribe;highlightDebounceMs=300;scheduleHighlighting;constructor(e,t){this.view=e,this.cellId=t,this.scheduleHighlighting=ec(()=>{this.runHighlighting()},this.highlightDebounceMs),this.variablesUnsubscribe=u.sub(eD,()=>{this.scheduleHighlighting()}),this.scheduleHighlighting()}update(e){(e.docChanged||e.focusChanged)&&this.scheduleHighlighting()}destroy(){this.scheduleHighlighting.cancel(),this.variablesUnsubscribe()}runHighlighting(){let e=kD({state:this.view.state,cellId:this.cellId,variables:u.get(eD)});e.length>0&&B.debug(`Found ${e.length} reactive variables in cell ${this.cellId}`),queueMicrotask(()=>{this.view.dispatch({effects:LD.of(e)})})}},zD=Bl.define({create(){return{decorations:Zl.none,ranges:[]}},update(e,t){let n={decorations:e.decorations.map(t.changes),ranges:e.ranges};for(let e of t.effects)e.is(LD)&&(n={decorations:Zl.set(e.value.map(e=>FD.range(e.from,e.to))),ranges:e.value});return n},provide:e=>pu.decorations.from(e,e=>e.decorations)});function BD(e){return[zD,hu.define(t=>new RD(t,e))]}function VD(e,t){return t?BD(e):[]}function HD(e,t=!1){if(!e)return null;let n=document.createElement(`span`);if(n.classList.add(`mo-cm-tooltip`),n.classList.add(`docs-documentation`),t&&n.classList.add(`cm-tooltip-section`),n.style.display=`flex`,n.style.flexDirection=`column`,n.style.gap=`.8rem`,n.innerHTML=e,t){let e=document.createElement(`div`);e.classList.add(`text-xs`,`text-muted-foreground`,`font-medium`,`pt-1`,`-mt-2`,`border-t`,`border-border`);let t=document.createElement(`kbd`);t.className=`ml-1 rounded-md bg-muted/40 px-2 text-[0.75rem] font-prose center border border-foreground/20 text-muted-foreground inline whitespace-nowrap`,t.textContent=lc()?`⌘`:`Ctrl`,e.append(document.createTextNode(`Jump to defining cell `)),e.append(t),e.append(document.createTextNode(` + Click`)),n.append(e)}return n}var UD=new kd(`autocomplete-result`,async(e,t)=>{let{sendCodeCompletionRequest:n}=rd();await n({id:e,...t})}),WD={param:3,property:2},GD={asCompletionResult(e,t){return{from:e-t.prefix_length,options:t.options.map(e=>({label:e.name,type:e.type,boost:WD[e.type]??1,info:()=>HD(e.completion_info)})),validFor:/^\w*$/}},asHoverTooltip({position:e,message:t,limitToType:n,excludeTypes:r,exactName:i,showGoToDefinitionHint:a=!1}){let o=KD(t.options,i);if(!o)return;let s=e-t.prefix_length,c=HD(o.completion_info,a);if(c&&!(n&&o.type!==n)&&!r?.includes(o.type))return{pos:s,html:o.completion_info,end:s+o.name.length,above:!0,create:()=>({dom:c,resize:!1})}}};function KD(e,t){if(e.length!==0){if(e.length===1)return e[0];if(t)return e.find(e=>e.name===t)}}function qD(e){return[e?.pylsp?.enabled&&wD(`pylsp`)||e?.ty?.enabled&&wD(`ty`)||e?.pyrefly?.enabled&&wD(`pyrefly`)||e?.basedpyright?.enabled&&wD(`basedpyright`)?[]:gu(async(e,t)=>{let n=await JD({view:e,pos:t,excludeTypes:[`tooltip`]});return n===null||n===`cancelled`?null:n},{hideOnChange:!0}),QD]}async function JD({view:e,pos:t,excludeTypes:n}){let r=Xm.findElement(e.dom);if(!r)return B.error(`Failed to find active cell.`),null;let i=Xm.parse(r.id),{startToken:a,endToken:o}=YD(e.state.doc,t),s=e.state.field(zD,!1)?.ranges.some(e=>t>=e.from&&t<=e.to)??!1,c=await UD.request({document:e.state.doc.slice(0,o).toString(),cellId:i});if(!c)return`cancelled`;let l=e.state.doc.slice(a,o).toString();return GD.asHoverTooltip({position:o,message:c,exactName:l,excludeTypes:n,showGoToDefinitionHint:s})??null}function YD(e,t){let n=t,r=n>0?e.sliceString(n-1,n):``,i=n<e.length?e.sliceString(n,n+1):``;r===`(`&&i===`)`&&--n;let a=n,o=n;for(;a>0;){let t=e.sliceString(a-1,a);if(!/\w/.test(t))break;a--}for(;o<e.length;){let t=e.sliceString(o,o+1);if(!/\w/.test(t))break;o++}return{startToken:a,endToken:o}}function XD(e){let{head:t}=e.selection.main,n=e.doc.sliceString(t-1,t);return/\w/.test(n)}var ZD=ec(async(e,t)=>{if(u.get(vD).selectedPanel!==`documentation`)return;let n=await JD({view:e,pos:t});n!==`cancelled`&&u.set(TD,{documentation:n?.html??null})},300),QD=pu.updateListener.of(e=>{if(e.selectionSet&&XD(e.state)){let t=e.state.selection.main.head;ZD(e.view,t)}});function $D(e){var t=e.Pos;function n(e,t,n){if(t.line===n.line&&t.ch>=n.ch-1){var r=e.getLine(t.line).charCodeAt(t.ch);55296<=r&&r<=55551&&(n.ch+=1)}return{start:t,end:n}}var r=[{keys:`<Left>`,type:`keyToKey`,toKeys:`h`},{keys:`<Right>`,type:`keyToKey`,toKeys:`l`},{keys:`<Up>`,type:`keyToKey`,toKeys:`k`},{keys:`<Down>`,type:`keyToKey`,toKeys:`j`},{keys:`g<Up>`,type:`keyToKey`,toKeys:`gk`},{keys:`g<Down>`,type:`keyToKey`,toKeys:`gj`},{keys:`<Space>`,type:`keyToKey`,toKeys:`l`},{keys:`<BS>`,type:`keyToKey`,toKeys:`h`},{keys:`<Del>`,type:`keyToKey`,toKeys:`x`},{keys:`<C-Space>`,type:`keyToKey`,toKeys:`W`},{keys:`<C-BS>`,type:`keyToKey`,toKeys:`B`},{keys:`<S-Space>`,type:`keyToKey`,toKeys:`w`},{keys:`<S-BS>`,type:`keyToKey`,toKeys:`b`},{keys:`<C-n>`,type:`keyToKey`,toKeys:`j`},{keys:`<C-p>`,type:`keyToKey`,toKeys:`k`},{keys:`<C-[>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-c>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-[>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`<C-c>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`<C-Esc>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-Esc>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`s`,type:`keyToKey`,toKeys:`cl`,context:`normal`},{keys:`s`,type:`keyToKey`,toKeys:`c`,context:`visual`},{keys:`S`,type:`keyToKey`,toKeys:`cc`,context:`normal`},{keys:`S`,type:`keyToKey`,toKeys:`VdO`,context:`visual`},{keys:`<Home>`,type:`keyToKey`,toKeys:`0`},{keys:`<End>`,type:`keyToKey`,toKeys:`$`},{keys:`<PageUp>`,type:`keyToKey`,toKeys:`<C-b>`},{keys:`<PageDown>`,type:`keyToKey`,toKeys:`<C-f>`},{keys:`<CR>`,type:`keyToKey`,toKeys:`j^`,context:`normal`},{keys:`<Ins>`,type:`keyToKey`,toKeys:`i`,context:`normal`},{keys:`<Ins>`,type:`action`,action:`toggleOverwrite`,context:`insert`},{keys:`H`,type:`motion`,motion:`moveToTopLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`M`,type:`motion`,motion:`moveToMiddleLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`L`,type:`motion`,motion:`moveToBottomLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`h`,type:`motion`,motion:`moveByCharacters`,motionArgs:{forward:!1}},{keys:`l`,type:`motion`,motion:`moveByCharacters`,motionArgs:{forward:!0}},{keys:`j`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,linewise:!0}},{keys:`k`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!1,linewise:!0}},{keys:`gj`,type:`motion`,motion:`moveByDisplayLines`,motionArgs:{forward:!0}},{keys:`gk`,type:`motion`,motion:`moveByDisplayLines`,motionArgs:{forward:!1}},{keys:`w`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!1}},{keys:`W`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:`e`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:`E`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:`b`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1}},{keys:`B`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:`ge`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:`gE`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:`{`,type:`motion`,motion:`moveByParagraph`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`}`,type:`motion`,motion:`moveByParagraph`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`(`,type:`motion`,motion:`moveBySentence`,motionArgs:{forward:!1}},{keys:`)`,type:`motion`,motion:`moveBySentence`,motionArgs:{forward:!0}},{keys:`<C-f>`,type:`motion`,motion:`moveByPage`,motionArgs:{forward:!0}},{keys:`<C-b>`,type:`motion`,motion:`moveByPage`,motionArgs:{forward:!1}},{keys:`<C-d>`,type:`motion`,motion:`moveByScroll`,motionArgs:{forward:!0,explicitRepeat:!0}},{keys:`<C-u>`,type:`motion`,motion:`moveByScroll`,motionArgs:{forward:!1,explicitRepeat:!0}},{keys:`gg`,type:`motion`,motion:`moveToLineOrEdgeOfDocument`,motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:`G`,type:`motion`,motion:`moveToLineOrEdgeOfDocument`,motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:`g$`,type:`motion`,motion:`moveToEndOfDisplayLine`},{keys:`g^`,type:`motion`,motion:`moveToStartOfDisplayLine`},{keys:`g0`,type:`motion`,motion:`moveToStartOfDisplayLine`},{keys:`0`,type:`motion`,motion:`moveToStartOfLine`},{keys:`^`,type:`motion`,motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`+`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,toFirstChar:!0}},{keys:`-`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!1,toFirstChar:!0}},{keys:`_`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:`$`,type:`motion`,motion:`moveToEol`,motionArgs:{inclusive:!0}},{keys:`%`,type:`motion`,motion:`moveToMatchedSymbol`,motionArgs:{inclusive:!0,toJumplist:!0}},{keys:`f<character>`,type:`motion`,motion:`moveToCharacter`,motionArgs:{forward:!0,inclusive:!0}},{keys:`F<character>`,type:`motion`,motion:`moveToCharacter`,motionArgs:{forward:!1}},{keys:`t<character>`,type:`motion`,motion:`moveTillCharacter`,motionArgs:{forward:!0,inclusive:!0}},{keys:`T<character>`,type:`motion`,motion:`moveTillCharacter`,motionArgs:{forward:!1}},{keys:`;`,type:`motion`,motion:`repeatLastCharacterSearch`,motionArgs:{forward:!0}},{keys:`,`,type:`motion`,motion:`repeatLastCharacterSearch`,motionArgs:{forward:!1}},{keys:`'<register>`,type:`motion`,motion:`goToMark`,motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:`motion`,motion:`goToMark`,motionArgs:{toJumplist:!0}},{keys:"]`",type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!0}},{keys:"[`",type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!1}},{keys:`]'`,type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!0,linewise:!0}},{keys:`['`,type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!1,linewise:!0}},{keys:`]p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:`[p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:`]<character>`,type:`motion`,motion:`moveToSymbol`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`[<character>`,type:`motion`,motion:`moveToSymbol`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`|`,type:`motion`,motion:`moveToColumn`},{keys:`o`,type:`motion`,motion:`moveToOtherHighlightedEnd`,context:`visual`},{keys:`O`,type:`motion`,motion:`moveToOtherHighlightedEnd`,motionArgs:{sameLine:!0},context:`visual`},{keys:`d`,type:`operator`,operator:`delete`},{keys:`y`,type:`operator`,operator:`yank`},{keys:`c`,type:`operator`,operator:`change`},{keys:`=`,type:`operator`,operator:`indentAuto`},{keys:`>`,type:`operator`,operator:`indent`,operatorArgs:{indentRight:!0}},{keys:`<`,type:`operator`,operator:`indent`,operatorArgs:{indentRight:!1}},{keys:`g~`,type:`operator`,operator:`changeCase`},{keys:`gu`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!0},isEdit:!0},{keys:`gU`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!1},isEdit:!0},{keys:`n`,type:`motion`,motion:`findNext`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`N`,type:`motion`,motion:`findNext`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`gn`,type:`motion`,motion:`findAndSelectNextInclusive`,motionArgs:{forward:!0}},{keys:`gN`,type:`motion`,motion:`findAndSelectNextInclusive`,motionArgs:{forward:!1}},{keys:`gq`,type:`operator`,operator:`hardWrap`},{keys:`gw`,type:`operator`,operator:`hardWrap`,operatorArgs:{keepCursor:!0}},{keys:`g?`,type:`operator`,operator:`rot13`},{keys:`x`,type:`operatorMotion`,operator:`delete`,motion:`moveByCharacters`,motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:`X`,type:`operatorMotion`,operator:`delete`,motion:`moveByCharacters`,motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:`D`,type:`operatorMotion`,operator:`delete`,motion:`moveToEol`,motionArgs:{inclusive:!0},context:`normal`},{keys:`D`,type:`operator`,operator:`delete`,operatorArgs:{linewise:!0},context:`visual`},{keys:`Y`,type:`operatorMotion`,operator:`yank`,motion:`expandToLine`,motionArgs:{linewise:!0},context:`normal`},{keys:`Y`,type:`operator`,operator:`yank`,operatorArgs:{linewise:!0},context:`visual`},{keys:`C`,type:`operatorMotion`,operator:`change`,motion:`moveToEol`,motionArgs:{inclusive:!0},context:`normal`},{keys:`C`,type:`operator`,operator:`change`,operatorArgs:{linewise:!0},context:`visual`},{keys:`~`,type:`operatorMotion`,operator:`changeCase`,motion:`moveByCharacters`,motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:`normal`},{keys:`~`,type:`operator`,operator:`changeCase`,context:`visual`},{keys:`<C-u>`,type:`operatorMotion`,operator:`delete`,motion:`moveToStartOfLine`,context:`insert`},{keys:`<C-w>`,type:`operatorMotion`,operator:`delete`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1},context:`insert`},{keys:`<C-w>`,type:`idle`,context:`normal`},{keys:`<C-i>`,type:`action`,action:`jumpListWalk`,actionArgs:{forward:!0}},{keys:`<C-o>`,type:`action`,action:`jumpListWalk`,actionArgs:{forward:!1}},{keys:`<C-e>`,type:`action`,action:`scroll`,actionArgs:{forward:!0,linewise:!0}},{keys:`<C-y>`,type:`action`,action:`scroll`,actionArgs:{forward:!1,linewise:!0}},{keys:`a`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`charAfter`},context:`normal`},{keys:`A`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`eol`},context:`normal`},{keys:`A`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`endOfSelectedArea`},context:`visual`},{keys:`i`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`inplace`},context:`normal`},{keys:`gi`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`lastEdit`},context:`normal`},{keys:`I`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`firstNonBlank`},context:`normal`},{keys:`gI`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`bol`},context:`normal`},{keys:`I`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`startOfSelectedArea`},context:`visual`},{keys:`o`,type:`action`,action:`newLineAndEnterInsertMode`,isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:`normal`},{keys:`O`,type:`action`,action:`newLineAndEnterInsertMode`,isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:`normal`},{keys:`v`,type:`action`,action:`toggleVisualMode`},{keys:`V`,type:`action`,action:`toggleVisualMode`,actionArgs:{linewise:!0}},{keys:`<C-v>`,type:`action`,action:`toggleVisualMode`,actionArgs:{blockwise:!0}},{keys:`<C-q>`,type:`action`,action:`toggleVisualMode`,actionArgs:{blockwise:!0}},{keys:`gv`,type:`action`,action:`reselectLastSelection`},{keys:`J`,type:`action`,action:`joinLines`,isEdit:!0},{keys:`gJ`,type:`action`,action:`joinLines`,actionArgs:{keepSpaces:!0},isEdit:!0},{keys:`p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:`P`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:`r<character>`,type:`action`,action:`replace`,isEdit:!0},{keys:`@<register>`,type:`action`,action:`replayMacro`},{keys:`q<register>`,type:`action`,action:`enterMacroRecordMode`},{keys:`R`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{replace:!0},context:`normal`},{keys:`R`,type:`operator`,operator:`change`,operatorArgs:{linewise:!0,fullLine:!0},context:`visual`,exitVisualBlock:!0},{keys:`u`,type:`action`,action:`undo`,context:`normal`},{keys:`u`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!0},context:`visual`,isEdit:!0},{keys:`U`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!1},context:`visual`,isEdit:!0},{keys:`<C-r>`,type:`action`,action:`redo`},{keys:`m<register>`,type:`action`,action:`setMark`},{keys:`"<register>`,type:`action`,action:`setRegister`},{keys:`<C-r><register>`,type:`action`,action:`insertRegister`,context:`insert`,isEdit:!0},{keys:`<C-o>`,type:`action`,action:`oneNormalCommand`,context:`insert`},{keys:`zz`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`center`}},{keys:`z.`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`center`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`zt`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`top`}},{keys:`z<CR>`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`top`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`zb`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`bottom`}},{keys:`z-`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`bottom`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`.`,type:`action`,action:`repeatLastEdit`},{keys:`<C-a>`,type:`action`,action:`incrementNumberToken`,isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:`<C-x>`,type:`action`,action:`incrementNumberToken`,isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:`<C-t>`,type:`action`,action:`indent`,actionArgs:{indentRight:!0},context:`insert`},{keys:`<C-d>`,type:`action`,action:`indent`,actionArgs:{indentRight:!1},context:`insert`},{keys:`a<register>`,type:`motion`,motion:`textObjectManipulation`},{keys:`i<register>`,type:`motion`,motion:`textObjectManipulation`,motionArgs:{textObjectInner:!0}},{keys:`/`,type:`search`,searchArgs:{forward:!0,querySrc:`prompt`,toJumplist:!0}},{keys:`?`,type:`search`,searchArgs:{forward:!1,querySrc:`prompt`,toJumplist:!0}},{keys:`*`,type:`search`,searchArgs:{forward:!0,querySrc:`wordUnderCursor`,wholeWordOnly:!0,toJumplist:!0}},{keys:`#`,type:`search`,searchArgs:{forward:!1,querySrc:`wordUnderCursor`,wholeWordOnly:!0,toJumplist:!0}},{keys:`g*`,type:`search`,searchArgs:{forward:!0,querySrc:`wordUnderCursor`,toJumplist:!0}},{keys:`g#`,type:`search`,searchArgs:{forward:!1,querySrc:`wordUnderCursor`,toJumplist:!0}},{keys:`:`,type:`ex`}],i=Object.create(null),a=r.length,o=[{name:`colorscheme`,shortName:`colo`},{name:`map`},{name:`imap`,shortName:`im`},{name:`nmap`,shortName:`nm`},{name:`vmap`,shortName:`vm`},{name:`omap`,shortName:`om`},{name:`noremap`,shortName:`no`},{name:`nnoremap`,shortName:`nn`},{name:`vnoremap`,shortName:`vn`},{name:`inoremap`,shortName:`ino`},{name:`onoremap`,shortName:`ono`},{name:`unmap`},{name:`mapclear`,shortName:`mapc`},{name:`nmapclear`,shortName:`nmapc`},{name:`vmapclear`,shortName:`vmapc`},{name:`imapclear`,shortName:`imapc`},{name:`omapclear`,shortName:`omapc`},{name:`write`,shortName:`w`},{name:`undo`,shortName:`u`},{name:`redo`,shortName:`red`},{name:`set`,shortName:`se`},{name:`setlocal`,shortName:`setl`},{name:`setglobal`,shortName:`setg`},{name:`sort`,shortName:`sor`},{name:`substitute`,shortName:`s`,possiblyAsync:!0},{name:`startinsert`,shortName:`start`},{name:`nohlsearch`,shortName:`noh`},{name:`yank`,shortName:`y`},{name:`delmarks`,shortName:`delm`},{name:`marks`,excludeFromCommandHistory:!0},{name:`registers`,shortName:`reg`,excludeFromCommandHistory:!0},{name:`vglobal`,shortName:`v`},{name:`delete`,shortName:`d`},{name:`join`,shortName:`j`},{name:`normal`,shortName:`norm`},{name:`global`,shortName:`g`}],s=fe(``);function c(t){t.setOption(`disableInput`,!0),t.setOption(`showCursorWhenSelecting`,!1),e.signal(t,`vim-mode-change`,{mode:`normal`}),t.on(`cursorActivity`,fn),ne(t),e.on(t.getInputField(),`paste`,u(t))}function l(t){t.setOption(`disableInput`,!1),t.off(`cursorActivity`,fn),e.off(t.getInputField(),`paste`,u(t)),t.state.vim=null,Ht&&clearTimeout(Ht)}function u(e){var t=e.state.vim;return t.onPasteFn||=function(){t.insertMode||(e.setCursor(Ae(e.getCursor(),0,1)),Ee.enterInsertMode(e,{},t))},t.onPasteFn}var d=/[\d]/,f=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\s/.test(t)}],p=[function(e){return/\S/.test(e)}],m=[`<`,`>`],h=[`-`,`"`,`.`,`:`,`_`,`/`,`+`],g=/^\w$/,_=/^[A-Z]$/;try{_=RegExp(`^[\\p{Lu}]$`,`u`)}catch{}function v(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function y(e){return/^[a-z]$/.test(e)}function b(e){return`()[]{}`.indexOf(e)!=-1}function x(e){return d.test(e)}function S(e){return _.test(e)}function C(e){return/^\s*$/.test(e)}function w(e){return`.?!`.indexOf(e)!=-1}function T(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var E={};function D(e,t,n,r,i){if(t===void 0&&!i)throw Error(`defaultValue is required unless callback is provided`);if(n||=`string`,E[e]={type:n,defaultValue:t,callback:i},r)for(var a=0;a<r.length;a++)E[r[a]]=E[e];t&&O(e,t)}function O(e,t,n,r){var i=E[e];r||={};var a=r.scope;if(!i)return Error(`Unknown option: `+e);if(i.type==`boolean`){if(t&&t!==!0)return Error(`Invalid argument: `+e+`=`+t);t!==!1&&(t=!0)}i.callback?(a!==`local`&&i.callback(t,void 0),a!==`global`&&n&&i.callback(t,n)):(a!==`local`&&(i.value=i.type==`boolean`?!!t:t),a!==`global`&&n&&(n.state.vim.options[e]={value:t}))}function k(e,t,n){var r=E[e];n||={};var i=n.scope;if(!r)return Error(`Unknown option: `+e);if(r.callback){let e=t&&r.callback(void 0,t);return i!==`global`&&e!==void 0?e:i===`local`?void 0:r.callback()}return(i!==`global`&&t&&t.state.vim.options[e]||i!==`local`&&r||{}).value}D(`filetype`,void 0,`string`,[`ft`],function(e,t){if(t!==void 0){if(e===void 0){let e=t.getOption(`mode`);return e==`null`?``:e}{let n=e==``?`null`:e;t.setOption(`mode`,n)}}}),D(`textwidth`,80,`number`,[`tw`],function(e,t){if(t!==void 0){if(e===void 0)return t.getOption(`textwidth`);var n=Math.round(e);n>1&&t.setOption(`textwidth`,n)}});var ee=function(){var e=100,t=-1,n=0,r=0,i=Array(e);function a(a,o,s){var c=i[t%e];function l(n){var r=++t%e,o=i[r];o&&o.clear(),i[r]=a.setBookmark(n)}if(c){var u=c.find();u&&!Ie(u,o)&&l(o)}else l(o);l(s),n=t,r=t-e+1,r<0&&(r=0)}function o(a,o){t+=o,t>n?t=n:t<r&&(t=r);var s=i[(e+t)%e];if(s&&!s.find()){var c=o>0?1:-1,l,u=a.getCursor();do if(t+=c,s=i[(e+t)%e],s&&(l=s.find())&&!Ie(u,l))break;while(t<n&&t>r)}return s}function s(e,n){var r=t,i=o(e,n);return t=r,i&&i.find()}return{cachedCursor:void 0,add:a,find:s,move:o}},A=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};class te{constructor(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=A()}exitMacroRecordMode(){var e=j.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1}enterMacroRecordMode(e,t){var n=j.registerController.getRegister(t);if(n){if(n.clear(),this.latestRegister=t,e.openDialog){var r=Ft(`span`,{class:`cm-vim-message`},`recording @`+t);this.onRecordingDone=e.openDialog(r,function(){},{bottom:!0})}this.isRecording=!0}}}function ne(e){return e.state.vim||(e.state.vim={inputState:new pe,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:void 0,sel:{anchor:new t(0,0),head:new t(0,0)},options:{},expectLiteralNext:!1,status:``}),e.state.vim}var j;function M(){for(var e in j={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ee(),macroModeState:new te,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:``},registerController:new ve({}),searchHistoryController:new ye,exCommandHistoryController:new ye},E){var t=E[e];t.value=t.defaultValue}}class N{constructor(e,t){this.keyName=e,this.key=t.key,this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.shiftKey=t.shiftKey}}var re,ie={enterVimMode:c,leaveVimMode:l,buildKeyMap:function(){},getRegisterController:function(){return j.registerController},resetVimGlobalState_:M,getVimGlobalState_:function(){return j},maybeInitVimState_:ne,suppressErrorLogging:!1,InsertModeKey:N,map:function(e,t,n){$t.map(e,t,n)},unmap:function(e,t){return $t.unmap(e,t)},noremap:function(e,t,n){$t.map(e,t,n,!0)},mapclear:function(e){var t=r.length,n=a,i=r.slice(0,t-n);if(r=r.slice(t-n),e)for(var o=i.length-1;o>=0;o--){var s=i[o];if(e!==s.context){if(s.context)this._mapCommand(s);else{var c=[`normal`,`insert`,`visual`];for(var l in c)if(c[l]!==e){var u=Object.assign({},s);u.context=c[l],this._mapCommand(u)}}}}},langmap:de,vimKeyFromEvent:ue,setOption:O,getOption:k,defineOption:D,defineEx:function(e,t,n){if(!t)t=e;else if(e.indexOf(t)!==0)throw Error(`(Vim.defineEx) "`+t+`" is not a prefix of "`+e+`", command not registered`);Qt[e]=n,$t.commandMap_[t]={name:e,shortName:t,type:`api`}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if(typeof r==`function`)return r()},multiSelectHandleKey:yn,findKey:function(t,n,i){var a=ne(t),o=t;function s(){var e=j.macroModeState;if(e.isRecording){if(n==`q`)return e.exitMacroRecordMode(),me(o),!0;i!=`mapping`&&cn(e,n)}}function c(){if(n==`<Esc>`){if(a.visualMode)et(o);else if(a.insertMode)tn(o);else return;return me(o),!0}}function l(){if(c())return!0;a.inputState.keyBuffer.push(n);var e=a.inputState.keyBuffer.join(``),t=n.length==1,i=be.matchCommand(e,r,a.inputState,`insert`),s=a.inputState.changeQueue;if(i.type==`none`)return me(o),!1;if(i.type==`partial`){if(i.expectLiteralNext&&(a.expectLiteralNext=!0),re&&window.clearTimeout(re),re=t&&window.setTimeout(function(){a.insertMode&&a.inputState.keyBuffer.length&&me(o)},k(`insertModeEscKeysTimeout`)),t){var l=o.listSelections();(!s||s.removed.length!=l.length)&&(s=a.inputState.changeQueue=new he),s.inserted+=n;for(var u=0;u<l.length;u++){var d=Re(l[u].anchor,l[u].head),f=ze(l[u].anchor,l[u].head),p=o.getRange(d,o.state.overwrite?Ae(f,0,1):f);s.removed[u]=(s.removed[u]||``)+p}}return!t}if(i.type==`full`&&(a.inputState.keyBuffer.length=0),a.expectLiteralNext=!1,re&&window.clearTimeout(re),i.command&&s){for(var l=o.listSelections(),u=0;u<l.length;u++){var m=l[u].head;o.replaceRange(s.removed[u]||``,Ae(m,0,-s.inserted.length),m,`+input`)}j.macroModeState.lastInsertModeChanges.changes.pop()}return i.command||me(o),i.command}function u(){if(s()||c())return!0;a.inputState.keyBuffer.push(n);var e=a.inputState.keyBuffer.join(``);if(/^[1-9]\d*$/.test(e))return!0;var t=/^(\d*)(.*)$/.exec(e);if(!t)return me(o),!1;var i=a.visualMode?`visual`:`normal`,l=t[2]||t[1];a.inputState.operatorShortcut&&a.inputState.operatorShortcut.slice(-1)==l&&(l=a.inputState.operatorShortcut);var u=be.matchCommand(l,r,a.inputState,i);return u.type==`none`?(me(o),!1):u.type==`partial`?(u.expectLiteralNext&&(a.expectLiteralNext=!0),!0):u.type==`clear`?(me(o),!0):(a.expectLiteralNext=!1,a.inputState.keyBuffer.length=0,t=/^(\d*)(.*)$/.exec(e),t&&t[1]&&t[1]!=`0`&&a.inputState.pushRepeatDigit(t[1]),u.command)}var d=a.insertMode?l():u();if(d===!1)return!a.insertMode&&(n.length===1||e.isMac&&/<A-.>/.test(n))?function(){return!0}:void 0;if(d===!0)return function(){return!0};if(d)return function(){return o.operation(function(){o.curOp.isVimOp=!0;try{if(typeof d!=`object`)return;d.type==`keyToKey`?oe(o,d.toKeys,d):be.processCommand(o,a,d)}catch(e){throw o.state.vim=void 0,ne(o),ie.suppressErrorLogging||console.log(e),e}return!0})}},handleEx:function(e,t){$t.processCommand(e,t)},defineMotion:Se,defineAction:De,defineOperator:Te,mapCommand:on,_mapCommand:nn,defineRegister:_e,exitVisualMode:et,exitInsertMode:tn},P=[],ae=!1,F;function I(e){if(!F)throw Error(`No prompt to send key to`);if(e[0]==`<`){var t=e.toLowerCase().slice(1,-1);if(t=t.split(`-`).pop()||``,t==`lt`)e=`<`;else if(t==`space`)e=` `;else if(t==`cr`)e=`
53
+ `);e!==n&&this.getTextFromDoc(this.doc).delete(e+t,n-e),o.length>0&&this.getTextFromDoc(this.doc).insert(e+t,o),t+=o.length-(n-e)}),this.doc.commit()}destroy(){this.sub?.(),this.sub=void 0}};function zE(e,t){if(typeof window>`u`)return;let n=`__marimo__${t}`;window[n]&&B.warn(`Overwriting existing debug object ${n}`),window[n]=e}var BE={markdown:!0,wasm_layouts:!1,rtc_v2:!1,cache_panel:!1,external_agents:!1,debugger:!1,line_timing:!1};function VE(e){return rc()?.experimental?.[e]??BE[e]}function HE(e,t){rd().saveUserConfig({config:{experimental:{[e]:t}}})}zE(HE,`setFeatureFlag`);function UE(e,t){return{get:()=>t.get(e),sub:n=>t.sub(e,()=>n(t.get(e)))}}function WE(e,{offset:t,body:n=window,behavior:r=`smooth`}){let i=t?.top??0,a=t?.bottom??0,o=e.getBoundingClientRect();if(o.top<i){n.scrollBy({top:o.top-i,behavior:r});return}if(o.bottom>window.innerHeight-a){n.scrollBy({top:o.bottom-window.innerHeight+a,behavior:r});return}}function GE(e){return e?e.state.field(tH).type:`python`}function KE(e,t){return!e||GE(e)===t?!1:e.state.doc.toString().trim()===``||XF[t].isSupported(lH(e))}function qE(e,t,n={}){return!n.force&&!KE(e,t)?!1:(sH(e,{language:t}),t)}function JE(e){return H.of([{key:e.getHotkey(`cell.format`).key,preventDefault:!0,run:e=>(PT({[e.state.facet(bC)]:e}),!0)},{key:e.getHotkey(`cell.viewAsMarkdown`).key,preventDefault:!0,run:e=>{let t=qE(e,GE(e)===`markdown`?`python`:`markdown`,{force:!0});return t===`markdown`&&e.state.facet(yC).afterToggleMarkdown(),t!==!1}},{key:e.getHotkey(`cell.viewAsSQL`).key,preventDefault:!0,run:e=>{let t=qE(e,GE(e)===`sql`?`python`:`sql`,{force:!0});return t===`sql`&&e.state.facet(yC).afterToggleSQL(),t!==!1}}])}function YE(){return pu.updateListener.of(e=>{if(e.view.hasFocus&&e.heightChanged&&e.docChanged){if(e.transactions.some(e=>e.effects.some(e=>e.is(NT))))return;XE(e.view,{behavior:`smooth`})}})}function XE(e,t){let n=e.dom.getElementsByClassName(`cm-activeLine cm-line`);if(n.length===1){let e=n[0],r=document.getElementById(`App`);mc(r,`App not found`),WE(e,{offset:{top:30,bottom:150},body:r,behavior:t.behavior})}}function ZE(){return{}}var{reducer:QE,createActions:$E,valueAtom:eD,useActions:tD}=Ku(ZE,{setVariables:(e,t)=>{let n={...e},r={};for(let e of t)r[e.name]={...n[e.name],...e};return r},addVariables:(e,t)=>{let n={...e};for(let e of t)n[e.name]={...n[e.name],...e};return n},setMetadata:(e,t)=>{let n={...e};for(let{name:e,value:r,dataType:i}of t)n[e]&&(n[e]={...n[e],value:r,dataType:i});return n}}),nD=()=>s(eD);function rD(){return tD()}function iD(e){let t=e.storage||Q_;return{getItem(n,r){try{let i=t.getItem(n);if(!i)return r;let a=JSON.parse(i);return e.fromSerializable(a)}catch(e){return B.warn(`Error getting ${n} from storage`,e),r}},setItem:(n,r)=>{t.setItem(n,JSON.stringify(e.toSerializable(r)))},removeItem:e=>{t.removeItem(e)}}}var aD=B_(()=>Q_),oD=[{type:`files`,Icon:Ow,label:`Files`,tooltip:`View files and remote storage`,defaultSection:`sidebar`,additionalKeywords:[`explorer`,`browser`,`directory`]},{type:`variables`,Icon:Kw,label:`Variables`,tooltip:`Explore variables and data sources`,defaultSection:`sidebar`,additionalKeywords:[`state`,`scope`,`inspector`]},{type:`packages`,Icon:gw,label:`Packages`,tooltip:`Manage packages`,defaultSection:`sidebar`,additionalKeywords:[`dependencies`,`pip`,`install`]},{type:`ai`,Icon:hw,label:`AI`,tooltip:`Chat & Agents`,defaultSection:`sidebar`,additionalKeywords:[`chat`,`copilot`,`assistant`]},{type:`outline`,Icon:Rw,label:`Outline`,tooltip:`View outline`,defaultSection:`sidebar`,additionalKeywords:[`toc`,`structure`,`headings`]},{type:`documentation`,Icon:Gw,label:`Docs`,tooltip:`View live docs`,defaultSection:`sidebar`,additionalKeywords:[`reference`,`api`]},{type:`dependencies`,Icon:Pw,label:`Dependencies`,tooltip:`Explore dependencies`,defaultSection:`sidebar`,additionalKeywords:[`graph`,`imports`]},{type:`errors`,Icon:xw,label:`Errors`,tooltip:`View errors`,defaultSection:`developer-panel`,additionalKeywords:[`exceptions`,`problems`,`diagnostics`]},{type:`scratchpad`,Icon:Fw,label:`Scratchpad`,tooltip:`Scratchpad`,defaultSection:`developer-panel`,additionalKeywords:[`scratch`,`draft`,`playground`]},{type:`tracing`,Icon:pw,label:`Tracing`,tooltip:`View tracing`,defaultSection:`developer-panel`,additionalKeywords:[`profiling`,`performance`]},{type:`secrets`,Icon:Aw,label:`Secrets`,tooltip:`Manage secrets`,defaultSection:`developer-panel`,hidden:_c(),additionalKeywords:[`env`,`environment`,`keys`,`credentials`]},{type:`logs`,Icon:Dw,label:`Logs`,tooltip:`View logs`,defaultSection:`developer-panel`,additionalKeywords:[`console`,`stdout`]},{type:`terminal`,Icon:Uw,label:`Terminal`,tooltip:`Terminal`,hidden:_c(),defaultSection:`developer-panel`,requiredCapability:`terminal`,additionalKeywords:[`shell`,`console`,`bash`,`command`]},{type:`snippets`,Icon:Vw,label:`Snippets`,tooltip:`Snippets`,defaultSection:`developer-panel`,additionalKeywords:[`templates`,`examples`]},{type:`cache`,Icon:Dd,label:`Cache`,tooltip:`View cache`,defaultSection:`developer-panel`,hidden:!VE(`cache_panel`),additionalKeywords:[`memory`,`memoize`]}],sD=new Map(oD.map(e=>[e.type,e]));function cD({panel:e,capabilities:t,aiEnabled:n}){return!!(e.hidden||e.type===`ai`&&!n||e.requiredCapability&&!t[e.requiredCapability])}var lD={sidebar:oD.filter(e=>!e.hidden&&e.defaultSection===`sidebar`).map(e=>e.type),developerPanel:oD.filter(e=>!e.hidden&&e.defaultSection===`developer-panel`).map(e=>e.type)};function uD(e){let t=new Set([...e.sidebar,...e.developerPanel]);return{sidebar:[...e.sidebar,...lD.sidebar.filter(e=>!t.has(e))],developerPanel:[...e.developerPanel,...lD.developerPanel.filter(e=>!t.has(e))]}}var dD=H_(`marimo:panel-layout`,lD,iD({toSerializable:e=>e,fromSerializable:e=>uD(e)}),{getOnInit:!0});function fD(e){let t=u.get(dD);return t.sidebar.includes(e)?`sidebar`:t.developerPanel.includes(e)?`developer-panel`:null}var pD=`marimo:sidebar`,mD=new ev(I({selectedPanel:$e().optional().transform(e=>e),isSidebarOpen:ka(),isDeveloperPanelOpen:ka().optional().default(!1),selectedDeveloperPanelTab:$e().optional().default(`errors`).transform(e=>e)}),hD);function hD(){return{selectedPanel:`variables`,isSidebarOpen:!1,isDeveloperPanelOpen:!1,selectedDeveloperPanelTab:`errors`}}var{reducer:gD,createActions:_D,valueAtom:vD,useActions:yD}=Ku(()=>mD.get(pD),{openApplication:(e,t)=>{let n=fD(t);return n===`sidebar`?{...e,selectedPanel:t,isSidebarOpen:!0}:n===`developer-panel`?{...e,selectedDeveloperPanelTab:t,isDeveloperPanelOpen:!0}:e},toggleApplication:(e,t)=>{let n=fD(t);return n===`sidebar`?{...e,selectedPanel:t,isSidebarOpen:!e.isSidebarOpen||e.selectedPanel!==t}:n===`developer-panel`?{...e,selectedDeveloperPanelTab:t,isDeveloperPanelOpen:!e.isDeveloperPanelOpen||e.selectedDeveloperPanelTab!==t}:e},toggleSidebarPanel:e=>({...e,isSidebarOpen:!e.isSidebarOpen}),setIsSidebarOpen:(e,t)=>({...e,isSidebarOpen:t}),toggleDeveloperPanel:e=>({...e,isDeveloperPanelOpen:!e.isDeveloperPanelOpen}),setIsDeveloperPanelOpen:(e,t)=>({...e,isDeveloperPanelOpen:t})},[(e,t)=>mD.set(pD,t)]),bD=()=>{let e=(0,X.c)(2),t=s(vD);if(t.isSidebarOpen)return t;let n;return e[0]===t?n=e[1]:(n={...t,selectedPanel:void 0},e[0]=t,e[1]=n),n};function xD(){return yD()}function SD(e){u.set(vD,t=>gD(t,{type:`openApplication`,payload:e}))}var CD=o({terminal:!1,pylsp:!1,basedpyright:!1,ty:!1,pyrefly:!1});function wD(e){return u.get(CD)?.[e]??!1}var TD=o({documentation:null}),Q={VariableName:`VariableName`,FunctionDefinition:`FunctionDefinition`,ClassDefinition:`ClassDefinition`,LambdaExpression:`LambdaExpression`,ParamList:`ParamList`,Decorator:`Decorator`,AssignStatement:`AssignStatement`,ForStatement:`ForStatement`,ImportStatement:`ImportStatement`,TryStatement:`TryStatement`,WithStatement:`WithStatement`,TupleExpression:`TupleExpression`,ArrayExpression:`ArrayExpression`,ParenthesizedExpression:`ParenthesizedExpression`,CallExpression:`CallExpression`,ArgList:`ArgList`,AssignOp:`AssignOp`,ArrayComprehensionExpression:`ArrayComprehensionExpression`,SetComprehensionExpression:`SetComprehensionExpression`,DictionaryComprehensionExpression:`DictionaryComprehensionExpression`,ComprehensionExpression:`ComprehensionExpression`,Comment:`Comment`,String:`String`,FormatString:`FormatString`},ED={For:`for`,In:`in`,As:`as`,Import:`import`},DD=new Set([Q.FunctionDefinition,Q.LambdaExpression,Q.ArrayComprehensionExpression,Q.SetComprehensionExpression,Q.DictionaryComprehensionExpression,Q.ComprehensionExpression,Q.ClassDefinition]),OD=new Set([Q.Comment,Q.String,Q.FormatString]);function kD(e){let t=Ml(e.state);if(!t||ND(t))return[];let n=new Set(Object.keys(e.variables).filter(t=>{let n=e.variables[t];return n.dataType!==`module`&&!n.declaredBy.includes(`setup`)&&!n.declaredBy.includes(e.cellId)}));if(n.size===0)return[];let r=[],i=new Map,a=new Map,o=new Map;function s(t,n){let r=t.cursor(),c=r.name,l=r.from,u=DD.has(c),d=n;switch(u&&(d=[...n,l],i.set(l,new Set),a.set(l,c)),c){case Q.FunctionDefinition:{let r=t.cursor();r.firstChild();do if(r.name===Q.VariableName){let t=e.state.doc.sliceString(r.from,r.to),a=n[n.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t);break}while(r.nextSibling());let a=t.cursor();a.firstChild();do if(a.name===Q.ParamList){let t=a.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}while(a.nextSibling());break}case Q.LambdaExpression:{let n=t.cursor();n.firstChild();do if(n.name===Q.ParamList){let t=n.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}while(n.nextSibling());break}case Q.ArrayComprehensionExpression:case Q.DictionaryComprehensionExpression:case Q.SetComprehensionExpression:case Q.ComprehensionExpression:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.For)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to);i.get(l)?.add(t)}else if(r&&n.name===Q.TupleExpression){let t=n.node.cursor();t.firstChild();do if(t.name===Q.VariableName){let n=e.state.doc.sliceString(t.from,t.to);i.get(l)?.add(n)}while(t.nextSibling())}else r&&n.name===ED.In&&(r=!1);while(n.nextSibling());break}case Q.ClassDefinition:{let r=t.cursor();r.firstChild();do if(r.name===Q.VariableName){let t=e.state.doc.sliceString(r.from,r.to),a=n[n.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t);break}while(r.nextSibling());o.set(l,[]);break}case Q.AssignStatement:{let n=t.cursor(),s=[];n.firstChild();do n.name===Q.AssignOp&&s.push(n.from);while(n.nextSibling());let c=s[s.length-1],l=t.cursor();l.firstChild();let u=d[d.length-1]??-1;do l.from<c&&PD(l,{currentScope:u,state:e.state,allDeclarations:i,scopeTypes:a,classLevelDeclarations:o,assignmentPosition:r.to});while(l.nextSibling());break}case Q.ForStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.For)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),r=d[d.length-1]??-1;i.has(r)||i.set(r,new Set),i.get(r)?.add(t)}else r&&n.name===ED.In&&(r=!1);while(n.nextSibling());break}case Q.ImportStatement:{let n=t.cursor();n.firstChild();let r=d[d.length-1]??-1;i.has(r)||i.set(r,new Set);let a=i.get(r),o=!1,s=null,c=()=>{s!==null&&a?.add(s),s=null};do{if(n.name===ED.Import){o=!0;continue}if(o){if(n.name===ED.As){s=null;continue}n.name===Q.VariableName?(c(),s=e.state.doc.sliceString(n.from,n.to)):n.name===`,`&&c()}}while(n.nextSibling());c();break}case Q.TryStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.As)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),a=d[d.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t),r=!1}while(n.nextSibling());break}case Q.WithStatement:{let n=t.cursor();n.firstChild();let r=!1;do if(n.name===ED.As)r=!0;else if(r&&n.name===Q.VariableName){let t=e.state.doc.sliceString(n.from,n.to),a=d[d.length-1]??-1;i.has(a)||i.set(a,new Set),i.get(a)?.add(t),r=!1}while(n.nextSibling());break}}f(r,e=>{s(e,d)})}function c(e,t,n){let r=o.get(t);return r?r.some(([t,r])=>t===e&&r<n):!1}function l(e,t,n){for(let r of t)if(a.get(r)===Q.ClassDefinition){if(c(e,r,n))return!0}else if(i.get(r)?.has(e))return!0;return i.get(-1)?.has(e)??!1}function u(t,n){let i=t.cursor(),a=i.name,o=i.from;if(a===Q.ImportStatement)return;let s=DD.has(a),c=n;if(s&&(c=[...n,o]),a===Q.VariableName){let t=e.state.doc.sliceString(i.from,i.to);d(t,i)&&(l(t,c,i.from)||r.push({from:i.from,to:i.to,variableName:t}))}f(i,e=>{u(e,c)})}function d(e,t){return n.has(e)&&!MD(t)&&!AD(t)&&!jD(t)}function f(e,t){if(e.firstChild())do t(e.node);while(e.nextSibling())}return s(t,[]),u(t,[]),r}function AD(e){let t=e.node.cursor();if(t.moveTo(e.from),t.parent()&&t.name===Q.CallExpression&&t.firstChild())do if(t.name===Q.ArgList&&t.firstChild()){do if(t.from===e.from&&t.to===e.to)return t.nextSibling()&&t.name===Q.AssignOp;while(t.nextSibling());break}while(t.nextSibling());return!1}function jD(e){let t=e.node.cursor();if(t.parent()&&t.name===Q.AssignStatement){let n=t.node.cursor();n.firstChild();let r=-1;do if(n.name===Q.AssignOp){r=n.from;break}while(n.nextSibling());return r!==-1&&e.from<r}return!1}function MD(e){let t=e.node.cursor();return!!(t.prevSibling()&&t.name===`.`)}function ND(e){let t=e.cursor();do if(t.name===`⚠`||t.type.isError)return!0;while(t.next());return!1}function PD(e,t){switch(e.name){case Q.VariableName:{let n=t.state.doc.sliceString(e.from,e.to);if(t.currentScope!==-1&&t.scopeTypes.get(t.currentScope)===Q.ClassDefinition){let e=t.classLevelDeclarations.get(t.currentScope);e&&e.push([n,t.assignmentPosition])}else t.allDeclarations.has(t.currentScope)||t.allDeclarations.set(t.currentScope,new Set),t.allDeclarations.get(t.currentScope)?.add(n);break}case Q.TupleExpression:{let n=e.node.cursor();n.firstChild();do PD(n,t);while(n.nextSibling());break}case Q.ArrayExpression:{let n=e.node.cursor();n.firstChild();do PD(n,t);while(n.nextSibling());break}}}var FD=Zl.mark({class:`mo-cm-reactive-reference`}),ID=Zl.mark({class:`mo-cm-reactive-reference-hover`}),LD=Yl.define(),RD=class{view;cellId;variablesUnsubscribe;highlightDebounceMs=300;scheduleHighlighting;constructor(e,t){this.view=e,this.cellId=t,this.scheduleHighlighting=ec(()=>{this.runHighlighting()},this.highlightDebounceMs),this.variablesUnsubscribe=u.sub(eD,()=>{this.scheduleHighlighting()}),this.scheduleHighlighting()}update(e){(e.docChanged||e.focusChanged)&&this.scheduleHighlighting()}destroy(){this.scheduleHighlighting.cancel(),this.variablesUnsubscribe()}runHighlighting(){let e=kD({state:this.view.state,cellId:this.cellId,variables:u.get(eD)});e.length>0&&B.debug(`Found ${e.length} reactive variables in cell ${this.cellId}`),queueMicrotask(()=>{this.view.dispatch({effects:LD.of(e)})})}},zD=Bl.define({create(){return{decorations:Zl.none,ranges:[]}},update(e,t){let n={decorations:e.decorations.map(t.changes),ranges:e.ranges};for(let e of t.effects)e.is(LD)&&(n={decorations:Zl.set(e.value.map(e=>FD.range(e.from,e.to))),ranges:e.value});return n},provide:e=>pu.decorations.from(e,e=>e.decorations)});function BD(e){return[zD,hu.define(t=>new RD(t,e))]}function VD(e,t){return t?BD(e):[]}function HD(e,t=!1){if(!e)return null;let n=document.createElement(`span`);if(n.classList.add(`mo-cm-tooltip`),n.classList.add(`docs-documentation`),t&&n.classList.add(`cm-tooltip-section`),n.style.display=`flex`,n.style.flexDirection=`column`,n.style.gap=`.8rem`,n.innerHTML=e,t){let e=document.createElement(`div`);e.classList.add(`text-xs`,`text-muted-foreground`,`font-medium`,`pt-1`,`-mt-2`,`border-t`,`border-border`);let t=document.createElement(`kbd`);t.className=`ml-1 rounded-md bg-muted/40 px-2 text-[0.75rem] font-prose center border border-foreground/20 text-muted-foreground inline whitespace-nowrap`,t.textContent=lc()?`⌘`:`Ctrl`,e.append(document.createTextNode(`Jump to defining cell `)),e.append(t),e.append(document.createTextNode(` + Click`)),n.append(e)}return n}var UD=new kd(`autocomplete-result`,async(e,t)=>{let{sendCodeCompletionRequest:n}=rd();await n({id:e,...t})}),WD={param:3,property:2},GD={asCompletionResult(e,t){return{from:e-t.prefix_length,options:t.options.map(e=>({label:e.name,type:e.type,boost:WD[e.type]??1,info:()=>HD(e.completion_info)})),validFor:/^\w*$/}},asHoverTooltip({position:e,message:t,limitToType:n,excludeTypes:r,exactName:i,showGoToDefinitionHint:a=!1}){let o=KD(t.options,i);if(!o)return;let s=e-t.prefix_length,c=HD(o.completion_info,a);if(c&&!(n&&o.type!==n)&&!r?.includes(o.type))return{pos:s,html:o.completion_info,end:s+o.name.length,above:!0,create:()=>({dom:c,resize:!1})}}};function KD(e,t){if(e.length!==0){if(e.length===1)return e[0];if(t)return e.find(e=>e.name===t)}}function qD(e){return[e?.pylsp?.enabled&&wD(`pylsp`)||e?.ty?.enabled&&wD(`ty`)||e?.pyrefly?.enabled&&wD(`pyrefly`)||e?.basedpyright?.enabled&&wD(`basedpyright`)?[]:gu(async(e,t)=>{let n=await JD({view:e,pos:t,excludeTypes:[`tooltip`]});return n===null||n===`cancelled`?null:n},{hideOnChange:!0}),QD]}async function JD({view:e,pos:t,excludeTypes:n}){let r=Xm.findElement(e.dom);if(!r)return B.error(`Failed to find active cell.`),null;let i=Xm.parse(r.id),{startToken:a,endToken:o}=YD(e.state.doc,t),s=e.state.field(zD,!1)?.ranges.some(e=>t>=e.from&&t<=e.to)??!1,c=await UD.request({document:e.state.doc.slice(0,o).toString(),cellId:i});if(!c)return`cancelled`;let l=e.state.doc.slice(a,o).toString();return GD.asHoverTooltip({position:o,message:c,exactName:l,excludeTypes:n,showGoToDefinitionHint:s})??null}function YD(e,t){let n=t,r=n>0?e.sliceString(n-1,n):``,i=n<e.length?e.sliceString(n,n+1):``;r===`(`&&i===`)`&&--n;let a=n,o=n;for(;a>0;){let t=e.sliceString(a-1,a);if(!/\w/.test(t))break;a--}for(;o<e.length;){let t=e.sliceString(o,o+1);if(!/\w/.test(t))break;o++}return{startToken:a,endToken:o}}function XD(e){let{head:t}=e.selection.main,n=e.doc.sliceString(t-1,t);return/\w/.test(n)}var ZD=ec(async(e,t)=>{if(u.get(vD).selectedPanel!==`documentation`)return;let n=await JD({view:e,pos:t});n!==`cancelled`&&u.set(TD,{documentation:n?.html??null})},300),QD=pu.updateListener.of(e=>{if(e.selectionSet&&XD(e.state)){let t=e.state.selection.main.head;ZD(e.view,t)}});function $D(e){var t=e.Pos;function n(e,t,n){if(t.line===n.line&&t.ch>=n.ch-1){var r=e.getLine(t.line).charCodeAt(t.ch);55296<=r&&r<=55551&&(n.ch+=1)}return{start:t,end:n}}var r=[{keys:`<Left>`,type:`keyToKey`,toKeys:`h`},{keys:`<Right>`,type:`keyToKey`,toKeys:`l`},{keys:`<Up>`,type:`keyToKey`,toKeys:`k`},{keys:`<Down>`,type:`keyToKey`,toKeys:`j`},{keys:`g<Up>`,type:`keyToKey`,toKeys:`gk`},{keys:`g<Down>`,type:`keyToKey`,toKeys:`gj`},{keys:`<Space>`,type:`keyToKey`,toKeys:`l`},{keys:`<BS>`,type:`keyToKey`,toKeys:`h`},{keys:`<Del>`,type:`keyToKey`,toKeys:`x`},{keys:`<C-Space>`,type:`keyToKey`,toKeys:`W`},{keys:`<C-BS>`,type:`keyToKey`,toKeys:`B`},{keys:`<S-Space>`,type:`keyToKey`,toKeys:`w`},{keys:`<S-BS>`,type:`keyToKey`,toKeys:`b`},{keys:`<C-n>`,type:`keyToKey`,toKeys:`j`},{keys:`<C-p>`,type:`keyToKey`,toKeys:`k`},{keys:`<C-[>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-c>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-[>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`<C-c>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`<C-Esc>`,type:`keyToKey`,toKeys:`<Esc>`},{keys:`<C-Esc>`,type:`keyToKey`,toKeys:`<Esc>`,context:`insert`},{keys:`s`,type:`keyToKey`,toKeys:`cl`,context:`normal`},{keys:`s`,type:`keyToKey`,toKeys:`c`,context:`visual`},{keys:`S`,type:`keyToKey`,toKeys:`cc`,context:`normal`},{keys:`S`,type:`keyToKey`,toKeys:`VdO`,context:`visual`},{keys:`<Home>`,type:`keyToKey`,toKeys:`0`},{keys:`<End>`,type:`keyToKey`,toKeys:`$`},{keys:`<PageUp>`,type:`keyToKey`,toKeys:`<C-b>`},{keys:`<PageDown>`,type:`keyToKey`,toKeys:`<C-f>`},{keys:`<CR>`,type:`keyToKey`,toKeys:`j^`,context:`normal`},{keys:`<Ins>`,type:`keyToKey`,toKeys:`i`,context:`normal`},{keys:`<Ins>`,type:`action`,action:`toggleOverwrite`,context:`insert`},{keys:`H`,type:`motion`,motion:`moveToTopLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`M`,type:`motion`,motion:`moveToMiddleLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`L`,type:`motion`,motion:`moveToBottomLine`,motionArgs:{linewise:!0,toJumplist:!0}},{keys:`h`,type:`motion`,motion:`moveByCharacters`,motionArgs:{forward:!1}},{keys:`l`,type:`motion`,motion:`moveByCharacters`,motionArgs:{forward:!0}},{keys:`j`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,linewise:!0}},{keys:`k`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!1,linewise:!0}},{keys:`gj`,type:`motion`,motion:`moveByDisplayLines`,motionArgs:{forward:!0}},{keys:`gk`,type:`motion`,motion:`moveByDisplayLines`,motionArgs:{forward:!1}},{keys:`w`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!1}},{keys:`W`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!1,bigWord:!0}},{keys:`e`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!0,inclusive:!0}},{keys:`E`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!0,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:`b`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1}},{keys:`B`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1,bigWord:!0}},{keys:`ge`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!0,inclusive:!0}},{keys:`gE`,type:`motion`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!0,bigWord:!0,inclusive:!0}},{keys:`{`,type:`motion`,motion:`moveByParagraph`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`}`,type:`motion`,motion:`moveByParagraph`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`(`,type:`motion`,motion:`moveBySentence`,motionArgs:{forward:!1}},{keys:`)`,type:`motion`,motion:`moveBySentence`,motionArgs:{forward:!0}},{keys:`<C-f>`,type:`motion`,motion:`moveByPage`,motionArgs:{forward:!0}},{keys:`<C-b>`,type:`motion`,motion:`moveByPage`,motionArgs:{forward:!1}},{keys:`<C-d>`,type:`motion`,motion:`moveByScroll`,motionArgs:{forward:!0,explicitRepeat:!0}},{keys:`<C-u>`,type:`motion`,motion:`moveByScroll`,motionArgs:{forward:!1,explicitRepeat:!0}},{keys:`gg`,type:`motion`,motion:`moveToLineOrEdgeOfDocument`,motionArgs:{forward:!1,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:`G`,type:`motion`,motion:`moveToLineOrEdgeOfDocument`,motionArgs:{forward:!0,explicitRepeat:!0,linewise:!0,toJumplist:!0}},{keys:`g$`,type:`motion`,motion:`moveToEndOfDisplayLine`},{keys:`g^`,type:`motion`,motion:`moveToStartOfDisplayLine`},{keys:`g0`,type:`motion`,motion:`moveToStartOfDisplayLine`},{keys:`0`,type:`motion`,motion:`moveToStartOfLine`},{keys:`^`,type:`motion`,motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`+`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,toFirstChar:!0}},{keys:`-`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!1,toFirstChar:!0}},{keys:`_`,type:`motion`,motion:`moveByLines`,motionArgs:{forward:!0,toFirstChar:!0,repeatOffset:-1}},{keys:`$`,type:`motion`,motion:`moveToEol`,motionArgs:{inclusive:!0}},{keys:`%`,type:`motion`,motion:`moveToMatchedSymbol`,motionArgs:{inclusive:!0,toJumplist:!0}},{keys:`f<character>`,type:`motion`,motion:`moveToCharacter`,motionArgs:{forward:!0,inclusive:!0}},{keys:`F<character>`,type:`motion`,motion:`moveToCharacter`,motionArgs:{forward:!1}},{keys:`t<character>`,type:`motion`,motion:`moveTillCharacter`,motionArgs:{forward:!0,inclusive:!0}},{keys:`T<character>`,type:`motion`,motion:`moveTillCharacter`,motionArgs:{forward:!1}},{keys:`;`,type:`motion`,motion:`repeatLastCharacterSearch`,motionArgs:{forward:!0}},{keys:`,`,type:`motion`,motion:`repeatLastCharacterSearch`,motionArgs:{forward:!1}},{keys:`'<register>`,type:`motion`,motion:`goToMark`,motionArgs:{toJumplist:!0,linewise:!0}},{keys:"`<register>",type:`motion`,motion:`goToMark`,motionArgs:{toJumplist:!0}},{keys:"]`",type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!0}},{keys:"[`",type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!1}},{keys:`]'`,type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!0,linewise:!0}},{keys:`['`,type:`motion`,motion:`jumpToMark`,motionArgs:{forward:!1,linewise:!0}},{keys:`]p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!0,isEdit:!0,matchIndent:!0}},{keys:`[p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!1,isEdit:!0,matchIndent:!0}},{keys:`]<character>`,type:`motion`,motion:`moveToSymbol`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`[<character>`,type:`motion`,motion:`moveToSymbol`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`|`,type:`motion`,motion:`moveToColumn`},{keys:`o`,type:`motion`,motion:`moveToOtherHighlightedEnd`,context:`visual`},{keys:`O`,type:`motion`,motion:`moveToOtherHighlightedEnd`,motionArgs:{sameLine:!0},context:`visual`},{keys:`d`,type:`operator`,operator:`delete`},{keys:`y`,type:`operator`,operator:`yank`},{keys:`c`,type:`operator`,operator:`change`},{keys:`=`,type:`operator`,operator:`indentAuto`},{keys:`>`,type:`operator`,operator:`indent`,operatorArgs:{indentRight:!0}},{keys:`<`,type:`operator`,operator:`indent`,operatorArgs:{indentRight:!1}},{keys:`g~`,type:`operator`,operator:`changeCase`},{keys:`gu`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!0},isEdit:!0},{keys:`gU`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!1},isEdit:!0},{keys:`n`,type:`motion`,motion:`findNext`,motionArgs:{forward:!0,toJumplist:!0}},{keys:`N`,type:`motion`,motion:`findNext`,motionArgs:{forward:!1,toJumplist:!0}},{keys:`gn`,type:`motion`,motion:`findAndSelectNextInclusive`,motionArgs:{forward:!0}},{keys:`gN`,type:`motion`,motion:`findAndSelectNextInclusive`,motionArgs:{forward:!1}},{keys:`gq`,type:`operator`,operator:`hardWrap`},{keys:`gw`,type:`operator`,operator:`hardWrap`,operatorArgs:{keepCursor:!0}},{keys:`g?`,type:`operator`,operator:`rot13`},{keys:`x`,type:`operatorMotion`,operator:`delete`,motion:`moveByCharacters`,motionArgs:{forward:!0},operatorMotionArgs:{visualLine:!1}},{keys:`X`,type:`operatorMotion`,operator:`delete`,motion:`moveByCharacters`,motionArgs:{forward:!1},operatorMotionArgs:{visualLine:!0}},{keys:`D`,type:`operatorMotion`,operator:`delete`,motion:`moveToEol`,motionArgs:{inclusive:!0},context:`normal`},{keys:`D`,type:`operator`,operator:`delete`,operatorArgs:{linewise:!0},context:`visual`},{keys:`Y`,type:`operatorMotion`,operator:`yank`,motion:`expandToLine`,motionArgs:{linewise:!0},context:`normal`},{keys:`Y`,type:`operator`,operator:`yank`,operatorArgs:{linewise:!0},context:`visual`},{keys:`C`,type:`operatorMotion`,operator:`change`,motion:`moveToEol`,motionArgs:{inclusive:!0},context:`normal`},{keys:`C`,type:`operator`,operator:`change`,operatorArgs:{linewise:!0},context:`visual`},{keys:`~`,type:`operatorMotion`,operator:`changeCase`,motion:`moveByCharacters`,motionArgs:{forward:!0},operatorArgs:{shouldMoveCursor:!0},context:`normal`},{keys:`~`,type:`operator`,operator:`changeCase`,context:`visual`},{keys:`<C-u>`,type:`operatorMotion`,operator:`delete`,motion:`moveToStartOfLine`,context:`insert`},{keys:`<C-w>`,type:`operatorMotion`,operator:`delete`,motion:`moveByWords`,motionArgs:{forward:!1,wordEnd:!1},context:`insert`},{keys:`<C-w>`,type:`idle`,context:`normal`},{keys:`<C-i>`,type:`action`,action:`jumpListWalk`,actionArgs:{forward:!0}},{keys:`<C-o>`,type:`action`,action:`jumpListWalk`,actionArgs:{forward:!1}},{keys:`<C-e>`,type:`action`,action:`scroll`,actionArgs:{forward:!0,linewise:!0}},{keys:`<C-y>`,type:`action`,action:`scroll`,actionArgs:{forward:!1,linewise:!0}},{keys:`a`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`charAfter`},context:`normal`},{keys:`A`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`eol`},context:`normal`},{keys:`A`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`endOfSelectedArea`},context:`visual`},{keys:`i`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`inplace`},context:`normal`},{keys:`gi`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`lastEdit`},context:`normal`},{keys:`I`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`firstNonBlank`},context:`normal`},{keys:`gI`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`bol`},context:`normal`},{keys:`I`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{insertAt:`startOfSelectedArea`},context:`visual`},{keys:`o`,type:`action`,action:`newLineAndEnterInsertMode`,isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!0},context:`normal`},{keys:`O`,type:`action`,action:`newLineAndEnterInsertMode`,isEdit:!0,interlaceInsertRepeat:!0,actionArgs:{after:!1},context:`normal`},{keys:`v`,type:`action`,action:`toggleVisualMode`},{keys:`V`,type:`action`,action:`toggleVisualMode`,actionArgs:{linewise:!0}},{keys:`<C-v>`,type:`action`,action:`toggleVisualMode`,actionArgs:{blockwise:!0}},{keys:`<C-q>`,type:`action`,action:`toggleVisualMode`,actionArgs:{blockwise:!0}},{keys:`gv`,type:`action`,action:`reselectLastSelection`},{keys:`J`,type:`action`,action:`joinLines`,isEdit:!0},{keys:`gJ`,type:`action`,action:`joinLines`,actionArgs:{keepSpaces:!0},isEdit:!0},{keys:`p`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!0,isEdit:!0}},{keys:`P`,type:`action`,action:`paste`,isEdit:!0,actionArgs:{after:!1,isEdit:!0}},{keys:`r<character>`,type:`action`,action:`replace`,isEdit:!0},{keys:`@<register>`,type:`action`,action:`replayMacro`},{keys:`q<register>`,type:`action`,action:`enterMacroRecordMode`},{keys:`R`,type:`action`,action:`enterInsertMode`,isEdit:!0,actionArgs:{replace:!0},context:`normal`},{keys:`R`,type:`operator`,operator:`change`,operatorArgs:{linewise:!0,fullLine:!0},context:`visual`,exitVisualBlock:!0},{keys:`u`,type:`action`,action:`undo`,context:`normal`},{keys:`u`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!0},context:`visual`,isEdit:!0},{keys:`U`,type:`operator`,operator:`changeCase`,operatorArgs:{toLower:!1},context:`visual`,isEdit:!0},{keys:`<C-r>`,type:`action`,action:`redo`},{keys:`m<register>`,type:`action`,action:`setMark`},{keys:`"<register>`,type:`action`,action:`setRegister`},{keys:`<C-r><register>`,type:`action`,action:`insertRegister`,context:`insert`,isEdit:!0},{keys:`<C-o>`,type:`action`,action:`oneNormalCommand`,context:`insert`},{keys:`zz`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`center`}},{keys:`z.`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`center`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`zt`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`top`}},{keys:`z<CR>`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`top`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`zb`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`bottom`}},{keys:`z-`,type:`action`,action:`scrollToCursor`,actionArgs:{position:`bottom`},motion:`moveToFirstNonWhiteSpaceCharacter`},{keys:`.`,type:`action`,action:`repeatLastEdit`},{keys:`<C-a>`,type:`action`,action:`incrementNumberToken`,isEdit:!0,actionArgs:{increase:!0,backtrack:!1}},{keys:`<C-x>`,type:`action`,action:`incrementNumberToken`,isEdit:!0,actionArgs:{increase:!1,backtrack:!1}},{keys:`<C-t>`,type:`action`,action:`indent`,actionArgs:{indentRight:!0},context:`insert`},{keys:`<C-d>`,type:`action`,action:`indent`,actionArgs:{indentRight:!1},context:`insert`},{keys:`a<register>`,type:`motion`,motion:`textObjectManipulation`},{keys:`i<register>`,type:`motion`,motion:`textObjectManipulation`,motionArgs:{textObjectInner:!0}},{keys:`/`,type:`search`,searchArgs:{forward:!0,querySrc:`prompt`,toJumplist:!0}},{keys:`?`,type:`search`,searchArgs:{forward:!1,querySrc:`prompt`,toJumplist:!0}},{keys:`*`,type:`search`,searchArgs:{forward:!0,querySrc:`wordUnderCursor`,wholeWordOnly:!0,toJumplist:!0}},{keys:`#`,type:`search`,searchArgs:{forward:!1,querySrc:`wordUnderCursor`,wholeWordOnly:!0,toJumplist:!0}},{keys:`g*`,type:`search`,searchArgs:{forward:!0,querySrc:`wordUnderCursor`,toJumplist:!0}},{keys:`g#`,type:`search`,searchArgs:{forward:!1,querySrc:`wordUnderCursor`,toJumplist:!0}},{keys:`:`,type:`ex`}],i=Object.create(null),a=r.length,o=[{name:`colorscheme`,shortName:`colo`},{name:`map`},{name:`imap`,shortName:`im`},{name:`nmap`,shortName:`nm`},{name:`vmap`,shortName:`vm`},{name:`omap`,shortName:`om`},{name:`noremap`,shortName:`no`},{name:`nnoremap`,shortName:`nn`},{name:`vnoremap`,shortName:`vn`},{name:`inoremap`,shortName:`ino`},{name:`onoremap`,shortName:`ono`},{name:`unmap`},{name:`mapclear`,shortName:`mapc`},{name:`nmapclear`,shortName:`nmapc`},{name:`vmapclear`,shortName:`vmapc`},{name:`imapclear`,shortName:`imapc`},{name:`omapclear`,shortName:`omapc`},{name:`write`,shortName:`w`},{name:`undo`,shortName:`u`},{name:`redo`,shortName:`red`},{name:`set`,shortName:`se`},{name:`setlocal`,shortName:`setl`},{name:`setglobal`,shortName:`setg`},{name:`sort`,shortName:`sor`},{name:`substitute`,shortName:`s`,possiblyAsync:!0},{name:`startinsert`,shortName:`start`},{name:`nohlsearch`,shortName:`noh`},{name:`yank`,shortName:`y`},{name:`delmarks`,shortName:`delm`},{name:`marks`,excludeFromCommandHistory:!0},{name:`registers`,shortName:`reg`,excludeFromCommandHistory:!0},{name:`vglobal`,shortName:`v`},{name:`delete`,shortName:`d`},{name:`join`,shortName:`j`},{name:`normal`,shortName:`norm`},{name:`global`,shortName:`g`}],s=fe(``);function c(t){t.setOption(`disableInput`,!0),t.setOption(`showCursorWhenSelecting`,!1),e.signal(t,`vim-mode-change`,{mode:`normal`}),t.on(`cursorActivity`,fn),ne(t),e.on(t.getInputField(),`paste`,u(t))}function l(t){t.setOption(`disableInput`,!1),t.off(`cursorActivity`,fn),e.off(t.getInputField(),`paste`,u(t)),t.state.vim=null,Ht&&clearTimeout(Ht)}function u(e){var t=e.state.vim;return t.onPasteFn||=function(){t.insertMode||(e.setCursor(Ae(e.getCursor(),0,1)),Ee.enterInsertMode(e,{},t))},t.onPasteFn}var d=/[\d]/,f=[e.isWordChar,function(t){return t&&!e.isWordChar(t)&&!/\s/.test(t)}],p=[function(e){return/\S/.test(e)}],m=[`<`,`>`],h=[`-`,`"`,`.`,`:`,`_`,`/`,`+`],g=/^\w$/,_=/^[A-Z]$/;try{_=RegExp(`^[\\p{Lu}]$`,`u`)}catch{}function v(e,t){return t>=e.firstLine()&&t<=e.lastLine()}function y(e){return/^[a-z]$/.test(e)}function b(e){return`()[]{}`.indexOf(e)!=-1}function x(e){return d.test(e)}function S(e){return _.test(e)}function C(e){return/^\s*$/.test(e)}function w(e){return`.?!`.indexOf(e)!=-1}function T(e,t){for(var n=0;n<t.length;n++)if(t[n]==e)return!0;return!1}var E={};function D(e,t,n,r,i){if(t===void 0&&!i)throw Error(`defaultValue is required unless callback is provided`);if(n||=`string`,E[e]={type:n,defaultValue:t,callback:i},r)for(var a=0;a<r.length;a++)E[r[a]]=E[e];t&&O(e,t)}function O(e,t,n,r){var i=E[e];r||={};var a=r.scope;if(!i)return Error(`Unknown option: `+e);if(i.type==`boolean`){if(t&&t!==!0)return Error(`Invalid argument: `+e+`=`+t);t!==!1&&(t=!0)}i.callback?(a!==`local`&&i.callback(t,void 0),a!==`global`&&n&&i.callback(t,n)):(a!==`local`&&(i.value=i.type==`boolean`?!!t:t),a!==`global`&&n&&(n.state.vim.options[e]={value:t}))}function k(e,t,n){var r=E[e];n||={};var i=n.scope;if(!r)return Error(`Unknown option: `+e);if(r.callback){let e=t&&r.callback(void 0,t);return i!==`global`&&e!==void 0?e:i===`local`?void 0:r.callback()}return(i!==`global`&&t&&t.state.vim.options[e]||i!==`local`&&r||{}).value}D(`filetype`,void 0,`string`,[`ft`],function(e,t){if(t!==void 0){if(e===void 0){let e=t.getOption(`mode`);return e==`null`?``:e}{let n=e==``?`null`:e;t.setOption(`mode`,n)}}}),D(`textwidth`,80,`number`,[`tw`],function(e,t){if(t!==void 0){if(e===void 0)return t.getOption(`textwidth`);var n=Math.round(e);n>1&&t.setOption(`textwidth`,n)}});var ee=function(){var e=100,t=-1,n=0,r=0,i=Array(e);function a(a,o,s){var c=i[t%e];function l(n){var r=++t%e,o=i[r];o&&o.clear(),i[r]=a.setBookmark(n)}if(c){var u=c.find();u&&!Ie(u,o)&&l(o)}else l(o);l(s),n=t,r=t-e+1,r<0&&(r=0)}function o(a,o){t+=o,t>n?t=n:t<r&&(t=r);var s=i[(e+t)%e];if(s&&!s.find()){var c=o>0?1:-1,l,u=a.getCursor();do if(t+=c,s=i[(e+t)%e],s&&(l=s.find())&&!Ie(u,l))break;while(t<n&&t>r)}return s}function s(e,n){var r=t,i=o(e,n);return t=r,i&&i.find()}return{cachedCursor:void 0,add:a,find:s,move:o}},A=function(e){return e?{changes:e.changes,expectCursorActivityForChange:e.expectCursorActivityForChange}:{changes:[],expectCursorActivityForChange:!1}};class te{constructor(){this.latestRegister=void 0,this.isPlaying=!1,this.isRecording=!1,this.replaySearchQueries=[],this.onRecordingDone=void 0,this.lastInsertModeChanges=A()}exitMacroRecordMode(){var e=j.macroModeState;e.onRecordingDone&&e.onRecordingDone(),e.onRecordingDone=void 0,e.isRecording=!1}enterMacroRecordMode(e,t){var n=j.registerController.getRegister(t);if(n){if(n.clear(),this.latestRegister=t,e.openDialog){var r=Ft(`span`,{class:`cm-vim-message`},`recording @`+t);this.onRecordingDone=e.openDialog(r,function(){},{bottom:!0})}this.isRecording=!0}}}function ne(e){return e.state.vim||(e.state.vim={inputState:new pe,lastEditInputState:void 0,lastEditActionCommand:void 0,lastHPos:-1,lastHSPos:-1,lastMotion:null,marks:{},insertMode:!1,insertModeReturn:!1,insertModeRepeat:void 0,visualMode:!1,visualLine:!1,visualBlock:!1,lastSelection:null,lastPastedText:void 0,sel:{anchor:new t(0,0),head:new t(0,0)},options:{},expectLiteralNext:!1,status:``}),e.state.vim}var j;function M(){for(var e in j={searchQuery:null,searchIsReversed:!1,lastSubstituteReplacePart:void 0,jumpList:ee(),macroModeState:new te,lastCharacterSearch:{increment:0,forward:!0,selectedCharacter:``},registerController:new ve({}),searchHistoryController:new ye,exCommandHistoryController:new ye},E){var t=E[e];t.value=t.defaultValue}}class N{constructor(e,t){this.keyName=e,this.key=t.key,this.ctrlKey=t.ctrlKey,this.altKey=t.altKey,this.metaKey=t.metaKey,this.shiftKey=t.shiftKey}}var re,ie={enterVimMode:c,leaveVimMode:l,buildKeyMap:function(){},getRegisterController:function(){return j.registerController},resetVimGlobalState_:M,getVimGlobalState_:function(){return j},maybeInitVimState_:ne,suppressErrorLogging:!1,InsertModeKey:N,map:function(e,t,n){$t.map(e,t,n)},unmap:function(e,t){return $t.unmap(e,t)},noremap:function(e,t,n){$t.map(e,t,n,!0)},mapclear:function(e){var t=r.length,n=a,i=r.slice(0,t-n);if(r=r.slice(t-n),e)for(var o=i.length-1;o>=0;o--){var s=i[o];if(e!==s.context){if(s.context)this._mapCommand(s);else{var c=[`normal`,`insert`,`visual`];for(var l in c)if(c[l]!==e){var u=Object.assign({},s);u.context=c[l],this._mapCommand(u)}}}}},langmap:de,vimKeyFromEvent:ue,setOption:O,getOption:k,defineOption:D,defineEx:function(e,t,n){if(!t)t=e;else if(e.indexOf(t)!==0)throw Error(`(Vim.defineEx) "`+t+`" is not a prefix of "`+e+`", command not registered`);Qt[e]=n,$t.commandMap_[t]={name:e,shortName:t,type:`api`}},handleKey:function(e,t,n){var r=this.findKey(e,t,n);if(typeof r==`function`)return r()},multiSelectHandleKey:yn,findKey:function(t,n,i){var a=ne(t),o=t;function s(){var e=j.macroModeState;if(e.isRecording){if(n==`q`)return e.exitMacroRecordMode(),me(o),!0;i!=`mapping`&&cn(e,n)}}function c(){if(n==`<Esc>`){if(a.visualMode)et(o);else if(a.insertMode)tn(o);else return;return me(o),!0}}function l(){if(c())return!0;a.inputState.keyBuffer.push(n);var e=a.inputState.keyBuffer.join(``),t=n.length==1,i=be.matchCommand(e,r,a.inputState,`insert`),s=a.inputState.changeQueue;if(i.type==`none`)return me(o),!1;if(i.type==`partial`){if(i.expectLiteralNext&&(a.expectLiteralNext=!0),re&&window.clearTimeout(re),re=t&&window.setTimeout(function(){a.insertMode&&a.inputState.keyBuffer.length&&me(o)},k(`insertModeEscKeysTimeout`)),t){var l=o.listSelections();(!s||s.removed.length!=l.length)&&(s=a.inputState.changeQueue=new he),s.inserted+=n;for(var u=0;u<l.length;u++){var d=Re(l[u].anchor,l[u].head),f=ze(l[u].anchor,l[u].head),p=o.getRange(d,o.state.overwrite?Ae(f,0,1):f);s.removed[u]=(s.removed[u]||``)+p}}return!t}if(i.type==`full`&&(a.inputState.keyBuffer.length=0),a.expectLiteralNext=!1,re&&window.clearTimeout(re),i.command&&s){for(var l=o.listSelections(),u=0;u<l.length;u++){var m=l[u].head;o.replaceRange(s.removed[u]||``,Ae(m,0,-s.inserted.length),m,`+input`)}j.macroModeState.lastInsertModeChanges.changes.pop()}return i.command||me(o),i.command}function u(){if(s()||c())return!0;a.inputState.keyBuffer.push(n);var e=a.inputState.keyBuffer.join(``);if(/^[1-9]\d*$/.test(e))return!0;var t=/^(\d*)(.*)$/.exec(e);if(!t)return me(o),!1;var i=a.visualMode?`visual`:`normal`,l=t[2]||t[1];a.inputState.operatorShortcut&&a.inputState.operatorShortcut.slice(-1)==l&&(l=a.inputState.operatorShortcut);var u=be.matchCommand(l,r,a.inputState,i);return u.type==`none`?(me(o),!1):u.type==`partial`?(u.expectLiteralNext&&(a.expectLiteralNext=!0),!0):u.type==`clear`?(me(o),!0):(a.expectLiteralNext=!1,a.inputState.keyBuffer.length=0,t=/^(\d*)(.*)$/.exec(e),t&&t[1]&&t[1]!=`0`&&a.inputState.pushRepeatDigit(t[1]),u.command)}var d=a.insertMode?l():u();if(d===!1)return!a.insertMode&&(n.length===1||e.isMac&&/<A-.>/.test(n))?function(){return!0}:void 0;if(d===!0)return function(){return!0};if(d)return function(){return o.operation(function(){o.curOp.isVimOp=!0;try{if(typeof d!=`object`)return;d.type==`keyToKey`?oe(o,d.toKeys,d):be.processCommand(o,a,d)}catch(e){throw o.state.vim=void 0,ne(o),ie.suppressErrorLogging||console.log(e),e}return!0})}},handleEx:function(e,t){$t.processCommand(e,t)},defineMotion:Se,defineAction:De,defineOperator:Te,mapCommand:on,_mapCommand:nn,defineRegister:_e,exitVisualMode:et,exitInsertMode:tn},P=[],ae=!1,F;function I(e){if(!F)throw Error(`No prompt to send key to`);if(e[0]==`<`){var t=e.toLowerCase().slice(1,-1);if(t=t.split(`-`).pop()||``,t==`lt`)e=`<`;else if(t==`space`)e=` `;else if(t==`cr`)e=`
54
54
  `;else if(le[t]){var n=F.value||``,r={key:le[t],target:{value:n,selectionEnd:n.length,selectionStart:n.length}};F.onKeyDown&&F.onKeyDown(r,F.value,a),F&&F.onKeyUp&&F.onKeyUp(r,F.value,a);return}}if(e==`
55
55
  `){var i=F;F=null,i.onClose&&i.onClose(i.value)}else F.value=(F.value||``)+e;function a(e){F&&(typeof e==`string`?F.value=e:F=null)}}function oe(e,t,n){var r=ae;if(n){if(P.indexOf(n)!=-1)return;P.push(n),ae=n.noremap!=0}try{for(var i=ne(e),a=/<(?:[CSMA]-)*\w+>|./gi,o;o=a.exec(t);){var s=o[0],c=i.insertMode;if(F){I(s);continue}if(!ie.handleKey(e,s,`mapping`)&&c&&i.insertMode){if(s[0]==`<`){var l=s.toLowerCase().slice(1,-1);if(l=l.split(`-`).pop()||``,l==`lt`)s=`<`;else if(l==`space`)s=` `;else if(l==`cr`)s=`
56
56
  `;else if(le.hasOwnProperty(l)){s=le[l],gn(e,s);continue}else s=s[0],a.lastIndex=o.index+1}e.replaceSelection(s)}}}finally{if(P.pop(),ae=P.length?r:!1,!P.length&&F){var u=F;F=null,Rt(e,u)}}}var se={Return:`CR`,Backspace:`BS`,Delete:`Del`,Escape:`Esc`,Insert:`Ins`,ArrowLeft:`Left`,ArrowRight:`Right`,ArrowUp:`Up`,ArrowDown:`Down`,Enter:`CR`," ":`Space`},ce={Shift:1,Alt:1,Command:1,Control:1,CapsLock:1,AltGraph:1,Dead:1,Unidentified:1},le={};`Left|Right|Up|Down|End|Home`.split(`|`).concat(Object.keys(se)).forEach(function(e){le[(se[e]||``).toLowerCase()]=le[e.toLowerCase()]=e});function ue(t,n){var r=t.key;if(!ce[r]){r.length>1&&r[0]==`n`&&(r=r.replace(`Numpad`,``)),r=se[r]||r;var a=``;if(t.ctrlKey&&(a+=`C-`),t.altKey&&(a+=`A-`),t.metaKey&&(a+=`M-`),e.isMac&&a==`A-`&&r.length==1&&(a=a.slice(2)),(a||r.length>1)&&t.shiftKey&&(a+=`S-`),n&&!n.expectLiteralNext&&r.length==1){if(s.keymap&&r in s.keymap)(s.remapCtrl!=0||!a)&&(r=s.keymap[r]);else if(r.charCodeAt(0)>128&&!i[r]){var o=t.code?.slice(-1)||``;t.shiftKey||(o=o.toLowerCase()),o&&(r=o,!a&&t.altKey&&(a=`A-`))}}return a+=r,a.length>1&&(a=`<`+a+`>`),a}}function de(e,t){s.string!==e&&(s=fe(e)),s.remapCtrl=t}function fe(e){let t={};if(!e)return{keymap:t,string:``};function n(e){return e.split(/\\?(.)/).filter(Boolean)}return e.split(/((?:[^\\,]|\\.)+),/).map(e=>{if(!e)return;let r=e.split(/((?:[^\\;]|\\.)+);/);if(r.length==3){let e=n(r[1]),i=n(r[2]);if(e.length!==i.length)return;for(let n=0;n<e.length;++n)t[e[n]]=i[n]}else if(r.length==1){let r=n(e);if(r.length%2!=0)return;for(let e=0;e<r.length;e+=2)t[r[e]]=r[e+1]}}),{keymap:t,string:e}}D(`langmap`,void 0,`string`,[`lmap`],function(e,t){if(e===void 0)return s.string;de(e)});class pe{constructor(){this.prefixRepeat=[],this.motionRepeat=[],this.operator=null,this.operatorArgs=null,this.motion=null,this.motionArgs=null,this.keyBuffer=[],this.registerName=void 0,this.changeQueue=null}pushRepeatDigit(e){this.operator?this.motionRepeat=this.motionRepeat.concat(e):this.prefixRepeat=this.prefixRepeat.concat(e)}getRepeat(){var e=0;return(this.prefixRepeat.length>0||this.motionRepeat.length>0)&&(e=1,this.prefixRepeat.length>0&&(e*=parseInt(this.prefixRepeat.join(``),10)),this.motionRepeat.length>0&&(e*=parseInt(this.motionRepeat.join(``),10))),e}}function me(t,n){t.state.vim.inputState=new pe,t.state.vim.expectLiteralNext=!1,e.signal(t,`vim-command-done`,n)}function he(){this.removed=[],this.inserted=``}class ge{constructor(e,t,n){this.clear(),this.keyBuffer=[e||``],this.insertModeChanges=[],this.searchQueries=[],this.linewise=!!t,this.blockwise=!!n}setText(e,t,n){this.keyBuffer=[e||``],this.linewise=!!t,this.blockwise=!!n}pushText(e,t){t&&(this.linewise||this.keyBuffer.push(`
@@ -1 +1 @@
1
- import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{Qi as n,Zi as r,ra as i}from"./cells-BEcungGa.js";import{In as a,kt as o,un as s,wt as c}from"./schemas-aTUejmFi.js";import{t as l}from"./compiler-runtime-CYIjoINj.js";import{t as u}from"./isEmpty-BJso7_X0.js";import{et as d}from"./ai-model-dropdown-jajg9hms.js";import{g as f}from"./useEventListener-D27Dii_l.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,i as g,o as _,r as v}from"./config-ycxJQP2b.js";import{t as y}from"./button-Btj6GXNy.js";import{i as b}from"./strings-CpYReX2Q.js";import{t as x}from"./createLucideIcon-B7HeEoG2.js";import{t as S}from"./ban-CwXfMsC1.js";import{t as C}from"./bot-message-square-CGhPjWFf.js";import{a as w}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as T}from"./markdown-renderer-IN72oVfj.js";import{p as E,u as D}from"./add-cell-with-ai-CoNAy8Wk.js";import{t as O}from"./external-link-Bp3BxyRA.js";import{n as k}from"./spinner-Ck-Hgfvj.js";import{l as A}from"./datasource-uyI476er.js";import{t as j}from"./RenderHTML-Cqn8OKqJ.js";var M=x(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=x(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=l(),z=e(t(),1),B=m(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(C,{className:`h-3 w-3`}),t[0]=u):u=t[0];let d=o?`Thinking`:`View reasoning`,f=n.length>0&&` (${n.length} chars)`,p;t[1]!==d||t[2]!==f?(p=(0,B.jsx)(_,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,d,f]})}),t[1]=d,t[2]=f,t[3]=p):p=t[3];let m;t[4]===n?m=t[5]:(m=(0,B.jsx)(g,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(T,{content:n})})})}),t[4]=n,t[5]=m);let y;t[6]!==p||t[7]!==m?(y=(0,B.jsxs)(h,{value:`reasoning`,className:`border-0`,children:[p,m]}),t[6]=p,t[7]=m,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(v,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=p(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let f;t[6]===n?f=t[7]:(f=H(n),t[6]=n,t[7]=f);let m;t[8]===f?m=t[9]:(m=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:f})]})]}),t[8]=f,t[9]=m);let h;t[10]===r?h=t[11]:(h=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=h);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(y,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let _;t[15]!==i.id||t[16]!==a?(_=(0,B.jsx)(y,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=_):_=t[17];let v;t[18]!==_||t[19]!==g?(v=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,_]}),t[18]=_,t[19]=g,t[20]=v):v=t[20];let b;return t[21]!==s||t[22]!==v||t[23]!==l||t[24]!==m||t[25]!==h?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[m,h,v]}),t[21]=s,t[22]=v,t[23]=l,t[24]=m,t[25]=h,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:r,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,f;t[0]===o?(d=t[1],f=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},f=[o],t[0]=o,t[1]=d,t[2]=f),z.useEffect(d,f);let m;t[3]===s?m=t[4]:(m=p(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=m);let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>l(K),t[5]=h):h=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=p(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(w,{className:x}),t[14]=x,t[15]=S);let C;t[16]!==c||t[17]!==S||t[18]!==y?(C=(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=C):C=t[19];let T;t[20]!==a||t[21]!==r||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:r}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=r,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==C||t[25]!==T||t[26]!==m?(E=(0,B.jsxs)(`div`,{className:m,children:[C,T]}),t[24]=C,t[25]=T,t[26]=m,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&u(e)}var J=s({status:a().default(`success`),auth_required:o().default(!1),action_url:c(),next_steps:c(),meta:c(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:n}=e,i;if(t[0]!==n){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=n,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(r,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=n,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(d,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(S,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{b(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(A,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return b(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,d=l===void 0||l,f;t[0]!==d||t[1]!==r?(f=!d&&te.has(r),t[0]=d,t[1]=r,t[2]=f):f=t[2];let m=f,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=p(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==m||t[6]!==r?(x=p(`h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline`,m?`text-muted-foreground`:re(r)),t[5]=m,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==m||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:m}),t[8]=m,t[9]=r,t[10]=S):S=t[10];let C=m?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(_,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(g,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(h,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(v,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return b(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return b(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:r,isActive:i,addToolApprovalResponse:a})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>o(e,t))});function o(o,s){if(oe(o))return(0,B.jsx)($,{index:s,toolName:o.type,result:o.output,errorText:o.state===`output-error`?o.errorText:void 0,className:`my-2`,state:o.state,input:o.input,approval:o.approval,onApprove:a,isLive:r,isActive:i},s);if(se(o))return f.debug(`Found data part`,o),null;switch(o.type){case`text`:return o.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:o.text})},s):(0,B.jsx)(T,{content:o.text},s);case`reasoning`:return(0,B.jsx)(V,{reasoning:o.text,index:s,isStreaming:t&&r&&s===(e.parts.length||0)-1},s);case`file`:return(0,B.jsx)(D,{attachment:o},s);case`reasoning-file`:return(0,B.jsx)(D,{attachment:{type:`file`,mediaType:o.mediaType,url:o.url}},s);case`dynamic-tool`:return(0,B.jsx)($,{toolName:o.toolName,result:o.output,errorText:o.state===`output-error`?o.errorText:void 0,state:o.state,input:o.input,approval:o.approval,onApprove:a,isLive:r,isActive:i},s);case`source-document`:return(0,B.jsx)(E,{icon:(0,B.jsx)(n,{className:`h-3 w-3 shrink-0`}),title:o.title,subtitle:o.filename},s);case`source-url`:return(0,B.jsx)(E,{icon:(0,B.jsx)(O,{className:`h-3 w-3 shrink-0`}),title:o.title??o.url,subtitle:o.title?o.url:void 0,href:o.url},s);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:o.kind},s);case`step-start`:return null;default:return b(o),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};
1
+ import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CBDbhulC.js";import{Qi as n,Zi as r,ra as i}from"./cells-D4RwofRx.js";import{In as a,kt as o,un as s,wt as c}from"./schemas-aTUejmFi.js";import{t as l}from"./compiler-runtime-CYIjoINj.js";import{t as u}from"./isEmpty-BJso7_X0.js";import{et as d}from"./ai-model-dropdown-CrSrb8Zz.js";import{g as f}from"./useEventListener-D27Dii_l.js";import{t as p}from"./cn-ldLVeaqm.js";import{t as m}from"./jsx-runtime-B74pBk57.js";import{a as h,i as g,o as _,r as v}from"./config-ycxJQP2b.js";import{t as y}from"./button-Btj6GXNy.js";import{i as b}from"./strings-CpYReX2Q.js";import{t as x}from"./createLucideIcon-B7HeEoG2.js";import{t as S}from"./ban-CwXfMsC1.js";import{t as C}from"./bot-message-square-CGhPjWFf.js";import{a as w}from"./useNumberFormatter-DHJ9s6Vk.js";import{t as T}from"./markdown-renderer-CdZX2MvM.js";import{p as E,u as D}from"./add-cell-with-ai-DoLkfzYn.js";import{t as O}from"./external-link-Bp3BxyRA.js";import{n as k}from"./spinner-Ck-Hgfvj.js";import{l as A}from"./datasource-Do8f2hFf.js";import{t as j}from"./RenderHTML-YkwVPe9V.js";var M=x(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=x(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=l(),z=e(t(),1),B=m(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(C,{className:`h-3 w-3`}),t[0]=u):u=t[0];let d=o?`Thinking`:`View reasoning`,f=n.length>0&&` (${n.length} chars)`,p;t[1]!==d||t[2]!==f?(p=(0,B.jsx)(_,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,d,f]})}),t[1]=d,t[2]=f,t[3]=p):p=t[3];let m;t[4]===n?m=t[5]:(m=(0,B.jsx)(g,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(T,{content:n})})})}),t[4]=n,t[5]=m);let y;t[6]!==p||t[7]!==m?(y=(0,B.jsxs)(h,{value:`reasoning`,className:`border-0`,children:[p,m]}),t[6]=p,t[7]=m,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(v,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=p(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let f;t[6]===n?f=t[7]:(f=H(n),t[6]=n,t[7]=f);let m;t[8]===f?m=t[9]:(m=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:f})]})]}),t[8]=f,t[9]=m);let h;t[10]===r?h=t[11]:(h=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=h);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(y,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let _;t[15]!==i.id||t[16]!==a?(_=(0,B.jsx)(y,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=_):_=t[17];let v;t[18]!==_||t[19]!==g?(v=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,_]}),t[18]=_,t[19]=g,t[20]=v):v=t[20];let b;return t[21]!==s||t[22]!==v||t[23]!==l||t[24]!==m||t[25]!==h?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[m,h,v]}),t[21]=s,t[22]=v,t[23]=l,t[24]=m,t[25]=h,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:r,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,f;t[0]===o?(d=t[1],f=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},f=[o],t[0]=o,t[1]=d,t[2]=f),z.useEffect(d,f);let m;t[3]===s?m=t[4]:(m=p(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=m);let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>l(K),t[5]=h):h=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(i,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=p(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(w,{className:x}),t[14]=x,t[15]=S);let C;t[16]!==c||t[17]!==S||t[18]!==y?(C=(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=C):C=t[19];let T;t[20]!==a||t[21]!==r||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:r}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=r,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==C||t[25]!==T||t[26]!==m?(E=(0,B.jsxs)(`div`,{className:m,children:[C,T]}),t[24]=C,t[25]=T,t[26]=m,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&u(e)}var J=s({status:a().default(`success`),auth_required:o().default(!1),action_url:c(),next_steps:c(),meta:c(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:n}=e,i;if(t[0]!==n){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=n,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(r,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=n,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(d,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(S,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{b(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(A,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return b(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,d=l===void 0||l,f;t[0]!==d||t[1]!==r?(f=!d&&te.has(r),t[0]=d,t[1]=r,t[2]=f):f=t[2];let m=f,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=p(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==m||t[6]!==r?(x=p(`h-6 text-xs border-border shadow-none! ring-0! bg-muted/60 hover:bg-muted py-0 px-2 gap-1 rounded-sm [&[data-state=open]>svg]:rotate-180 hover:no-underline`,m?`text-muted-foreground`:re(r)),t[5]=m,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==m||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:m}),t[8]=m,t[9]=r,t[10]=S):S=t[10];let C=m?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(_,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(g,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(h,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(v,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return b(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return b(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:r,isActive:i,addToolApprovalResponse:a})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>o(e,t))});function o(o,s){if(oe(o))return(0,B.jsx)($,{index:s,toolName:o.type,result:o.output,errorText:o.state===`output-error`?o.errorText:void 0,className:`my-2`,state:o.state,input:o.input,approval:o.approval,onApprove:a,isLive:r,isActive:i},s);if(se(o))return f.debug(`Found data part`,o),null;switch(o.type){case`text`:return o.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:o.text})},s):(0,B.jsx)(T,{content:o.text},s);case`reasoning`:return(0,B.jsx)(V,{reasoning:o.text,index:s,isStreaming:t&&r&&s===(e.parts.length||0)-1},s);case`file`:return(0,B.jsx)(D,{attachment:o},s);case`reasoning-file`:return(0,B.jsx)(D,{attachment:{type:`file`,mediaType:o.mediaType,url:o.url}},s);case`dynamic-tool`:return(0,B.jsx)($,{toolName:o.toolName,result:o.output,errorText:o.state===`output-error`?o.errorText:void 0,state:o.state,input:o.input,approval:o.approval,onApprove:a,isLive:r,isActive:i},s);case`source-document`:return(0,B.jsx)(E,{icon:(0,B.jsx)(n,{className:`h-3 w-3 shrink-0`}),title:o.title,subtitle:o.filename},s);case`source-url`:return(0,B.jsx)(E,{icon:(0,B.jsx)(O,{className:`h-3 w-3 shrink-0`}),title:o.title??o.url,subtitle:o.title?o.url:void 0,href:o.url},s);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:o.kind},s);case`step-start`:return null;default:return b(o),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};