@marimo-team/frontend 0.23.6-dev24 → 0.23.6-dev29

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 (88) hide show
  1. package/dist/assets/{CellStatus-eBz5dnxe.js → CellStatus-BWdBmgXp.js} +1 -1
  2. package/dist/assets/{JsonOutput-DCI5rUbO.js → JsonOutput-DyvRuemf.js} +11 -11
  3. package/dist/assets/{MarimoErrorOutput-BBRTedcZ.js → MarimoErrorOutput-CTbMr92N.js} +1 -1
  4. package/dist/assets/{RenderHTML-CL9ay8Ii.js → RenderHTML-BKLJDmuZ.js} +1 -1
  5. package/dist/assets/{RunButton-BH6H93bY.js → RunButton-Ch7KCyxS.js} +1 -1
  6. package/dist/assets/__vite-browser-external-D0cSGXjR.js +1 -0
  7. package/dist/assets/__vite-browser-external-DQc2JVNq.js +1 -0
  8. package/dist/assets/{add-cell-with-ai-D2XLAeU2.js → add-cell-with-ai-DMh3huz_.js} +1 -1
  9. package/dist/assets/{add-connection-dialog-BW9DyfLG.js → add-connection-dialog-BHeJmqed.js} +1 -1
  10. package/dist/assets/{agent-panel-C7y1sI8x.js → agent-panel-1dKGIFrL.js} +1 -1
  11. package/dist/assets/{ai-model-dropdown-MfjEMpyj.js → ai-model-dropdown-B43T4OtX.js} +2 -2
  12. package/dist/assets/{app-config-button-CouRGQlu.js → app-config-button-zkywKUHo.js} +1 -1
  13. package/dist/assets/{cell-editor-B5iNhBnz.js → cell-editor-DeLJbSpO.js} +3 -3
  14. package/dist/assets/{cell-link-BMyYJsGH.js → cell-link-CpZw-906.js} +1 -1
  15. package/dist/assets/{cells-BPSZbR83.js → cells-Wp62mkuO.js} +2 -2
  16. package/dist/assets/{chat-display-Dgi46qOZ.js → chat-display-DdLRA8c9.js} +1 -1
  17. package/dist/assets/{chat-panel-vTKld4Dk.js → chat-panel-BtE3Gbsz.js} +1 -1
  18. package/dist/assets/{chat-ui-BorRpZoS.js → chat-ui-D0gV9UvE.js} +1 -1
  19. package/dist/assets/{column-preview-BOUfJkSp.js → column-preview-ChsQq9WG.js} +1 -1
  20. package/dist/assets/{command-palette-BHrmZi0y.js → command-palette-DaR28lR1.js} +1 -1
  21. package/dist/assets/{common-CUslB949.js → common-DUia6qYH.js} +1 -1
  22. package/dist/assets/{components-CVmnuvKA.js → components-B6c-34E2.js} +1 -1
  23. package/dist/assets/{components-DPRoMb_X.js → components-C4kBzZ8D.js} +1 -1
  24. package/dist/assets/config-B2jNjodW.js +1 -0
  25. package/dist/assets/{datasource-DDj2B7Ss.js → datasource-DA33QXqs.js} +1 -1
  26. package/dist/assets/{dependency-graph-panel-sz_gQlcU.js → dependency-graph-panel-CW_F18M2.js} +1 -1
  27. package/dist/assets/{documentation-panel-B3FIOHGO.js → documentation-panel-Bc2upDjI.js} +1 -1
  28. package/dist/assets/{download-B97Ad3KO.js → download-DeMXY7lE.js} +1 -1
  29. package/dist/assets/{edit-page-CB6IRF98.js → edit-page-DW_zAyGK.js} +6 -6
  30. package/dist/assets/{error-panel-DVmhotHi.js → error-panel-BUdyn3Qm.js} +1 -1
  31. package/dist/assets/{file-explorer-panel-Dk5m8SbX.js → file-explorer-panel-CsE0pVjY.js} +3 -3
  32. package/dist/assets/{file-icons-B3v9xKEQ.js → file-icons-BB3Rj-wm.js} +1 -1
  33. package/dist/assets/{floating-outline-CEDD_IFg.js → floating-outline-CjjOJghP.js} +1 -1
  34. package/dist/assets/{focus-BYFe-tpE.js → focus-Cg3dLaBY.js} +1 -1
  35. package/dist/assets/{form-CrtrbmNl.js → form-MPkf1K-U.js} +1 -1
  36. package/dist/assets/{globals-CZHmfW40.js → globals-BS0Ia3-E.js} +1 -1
  37. package/dist/assets/{home-page-CTO2PnQu.js → home-page-CSWFfl1W.js} +1 -1
  38. package/dist/assets/{hooks-C5EEUVww.js → hooks-CWL7vReb.js} +1 -1
  39. package/dist/assets/{html-to-image-BFtSv8Pw.js → html-to-image-BZTmy2-K.js} +1 -1
  40. package/dist/assets/{index-vrNWkqSa.js → index-DASUIN17.js} +7 -7
  41. package/dist/assets/{kiosk-mode-GZCnZFaF.js → kiosk-mode-CYRe-uR-.js} +1 -1
  42. package/dist/assets/{layout-TV-ngcgk.js → layout-BSDV2zsQ.js} +5 -5
  43. package/dist/assets/{logs-panel-vIAw1PAv.js → logs-panel-B4Ue007a.js} +1 -1
  44. package/dist/assets/{markdown-renderer-BySoarzx.js → markdown-renderer-DjjwLrVA.js} +1 -1
  45. package/dist/assets/{name-cell-input-CWgwtXI1.js → name-cell-input-6Jz5ePv7.js} +1 -1
  46. package/dist/assets/{outline-panel-B5uTq6I8.js → outline-panel-jSt_ihdt.js} +1 -1
  47. package/dist/assets/{packages-panel-zg2qyYsm.js → packages-panel--bk9esFB.js} +1 -1
  48. package/dist/assets/panels-DsAghTc4.js +1 -0
  49. package/dist/assets/{process-output-C9OGP4VN.js → process-output-DJ0w0E8U.js} +1 -1
  50. package/dist/assets/{radio-group-C-al8pQI.js → radio-group-DxGLcDMI.js} +1 -1
  51. package/dist/assets/{readonly-python-code-Dq6zyequ.js → readonly-python-code-CANM2Z9C.js} +1 -1
  52. package/dist/assets/{reveal-component-D-qd0Ykp.js → reveal-component-CokId0wF.js} +1 -1
  53. package/dist/assets/run-page-71bH-JPO.js +1 -0
  54. package/dist/assets/{save-worker-CtJsIYIM.js → save-worker-CvbUHJh7.js} +3 -3
  55. package/dist/assets/{scratchpad-panel-Bz6stU2v.js → scratchpad-panel-DQYP_LcQ.js} +1 -1
  56. package/dist/assets/{session-panel-BJN9rWqs.js → session-panel-D4iAyuL8.js} +1 -1
  57. package/dist/assets/{snippets-panel-Byv2itpa.js → snippets-panel-C_DQv440.js} +1 -1
  58. package/dist/assets/state-CBfVA1Zd.js +3 -0
  59. package/dist/assets/{state-31owe31-.js → state-CxczBoEs.js} +1 -1
  60. package/dist/assets/{switch-BRZnhEsx.js → switch-DZyZgphf.js} +1 -1
  61. package/dist/assets/{terminal-CTa0CRvJ.js → terminal-BK-thxhB.js} +2 -2
  62. package/dist/assets/{textarea-DvLP5rPe.js → textarea-CS5kXjyn.js} +1 -1
  63. package/dist/assets/{tracing-JGGF8495.js → tracing-DDRlYHms.js} +1 -1
  64. package/dist/assets/{tracing-panel-DgYxM6Ao.js → tracing-panel-Ck40sYAm.js} +2 -2
  65. package/dist/assets/{useBoolean-XOrergn4.js → useBoolean-CBaXY4k5.js} +1 -1
  66. package/dist/assets/{useCellActionButton-DfeGNY_S.js → useCellActionButton-CWXrE9kV.js} +1 -1
  67. package/dist/assets/{useDeleteCell-BId7kUpZ.js → useDeleteCell-QZgst2RC.js} +1 -1
  68. package/dist/assets/{useDependencyPanelTab-DDU-NsHT.js → useDependencyPanelTab-C7jwIzJS.js} +1 -1
  69. package/dist/assets/{useNotebookActions-B-QFm7gM.js → useNotebookActions-BsPckLW3.js} +1 -1
  70. package/dist/assets/{useRunCells-B9oL9NIs.js → useRunCells-CA51wX-c.js} +1 -1
  71. package/dist/assets/{useSplitCell-Cc8EEdIY.js → useSplitCell-C8vIjR4-.js} +1 -1
  72. package/dist/assets/{vega-component-CGpxsBwV.js → vega-component-Cx57sbQd.js} +1 -1
  73. package/dist/assets/{worker-ztl1wuLb.js → worker-CF8V9c2V.js} +3 -3
  74. package/dist/index.html +26 -26
  75. package/package.json +1 -1
  76. package/src/core/runtime/runtime.ts +3 -2
  77. package/src/core/wasm/__tests__/bridge.test.ts +26 -1
  78. package/src/core/wasm/bridge.ts +18 -4
  79. package/src/core/wasm/worker/getController.ts +7 -0
  80. package/src/core/wasm/worker/save-worker.ts +2 -1
  81. package/src/core/wasm/worker/worker.ts +2 -1
  82. package/src/plugins/impl/common/labeled.tsx +1 -1
  83. package/dist/assets/__vite-browser-external-D-ioOGDE.js +0 -1
  84. package/dist/assets/__vite-browser-external-DgbEhFq1.js +0 -1
  85. package/dist/assets/config-NNGlrvbj.js +0 -1
  86. package/dist/assets/panels-C45Nbx6Z.js +0 -1
  87. package/dist/assets/run-page-LR1vR6ri.js +0 -1
  88. package/dist/assets/state-Bb2WcLMF.js +0 -3
@@ -1 +1 @@
1
- import{s as j}from"./chunk-LvLJmgfZ.js";import{d as L,l as P,n as A,u as E}from"./useEvent-D91BmmQi.js";import{Ai as O,E as w,Ft as y,N as F,j as S,pn as T,vi as _}from"./cells-BPSZbR83.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-BR0C1MaI.js";import{d as D}from"./utils-BrXijSdZ.js";import{r as N}from"./constants-DMpttj8Q.js";import{h as q,x as B}from"./config-NNGlrvbj.js";import{t as H}from"./cn-DCUzRj2J.js";import{t as M}from"./jsx-runtime-BqBOg78p.js";import{r as R}from"./requests-DIwGYs0l.js";import{n as U}from"./paths-BXWH6vv4.js";import{s as V}from"./session-VtovaFBS.js";import{n as z}from"./ImperativeModal-D7lQ0Q7_.js";var G=b();function x(){return E(_)}function J(){let r=(0,G.c)(5),[t]=P(q),e=L(_),{openAlert:a}=z(),{sendRename:o}=R(),s;return r[0]!==t.state||r[1]!==a||r[2]!==o||r[3]!==e?(s=async l=>{let n=D();return t.state===B.OPEN?(V(i=>{l===null?i.delete(N.filePath):i.set(N.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||U.basename(l)||"Untitled Notebook",l)).catch(i=>(a(i.message),null))):(a("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=a,r[2]=o,r[3]=e,r[4]=s):s=r[4],A(s)}var p=b(),v=j(M(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:a,variant:o,onClick:s,formatCellName:l,skipScroll:n}=r,i=F()[a]??"",C=S().inOrderIds.indexOf(a),{showCellIfHidden:d}=w(),g=l??W,c;t[0]===e?c=t[1]:(c=H("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==a||t[3]!==s||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(a==="__scratch__")return!1;d({cellId:a}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{I(a,o,n)&&(s==null||s())})},t[2]=a,t[3]=s,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(y(i,C)),u;return t[8]!==c||t[9]!==m||t[10]!==f?(u=(0,v.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:f}),t[8]=c,t[9]=m,t[10]=f,t[11]=u):u=t[11],u},K=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},Q=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:a}=r,o=x(),s;t[0]!==e||t[1]!==a?(s=()=>T(e,a),t[0]=e,t[1]=a,t[2]=s):s=t[2];let l;t[3]!==e||t[4]!==o?(l=i=>e==="__scratch__"?"scratch":`marimo://${o||"untitled"}#cell=${i}`,t[3]=e,t[4]=o,t[5]=l):l=t[5];let n;return t[6]!==e||t[7]!==s||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:s,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=s,t[8]=l,t[9]=n):n=t[9],n};function I(r,t,e){let a=O.create(r),o=document.getElementById(a),s=o==null?void 0:o.classList.contains("has-error");return o===null?($.error(`Cell ${a} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||s&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!s&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function W(r){return r}export{x as a,I as i,K as n,J as o,Q as r,h as t};
1
+ import{s as j}from"./chunk-LvLJmgfZ.js";import{d as L,l as P,n as w,u as A}from"./useEvent-D91BmmQi.js";import{Ai as E,E as O,Ft as y,N as F,j as S,pn as T,vi as _}from"./cells-Wp62mkuO.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-BR0C1MaI.js";import{d as D}from"./utils-BrXijSdZ.js";import{r as N}from"./constants-DMpttj8Q.js";import{v as q,w as B}from"./config-B2jNjodW.js";import{t as H}from"./cn-DCUzRj2J.js";import{t as M}from"./jsx-runtime-BqBOg78p.js";import{r as R}from"./requests-DIwGYs0l.js";import{n as U}from"./paths-BXWH6vv4.js";import{s as V}from"./session-VtovaFBS.js";import{n as z}from"./ImperativeModal-D7lQ0Q7_.js";var G=b();function I(){return A(_)}function J(){let r=(0,G.c)(5),[t]=P(q),e=L(_),{openAlert:a}=z(),{sendRename:o}=R(),s;return r[0]!==t.state||r[1]!==a||r[2]!==o||r[3]!==e?(s=async l=>{let n=D();return t.state===B.OPEN?(V(i=>{l===null?i.delete(N.filePath):i.set(N.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||U.basename(l)||"Untitled Notebook",l)).catch(i=>(a(i.message),null))):(a("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=a,r[2]=o,r[3]=e,r[4]=s):s=r[4],w(s)}var p=b(),v=j(M(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:a,variant:o,onClick:s,formatCellName:l,skipScroll:n}=r,i=F()[a]??"",C=S().inOrderIds.indexOf(a),{showCellIfHidden:d}=O(),g=l??W,c;t[0]===e?c=t[1]:(c=H("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==a||t[3]!==s||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(a==="__scratch__")return!1;d({cellId:a}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(a,o,n)&&(s==null||s())})},t[2]=a,t[3]=s,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(y(i,C)),u;return t[8]!==c||t[9]!==m||t[10]!==f?(u=(0,v.jsx)("div",{className:c,role:"link",tabIndex:-1,onClick:m,children:f}),t[8]=c,t[9]=m,t[10]=f,t[11]=u):u=t[11],u},K=r=>{let t=(0,p.c)(2),e;return t[0]===r?e=t[1]:(e=(0,v.jsx)(h,{...r,variant:"destructive"}),t[0]=r,t[1]=e),e},Q=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:a}=r,o=I(),s;t[0]!==e||t[1]!==a?(s=()=>T(e,a),t[0]=e,t[1]=a,t[2]=s):s=t[2];let l;t[3]!==e||t[4]!==o?(l=i=>e==="__scratch__"?"scratch":`marimo://${o||"untitled"}#cell=${i}`,t[3]=e,t[4]=o,t[5]=l):l=t[5];let n;return t[6]!==e||t[7]!==s||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:s,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=s,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let a=E.create(r),o=document.getElementById(a),s=o==null?void 0:o.classList.contains("has-error");return o===null?($.error(`Cell ${a} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||s&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!s&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function W(r){return r}export{I as a,x as i,K as n,J as o,Q as r,h as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-D_nSG7uo.js","./chunk-LvLJmgfZ.js","./dist-BZX17NA8.js","./dist-C9ZB41s2.js","./dist-HlsDto3K.js","./dist-BrR4M-k3.js","./dist-bvHsEZ9m.js","./dist-DS5RCKZO.js","./dist-CmTrDl8w.js","./dist-VjDnmGCZ.js","./dist-D4HwuQrf.js","./dist-9g-_Ln9y.js","./dist-Cwcldbhl.js","./dist-DBiqbYe-.js","./dist-E6ttb8td.js","./dist-_KQbcsP1.js","./dist-DBBYmRY4.js","./dist-RsQv8CvG.js","./dist-Dn_fCOGr.js","./dist-CEUFTp7U.js","./dist-CbOE2rpr.js","./dist-DggusHaA.js","./dist-Cn0rcGlX.js","./dist-_qPWf6sD.js","./dist-Dq4wQg6C.js","./dist-B96NwXcp.js","./dist-A6v5-U3i.js","./dist-DQOq2Tf-.js","./dist-DMSWEOfO.js","./dist-CGDn0y-i.js","./dist-CwZoXpmG.js","./dist-B324sPca.js","./dist-jLyLmWUE.js","./dist-CsEqrZxx.js","./dist-BVBYIAbx.js","./dist-_XomGjg6.js","./dist-BkhaSQrg.js","./dist-D6wwIjcW.js","./dist-BvZKHNvJ.js","./dist-ooLAQ9IK.js","./dist-e6kaTCKJ.js","./dist-HW7R98td.js","./apl-m-AMVo9Q.js","./apl-T0uH_RjM.js","./asciiarmor-BCgPMx-s.js","./asciiarmor-D3ol7c2G.js","./asn1-f2_lxsgc.js","./asn1-DA-fXXsk.js","./brainfuck-ZYebo2B9.js","./brainfuck-exn1QR7H.js","./cobol-BdI6-uBH.js","./cobol-BWxHqof4.js","./clike-O99jWPIc.js","./clike-BK27e5qn.js","./clojure-NE6UT6b9.js","./clojure-Df1U5nhC.js","./css-Ctj1grpW.js","./css-jpfGFPDE.js","./cmake-7TIUAxVu.js","./cmake-DrCf0yvp.js","./coffeescript-CLx5m4GS.js","./coffeescript-nKvg8y_U.js","./commonlisp-8d9AwdCm.js","./commonlisp-Dm562cBV.js","./cypher-DnT9gfY3.js","./cypher-RQ5M28al.js","./python-B_AEFhuO.js","./python-BRHQZrcc.js","./crystal-Bn-cOTHZ.js","./crystal-CrCmK2Cb.js","./d-DCjbmG72.js","./d-CNQ_nPqU.js","./diff-DtVdhdPz.js","./diff-DOODcY7A.js","./dockerfile-DERk1oNL.js","./simple-mode-BJAT_N3M.js","./dtd-CHKGQo-k.js","./dtd-CRYKjxdR.js","./dylan-DKXsKw9e.js","./dylan-Bg0sO2y3.js","./ecl-BJuToLkm.js","./ecl-DaBeV7OZ.js","./eiffel-Bs0gRCeB.js","./eiffel-BtJc6fqQ.js","./elm-BXUbhN4m.js","./elm-D9Rly7Qq.js","./erlang-B9b7RAaI.js","./erlang-FZMRuv-7.js","./factor-C2NWkG3V.js","./factor-BbYo7zsD.js","./forth-DAh7UX6C.js","./forth-C6jh4lHA.js","./fortran-Dy64-0b5.js","./fortran-DuxTe5qi.js","./mllike-5ykSeapn.js","./mllike-orSu1SHG.js","./gas-DC-7PUFB.js","./gas-D7RWbiQ0.js","./gherkin-ByiMyVl5.js","./gherkin-DV4l4nlf.js","./groovy-DaM0RAwa.js","./groovy-Ij7mXzwd.js","./haskell-BwRtIbXW.js","./haskell-BT_ZNgUJ.js","./haxe-DFGSCjmC.js","./haxe-DYYwGmM8.js","./idl-Ip8qszMi.js","./idl-CjBvIccU.js","./javascript-DmUu6wxV.js","./javascript-DQz7szA1.js","./julia-C8K-9kxt.js","./julia-U0NSUEwm.js","./livescript-B3MfBDE2.js","./livescript-D7jeebX7.js","./lua-B2YpVx0h.js","./lua-CT4vrRvN.js","./mirc-DvJdMBLZ.js","./mirc-6LiBC6Dw.js","./mathematica-D9tSC-hw.js","./mathematica-DmzlinOc.js","./modelica-laYOX8Zo.js","./modelica-BsibU-7c.js","./mumps-BwcCoPkA.js","./mumps-DIZYQE11.js","./mbox-CjoMCyMH.js","./mbox-DYDL20A1.js","./nsis-CpSPdWjV.js","./nsis-Cr8jf68z.js","./ntriples-D2ki9JZ6.js","./ntriples-CwlUIE0o.js","./octave-D817mWs9.js","./octave-BWtN_wao.js","./oz-3GS03IG4.js","./oz-CJMVKlqL.js","./pascal-C08wXab2.js","./pascal-C9rPtth-.js","./perl-Ija-iETI.js","./perl-CF7pKLbl.js","./pig-BlBD3yVJ.js","./pig-Bu0nn8JT.js","./powershell-CjOQ_PjD.js","./powershell-Bzwpi8yQ.js","./properties-5yVGVBrw.js","./properties-Cfh_Lj0j.js","./protobuf-hlm5v2rk.js","./protobuf-Vz3fs9Hb.js","./pug-DifRb20b.js","./pug-CKg66ZCy.js","./puppet-BpFPuj45.js","./puppet-JwSHf4DX.js","./q-BzDxfEQq.js","./q-DWFQ7YI_.js","./r-BJ9VYyYa.js","./r-DHkTNFL2.js","./rpm-Ez4HwV9T.js","./rpm-zbaZz_dk.js","./ruby-BcHOM0EI.js","./ruby-COvM5Bj_.js","./sas-Qmf5gHIU.js","./sas-Be8P6y_s.js","./scheme-Ctib9V77.js","./scheme-B9Zors0b.js","./shell-BtgVCAhn.js","./shell-CaaQwZ-W.js","./sieve-CMsTkuH0.js","./sieve-CdflT_3W.js","./smalltalk-BKSCdMTS.js","./smalltalk-CRO88y3z.js","./sparql-TK6HapG4.js","./sparql-DEker8ZS.js","./stylus-C8FKVvgQ.js","./stylus-DAJwnVOa.js","./swift-D7BZKS_y.js","./swift-D5F-FU3-.js","./stex-D6sqtveI.js","./stex-CtmkcLz7.js","./verilog-CTtn3HA0.js","./verilog-XWBMMjwd.js","./tcl-DFrjfFmM.js","./tcl-DirNbhYm.js","./textile-Bj913nF7.js","./textile-DhHo4rKl.js","./toml-B6qgmS36.js","./toml-CrP9HWVu.js","./troff-CysSpyUG.js","./troff-BWD1WiE0.js","./ttcn-DG1k5i1B.js","./ttcn-CQzcRj0D.js","./ttcn-cfg-p1jV7x_I.js","./ttcn-cfg-jzTcqwRW.js","./turtle-DSkxUncB.js","./turtle-BAqH2D2z.js","./webidl-CHPMhkWI.js","./webidl-xagG_7hd.js","./vb-BIvYC4My.js","./vb-CrUpzy4g.js","./vbscript-Coxg2EVQ.js","./vbscript-DEuHZ0Y0.js","./velocity-Cy90c7hC.js","./velocity-D99sTvXl.js","./vhdl-D3r3mwOF.js","./vhdl-BAGmVXDV.js","./xquery-d-YlNlXH.js","./xquery-B8Mguhly.js","./yacas-BfZ0gs5_.js","./yacas-XW2NxGKw.js","./z80-cYJ4lyZA.js","./z80-DhICfTcL.js","./mscgen-z_sYErek.js","./mscgen-vX4NsSXf.js","./dist-R7_s36kw.js","./dist-rzeRelEY.js","./dist-Cmcbyg5X.js","./node-sql-parser-B8vXamqL.js"])))=>i.map(i=>d[i]);
2
- var m6=Object.defineProperty;var g6=(pa,_r,ri)=>_r in pa?m6(pa,_r,{enumerable:!0,configurable:!0,writable:!0,value:ri}):pa[_r]=ri;var ve=(pa,_r,ri)=>g6(pa,typeof _r!="symbol"?_r+"":_r,ri);import{a as y6,n as pw,o as v6,r as b6,s as Pu,t as rt}from"./chunk-LvLJmgfZ.js";import{c as hw,i as Me,l as mw,p as Te,r as w6,s as _6,u as mn}from"./useEvent-D91BmmQi.js";import{t as Nu}from"./react-Bj1aDYRI.js";import{t as gw}from"./react-dom-CSu739Rf.js";import{B as x6,N as k6,P as yw,R as vw,T as bw,k as C6,w as S6}from"./zod-H_cgTO0M.js";import{t as tr}from"./compiler-runtime-B3qBwwSJ.js";import{t as zh}from"./debounce-DhnxH9Rh.js";import{_ as be,d as Rr,f as ww,o as Mu,p as E6}from"./useEventListener-BR0C1MaI.js";import{t as rn}from"./invariant-BUdrueMv.js";import{f as _w,t as xw}from"./utils-BrXijSdZ.js";import{S as Du,r as T6,y as I6}from"./config-NNGlrvbj.js";import{n as L6,t as Pr}from"./cn-DCUzRj2J.js";import{t as O6}from"./jsx-runtime-BqBOg78p.js";import{C as sa,S as kw,_ as Cw,b as nr,f as A6,h as ju,m as R6,u as P6,v as Sw,w as N6,y as M6}from"./fullscreen-BDxedMYP.js";import{l as Ew,o as D6}from"./dist-BoOh2kN5.js";import{d as j6}from"./menu-items-CwUpDHG7.js";import{a as z6,c as q6,i as qh,m as F6,n as B6,o as Tw,r as V6,s as H6,t as $6}from"./select-5i7URBEn.js";import{i as W6,t as Fh}from"./tooltip-Gcwqb_SK.js";import{t as Iw}from"./button-D9nb17Rw.js";import{A as U6,At as Bh,Bt as $t,C as K6,D as Q6,Et as Lw,Ft as Ow,Gt as G6,H as Aw,Ht as kl,I as Rw,J as zu,Jt as la,Kt as Pw,Ot as is,S as J6,St as Ja,T as Nw,U as X6,Ut as Mw,Vt as Y6,W as Z6,Wt as qu,Xt as Ui,Yt as os,Zt as ss,_t as e8,at as Et,b as Dw,ct as Ki,f as jw,it as t8,jt as n8,k as r8,l as ne,mt as a8,nt as zw,ot as i8,p as o8,rt as ca,u as qw,ut as s8,xt as Vh,z as Fw,zt as Fu}from"./dist-BrR4M-k3.js";import{C as l8,D as c8,L as u8,O as d8,T as f8,b as p8,d as Bw,f as h8,g as m8,h as g8,k as y8,n as v8,o as Hh,p as b8,s as w8,t as _8,u as x8,w as k8,x as C8}from"./dist-CHcznzB-.js";import{a as Cl,i as Vw,m as $h,n as S8,r as Hw}from"./arrays-DYDL-3-i.js";import{n as rr}from"./once-DRroIaBz.js";import{t as E8}from"./capabilities-C_FLIcjP.js";import{t as T8}from"./cjs-BRGiG41H.js";import{t as Sl}from"./createReducer-1ePoj7v6.js";import{d as $w,l as Ww,n as I8,o as Uw,p as L8,r as Bu}from"./dist-HlsDto3K.js";import{t as Kw}from"./main-B0OX4z33.js";import{n as Qw,t as O8}from"./useNonce-DfoVjkkH.js";import{i as ls,r as A8,t as R8}from"./strings-md4mFbOQ.js";import{t as br}from"./requests-DIwGYs0l.js";import{a as P8,c as N8,d as M8,f as Gw,i as D8,l as j8,n as z8,o as Wh,r as q8,s as Uh,t as F8,u as B8}from"./dist-C9ZB41s2.js";import{t as ot}from"./createLucideIcon-D5guW7EU.js";import{a as Kh,i as V8,o as H8,r as $8,t as W8}from"./useLifecycle-DieWOfXE.js";import{t as U8}from"./check-BH35Ndha.js";import{t as K8}from"./x-C-6liIBr.js";import{t as Q8,u as G8}from"./toDate-B5A0DFEz.js";import{t as Qh}from"./database-zap-kIkTfzTX.js";import{n as J8,t as El}from"./DeferredRequestRegistry-CUzZ0y7K.js";import{t as Fn}from"./badge-C7-HR1IO.js";import{t as re}from"./preload-helper-DItdS47A.js";import{a as Jw,s as X8}from"./dist-DQOq2Tf-.js";import{a as Y8,i as Gh,n as Z8,r as Xw,t as eI}from"./dist-B324sPca.js";import{n as tI}from"./stex-CtmkcLz7.js";import{t as Tl}from"./use-toast-T0_cQDma.js";import{n as Yw}from"./paths-BXWH6vv4.js";import{n as nI}from"./useTheme-DFXuDFj9.js";import{t as Jh}from"./purify.es-DBmVz-Wl.js";let Xh,Il,Yh,Vu,Zw,En,e_,t_,Zh,n_,Hu,$u,ua,Bn,r_,em,tm,a_,i_,o_,nm,s_,l_,Wu,c_,u_,d_,f_,p_,h_,rm,m_,g_,y_,v_,Ll,b_,w_,__,x_,k_,C_,S_,E_,T_,I_,L_,am,O_,im,A_,om,R_,sm,lm,ar,cm,Xa,da,um,P_,Vn,dm,N_,M_,D_,Uu,fm,j_,Ku,z_,Ya,Ol,q_,Qu,F_,B_,Gu,Al,V_,pm,H_,Ju,Xu,Hn,$_,W_,Qi,hm,U_,Rl,Yu,mm,K_,Q_,G_,gm,Gi,$n,J_,Zu,ym,X_,vm,ed,Za,Y_,td,bm,nd,wm,Z_,ex,tx,nx,rd,_m,ei,ad,rx,xm,id,Ji,Nr,ax,ix,ox,km,Cm,od,sx,Sm,Em,sd,Ye,gn,lx,Tm,wr,cx,Im,ux,Lm,dx,fx,px,Pl,Om,hx,Nl,Am,Rm,mx,ld,Pm,gx,cd,Nm,yx,vx,ud,Mm,bx,dd,cs,Dm,jm,fd,pd,ti,zm,qm,wx,_x,us,hd,xx,Fm,kx,Cx,Sx,md,Bm,Ex,ni,Tx,Xi,Vm,Ix,gd,Hm,$m,Lx,yd,ds,Wm,Yi,Um,Ox,Km,Ax,Qm,Gm,Rx,Px,Nx,fs,Jm,Xm,vd,Mx,Ym,Dx,Ml,jx,Zm,zx,qx,e0,Fx,t0,Bx,Vx,Dl,n0,r0,bd,a0,ps,fa,wd,i0,Hx,hs,_d,o0,s0,$x,xd,kd,Cd,Sd,Wx,Ux,Ed,l0,Zi,Kx,jl,Qx,c0,u0,Gx,Jx,zl,st,ql,rI=(async()=>{var ur,Nf,hi;let pa,_r,ri;pa=rt((e=>{function n(ie,ee){var W=ie.length;ie.push(ee);e:for(;0<W;){var Ie=W-1>>>1,He=ie[Ie];if(0<s(He,ee))ie[Ie]=ee,ie[W]=He,W=Ie;else break e}}function a(ie){return ie.length===0?null:ie[0]}function o(ie){if(ie.length===0)return null;var ee=ie[0],W=ie.pop();if(W!==ee){ie[0]=W;e:for(var Ie=0,He=ie.length,et=He>>>1;Ie<et;){var Fe=2*(Ie+1)-1,Ne=ie[Fe],Le=Fe+1,De=ie[Le];if(0>s(Ne,W))Le<He&&0>s(De,Ne)?(ie[Ie]=De,ie[Le]=W,Ie=Le):(ie[Ie]=Ne,ie[Fe]=W,Ie=Fe);else if(Le<He&&0>s(De,W))ie[Ie]=De,ie[Le]=W,Ie=Le;else break e}}return ee}function s(ie,ee){var W=ie.sortIndex-ee.sortIndex;return W===0?ie.id-ee.id:W}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var f=Date,d=f.now();e.unstable_now=function(){return f.now()-d}}var m=[],b=[],_=1,x=null,S=3,E=!1,L=!1,P=!1,q=!1,V=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function J(ie){for(var ee=a(b);ee!==null;){if(ee.callback===null)o(b);else if(ee.startTime<=ie)o(b),ee.sortIndex=ee.expirationTime,n(m,ee);else break;ee=a(b)}}function le(ie){if(P=!1,J(ie),!L)if(a(m)!==null)L=!0,A||(A=!0,ye());else{var ee=a(b);ee!==null&&ue(le,ee.startTime-ie)}}var A=!1,j=-1,$=5,oe=-1;function de(){return q?!0:!(e.unstable_now()-oe<$)}function he(){if(q=!1,A){var ie=e.unstable_now();oe=ie;var ee=!0;try{e:{L=!1,P&&(P=!1,B(j),j=-1),E=!0;var W=S;try{t:{for(J(ie),x=a(m);x!==null&&!(x.expirationTime>ie&&de());){var Ie=x.callback;if(typeof Ie=="function"){x.callback=null,S=x.priorityLevel;var He=Ie(x.expirationTime<=ie);if(ie=e.unstable_now(),typeof He=="function"){x.callback=He,J(ie),ee=!0;break t}x===a(m)&&o(m),J(ie)}else o(m);x=a(m)}if(x!==null)ee=!0;else{var et=a(b);et!==null&&ue(le,et.startTime-ie),ee=!1}}break e}finally{x=null,S=W,E=!1}ee=void 0}}finally{ee?ye():A=!1}}}var ye;if(typeof M=="function")ye=function(){M(he)};else if(typeof MessageChannel<"u"){var ke=new MessageChannel,we=ke.port2;ke.port1.onmessage=he,ye=function(){we.postMessage(null)}}else ye=function(){V(he,0)};function ue(ie,ee){j=V(function(){ie(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(ie){ie.callback=null},e.unstable_forceFrameRate=function(ie){0>ie||125<ie?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$=0<ie?Math.floor(1e3/ie):5},e.unstable_getCurrentPriorityLevel=function(){return S},e.unstable_next=function(ie){switch(S){case 1:case 2:case 3:var ee=3;break;default:ee=S}var W=S;S=ee;try{return ie()}finally{S=W}},e.unstable_requestPaint=function(){q=!0},e.unstable_runWithPriority=function(ie,ee){switch(ie){case 1:case 2:case 3:case 4:case 5:break;default:ie=3}var W=S;S=ie;try{return ee()}finally{S=W}},e.unstable_scheduleCallback=function(ie,ee,W){var Ie=e.unstable_now();switch(typeof W=="object"&&W?(W=W.delay,W=typeof W=="number"&&0<W?Ie+W:Ie):W=Ie,ie){case 1:var He=-1;break;case 2:He=250;break;case 5:He=1073741823;break;case 4:He=1e4;break;default:He=5e3}return He=W+He,ie={id:_++,callback:ee,priorityLevel:ie,startTime:W,expirationTime:He,sortIndex:-1},W>Ie?(ie.sortIndex=W,n(b,ie),a(m)===null&&ie===a(b)&&(P?(B(j),j=-1):P=!0,ue(le,W-Ie))):(ie.sortIndex=He,n(m,ie),L||E||(L=!0,A||(A=!0,ye()))),ie},e.unstable_shouldYield=de,e.unstable_wrapCallback=function(ie){var ee=S;return function(){var W=S;S=ee;try{return ie.apply(this,arguments)}finally{S=W}}}})),_r=rt(((e,n)=>{n.exports=pa()})),ri=rt((e=>{var n=_r(),a=Nu(),o=gw();function s(t){var r="https://react.dev/errors/"+t;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)r+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+t+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function f(t){var r=t,i=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,r.flags&4098&&(i=r.return),t=r.return;while(t)}return r.tag===3?i:null}function d(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function m(t){if(t.tag===31){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function b(t){if(f(t)!==t)throw Error(s(188))}function _(t){var r=t.alternate;if(!r){if(r=f(t),r===null)throw Error(s(188));return r===t?t:null}for(var i=t,l=r;;){var p=i.return;if(p===null)break;var g=p.alternate;if(g===null){if(l=p.return,l!==null){i=l;continue}break}if(p.child===g.child){for(g=p.child;g;){if(g===i)return b(p),t;if(g===l)return b(p),r;g=g.sibling}throw Error(s(188))}if(i.return!==l.return)i=p,l=g;else{for(var C=!1,I=p.child;I;){if(I===i){C=!0,i=p,l=g;break}if(I===l){C=!0,l=p,i=g;break}I=I.sibling}if(!C){for(I=g.child;I;){if(I===i){C=!0,i=g,l=p;break}if(I===l){C=!0,l=g,i=p;break}I=I.sibling}if(!C)throw Error(s(189))}}if(i.alternate!==l)throw Error(s(190))}if(i.tag!==3)throw Error(s(188));return i.stateNode.current===i?t:r}function x(t){var r=t.tag;if(r===5||r===26||r===27||r===6)return t;for(t=t.child;t!==null;){if(r=x(t),r!==null)return r;t=t.sibling}return null}var S=Object.assign,E=Symbol.for("react.element"),L=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),J=Symbol.for("react.context"),le=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),$=Symbol.for("react.memo"),oe=Symbol.for("react.lazy"),de=Symbol.for("react.activity"),he=Symbol.for("react.memo_cache_sentinel"),ye=Symbol.iterator;function ke(t){return typeof t!="object"||!t?null:(t=ye&&t[ye]||t["@@iterator"],typeof t=="function"?t:null)}var we=Symbol.for("react.client.reference");function ue(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===we?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case q:return"Fragment";case B:return"Profiler";case V:return"StrictMode";case A:return"Suspense";case j:return"SuspenseList";case de:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case J:return t.displayName||"Context";case M:return(t._context.displayName||"Context")+".Consumer";case le:var r=t.render;return t=t.displayName,t||(t=(t=r.displayName||r.name||"",t===""?"ForwardRef":"ForwardRef("+t+")")),t;case $:return r=t.displayName||null,r===null?ue(t.type)||"Memo":r;case oe:r=t._payload,t=t._init;try{return ue(t(r))}catch{}}return null}var ie=Array.isArray,ee=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ie={pending:!1,data:null,method:null,action:null},He=[],et=-1;function Fe(t){return{current:t}}function Ne(t){0>et||(t.current=He[et],He[et]=null,et--)}function Le(t,r){et++,He[et]=t.current,t.current=r}var De=Fe(null),Tt=Fe(null),Pt=Fe(null),wa=Fe(null);function vo(t,r){switch(Le(Pt,r),Le(Tt,t),Le(De,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?q2(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=q2(r),t=F2(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Ne(De),Le(De,t)}function On(){Ne(De),Ne(Tt),Ne(Pt)}function jr(t){t.memoizedState!==null&&Le(wa,t);var r=De.current,i=F2(r,t.type);r!==i&&(Le(Tt,t),Le(De,i))}function mi(t){Tt.current===t&&(Ne(De),Ne(Tt)),wa.current===t&&(Ne(wa),bl._currentValue=Ie)}var bo,Ts;function mt(t){if(bo===void 0)try{throw Error()}catch(i){var r=i.stack.trim().match(/\n( *(at )?)/);bo=r&&r[1]||"",Ts=-1<i.stack.indexOf(`
2
+ var m6=Object.defineProperty;var g6=(pa,_r,ri)=>_r in pa?m6(pa,_r,{enumerable:!0,configurable:!0,writable:!0,value:ri}):pa[_r]=ri;var ve=(pa,_r,ri)=>g6(pa,typeof _r!="symbol"?_r+"":_r,ri);import{a as y6,n as pw,o as v6,r as b6,s as Pu,t as rt}from"./chunk-LvLJmgfZ.js";import{c as hw,i as Me,l as mw,p as Te,r as w6,s as _6,u as mn}from"./useEvent-D91BmmQi.js";import{t as Nu}from"./react-Bj1aDYRI.js";import{t as gw}from"./react-dom-CSu739Rf.js";import{B as x6,N as k6,P as yw,R as vw,T as bw,k as C6,w as S6}from"./zod-H_cgTO0M.js";import{t as tr}from"./compiler-runtime-B3qBwwSJ.js";import{t as zh}from"./debounce-DhnxH9Rh.js";import{_ as be,d as Rr,f as ww,o as Mu,p as E6}from"./useEventListener-BR0C1MaI.js";import{t as rn}from"./invariant-BUdrueMv.js";import{f as _w,t as xw}from"./utils-BrXijSdZ.js";import{S as T6,T as Du,r as I6}from"./config-B2jNjodW.js";import{n as L6,t as Pr}from"./cn-DCUzRj2J.js";import{t as O6}from"./jsx-runtime-BqBOg78p.js";import{C as sa,S as kw,_ as Cw,b as nr,f as A6,h as ju,m as R6,u as P6,v as Sw,w as N6,y as M6}from"./fullscreen-BDxedMYP.js";import{l as Ew,o as D6}from"./dist-BoOh2kN5.js";import{d as j6}from"./menu-items-CwUpDHG7.js";import{a as z6,c as q6,i as qh,m as F6,n as B6,o as Tw,r as V6,s as H6,t as $6}from"./select-5i7URBEn.js";import{i as W6,t as Fh}from"./tooltip-Gcwqb_SK.js";import{t as Iw}from"./button-D9nb17Rw.js";import{A as U6,At as Bh,Bt as $t,C as K6,D as Q6,Et as Lw,Ft as Ow,Gt as G6,H as Aw,Ht as kl,I as Rw,J as zu,Jt as la,Kt as Pw,Ot as is,S as J6,St as Ja,T as Nw,U as X6,Ut as Mw,Vt as Y6,W as Z6,Wt as qu,Xt as Ui,Yt as os,Zt as ss,_t as e8,at as Et,b as Dw,ct as Ki,f as jw,it as t8,jt as n8,k as r8,l as ne,mt as a8,nt as zw,ot as i8,p as o8,rt as ca,u as qw,ut as s8,xt as Vh,z as Fw,zt as Fu}from"./dist-BrR4M-k3.js";import{C as l8,D as c8,L as u8,O as d8,T as f8,b as p8,d as Bw,f as h8,g as m8,h as g8,k as y8,n as v8,o as Hh,p as b8,s as w8,t as _8,u as x8,w as k8,x as C8}from"./dist-CHcznzB-.js";import{a as Cl,i as Vw,m as $h,n as S8,r as Hw}from"./arrays-DYDL-3-i.js";import{n as rr}from"./once-DRroIaBz.js";import{t as E8}from"./capabilities-C_FLIcjP.js";import{t as T8}from"./cjs-BRGiG41H.js";import{t as Sl}from"./createReducer-1ePoj7v6.js";import{d as $w,l as Ww,n as I8,o as Uw,p as L8,r as Bu}from"./dist-HlsDto3K.js";import{t as Kw}from"./main-B0OX4z33.js";import{n as Qw,t as O8}from"./useNonce-DfoVjkkH.js";import{i as ls,r as A8,t as R8}from"./strings-md4mFbOQ.js";import{t as br}from"./requests-DIwGYs0l.js";import{a as P8,c as N8,d as M8,f as Gw,i as D8,l as j8,n as z8,o as Wh,r as q8,s as Uh,t as F8,u as B8}from"./dist-C9ZB41s2.js";import{t as ot}from"./createLucideIcon-D5guW7EU.js";import{a as Kh,i as V8,o as H8,r as $8,t as W8}from"./useLifecycle-DieWOfXE.js";import{t as U8}from"./check-BH35Ndha.js";import{t as K8}from"./x-C-6liIBr.js";import{t as Q8,u as G8}from"./toDate-B5A0DFEz.js";import{t as Qh}from"./database-zap-kIkTfzTX.js";import{n as J8,t as El}from"./DeferredRequestRegistry-CUzZ0y7K.js";import{t as Fn}from"./badge-C7-HR1IO.js";import{t as re}from"./preload-helper-DItdS47A.js";import{a as Jw,s as X8}from"./dist-DQOq2Tf-.js";import{a as Y8,i as Gh,n as Z8,r as Xw,t as eI}from"./dist-B324sPca.js";import{n as tI}from"./stex-CtmkcLz7.js";import{t as Tl}from"./use-toast-T0_cQDma.js";import{n as Yw}from"./paths-BXWH6vv4.js";import{n as nI}from"./useTheme-DFXuDFj9.js";import{t as Jh}from"./purify.es-DBmVz-Wl.js";let Xh,Il,Yh,Vu,Zw,En,e_,t_,Zh,n_,Hu,$u,ua,Bn,r_,em,tm,a_,i_,o_,nm,s_,l_,Wu,c_,u_,d_,f_,p_,h_,rm,m_,g_,y_,v_,Ll,b_,w_,__,x_,k_,C_,S_,E_,T_,I_,L_,am,O_,im,A_,om,R_,sm,lm,ar,cm,Xa,da,um,P_,Vn,dm,N_,M_,D_,Uu,fm,j_,Ku,z_,Ya,Ol,q_,Qu,F_,B_,Gu,Al,V_,pm,H_,Ju,Xu,Hn,$_,W_,Qi,hm,U_,Rl,Yu,mm,K_,Q_,G_,gm,Gi,$n,J_,Zu,ym,X_,vm,ed,Za,Y_,td,bm,nd,wm,Z_,ex,tx,nx,rd,_m,ei,ad,rx,xm,id,Ji,Nr,ax,ix,ox,km,Cm,od,sx,Sm,Em,sd,Ye,gn,lx,Tm,wr,cx,Im,ux,Lm,dx,fx,px,Pl,Om,hx,Nl,Am,Rm,mx,ld,Pm,gx,cd,Nm,yx,vx,ud,Mm,bx,dd,cs,Dm,jm,fd,pd,ti,zm,qm,wx,_x,us,hd,xx,Fm,kx,Cx,Sx,md,Bm,Ex,ni,Tx,Xi,Vm,Ix,gd,Hm,$m,Lx,yd,ds,Wm,Yi,Um,Ox,Km,Ax,Qm,Gm,Rx,Px,Nx,fs,Jm,Xm,vd,Mx,Ym,Dx,Ml,jx,Zm,zx,qx,e0,Fx,t0,Bx,Vx,Dl,n0,r0,bd,a0,ps,fa,wd,i0,Hx,hs,_d,o0,s0,$x,xd,kd,Cd,Sd,Wx,Ux,Ed,l0,Zi,Kx,jl,Qx,c0,u0,Gx,Jx,zl,st,ql,rI=(async()=>{var ur,Nf,hi;let pa,_r,ri;pa=rt((e=>{function n(ie,ee){var W=ie.length;ie.push(ee);e:for(;0<W;){var Ie=W-1>>>1,He=ie[Ie];if(0<s(He,ee))ie[Ie]=ee,ie[W]=He,W=Ie;else break e}}function a(ie){return ie.length===0?null:ie[0]}function o(ie){if(ie.length===0)return null;var ee=ie[0],W=ie.pop();if(W!==ee){ie[0]=W;e:for(var Ie=0,He=ie.length,et=He>>>1;Ie<et;){var Fe=2*(Ie+1)-1,Ne=ie[Fe],Le=Fe+1,De=ie[Le];if(0>s(Ne,W))Le<He&&0>s(De,Ne)?(ie[Ie]=De,ie[Le]=W,Ie=Le):(ie[Ie]=Ne,ie[Fe]=W,Ie=Fe);else if(Le<He&&0>s(De,W))ie[Ie]=De,ie[Le]=W,Ie=Le;else break e}}return ee}function s(ie,ee){var W=ie.sortIndex-ee.sortIndex;return W===0?ie.id-ee.id:W}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var f=Date,d=f.now();e.unstable_now=function(){return f.now()-d}}var m=[],b=[],_=1,x=null,S=3,E=!1,L=!1,P=!1,q=!1,V=typeof setTimeout=="function"?setTimeout:null,B=typeof clearTimeout=="function"?clearTimeout:null,M=typeof setImmediate<"u"?setImmediate:null;function J(ie){for(var ee=a(b);ee!==null;){if(ee.callback===null)o(b);else if(ee.startTime<=ie)o(b),ee.sortIndex=ee.expirationTime,n(m,ee);else break;ee=a(b)}}function le(ie){if(P=!1,J(ie),!L)if(a(m)!==null)L=!0,A||(A=!0,ye());else{var ee=a(b);ee!==null&&ue(le,ee.startTime-ie)}}var A=!1,j=-1,$=5,oe=-1;function de(){return q?!0:!(e.unstable_now()-oe<$)}function he(){if(q=!1,A){var ie=e.unstable_now();oe=ie;var ee=!0;try{e:{L=!1,P&&(P=!1,B(j),j=-1),E=!0;var W=S;try{t:{for(J(ie),x=a(m);x!==null&&!(x.expirationTime>ie&&de());){var Ie=x.callback;if(typeof Ie=="function"){x.callback=null,S=x.priorityLevel;var He=Ie(x.expirationTime<=ie);if(ie=e.unstable_now(),typeof He=="function"){x.callback=He,J(ie),ee=!0;break t}x===a(m)&&o(m),J(ie)}else o(m);x=a(m)}if(x!==null)ee=!0;else{var et=a(b);et!==null&&ue(le,et.startTime-ie),ee=!1}}break e}finally{x=null,S=W,E=!1}ee=void 0}}finally{ee?ye():A=!1}}}var ye;if(typeof M=="function")ye=function(){M(he)};else if(typeof MessageChannel<"u"){var ke=new MessageChannel,we=ke.port2;ke.port1.onmessage=he,ye=function(){we.postMessage(null)}}else ye=function(){V(he,0)};function ue(ie,ee){j=V(function(){ie(e.unstable_now())},ee)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(ie){ie.callback=null},e.unstable_forceFrameRate=function(ie){0>ie||125<ie?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):$=0<ie?Math.floor(1e3/ie):5},e.unstable_getCurrentPriorityLevel=function(){return S},e.unstable_next=function(ie){switch(S){case 1:case 2:case 3:var ee=3;break;default:ee=S}var W=S;S=ee;try{return ie()}finally{S=W}},e.unstable_requestPaint=function(){q=!0},e.unstable_runWithPriority=function(ie,ee){switch(ie){case 1:case 2:case 3:case 4:case 5:break;default:ie=3}var W=S;S=ie;try{return ee()}finally{S=W}},e.unstable_scheduleCallback=function(ie,ee,W){var Ie=e.unstable_now();switch(typeof W=="object"&&W?(W=W.delay,W=typeof W=="number"&&0<W?Ie+W:Ie):W=Ie,ie){case 1:var He=-1;break;case 2:He=250;break;case 5:He=1073741823;break;case 4:He=1e4;break;default:He=5e3}return He=W+He,ie={id:_++,callback:ee,priorityLevel:ie,startTime:W,expirationTime:He,sortIndex:-1},W>Ie?(ie.sortIndex=W,n(b,ie),a(m)===null&&ie===a(b)&&(P?(B(j),j=-1):P=!0,ue(le,W-Ie))):(ie.sortIndex=He,n(m,ie),L||E||(L=!0,A||(A=!0,ye()))),ie},e.unstable_shouldYield=de,e.unstable_wrapCallback=function(ie){var ee=S;return function(){var W=S;S=ee;try{return ie.apply(this,arguments)}finally{S=W}}}})),_r=rt(((e,n)=>{n.exports=pa()})),ri=rt((e=>{var n=_r(),a=Nu(),o=gw();function s(t){var r="https://react.dev/errors/"+t;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var i=2;i<arguments.length;i++)r+="&args[]="+encodeURIComponent(arguments[i])}return"Minified React error #"+t+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function f(t){var r=t,i=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,r.flags&4098&&(i=r.return),t=r.return;while(t)}return r.tag===3?i:null}function d(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function m(t){if(t.tag===31){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function b(t){if(f(t)!==t)throw Error(s(188))}function _(t){var r=t.alternate;if(!r){if(r=f(t),r===null)throw Error(s(188));return r===t?t:null}for(var i=t,l=r;;){var p=i.return;if(p===null)break;var g=p.alternate;if(g===null){if(l=p.return,l!==null){i=l;continue}break}if(p.child===g.child){for(g=p.child;g;){if(g===i)return b(p),t;if(g===l)return b(p),r;g=g.sibling}throw Error(s(188))}if(i.return!==l.return)i=p,l=g;else{for(var C=!1,I=p.child;I;){if(I===i){C=!0,i=p,l=g;break}if(I===l){C=!0,l=p,i=g;break}I=I.sibling}if(!C){for(I=g.child;I;){if(I===i){C=!0,i=g,l=p;break}if(I===l){C=!0,l=g,i=p;break}I=I.sibling}if(!C)throw Error(s(189))}}if(i.alternate!==l)throw Error(s(190))}if(i.tag!==3)throw Error(s(188));return i.stateNode.current===i?t:r}function x(t){var r=t.tag;if(r===5||r===26||r===27||r===6)return t;for(t=t.child;t!==null;){if(r=x(t),r!==null)return r;t=t.sibling}return null}var S=Object.assign,E=Symbol.for("react.element"),L=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),q=Symbol.for("react.fragment"),V=Symbol.for("react.strict_mode"),B=Symbol.for("react.profiler"),M=Symbol.for("react.consumer"),J=Symbol.for("react.context"),le=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),j=Symbol.for("react.suspense_list"),$=Symbol.for("react.memo"),oe=Symbol.for("react.lazy"),de=Symbol.for("react.activity"),he=Symbol.for("react.memo_cache_sentinel"),ye=Symbol.iterator;function ke(t){return typeof t!="object"||!t?null:(t=ye&&t[ye]||t["@@iterator"],typeof t=="function"?t:null)}var we=Symbol.for("react.client.reference");function ue(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===we?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case q:return"Fragment";case B:return"Profiler";case V:return"StrictMode";case A:return"Suspense";case j:return"SuspenseList";case de:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case J:return t.displayName||"Context";case M:return(t._context.displayName||"Context")+".Consumer";case le:var r=t.render;return t=t.displayName,t||(t=(t=r.displayName||r.name||"",t===""?"ForwardRef":"ForwardRef("+t+")")),t;case $:return r=t.displayName||null,r===null?ue(t.type)||"Memo":r;case oe:r=t._payload,t=t._init;try{return ue(t(r))}catch{}}return null}var ie=Array.isArray,ee=a.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,W=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Ie={pending:!1,data:null,method:null,action:null},He=[],et=-1;function Fe(t){return{current:t}}function Ne(t){0>et||(t.current=He[et],He[et]=null,et--)}function Le(t,r){et++,He[et]=t.current,t.current=r}var De=Fe(null),Tt=Fe(null),Pt=Fe(null),wa=Fe(null);function vo(t,r){switch(Le(Pt,r),Le(Tt,t),Le(De,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?q2(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=q2(r),t=F2(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}Ne(De),Le(De,t)}function On(){Ne(De),Ne(Tt),Ne(Pt)}function jr(t){t.memoizedState!==null&&Le(wa,t);var r=De.current,i=F2(r,t.type);r!==i&&(Le(Tt,t),Le(De,i))}function mi(t){Tt.current===t&&(Ne(De),Ne(Tt)),wa.current===t&&(Ne(wa),bl._currentValue=Ie)}var bo,Ts;function mt(t){if(bo===void 0)try{throw Error()}catch(i){var r=i.stack.trim().match(/\n( *(at )?)/);bo=r&&r[1]||"",Ts=-1<i.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+bo+t+Ts}var Is=!1;function vn(t,r){if(!t||Is)return"";Is=!0;var i=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(r){var fe=function(){throw Error()};if(Object.defineProperty(fe.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(fe,[])}catch(ae){var Z=ae}Reflect.construct(t,[],fe)}else{try{fe.call()}catch(ae){Z=ae}t.call(fe.prototype)}}else{try{throw Error()}catch(ae){Z=ae}(fe=t())&&typeof fe.catch=="function"&&fe.catch(function(){})}}catch(ae){if(ae&&Z&&typeof ae.stack=="string")return[ae.stack,Z.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var p=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");p&&p.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var g=l.DetermineComponentFrameRoot(),C=g[0],I=g[1];if(C&&I){var F=C.split(`
5
5
  `),X=I.split(`
@@ -109,7 +109,7 @@ mark line col
109
109
  `),isFenced:m}),o=[])};for(let m of n){let b=m.match(/^[\t ]*(`{3,}|~{3,})/);if(b){let _=b[1],x=_[0],S=_.length;if(!s){d(!1),s=!0,c=x,f=S,o.push(m);continue}if(x===c&&S>=f){o.push(m),d(!0),s=!1,c="",f=0;continue}}o.push(m)}return d(s),a}function dE(e){let n=[],a="",o=!1,s="",c=0;for(;c<e.length;){if(e[c]==="`"){let f=c;for(;f<e.length&&e[f]==="`";)f+=1;let d=e.slice(c,f);if(o&&d===s){a+=d,n.push({text:a,isInlineCode:!0}),a="",o=!1,s="",c=f;continue}if(!o){a&&(a=(n.push({text:a,isInlineCode:!1}),"")),o=!0,s=d,a+=d,c=f;continue}}a+=e[c],c+=1}return a&&n.push({text:a,isInlineCode:o}),n}function fE(e){let n=pE(e);return n=n.replaceAll(iE,(a,o)=>bf(o)),n=n.replaceAll(oE,(a,o)=>rc(o)),n=n.replaceAll(sE,(a,o)=>bf(o)),n=n.replaceAll(lE,(a,o)=>rc(o)),n}function ho(e){var n;return((n=e.match(/^[\t ]*/))==null?void 0:n[0].replaceAll(" "," ").length)??0}function pE(e){var s;let n=e.split(`
110
110
  `);if(n.length===0)return e;let a=[],o=0;for(;o<n.length;){let c=n[o],f=c.match(/^[\t ]*\.\.\s+math::(.*)$/);if(!f){a.push(c),o+=1;continue}let d=((s=f[1])==null?void 0:s.trim())??"",m=ho(c);o+=1;let b=[],_=d.includes("\\begin");if(d)b.push(d);else{for(;o<n.length;){let L=n[o];if(!L.trim()){o+=1;continue}if(!(ho(L)>m&&L.trim().startsWith(":")))break;o+=1}if(o<n.length){let L=n[o];_=!!L.trim()&&ho(L)<=m&&L.trimStart().startsWith("\\")}}if(_)for(;o<n.length&&n[o].trim();)b.push(n[o]),o+=1;else for(;o<n.length;){let L=n[o];if(!L.trim()){b.push(""),o+=1;continue}if(ho(L)<=m)break;b.push(L),o+=1}let x=b.filter(L=>!!L.trim());if(x.length===0){a.push(c);continue}let S=Math.min(...x.map(L=>ho(L))),E=b.map(L=>{if(!L)return"";let P=Math.min(S,ho(L));return L.slice(P)}).join(`
111
111
  `).trim();a.push(bf(E))}return a.join(`
112
- `)}function rc(e){return`<marimo-tex class="arithmatex">||(${e.trim()}||)</marimo-tex>`}function bf(e){return`<marimo-tex class="arithmatex">||[${e.trim()}||]</marimo-tex>`}const cn={PREFIX:"file:///",of(e){return`${this.PREFIX}${e}`},is(e){return e.startsWith(this.PREFIX)},parse(e){return rn(this.is(e),`Invalid cell document URI: ${e}`),e.slice(this.PREFIX.length)}};function l1(e){return"notify"in e}function hE(e){return e.startsWith("_")&&!e.startsWith("__")}var mE=class{constructor(e){ve(this,"documentVersion",0);ve(this,"lastSnapshot",null);this.getNotebookCode=e}snapshot(){var a;let e=this.getLens(),n=((a=this.lastSnapshot)==null?void 0:a.mergedText)!==e.mergedText;return n?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:n,version:this.documentVersion}):{lens:e,didChange:n,version:this.documentVersion}}getLatestSnapshot(){if(!this.lastSnapshot)throw Error("No snapshots");return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:n}=this.getNotebookCode();return nE(e,n)}},gE=()=>{let e=dd().cellHandles;return Rr.mapValues(e,n=>{var a;return(a=n.current)==null?void 0:a.editorViewOrNull})};function wf(e){let n=i1(e);return Array.isArray(n)?e:n}function _f(e){return{...e,documentation:wf(e.documentation)}}function yE(e){return e==null?null:Array.isArray(e)?e.map(n=>_f(n)):{...e,items:e.items.map(n=>_f(n))}}function vE(e){return{...e,signatures:e.signatures.map(n=>{var a;return{...n,documentation:wf(n.documentation),parameters:(a=n.parameters)==null?void 0:a.map(o=>({...o,documentation:wf(o.documentation)}))}})}}var ac=(ur=class{constructor(n,a,o=gE){ve(this,"completionItemCache",new Ql(10));ve(this,"latestDiagnosticsVersion",null);ve(this,"forwardedDiagnosticsVersion",0);this.documentUri=n1(),this.getNotebookEditors=o,this.initialSettings=a,this.client=n,this.patchProcessNotification(),this.initializePromise.then(()=>{rn(l1(this.client),"notify is not a method on the client"),this.client.notify("workspace/didChangeConfiguration",{settings:a})}),this.snapshotter=new mE(this.getNotebookCode.bind(this))}static pruneSeenCellUris(n){for(let a of ur.SEEN_CELL_DOCUMENT_URIS){let o=cn.parse(a);n.has(o)||ur.SEEN_CELL_DOCUMENT_URIS.delete(a)}}onNotification(n){return this.client.onNotification(n)}get ready(){return this.client.ready}set ready(n){this.client.ready=n}get capabilities(){return this.client.capabilities}set capabilities(n){this.client.capabilities=n}get initializePromise(){return this.client.initializePromise}set initializePromise(n){this.client.initializePromise=n}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.client.close()}async resyncAllDocuments(){rn(l1(this.client),"notify is not a method on the client"),await this.client.initialize(),this.client.notify("workspace/didChangeConfiguration",{settings:this.initialSettings});let{lens:n,version:a}=this.snapshotter.snapshot();this.latestDiagnosticsVersion=null,this.forwardedDiagnosticsVersion=0,await this.client.textDocumentDidOpen({textDocument:{languageId:"python",text:n.mergedText,uri:this.documentUri,version:a}}),be.log("[lsp] Document re-synchronization complete")}getNotebookCode(){return Me.get(eE)}assertCellDocumentUri(n){rn(cn.is(n),"Execpted URI to be CellDocumentUri")}async textDocumentDidOpen(n){be.debug("[lsp] textDocumentDidOpen",n);let a=n.textDocument.uri;this.assertCellDocumentUri(a);let{lens:o,version:s}=this.snapshotter.snapshot();ur.SEEN_CELL_DOCUMENT_URIS.add(a);let c=await this.client.textDocumentDidOpen({textDocument:{languageId:n.textDocument.languageId,text:o.mergedText,uri:this.documentUri,version:s}});return c?{...c,textDocument:{...c.textDocument,text:o.mergedText}}:n}async sync(){let{lens:n,version:a,didChange:o}=this.snapshotter.snapshot(),s={textDocument:{uri:this.documentUri,version:a},contentChanges:[{text:n.mergedText}]};return o&&await this.client.textDocumentDidChange(s),{params:s,lens:n}}async textDocumentDidChange(n){if(be.debug("[lsp] textDocumentDidChange",n),n.contentChanges.length===1){let{params:a}=await this.sync();return a}return be.warn("[lsp] Unhandled textDocumentDidChange",n),this.client.textDocumentDidChange(n)}async textDocumentDefinition(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a);return this.client.textDocumentDefinition({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentSignatureHelp(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a),c=await this.client.textDocumentSignatureHelp({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)});return c?vE(c):null}textDocumentCodeAction(n){return Promise.resolve(null)}async textDocumentRename(n){var q;let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let o=cn.parse(a),{lens:s}=await this.sync(),c=s.transformPosition(n.position,o),f=await this.client.textDocumentRename({...n,textDocument:{uri:this.documentUri},position:c});if(!f)return null;let d=(q=f.documentChanges)==null?void 0:q.flatMap(V=>"edits"in V?V.edits:[]);if(!d||d.length!==1)return be.warn("Expected exactly one edit",d),f;let m=d[0];if(!("newText"in m))return be.warn("Expected newText in edit",m),f;let b=s.getEditsForNewText(m.newText),_=new Map(b.map(V=>[V.cellId,V.text])),x=this.getNotebookEditors(),S=x[o],E=!1;if(S){let V=S.state.doc.line(n.position.line+1).from+n.position.character,{startToken:B,endToken:M}=ff(S.state.doc,V),J=S.state.doc.sliceString(B,M);E=hE(J),E&&be.debug("[lsp] Private variable rename detected, limiting to current cell",J)}let L=[],P=0;for(let[V,B]of Rr.entries(x)){if(E&&V!==o)continue;let M=_.get(V);if(M==null){be.warn("[lsp] No new code for cell during rename",V),L.push(V);continue}if(!B){be.warn("[lsp] No editor view for cell during rename",V),L.push(V);continue}wr(B)!==M&&(Zi(B,M),P++)}return L.length>0&&be.error(`[lsp] Rename partially failed: could not update ${L.length} cell(s)`,L),be.debug(`[lsp] Rename completed: updated ${P} cell(s)`),{...f,documentChanges:[{edits:[],textDocument:{uri:a,version:0}}]}}async completionItemResolve(n){let a=JSON.stringify(n),o=this.completionItemCache.get(a);if(o)return o;let s=this.client.completionItemResolve(n).then(c=>_f(c));return this.completionItemCache.set(a,s),s}async textDocumentPrepareRename(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a);return this.client.textDocumentPrepareRename({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentHover(n){be.debug("[lsp] textDocumentHover",n);let{lens:a}=await this.sync(),o=cn.parse(n.textDocument.uri),s=await this.client.textDocumentHover({...n,textDocument:{uri:this.documentUri},position:a.transformPosition(n.position,o)});return s?(typeof s.contents=="object"&&"kind"in s.contents&&(s.contents={kind:"markdown",value:s.contents.value}),s.contents=i1(s.contents)??s.contents,s.contents===""?null:(s.range&&(s.range=a.reverseRange(s.range,o)),s)):(be.debug("[lsp] no hover result"),s)}async textDocumentCompletion(n){let{lens:a}=this.snapshotter.getLatestSnapshot();if(!cn.is(n.textDocument.uri))return be.error("[lsp] Invalid cell document URI in completion request",n.textDocument.uri),null;let o=cn.parse(n.textDocument.uri);if(!o||o==="undefined")return be.error("[lsp] Invalid cellId 'undefined' in completion request",{cellId:o,uri:n.textDocument.uri,availableCellIds:a.cellIds}),null;a.cellIds.includes(o)||be.warn("[lsp] CellId in completion request not found in current lens",{cellId:o,uri:n.textDocument.uri,availableCellIds:a.cellIds});let s=a.transformPosition(n.position,o);return yE(await this.client.textDocumentCompletion({...n,textDocument:{uri:this.documentUri},position:s}))}patchProcessNotification(){rn("processNotification"in this.client,"processNotification is not a method on the client");let n=this.client.processNotification.bind(this.client),a=o=>{if(o.method==="textDocument/publishDiagnostics"){let s=o.params.version;if(s!=null){let S=this.latestDiagnosticsVersion;if(S!==null&&Number.isFinite(s)&&s<S){be.debug("[lsp] dropping stale diagnostics notification",o);return}this.latestDiagnosticsVersion=s}be.debug("[lsp] handling diagnostics",o);let c=this.snapshotter.getLatestSnapshot(),f=o.params.diagnostics,{lens:d}=c,m=++this.forwardedDiagnosticsVersion,b=new Map;for(let S of f)for(let E of d.cellIds)if(d.isInRange(S.range,E)){b.has(E)||b.set(E,[]);let L={...S,range:d.reverseRange(S.range,E)};b.get(E).push(L);break}let _=new Set(d.cellIds);ur.pruneSeenCellUris(_);let x=new Set(ur.SEEN_CELL_DOCUMENT_URIS);for(let[S,E]of b.entries()){be.debug("[lsp] diagnostics for cell",S,E);let L=cn.of(S);x.delete(L),n({...o,params:{...o.params,uri:L,version:m,diagnostics:E}})}if(x.size>0){be.debug("[lsp] clearing diagnostics",x);for(let S of x)n({method:"textDocument/publishDiagnostics",params:{uri:S,version:m,diagnostics:[]}})}return}return n(o)};this.client.processNotification=a}},ve(ur,"SEEN_CELL_DOCUMENT_URIS",new Set),ur),bE=Ml(),wE=ti(),_E=class extends wE.Transport{constructor(n){super();ve(this,"isClosed",!1);ve(this,"hasConnectedBefore",!1);ve(this,"pendingSubscriptions",[]);this.options=n,this.delegate=void 0}createDelegate(){if(this.delegate)try{this.delegate.close()}catch(n){be.warn("Error closing old WebSocket delegate",n)}this.delegate=new bE.WebSocketTransport(this.options.getWsUrl());for(let{event:n,handler:a}of this.pendingSubscriptions)this.delegate.subscribe(n,a);return this.delegate}isDelegateClosedOrClosing(){if(!this.delegate)return!0;let n=this.delegate.connection;return n?n.readyState===WebSocket.CLOSING||n.readyState===WebSocket.CLOSED:!0}async connect(){if(this.isClosed)throw Error("Transport is closed");return this.connectionPromise||(this.connectionPromise=(async()=>{try{this.options.waitForConnection&&await this.options.waitForConnection();let n=this.delegate;(!n||this.isDelegateClosedOrClosing())&&(n=this.createDelegate()),await n.connect(),be.log("WebSocket transport connected successfully");let a=this.hasConnectedBefore;this.hasConnectedBefore=!0,a&&this.options.onReconnect&&(be.log("Calling onReconnect callback to re-synchronize state"),await this.options.onReconnect())}catch(n){throw be.error("WebSocket transport connection failed",n),this.delegate=void 0,n}finally{this.connectionPromise=void 0}})()),this.connectionPromise}close(){var n;this.isClosed=!0,(n=this.delegate)==null||n.close(),this.delegate=void 0,this.connectionPromise=void 0}subscribe(...n){super.subscribe(...n);let[a,o]=n;this.pendingSubscriptions.push({event:a,handler:o}),this.delegate&&this.delegate.subscribe(a,o)}unsubscribe(...n){let a=super.unsubscribe(...n),[o,s]=n;return this.pendingSubscriptions=this.pendingSubscriptions.filter(c=>!(c.event===o&&c.handler===s)),this.delegate&&this.delegate.unsubscribe(o,s),a}async sendData(n,a){var o;if(this.isDelegateClosedOrClosing()){be.warn("WebSocket is closed or closing, attempting to reconnect");try{await this.connect()}catch(s){throw be.error("Failed to reconnect WebSocket",s),s}}return(o=this.delegate)==null?void 0:o.sendData(n,a)}};function ic(e,n){let a=T6();return new _E({getWsUrl:()=>a.getLSPURL(e).toString(),waitForConnection:async()=>{await I6()},onReconnect:n})}la.define(),new Fu;function xE(e){return e.facet(Y6.readOnly)}function kE(e){return[Lw(e),Ja.of([{key:"ArrowRight",preventDefault:!0,run:n=>c1(n,e)},{key:"Tab",preventDefault:!0,run:n=>c1(n,e)}])]}function c1(e,n){if(xE(e.state))return!1;let a=e.state.doc.length;return a===0?(e.dispatch({changes:{from:0,to:a,insert:n},selection:{head:n.length,anchor:n.length}}),!0):!1}function CE(e){let{beforeText:n,linkText:a,afterText:o,onClick:s}=e;return[Lw(c=>{let f=document.createElement("span");f.append(document.createTextNode(n));let d=document.createElement("span");return d.textContent=a,d.classList.add("cm-clickable-placeholder"),d.onclick=m=>{m.stopPropagation(),s(c)},f.append(d),f.append(document.createTextNode(o)),f}),Et.theme({".cm-placeholder":{color:"var(--slate-8)"},".cm-clickable-placeholder":{cursor:"pointer !important",pointerEvents:"auto",color:"var(--slate-9)",textDecoration:"underline",textUnderlineOffset:"0.2em"},".cm-clickable-placeholder:hover":{color:"var(--sky-11)"}})]}var SE=rr(e=>{let n,a={transport:ic("pylsp",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc()},o=e==null?void 0:e.pylsp,s=["D100","D103"],c=["W292","E402","E302","E305"],f=["B018","I001"],d={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:["numpy"]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:o==null?void 0:o.enable_flake8,extendIgnore:c},pydocstyle:{enabled:o==null?void 0:o.enable_pydocstyle,ignore:s},pylint:{enabled:o==null?void 0:o.enable_pylint},pyflakes:{enabled:o==null?void 0:o.enable_pyflakes},pylsp_mypy:{enabled:o==null?void 0:o.enable_mypy,live_mode:!0},ruff:{enabled:o==null?void 0:o.enable_ruff,extendIgnore:[...c,...s,...f]},signature:{formatter:o!=null&&o.enable_ruff?"ruff":"black",line_length:88}}}},m=new ac(new ds({...a}),d);return n=()=>m.resyncAllDocuments(),m}),EE=rr(e=>{let n,a=new ac(new ds({transport:ic("ty",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc(),getWorkspaceConfiguration:o=>[{disableLanguageServices:!0}]}),{});return n=()=>a.resyncAllDocuments(),a}),TE=rr(e=>{var o;let n,a=new ac(new ds({transport:ic("pyrefly",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc(),initializationOptions:{pyrefly:{displayTypeErrors:((o=e.diagnostics)==null?void 0:o.enabled)??!1?"force-on":"force-off"}}}),{});return n=()=>a.resyncAllDocuments(),a}),IE=rr(e=>{let n,a=new ac(new ds({transport:ic("basedpyright",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc()}),{});return n=()=>a.resyncAllDocuments(),a}),LE=class{constructor(){ve(this,"parser",new _y);ve(this,"type","python");ve(this,"defaultCode",this.parser.defaultCode);ve(this,"defaultMetadata",this.parser.defaultMetadata)}transformIn(e){let n=this.parser.transformIn(e);return[n.code,n.offset,n.metadata]}transformOut(e,n){let a=this.parser.transformOut(e,n);return[a.code,a.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,n,a,o,s){return[(()=>{var _,x,S,E,L;let c={defaultKeymap:!1,activateOnTyping:n.activate_on_typing,closeOnBlur:!1},f={hideOnChange:!0},d=[];(_=s==null?void 0:s.pylsp)!=null&&_.enabled&&ws("pylsp")&&d.push(SE(s)),(x=s==null?void 0:s.ty)!=null&&x.enabled&&ws("ty")&&d.push(EE(s)),(S=s==null?void 0:s.pyrefly)!=null&&S.enabled&&ws("pyrefly")&&d.push(TE(s)),(E=s==null?void 0:s.basedpyright)!=null&&E.enabled&&ws("basedpyright")&&d.push(IE(s));let m=n.signature_hint_on_typing,b=m?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(d.length>0){let P=d.length===1?d[0]:new Q3(d);return[Yh({client:P,languageId:"python",allowHTMLContent:!0,useSnippetOnCompletion:!0,hoverConfig:f,completionConfig:c,diagnosticsEnabled:((L=s.diagnostics)==null?void 0:L.enabled)??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:m,signatureHelpOptions:{position:"above"},keyboardShortcuts:{signatureHelp:a.getHotkey("cell.signatureHelp").key,goToDefinition:a.getHotkey("cell.goToDefinition").key,rename:a.getHotkey("cell.renameSymbol").key},completionMatchBefore:b,onGoToDefinition:q=>{be.debug("onGoToDefinition",q),P.documentUri!==q.uri&&br().openFile({path:q.uri.replace("file://","")})}}),qg.of(cn.of(e))]}return Bu({...c,override:[Yy]})})(),Ym(),OE(o)]}};function OE(e){return e==="marimo-import"?qu.highest(kE("import marimo as mo")):e==="ai"?CE({beforeText:"Start coding or ",linkText:"generate",afterText:" with AI.",onClick:n=>{n.state.facet(st).aiCellCompletion()}}):[]}var xf=Gh.configure({props:[Q6.add({ParenthesizedExpression:Nw,ArgList:Nw})]});Ym=function(){return new qw(xf,[xf.data.of({autocomplete:Z8}),xf.data.of({autocomplete:eI})])};const AE=e=>{let n;return async()=>(n||(n=e()),await n)};var oc=class{constructor(e={}){ve(this,"opts");ve(this,"parser",null);ve(this,"offsetRecord",{});ve(this,"getParser",AE(async()=>{if(this.parser)return this.parser;let e=await re(()=>import("./node-sql-parser-B8vXamqL.js").then(async a=>(await a.__tla,a)).then(v6(1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=e.default||e;return this.parser=new n,this.parser}));this.opts=e}async parse(e,n){var s,c;this.offsetRecord={};let a=(c=(s=this.opts).getParserOptions)==null?void 0:c.call(s,n.state),o=await this.sanitizeSql(e,a);try{let f=await this.getParser();return(a==null?void 0:a.database)==="DuckDB"?this.parseWithDuckDBSupport(o,a):{success:!0,errors:[],ast:f.astify(o,a)}}catch(f){return{success:!1,errors:[this.extractErrorInfo(f,o)]}}}async sanitizeSql(e,n){if(n!=null&&n.ignoreBrackets){let{sql:a,offsetRecord:o}=NE(e);return this.offsetRecord=o,a}return e}async parseWithDuckDBSupport(e,n){let a=await this.getParser(),o=RE(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return{success:!0,errors:[]};let s=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,s=e.replace(/create or replace table/i,"create table"));try{let c={...n,database:"PostgreSQL"};return{success:!0,errors:[],ast:a.astify(s,c)}}catch(c){return{success:!1,errors:[this.extractErrorInfo(c,e)]}}}extractErrorInfo(e,n){var f,d,m;let a=1,o=1,s=(e==null?void 0:e.message)||"SQL parsing error",c=e;if(c!=null&&c.location)a=((f=c.location.start)==null?void 0:f.line)||1,o=((d=c.location.start)==null?void 0:d.column)||1;else if(c!=null&&c.hash)a=c.hash.line||1,o=((m=c.hash.loc)==null?void 0:m.first_column)||1;else{let b=s.match(/line (\d+)/i),_=s.match(/column (\d+)/i);b!=null&&b[1]&&(a=parseInt(b[1],10)),_!=null&&_[1]&&(o=parseInt(_[1],10))}for(let[b,_]of Object.entries(this.offsetRecord))o>parseInt(b,10)&&(o-=_);return o>n.length&&(o=n.length),{message:this.cleanErrorMessage(s),line:Math.max(1,a),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,n=>n.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,n){return(await this.parse(e,n)).errors}async extractTableReferences(e,n){var o,s;let a=n?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).tableList(e,a).map(c=>{let f=c.split("::");return f[f.length-1]||c})}catch{return[]}}async extractColumnReferences(e,n){var o,s;let a=n!=null&&n.state?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).columnList(e,a).map(c=>{let f=c.split("::");return f[f.length-1]||c})}catch{return[]}}};function RE(e,n=["/*","--"]){let a=[];if(n.includes("/*")&&a.push("/\\*[\\s\\S]*?\\*/"),n.includes("--")&&a.push("--[^\\n]*"),a.length===0)return e;let o=RegExp(`^\\s*(${a.join("|")})\\s*`,""),s=e,c="";for(;s!==c;)c=s,s=s.replace(o,"");return s}var PE=2;function NE(e){let n={};return{sql:e.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(a,o,s,c,f)=>o||s?a:c?(n[f]=PE,`'${c}'`):a),offsetRecord:n}}var ME=750;function DE(e,n){let a=n.line(e.line).from+Math.max(0,e.column-1);return{from:a,to:a+1,severity:e.severity,message:e.message,source:"sql-parser"}}function jE(e={}){let n=e.parser||new oc;return x8(async a=>{let o=a.state.doc,s=o.toString();return s.trim()?(await n.validateSql(s,{state:a.state})).map(c=>DE(c,o)):[]},{delay:e.delay||ME})}function ui(e){return typeof e=="object"&&!Array.isArray(e)&&!("self"in e)}function Dr(e){return typeof e=="object"&&!Array.isArray(e)&&"self"in e&&"children"in e}function cr(e){return Array.isArray(e)}function un(e,n,a,o){let s=e.length;if(n==="string"||n==="completion"&&o&&cr(o))return"column";if(n==="namespace"&&a){if(cr(a))return"table";if(ui(a))return Object.values(a).some(c=>cr(c)||Dr(c)&&cr(c.children))?s<=1?"database":"schema":s===0?"database":"namespace"}if(n==="completion"&&a)return cr(a)?"table":(ui(a)&&Object.values(a).some(c=>cr(c)||Dr(c)&&cr(c.children)),s<=1?"database":"schema");switch(s){case 0:return"database";case 1:return"schema";default:return"namespace"}}function u1(e,n,a={}){let{maxDepth:o=10}=a;if(n===""&&Dr(e)){let c=un([],"completion",e.children);return{completion:e.self,path:[],type:"completion",semanticType:c,namespace:e.children}}let s=n.split(".").filter(c=>c.length>0);return s.length===0||s.length>o?null:kf(e,s,[],a)}function kf(e,n,a,o,s){if(n.length===0){if(Dr(e)){let m=un(a,"completion",e.children,s);return{completion:e.self,path:a,type:"completion",semanticType:m,namespace:e.children}}return{path:a,type:"namespace",semanticType:un(a,"namespace",e,s),namespace:e}}let[c,...f]=n,{caseSensitive:d=!1}=o;if(!c)return null;if(ui(e)){let m=d?Object.keys(e).find(b=>b===c):Object.keys(e).find(b=>b.toLowerCase()===c.toLowerCase());if(m){let b=e[m];if(b)return kf(b,f,[...a,m],o,e)}}else{if(Dr(e))return kf(e.children,n,a,o,e);if(cr(e)){for(let m of e)if(typeof m=="string"){if((d?m===c:m.toLowerCase()===c.toLowerCase())&&f.length===0){let b=un([...a,m],"string",void 0,e);return{value:m,path:[...a,m],type:"string",semanticType:b}}}else if((d?m.label===c:m.label.toLowerCase()===c.toLowerCase())&&f.length===0){let b=un([...a,m.label],"completion",void 0,e);return{completion:m,path:[...a,m.label],type:"completion",semanticType:b}}}}return null}function zE(e,n,a={}){let o=[];if(n.includes(".")){let s=n.lastIndexOf("."),c=n.substring(0,s),f=n.substring(s+1),d=u1(e,c,a);if(d!=null&&d.namespace)return Cf(d.namespace,f,d.path,a)}else return Cf(e,n,[],a);return o}function Cf(e,n,a,o){let s=[],{caseSensitive:c=!1,allowPartialMatch:f=!0}=o;if(ui(e)){for(let[d,m]of Object.entries(e))if(f?c?d.startsWith(n):d.toLowerCase().startsWith(n.toLowerCase()):c?d===n:d.toLowerCase()===n.toLowerCase())if(Dr(m)){let b=un([...a,d],"completion",m.children,e);s.push({completion:m.self,path:[...a,d],type:"completion",semanticType:b,namespace:m.children})}else{let b=un([...a,d],"namespace",m,e);s.push({path:[...a,d],type:"namespace",semanticType:b,namespace:m})}}else if(Dr(e)){if(f?c?e.self.label.startsWith(n):e.self.label.toLowerCase().startsWith(n.toLowerCase()):c?e.self.label===n:e.self.label.toLowerCase()===n.toLowerCase()){let d=un([...a,e.self.label],"completion",e.children);s.push({completion:e.self,path:[...a,e.self.label],type:"completion",semanticType:d,namespace:e.children})}s.push(...Cf(e.children,n,a,o))}else if(cr(e)){for(let d of e)if(typeof d=="string"){if(f?c?d.startsWith(n):d.toLowerCase().startsWith(n.toLowerCase()):c?d===n:d.toLowerCase()===n.toLowerCase()){let m=un([...a,d],"string",void 0,e);s.push({value:d,path:[...a,d],type:"string",semanticType:m})}}else if(f?c?d.label.startsWith(n):d.label.toLowerCase().startsWith(n.toLowerCase()):c?d.label===n:d.label.toLowerCase()===n.toLowerCase()){let m=un([...a,d.label],"completion",void 0,e);s.push({completion:d,path:[...a,d.label],type:"completion",semanticType:m})}}return s}function qE(e,n,a={}){let o=[],{maxDepth:s=10}=a;sc(e,[],o,s);let{caseSensitive:c=!1}=a;return o.filter(f=>f.path.some(d=>c?d===n:d.toLowerCase()===n.toLowerCase())).sort((f,d)=>{var _,x;let m=c?f.path[f.path.length-1]===n:((_=f.path[f.path.length-1])==null?void 0:_.toLowerCase())===n.toLowerCase(),b=c?d.path[d.path.length-1]===n:((x=d.path[d.path.length-1])==null?void 0:x.toLowerCase())===n.toLowerCase();return m&&!b?-1:!m&&b?1:f.path.length-d.path.length})}function sc(e,n,a,o){if(!(n.length>=o)){if(ui(e))for(let[s,c]of Object.entries(e)){let f=[...n,s];if(Dr(c)){let d=un(f,"completion",c.children,e);a.push({completion:c.self,path:f,type:"completion",semanticType:d,namespace:c.children}),sc(c.children,f,a,o)}else{let d=un(f,"namespace",c,e);a.push({path:f,type:"namespace",semanticType:d,namespace:c}),sc(c,f,a,o)}}else if(Dr(e)){let s=un(n,"completion",e.children);a.push({completion:e.self,path:n,type:"completion",semanticType:s,namespace:e.children}),sc(e.children,n,a,o)}else if(cr(e))for(let s of e)if(typeof s=="string"){let c=un([...n,s],"string",void 0,e);a.push({value:s,path:[...n,s],type:"string",semanticType:c})}else{let c=un([...n,s.label],"completion",void 0,e);a.push({completion:s,path:[...n,s.label],type:"completion",semanticType:c})}}}function d1(e,n,a={}){let{enableFuzzySearch:o=!1}=a,s=u1(e,n,a);if(s)return s;let c=zE(e,n,a);if(c.length>0)return c[0]||null;if(o){let f=qE(e,n,a);if(f.length>0)return f[0]||null}return null}function f1(e,n){if(n.size===0)return{};if(ui(e)){let a={};for(let[o,s]of Object.entries(e))if(Array.from(n).some(c=>c.toLowerCase()===o.toLowerCase()))a[o]=s;else if(ui(s)){let c=f1(s,n);Object.keys(c).length>0&&(a[o]=c)}return a}return e}function FE(e={}){let{schema:n={},keywords:a={},hoverTime:o=300,enableKeywords:s=!0,enableTables:c=!0,enableColumns:f=!0,enableFuzzySearch:d=!0,parser:m=new oc,tooltipRender:b,tooltipRenderers:_={}}=e,x=null;return Vh(async(S,E,L)=>{let{from:P,to:q,text:V}=S.state.doc.lineAt(E),B=E,M=E;x===null&&(x=typeof a=="function"?a(S):Promise.resolve(a));let J=await x;for(;B>P&&/[\w.]/.test(V[B-P-1]??"");)B--;for(;M<q&&/[\w.]/.test(V[M-P]??"");)M++;if(B===E&&L<0||M===E&&L>0)return null;let le=V.slice(B-P,M-P).toLowerCase();if(!le||le.length===0)return null;let A=typeof n=="function"?n(S):n,j=null;if(`${le}`,!j&&s&&J[le]&&(J[le],j={word:le,view:S,pos:E,tooltipType:"keyword",keywordData:{keyword:le,info:J[le]}}),!j&&(c||f)&&A){let $=S.state.doc.toString(),oe=await m.extractTableReferences($),de=new Set(oe.map(ke=>ke.toLowerCase())),he=f1(A,de),ye=d1(he,le,{enableFuzzySearch:d});!ye&&de.size===0&&(ye=d1(A,le,{enableFuzzySearch:d})),ye&&(Array.from(de),j={word:le,view:S,pos:E,tooltipType:"namespace",namespaceData:{item:ye,word:le,resolvedSchema:de.size>0?he:A}})}return j?{pos:B,end:M,above:!0,create($){if(b){let he=b(le,$,E);if(he)return{dom:he}}let oe=null;if(j.tooltipType==="keyword"&&j.keywordData)oe=_.keyword?_.keyword(j.keywordData):h1(j.keywordData);else if(j.tooltipType==="namespace"&&j.namespaceData){let he=j.namespaceData,{semanticType:ye}=he.item;oe=ye==="table"&&_.table?_.table(he):ye==="column"&&_.column?_.column(he):(ye==="database"||ye==="schema"||ye==="namespace")&&_.namespace?_.namespace(he):p1(he.item)}if(!oe)return{dom:document.createElement("div")};let de=document.createElement("div");return de.className="cm-sql-hover-tooltip",de.innerHTML=oe,{dom:de}}}:null},{hoverTime:o})}function p1(e){var s,c,f,d,m,b,_;let n=e.path.join("."),a=((s=e.completion)==null?void 0:s.label)||e.value||e.path[e.path.length-1]||"unknown",o=`<div class="sql-hover-${e.semanticType}">`;switch(o+=`<div class="sql-hover-header"><strong>${a}</strong> <span class="sql-hover-type">${e.semanticType}</span></div>`,e.semanticType){case"database":if(o+=`<div class="sql-hover-description">Database${(c=e.completion)!=null&&c.detail?`: ${e.completion.detail}`:""}</div>`,e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} schema${x===1?"":"s"}</div>`)}break;case"schema":if(o+=`<div class="sql-hover-description">Schema${(f=e.completion)!=null&&f.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} table${x===1?"":"s"}</div>`)}break;case"table":if(o+=`<div class="sql-hover-description">Table${(d=e.completion)!=null&&d.detail?`: ${e.completion.detail}`:""}</div>`,n){let x=e.path;x.length>1&&(o+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${x.slice(0,-1).join(".")}</code></div>`)}if(e.namespace&&cr(e.namespace)){let x=e.namespace;if(x.length>0){o+=`<div class="sql-hover-columns"><strong>Columns (${x.length}):</strong><br>`;let S=x.slice(0,8).map(E=>typeof E=="string"?E:E.label);o+=S.map(E=>`<code>${E}</code>`).join(", "),x.length>8&&(o+=`, <em>and ${x.length-8} more...</em>`),o+="</div>"}}break;case"column":if(o+=`<div class="sql-hover-description">Column${(m=e.completion)!=null&&m.detail?`: ${e.completion.detail}`:""}</div>`,n){let x=e.path;x.length>1&&(o+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${x.slice(0,-1).join(".")}</code></div>`)}break;default:if(o+=`<div class="sql-hover-description">Namespace${(b=e.completion)!=null&&b.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} item${x===1?"":"s"}</div>`)}break}return(_=e.completion)!=null&&_.info&&typeof e.completion.info=="string"&&(o+=`<div class="sql-hover-info">${e.completion.info}</div>`),o+="</div>",o}function lc(e){return Array.isArray(e)?e.length:typeof e=="object"&&e?"self"in e&&"children"in e?1+lc(e.children):Object.keys(e).length:0}function h1(e){let{keyword:n,info:a}=e,o='<div class="sql-hover-keyword">';if(o+=`<div class="sql-hover-header"><strong>${n.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,o+=`<div class="sql-hover-description">${a.description}</div>`,a.syntax&&(o+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${a.syntax}</code></div>`),a.example&&(o+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${a.example}</code></div>`),a.metadata&&typeof a.metadata=="object"&&Object.keys(a.metadata).length>0){o+='<div class="sql-hover-metadata">';for(let[s,c]of Object.entries(a.metadata))o+=`<span class="sql-hover-tag" title="${s}">${c}</span> `;o+="</div>"}return o+="</div>",o}function BE(e){let{tableName:n,columns:a,metadata:o}=e,s='<div class="sql-hover-table">';if(s+=`<div class="sql-hover-header"><strong>${n}</strong> <span class="sql-hover-type">table</span></div>`,s+=`<div class="sql-hover-description">Table with ${a.length} column${a.length===1?"":"s"}</div>`,a.length>0){s+='<div class="sql-hover-columns"><strong>Columns:</strong><br>';let c=a.slice(0,10);s+=c.map(f=>`<code>${f}</code>`).join(", "),a.length>10&&(s+=`, <em>and ${a.length-10} more...</em>`),s+="</div>"}if(o&&typeof o=="object"&&Object.keys(o).length>0){s+='<div class="sql-hover-metadata">';for(let[c,f]of Object.entries(o))s+=`<span class="sql-hover-tag" title="${c}">${f}</span> `;s+="</div>"}return s+="</div>",s}function VE(e){let{tableName:n,columnName:a,schema:o,metadata:s}=e,c='<div class="sql-hover-column">';c+=`<div class="sql-hover-header"><strong>${a}</strong> <span class="sql-hover-type">column</span></div>`,c+=`<div class="sql-hover-description">Column in table <code>${n}</code></div>`;let f=o[n];if(f&&f.length>1){let d=f.filter(m=>m!==a);if(d.length>0){c+=`<div class="sql-hover-related"><strong>Other columns in ${n}:</strong><br>`;let m=d.slice(0,8);c+=m.map(b=>`<code>${b}</code>`).join(", "),d.length>8&&(c+=`, <em>and ${d.length-8} more...</em>`),c+="</div>"}}if(s&&typeof s=="object"&&Object.keys(s).length>0){c+='<div class="sql-hover-metadata">';for(let[d,m]of Object.entries(s))c+=`<span class="sql-hover-tag" title="${d}">${m}</span> `;c+="</div>"}return c+="</div>",c}const HE={keyword:h1,table:BE,column:VE,namespace:p1},m1=(e="light")=>{let n=e==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return Et.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};var $E=class{constructor(e){ve(this,"parser");ve(this,"cache",new Map);ve(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){let n=e.doc.toString(),a=this.generateCacheKey(n),o=this.cache.get(a);if(o)return o;let s=await this.extractStatements(n,e);if(this.cache.set(a,s),this.cache.size>this.MAX_CACHE_SIZE){let c=this.cache.keys().next().value;c!==void 0&&this.cache.delete(c)}return s}async getStatementAtPosition(e,n){return(await this.analyzeDocument(e)).find(a=>n>=a.from&&n<=a.to)||null}async getStatementsInRange(e,n,a){return(await this.analyzeDocument(e)).filter(o=>o.from<=a&&o.to>=n)}async extractStatements(e,n){let a=[],o=this.splitByStatementSeparators(e),s=0;for(let c of o){let f=c.trim();if(f.length===0){s+=c.length;continue}let d=s+c.indexOf(f),m=d+f.length,b=n.doc.lineAt(d),_=n.doc.lineAt(m),x=this.stripComments(f);if(x.trim().length===0||x.trim()===";"){s+=c.length;continue}let S=await this.parser.parse(x,{state:n}),E=this.determineStatementType(x),L=x.endsWith(";")?x.slice(0,-1).trim():x.trim();a.push({from:d,to:m,lineFrom:b.number,lineTo:_.number,content:L,type:E,isValid:S.success}),s+=c.length}return a}splitByStatementSeparators(e){let n=[],a="",o=!1,s="",c=!1,f=!1,d=0;for(;d<e.length;){let m=e[d],b=e[d+1];if(!o&&!f&&m==="-"&&b==="-"){c=!0,a+=m+b,d+=2;continue}if(!o&&!c&&m==="/"&&b==="*"){f=!0,a+=m+b,d+=2;continue}if(f&&m==="*"&&b==="/"){f=!1,a+=m+b,d+=2;continue}if(c&&(m===`
112
+ `)}function rc(e){return`<marimo-tex class="arithmatex">||(${e.trim()}||)</marimo-tex>`}function bf(e){return`<marimo-tex class="arithmatex">||[${e.trim()}||]</marimo-tex>`}const cn={PREFIX:"file:///",of(e){return`${this.PREFIX}${e}`},is(e){return e.startsWith(this.PREFIX)},parse(e){return rn(this.is(e),`Invalid cell document URI: ${e}`),e.slice(this.PREFIX.length)}};function l1(e){return"notify"in e}function hE(e){return e.startsWith("_")&&!e.startsWith("__")}var mE=class{constructor(e){ve(this,"documentVersion",0);ve(this,"lastSnapshot",null);this.getNotebookCode=e}snapshot(){var a;let e=this.getLens(),n=((a=this.lastSnapshot)==null?void 0:a.mergedText)!==e.mergedText;return n?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:n,version:this.documentVersion}):{lens:e,didChange:n,version:this.documentVersion}}getLatestSnapshot(){if(!this.lastSnapshot)throw Error("No snapshots");return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:n}=this.getNotebookCode();return nE(e,n)}},gE=()=>{let e=dd().cellHandles;return Rr.mapValues(e,n=>{var a;return(a=n.current)==null?void 0:a.editorViewOrNull})};function wf(e){let n=i1(e);return Array.isArray(n)?e:n}function _f(e){return{...e,documentation:wf(e.documentation)}}function yE(e){return e==null?null:Array.isArray(e)?e.map(n=>_f(n)):{...e,items:e.items.map(n=>_f(n))}}function vE(e){return{...e,signatures:e.signatures.map(n=>{var a;return{...n,documentation:wf(n.documentation),parameters:(a=n.parameters)==null?void 0:a.map(o=>({...o,documentation:wf(o.documentation)}))}})}}var ac=(ur=class{constructor(n,a,o=gE){ve(this,"completionItemCache",new Ql(10));ve(this,"latestDiagnosticsVersion",null);ve(this,"forwardedDiagnosticsVersion",0);this.documentUri=n1(),this.getNotebookEditors=o,this.initialSettings=a,this.client=n,this.patchProcessNotification(),this.initializePromise.then(()=>{rn(l1(this.client),"notify is not a method on the client"),this.client.notify("workspace/didChangeConfiguration",{settings:a})}),this.snapshotter=new mE(this.getNotebookCode.bind(this))}static pruneSeenCellUris(n){for(let a of ur.SEEN_CELL_DOCUMENT_URIS){let o=cn.parse(a);n.has(o)||ur.SEEN_CELL_DOCUMENT_URIS.delete(a)}}onNotification(n){return this.client.onNotification(n)}get ready(){return this.client.ready}set ready(n){this.client.ready=n}get capabilities(){return this.client.capabilities}set capabilities(n){this.client.capabilities=n}get initializePromise(){return this.client.initializePromise}set initializePromise(n){this.client.initializePromise=n}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.client.close()}async resyncAllDocuments(){rn(l1(this.client),"notify is not a method on the client"),await this.client.initialize(),this.client.notify("workspace/didChangeConfiguration",{settings:this.initialSettings});let{lens:n,version:a}=this.snapshotter.snapshot();this.latestDiagnosticsVersion=null,this.forwardedDiagnosticsVersion=0,await this.client.textDocumentDidOpen({textDocument:{languageId:"python",text:n.mergedText,uri:this.documentUri,version:a}}),be.log("[lsp] Document re-synchronization complete")}getNotebookCode(){return Me.get(eE)}assertCellDocumentUri(n){rn(cn.is(n),"Execpted URI to be CellDocumentUri")}async textDocumentDidOpen(n){be.debug("[lsp] textDocumentDidOpen",n);let a=n.textDocument.uri;this.assertCellDocumentUri(a);let{lens:o,version:s}=this.snapshotter.snapshot();ur.SEEN_CELL_DOCUMENT_URIS.add(a);let c=await this.client.textDocumentDidOpen({textDocument:{languageId:n.textDocument.languageId,text:o.mergedText,uri:this.documentUri,version:s}});return c?{...c,textDocument:{...c.textDocument,text:o.mergedText}}:n}async sync(){let{lens:n,version:a,didChange:o}=this.snapshotter.snapshot(),s={textDocument:{uri:this.documentUri,version:a},contentChanges:[{text:n.mergedText}]};return o&&await this.client.textDocumentDidChange(s),{params:s,lens:n}}async textDocumentDidChange(n){if(be.debug("[lsp] textDocumentDidChange",n),n.contentChanges.length===1){let{params:a}=await this.sync();return a}return be.warn("[lsp] Unhandled textDocumentDidChange",n),this.client.textDocumentDidChange(n)}async textDocumentDefinition(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a);return this.client.textDocumentDefinition({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentSignatureHelp(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a),c=await this.client.textDocumentSignatureHelp({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)});return c?vE(c):null}textDocumentCodeAction(n){return Promise.resolve(null)}async textDocumentRename(n){var q;let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let o=cn.parse(a),{lens:s}=await this.sync(),c=s.transformPosition(n.position,o),f=await this.client.textDocumentRename({...n,textDocument:{uri:this.documentUri},position:c});if(!f)return null;let d=(q=f.documentChanges)==null?void 0:q.flatMap(V=>"edits"in V?V.edits:[]);if(!d||d.length!==1)return be.warn("Expected exactly one edit",d),f;let m=d[0];if(!("newText"in m))return be.warn("Expected newText in edit",m),f;let b=s.getEditsForNewText(m.newText),_=new Map(b.map(V=>[V.cellId,V.text])),x=this.getNotebookEditors(),S=x[o],E=!1;if(S){let V=S.state.doc.line(n.position.line+1).from+n.position.character,{startToken:B,endToken:M}=ff(S.state.doc,V),J=S.state.doc.sliceString(B,M);E=hE(J),E&&be.debug("[lsp] Private variable rename detected, limiting to current cell",J)}let L=[],P=0;for(let[V,B]of Rr.entries(x)){if(E&&V!==o)continue;let M=_.get(V);if(M==null){be.warn("[lsp] No new code for cell during rename",V),L.push(V);continue}if(!B){be.warn("[lsp] No editor view for cell during rename",V),L.push(V);continue}wr(B)!==M&&(Zi(B,M),P++)}return L.length>0&&be.error(`[lsp] Rename partially failed: could not update ${L.length} cell(s)`,L),be.debug(`[lsp] Rename completed: updated ${P} cell(s)`),{...f,documentChanges:[{edits:[],textDocument:{uri:a,version:0}}]}}async completionItemResolve(n){let a=JSON.stringify(n),o=this.completionItemCache.get(a);if(o)return o;let s=this.client.completionItemResolve(n).then(c=>_f(c));return this.completionItemCache.set(a,s),s}async textDocumentPrepareRename(n){let a=n.textDocument.uri;if(!cn.is(a))return be.warn("Invalid cell document URI",a),null;let{lens:o}=await this.sync(),s=cn.parse(a);return this.client.textDocumentPrepareRename({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentHover(n){be.debug("[lsp] textDocumentHover",n);let{lens:a}=await this.sync(),o=cn.parse(n.textDocument.uri),s=await this.client.textDocumentHover({...n,textDocument:{uri:this.documentUri},position:a.transformPosition(n.position,o)});return s?(typeof s.contents=="object"&&"kind"in s.contents&&(s.contents={kind:"markdown",value:s.contents.value}),s.contents=i1(s.contents)??s.contents,s.contents===""?null:(s.range&&(s.range=a.reverseRange(s.range,o)),s)):(be.debug("[lsp] no hover result"),s)}async textDocumentCompletion(n){let{lens:a}=this.snapshotter.getLatestSnapshot();if(!cn.is(n.textDocument.uri))return be.error("[lsp] Invalid cell document URI in completion request",n.textDocument.uri),null;let o=cn.parse(n.textDocument.uri);if(!o||o==="undefined")return be.error("[lsp] Invalid cellId 'undefined' in completion request",{cellId:o,uri:n.textDocument.uri,availableCellIds:a.cellIds}),null;a.cellIds.includes(o)||be.warn("[lsp] CellId in completion request not found in current lens",{cellId:o,uri:n.textDocument.uri,availableCellIds:a.cellIds});let s=a.transformPosition(n.position,o);return yE(await this.client.textDocumentCompletion({...n,textDocument:{uri:this.documentUri},position:s}))}patchProcessNotification(){rn("processNotification"in this.client,"processNotification is not a method on the client");let n=this.client.processNotification.bind(this.client),a=o=>{if(o.method==="textDocument/publishDiagnostics"){let s=o.params.version;if(s!=null){let S=this.latestDiagnosticsVersion;if(S!==null&&Number.isFinite(s)&&s<S){be.debug("[lsp] dropping stale diagnostics notification",o);return}this.latestDiagnosticsVersion=s}be.debug("[lsp] handling diagnostics",o);let c=this.snapshotter.getLatestSnapshot(),f=o.params.diagnostics,{lens:d}=c,m=++this.forwardedDiagnosticsVersion,b=new Map;for(let S of f)for(let E of d.cellIds)if(d.isInRange(S.range,E)){b.has(E)||b.set(E,[]);let L={...S,range:d.reverseRange(S.range,E)};b.get(E).push(L);break}let _=new Set(d.cellIds);ur.pruneSeenCellUris(_);let x=new Set(ur.SEEN_CELL_DOCUMENT_URIS);for(let[S,E]of b.entries()){be.debug("[lsp] diagnostics for cell",S,E);let L=cn.of(S);x.delete(L),n({...o,params:{...o.params,uri:L,version:m,diagnostics:E}})}if(x.size>0){be.debug("[lsp] clearing diagnostics",x);for(let S of x)n({method:"textDocument/publishDiagnostics",params:{uri:S,version:m,diagnostics:[]}})}return}return n(o)};this.client.processNotification=a}},ve(ur,"SEEN_CELL_DOCUMENT_URIS",new Set),ur),bE=Ml(),wE=ti(),_E=class extends wE.Transport{constructor(n){super();ve(this,"isClosed",!1);ve(this,"hasConnectedBefore",!1);ve(this,"pendingSubscriptions",[]);this.options=n,this.delegate=void 0}createDelegate(){if(this.delegate)try{this.delegate.close()}catch(n){be.warn("Error closing old WebSocket delegate",n)}this.delegate=new bE.WebSocketTransport(this.options.getWsUrl());for(let{event:n,handler:a}of this.pendingSubscriptions)this.delegate.subscribe(n,a);return this.delegate}isDelegateClosedOrClosing(){if(!this.delegate)return!0;let n=this.delegate.connection;return n?n.readyState===WebSocket.CLOSING||n.readyState===WebSocket.CLOSED:!0}async connect(){if(this.isClosed)throw Error("Transport is closed");return this.connectionPromise||(this.connectionPromise=(async()=>{try{this.options.waitForConnection&&await this.options.waitForConnection();let n=this.delegate;(!n||this.isDelegateClosedOrClosing())&&(n=this.createDelegate()),await n.connect(),be.log("WebSocket transport connected successfully");let a=this.hasConnectedBefore;this.hasConnectedBefore=!0,a&&this.options.onReconnect&&(be.log("Calling onReconnect callback to re-synchronize state"),await this.options.onReconnect())}catch(n){throw be.error("WebSocket transport connection failed",n),this.delegate=void 0,n}finally{this.connectionPromise=void 0}})()),this.connectionPromise}close(){var n;this.isClosed=!0,(n=this.delegate)==null||n.close(),this.delegate=void 0,this.connectionPromise=void 0}subscribe(...n){super.subscribe(...n);let[a,o]=n;this.pendingSubscriptions.push({event:a,handler:o}),this.delegate&&this.delegate.subscribe(a,o)}unsubscribe(...n){let a=super.unsubscribe(...n),[o,s]=n;return this.pendingSubscriptions=this.pendingSubscriptions.filter(c=>!(c.event===o&&c.handler===s)),this.delegate&&this.delegate.unsubscribe(o,s),a}async sendData(n,a){var o;if(this.isDelegateClosedOrClosing()){be.warn("WebSocket is closed or closing, attempting to reconnect");try{await this.connect()}catch(s){throw be.error("Failed to reconnect WebSocket",s),s}}return(o=this.delegate)==null?void 0:o.sendData(n,a)}};function ic(e,n){let a=I6();return new _E({getWsUrl:()=>a.getLSPURL(e).toString(),waitForConnection:async()=>{await T6()},onReconnect:n})}la.define(),new Fu;function xE(e){return e.facet(Y6.readOnly)}function kE(e){return[Lw(e),Ja.of([{key:"ArrowRight",preventDefault:!0,run:n=>c1(n,e)},{key:"Tab",preventDefault:!0,run:n=>c1(n,e)}])]}function c1(e,n){if(xE(e.state))return!1;let a=e.state.doc.length;return a===0?(e.dispatch({changes:{from:0,to:a,insert:n},selection:{head:n.length,anchor:n.length}}),!0):!1}function CE(e){let{beforeText:n,linkText:a,afterText:o,onClick:s}=e;return[Lw(c=>{let f=document.createElement("span");f.append(document.createTextNode(n));let d=document.createElement("span");return d.textContent=a,d.classList.add("cm-clickable-placeholder"),d.onclick=m=>{m.stopPropagation(),s(c)},f.append(d),f.append(document.createTextNode(o)),f}),Et.theme({".cm-placeholder":{color:"var(--slate-8)"},".cm-clickable-placeholder":{cursor:"pointer !important",pointerEvents:"auto",color:"var(--slate-9)",textDecoration:"underline",textUnderlineOffset:"0.2em"},".cm-clickable-placeholder:hover":{color:"var(--sky-11)"}})]}var SE=rr(e=>{let n,a={transport:ic("pylsp",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc()},o=e==null?void 0:e.pylsp,s=["D100","D103"],c=["W292","E402","E302","E305"],f=["B018","I001"],d={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:["numpy"]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:o==null?void 0:o.enable_flake8,extendIgnore:c},pydocstyle:{enabled:o==null?void 0:o.enable_pydocstyle,ignore:s},pylint:{enabled:o==null?void 0:o.enable_pylint},pyflakes:{enabled:o==null?void 0:o.enable_pyflakes},pylsp_mypy:{enabled:o==null?void 0:o.enable_mypy,live_mode:!0},ruff:{enabled:o==null?void 0:o.enable_ruff,extendIgnore:[...c,...s,...f]},signature:{formatter:o!=null&&o.enable_ruff?"ruff":"black",line_length:88}}}},m=new ac(new ds({...a}),d);return n=()=>m.resyncAllDocuments(),m}),EE=rr(e=>{let n,a=new ac(new ds({transport:ic("ty",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc(),getWorkspaceConfiguration:o=>[{disableLanguageServices:!0}]}),{});return n=()=>a.resyncAllDocuments(),a}),TE=rr(e=>{var o;let n,a=new ac(new ds({transport:ic("pyrefly",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc(),initializationOptions:{pyrefly:{displayTypeErrors:((o=e.diagnostics)==null?void 0:o.enabled)??!1?"force-on":"force-off"}}}),{});return n=()=>a.resyncAllDocuments(),a}),IE=rr(e=>{let n,a=new ac(new ds({transport:ic("basedpyright",async()=>{await(n==null?void 0:n())}),rootUri:ec(),workspaceFolders:tc()}),{});return n=()=>a.resyncAllDocuments(),a}),LE=class{constructor(){ve(this,"parser",new _y);ve(this,"type","python");ve(this,"defaultCode",this.parser.defaultCode);ve(this,"defaultMetadata",this.parser.defaultMetadata)}transformIn(e){let n=this.parser.transformIn(e);return[n.code,n.offset,n.metadata]}transformOut(e,n){let a=this.parser.transformOut(e,n);return[a.code,a.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,n,a,o,s){return[(()=>{var _,x,S,E,L;let c={defaultKeymap:!1,activateOnTyping:n.activate_on_typing,closeOnBlur:!1},f={hideOnChange:!0},d=[];(_=s==null?void 0:s.pylsp)!=null&&_.enabled&&ws("pylsp")&&d.push(SE(s)),(x=s==null?void 0:s.ty)!=null&&x.enabled&&ws("ty")&&d.push(EE(s)),(S=s==null?void 0:s.pyrefly)!=null&&S.enabled&&ws("pyrefly")&&d.push(TE(s)),(E=s==null?void 0:s.basedpyright)!=null&&E.enabled&&ws("basedpyright")&&d.push(IE(s));let m=n.signature_hint_on_typing,b=m?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(d.length>0){let P=d.length===1?d[0]:new Q3(d);return[Yh({client:P,languageId:"python",allowHTMLContent:!0,useSnippetOnCompletion:!0,hoverConfig:f,completionConfig:c,diagnosticsEnabled:((L=s.diagnostics)==null?void 0:L.enabled)??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:m,signatureHelpOptions:{position:"above"},keyboardShortcuts:{signatureHelp:a.getHotkey("cell.signatureHelp").key,goToDefinition:a.getHotkey("cell.goToDefinition").key,rename:a.getHotkey("cell.renameSymbol").key},completionMatchBefore:b,onGoToDefinition:q=>{be.debug("onGoToDefinition",q),P.documentUri!==q.uri&&br().openFile({path:q.uri.replace("file://","")})}}),qg.of(cn.of(e))]}return Bu({...c,override:[Yy]})})(),Ym(),OE(o)]}};function OE(e){return e==="marimo-import"?qu.highest(kE("import marimo as mo")):e==="ai"?CE({beforeText:"Start coding or ",linkText:"generate",afterText:" with AI.",onClick:n=>{n.state.facet(st).aiCellCompletion()}}):[]}var xf=Gh.configure({props:[Q6.add({ParenthesizedExpression:Nw,ArgList:Nw})]});Ym=function(){return new qw(xf,[xf.data.of({autocomplete:Z8}),xf.data.of({autocomplete:eI})])};const AE=e=>{let n;return async()=>(n||(n=e()),await n)};var oc=class{constructor(e={}){ve(this,"opts");ve(this,"parser",null);ve(this,"offsetRecord",{});ve(this,"getParser",AE(async()=>{if(this.parser)return this.parser;let e=await re(()=>import("./node-sql-parser-B8vXamqL.js").then(async a=>(await a.__tla,a)).then(v6(1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=e.default||e;return this.parser=new n,this.parser}));this.opts=e}async parse(e,n){var s,c;this.offsetRecord={};let a=(c=(s=this.opts).getParserOptions)==null?void 0:c.call(s,n.state),o=await this.sanitizeSql(e,a);try{let f=await this.getParser();return(a==null?void 0:a.database)==="DuckDB"?this.parseWithDuckDBSupport(o,a):{success:!0,errors:[],ast:f.astify(o,a)}}catch(f){return{success:!1,errors:[this.extractErrorInfo(f,o)]}}}async sanitizeSql(e,n){if(n!=null&&n.ignoreBrackets){let{sql:a,offsetRecord:o}=NE(e);return this.offsetRecord=o,a}return e}async parseWithDuckDBSupport(e,n){let a=await this.getParser(),o=RE(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return{success:!0,errors:[]};let s=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,s=e.replace(/create or replace table/i,"create table"));try{let c={...n,database:"PostgreSQL"};return{success:!0,errors:[],ast:a.astify(s,c)}}catch(c){return{success:!1,errors:[this.extractErrorInfo(c,e)]}}}extractErrorInfo(e,n){var f,d,m;let a=1,o=1,s=(e==null?void 0:e.message)||"SQL parsing error",c=e;if(c!=null&&c.location)a=((f=c.location.start)==null?void 0:f.line)||1,o=((d=c.location.start)==null?void 0:d.column)||1;else if(c!=null&&c.hash)a=c.hash.line||1,o=((m=c.hash.loc)==null?void 0:m.first_column)||1;else{let b=s.match(/line (\d+)/i),_=s.match(/column (\d+)/i);b!=null&&b[1]&&(a=parseInt(b[1],10)),_!=null&&_[1]&&(o=parseInt(_[1],10))}for(let[b,_]of Object.entries(this.offsetRecord))o>parseInt(b,10)&&(o-=_);return o>n.length&&(o=n.length),{message:this.cleanErrorMessage(s),line:Math.max(1,a),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,n=>n.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,n){return(await this.parse(e,n)).errors}async extractTableReferences(e,n){var o,s;let a=n?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).tableList(e,a).map(c=>{let f=c.split("::");return f[f.length-1]||c})}catch{return[]}}async extractColumnReferences(e,n){var o,s;let a=n!=null&&n.state?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).columnList(e,a).map(c=>{let f=c.split("::");return f[f.length-1]||c})}catch{return[]}}};function RE(e,n=["/*","--"]){let a=[];if(n.includes("/*")&&a.push("/\\*[\\s\\S]*?\\*/"),n.includes("--")&&a.push("--[^\\n]*"),a.length===0)return e;let o=RegExp(`^\\s*(${a.join("|")})\\s*`,""),s=e,c="";for(;s!==c;)c=s,s=s.replace(o,"");return s}var PE=2;function NE(e){let n={};return{sql:e.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(a,o,s,c,f)=>o||s?a:c?(n[f]=PE,`'${c}'`):a),offsetRecord:n}}var ME=750;function DE(e,n){let a=n.line(e.line).from+Math.max(0,e.column-1);return{from:a,to:a+1,severity:e.severity,message:e.message,source:"sql-parser"}}function jE(e={}){let n=e.parser||new oc;return x8(async a=>{let o=a.state.doc,s=o.toString();return s.trim()?(await n.validateSql(s,{state:a.state})).map(c=>DE(c,o)):[]},{delay:e.delay||ME})}function ui(e){return typeof e=="object"&&!Array.isArray(e)&&!("self"in e)}function Dr(e){return typeof e=="object"&&!Array.isArray(e)&&"self"in e&&"children"in e}function cr(e){return Array.isArray(e)}function un(e,n,a,o){let s=e.length;if(n==="string"||n==="completion"&&o&&cr(o))return"column";if(n==="namespace"&&a){if(cr(a))return"table";if(ui(a))return Object.values(a).some(c=>cr(c)||Dr(c)&&cr(c.children))?s<=1?"database":"schema":s===0?"database":"namespace"}if(n==="completion"&&a)return cr(a)?"table":(ui(a)&&Object.values(a).some(c=>cr(c)||Dr(c)&&cr(c.children)),s<=1?"database":"schema");switch(s){case 0:return"database";case 1:return"schema";default:return"namespace"}}function u1(e,n,a={}){let{maxDepth:o=10}=a;if(n===""&&Dr(e)){let c=un([],"completion",e.children);return{completion:e.self,path:[],type:"completion",semanticType:c,namespace:e.children}}let s=n.split(".").filter(c=>c.length>0);return s.length===0||s.length>o?null:kf(e,s,[],a)}function kf(e,n,a,o,s){if(n.length===0){if(Dr(e)){let m=un(a,"completion",e.children,s);return{completion:e.self,path:a,type:"completion",semanticType:m,namespace:e.children}}return{path:a,type:"namespace",semanticType:un(a,"namespace",e,s),namespace:e}}let[c,...f]=n,{caseSensitive:d=!1}=o;if(!c)return null;if(ui(e)){let m=d?Object.keys(e).find(b=>b===c):Object.keys(e).find(b=>b.toLowerCase()===c.toLowerCase());if(m){let b=e[m];if(b)return kf(b,f,[...a,m],o,e)}}else{if(Dr(e))return kf(e.children,n,a,o,e);if(cr(e)){for(let m of e)if(typeof m=="string"){if((d?m===c:m.toLowerCase()===c.toLowerCase())&&f.length===0){let b=un([...a,m],"string",void 0,e);return{value:m,path:[...a,m],type:"string",semanticType:b}}}else if((d?m.label===c:m.label.toLowerCase()===c.toLowerCase())&&f.length===0){let b=un([...a,m.label],"completion",void 0,e);return{completion:m,path:[...a,m.label],type:"completion",semanticType:b}}}}return null}function zE(e,n,a={}){let o=[];if(n.includes(".")){let s=n.lastIndexOf("."),c=n.substring(0,s),f=n.substring(s+1),d=u1(e,c,a);if(d!=null&&d.namespace)return Cf(d.namespace,f,d.path,a)}else return Cf(e,n,[],a);return o}function Cf(e,n,a,o){let s=[],{caseSensitive:c=!1,allowPartialMatch:f=!0}=o;if(ui(e)){for(let[d,m]of Object.entries(e))if(f?c?d.startsWith(n):d.toLowerCase().startsWith(n.toLowerCase()):c?d===n:d.toLowerCase()===n.toLowerCase())if(Dr(m)){let b=un([...a,d],"completion",m.children,e);s.push({completion:m.self,path:[...a,d],type:"completion",semanticType:b,namespace:m.children})}else{let b=un([...a,d],"namespace",m,e);s.push({path:[...a,d],type:"namespace",semanticType:b,namespace:m})}}else if(Dr(e)){if(f?c?e.self.label.startsWith(n):e.self.label.toLowerCase().startsWith(n.toLowerCase()):c?e.self.label===n:e.self.label.toLowerCase()===n.toLowerCase()){let d=un([...a,e.self.label],"completion",e.children);s.push({completion:e.self,path:[...a,e.self.label],type:"completion",semanticType:d,namespace:e.children})}s.push(...Cf(e.children,n,a,o))}else if(cr(e)){for(let d of e)if(typeof d=="string"){if(f?c?d.startsWith(n):d.toLowerCase().startsWith(n.toLowerCase()):c?d===n:d.toLowerCase()===n.toLowerCase()){let m=un([...a,d],"string",void 0,e);s.push({value:d,path:[...a,d],type:"string",semanticType:m})}}else if(f?c?d.label.startsWith(n):d.label.toLowerCase().startsWith(n.toLowerCase()):c?d.label===n:d.label.toLowerCase()===n.toLowerCase()){let m=un([...a,d.label],"completion",void 0,e);s.push({completion:d,path:[...a,d.label],type:"completion",semanticType:m})}}return s}function qE(e,n,a={}){let o=[],{maxDepth:s=10}=a;sc(e,[],o,s);let{caseSensitive:c=!1}=a;return o.filter(f=>f.path.some(d=>c?d===n:d.toLowerCase()===n.toLowerCase())).sort((f,d)=>{var _,x;let m=c?f.path[f.path.length-1]===n:((_=f.path[f.path.length-1])==null?void 0:_.toLowerCase())===n.toLowerCase(),b=c?d.path[d.path.length-1]===n:((x=d.path[d.path.length-1])==null?void 0:x.toLowerCase())===n.toLowerCase();return m&&!b?-1:!m&&b?1:f.path.length-d.path.length})}function sc(e,n,a,o){if(!(n.length>=o)){if(ui(e))for(let[s,c]of Object.entries(e)){let f=[...n,s];if(Dr(c)){let d=un(f,"completion",c.children,e);a.push({completion:c.self,path:f,type:"completion",semanticType:d,namespace:c.children}),sc(c.children,f,a,o)}else{let d=un(f,"namespace",c,e);a.push({path:f,type:"namespace",semanticType:d,namespace:c}),sc(c,f,a,o)}}else if(Dr(e)){let s=un(n,"completion",e.children);a.push({completion:e.self,path:n,type:"completion",semanticType:s,namespace:e.children}),sc(e.children,n,a,o)}else if(cr(e))for(let s of e)if(typeof s=="string"){let c=un([...n,s],"string",void 0,e);a.push({value:s,path:[...n,s],type:"string",semanticType:c})}else{let c=un([...n,s.label],"completion",void 0,e);a.push({completion:s,path:[...n,s.label],type:"completion",semanticType:c})}}}function d1(e,n,a={}){let{enableFuzzySearch:o=!1}=a,s=u1(e,n,a);if(s)return s;let c=zE(e,n,a);if(c.length>0)return c[0]||null;if(o){let f=qE(e,n,a);if(f.length>0)return f[0]||null}return null}function f1(e,n){if(n.size===0)return{};if(ui(e)){let a={};for(let[o,s]of Object.entries(e))if(Array.from(n).some(c=>c.toLowerCase()===o.toLowerCase()))a[o]=s;else if(ui(s)){let c=f1(s,n);Object.keys(c).length>0&&(a[o]=c)}return a}return e}function FE(e={}){let{schema:n={},keywords:a={},hoverTime:o=300,enableKeywords:s=!0,enableTables:c=!0,enableColumns:f=!0,enableFuzzySearch:d=!0,parser:m=new oc,tooltipRender:b,tooltipRenderers:_={}}=e,x=null;return Vh(async(S,E,L)=>{let{from:P,to:q,text:V}=S.state.doc.lineAt(E),B=E,M=E;x===null&&(x=typeof a=="function"?a(S):Promise.resolve(a));let J=await x;for(;B>P&&/[\w.]/.test(V[B-P-1]??"");)B--;for(;M<q&&/[\w.]/.test(V[M-P]??"");)M++;if(B===E&&L<0||M===E&&L>0)return null;let le=V.slice(B-P,M-P).toLowerCase();if(!le||le.length===0)return null;let A=typeof n=="function"?n(S):n,j=null;if(`${le}`,!j&&s&&J[le]&&(J[le],j={word:le,view:S,pos:E,tooltipType:"keyword",keywordData:{keyword:le,info:J[le]}}),!j&&(c||f)&&A){let $=S.state.doc.toString(),oe=await m.extractTableReferences($),de=new Set(oe.map(ke=>ke.toLowerCase())),he=f1(A,de),ye=d1(he,le,{enableFuzzySearch:d});!ye&&de.size===0&&(ye=d1(A,le,{enableFuzzySearch:d})),ye&&(Array.from(de),j={word:le,view:S,pos:E,tooltipType:"namespace",namespaceData:{item:ye,word:le,resolvedSchema:de.size>0?he:A}})}return j?{pos:B,end:M,above:!0,create($){if(b){let he=b(le,$,E);if(he)return{dom:he}}let oe=null;if(j.tooltipType==="keyword"&&j.keywordData)oe=_.keyword?_.keyword(j.keywordData):h1(j.keywordData);else if(j.tooltipType==="namespace"&&j.namespaceData){let he=j.namespaceData,{semanticType:ye}=he.item;oe=ye==="table"&&_.table?_.table(he):ye==="column"&&_.column?_.column(he):(ye==="database"||ye==="schema"||ye==="namespace")&&_.namespace?_.namespace(he):p1(he.item)}if(!oe)return{dom:document.createElement("div")};let de=document.createElement("div");return de.className="cm-sql-hover-tooltip",de.innerHTML=oe,{dom:de}}}:null},{hoverTime:o})}function p1(e){var s,c,f,d,m,b,_;let n=e.path.join("."),a=((s=e.completion)==null?void 0:s.label)||e.value||e.path[e.path.length-1]||"unknown",o=`<div class="sql-hover-${e.semanticType}">`;switch(o+=`<div class="sql-hover-header"><strong>${a}</strong> <span class="sql-hover-type">${e.semanticType}</span></div>`,e.semanticType){case"database":if(o+=`<div class="sql-hover-description">Database${(c=e.completion)!=null&&c.detail?`: ${e.completion.detail}`:""}</div>`,e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} schema${x===1?"":"s"}</div>`)}break;case"schema":if(o+=`<div class="sql-hover-description">Schema${(f=e.completion)!=null&&f.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} table${x===1?"":"s"}</div>`)}break;case"table":if(o+=`<div class="sql-hover-description">Table${(d=e.completion)!=null&&d.detail?`: ${e.completion.detail}`:""}</div>`,n){let x=e.path;x.length>1&&(o+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${x.slice(0,-1).join(".")}</code></div>`)}if(e.namespace&&cr(e.namespace)){let x=e.namespace;if(x.length>0){o+=`<div class="sql-hover-columns"><strong>Columns (${x.length}):</strong><br>`;let S=x.slice(0,8).map(E=>typeof E=="string"?E:E.label);o+=S.map(E=>`<code>${E}</code>`).join(", "),x.length>8&&(o+=`, <em>and ${x.length-8} more...</em>`),o+="</div>"}}break;case"column":if(o+=`<div class="sql-hover-description">Column${(m=e.completion)!=null&&m.detail?`: ${e.completion.detail}`:""}</div>`,n){let x=e.path;x.length>1&&(o+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${x.slice(0,-1).join(".")}</code></div>`)}break;default:if(o+=`<div class="sql-hover-description">Namespace${(b=e.completion)!=null&&b.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let x=lc(e.namespace);x>0&&(o+=`<div class="sql-hover-children">Contains ${x} item${x===1?"":"s"}</div>`)}break}return(_=e.completion)!=null&&_.info&&typeof e.completion.info=="string"&&(o+=`<div class="sql-hover-info">${e.completion.info}</div>`),o+="</div>",o}function lc(e){return Array.isArray(e)?e.length:typeof e=="object"&&e?"self"in e&&"children"in e?1+lc(e.children):Object.keys(e).length:0}function h1(e){let{keyword:n,info:a}=e,o='<div class="sql-hover-keyword">';if(o+=`<div class="sql-hover-header"><strong>${n.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,o+=`<div class="sql-hover-description">${a.description}</div>`,a.syntax&&(o+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${a.syntax}</code></div>`),a.example&&(o+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${a.example}</code></div>`),a.metadata&&typeof a.metadata=="object"&&Object.keys(a.metadata).length>0){o+='<div class="sql-hover-metadata">';for(let[s,c]of Object.entries(a.metadata))o+=`<span class="sql-hover-tag" title="${s}">${c}</span> `;o+="</div>"}return o+="</div>",o}function BE(e){let{tableName:n,columns:a,metadata:o}=e,s='<div class="sql-hover-table">';if(s+=`<div class="sql-hover-header"><strong>${n}</strong> <span class="sql-hover-type">table</span></div>`,s+=`<div class="sql-hover-description">Table with ${a.length} column${a.length===1?"":"s"}</div>`,a.length>0){s+='<div class="sql-hover-columns"><strong>Columns:</strong><br>';let c=a.slice(0,10);s+=c.map(f=>`<code>${f}</code>`).join(", "),a.length>10&&(s+=`, <em>and ${a.length-10} more...</em>`),s+="</div>"}if(o&&typeof o=="object"&&Object.keys(o).length>0){s+='<div class="sql-hover-metadata">';for(let[c,f]of Object.entries(o))s+=`<span class="sql-hover-tag" title="${c}">${f}</span> `;s+="</div>"}return s+="</div>",s}function VE(e){let{tableName:n,columnName:a,schema:o,metadata:s}=e,c='<div class="sql-hover-column">';c+=`<div class="sql-hover-header"><strong>${a}</strong> <span class="sql-hover-type">column</span></div>`,c+=`<div class="sql-hover-description">Column in table <code>${n}</code></div>`;let f=o[n];if(f&&f.length>1){let d=f.filter(m=>m!==a);if(d.length>0){c+=`<div class="sql-hover-related"><strong>Other columns in ${n}:</strong><br>`;let m=d.slice(0,8);c+=m.map(b=>`<code>${b}</code>`).join(", "),d.length>8&&(c+=`, <em>and ${d.length-8} more...</em>`),c+="</div>"}}if(s&&typeof s=="object"&&Object.keys(s).length>0){c+='<div class="sql-hover-metadata">';for(let[d,m]of Object.entries(s))c+=`<span class="sql-hover-tag" title="${d}">${m}</span> `;c+="</div>"}return c+="</div>",c}const HE={keyword:h1,table:BE,column:VE,namespace:p1},m1=(e="light")=>{let n=e==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return Et.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};var $E=class{constructor(e){ve(this,"parser");ve(this,"cache",new Map);ve(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){let n=e.doc.toString(),a=this.generateCacheKey(n),o=this.cache.get(a);if(o)return o;let s=await this.extractStatements(n,e);if(this.cache.set(a,s),this.cache.size>this.MAX_CACHE_SIZE){let c=this.cache.keys().next().value;c!==void 0&&this.cache.delete(c)}return s}async getStatementAtPosition(e,n){return(await this.analyzeDocument(e)).find(a=>n>=a.from&&n<=a.to)||null}async getStatementsInRange(e,n,a){return(await this.analyzeDocument(e)).filter(o=>o.from<=a&&o.to>=n)}async extractStatements(e,n){let a=[],o=this.splitByStatementSeparators(e),s=0;for(let c of o){let f=c.trim();if(f.length===0){s+=c.length;continue}let d=s+c.indexOf(f),m=d+f.length,b=n.doc.lineAt(d),_=n.doc.lineAt(m),x=this.stripComments(f);if(x.trim().length===0||x.trim()===";"){s+=c.length;continue}let S=await this.parser.parse(x,{state:n}),E=this.determineStatementType(x),L=x.endsWith(";")?x.slice(0,-1).trim():x.trim();a.push({from:d,to:m,lineFrom:b.number,lineTo:_.number,content:L,type:E,isValid:S.success}),s+=c.length}return a}splitByStatementSeparators(e){let n=[],a="",o=!1,s="",c=!1,f=!1,d=0;for(;d<e.length;){let m=e[d],b=e[d+1];if(!o&&!f&&m==="-"&&b==="-"){c=!0,a+=m+b,d+=2;continue}if(!o&&!c&&m==="/"&&b==="*"){f=!0,a+=m+b,d+=2;continue}if(f&&m==="*"&&b==="/"){f=!1,a+=m+b,d+=2;continue}if(c&&(m===`
113
113
  `||m==="\r")){c=!1,a+=m,d++;continue}if(c||f){a+=m,d++;continue}if(!o&&(m==="'"||m==='"'||m==="`"))o=!0,s=m,a+=m;else if(o&&m===s){if(b===s){a+=m+b,d+=2;continue}o=!1,s="",a+=m}else!o&&m===";"?(a+=m,n.push(a),a=""):a+=m;d++}return a.trim()&&n.push(a),n}determineStatementType(e){let n=e.trim().toLowerCase();return n.startsWith("select")?"select":n.startsWith("insert")?"insert":n.startsWith("update")?"update":n.startsWith("delete")?"delete":n.startsWith("create")?"create":n.startsWith("drop")?"drop":n.startsWith("alter")?"alter":n.startsWith("use")?"use":"other"}stripComments(e){let n="",a=!1,o="",s=!1,c=!1,f=0;for(;f<e.length;){let d=e[f],m=e[f+1];if(!a&&!c&&d==="-"&&m==="-"){s=!0,f+=2;continue}if(!a&&!s&&d==="/"&&m==="*"){c=!0,f+=2;continue}if(c&&d==="*"&&m==="/"){c=!1,f+=2;continue}if(s&&(d===`
114
114
  `||d==="\r")){s=!1,n+=d,f++;continue}if(s||c){f++;continue}if(!a&&(d==="'"||d==='"'||d==="`"))a=!0,o=d,n+=d;else if(a&&d===o){if(m===o){n+=d+m,f+=2;continue}a=!1,o="",n+=d}else n+=d;f++}return n}generateCacheKey(e){let n=0;for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);n=(n<<5)-n+o,n&=n}return n.toString()}clearCache(){this.cache.clear()}},g1=la.define(),y1=os.define({create(){return{currentStatement:null,allStatements:[],cursorPosition:0,isFocused:!0}},update(e,n){for(let a of n.effects)if(a.is(g1))return a.value;return e}}),WE=class extends i8{constructor(n,a,o=!0,s=!0){super();ve(this,"config");ve(this,"isCurrent");ve(this,"isValid");ve(this,"isFocused");this.config=n,this.isCurrent=a,this.isValid=o,this.isFocused=s}toDOM(){let n=document.createElement("div");n.className="cm-sql-gutter-marker";let a=this.config.backgroundColor||"#3b82f6";!this.isValid&&this.config.showInvalid!==!1&&(a=this.config.errorBackgroundColor||"#ef4444");let o;return o=this.isFocused?this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity===void 0?this.config.hideWhenNotFocused?"0":this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity.toString(),n.style.cssText=`
115
115
  background: ${a};
@@ -1 +1 @@
1
- import{s as P}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-Bj1aDYRI.js";import{gr as X,ur as $}from"./cells-BPSZbR83.js";import{C as z,P as G,R as E,T as K}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{t as L}from"./isEmpty-CXeoXbuc.js";import{X as Q}from"./ai-model-dropdown-MfjEMpyj.js";import{_ as W}from"./useEventListener-BR0C1MaI.js";import{t as C}from"./cn-DCUzRj2J.js";import{t as Y}from"./jsx-runtime-BqBOg78p.js";import{a as D,i as I,n as V,r as B}from"./multi-map-rafH3cg3.js";import{i as Z}from"./strings-md4mFbOQ.js";import{t as ee}from"./bot-message-square-DrbHk31W.js";import{t as H}from"./markdown-renderer-BySoarzx.js";import{l as te}from"./add-cell-with-ai-D2XLAeU2.js";import{n as se}from"./spinner-Bhir8k53.js";import{c as ae}from"./datasource-DDj2B7Ss.js";import{t as re}from"./RenderHTML-CL9ay8Ii.js";var le=J(),ne=P(U(),1),t=P(Y(),1);const oe=n=>{let e=(0,le.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{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,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(B,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(H,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(V,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var T=J(),ie=G({status:E().default("success"),auth_required:K().default(!1),action_url:z(),next_steps:z(),meta:z(),message:E().nullish()}).passthrough(),de=n=>{let e=(0,T.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(xe)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ce=n=>{let e=(0,T.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ie.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(de,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},me=n=>{let e=(0,T.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const M=n=>{let e=(0,T.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(X,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Q,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,F=`tool-${p}`,g;e[6]===o?g=e[7]:(g=C("w-full",o),e[6]=o,e[7]=g);let A=i==="error"&&"text-[var(--red-11)]/80",k=i==="success"&&"text-[var(--grass-11)]/80",j;e[8]!==A||e[9]!==k?(j=C("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",A,k),e[8]=A,e[9]=k,e[10]=j):j=e[10];let v;e[11]===u?v=e[12]:(v=u(),e[11]=u,e[12]=v);let q=f(),b;e[13]===a?b=e[14]:(b=ue(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==q||e[18]!==N||e[19]!==v?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[v,q,":",N]}),e[17]=q,e[18]=N,e[19]=v,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==j?(w=(0,t.jsx)(D,{className:j,children:y}),e[21]=y,e[22]=j,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(me,{input:x}),l!=null&&(0,t.jsx)(ce,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(B,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==F||e[36]!==g?(O=(0,t.jsx)(V,{type:"single",collapsible:!0,className:g,children:R},F),e[34]=R,e[35]=F,e[36]=g,e[37]=O):O=e[37],O};function ue(n){return n.replace("tool-","")}function xe(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const pe=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(he(s))return(0,t.jsx)(M,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(fe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(ne.Fragment,{children:re({html:s.text})},r):(0,t.jsx)(H,{content:s.text},r);case"reasoning":return(0,t.jsx)(oe,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(M,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return Z(s),null}}};function he(n){return n.type.startsWith("tool-")}function fe(n){return n.type.startsWith("data-")}export{pe as t};
1
+ import{s as P}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-Bj1aDYRI.js";import{gr as X,ur as $}from"./cells-Wp62mkuO.js";import{C as z,P as G,R as E,T as K}from"./zod-H_cgTO0M.js";import{t as J}from"./compiler-runtime-B3qBwwSJ.js";import{t as L}from"./isEmpty-CXeoXbuc.js";import{X as Q}from"./ai-model-dropdown-B43T4OtX.js";import{_ as W}from"./useEventListener-BR0C1MaI.js";import{t as C}from"./cn-DCUzRj2J.js";import{t as Y}from"./jsx-runtime-BqBOg78p.js";import{a as D,i as I,n as V,r as B}from"./multi-map-rafH3cg3.js";import{i as Z}from"./strings-md4mFbOQ.js";import{t as ee}from"./bot-message-square-DrbHk31W.js";import{t as H}from"./markdown-renderer-DjjwLrVA.js";import{l as te}from"./add-cell-with-ai-DMh3huz_.js";import{n as se}from"./spinner-Bhir8k53.js";import{c as ae}from"./datasource-DA33QXqs.js";import{t as re}from"./RenderHTML-BKLJDmuZ.js";var le=J(),ne=P(U(),1),t=P(Y(),1);const oe=n=>{let e=(0,le.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(ee,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{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,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(B,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(H,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(V,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var T=J(),ie=G({status:E().default("success"),auth_required:K().default(!1),action_url:z(),next_steps:z(),meta:z(),message:E().nullish()}).passthrough(),de=n=>{let e=(0,T.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(xe)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ce=n=>{let e=(0,T.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ie.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(de,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},me=n=>{let e=(0,T.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=L(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&!Array.isArray(a)&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const M=n=>{let e=(0,T.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(X,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(Q,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,F=`tool-${p}`,g;e[6]===o?g=e[7]:(g=C("w-full",o),e[6]=o,e[7]=g);let A=i==="error"&&"text-[var(--red-11)]/80",k=i==="success"&&"text-[var(--grass-11)]/80",j;e[8]!==A||e[9]!==k?(j=C("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",A,k),e[8]=A,e[9]=k,e[10]=j):j=e[10];let v;e[11]===u?v=e[12]:(v=u(),e[11]=u,e[12]=v);let q=f(),b;e[13]===a?b=e[14]:(b=ue(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==q||e[18]!==N||e[19]!==v?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[v,q,":",N]}),e[17]=q,e[18]=N,e[19]=v,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==j?(w=(0,t.jsx)(D,{className:j,children:y}),e[21]=y,e[22]=j,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(me,{input:x}),l!=null&&(0,t.jsx)(ce,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(B,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==F||e[36]!==g?(O=(0,t.jsx)(V,{type:"single",collapsible:!0,className:g,children:R},F),e[34]=R,e[35]=F,e[36]=g,e[37]=O):O=e[37],O};function ue(n){return n.replace("tool-","")}function xe(n){let[e,a]=n;return L(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const pe=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(he(s))return(0,t.jsx)(M,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(fe(s))return W.debug("Found data part",s),null;switch(s.type){case"text":return s.text.includes("<marimo-")?(0,t.jsx)(ne.Fragment,{children:re({html:s.text})},r):(0,t.jsx)(H,{content:s.text},r);case"reasoning":return(0,t.jsx)(oe,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(te,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(M,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return W.debug("Found non-renderable part",s),null;default:return Z(s),null}}};function he(n){return n.type.startsWith("tool-")}function fe(n){return n.type.startsWith("data-")}export{pe as t};
@@ -1,3 +1,3 @@
1
- import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as We}from"./useEvent-D91BmmQi.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{E as Dt,hr as Mt}from"./cells-BPSZbR83.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{E as zt,T as Ft,o as Ht,r as Ze,t as Ot}from"./ai-model-dropdown-MfjEMpyj.js";import{_ as _e,o as le}from"./useEventListener-BR0C1MaI.js";import{n as et,r as Ut}from"./utils-BrXijSdZ.js";import{o as Wt}from"./config-NNGlrvbj.js";import{t as oe}from"./cn-DCUzRj2J.js";import{t as Yt}from"./jsx-runtime-BqBOg78p.js";import{C as pe,S as Xt,_ as Te,b as V,h as q,y as Vt}from"./fullscreen-BDxedMYP.js";import{u as qt}from"./menu-items-CwUpDHG7.js";import{i as Bt,r as $t,t as Gt}from"./popover-UExmgBsf.js";import{a as Jt,i as Kt,n as Qt,p as Zt,r as er,s as tr,t as rr}from"./select-5i7URBEn.js";import{i as tt,t as Ye}from"./tooltip-Gcwqb_SK.js";import{t as ae}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as lr}from"./requests-DIwGYs0l.js";import{t as rt}from"./createLucideIcon-D5guW7EU.js";import{t as lt}from"./bot-message-square-DrbHk31W.js";import"./markdown-renderer-BySoarzx.js";import{O as ot,S as or,T as ar,_ as nr,b as sr,c as ir,d as cr,f as dr,g as ur,h as pr,j as mr,k as hr,l as fr,m as at,n as nt,p as xr,s as vr,u as gr,v as wr,y as br}from"./add-cell-with-ai-D2XLAeU2.js";import{n as yr}from"./spinner-Bhir8k53.js";import{t as jr}from"./message-circle-CWm2KnSx.js";import{t as Sr}from"./plus-BgB18UzY.js";import{dt as Cr,r as Nr}from"./input-BX98vgAu.js";import{t as Rr}from"./settings-DfFe0dWD.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{i as Ar}from"./dates-CAlnO9QB.js";import{t as _r}from"./copy-icon-BYNydU7b.js";import{t as Tr}from"./context-B3MsQb-b.js";import{r as st,t as Er}from"./state-31owe31-.js";import{n as kr}from"./error-banner-C6aBa98y.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BFtSv8Pw.js";import"./esm-BmrwxxCo.js";import{t as Xe}from"./empty-state-CsVQSqKA.js";import{t as Lr}from"./chat-display-Dgi46qOZ.js";var p=Ke(Pt(),1),o=Ke(Yt(),1);function Ir(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[it,po]=Xt(Ve),[Pr,z]=it(Ve),ct=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[j,T]=p.useState(null),[g,N]=p.useState(0),[R,y]=p.useState(0),[S,C]=p.useState(!1),[E,I]=p.useState(!1),w=le(t,k=>c(k)),_=qt(l);return(0,o.jsx)(Pr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:j,onScrollbarYChange:T,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});ct.displayName=Ve;var dt="ScrollAreaViewport",ut=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=z(dt,r),i=le(t,p.useRef(null),s.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,o.jsx)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ut.displayName=dt;var U="ScrollAreaScrollbar",qe=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Dr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(pt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Be,{...n,ref:t}):null});qe.displayName=U;var Dr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Te,{present:r||a,children:(0,o.jsx)(pt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Mr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=Ir("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return p.useEffect(()=>{if(i==="idle"){let u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Te,{present:r||i!=="hidden",children:(0,o.jsx)(Be,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),pt=p.forwardRef((e,t)=>{let r=z(U,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Te,{present:n||a,children:(0,o.jsx)(Be,{"data-state":a?"visible":"hidden",...l,ref:t})})}),Be=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=z(U,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=vt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Wr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(zr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=gt(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Fr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=gt(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=m(h))}}):null}),zr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"horizontal",...l,ref:u,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Fr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"vertical",...l,ref:u,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Hr,mt]=it(U),ht=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=z(U,r),[v,j]=p.useState(null),T=le(t,w=>j(w)),g=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,S=q(d),C=q(c),E=Ie(m,10);function I(w){g.current&&u({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return p.useEffect(()=>{let w=_=>{let k=_.target;v!=null&&v.contains(k)&&S(_,y)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,y,S]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Hr,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:q(a),onThumbPointerUp:q(s),onThumbPositionChange:C,onThumbPointerDown:q(i),children:(0,o.jsx)(pe.div,{...h,ref:T,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Ee="ScrollAreaThumb",ft=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=mt(Ee,e.__scopeScrollArea);return(0,o.jsx)(Te,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...n})})}),Or=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=z(Ee,r),s=mt(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Yr(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});ft.displayName=Ee;var $e="ScrollAreaCorner",xt=p.forwardRef((e,t)=>{let r=z($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Ur,{...e,ref:t}):null});xt.displayName=$e;var Ur=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=z($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ke(e){return e?parseInt(e,10):0}function vt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=vt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Wr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return wt([c,u],m)(e)}function gt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=Zt(e,r==="ltr"?[0,s]:[s*-1,0]);return wt([0,s],[0,i])(c)}function wt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function bt(e,t){return e>0&&e<t}var Yr=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=q(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=q(t);Vt(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var yt=ct,Xr=ut,Vr=xt,qr=rt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),Br=rt("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),jt=Qe();const $r=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var St=p.forwardRef((e,t)=>{let r=(0,jt.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=oe("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(Xr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)(Vr,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(yt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=yt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,jt.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=oe("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(ft,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(qe,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=qe.displayName;var Gr=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=We(st),{locale:n}=Tr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].toSorted((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Gt,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)(ae,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Nr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(lt,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Cr,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:oe("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Ar(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Sr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(ae,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ht,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Rr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(ae,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=j=>{var N,R,y;let T=(R=(N=j.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
1
+ import{s as Ke}from"./chunk-LvLJmgfZ.js";import{d as kt,f as Lt,l as It,n as ue,u as We}from"./useEvent-D91BmmQi.js";import{t as Pt}from"./react-Bj1aDYRI.js";import{E as Dt,hr as Mt}from"./cells-Wp62mkuO.js";import"./react-dom-CSu739Rf.js";import{t as Qe}from"./compiler-runtime-B3qBwwSJ.js";import{E as zt,T as Ft,o as Ht,r as Ze,t as Ot}from"./ai-model-dropdown-B43T4OtX.js";import{_ as _e,o as le}from"./useEventListener-BR0C1MaI.js";import{n as et,r as Ut}from"./utils-BrXijSdZ.js";import{o as Wt}from"./config-B2jNjodW.js";import{t as oe}from"./cn-DCUzRj2J.js";import{t as Yt}from"./jsx-runtime-BqBOg78p.js";import{C as pe,S as Xt,_ as Te,b as V,h as q,y as Vt}from"./fullscreen-BDxedMYP.js";import{u as qt}from"./menu-items-CwUpDHG7.js";import{i as Bt,r as $t,t as Gt}from"./popover-UExmgBsf.js";import{a as Jt,i as Kt,n as Qt,p as Zt,r as er,s as tr,t as rr}from"./select-5i7URBEn.js";import{i as tt,t as Ye}from"./tooltip-Gcwqb_SK.js";import{t as ae}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{r as lr}from"./requests-DIwGYs0l.js";import{t as rt}from"./createLucideIcon-D5guW7EU.js";import{t as lt}from"./bot-message-square-DrbHk31W.js";import"./markdown-renderer-DjjwLrVA.js";import{O as ot,S as or,T as ar,_ as nr,b as sr,c as ir,d as cr,f as dr,g as ur,h as pr,j as mr,k as hr,l as fr,m as at,n as nt,p as xr,s as vr,u as gr,v as wr,y as br}from"./add-cell-with-ai-DMh3huz_.js";import{n as yr}from"./spinner-Bhir8k53.js";import{t as jr}from"./message-circle-CWm2KnSx.js";import{t as Sr}from"./plus-BgB18UzY.js";import{dt as Cr,r as Nr}from"./input-BX98vgAu.js";import{t as Rr}from"./settings-DfFe0dWD.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{i as Ar}from"./dates-CAlnO9QB.js";import{t as _r}from"./copy-icon-BYNydU7b.js";import{t as Tr}from"./context-B3MsQb-b.js";import{r as st,t as Er}from"./state-CxczBoEs.js";import{n as kr}from"./error-banner-C6aBa98y.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BZTmy2-K.js";import"./esm-BmrwxxCo.js";import{t as Xe}from"./empty-state-CsVQSqKA.js";import{t as Lr}from"./chat-display-DdLRA8c9.js";var p=Ke(Pt(),1),o=Ke(Yt(),1);function Ir(e,t){return p.useReducer((r,n)=>t[r][n]??r,e)}var Ve="ScrollArea",[it,po]=Xt(Ve),[Pr,z]=it(Ve),ct=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:n="hover",dir:l,scrollHideDelay:a=600,...s}=e,[i,c]=p.useState(null),[u,d]=p.useState(null),[m,h]=p.useState(null),[f,v]=p.useState(null),[j,T]=p.useState(null),[g,N]=p.useState(0),[R,y]=p.useState(0),[S,C]=p.useState(!1),[E,I]=p.useState(!1),w=le(t,k=>c(k)),_=qt(l);return(0,o.jsx)(Pr,{scope:r,type:n,dir:_,scrollHideDelay:a,scrollArea:i,viewport:u,onViewportChange:d,content:m,onContentChange:h,scrollbarX:f,onScrollbarXChange:v,scrollbarXEnabled:S,onScrollbarXEnabledChange:C,scrollbarY:j,onScrollbarYChange:T,scrollbarYEnabled:E,onScrollbarYEnabledChange:I,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(pe.div,{dir:_,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});ct.displayName=Ve;var dt="ScrollAreaViewport",ut=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:n,nonce:l,...a}=e,s=z(dt,r),i=le(t,p.useRef(null),s.onViewportChange);return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)("style",{dangerouslySetInnerHTML:{__html:"[data-radix-scroll-area-viewport]{scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;}[data-radix-scroll-area-viewport]::-webkit-scrollbar{display:none}"},nonce:l}),(0,o.jsx)(pe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:n})})]})});ut.displayName=dt;var U="ScrollAreaScrollbar",qe=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:s}=l,i=e.orientation==="horizontal";return p.useEffect(()=>(i?a(!0):s(!0),()=>{i?a(!1):s(!1)}),[i,a,s]),l.type==="hover"?(0,o.jsx)(Dr,{...n,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Mr,{...n,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(pt,{...n,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Be,{...n,ref:t}):null});qe.displayName=U;var Dr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),[a,s]=p.useState(!1);return p.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let u=()=>{window.clearTimeout(c),s(!0)},d=()=>{c=window.setTimeout(()=>s(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",u),i.addEventListener("pointerleave",d),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",u),i.removeEventListener("pointerleave",d)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Te,{present:r||a,children:(0,o.jsx)(pt,{"data-state":a?"visible":"hidden",...n,ref:t})})}),Mr=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=z(U,e.__scopeScrollArea),a=e.orientation==="horizontal",s=Ie(()=>c("SCROLL_END"),100),[i,c]=Ir("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return p.useEffect(()=>{if(i==="idle"){let u=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(u)}},[i,l.scrollHideDelay,c]),p.useEffect(()=>{let u=l.viewport,d=a?"scrollLeft":"scrollTop";if(u){let m=u[d],h=()=>{let f=u[d];m!==f&&(c("SCROLL"),s()),m=f};return u.addEventListener("scroll",h),()=>u.removeEventListener("scroll",h)}},[l.viewport,a,c,s]),(0,o.jsx)(Te,{present:r||i!=="hidden",children:(0,o.jsx)(Be,{"data-state":i==="hidden"?"hidden":"visible",...n,ref:t,onPointerEnter:V(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:V(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),pt=p.forwardRef((e,t)=>{let r=z(U,e.__scopeScrollArea),{forceMount:n,...l}=e,[a,s]=p.useState(!1),i=e.orientation==="horizontal",c=Ie(()=>{if(r.viewport){let u=r.viewport.offsetWidth<r.viewport.scrollWidth,d=r.viewport.offsetHeight<r.viewport.scrollHeight;s(i?u:d)}},10);return ne(r.viewport,c),ne(r.content,c),(0,o.jsx)(Te,{present:n||a,children:(0,o.jsx)(Be,{"data-state":a?"visible":"hidden",...l,ref:t})})}),Be=p.forwardRef((e,t)=>{let{orientation:r="vertical",...n}=e,l=z(U,e.__scopeScrollArea),a=p.useRef(null),s=p.useRef(0),[i,c]=p.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),u=vt(i.viewport,i.content),d={...n,sizes:i,onSizesChange:c,hasThumb:u>0&&u<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function m(h,f){return Wr(h,s.current,i,f)}return r==="horizontal"?(0,o.jsx)(zr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=gt(h,i,l.dir);a.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollLeft=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollLeft=m(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Fr,{...d,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=gt(h,i);a.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{l.viewport&&(l.viewport.scrollTop=h)},onDragScroll:h=>{l.viewport&&(l.viewport.scrollTop=m(h))}}):null}),zr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarXChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"horizontal",...l,ref:u,sizes:r,style:{bottom:0,left:a.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:a.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.x),onDragScroll:d=>e.onDragScroll(d.x),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollLeft+d.deltaX;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:ke(s.paddingLeft),paddingEnd:ke(s.paddingRight)}})}})}),Fr=p.forwardRef((e,t)=>{let{sizes:r,onSizesChange:n,...l}=e,a=z(U,e.__scopeScrollArea),[s,i]=p.useState(),c=p.useRef(null),u=le(t,c,a.onScrollbarYChange);return p.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(ht,{"data-orientation":"vertical",...l,ref:u,sizes:r,style:{top:0,right:a.dir==="ltr"?0:void 0,left:a.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Le(r)+"px",...e.style},onThumbPointerDown:d=>e.onThumbPointerDown(d.y),onDragScroll:d=>e.onDragScroll(d.y),onWheelScroll:(d,m)=>{if(a.viewport){let h=a.viewport.scrollTop+d.deltaY;e.onWheelScroll(h),bt(h,m)&&d.preventDefault()}},onResize:()=>{c.current&&a.viewport&&s&&n({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:ke(s.paddingTop),paddingEnd:ke(s.paddingBottom)}})}})}),[Hr,mt]=it(U),ht=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:n,hasThumb:l,onThumbChange:a,onThumbPointerUp:s,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:u,onWheelScroll:d,onResize:m,...h}=e,f=z(U,r),[v,j]=p.useState(null),T=le(t,w=>j(w)),g=p.useRef(null),N=p.useRef(""),R=f.viewport,y=n.content-n.viewport,S=q(d),C=q(c),E=Ie(m,10);function I(w){g.current&&u({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return p.useEffect(()=>{let w=_=>{let k=_.target;v!=null&&v.contains(k)&&S(_,y)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,v,y,S]),p.useEffect(C,[n,C]),ne(v,E),ne(f.content,E),(0,o.jsx)(Hr,{scope:r,scrollbar:v,hasThumb:l,onThumbChange:q(a),onThumbPointerUp:q(s),onThumbPositionChange:C,onThumbPointerDown:q(i),children:(0,o.jsx)(pe.div,{...h,ref:T,style:{position:"absolute",...h.style},onPointerDown:V(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=v.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),I(w))}),onPointerMove:V(e.onPointerMove,I),onPointerUp:V(e.onPointerUp,w=>{let _=w.target;_.hasPointerCapture(w.pointerId)&&_.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Ee="ScrollAreaThumb",ft=p.forwardRef((e,t)=>{let{forceMount:r,...n}=e,l=mt(Ee,e.__scopeScrollArea);return(0,o.jsx)(Te,{present:r||l.hasThumb,children:(0,o.jsx)(Or,{ref:t,...n})})}),Or=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:n,...l}=e,a=z(Ee,r),s=mt(Ee,r),{onThumbPositionChange:i}=s,c=le(t,m=>s.onThumbChange(m)),u=p.useRef(void 0),d=Ie(()=>{u.current&&(u.current=(u.current(),void 0))},100);return p.useEffect(()=>{let m=a.viewport;if(m){let h=()=>{d(),u.current||(u.current=Yr(m,i),i())};return i(),m.addEventListener("scroll",h),()=>m.removeEventListener("scroll",h)}},[a.viewport,d,i]),(0,o.jsx)(pe.div,{"data-state":s.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...n},onPointerDownCapture:V(e.onPointerDownCapture,m=>{let h=m.target.getBoundingClientRect(),f=m.clientX-h.left,v=m.clientY-h.top;s.onThumbPointerDown({x:f,y:v})}),onPointerUp:V(e.onPointerUp,s.onThumbPointerUp)})});ft.displayName=Ee;var $e="ScrollAreaCorner",xt=p.forwardRef((e,t)=>{let r=z($e,e.__scopeScrollArea),n=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&n?(0,o.jsx)(Ur,{...e,ref:t}):null});xt.displayName=$e;var Ur=p.forwardRef((e,t)=>{let{__scopeScrollArea:r,...n}=e,l=z($e,r),[a,s]=p.useState(0),[i,c]=p.useState(0),u=!!(a&&i);return ne(l.scrollbarX,()=>{var m;let d=((m=l.scrollbarX)==null?void 0:m.offsetHeight)||0;l.onCornerHeightChange(d),c(d)}),ne(l.scrollbarY,()=>{var m;let d=((m=l.scrollbarY)==null?void 0:m.offsetWidth)||0;l.onCornerWidthChange(d),s(d)}),u?(0,o.jsx)(pe.div,{...n,ref:t,style:{width:a,height:i,position:"absolute",right:l.dir==="ltr"?0:void 0,left:l.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function ke(e){return e?parseInt(e,10):0}function vt(e,t){let r=e/t;return isNaN(r)?0:r}function Le(e){let t=vt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,n=(e.scrollbar.size-r)*t;return Math.max(n,18)}function Wr(e,t,r,n="ltr"){let l=Le(r),a=l/2,s=t||a,i=l-s,c=r.scrollbar.paddingStart+s,u=r.scrollbar.size-r.scrollbar.paddingEnd-i,d=r.content-r.viewport,m=n==="ltr"?[0,d]:[d*-1,0];return wt([c,u],m)(e)}function gt(e,t,r="ltr"){let n=Le(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,s=t.content-t.viewport,i=a-n,c=Zt(e,r==="ltr"?[0,s]:[s*-1,0]);return wt([0,s],[0,i])(c)}function wt(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let n=(t[1]-t[0])/(e[1]-e[0]);return t[0]+n*(r-e[0])}}function bt(e,t){return e>0&&e<t}var Yr=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},n=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},s=r.left!==a.left,i=r.top!==a.top;(s||i)&&t(),r=a,n=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(n)};function Ie(e,t){let r=q(e),n=p.useRef(0);return p.useEffect(()=>()=>window.clearTimeout(n.current),[]),p.useCallback(()=>{window.clearTimeout(n.current),n.current=window.setTimeout(r,t)},[r,t])}function ne(e,t){let r=q(t);Vt(()=>{let n=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(n),n=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(n),l.unobserve(e)}}},[e,r])}var yt=ct,Xr=ut,Vr=xt,qr=rt("hat-glasses",[["path",{d:"M14 18a2 2 0 0 0-4 0",key:"1v8fkw"}],["path",{d:"m19 11-2.11-6.657a2 2 0 0 0-2.752-1.148l-1.276.61A2 2 0 0 1 12 4H8.5a2 2 0 0 0-1.925 1.456L5 11",key:"1fkr7p"}],["path",{d:"M2 11h20",key:"3eubbj"}],["circle",{cx:"17",cy:"18",r:"3",key:"82mm0e"}],["circle",{cx:"7",cy:"18",r:"3",key:"lvkj7j"}]]),Br=rt("notebook-text",[["path",{d:"M2 6h4",key:"aawbzj"}],["path",{d:"M2 10h4",key:"l0bgd4"}],["path",{d:"M2 14h4",key:"1gsvsf"}],["path",{d:"M2 18h4",key:"1bu2t1"}],["rect",{width:"16",height:"20",x:"4",y:"2",rx:"2",key:"1nb95v"}],["path",{d:"M9.5 8h5",key:"11mslq"}],["path",{d:"M9.5 12H16",key:"ktog6x"}],["path",{d:"M9.5 16H14",key:"p1seyn"}]]),jt=Qe();const $r=({chatState:e,chatId:t,messages:r})=>{if(!t)return _e.warn("No active chat"),e;let n=e.chats.get(t);if(!n)return _e.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(n.id,{...n,messages:r,updatedAt:a}),{...e,chats:l}};var St=p.forwardRef((e,t)=>{let r=(0,jt.c)(15),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:l,children:n,...a}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s;r[4]===l?s=r[5]:(s=oe("relative overflow-hidden",l),r[4]=l,r[5]=s);let i;r[6]===n?i=r[7]:(i=(0,o.jsx)(Xr,{className:"h-full w-full rounded-[inherit]",children:n}),r[6]=n,r[7]=i);let c,u;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ct,{}),u=(0,o.jsx)(Vr,{}),r[8]=c,r[9]=u):(c=r[8],u=r[9]);let d;return r[10]!==a||r[11]!==t||r[12]!==s||r[13]!==i?(d=(0,o.jsxs)(yt,{ref:t,className:s,...a,children:[i,c,u]}),r[10]=a,r[11]=t,r[12]=s,r[13]=i,r[14]=d):d=r[14],d});St.displayName=yt.displayName;var Ct=p.forwardRef((e,t)=>{let r=(0,jt.c)(14),n,l,a;r[0]===e?(n=r[1],l=r[2],a=r[3]):({className:n,orientation:a,...l}=e,r[0]=e,r[1]=n,r[2]=l,r[3]=a);let s=a===void 0?"vertical":a,i=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",u;r[4]!==n||r[5]!==i||r[6]!==c?(u=oe("flex touch-none select-none transition-colors",i,c,n),r[4]=n,r[5]=i,r[6]=c,r[7]=u):u=r[7];let d;r[8]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(ft,{className:"relative flex-1 rounded-full bg-border"}),r[8]=d):d=r[8];let m;return r[9]!==s||r[10]!==l||r[11]!==t||r[12]!==u?(m=(0,o.jsx)(qe,{ref:t,orientation:s,className:u,...l,children:d}),r[9]=s,r[10]=l,r[11]=t,r[12]=u,r[13]=m):m=r[13],m});Ct.displayName=qe.displayName;var Gr=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const Jr=e=>{let t=Date.now(),r=Gr.map(a=>({...a,chats:[]})),n={label:"Older",days:1/0,chats:[]},l=a=>{switch(a){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return a>=4&&a<=7?r[4]:a>=8&&a<=30?r[5]:n}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,n].filter(a=>a.chats.length>0)},Kr=({activeChatId:e,setActiveChat:t})=>{let r=We(st),{locale:n}=Tr(),[l,a]=(0,p.useState)(""),s=(0,p.useMemo)(()=>[...r.chats.values()].toSorted((u,d)=>d.updatedAt-u.updatedAt),[r.chats]),i=(0,p.useMemo)(()=>l.trim()?s.filter(u=>u.title.toLowerCase().includes(l.toLowerCase())):s,[s,l]),c=(0,p.useMemo)(()=>Jr(i),[i]);return(0,o.jsxs)(Gt,{children:[(0,o.jsx)(Ye,{content:"Previous chats",children:(0,o.jsx)(Bt,{asChild:!0,children:(0,o.jsx)(ae,{variant:"text",size:"icon",children:(0,o.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,o.jsxs)($t,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,o.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,o.jsx)(Nr,{placeholder:"Search chat history...",value:l,onChange:u=>a(u.target.value),className:"text-xs"})}),(0,o.jsx)(St,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,o.jsx)(Xe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(lt,{})}),i.length===0&&l&&s.length>0&&(0,o.jsx)(Xe,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Cr,{})}),c.map((u,d)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:u.label}),(0,o.jsx)("div",{children:u.chats.map(m=>(0,o.jsxs)("button",{className:oe("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",m.id===e&&"bg-accent",m.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(m.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:m.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Ar(m.updatedAt,n)})]},m.id))}),d!==c.length-1&&(0,o.jsx)("hr",{})]},u.label))]})})]})]})};var se=Qe(),Nt="manual",Qr=e=>{let t=(0,se.c)(18),{onNewChat:r,activeChatId:n,setActiveChat:l}=e,{handleClick:a}=Ze(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Sr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)(Ye,{content:"New chat",children:(0,o.jsx)(ae,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ht,{}),t[3]=c):c=t[3];let u;t[4]===a?u=t[5]:(u=()=>a("ai"),t[4]=a,t[5]=u);let d;t[6]===Symbol.for("react.memo_cache_sentinel")?(d=(0,o.jsx)(Rr,{className:"h-4 w-4"}),t[6]=d):d=t[6];let m;t[7]===u?m=t[8]:(m=(0,o.jsx)(Ye,{content:"AI Settings",children:(0,o.jsx)(ae,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:u,children:d})}),t[7]=u,t[8]=m);let h;t[9]!==n||t[10]!==l?(h=(0,o.jsx)(Kr,{activeChatId:n,setActiveChat:l}),t[9]=n,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==m||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,m,h]}),t[12]=m,t[13]=h,t[14]=f):f=t[14];let v;return t[15]!==i||t[16]!==f?(v=(0,o.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[i,f]}),t[15]=i,t[16]=f,t[17]=v):v=t[17],v},Rt=(0,p.memo)(e=>{let t=(0,se.c)(15),{message:r,index:n,onEdit:l,isStreamingReasoning:a,isLast:s}=e,i;t[0]!==n||t[1]!==l?(i=j=>{var N,R,y;let T=(R=(N=j.parts)==null?void 0:N.filter(rl))==null?void 0:R.map(ll).join(`
2
2
  `),g=(y=j.parts)==null?void 0:y.filter(ol);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[g==null?void 0:g.map(al),(0,o.jsx)(nt,{value:T,placeholder:"Type your message...",onChange:nl,onSubmit:(S,C)=>{C.trim()&&l(n,C)},onClose:sl},j.id)]})},t[0]=n,t[1]=l,t[2]=i):i=t[2];let c=i,u;t[3]!==s||t[4]!==a?(u=j=>(0,o.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,o.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,o.jsx)(_r,{className:"h-3 w-3",value:j.parts.filter(il).map(cl).join(`
3
3
  `)||""})}),Lr({message:j,isStreamingReasoning:a,isLast:s})]}),t[3]=s,t[4]=a,t[5]=u):u=t[5];let d=u,m=r.role==="user"?"justify-end":"justify-start",h;t[6]===m?h=t[7]:(h=oe("flex group relative",m),t[6]=m,t[7]=h);let f;t[8]!==r||t[9]!==d||t[10]!==c?(f=r.role==="user"?c(r):d(r),t[8]=r,t[9]=d,t[10]=c,t[11]=f):f=t[11];let v;return t[12]!==h||t[13]!==f?(v=(0,o.jsx)("div",{className:h,children:f}),t[12]=h,t[13]=f,t[14]=v):v=t[14],v});Rt.displayName="ChatMessage";var At=(0,p.memo)(e=>{var D,Y;let t=(0,se.c)(39),{isEmpty:r,onSendClick:n,isLoading:l,onStop:a,fileInputRef:s,onAddFiles:i,onAddContext:c}=e,u=We(et),d=(u==null?void 0:u.mode)||Nt,m=((D=u==null?void 0:u.models)==null?void 0:D.chat_model)||"openai/gpt-4o",h=Ft.parse(m).providerId,{saveModeChange:f}=zt(),v;t[0]===Symbol.for("react.memo_cache_sentinel")?(v=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:jr},{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search",Icon:Br},{value:"agent",label:"Agent (beta)",subtitle:"Use AI with access to read and write tools",Icon:qr}],t[0]=v):v=t[0];let j=v,T=dr.has(h),g=(Y=j.find(me=>me.value===d))==null?void 0:Y.Icon,N;t[1]===g?N=t[2]:(N=g&&(0,o.jsx)(g,{className:"h-3 w-3"}),t[1]=g,t[2]=N);let R;t[3]===d?R=t[4]:(R=(0,o.jsx)("span",{className:"capitalize",children:d}),t[3]=d,t[4]=R);let y;t[5]!==N||t[6]!==R?(y=(0,o.jsxs)(tr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5",children:[N,R]}),t[5]=N,t[6]=R,t[7]=y):y=t[7];let S;t[8]===Symbol.for("react.memo_cache_sentinel")?(S=(0,o.jsx)(Jt,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),t[8]=S):S=t[8];let C;t[9]===j?C=t[10]:(C=(0,o.jsx)(Qt,{children:(0,o.jsxs)(er,{children:[S,j.map(dl)]})}),t[9]=j,t[10]=C);let E;t[11]!==d||t[12]!==f||t[13]!==y||t[14]!==C?(E=(0,o.jsxs)(rr,{value:d,onValueChange:f,children:[y,C]}),t[11]=d,t[12]=f,t[13]=y,t[14]=C,t[15]=E):E=t[15];let I;t[16]===Symbol.for("react.memo_cache_sentinel")?(I=(0,o.jsx)(Ot,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),t[16]=I):I=t[16];let w;t[17]===E?w=t[18]:(w=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[E,I]}),t[17]=E,t[18]=w);let _;t[19]!==l||t[20]!==c?(_=(0,o.jsx)(vr,{handleAddContext:c,isLoading:l}),t[19]=l,t[20]=c,t[21]=_):_=t[21];let k;t[22]!==s||t[23]!==T||t[24]!==l||t[25]!==i?(k=T&&(0,o.jsx)(ir,{fileInputRef:s,isLoading:l,onAddFiles:i}),t[22]=s,t[23]=T,t[24]=l,t[25]=i,t[26]=k):k=t[26];let F;t[27]!==r||t[28]!==l||t[29]!==n||t[30]!==a?(F=(0,o.jsx)(cr,{isLoading:l,onStop:a,onSendClick:n,isEmpty:r}),t[27]=r,t[28]=l,t[29]=n,t[30]=a,t[31]=F):F=t[31];let H;t[32]!==_||t[33]!==k||t[34]!==F?(H=(0,o.jsxs)("div",{className:"flex flex-row",children:[_,k,F]}),t[32]=_,t[33]=k,t[34]=F,t[35]=H):H=t[35];let A;return t[36]!==H||t[37]!==w?(A=(0,o.jsx)(tt,{children:(0,o.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row flex-wrap items-center justify-between gap-1",children:[w,H]})}),t[36]=H,t[37]=w,t[38]=A):A=t[38],A});At.displayName="ChatInputFooter";var Ge=(0,p.memo)(e=>{let t=(0,se.c)(29),{placeholder:r,input:n,inputClassName:l,setInput:a,onSubmit:s,inputRef:i,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m,onClose:h}=e,f;t[0]!==n||t[1]!==s?(f=()=>{n.trim()&&s(void 0,n)},t[0]=n,t[1]=s,t[2]=f):f=t[2];let v=ue(f),j;t[3]===l?j=t[4]:(j=oe("px-2 py-3 flex-1",l),t[3]=l,t[4]=j);let T=r||"Type your message...",g;t[5]!==n||t[6]!==i||t[7]!==m||t[8]!==h||t[9]!==s||t[10]!==a||t[11]!==T?(g=(0,o.jsx)(nt,{inputRef:i,value:n,onChange:a,onSubmit:s,onClose:h,onAddFiles:m,placeholder:T}),t[5]=n,t[6]=i,t[7]=m,t[8]=h,t[9]=s,t[10]=a,t[11]=T,t[12]=g):g=t[12];let N;t[13]!==j||t[14]!==g?(N=(0,o.jsx)("div",{className:j,children:g}),t[13]=j,t[14]=g,t[15]=N):N=t[15];let R=!n.trim(),y;t[16]===i?y=t[17]:(y=()=>ar(i),t[16]=i,t[17]=y);let S;t[18]!==d||t[19]!==v||t[20]!==c||t[21]!==m||t[22]!==u||t[23]!==R||t[24]!==y?(S=(0,o.jsx)(At,{isEmpty:R,onAddContext:y,onSendClick:v,isLoading:c,onStop:u,fileInputRef:d,onAddFiles:m}),t[18]=d,t[19]=v,t[20]=c,t[21]=m,t[22]=u,t[23]=R,t[24]=y,t[25]=S):S=t[25];let C;return t[26]!==N||t[27]!==S?(C=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[N,S]}),t[26]=N,t[27]=S,t[28]=C):C=t[28],C});Ge.displayName="ChatInput";var Zr=()=>{let e=(0,se.c)(6),t=We(Ut),{handleClick:r}=Ze();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)(ae,{variant:"outline",size:"sm",onClick:()=>r("ai","ai-providers"),children:"Edit AI settings"}),e[0]=r,e[1]=l);let a;e[2]===Symbol.for("react.memo_cache_sentinel")?(a=(0,o.jsx)(lt,{}),e[2]=a):a=e[2];let s;return e[3]===l?s=e[4]:(s=(0,o.jsx)(Xe,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:a}),e[3]=l,e[4]=s),s}let n;return e[5]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(el,{}),e[5]=n):n=e[5],n},el=()=>{let e=(0,se.c)(95),t=kt(st),[r,n]=It(Er),[l,a]=(0,p.useState)(""),[s,i]=(0,p.useState)(""),{files:c,addFiles:u,clearFiles:d,removeFile:m}=br(),h=(0,p.useRef)(null),f=(0,p.useRef)(null),v=(0,p.useRef)(null),j=(0,p.useRef)(null),T=(0,p.useRef)(null),g=Wt(),{invokeAiTool:N,sendRun:R}=lr(),y=r==null?void 0:r.id,S=Lt(),{addStagedCell:C}=or(),{createNewCell:E,prepareForRun:I}=Dt(),w;e[0]!==C||e[1]!==E||e[2]!==I||e[3]!==R||e[4]!==S?(w={addStagedCell:C,createNewCell:E,prepareForRun:I,sendRun:R,store:S},e[0]=C,e[1]=E,e[2]=I,e[3]=R,e[4]=S,e[5]=w):w=e[5];let _=w,k;e[6]===(r==null?void 0:r.messages)?k=e[7]:(k=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=k);let F;if(e[8]!==g||e[9]!==S){let x;e[11]===g?x=e[12]:(x=()=>g.headers(),e[11]=g,e[12]=x),F=new mr({api:g.getAiURL("chat").toString(),headers:x,prepareSendMessagesRequest:async b=>{var W;let L=await xr(b.messages),O=((W=S.get(et))==null?void 0:W.mode)||Nt,de=sr.getToolSchemas(O);return{api:g.getAiURL("chat").toString(),body:{tools:de,...b,...L}}}}),e[8]=g,e[9]=S,e[10]=F}else F=e[10];let H;e[13]===t?H=e[14]:(H=x=>{let{messages:b}=x;t(L=>$r({chatState:L,chatId:L.activeChatId,messages:b}))},e[13]=t,e[14]=H);let{messages:A,sendMessage:D,error:Y,status:me,regenerate:Pe,stop:X,addToolOutput:_t,id:De}=hr({id:y,sendAutomaticallyWhen:ul,messages:k,transport:F,onFinish:H,onToolCall:async x=>{let{toolCall:b}=x;if(b.dynamic){_e.debug("Skipping dynamic tool call",b);return}await ur({invokeAiTool:N,addToolOutput:Tt,toolCall:{toolName:b.toolName,toolCallId:b.toolCallId,input:b.input},toolContext:_})},onError:pl}),Tt=_t,P=me==="submitted"||me==="streaming",he;e[15]!==P||e[16]!==A?(he=P&&A.length>0&&wr(A),e[15]=P,e[16]=A,e[17]=he):he=e[17];let ie=he,fe;e[18]===Symbol.for("react.memo_cache_sentinel")?(fe=()=>{requestAnimationFrame(()=>{if(v.current){let x=v.current;x.scrollTop=x.scrollHeight}})},e[18]=fe):fe=e[18];let xe;e[19]===y?xe=e[20]:(xe=[y],e[19]=y,e[20]=xe),(0,p.useEffect)(fe,xe);let ve;e[21]!==De||e[22]!==d||e[23]!==D||e[24]!==t?(ve=async(x,b)=>{let L=Date.now(),O={id:De,title:pr(x),messages:[],createdAt:L,updatedAt:L};t(W=>{let Je=new Map(W.chats);return Je.set(O.id,O),{...W,chats:Je,activeChatId:O.id}});let de=b&&b.length>0?await at(b):void 0;D({role:"user",parts:[{type:"text",text:x},...de??[]]}),d(),a("")},e[21]=De,e[22]=d,e[23]=D,e[24]=t,e[25]=ve):ve=e[25];let Me=ve,ge;e[26]!==d||e[27]!==n?(ge=()=>{n(null),a(""),i(""),d()},e[26]=d,e[27]=n,e[28]=ge):ge=e[28];let ze=ue(ge),we;e[29]!==A||e[30]!==D?(we=(x,b)=>{var W;let L=A[x],O=(W=L.parts)==null?void 0:W.filter(ml),de=L.id;D({messageId:de,role:"user",parts:[{type:"text",text:b},...O]})},e[29]=A,e[30]=D,e[31]=we):we=e[31];let ce=ue(we),be;e[32]!==d||e[33]!==c||e[34]!==D?(be=async(x,b)=>{var O;if(!b.trim())return;(O=f.current)!=null&&O.view&&ot(f.current.view);let L=c?await at(c):void 0;x==null||x.preventDefault(),D({text:b,files:L}),a(""),d()},e[32]=d,e[33]=c,e[34]=D,e[35]=be):be=e[35];let Fe=ue(be),ye;e[36]===Pe?ye=e[37]:(ye=()=>{Pe()},e[36]=Pe,e[37]=ye);let He=ye,je;e[38]!==Me||e[39]!==c||e[40]!==s?(je=()=>{var x;s.trim()&&((x=h.current)!=null&&x.view&&ot(h.current.view),Me(s.trim(),c))},e[38]=Me,e[39]=c,e[40]=s,e[41]=je):je=e[41];let Oe=ue(je),Se;e[42]===Symbol.for("react.memo_cache_sentinel")?(Se=()=>{var x,b;return(b=(x=h.current)==null?void 0:x.editor)==null?void 0:b.blur()},e[42]=Se):Se=e[42];let Et=Se,M=A.length===0,Ce;e[43]!==u||e[44]!==Fe||e[45]!==Oe||e[46]!==l||e[47]!==P||e[48]!==M||e[49]!==s||e[50]!==X?(Ce=M?(0,o.jsx)(Ge,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:s,inputRef:h,inputClassName:"px-1 py-0",setInput:i,onSubmit:Oe,isLoading:P,onStop:X,fileInputRef:j,onAddFiles:u,onClose:Et},"new-thread-input"):(0,o.jsx)(Ge,{input:l,setInput:a,onSubmit:Fe,inputRef:f,isLoading:P,onStop:X,onClose:()=>{var x,b;return(b=(x=f.current)==null?void 0:x.editor)==null?void 0:b.blur()},fileInputRef:j,onAddFiles:u}),e[43]=u,e[44]=Fe,e[45]=Oe,e[46]=l,e[47]=P,e[48]=M,e[49]=s,e[50]=X,e[51]=Ce):Ce=e[51];let B=Ce,Ne;e[52]!==c||e[53]!==M||e[54]!==m?(Ne=c&&c.length>0&&(0,o.jsx)("div",{className:oe("flex flex-row gap-1 flex-wrap p-1",M&&"py-2 px-1"),children:c==null?void 0:c.map(x=>(0,o.jsx)(gr,{file:x,onRemove:()=>m(x)},x.name))}),e[52]=c,e[53]=M,e[54]=m,e[55]=Ne):Ne=e[55];let $=Ne,Ue=r==null?void 0:r.id,G;e[56]!==ze||e[57]!==n||e[58]!==Ue?(G=(0,o.jsx)(tt,{children:(0,o.jsx)(Qr,{onNewChat:ze,activeChatId:Ue,setActiveChat:n})}),e[56]=ze,e[57]=n,e[58]=Ue,e[59]=G):G=e[59];let J;e[60]!==B||e[61]!==$||e[62]!==M?(J=M&&(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[$,B]}),e[60]=B,e[61]=$,e[62]=M,e[63]=J):J=e[63];let K;if(e[64]!==ce||e[65]!==ie||e[66]!==A){let x;e[68]!==ce||e[69]!==ie||e[70]!==A.length?(x=(b,L)=>(0,o.jsx)(Rt,{message:b,index:L,onEdit:ce,isStreamingReasoning:ie,isLast:L===A.length-1},b.id),e[68]=ce,e[69]=ie,e[70]=A.length,e[71]=x):x=e[71],K=A.map(x),e[64]=ce,e[65]=ie,e[66]=A,e[67]=K}else K=e[67];let Q;e[72]===P?Q=e[73]:(Q=P&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(yr,{className:"h-4 w-4 animate-spin"})}),e[72]=P,e[73]=Q);let Z;e[74]!==Y||e[75]!==He?(Z=Y&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(kr,{error:Y||Error("Unknown error")}),(0,o.jsx)(ae,{variant:"outline",size:"sm",onClick:He,children:"Retry"})]}),e[74]=Y,e[75]=He,e[76]=Z):Z=e[76];let Re;e[77]===Symbol.for("react.memo_cache_sentinel")?(Re=(0,o.jsx)("div",{ref:T}),e[77]=Re):Re=e[77];let ee;e[78]!==J||e[79]!==K||e[80]!==Q||e[81]!==Z?(ee=(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:v,children:[J,K,Q,Z,Re]}),e[78]=J,e[79]=K,e[80]=Q,e[81]=Z,e[82]=ee):ee=e[82];let te;e[83]!==P||e[84]!==X?(te=P&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)(ae,{variant:"linkDestructive",size:"sm",onClick:X,children:"Stop"})}),e[83]=P,e[84]=X,e[85]=te):te=e[85];let re;e[86]!==B||e[87]!==$||e[88]!==M?(re=!M&&(0,o.jsxs)(o.Fragment,{children:[$,B]}),e[86]=B,e[87]=$,e[88]=M,e[89]=re):re=e[89];let Ae;return e[90]!==G||e[91]!==ee||e[92]!==te||e[93]!==re?(Ae=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[G,ee,te,re]}),e[90]=G,e[91]=ee,e[92]=te,e[93]=re,e[94]=Ae):Ae=e[94],Ae},tl=Zr;function rl(e){return e.type==="text"}function ll(e){return e.text}function ol(e){return e.type==="file"}function al(e,t){return(0,o.jsx)(fr,{attachment:e},t)}function nl(){}function sl(){}function il(e){return e.type==="text"}function cl(e){return e.text}function dl(e){return(0,o.jsx)(Kt,{value:e.value,className:"text-xs py-1",children:(0,o.jsxs)("div",{className:"flex items-start gap-2.5",children:[(0,o.jsx)("span",{className:"mt-1 text-muted-foreground",children:(0,o.jsx)(e.Icon,{className:"h-3 w-3"})}),(0,o.jsxs)("div",{className:"flex flex-col gap-0.5",children:[(0,o.jsx)("span",{className:"font-semibold",children:e.label}),(0,o.jsx)("span",{className:"text-muted-foreground",children:e.subtitle})]})]})},e.value)}function ul(e){let{messages:t}=e;return nr(t)}function pl(e){_e.error("An error occurred:",e)}function ml(e){return e.type==="file"}export{tl as default};
@@ -1,4 +1,4 @@
1
- import{s as Z}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as re}from"./react-Bj1aDYRI.js";import{cn as ae}from"./cells-BPSZbR83.js";import"./react-dom-CSu739Rf.js";import{C as ne,P as le,R as oe,T as ie,k as me}from"./zod-H_cgTO0M.js";import{t as ce}from"./compiler-runtime-B3qBwwSJ.js";import{_ as K,d as de,t as pe}from"./useEventListener-BR0C1MaI.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as ue}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{i as he,l as xe,r as G,t as U}from"./popover-UExmgBsf.js";import{a as fe,p as ge,r as be,t as je}from"./dropdown-menu-D1A3cFC8.js";import{t as W}from"./label-DTR8T0AE.js";import{t as Y}from"./tooltip-Gcwqb_SK.js";import{t as z}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as ve}from"./strings-md4mFbOQ.js";import{t as ye}from"./createLucideIcon-D5guW7EU.js";import{t as Ne}from"./bot-message-square-DrbHk31W.js";import{t as we}from"./x-C-6liIBr.js";import"./markdown-renderer-BySoarzx.js";import{u as _e}from"./toDate-B5A0DFEz.js";import{M as ke,N as Ce,P as Se,j as Ae,k as Me,m as Re,n as ze}from"./add-cell-with-ai-D2XLAeU2.js";import{t as Ee}from"./spinner-Bhir8k53.js";import{o as Ie,r as qe}from"./input-BX98vgAu.js";import{t as Fe}from"./settings-DfFe0dWD.js";import{t as $e}from"./trash-2-CKlZA04n.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{t as De}from"./copy-icon-BYNydU7b.js";import{r as Te}from"./react-icons.esm-D9xfKaPZ.js";import{t as He}from"./events-BRAWQiYK.js";import{n as Le}from"./error-banner-C6aBa98y.js";import{n as Oe}from"./useAsyncData-BFC6lWG9.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BFtSv8Pw.js";import"./esm-BmrwxxCo.js";import{t as Pe}from"./chat-display-Dgi46qOZ.js";var Ve=ye("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),J=ce(),t=Z(ue(),1),b=Z(re(),1),Ke=xe,Ye=le({type:me("stream_chunk"),message_id:oe(),content:ne().nullable().transform(s=>s),is_final:ie().optional()});const Je=s=>{var X;let[e,m]=(0,b.useState)(""),[x,N]=(0,b.useState)(s.config),[_,c]=(0,b.useState)(s.config),[o,f]=(0,b.useState)(void 0),h=(0,b.useRef)(null),g=(0,b.useRef)(null),j=(0,b.useRef)(null),i=(0,b.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==_[r])&&(N(s.config),c(s.config));let l=(0,b.useRef)(x);l.current=x;let p=(0,b.useRef)({backendMessageId:null,frontendMessageIndex:null}),a=(0,b.useRef)(null),{data:d}=Oe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:d,{messages:u,sendMessage:k,setMessages:R,status:A,stop:$,error:C,regenerate:M,clearError:S}=Me({transport:new Ae({fetch:async(r,v)=>{var D;if(v===void 0)return fetch(r);let y=JSON.parse(v.body),w=v.signal,O={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let H=y.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(P=>"text"in P?P.text:"").join(`
1
+ import{s as Z}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as re}from"./react-Bj1aDYRI.js";import{cn as ae}from"./cells-Wp62mkuO.js";import"./react-dom-CSu739Rf.js";import{C as ne,P as le,R as oe,T as ie,k as me}from"./zod-H_cgTO0M.js";import{t as ce}from"./compiler-runtime-B3qBwwSJ.js";import{_ as K,d as de,t as pe}from"./useEventListener-BR0C1MaI.js";import{t as B}from"./cn-DCUzRj2J.js";import{t as ue}from"./jsx-runtime-BqBOg78p.js";import"./fullscreen-BDxedMYP.js";import{i as he,l as xe,r as G,t as U}from"./popover-UExmgBsf.js";import{a as fe,p as ge,r as be,t as je}from"./dropdown-menu-D1A3cFC8.js";import{t as W}from"./label-DTR8T0AE.js";import{t as Y}from"./tooltip-Gcwqb_SK.js";import{t as z}from"./button-D9nb17Rw.js";import"./dist-BrR4M-k3.js";import"./cjs-BRGiG41H.js";import"./main-B0OX4z33.js";import"./useNonce-DfoVjkkH.js";import{t as ve}from"./strings-md4mFbOQ.js";import{t as ye}from"./createLucideIcon-D5guW7EU.js";import{t as Ne}from"./bot-message-square-DrbHk31W.js";import{t as we}from"./x-C-6liIBr.js";import"./markdown-renderer-DjjwLrVA.js";import{u as _e}from"./toDate-B5A0DFEz.js";import{M as ke,N as Ce,P as Se,j as Ae,k as Me,m as Re,n as ze}from"./add-cell-with-ai-DMh3huz_.js";import{t as Ee}from"./spinner-Bhir8k53.js";import{o as Ie,r as qe}from"./input-BX98vgAu.js";import{t as Fe}from"./settings-DfFe0dWD.js";import{t as $e}from"./trash-2-CKlZA04n.js";import"./dist-DQOq2Tf-.js";import"./dist-DBiqbYe-.js";import"./dist-VjDnmGCZ.js";import"./dist-E6ttb8td.js";import"./dist-B324sPca.js";import"./session-VtovaFBS.js";import"./purify.es-DBmVz-Wl.js";import{t as De}from"./copy-icon-BYNydU7b.js";import{r as Te}from"./react-icons.esm-D9xfKaPZ.js";import{t as He}from"./events-BRAWQiYK.js";import{n as Le}from"./error-banner-C6aBa98y.js";import{n as Oe}from"./useAsyncData-BFC6lWG9.js";import"./chunk-5FQGJX7Z-e_arGD4o.js";import"./html-to-image-BZTmy2-K.js";import"./esm-BmrwxxCo.js";import{t as Pe}from"./chat-display-DdLRA8c9.js";var Ve=ye("rotate-cw",[["path",{d:"M21 12a9 9 0 1 1-9-9c2.52 0 4.93 1 6.74 2.74L21 8",key:"1p45f6"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}]]),J=ce(),t=Z(ue(),1),b=Z(re(),1),Ke=xe,Ye=le({type:me("stream_chunk"),message_id:oe(),content:ne().nullable().transform(s=>s),is_final:ie().optional()});const Je=s=>{var X;let[e,m]=(0,b.useState)(""),[x,N]=(0,b.useState)(s.config),[_,c]=(0,b.useState)(s.config),[o,f]=(0,b.useState)(void 0),h=(0,b.useRef)(null),g=(0,b.useRef)(null),j=(0,b.useRef)(null),i=(0,b.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==_[r])&&(N(s.config),c(s.config));let l=(0,b.useRef)(x);l.current=x;let p=(0,b.useRef)({backendMessageId:null,frontendMessageIndex:null}),a=(0,b.useRef)(null),{data:d}=Oe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:d,{messages:u,sendMessage:k,setMessages:R,status:A,stop:$,error:C,regenerate:M,clearError:S}=Me({transport:new Ae({fetch:async(r,v)=>{var D;if(v===void 0)return fetch(r);let y=JSON.parse(v.body),w=v.signal,O={max_tokens:l.current.max_tokens,temperature:l.current.temperature,top_p:l.current.top_p,top_k:l.current.top_k,frequency_penalty:l.current.frequency_penalty,presence_penalty:l.current.presence_penalty};try{let H=y.messages.map(F=>{var E;return{...F,content:(E=F.parts)==null?void 0:E.map(P=>"text"in P?P.text:"").join(`
2
2
  `)}}),V=new ReadableStream({start(F){a.current=F;let E=()=>{try{F.close()}catch(P){K.debug("Controller may already be closed",{error:P})}a.current=null};return w==null||w.addEventListener("abort",E),()=>{w==null||w.removeEventListener("abort",E)}},cancel(){a.current=null}});return s.send_prompt({messages:H,config:O}).catch(F=>{var E;(E=a.current)==null||E.error(F),a.current=null}),ke({stream:V})}catch(H){if(p.current={backendMessageId:null,frontendMessageIndex:null},H instanceof Error&&H.name==="AbortError")return new Response("Aborted",{status:499});let V=(D=H.message)==null?void 0:D.split("failed with exception ").pop();return new Response(V,{status:400})}}}),messages:n,onFinish:r=>{f(void 0),h.current&&(h.current.value=""),K.debug("Finished streaming message:",r),p.current={backendMessageId:null,frontendMessageIndex:null},s.setValue(r.messages)},onError:r=>{K.error("An error occurred:",r),p.current={backendMessageId:null,frontendMessageIndex:null}}});pe(s.host,He.TYPE,r=>{let v=Ye.safeParse(r.detail.message);if(!v.success)return;let y=v.data,w=a.current;w&&(y.content&&w.enqueue(y.content),y.is_final&&(w.close(),a.current=null))});let I=A==="submitted"||A==="streaming",T=r=>{let v=u.findIndex(y=>y.id===r);if(v!==-1){let y=u.filter(w=>w.id!==r);s.delete_chat_message({index:v}),R(y),s.setValue(y)}},Q=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,ee={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},te=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,b.useEffect)(()=>{var r;(r=i.current)==null||r.scrollTo({top:i.current.scrollHeight,behavior:"smooth"})},[u.length,i]);let q=(X=j.current)==null?void 0:X.view,se=()=>{if(q){let r=q.state.doc.length;q.dispatch({changes:{from:0,to:r,insert:""}})}m("")};return(0,t.jsxs)("div",{className:"flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative",style:{maxHeight:s.maxHeight},children:[(0,t.jsx)("div",{className:"absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg",children:(0,t.jsx)(z,{variant:"text",size:"icon",disabled:u.length===0,onClick:()=>{R([]),s.setValue([]),s.delete_chat_history({}),S()},children:(0,t.jsx)(Ve,{className:"h-3 w-3"})})}),(0,t.jsxs)("div",{className:"grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col",ref:i,children:[u.length===0&&(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4",children:[(0,t.jsx)(Ne,{className:"h-12 w-12 mb-4"}),(0,t.jsx)("h3",{className:"text-lg font-semibold mb-2",children:"No messages yet"}),(0,t.jsx)("p",{className:"text-sm",children:"Start a conversation by typing a message below."})]}),u.map((r,v)=>{var O;let y=(O=r.parts)==null?void 0:O.filter(D=>D.type==="text").map(D=>D.text).join(`
3
3
  `),w=v===u.length-1;return(0,t.jsxs)("div",{className:B("flex flex-col group gap-2",r.role==="user"?"items-end":"items-start"),children:[(0,t.jsx)("div",{className:`max-w-[80%] p-3 rounded-lg ${r.role==="user"?"bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap":"bg-(--slate-4) text-(--slate-12)"}`,children:Pe({message:r,isStreamingReasoning:A==="streaming",isLast:w})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(De,{value:y,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>T(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)($e,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${v}`)}),I&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Ee,{size:"small"}),(0,t.jsx)(z,{variant:"link",size:"sm",onClick:()=>$(),className:"text-(--red-9) hover:text-(--red-11)",children:"Stop"})]}),C&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(Le,{error:C}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>M(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let v=o?await Re(o):void 0;k({role:"user",parts:[{type:"text",text:e},...v??[]]}),se()},ref:g,inert:s.disabled||void 0,className:B("flex w-full border-t border-(--slate-6) px-2 py-1 items-center",s.disabled&&"opacity-50 cursor-not-allowed"),children:[s.showConfigurationControls&&(0,t.jsx)(Xe,{config:x,onChange:N}),s.prompts.length>0&&(0,t.jsx)(Ze,{prompts:s.prompts,onSelect:r=>{m(r),requestAnimationFrame(()=>{q==null||q.focus(),ae(q)})}}),(0,t.jsx)(ze,{className:"rounded-sm mr-2",placeholder:te,value:e,inputRef:j,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:m,onSubmit:(r,v)=>{var y;v.trim()&&((y=g.current)==null||y.requestSubmit())},onClose:()=>{},additionalCompletions:ee}),o&&o.length===1&&(0,t.jsx)("span",{title:o[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:o[0].name}),o&&o.length>1&&(0,t.jsxs)("span",{title:[...o].map(r=>r.name).join(`
4
4
  `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[o.length," files"]}),o&&o.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{f(void 0),h.current&&(h.current.value="")},children:(0,t.jsx)(we,{className:"size-3"})}),Q&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=h.current)==null?void 0:r.click()},children:(0,t.jsx)(Se,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:h,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&f([...r.target.files])}})]}),(0,t.jsx)(z,{type:"submit",disabled:I||!e,variant:"outline",size:"xs",className:"text-(--slate-11)",children:(0,t.jsx)(Ce,{className:"h-4 w-4"})})]})]})};var L={max_tokens:{min:1,max:4096,description:"Maximum number of tokens to generate"},temperature:{min:0,max:2,step:.1,description:"Controls randomness (0: deterministic, 2: very random)"},top_p:{min:0,max:1,step:.1,description:"Nucleus sampling: probability mass to consider"},top_k:{min:1,max:100,description:"Top-k sampling: number of highest probability tokens to consider"},frequency_penalty:{min:-2,max:2,description:"Penalizes frequent tokens (-2: favor, 2: avoid)"},presence_penalty:{min:-2,max:2,description:"Penalizes new tokens (-2: favor, 2: avoid)"}},Xe=s=>{let e=(0,J.c)(16),{config:m,onChange:x}=s,[N,_]=(0,b.useState)(!1),c;e[0]!==m||e[1]!==x?(c=(a,d)=>{let n=d===null||Number.isNaN(d)?null:d;if(n!==null){let{min:u,max:k}=L[a];n=Math.max(u,Math.min(k,n))}x({...m,[a]:n})},e[0]=m,e[1]=x,e[2]=c):c=e[2];let o=c,f;e[3]===Symbol.for("react.memo_cache_sentinel")?(f=a=>{a.key==="Enter"&&(a.preventDefault(),_(!1))},e[3]=f):f=e[3];let h=f,g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(Y,{content:"Configuration",children:(0,t.jsx)(he,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Fe,{className:"h-3 w-3"})})})}),e[4]=g):g=e[4];let j;e[5]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=j):j=e[5];let i;if(e[6]!==m||e[7]!==o){let a;e[9]===o?a=e[10]:(a=d=>{let[n,u]=d;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(W,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[ve.startCase(n),(0,t.jsx)(Y,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:L[n].description}),children:(0,t.jsx)(_e,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)(Ie,{id:n,"aria-label":n,value:u??NaN,placeholder:"null",minValue:L[n].min,maxValue:L[n].max,step:L[n].step??1,onChange:k=>o(n,k),onKeyDown:h,className:"col-span-3"})]},n)},e[9]=o,e[10]=a),i=de.entries(m).map(a),e[6]=m,e[7]=o,e[8]=i}else i=e[8];let l;e[11]===i?l=e[12]:(l=(0,t.jsx)(G,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[j,i]})}),e[11]=i,e[12]=l);let p;return e[13]!==N||e[14]!==l?(p=(0,t.jsxs)(U,{open:N,onOpenChange:_,children:[g,l]}),e[13]=N,e[14]=l,e[15]=p):p=e[15],p},Ze=s=>{let e=(0,J.c)(18),{prompts:m,onSelect:x}=s,[N,_]=(0,b.useState)(!1),[c,o]=(0,b.useState)(""),f;e[0]===x?f=e[1]:(f=d=>{[...d.matchAll(/{{(\w+)}}/g)].length>0?(o(d),_(!0)):x(d)},e[0]=x,e[1]=f);let h=f,g;e[2]===Symbol.for("react.memo_cache_sentinel")?(g=(0,t.jsx)(Y,{content:"Select a prompt",children:(0,t.jsx)(ge,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Te,{className:"h-3 w-3"})})})}),e[2]=g):g=e[2];let j;if(e[3]!==h||e[4]!==m){let d;e[6]===h?d=e[7]:(d=(n,u)=>(0,t.jsx)(fe,{onSelect:()=>h(n),className:"whitespace-normal text-left",children:n},u),e[6]=h,e[7]=d),j=m.map(d),e[3]=h,e[4]=m,e[5]=j}else j=e[5];let i;e[8]===j?i=e[9]:(i=(0,t.jsx)(Ke,{children:(0,t.jsxs)(je,{children:[g,(0,t.jsx)(be,{side:"right",align:"end",onCloseAutoFocus:Ge,className:"w-64 max-h-96 overflow-y-auto",children:j})]})}),e[8]=j,e[9]=i);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>_(!1),e[10]=l):l=e[10];let p;e[11]!==x||e[12]!==c?(p=(0,t.jsx)(G,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(Be,{prompt:c,onClose:l,onSelect:x})}),e[11]=x,e[12]=c,e[13]=p):p=e[13];let a;return e[14]!==N||e[15]!==i||e[16]!==p?(a=(0,t.jsxs)(U,{open:N,onOpenChange:_,children:[i,p]}),e[14]=N,e[15]=i,e[16]=p,e[17]=a):a=e[17],a},Be=s=>{let e=(0,J.c)(32),{prompt:m,onClose:x,onSelect:N}=s,_;e[0]===Symbol.for("react.memo_cache_sentinel")?(_={},e[0]=_):_=e[0];let[c,o]=(0,b.useState)(_),f,h;e[1]===m?(f=e[2],h=e[3]):(f=()=>{o([...m.matchAll(/{{(\w+)}}/g)].reduce(Ue,{}))},h=[m],e[1]=m,e[2]=f,e[3]=h),(0,b.useEffect)(f,h);let g;e[4]===Symbol.for("react.memo_cache_sentinel")?(g=(C,M)=>{o(S=>({...S,[C]:M}))},e[4]=g):g=e[4];let j=g,i;if(e[5]!==m||e[6]!==c){let C;e[8]===Symbol.for("react.memo_cache_sentinel")?(C=/{{(\w+)}}/g,e[8]=C):C=e[8];let M;e[9]===c?M=e[10]:(M=(S,I)=>c[I]||`{{${I}}}`,e[9]=c,e[10]=M),i=m.replaceAll(C,M),e[5]=m,e[6]=c,e[7]=i}else i=e[7];let l=i,p;e[11]===c?p=e[12]:(p=Object.values(c).some(We),e[11]=c,e[12]=p);let a=p,d;e[13]!==x||e[14]!==N||e[15]!==l?(d=()=>{N(l),x()},e[13]=x,e[14]=N,e[15]=l,e[16]=d):d=e[16];let n=d,u;e[17]===c?u=e[18]:(u=Object.entries(c),e[17]=c,e[18]=u);let k;e[19]!==n||e[20]!==a||e[21]!==u?(k=u.map((C,M)=>{let[S,I]=C;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(W,{htmlFor:S,className:"font-semibold text-base",children:S}),(0,t.jsx)(qe,{id:S,value:I,onChange:T=>j(S,T.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${S}`,autoFocus:M===0,onKeyDown:T=>{T.key==="Enter"&&!a&&n()}})]},S)}),e[19]=n,e[20]=a,e[21]=u,e[22]=k):k=e[22];let R;e[23]===l?R=e[24]:(R=(0,t.jsx)("div",{className:"grid gap-2 prose dark:prose-invert",children:(0,t.jsx)("blockquote",{className:"text-sm",children:l})}),e[23]=l,e[24]=R);let A;e[25]!==n||e[26]!==a?(A=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=A):A=e[27];let $;return e[28]!==R||e[29]!==A||e[30]!==k?($=(0,t.jsxs)("div",{className:"grid gap-4",children:[k,R,A]}),e[28]=R,e[29]=A,e[30]=k,e[31]=$):$=e[31],$};function Ge(s){return s.preventDefault()}function Ue(s,e){return s[e[1]]="",s}function We(s){return s==null||s.trim()===""}export{Je as Chatbot};