@marimo-team/frontend 0.23.11-dev27 → 0.23.11-dev28

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 (115) hide show
  1. package/dist/assets/{CellStatus-C52PsPYN.js → CellStatus-DG0T7bhO.js} +1 -1
  2. package/dist/assets/{ImperativeModal-CEtvKaPt.js → ImperativeModal-Da0ki2vE.js} +1 -1
  3. package/dist/assets/{JsonOutput-e5KwGs-t.js → JsonOutput-DlWKYXMe.js} +1 -1
  4. package/dist/assets/{LazyAnyLanguageCodeMirror-Cjh82vPC.js → LazyAnyLanguageCodeMirror-BzyBEXmN.js} +2 -2
  5. package/dist/assets/{MarimoErrorOutput-tWmQZh0O.js → MarimoErrorOutput-s6Xzn9tI.js} +1 -1
  6. package/dist/assets/{RSPContexts-DGcE_dt-.js → RSPContexts-CXtxUQv0.js} +1 -1
  7. package/dist/assets/{RenderHTML-CdzAncjW.js → RenderHTML-CpnOdUFq.js} +1 -1
  8. package/dist/assets/{RunButton-D1RSmpE5.js → RunButton-CzYEYNMZ.js} +1 -1
  9. package/dist/assets/{add-cell-with-ai-r88BQwnl.js → add-cell-with-ai-DDmDEBpR.js} +1 -1
  10. package/dist/assets/{add-connection-dialog-BqArtkaF.js → add-connection-dialog-JJXymrap.js} +1 -1
  11. package/dist/assets/{agent-panel-BFnSCM0u.js → agent-panel-EqJ4dU-o.js} +1 -1
  12. package/dist/assets/{ai-model-dropdown-CKfMxi81.js → ai-model-dropdown-B85JK7Bd.js} +1 -1
  13. package/dist/assets/{any-language-editor-BR8fqP2S.js → any-language-editor-wjCa9vg4.js} +1 -1
  14. package/dist/assets/{app-config-button-DgAKqCJQ.js → app-config-button-DiMYoaj_.js} +1 -1
  15. package/dist/assets/{cache-panel-BojhFrT4.js → cache-panel-DBDBad7n.js} +1 -1
  16. package/dist/assets/{cell-editor-vk3YgY2w.js → cell-editor-CWqkcdu3.js} +1 -1
  17. package/dist/assets/{cell-link-BBWAKZ--.js → cell-link-pz786Lch.js} +1 -1
  18. package/dist/assets/{cells-D3EcEVTz.js → cells-B7nz4LNo.js} +1 -1
  19. package/dist/assets/chat-display-DvmXfrjc.js +1 -0
  20. package/dist/assets/chat-panel-BKRoCuOx.js +3 -0
  21. package/dist/assets/{chat-ui-LkKFatRU.js → chat-ui-Cn47YAI0.js} +4 -4
  22. package/dist/assets/{column-preview-93mkKGs1.js → column-preview-DojzlcWG.js} +1 -1
  23. package/dist/assets/{command-Dzjey1r-.js → command-hJoUrc2W.js} +1 -1
  24. package/dist/assets/{command-palette-BIVH2C6k.js → command-palette-aogPQAVJ.js} +1 -1
  25. package/dist/assets/{common-Dc5W1wzl.js → common-snHJqSm6.js} +1 -1
  26. package/dist/assets/{components-CdfRUEBW.js → components-DkwTLclO.js} +1 -1
  27. package/dist/assets/{copy-icon-C8Cq0-V0.js → copy-icon-BFMtxrRP.js} +1 -1
  28. package/dist/assets/{datasource-BtJgopUR.js → datasource-D1L4FCps.js} +1 -1
  29. package/dist/assets/{dependency-graph-panel-TQ0py-Kw.js → dependency-graph-panel-BU50Zzq7.js} +1 -1
  30. package/dist/assets/{documentation-panel-LHZLKLAd.js → documentation-panel-BoOEY1b9.js} +1 -1
  31. package/dist/assets/{download-CYrhtDVp.js → download-D4lN2MwZ.js} +1 -1
  32. package/dist/assets/{edit-page-CdXZP-AI.js → edit-page--VXTezSw.js} +4 -4
  33. package/dist/assets/{error-panel-CxcsWY8O.js → error-panel-CAP9Dd3X.js} +1 -1
  34. package/dist/assets/{field-DIHN6mSK.js → field-CDo_rvhD.js} +1 -1
  35. package/dist/assets/{file-explorer-panel-Ix3_ncoS.js → file-explorer-panel-CRHak8Uc.js} +1 -1
  36. package/dist/assets/{file-icons-CM-BO4Tc.js → file-icons-BAedxhF8.js} +1 -1
  37. package/dist/assets/{file-name-input-JcnL59-O.js → file-name-input-C4QhsTrc.js} +1 -1
  38. package/dist/assets/{floating-outline-DRRP5I8p.js → floating-outline-CbZinm9T.js} +1 -1
  39. package/dist/assets/{focus-EuWjxeHB.js → focus-BZmaIt_1.js} +1 -1
  40. package/dist/assets/{form-BAAziqSH.js → form-BDERMNxH.js} +1 -1
  41. package/dist/assets/{gallery-page-BhgvTlLQ.js → gallery-page-CTs73lBw.js} +1 -1
  42. package/dist/assets/{glide-data-editor-CfPYm5Mc.js → glide-data-editor-DYfHd9aY.js} +1 -1
  43. package/dist/assets/{home-page-CV0Wger5.js → home-page-C6oKXYUU.js} +1 -1
  44. package/dist/assets/{hooks-CA6IH5Ny.js → hooks-Cbnt6qlO.js} +1 -1
  45. package/dist/assets/{html-to-image-BMbVLGQG.js → html-to-image-C4EfBRTz.js} +1 -1
  46. package/dist/assets/{index-DUE0RSxW.js → index-B0jzDeio.js} +3 -3
  47. package/dist/assets/{kiosk-mode-CHJ9OWcf.js → kiosk-mode-Ccj0LcCU.js} +1 -1
  48. package/dist/assets/{layout-Cpt95A_u.js → layout-Di7Q7AGl.js} +3 -3
  49. package/dist/assets/{logs-panel-DqMjHSxY.js → logs-panel-CHHx-jst.js} +1 -1
  50. package/dist/assets/{markdown-renderer-Ctc_BAzL.js → markdown-renderer-qOz3nDtd.js} +1 -1
  51. package/dist/assets/{name-cell-input-BUA6sZsk.js → name-cell-input-CQjKlesS.js} +1 -1
  52. package/dist/assets/{outline-panel-BTxBvW3K.js → outline-panel-CXXWnE52.js} +1 -1
  53. package/dist/assets/{packages-panel-CH6Jiyqt.js → packages-panel-BCgvituR.js} +1 -1
  54. package/dist/assets/{pair-with-agent-modal-CuwM9PX2.js → pair-with-agent-modal-BqOdnjR7.js} +1 -1
  55. package/dist/assets/{panels-C8IhLmTn.js → panels-BRu9rFtP.js} +1 -1
  56. package/dist/assets/{process-output-BD4gjuXh.js → process-output-VB_qPayj.js} +1 -1
  57. package/dist/assets/{radio-group-D-Tbwbga.js → radio-group-mrUpeS-s.js} +1 -1
  58. package/dist/assets/{readonly-python-code-CD37Ktr_.js → readonly-python-code-BcwZXLSu.js} +1 -1
  59. package/dist/assets/{request-registry-D6yN7WH-.js → request-registry-unC7eRnq.js} +1 -1
  60. package/dist/assets/{reveal-component-BaXkFbob.js → reveal-component-CCRpEni9.js} +1 -1
  61. package/dist/assets/{run-page-N0uXBlRc.js → run-page-CBEWg7PP.js} +1 -1
  62. package/dist/assets/{scratchpad-panel-B5qpYDCP.js → scratchpad-panel-DsnwQ3Z_.js} +1 -1
  63. package/dist/assets/{secrets-panel-DW36Nxci.js → secrets-panel-89_YFhgS.js} +1 -1
  64. package/dist/assets/{session-panel-BQbOiXTu.js → session-panel-t9agY1hh.js} +1 -1
  65. package/dist/assets/{snippets-panel-ngIQdZN-.js → snippets-panel-BdQrDQG8.js} +1 -1
  66. package/dist/assets/{state-a26U8Amw.js → state-B37Pwlpy.js} +1 -1
  67. package/dist/assets/{state-XBSJaDlj.js → state-CKbrzJT-.js} +1 -1
  68. package/dist/assets/{state-lfBdh7UT.js → state-ClRPM6Rk.js} +1 -1
  69. package/dist/assets/{terminal-zt3j3xY6.js → terminal-DlRITrt2.js} +1 -1
  70. package/dist/assets/{textarea-CIkM9ejr.js → textarea-BWLmfOrN.js} +1 -1
  71. package/dist/assets/{tracing-CvzDXfBi.js → tracing-BaCufmIv.js} +1 -1
  72. package/dist/assets/{tracing-panel-BSIiB4nQ.js → tracing-panel-DeB3GQ77.js} +2 -2
  73. package/dist/assets/{tree-actions-DOImIbet.js → tree-actions-fO1R5Ud_.js} +1 -1
  74. package/dist/assets/{useCellActionButton-D_GS6qfF.js → useCellActionButton-DfYBCG8b.js} +1 -1
  75. package/dist/assets/{useDeleteCell-R0cnbneF.js → useDeleteCell-BL1sT2ei.js} +1 -1
  76. package/dist/assets/{useDependencyPanelTab-1hFXraYl.js → useDependencyPanelTab-BpMHNBAO.js} +1 -1
  77. package/dist/assets/{useNotebookActions-CIfVqZq5.js → useNotebookActions-BX_dD3ya.js} +1 -1
  78. package/dist/assets/{useRunCells-DnS-CoD3.js → useRunCells-D-GyPuRn.js} +1 -1
  79. package/dist/assets/{useSplitCell-BZ8UVfk6.js → useSplitCell-DkyEaJF7.js} +1 -1
  80. package/dist/assets/{write-secret-modal-DONzgyYh.js → write-secret-modal-BEsGwBC8.js} +1 -1
  81. package/dist/index.html +47 -47
  82. package/package.json +1 -1
  83. package/src/components/chat/chat-display.tsx +5 -0
  84. package/src/components/chat/chat-panel.tsx +4 -0
  85. package/src/components/chat/tool-call/tool-call-view.tsx +4 -0
  86. package/src/components/chat/tool-call/tool-history-row.tsx +26 -5
  87. package/src/plugins/impl/chat/chat-ui.tsx +1 -0
  88. package/dist/assets/chat-display-C9WoxE6U.js +0 -1
  89. package/dist/assets/chat-panel-CFM1k9PV.js +0 -3
  90. /package/dist/assets/{DeferredRequestRegistry-CiquRdvU.js → DeferredRequestRegistry-EP9ZArpv.js} +0 -0
  91. /package/dist/assets/{clipboard-paste-Bvk41HSX.js → clipboard-paste-CXof_R04.js} +0 -0
  92. /package/dist/assets/{code-xml-CaRdRiek.js → code-xml-tqeFGeKJ.js} +0 -0
  93. /package/dist/assets/{copy-CFO636Td.js → copy-C6tO3NDV.js} +0 -0
  94. /package/dist/assets/{database-zap-CO_HxsuW.js → database-zap-DpKMaYZb.js} +0 -0
  95. /package/dist/assets/{ellipsis-iqVcpkRT.js → ellipsis-DesLDR9w.js} +0 -0
  96. /package/dist/assets/{external-link-mfK38Tpg.js → external-link-CRubBjqK.js} +0 -0
  97. /package/dist/assets/{eye-off-6RDlHoCz.js → eye-off-CFdFJ5Ma.js} +0 -0
  98. /package/dist/assets/{file-ZPWSptQF.js → file-CLyu7PSP.js} +0 -0
  99. /package/dist/assets/{file-headphone-D2bGq0xX.js → file-headphone-CY5S3y3b.js} +0 -0
  100. /package/dist/assets/{github-BZsqHbeC.js → github-CqonmEC7.js} +0 -0
  101. /package/dist/assets/{house-DTijHETb.js → house-DkdBWh44.js} +0 -0
  102. /package/dist/assets/{image-CzV694oU.js → image-jhXeQEgs.js} +0 -0
  103. /package/dist/assets/{input-DiAad2nt.js → input-BpT1_NFw.js} +0 -0
  104. /package/dist/assets/{link-D215MpkN.js → link-My4Pey3q.js} +0 -0
  105. /package/dist/assets/{message-circle-DzPHfj35.js → message-circle-D_YIPPZo.js} +0 -0
  106. /package/dist/assets/{package-Cxwiscky.js → package-BoMcg6sy.js} +0 -0
  107. /package/dist/assets/{plus-Dvg5FyTi.js → plus-CExKUszm.js} +0 -0
  108. /package/dist/assets/{refresh-ccw-AYso5mC6.js → refresh-ccw-CUkO1Vlo.js} +0 -0
  109. /package/dist/assets/{refresh-cw-hZ_ibJIl.js → refresh-cw-DcEasnos.js} +0 -0
  110. /package/dist/assets/{rotate-ccw-ChZ6LXqX.js → rotate-ccw-CBXqO1Fd.js} +0 -0
  111. /package/dist/assets/{save-BtZpvX_3.js → save-CGxzAyve.js} +0 -0
  112. /package/dist/assets/{settings-CP-IXCzQ.js → settings-Cn43l_vx.js} +0 -0
  113. /package/dist/assets/{spinner-BlJOg2gb.js → spinner-DTBVbtl-.js} +0 -0
  114. /package/dist/assets/{types-D9gLS68B.js → types-xF5uWODg.js} +0 -0
  115. /package/dist/assets/{youtube-DER9xpF0.js → youtube-B8SvzIo0.js} +0 -0
@@ -1 +1 @@
1
- import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-BfYriKqt.js";import{t as g}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import"./dist-Dez1I5M9.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as h}from"./copy-icon-C8Cq0-V0.js";import{n as c}from"./error-banner-B4PMmgPV.js";import{t as x}from"./esm-DSv-aO_T.js";import"./dist-BrSPXZRF.js";import"./dist-6Nc6OWsm.js";import"./dist-zuEISlEm.js";import"./dist-BUZOkWVK.js";import"./dist-D4sM9Hux.js";import"./dist-BMVtDS2X.js";import"./dist-teiEd76o.js";import"./dist-fRNNW4KX.js";import"./dist-CdqhtJoV.js";import{n as v,t as p}from"./esm-j1_GHh6X.js";var j=a(d(),1),o=a(g(),1);const e={python:"py",python3:"py",javascript:"js",typescript:"ts",shell:"sh",bash:"sh",unknown:"text",undefined:"text"};function m(t){return t?t in p:!1}var y=({language:t,hideUnsupportedLanguageErrors:n,showCopyButton:u,extensions:r=[],...s})=>{t=e[t||""]||t;let i=m(t);i||f.warn(`Language ${t} not found in CodeMirror.`);let l=(0,j.useMemo)(()=>m(t)?[v(t),...r].filter(Boolean):r,[t,r]);return(0,o.jsxs)("div",{className:"relative w-full group hover-actions-parent",children:[!i&&!n&&(0,o.jsx)(c,{className:"mb-1 rounded-sm",error:`Language ${t} not supported. Supported languages are: ${Object.keys(p).join(", ")}`}),u&&i&&(0,o.jsx)(h,{tooltip:!1,buttonClassName:"absolute top-2 right-2 z-10 hover-action",className:"h-4 w-4 text-muted-foreground",value:s.value||"",toastTitle:"Copied to clipboard"}),(0,o.jsx)(x,{...s,extensions:l})]})};export{e as LANGUAGE_MAP,y as default};
1
+ import{s as a}from"./chunk-LvLJmgfZ.js";import{t as d}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import"./compiler-runtime-B3qBwwSJ.js";import{_ as f}from"./useEventListener-BfYriKqt.js";import{t as g}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import"./dist-Dez1I5M9.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as h}from"./copy-icon-BFMtxrRP.js";import{n as c}from"./error-banner-B4PMmgPV.js";import{t as x}from"./esm-DSv-aO_T.js";import"./dist-BrSPXZRF.js";import"./dist-6Nc6OWsm.js";import"./dist-zuEISlEm.js";import"./dist-BUZOkWVK.js";import"./dist-D4sM9Hux.js";import"./dist-BMVtDS2X.js";import"./dist-teiEd76o.js";import"./dist-fRNNW4KX.js";import"./dist-CdqhtJoV.js";import{n as v,t as p}from"./esm-j1_GHh6X.js";var j=a(d(),1),o=a(g(),1);const e={python:"py",python3:"py",javascript:"js",typescript:"ts",shell:"sh",bash:"sh",unknown:"text",undefined:"text"};function m(t){return t?t in p:!1}var y=({language:t,hideUnsupportedLanguageErrors:n,showCopyButton:u,extensions:r=[],...s})=>{t=e[t||""]||t;let i=m(t);i||f.warn(`Language ${t} not found in CodeMirror.`);let l=(0,j.useMemo)(()=>m(t)?[v(t),...r].filter(Boolean):r,[t,r]);return(0,o.jsxs)("div",{className:"relative w-full group hover-actions-parent",children:[!i&&!n&&(0,o.jsx)(c,{className:"mb-1 rounded-sm",error:`Language ${t} not supported. Supported languages are: ${Object.keys(p).join(", ")}`}),u&&i&&(0,o.jsx)(h,{tooltip:!1,buttonClassName:"absolute top-2 right-2 z-10 hover-action",className:"h-4 w-4 text-muted-foreground",value:s.value||"",toastTitle:"Copied to clipboard"}),(0,o.jsx)(x,{...s,extensions:l})]})};export{e as LANGUAGE_MAP,y as default};
@@ -1 +1 @@
1
- import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-D3EcEVTz.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-CKfMxi81.js";import{E as Q,T as oe,b as ne}from"./utils-BGFUZat2.js";import{T as re}from"./config-B00Uc1a3.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-V2tySmFn.js";import{i as de,r as he,t as me}from"./popover-D1IutFqN.js";import{l as R}from"./select-sS-2VQvj.js";import{t as U}from"./tooltip-CWSr2PfE.js";import{t as xe}from"./button-Db07tdz7.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-DiAad2nt.js";import{t as Y}from"./settings-CP-IXCzQ.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-CIkM9ejr.js";import{t as ge}from"./use-toast-BH8bU9Xf.js";import{i as be}from"./RSPContexts-DGcE_dt-.js";import{n as we}from"./useDebounce-BlBSYv0n.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-CNmqslzW.js";import{n as ke}from"./ImperativeModal-CEtvKaPt.js";import{t as O}from"./kbd-BCXa3Ocm.js";import{t as _e}from"./links-DK7te6sJ.js";import{t as G}from"./Inputs-DJ_uXwfo.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
1
+ import{s as z}from"./chunk-LvLJmgfZ.js";import{l as X}from"./useEvent-D91BmmQi.js";import{t as Z}from"./react-Bj1aDYRI.js";import{Vt as I}from"./cells-B7nz4LNo.js";import{t as H}from"./compiler-runtime-B3qBwwSJ.js";import{S as $,c as ee,i as te,l as se,n as le,u as ae}from"./ai-model-dropdown-B85JK7Bd.js";import{E as Q,T as oe,b as ne}from"./utils-BGFUZat2.js";import{T as re}from"./config-B00Uc1a3.js";import{t as ie}from"./jsx-runtime-PbYoItBR.js";import{o as ce}from"./alert-dialog-V2tySmFn.js";import{i as de,r as he,t as me}from"./popover-D1IutFqN.js";import{l as R}from"./select-sS-2VQvj.js";import{t as U}from"./tooltip-CWSr2PfE.js";import{t as xe}from"./button-Db07tdz7.js";import{s as B}from"./arrays-DWxvyYxP.js";import{r as V}from"./requests-KshNNAOp.js";import{t as pe}from"./createLucideIcon-BTp1tQDO.js";import{t as fe}from"./x-9vLEgLY6.js";import{r as D}from"./input-BpT1_NFw.js";import{t as Y}from"./settings-Cn43l_vx.js";import{a as M,c as A,d as L,g as ue,i as je,l as E,o as P,p as ve,u as S}from"./textarea-BWLmfOrN.js";import{t as ge}from"./use-toast-BH8bU9Xf.js";import{i as be}from"./RSPContexts-CXtxUQv0.js";import{n as we}from"./useDebounce-BlBSYv0n.js";import{c as ye,l as Ne,n as Ce,t as K}from"./dialog-CNmqslzW.js";import{n as ke}from"./ImperativeModal-Da0ki2vE.js";import{t as O}from"./kbd-BCXa3Ocm.js";import{t as _e}from"./links-DK7te6sJ.js";import{t as G}from"./Inputs-DJ_uXwfo.js";var Se=pe("power-off",[["path",{d:"M18.36 6.64A9 9 0 0 1 20.77 15",key:"dxknvb"}],["path",{d:"M6.16 6.16a9 9 0 1 0 12.68 12.68",key:"1x7qb5"}],["path",{d:"M12 2v4",key:"3427ic"}],["path",{d:"m2 2 20 20",key:"1ooewy"}]]),Te=H(),s=z(ie(),1);const Me=t=>{let e=(0,Te.c)(15),{description:a,disabled:f,tooltip:r}=t,i=f===void 0?!1:f,u=r===void 0?"Shutdown":r,{openConfirm:b,closeModal:l}=ke(),{sendShutdown:o}=V(),w;e[0]===o?w=e[1]:(w=()=>{o(),setTimeout(Ae,200)},e[0]=o,e[1]=w);let j=w;if(re())return null;let m=i?"disabled":"red",c;e[2]!==l||e[3]!==a||e[4]!==j||e[5]!==b?(c=h=>{h.stopPropagation(),b({title:"Shutdown",description:a,variant:"destructive",confirmAction:(0,s.jsx)(ce,{onClick:()=>{j(),l()},"aria-label":"Confirm Shutdown",children:"Shutdown"})})},e[2]=l,e[3]=a,e[4]=j,e[5]=b,e[6]=c):c=e[6];let n;e[7]===Symbol.for("react.memo_cache_sentinel")?(n=(0,s.jsx)(fe,{strokeWidth:1}),e[7]=n):n=e[7];let d;e[8]!==i||e[9]!==m||e[10]!==c?(d=(0,s.jsx)(G,{"aria-label":"Shutdown","data-testid":"shutdown-button",shape:"circle",size:"small",color:m,className:"h-[27px] w-[27px]",disabled:i,onClick:c,children:n}),e[8]=i,e[9]=m,e[10]=c,e[11]=d):d=e[11];let x;return e[12]!==d||e[13]!==u?(x=(0,s.jsx)(U,{content:u,children:d}),e[12]=d,e[13]=u,e[14]=x):x=e[14],x};function Ae(){window.close()}var J=H(),W=z(Z(),1),Le=100;const Ee=()=>{let t=(0,J.c)(37),[e,a]=ne(),{saveAppConfig:f}=V(),r=(0,W.useId)(),i=(0,W.useId)(),u;t[0]===Symbol.for("react.memo_cache_sentinel")?(u=ve(oe),t[0]=u):u=t[0];let b;t[1]===e?b=t[2]:(b={resolver:u,defaultValues:e},t[1]=e,t[2]=b);let l=ue(b),o;t[3]!==f||t[4]!==a?(o=async p=>{await f({config:p}).then(()=>{a(p)}).catch(()=>{a(p)})},t[3]=f,t[4]=a,t[5]=o):o=t[5];let w=o,j;t[6]===w?j=t[7]:(j=p=>{w(p)},t[6]=w,t[7]=j);let m=we(j,Le),c;t[8]===e.width?c=t[9]:(c=[e.width],t[8]=e.width,t[9]=c),(0,W.useEffect)(Pe,c);let n;t[10]!==m||t[11]!==l?(n=l.handleSubmit(m),t[10]=m,t[11]=l,t[12]=n):n=t[12];let d;t[13]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)("div",{children:[(0,s.jsx)(ae,{children:"Notebook Settings"}),(0,s.jsx)(se,{children:"Configure how your notebook or application looks and behaves."})]}),t[13]=d):d=t[13];let x;t[14]===l.control?x=t[15]:(x=(0,s.jsxs)(F,{title:"Display",children:[(0,s.jsx)(A,{control:l.control,name:"width",render:Fe}),(0,s.jsx)(A,{control:l.control,name:"app_title",render:He})]}),t[14]=l.control,t[15]=x);let h;t[16]===l.control?h=t[17]:(h=(0,s.jsxs)(F,{title:"Custom Files",children:[(0,s.jsx)(A,{control:l.control,name:"css_file",render:De}),(0,s.jsx)(A,{control:l.control,name:"html_head_file",render:Oe})]}),t[16]=l.control,t[17]=h);let y;t[18]===l.control?y=t[19]:(y=(0,s.jsx)(F,{title:"Data",children:(0,s.jsx)(A,{control:l.control,name:"sql_output",render:ze})}),t[18]=l.control,t[19]=y);let N;t[20]!==r||t[21]!==i?(N=p=>{let{field:_}=p;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-col gap-2",children:[(0,s.jsx)(M,{children:(0,s.jsxs)("div",{className:"flex gap-4",children:[(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:r,"data-testid":"html-checkbox",checked:_.value.includes("html"),onCheckedChange:()=>{_.onChange(B(_.value,"html"))}}),(0,s.jsx)(S,{htmlFor:r,children:"HTML"})]}),(0,s.jsxs)("div",{className:"flex items-center space-x-2",children:[(0,s.jsx)(I,{id:i,"data-testid":"ipynb-checkbox",checked:_.value.includes("ipynb"),onCheckedChange:()=>{_.onChange(B(_.value,"ipynb"))}}),(0,s.jsx)(S,{htmlFor:i,children:"IPYNB"})]})]})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["When enabled, marimo will periodically save this notebook in your selected formats (HTML, IPYNB) to a folder named"," ",(0,s.jsx)(O,{className:"inline",children:"__marimo__"})," next to your notebook file."]})]})},t[20]=r,t[21]=i,t[22]=N):N=t[22];let v;t[23]!==l.control||t[24]!==N?(v=(0,s.jsx)(F,{title:"Exporting outputs",children:(0,s.jsx)(A,{control:l.control,name:"auto_download",render:N})}),t[23]=l.control,t[24]=N,t[25]=v):v=t[25];let C;t[26]!==v||t[27]!==x||t[28]!==h||t[29]!==y?(C=(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-x-8 gap-y-4",children:[x,h,y,v]}),t[26]=v,t[27]=x,t[28]=h,t[29]=y,t[30]=C):C=t[30];let g;t[31]!==C||t[32]!==n?(g=(0,s.jsxs)("form",{onChange:n,className:"flex flex-col gap-6",children:[d,C]}),t[31]=C,t[32]=n,t[33]=g):g=t[33];let k;return t[34]!==l||t[35]!==g?(k=(0,s.jsx)(je,{...l,children:g}),t[34]=l,t[35]=g,t[36]=k):k=t[36],k};var F=t=>{let e=(0,J.c)(5),{title:a,children:f}=t,r;e[0]===a?r=e[1]:(r=(0,s.jsx)("h3",{className:"text-base font-semibold mb-1",children:a}),e[0]=a,e[1]=r);let i;return e[2]!==f||e[3]!==r?(i=(0,s.jsxs)("div",{className:"flex flex-col gap-y-2",children:[r,f]}),e[2]=f,e[3]=r,e[4]=i):i=e[4],i};function Pe(){window.dispatchEvent(new Event("resize"))}function qe(t){return(0,s.jsx)("option",{value:t,children:t},t)}function Fe(t){let{field:e}=t;return(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"Width"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"app-width-select",onChange:a=>e.onChange(a.target.value),value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:$().map(qe)})}),(0,s.jsx)(L,{})]})}function He(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"App title"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"The application title is put in the title tag in the HTML code and typically displayed in the title bar of the browser window."})]})}function De(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"Custom CSS"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"custom.css",onChange:a=>{e.onChange(a.target.value),Q.safeParse(a.target.value).success&&(document.title=a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsx)(P,{children:"A filepath to a custom css file to be injected into the notebook."})]})}function Oe(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{className:"shrink-0",children:"HTML Head"}),(0,s.jsx)(M,{children:(0,s.jsx)(D,{...e,value:e.value??"",placeholder:"head.html",onChange:a=>{e.onChange(a.target.value)}})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["A filepath to an HTML file to be injected into the"," ",(0,s.jsx)(O,{className:"inline",children:"<head/>"})," section of the notebook. Use this to add analytics, custom fonts, meta tags, or external scripts."]})]})}function We(t){return(0,s.jsx)("option",{value:t.value,children:t.label},t.value)}function ze(t){let{field:e}=t;return(0,s.jsxs)("div",{className:"flex flex-col gap-y-1",children:[(0,s.jsxs)(E,{className:"flex flex-row items-center space-x-1 space-y-0",children:[(0,s.jsx)(S,{children:"SQL Output Type"}),(0,s.jsx)(M,{children:(0,s.jsx)(R,{"data-testid":"sql-output-select",onChange:a=>{e.onChange(a.target.value),ge({title:"Kernel Restart Required",description:"This change requires a kernel restart to take effect."})},value:e.value,disabled:e.disabled,className:"inline-flex mr-2",children:ee.map(We)})}),(0,s.jsx)(L,{})]}),(0,s.jsxs)(P,{children:["The Python type returned by a SQL cell. For best performance with large datasets, we recommend using"," ",(0,s.jsx)(O,{className:"inline",children:"native"}),". See the"," ",(0,s.jsx)(_e,{href:"https://docs.marimo.io/guides/working_with_data/sql",children:"SQL guide"})," ","for more information."]})]})}var Ie=H();const Qe=t=>{let e=(0,Ie.c)(32),{showAppConfig:a,disabled:f,tooltip:r}=t,i=a===void 0?!0:a,u=f===void 0?!1:f,b=r===void 0?"Settings":r,[l,o]=X(le),w=u?"disabled":"hint-green",j;e[0]===Symbol.for("react.memo_cache_sentinel")?(j=(0,s.jsx)(Y,{strokeWidth:1.8}),e[0]=j):j=e[0];let m;e[1]===b?m=e[2]:(m=(0,s.jsx)(U,{content:b,children:j}),e[1]=b,e[2]=m);let c;e[3]!==u||e[4]!==w||e[5]!==m?(c=(0,s.jsx)(G,{"aria-label":"Config","data-testid":"app-config-button",shape:"circle",size:"small",className:"h-[27px] w-[27px]",disabled:u,color:w,children:m}),e[3]=u,e[4]=w,e[5]=m,e[6]=c):c=e[6];let n=c,d;e[7]===Symbol.for("react.memo_cache_sentinel")?(d=(0,s.jsxs)(Ce,{className:"w-[90vw] h-[90vh] overflow-hidden sm:max-w-5xl top-[5vh] p-0",children:[(0,s.jsx)(be,{children:(0,s.jsx)(ye,{children:"User settings"})}),(0,s.jsx)(te,{})]}),e[7]=d):d=e[7];let x=d;if(!i){let T;e[8]===n?T=e[9]:(T=(0,s.jsx)(Ne,{children:n}),e[8]=n,e[9]=T);let q;return e[10]!==o||e[11]!==l||e[12]!==T?(q=(0,s.jsxs)(K,{open:l,onOpenChange:o,children:[T,x]}),e[10]=o,e[11]=l,e[12]=T,e[13]=q):q=e[13],q}let h;e[14]===n?h=e[15]:(h=(0,s.jsx)(de,{asChild:!0,children:n}),e[14]=n,e[15]=h);let y,N;e[16]===Symbol.for("react.memo_cache_sentinel")?(y=(0,s.jsx)(Ee,{}),N=(0,s.jsx)("div",{className:"h-px bg-border my-2"}),e[16]=y,e[17]=N):(y=e[16],N=e[17]);let v;e[18]===o?v=e[19]:(v=()=>o(!0),e[18]=o,e[19]=v);let C;e[20]===Symbol.for("react.memo_cache_sentinel")?(C=(0,s.jsx)(Y,{strokeWidth:1.8,className:"w-4 h-4 mr-2"}),e[20]=C):C=e[20];let g;e[21]===v?g=e[22]:(g=(0,s.jsxs)(he,{className:"w-[650px] overflow-auto max-h-[80vh] max-w-[80vw]",align:"end",side:"bottom",onFocusOutside:Re,children:[y,N,(0,s.jsxs)(xe,{onClick:v,variant:"link",className:"px-0",children:[C,"User settings"]})]}),e[21]=v,e[22]=g);let k;e[23]!==g||e[24]!==h?(k=(0,s.jsxs)(me,{children:[h,g]}),e[23]=g,e[24]=h,e[25]=k):k=e[25];let p;e[26]!==o||e[27]!==l?(p=(0,s.jsx)(K,{open:l,onOpenChange:o,children:x}),e[26]=o,e[27]=l,e[28]=p):p=e[28];let _;return e[29]!==k||e[30]!==p?(_=(0,s.jsxs)(s.Fragment,{children:[k,p]}),e[29]=k,e[30]=p,e[31]=_):_=e[31],_};function Re(t){return t.preventDefault()}export{Me as n,Se as r,Qe as t};
@@ -1 +1 @@
1
- import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-X2M2usMq.js";import{t as q}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-V2tySmFn.js";import{t as z}from"./button-Db07tdz7.js";import{r as Z}from"./requests-KshNNAOp.js";import{t as E}from"./database-zap-CO_HxsuW.js";import{t as _}from"./spinner-BlJOg2gb.js";import{t as $}from"./refresh-cw-hZ_ibJIl.js";import{t as ee}from"./trash-2-CjPoUZCP.js";import{t as A}from"./use-toast-BH8bU9Xf.js";import{t as se}from"./context-DE_5rdOV.js";import{i as T}from"./numbers-BVh5side.js";import{n as te}from"./useAsyncData-CT1LpOBD.js";import{t as I}from"./empty-state-BpcrGgJU.js";import{t as ae}from"./requests-Bm3bohzL.js";import{n as ie,t as L}from"./formatting-L1AbaQez.js";var re=D(),O=F(H(),1),s=F(q(),1);const le=w=>{let e=(0,re.c)(27),{children:a,title:n,description:r,onConfirm:t,confirmText:l,cancelText:i,destructive:o}=w,y=l===void 0?"Continue":l,x=i===void 0?"Cancel":i,f=o===void 0?!1:o,[p,P]=O.useState(!1),h;e[0]===t?h=e[1]:(h=()=>{t(),P(!1)},e[0]=t,e[1]=h);let u=h,d=f?U:Q,m;e[2]===a?m=e[3]:(m=(0,s.jsx)(Y,{asChild:!0,children:a}),e[2]=a,e[3]=m);let c;e[4]===n?c=e[5]:(c=(0,s.jsx)(K,{children:n}),e[4]=n,e[5]=c);let j;e[6]===r?j=e[7]:(j=(0,s.jsx)(B,{children:r}),e[6]=r,e[7]=j);let v;e[8]!==c||e[9]!==j?(v=(0,s.jsxs)(G,{children:[c,j]}),e[8]=c,e[9]=j,e[10]=v):v=e[10];let g;e[11]===x?g=e[12]:(g=(0,s.jsx)(V,{children:x}),e[11]=x,e[12]=g);let N;e[13]!==d||e[14]!==y||e[15]!==u?(N=(0,s.jsx)(d,{onClick:u,children:y}),e[13]=d,e[14]=y,e[15]=u,e[16]=N):N=e[16];let b;e[17]!==N||e[18]!==g?(b=(0,s.jsxs)(W,{children:[g,N]}),e[17]=N,e[18]=g,e[19]=b):b=e[19];let C;e[20]!==b||e[21]!==v?(C=(0,s.jsxs)(J,{children:[v,b]}),e[20]=b,e[21]=v,e[22]=C):C=e[22];let S;return e[23]!==p||e[24]!==C||e[25]!==m?(S=(0,s.jsxs)(X,{open:p,onOpenChange:P,children:[m,C]}),e[23]=p,e[24]=C,e[25]=m,e[26]=S):S=e[26],S};var oe=D(),ce=()=>{let{clearCache:w,getCacheInfo:e}=Z(),a=R(ae),[n,r]=(0,O.useState)(!1),{locale:t}=se(),{isPending:l,isFetching:i,refetch:o}=te(async()=>{await e(),await new Promise(c=>setTimeout(c,500))},[]),y=async()=>{try{r(!0),await w(),A({title:"Cache purged",description:"All cached data has been cleared"}),o()}catch(c){A({title:"Error",description:c instanceof Error?c.message:"Failed to purge cache",variant:"danger"})}finally{r(!1)}};if(l&&!a)return(0,s.jsx)(_,{size:"medium",centered:!0});let x=(0,s.jsxs)(z,{variant:"outline",size:"sm",onClick:o,disabled:i,children:[i?(0,s.jsx)(_,{size:"small",className:"w-4 h-4 mr-2"}):(0,s.jsx)($,{className:"w-4 h-4 mr-2"}),"Refresh"]});if(!a)return(0,s.jsx)(I,{title:"No cache data",description:"Cache information is not available.",icon:(0,s.jsx)(E,{}),action:x});let f=a.hits,p=a.misses,P=a.time,h=a.disk_total,u=a.disk_to_free,d=f+p,m=d>0?f/d*100:0;return d===0?(0,s.jsx)(I,{title:"No cache activity",description:"The cache has not been used yet. Cached functions will appear here once they are executed.",icon:(0,s.jsx)(E,{}),action:x}):(0,s.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4 p-4 h-full",children:[(0,s.jsx)("div",{className:"flex items-center justify-end",children:(0,s.jsx)(z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:o,disabled:i,children:(0,s.jsx)($,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",i&&"animate-[spin_0.5s]")})})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Statistics"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(k,{label:"Time saved",value:ie(P,t),description:"Total execution time saved"}),(0,s.jsx)(k,{label:"Hit rate",value:d>0?`${T(m,t)}%`:"\u2014",description:`${T(f,t)} hits / ${T(d,t)} total`}),(0,s.jsx)(k,{label:"Cache hits",value:T(f,t),description:"Successful cache retrievals"}),(0,s.jsx)(k,{label:"Cache misses",value:T(p,t),description:"Cache not found"})]})]}),h>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Storage"}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-3",children:(0,s.jsx)(k,{label:"Disk usage",value:L(h,t),description:u>0?`${L(u,t)} can be freed`:"Cache storage on disk"})})]}),(0,s.jsx)("div",{className:"my-auto"}),(0,s.jsx)("div",{className:"pt-2 border-t",children:(0,s.jsx)(le,{title:"Purge cache?",description:"This will permanently delete all cached data. This action cannot be undone.",confirmText:"Purge",destructive:!0,onConfirm:y,children:(0,s.jsxs)(z,{variant:"outlineDestructive",size:"xs",disabled:n,className:"w-full",children:[n?(0,s.jsx)(_,{size:"small",className:"w-3 h-3 mr-2"}):(0,s.jsx)(ee,{className:"w-3 h-3 mr-2"}),"Purge Cache"]})})})]})})},k=w=>{let e=(0,oe.c)(10),{label:a,value:n,description:r}=w,t;e[0]===a?t=e[1]:(t=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),e[0]=a,e[1]=t);let l;e[2]===n?l=e[3]:(l=(0,s.jsx)("span",{className:"text-lg font-semibold",children:n}),e[2]=n,e[3]=l);let i;e[4]===r?i=e[5]:(i=r&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),e[4]=r,e[5]=i);let o;return e[6]!==t||e[7]!==l||e[8]!==i?(o=(0,s.jsxs)("div",{className:"flex flex-col gap-1 p-3 rounded-lg border bg-card",children:[t,l,i]}),e[6]=t,e[7]=l,e[8]=i,e[9]=o):o=e[9],o},ne=ce;export{ne as default};
1
+ import{s as F}from"./chunk-LvLJmgfZ.js";import{u as R}from"./useEvent-D91BmmQi.js";import{t as H}from"./react-Bj1aDYRI.js";import"./react-dom-CSu739Rf.js";import{t as D}from"./compiler-runtime-B3qBwwSJ.js";import{t as M}from"./cn-X2M2usMq.js";import{t as q}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import{a as B,c as G,i as J,l as K,n as Q,o as U,r as V,s as W,t as X,u as Y}from"./alert-dialog-V2tySmFn.js";import{t as z}from"./button-Db07tdz7.js";import{r as Z}from"./requests-KshNNAOp.js";import{t as E}from"./database-zap-DpKMaYZb.js";import{t as _}from"./spinner-DTBVbtl-.js";import{t as $}from"./refresh-cw-DcEasnos.js";import{t as ee}from"./trash-2-CjPoUZCP.js";import{t as A}from"./use-toast-BH8bU9Xf.js";import{t as se}from"./context-DE_5rdOV.js";import{i as T}from"./numbers-BVh5side.js";import{n as te}from"./useAsyncData-CT1LpOBD.js";import{t as I}from"./empty-state-BpcrGgJU.js";import{t as ae}from"./requests-Bm3bohzL.js";import{n as ie,t as L}from"./formatting-L1AbaQez.js";var re=D(),O=F(H(),1),s=F(q(),1);const le=w=>{let e=(0,re.c)(27),{children:a,title:n,description:r,onConfirm:t,confirmText:l,cancelText:i,destructive:o}=w,y=l===void 0?"Continue":l,x=i===void 0?"Cancel":i,f=o===void 0?!1:o,[p,P]=O.useState(!1),h;e[0]===t?h=e[1]:(h=()=>{t(),P(!1)},e[0]=t,e[1]=h);let u=h,d=f?U:Q,m;e[2]===a?m=e[3]:(m=(0,s.jsx)(Y,{asChild:!0,children:a}),e[2]=a,e[3]=m);let c;e[4]===n?c=e[5]:(c=(0,s.jsx)(K,{children:n}),e[4]=n,e[5]=c);let j;e[6]===r?j=e[7]:(j=(0,s.jsx)(B,{children:r}),e[6]=r,e[7]=j);let v;e[8]!==c||e[9]!==j?(v=(0,s.jsxs)(G,{children:[c,j]}),e[8]=c,e[9]=j,e[10]=v):v=e[10];let g;e[11]===x?g=e[12]:(g=(0,s.jsx)(V,{children:x}),e[11]=x,e[12]=g);let N;e[13]!==d||e[14]!==y||e[15]!==u?(N=(0,s.jsx)(d,{onClick:u,children:y}),e[13]=d,e[14]=y,e[15]=u,e[16]=N):N=e[16];let b;e[17]!==N||e[18]!==g?(b=(0,s.jsxs)(W,{children:[g,N]}),e[17]=N,e[18]=g,e[19]=b):b=e[19];let C;e[20]!==b||e[21]!==v?(C=(0,s.jsxs)(J,{children:[v,b]}),e[20]=b,e[21]=v,e[22]=C):C=e[22];let S;return e[23]!==p||e[24]!==C||e[25]!==m?(S=(0,s.jsxs)(X,{open:p,onOpenChange:P,children:[m,C]}),e[23]=p,e[24]=C,e[25]=m,e[26]=S):S=e[26],S};var oe=D(),ce=()=>{let{clearCache:w,getCacheInfo:e}=Z(),a=R(ae),[n,r]=(0,O.useState)(!1),{locale:t}=se(),{isPending:l,isFetching:i,refetch:o}=te(async()=>{await e(),await new Promise(c=>setTimeout(c,500))},[]),y=async()=>{try{r(!0),await w(),A({title:"Cache purged",description:"All cached data has been cleared"}),o()}catch(c){A({title:"Error",description:c instanceof Error?c.message:"Failed to purge cache",variant:"danger"})}finally{r(!1)}};if(l&&!a)return(0,s.jsx)(_,{size:"medium",centered:!0});let x=(0,s.jsxs)(z,{variant:"outline",size:"sm",onClick:o,disabled:i,children:[i?(0,s.jsx)(_,{size:"small",className:"w-4 h-4 mr-2"}):(0,s.jsx)($,{className:"w-4 h-4 mr-2"}),"Refresh"]});if(!a)return(0,s.jsx)(I,{title:"No cache data",description:"Cache information is not available.",icon:(0,s.jsx)(E,{}),action:x});let f=a.hits,p=a.misses,P=a.time,h=a.disk_total,u=a.disk_to_free,d=f+p,m=d>0?f/d*100:0;return d===0?(0,s.jsx)(I,{title:"No cache activity",description:"The cache has not been used yet. Cached functions will appear here once they are executed.",icon:(0,s.jsx)(E,{}),action:x}):(0,s.jsx)("div",{className:"flex flex-col h-full overflow-auto",children:(0,s.jsxs)("div",{className:"flex flex-col gap-4 p-4 h-full",children:[(0,s.jsx)("div",{className:"flex items-center justify-end",children:(0,s.jsx)(z,{variant:"ghost",size:"icon",className:"h-6 w-6",onClick:o,disabled:i,children:(0,s.jsx)($,{className:M("h-4 w-4 text-muted-foreground hover:text-foreground",i&&"animate-[spin_0.5s]")})})}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Statistics"}),(0,s.jsxs)("div",{className:"grid grid-cols-2 gap-3",children:[(0,s.jsx)(k,{label:"Time saved",value:ie(P,t),description:"Total execution time saved"}),(0,s.jsx)(k,{label:"Hit rate",value:d>0?`${T(m,t)}%`:"\u2014",description:`${T(f,t)} hits / ${T(d,t)} total`}),(0,s.jsx)(k,{label:"Cache hits",value:T(f,t),description:"Successful cache retrievals"}),(0,s.jsx)(k,{label:"Cache misses",value:T(p,t),description:"Cache not found"})]})]}),h>0&&(0,s.jsxs)("div",{className:"space-y-3 pt-2 border-t",children:[(0,s.jsx)("h3",{className:"text-sm font-semibold text-foreground",children:"Storage"}),(0,s.jsx)("div",{className:"grid grid-cols-1 gap-3",children:(0,s.jsx)(k,{label:"Disk usage",value:L(h,t),description:u>0?`${L(u,t)} can be freed`:"Cache storage on disk"})})]}),(0,s.jsx)("div",{className:"my-auto"}),(0,s.jsx)("div",{className:"pt-2 border-t",children:(0,s.jsx)(le,{title:"Purge cache?",description:"This will permanently delete all cached data. This action cannot be undone.",confirmText:"Purge",destructive:!0,onConfirm:y,children:(0,s.jsxs)(z,{variant:"outlineDestructive",size:"xs",disabled:n,className:"w-full",children:[n?(0,s.jsx)(_,{size:"small",className:"w-3 h-3 mr-2"}):(0,s.jsx)(ee,{className:"w-3 h-3 mr-2"}),"Purge Cache"]})})})]})})},k=w=>{let e=(0,oe.c)(10),{label:a,value:n,description:r}=w,t;e[0]===a?t=e[1]:(t=(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:a}),e[0]=a,e[1]=t);let l;e[2]===n?l=e[3]:(l=(0,s.jsx)("span",{className:"text-lg font-semibold",children:n}),e[2]=n,e[3]=l);let i;e[4]===r?i=e[5]:(i=r&&(0,s.jsx)("span",{className:"text-xs text-muted-foreground",children:r}),e[4]=r,e[5]=i);let o;return e[6]!==t||e[7]!==l||e[8]!==i?(o=(0,s.jsxs)("div",{className:"flex flex-col gap-1 p-3 rounded-lg border bg-card",children:[t,l,i]}),e[6]=t,e[7]=l,e[8]=i,e[9]=o):o=e[9],o},ne=ce;export{ne as default};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./loro_wasm_bg-Bg3nlaci.js","./loro_wasm_bg-C5TJxMR5.js","./chunk-LvLJmgfZ.js"])))=>i.map(i=>d[i]);
2
- var Fd=Object.defineProperty;var Va=Z=>{throw TypeError(Z)};var Ld=(Z,H,ye)=>H in Z?Fd(Z,H,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[H]=ye;var p=(Z,H,ye)=>Ld(Z,typeof H!="symbol"?H+"":H,ye),Od=(Z,H,ye)=>H.has(Z)||Va("Cannot "+ye);var $a=(Z,H,ye)=>(Od(Z,H,"read from private field"),ye?ye.call(Z):H.get(Z)),Ha=(Z,H,ye)=>H.has(Z)?Va("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(Z):H.set(Z,ye);import{s as qa}from"./chunk-LvLJmgfZ.js";import{d as za,f as kr,i as Y,l as xn,n as ae,p as Bt,s as In,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$n as Dd,$t as Cr,At as Pt,Bn as Ud,Cn as Bd,D as An,Dt as Tn,En as Sr,G as Ka,Gn as Pd,H as Fn,Ht as Xa,I as jd,Jn as Md,Kn as Rd,Nn as Gd,Nt as Jd,Ot as Wd,Pi as Vd,Qr as $d,Sn as Hd,Tt as xr,U as qd,Ui as Ln,Un as Ya,V as Qa,Vn as zd,Vt as Kd,W as Za,Wn as Xd,Xt as Ir,Yn as Yd,Yt as Qd,a as ei,an as Zd,b as ot,br as ef,ci as tf,cn as On,ct as nf,d as ti,dn as rf,en as ni,gn as of,gt as af,h as jt,ht as Ar,in as sf,ji as ri,kt as lf,li as cf,mi as oi,oi as Tr,ot as uf,pi as df,q as ai,rn as ff,tn as ii,u as si,wt as mf,xn as pf,yn as gf,zn as hf,__tla as bf}from"./cells-D3EcEVTz.js";import{B as yf,N as wf,P as Fr,R as li,S as vf,T as ci,k as Ef,w as Nf}from"./zod-H_cgTO0M.js";import{t as ve}from"./compiler-runtime-B3qBwwSJ.js";import{C as kf,f as Cf,m as Sf,p as xf,t as If,v as Af,w as Tf}from"./ai-model-dropdown-CKfMxi81.js";import{_ as $e,c as ui,h as Lr,t as Ff,v as Lf}from"./useEventListener-BfYriKqt.js";import{t as Mt}from"./invariant-C2E8KCbD.js";import{_ as di,c as Of,g as fi,h as mi,l as pi,w as Or}from"./utils-BGFUZat2.js";import{S as gi,T as _f,m as Df,o as Uf,r as hi,v as wt,w as Rt}from"./config-B00Uc1a3.js";import{n as Bf,t as Pf}from"./switch-LzzmbPXe.js";import{n as jf}from"./globals-CBDJBT8O.js";import{t as Mf}from"./ErrorBoundary-clTdAaK7.js";import{t as Ze}from"./cn-X2M2usMq.js";import{t as Rf}from"./jsx-runtime-PbYoItBR.js";import{l as Gf,r as Jf,t as Wf}from"./popover-D1IutFqN.js";import{X as Vf,Y as $f,__tla as Hf}from"./JsonOutput-e5KwGs-t.js";import{t as _r}from"./label-BbRibkug.js";import{r as qf}from"./download-CYrhtDVp.js";import{t as _n}from"./tooltip-CWSr2PfE.js";import{r as Dr,t as ut}from"./button-Db07tdz7.js";import{$t as Gt,E as zf,Et as Kf,H as bi,Ht as vt,I as Xf,Jt as Yf,Kt as dt,Lt as Ur,P as Qf,Pt as Zf,St as em,Tt as yi,Ut as Br,V as wi,Vt as tm,Wt as Jt,X as l,Xt as he,Zt as Xe,_ as nm,a as rm,at as $,bt as om,dt as Dn,ht as am,kt as im,lt as sm,m as lm,mt as cm,nn as Un,ot as um,st as M,ut as et,w as dm,wt as He,xt as fm,zt as Bn}from"./dist-Dez1I5M9.js";import{E as mm,P as pm,S as gm,a as hm,b as bm,c as ym,n as Pr,r as wm,w as vm,x as Em}from"./dist-CwfKvuyQ.js";import{o as vi}from"./arrays-DWxvyYxP.js";import{n as Nm}from"./once-CXj_gH7S.js";import{t as jr}from"./createReducer-3M-fmFeM.js";import{a as km,c as Cm,f as Pn,h as Sm,i as xm,l as Wt,n as Ei,o as Im,t as Am}from"./dist-B0WqBUnf.js";import{t as Tm}from"./main-DmhaVp6Y.js";import{r as jn,t as Fm}from"./requests-KshNNAOp.js";import{t as Lm}from"./createLucideIcon-BTp1tQDO.js";import{r as Ni,t as Om,__tla as _m}from"./layout-Cpt95A_u.js";import{t as Dm}from"./x-9vLEgLY6.js";import{t as Um}from"./circle-check-Q2N68uwG.js";import{D as ki,E as Bm,I as Pm,L as jm,N as Mm,S as Rm,a as Ci,d as Gm,j as Jm,k as Wm,n as Vm,o as $m,r as Si,s as Hm}from"./add-cell-with-ai-r88BQwnl.js";import{r as qm,t as zm}from"./file-icons-CM-BO4Tc.js";import{n as Km}from"./spinner-BlJOg2gb.js";import{n as Mr,t as xi}from"./useDeleteCell-R0cnbneF.js";import{t as Ii}from"./save-BtZpvX_3.js";import{Y as Xm,Z as Ai}from"./input-DiAad2nt.js";import{t as Ym}from"./sparkles-DctOjjEz.js";import{t as Qm}from"./preload-helper-y72bE5iF.js";import{t as Et}from"./use-toast-BH8bU9Xf.js";import{n as tt}from"./paths-kNeJ8nbe.js";import{t as Zm}from"./session-DF0gSADo.js";import{r as ep}from"./useTheme-BcDiZbxe.js";import{n as Ti}from"./copy-DlC1PYY-.js";import{k as tp}from"./usePress-mjvipKvz.js";import{a as np}from"./useRunCells-DnS-CoD3.js";import{c as Fi,i as Li,n as Oi,r as rp}from"./dialog-CNmqslzW.js";import{t as _i}from"./useHotkey-Dg_dwRCE.js";import{n as Di}from"./ImperativeModal-CEtvKaPt.js";import{i as op}from"./errors-48KFPvCp.js";import{t as K}from"./extends-2LbFKIQQ.js";import{t as Vt}from"./objectWithoutPropertiesLoose-Msf1n32r.js";import{t as ap}from"./kbd-BCXa3Ocm.js";import{a as Rr}from"./useInstallPackage-BaCdyZWe.js";import{i as ip,n as Ui}from"./state-a26U8Amw.js";import{a as sp,o as lp}from"./cell-link-BBWAKZ--.js";import{r as Bi}from"./html-to-image-BMbVLGQG.js";import{a as cp}from"./focus-EuWjxeHB.js";import{n as up}from"./useAsyncData-CT1LpOBD.js";import{a as dp,o as Pi,r as fp,s as ji,t as mp}from"./command-Dzjey1r-.js";import{a as Mi}from"./renderShortcut-BV7Qf4L2.js";import{n as pp,t as gp}from"./icons-D3YFXNmD.js";import{n as Nt}from"./esm-DSv-aO_T.js";import{t as Ri}from"./dist-BM-OLiKa.js";import{t as hp}from"./useSplitCell-BZ8UVfk6.js";import{co as bp,do as Gr,fo as yp,ft as wp,go as kt,ho as Gi,lo as Jr,mo as Ji,oo as vp,po as Ep,so as Wi,uo as Vi,__tla as Np}from"./loro_wasm_bg-C5TJxMR5.js";import{t as kp}from"./ws-Cb8IUKlU.js";import{t as $i}from"./Inputs-DJ_uXwfo.js";import{n as Cp}from"./hooks-CA6IH5Ny.js";let Wr,$t,Mn,Rn,Gn,Vr,Ee,Hi,qi,zi,Ki,$r,Hr,ft,Xi,Yi,Qi,Ht,Jn,Zi,Sp=Promise.all([(()=>{try{return bf}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return _m}catch{}})(),(()=>{try{return Np}catch{}})()]).then(async()=>{var Cn,Ga,ke,Ce,Se,xe,Ie,Ae,Te,Fe,Le,Oe,_e,De,Ue,Be,Pe,je,Me,Re,Ge;var Z=Lm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const St=Jt.define({combine:e=>Un(e,{onError:console.error,inputDebounceTime:ye,keymaps:H},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),at=he.define(),it=Xe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(at))return n.value;return e}}),xt=he.define(),It=he.define(),zr=Xe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(xt)&&(n={...n,inputValue:r.value}),r.is(It)&&(n={...n,shouldFocus:r.value});return n}}),qt=he.define(),At=Xe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(qt))return n.value;return e}}),mt=he.define(),Kr=Xe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(mt))return n.value;return e}});var es=1;const Xr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<es)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[at.of({show:!0,lineFrom:i,lineTo:s}),It.of(!0),xt.of("")],selection:vt.cursor(o.from)}),!0},Yr=e=>e.state.field(At)?(e.dispatch({effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),It.of(!1),xt.of(""),mt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(At);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),It.of(!1),xt.of(""),mt.of(!1)]}),!0):!1};var Wn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function ts(){return navigator.platform.startsWith("Mac")?Wn.mac:navigator.platform.startsWith("Win")?Wn.windows:Wn.default}function Vn(e){return e.replace("Mod",ts()).replace("-"," ").toUpperCase()}function me(e,t){let n=document.createElement(e);return n.className=t,n}function ns(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var zt=Xe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Kt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Kt=he.define();function rs(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new os(t),side:1});return r.push(o.range(n)),$.set(r)}var os=class extends Dn{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
2
+ var Fd=Object.defineProperty;var Va=Z=>{throw TypeError(Z)};var Ld=(Z,H,ye)=>H in Z?Fd(Z,H,{enumerable:!0,configurable:!0,writable:!0,value:ye}):Z[H]=ye;var p=(Z,H,ye)=>Ld(Z,typeof H!="symbol"?H+"":H,ye),Od=(Z,H,ye)=>H.has(Z)||Va("Cannot "+ye);var $a=(Z,H,ye)=>(Od(Z,H,"read from private field"),ye?ye.call(Z):H.get(Z)),Ha=(Z,H,ye)=>H.has(Z)?Va("Cannot add the same private member more than once"):H instanceof WeakSet?H.add(Z):H.set(Z,ye);import{s as qa}from"./chunk-LvLJmgfZ.js";import{d as za,f as kr,i as Y,l as xn,n as ae,p as Bt,s as In,u as ie}from"./useEvent-D91BmmQi.js";import{t as _d}from"./react-Bj1aDYRI.js";import{$n as Dd,$t as Cr,At as Pt,Bn as Ud,Cn as Bd,D as An,Dt as Tn,En as Sr,G as Ka,Gn as Pd,H as Fn,Ht as Xa,I as jd,Jn as Md,Kn as Rd,Nn as Gd,Nt as Jd,Ot as Wd,Pi as Vd,Qr as $d,Sn as Hd,Tt as xr,U as qd,Ui as Ln,Un as Ya,V as Qa,Vn as zd,Vt as Kd,W as Za,Wn as Xd,Xt as Ir,Yn as Yd,Yt as Qd,a as ei,an as Zd,b as ot,br as ef,ci as tf,cn as On,ct as nf,d as ti,dn as rf,en as ni,gn as of,gt as af,h as jt,ht as Ar,in as sf,ji as ri,kt as lf,li as cf,mi as oi,oi as Tr,ot as uf,pi as df,q as ai,rn as ff,tn as ii,u as si,wt as mf,xn as pf,yn as gf,zn as hf,__tla as bf}from"./cells-B7nz4LNo.js";import{B as yf,N as wf,P as Fr,R as li,S as vf,T as ci,k as Ef,w as Nf}from"./zod-H_cgTO0M.js";import{t as ve}from"./compiler-runtime-B3qBwwSJ.js";import{C as kf,f as Cf,m as Sf,p as xf,t as If,v as Af,w as Tf}from"./ai-model-dropdown-B85JK7Bd.js";import{_ as $e,c as ui,h as Lr,t as Ff,v as Lf}from"./useEventListener-BfYriKqt.js";import{t as Mt}from"./invariant-C2E8KCbD.js";import{_ as di,c as Of,g as fi,h as mi,l as pi,w as Or}from"./utils-BGFUZat2.js";import{S as gi,T as _f,m as Df,o as Uf,r as hi,v as wt,w as Rt}from"./config-B00Uc1a3.js";import{n as Bf,t as Pf}from"./switch-LzzmbPXe.js";import{n as jf}from"./globals-CBDJBT8O.js";import{t as Mf}from"./ErrorBoundary-clTdAaK7.js";import{t as Ze}from"./cn-X2M2usMq.js";import{t as Rf}from"./jsx-runtime-PbYoItBR.js";import{l as Gf,r as Jf,t as Wf}from"./popover-D1IutFqN.js";import{X as Vf,Y as $f,__tla as Hf}from"./JsonOutput-DlWKYXMe.js";import{t as _r}from"./label-BbRibkug.js";import{r as qf}from"./download-D4lN2MwZ.js";import{t as _n}from"./tooltip-CWSr2PfE.js";import{r as Dr,t as ut}from"./button-Db07tdz7.js";import{$t as Gt,E as zf,Et as Kf,H as bi,Ht as vt,I as Xf,Jt as Yf,Kt as dt,Lt as Ur,P as Qf,Pt as Zf,St as em,Tt as yi,Ut as Br,V as wi,Vt as tm,Wt as Jt,X as l,Xt as he,Zt as Xe,_ as nm,a as rm,at as $,bt as om,dt as Dn,ht as am,kt as im,lt as sm,m as lm,mt as cm,nn as Un,ot as um,st as M,ut as et,w as dm,wt as He,xt as fm,zt as Bn}from"./dist-Dez1I5M9.js";import{E as mm,P as pm,S as gm,a as hm,b as bm,c as ym,n as Pr,r as wm,w as vm,x as Em}from"./dist-CwfKvuyQ.js";import{o as vi}from"./arrays-DWxvyYxP.js";import{n as Nm}from"./once-CXj_gH7S.js";import{t as jr}from"./createReducer-3M-fmFeM.js";import{a as km,c as Cm,f as Pn,h as Sm,i as xm,l as Wt,n as Ei,o as Im,t as Am}from"./dist-B0WqBUnf.js";import{t as Tm}from"./main-DmhaVp6Y.js";import{r as jn,t as Fm}from"./requests-KshNNAOp.js";import{t as Lm}from"./createLucideIcon-BTp1tQDO.js";import{r as Ni,t as Om,__tla as _m}from"./layout-Di7Q7AGl.js";import{t as Dm}from"./x-9vLEgLY6.js";import{t as Um}from"./circle-check-Q2N68uwG.js";import{D as ki,E as Bm,I as Pm,L as jm,N as Mm,S as Rm,a as Ci,d as Gm,j as Jm,k as Wm,n as Vm,o as $m,r as Si,s as Hm}from"./add-cell-with-ai-DDmDEBpR.js";import{r as qm,t as zm}from"./file-icons-BAedxhF8.js";import{n as Km}from"./spinner-DTBVbtl-.js";import{n as Mr,t as xi}from"./useDeleteCell-BL1sT2ei.js";import{t as Ii}from"./save-CGxzAyve.js";import{Y as Xm,Z as Ai}from"./input-BpT1_NFw.js";import{t as Ym}from"./sparkles-DctOjjEz.js";import{t as Qm}from"./preload-helper-y72bE5iF.js";import{t as Et}from"./use-toast-BH8bU9Xf.js";import{n as tt}from"./paths-kNeJ8nbe.js";import{t as Zm}from"./session-DF0gSADo.js";import{r as ep}from"./useTheme-BcDiZbxe.js";import{n as Ti}from"./copy-DlC1PYY-.js";import{k as tp}from"./usePress-mjvipKvz.js";import{a as np}from"./useRunCells-D-GyPuRn.js";import{c as Fi,i as Li,n as Oi,r as rp}from"./dialog-CNmqslzW.js";import{t as _i}from"./useHotkey-Dg_dwRCE.js";import{n as Di}from"./ImperativeModal-Da0ki2vE.js";import{i as op}from"./errors-48KFPvCp.js";import{t as K}from"./extends-2LbFKIQQ.js";import{t as Vt}from"./objectWithoutPropertiesLoose-Msf1n32r.js";import{t as ap}from"./kbd-BCXa3Ocm.js";import{a as Rr}from"./useInstallPackage-BaCdyZWe.js";import{i as ip,n as Ui}from"./state-B37Pwlpy.js";import{a as sp,o as lp}from"./cell-link-pz786Lch.js";import{r as Bi}from"./html-to-image-C4EfBRTz.js";import{a as cp}from"./focus-BZmaIt_1.js";import{n as up}from"./useAsyncData-CT1LpOBD.js";import{a as dp,o as Pi,r as fp,s as ji,t as mp}from"./command-hJoUrc2W.js";import{a as Mi}from"./renderShortcut-BV7Qf4L2.js";import{n as pp,t as gp}from"./icons-D3YFXNmD.js";import{n as Nt}from"./esm-DSv-aO_T.js";import{t as Ri}from"./dist-BM-OLiKa.js";import{t as hp}from"./useSplitCell-DkyEaJF7.js";import{co as bp,do as Gr,fo as yp,ft as wp,go as kt,ho as Gi,lo as Jr,mo as Ji,oo as vp,po as Ep,so as Wi,uo as Vi,__tla as Np}from"./loro_wasm_bg-C5TJxMR5.js";import{t as kp}from"./ws-Cb8IUKlU.js";import{t as $i}from"./Inputs-DJ_uXwfo.js";import{n as Cp}from"./hooks-Cbnt6qlO.js";let Wr,$t,Mn,Rn,Gn,Vr,Ee,Hi,qi,zi,Ki,$r,Hr,ft,Xi,Yi,Qi,Ht,Jn,Zi,Sp=Promise.all([(()=>{try{return bf}catch{}})(),(()=>{try{return Hf}catch{}})(),(()=>{try{return _m}catch{}})(),(()=>{try{return Np}catch{}})()]).then(async()=>{var Cn,Ga,ke,Ce,Se,xe,Ie,Ae,Te,Fe,Le,Oe,_e,De,Ue,Be,Pe,je,Me,Re,Ge;var Z=Lm("file-pen",[["path",{d:"M12.659 22H18a2 2 0 0 0 2-2V8a2.4 2.4 0 0 0-.706-1.706l-3.588-3.588A2.4 2.4 0 0 0 14 2H6a2 2 0 0 0-2 2v9.34",key:"o6klzx"}],["path",{d:"M14 2v5a1 1 0 0 0 1 1h5",key:"wfsgrz"}],["path",{d:"M10.378 12.622a1 1 0 0 1 3 3.003L8.36 20.637a2 2 0 0 1-.854.506l-2.867.837a.5.5 0 0 1-.62-.62l.836-2.869a2 2 0 0 1 .506-.853z",key:"zhnas1"}]]);const H={showInput:"Mod-l",acceptEdit:"Mod-y",rejectEdit:"Mod-u"};var ye=300;const St=Jt.define({combine:e=>Un(e,{onError:console.error,inputDebounceTime:ye,keymaps:H},{onError:(t,n)=>t&&n,inputDebounceTime:(t,n)=>t&&n,keymaps:(t,n)=>t&&n})}),at=he.define(),it=Xe.define({create(){return{show:!1,lineFrom:0,lineTo:0}},update(e,t){for(let n of t.effects)if(n.is(at))return n.value;return e}}),xt=he.define(),It=he.define(),zr=Xe.define({create(){return{shouldFocus:!1,inputValue:""}},update(e,t){let n=e;for(let r of t.effects)r.is(xt)&&(n={...n,inputValue:r.value}),r.is(It)&&(n={...n,shouldFocus:r.value});return n}}),qt=he.define(),At=Xe.define({create(){return null},update(e,t){for(let n of t.effects)if(n.is(qt))return n.value;return e}}),mt=he.define(),Kr=Xe.define({create(){return!1},update(e,t){for(let n of t.effects)if(n.is(mt))return n.value;return e}});var es=1;const Xr=e=>{let{state:t}=e,n=t.selection.main;if(n.empty)return!1;let r=t.doc,o=r.lineAt(n.from),a=r.lineAt(n.to);if(t.sliceDoc(o.from,a.to).trim().length<es)return!1;let i=Math.max(1,Math.min(o.number,r.lines)),s=Math.max(1,Math.min(a.number,r.lines));return e.dispatch({effects:[at.of({show:!0,lineFrom:i,lineTo:s}),It.of(!0),xt.of("")],selection:vt.cursor(o.from)}),!0},Yr=e=>e.state.field(At)?(e.dispatch({effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),It.of(!1),xt.of(""),mt.of(!1)]}),!0):!1,Qr=e=>{let t=e.state.field(At);return t?(e.dispatch({changes:{from:t.from,to:t.to,insert:t.oldCode},effects:[qt.of(null),at.of({show:!1,lineFrom:0,lineTo:0}),It.of(!1),xt.of(""),mt.of(!1)]}),!0):!1};var Wn={mac:"\u2318",windows:"\u229E Win",default:"Ctrl"};function ts(){return navigator.platform.startsWith("Mac")?Wn.mac:navigator.platform.startsWith("Win")?Wn.windows:Wn.default}function Vn(e){return e.replace("Mod",ts()).replace("-"," ").toUpperCase()}function me(e,t){let n=document.createElement(e);return n.className=t,n}function ns(e,t,n=void 0){let r=()=>{};return(...o)=>(r(),new Promise((a,i)=>{let s=setTimeout(()=>a(e(...o)),t);r=()=>{clearTimeout(s),n!==void 0&&i(n)}}))}var zt=Xe.define({create(){return{suggestion:null}},update(e,t){let n=t.effects.find(r=>r.is(Kt));return!t.docChanged&&!n&&!t.selection?e:n&&t.state.doc===n.value.doc?{suggestion:n.value.text}:{suggestion:null}}}),Kt=he.define();function rs(e,t){let n=e.state.selection.main.head,r=[],o=$.widget({widget:new os(t),side:1});return r.push(o.range(n)),$.set(r)}var os=class extends Dn{constructor(t){super();p(this,"suggestion");this.suggestion=t}toDOM(){let t=document.createElement("span");return t.style.opacity="0.4",t.className="cm-inline-suggestion",t.textContent=this.suggestion,t.setAttribute("role","suggestion"),t.setAttribute("aria-label",`Suggestion: ${this.suggestion}`),t}get lineBreaks(){return this.suggestion.split(`
3
3
  `).length-1}},as=class{constructor(e){p(this,"cache",new Map);p(this,"timeout");this.timeout=e}get(e){let t=this.cache.get(e);return t?Date.now()-t.timestamp>this.timeout?(this.cache.delete(e),null):t.result:null}set(e,t){this.cache.set(e,{result:t,timestamp:Date.now()})}},is=(e,t)=>et.fromClass(class{constructor(){p(this,"abortController",null);p(this,"cache");this.cache=new as(t.cacheTimeout??1e3)}async update(n){var i,s,c,u,d;if(!n.docChanged||((s=(i=t.events)==null?void 0:i.beforeSuggestionFetch)==null?void 0:s.call(i,n.view))===!1)return;(c=this.abortController)==null||c.abort(),this.abortController=new AbortController;let r=n.state.doc,o=r.toString(),a=this.cache.get(o);if(a){n.view.dispatch({effects:Kt.of({text:a,doc:r})});return}try{let f=await e(n.state,this.abortController.signal,n.view);if(this.abortController.signal.aborted||((d=(u=t.events)==null?void 0:u.shouldShowSuggestion)==null?void 0:d.call(u,n.view,f))===!1)return;this.cache.set(o,f),n.view.dispatch({effects:Kt.of({text:f,doc:r})})}catch(f){f instanceof Error&&f.name!=="AbortError"&&console.error("Suggestion fetch error:",f)}}destroy(){var n;(n=this.abortController)==null||n.abort()}}),ss=et.fromClass(class{constructor(){p(this,"decorations");this.decorations=$.none}update(e){var n;let t=(n=e.state.field(zt))==null?void 0:n.suggestion;if(!t){this.decorations=$.none;return}this.decorations=rs(e.view,t)}},{decorations:e=>e.decorations});function ls(e,t,n,r){return{...e.changeByRange(o=>{if(o===e.selection.main)return{changes:{from:n,to:r,insert:t},range:vt.cursor(n+t.length)};let a=r-n;return!o.empty||a&&e.sliceDoc(o.from-a,o.from)!==e.sliceDoc(n,r)?{range:o}:{changes:{from:o.from-a,to:o.from,insert:t},range:vt.cursor(o.from-a+t.length)}}),userEvent:"input.complete"}}var cs=e=>{var r,o,a;let t=(r=e.state.field(zt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({...ls(e.state,t,e.state.selection.main.head,e.state.selection.main.head)}),(a=(o=n.events)==null?void 0:o.onSuggestionAccepted)==null||a.call(o,e,t),!0},Zr=e=>{var r,o,a;let t=(r=e.state.field(zt))==null?void 0:r.suggestion;if(!t)return!1;let n=e.state.facet($n);return e.dispatch({effects:Kt.of({text:null,doc:e.state.doc})}),(a=(o=n.events)==null?void 0:o.onSuggestionRejected)==null||a.call(o,e,t),!0},us=He.of([{key:"Tab",run:cs},{key:"Escape",run:Zr}]),$n=Jt.define({combine:e=>e.at(-1)});function eo(e){let{delay:t=500,includeKeymap:n=!0}=e,r=ns(e.fetchFn,t);return[zt,$n.of(e),is(r,e),ss,n?us:[]]}const ds=M.baseTheme({".cm-ai-input-container":{display:"flex",flexDirection:"column",gap:"4px",width:"min(calc(100% + 7px), 500px)",padding:"5px 5px",margin:"0 -6px",backgroundColor:"light-dark(rgb(241, 243, 245), rgb(40, 40, 40))"},".cm-ai-input":{display:"block",width:"100%",padding:"3px 8px",border:"2px solid rgb(51, 154, 240)",borderRadius:"5px",fontSize:"12px"},".cm-ai-help-info-button":{fontSize:"10px",paddingLeft:"10px",height:"18px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",display:"block",marginRight:"auto"},".cm-ai-help-info-button:hover":{color:"light-dark(rgb(89, 97, 105), rgb(190, 190, 190))"},".cm-ai-generate-button":{background:"#0E639C",border:"none",padding:"2px 6px",color:"#ffffff",cursor:"pointer",font:"inherit",borderRadius:"4px","&:hover":{backgroundColor:"#1177bb"}},".cm-line.cm-ai-selection, .cm-line.cm-ai-selection.cm-active-line":{backgroundColor:"light-dark(color-mix(in srgb, rgb(223, 227, 232) 50%, transparent), color-mix(in srgb, rgb(50, 50, 50) 50%, transparent)) !important"},".cm-line:has(.cm-new-code-line)":{backgroundColor:"light-dark(color-mix(in srgb, rgb(183, 235, 143) 50%, transparent), color-mix(in srgb, rgb(40, 100, 40) 50%, transparent)) !important"},".cm-old-code-container":{backgroundColor:"light-dark(rgb(255, 205, 205), rgb(100, 40, 40))",position:"relative",display:"flex",paddingTop:"0",width:"100%",alignItems:"center"},".cm-code-button":{position:"absolute",right:"5px",top:"50%",transform:"translateY(-50%)",background:"none",border:"none",cursor:"pointer",fontSize:"16px"},".cm-floating-buttons":{fontFamily:"sans-serif",position:"absolute",top:"-20px",left:"5px",display:"flex"},".cm-floating-button":{fontFamily:"sans-serif",padding:"2px 5px",fontSize:"10px",cursor:"pointer",fontWeight:"700"},".cm-floating-accept":{backgroundColor:"light-dark(rgb(55, 125, 34), rgb(40, 80, 25))",borderTopLeftRadius:"5px",borderBottomLeftRadius:"5px",color:"white",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".cm-floating-reject":{backgroundColor:"light-dark(rgb(220, 53, 69), rgb(180, 40, 50))",color:"white",borderTopRightRadius:"5px",borderBottomRightRadius:"5px",filter:"brightness(90%)","&:hover":{filter:"brightness(100%)"}},".hotkey":{display:"inline-block",padding:"0 4px",borderRadius:"3px",backgroundColor:"rgba(255, 255, 255, 0.1)",fontSize:"90%"},".cm-ai-loading-indicator":{fontStyle:"italic",fontSize:"10px",paddingLeft:"12px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",opacity:"0",transition:"opacity 0.3s ease-in-out","&::after":{content:'""',display:"inline-block",animation:"ellipsis-pulse 1.5s steps(4, end) infinite"},"&:not(:empty)":{opacity:"1"}},".cm-ai-input:disabled":{opacity:"0.5"},"@keyframes ellipsis-pulse":{"0%":{content:"'.'"},"25%":{content:"'..'"},"50%":{content:"'...'"},"75%":{content:"''"}},".cm-ai-loading-container":{display:"flex",alignItems:"center",padding:"0 8px"},".cm-ai-cancel-button":{padding:"2px 8px",fontSize:"10px",borderRadius:"4px",color:"light-dark(rgb(109, 117, 125), rgb(170, 170, 170))",cursor:"pointer","&:hover":{background:"light-dark(rgb(223, 227, 232), rgb(50, 50, 50))"}},".hidden":{display:"none"}});function fs(e){var s,c;let t=e.state.facet(St),n={...H,...t.keymaps},r=e.state.facet(Xt),o=me("div","cm-ai-tooltip").appendChild(me("div","cm-ai-tooltip-button")),a=o.appendChild(document.createElement("span"));a.textContent=`${r.label} `;let i=a.appendChild(document.createElement("span"));return i.className="hotkey",i.textContent=Vn(n.showInput),(s=o.querySelector("span"))==null||s.addEventListener("mousedown",u=>{u.stopPropagation(),u.button===0&&u.preventDefault()}),(c=o.querySelector("span"))==null||c.addEventListener("click",u=>{u.preventDefault(),Xr(e)}),o}const Xt=Jt.define({combine(e){return Un(e,{render:fs,hideOnBlur:!1,label:"Edit with AI"})}}),ms=et.fromClass((Ga=class{constructor(e){p(this,"view");p(this,"suppress");p(this,"dom");p(this,"mousedown",()=>{this.suppress=!0});p(this,"mouseup",()=>{this.suppress=!1,this.display(this.view)});p(this,"scroll",()=>{this.display(this.view)});p(this,"windowScroll",()=>{this.display(this.view)});Ha(this,Cn,e=>{var n;let t=e.state.selection.ranges.find(r=>!r.empty);if(t&&!this.suppress){let r=e.coordsAtPos(t.from),o=e.coordsAtPos(t.to);if(!r||!o)return;let a=e.dom.getBoundingClientRect(),i=(n=e.dom.parentElement)==null?void 0:n.getBoundingClientRect(),s=v=>v.top>=a.top&&v.top<=a.bottom&&v.left>=a.left&&v.left<=a.right,c=v=>!i||v.top>=i.top&&v.top<=i.bottom&&v.left>=i.left&&v.left<=i.right,u=s(r)||s(o),d=c(r)||c(o);if(!u||!d){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}this.dom.style.display="flex",this.dom.setAttribute("aria-hidden","false");let f=this.dom.getBoundingClientRect(),g=s(r)?r:o,m=a.right-f.width,h=Math.min(g.left,m),w=g.top-f.height,y=i?i.y:-1/0;w<y&&(w=o.bottom),this.dom.style.left=`${h}px`,this.dom.style.top=`${w}px`,requestAnimationFrame(()=>{this.dom&&this.dom.setAttribute("aria-hidden","false")})}else this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true")});this.view=e;let t=e.state.facet(Xt);this.suppress=!1,document.addEventListener("mousedown",this.mousedown),document.addEventListener("mouseup",this.mouseup),e.scrollDOM.addEventListener("scroll",this.scroll),window.addEventListener("scroll",this.windowScroll,!0);let n=t.render(e);e.dom.appendChild(n),this.dom=n}update(e){this.display(e.view)}docViewUpdate(e){this.display(e)}display(e){if(e.state.field(it).show){this.dom.style.display="none";return}if(e.state.facet(Xt).hideOnBlur&&!e.hasFocus){this.dom.style.display="none",this.dom.setAttribute("aria-hidden","true");return}e.requestMeasure({read:$a(this,Cn)})}destroy(){document.removeEventListener("mousedown",this.mousedown),document.removeEventListener("mouseup",this.mouseup),this.view.scrollDOM.removeEventListener("scroll",this.scroll),window.removeEventListener("scroll",this.windowScroll,!0),this.dom.remove()}},Cn=new WeakMap,Ga));var ps=M.baseTheme({".cm-ai-tooltip-button":{userSelect:"none",fontFamily:"system-ui, -apple-system, sans-serif",position:"fixed",display:"flex",boxSizing:"border-box",padding:"2px 6px",borderRadius:"4px",fontSize:"12px",backgroundColor:"#0E639C",color:"#ffffff",border:"1px solid transparent",boxShadow:"0 2px 4px rgba(0,0,0,0.1)",zIndex:"999",transition:"opacity 0.5s","&[aria-hidden='true']":{opacity:"0"},"&[aria-hidden='false']":{opacity:"1"},"& > span":{pointerEvents:"auto",cursor:"pointer",display:"inline-block",padding:"2px"},"&:hover":{backgroundColor:"#1177bb"}}});function gs(){return[ms,ps]}var hs=class extends Dn{constructor(t){super();p(this,"oldCode");this.oldCode=t}toDOM(t){let n=me("div","cm-old-code-container");n.setAttribute("role","region"),n.setAttribute("aria-label","Previous code version");let r=me("div","cm-old-code cm-line");r.textContent=this.oldCode;let o=me("div","cm-floating-buttons"),a=t.state.facet(St),i={...H,...a.keymaps},s=me("button","cm-floating-button cm-floating-accept");s.innerHTML=`<span class="hotkey">${Vn(i.acceptEdit)}</span> Accept`,s.setAttribute("aria-label","Accept changes"),s.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Yr(t)});let c=me("button","cm-floating-button cm-floating-reject");return c.innerHTML=`<span class="hotkey">${Vn(i.rejectEdit)}</span> Reject`,c.setAttribute("aria-label","Reject changes"),c.addEventListener("click",u=>{u.preventDefault(),u.stopPropagation(),t.focus(),Qr(t)}),o.append(s,c),n.append(r,o),n}updateDOM(t,n){return!0}},bs=class extends Dn{constructor(t){super();p(this,"complete");p(this,"abortController",null);p(this,"dom",null);p(this,"input",null);p(this,"loadingContainer",null);p(this,"helpInfo",null);p(this,"inputContainer",null);p(this,"form",null);p(this,"view",null);p(this,"onKeyDown",async t=>{t.key==="Enter"&&!t.shiftKey?(t.preventDefault(),await this.handleSubmit()):t.key==="Escape"&&this.onCancel()});p(this,"onCancel",()=>{this.cleanup();let t=this.view;t&&(t.dispatch({effects:[at.of({show:!1,lineFrom:0,lineTo:0}),mt.of(!1)]}),t.focus())});p(this,"handleSubmit",async t=>{var h;let n=this.view;if(!n)return;let r=n.state.facet(St);t==null||t.stopPropagation();let o=n.state.field(it),{input:a}=this;if(!a)return;let i=a.value.trim();if(!o.show||!i)return;let s=n.state.doc.line(o.lineFrom),c=n.state.doc.line(o.lineTo),u=s.from,d=c.to,f=n.state.sliceDoc(u,d),g=n.state.sliceDoc(0,u),m=n.state.sliceDoc(d);this.abortController=new AbortController,n.dispatch({effects:mt.of(!0)}),this.toggleLoading(!0);try{let w=await this.complete({prompt:i,selection:f,codeBefore:g,codeAfter:m,editorView:n,signal:this.abortController.signal});if(!n.state.field(it).show)return;if(!w||typeof w!="string")throw Error("Invalid completion result");n.dispatch({changes:{from:u,to:d,insert:w},effects:[at.of({show:!1,lineFrom:0,lineTo:0}),qt.of({from:u,to:u+w.length,oldCode:f,newCode:w}),mt.of(!1)]})}catch(w){if(w instanceof DOMException&&w.name==="AbortError")return;(h=r.onError)==null||h.call(r,w)}finally{this.cleanup(),this.toggleLoading(!1),n.focus()}});this.complete=t}toDOM(t){if(this.dom)return this.dom;this.view=t;let n=t.state.field(zr),r=t.state.field(Kr),o=me("div","cm-ai-input-container");this.inputContainer=o,this.dom=o;let a=me("form","cm-ai-input-form");this.form=a,a.setAttribute("role","search"),a.setAttribute("aria-label","AI editing instructions"),a.addEventListener("submit",y=>y.preventDefault());let i=me("input","cm-ai-input");this.input=i,a.append(i),i.placeholder="Editing instructions...",i.setAttribute("aria-label","AI editing instructions"),i.setAttribute("autocomplete","off"),i.setAttribute("spellcheck","true"),i.value=n.inputValue;let s=me("div","cm-ai-loading-container");this.loadingContainer=s;let c=me("div","cm-ai-loading-indicator");c.setAttribute("role","status"),c.setAttribute("aria-live","polite"),c.textContent="Generating";let u=me("button","cm-ai-cancel-button");u.textContent="Cancel",u.setAttribute("aria-label","Cancel code generation"),u.addEventListener("click",this.onCancel),s.append(u,c);let d=me("div","cm-ai-help-info");this.helpInfo=d;let f=d.appendChild(document.createElement("button"));f.className="cm-ai-help-info-button",f.textContent="Esc to close",f.addEventListener("click",this.onCancel);let g=me("button","cm-ai-generate-button");g.textContent="\u23CE Generate",g.setAttribute("aria-label","Generate code"),g.addEventListener("click",this.handleSubmit),this.toggleLoading(r),n.shouldFocus&&requestAnimationFrame(()=>{i.value=n.inputValue,i.focus(),t.dispatch({effects:It.of(!1)})}),m(i.value),i.addEventListener("input",w),i.addEventListener("keydown",this.onKeyDown);function m(y){d.replaceChildren(y?g:f)}let h="";function w(){t.dispatch({effects:xt.of(i.value)});let y=i.value.trim();y!==h&&(h=y,m(y))}return o}toggleLoading(t){var n;this.inputContainer&&this.form&&this.loadingContainer&&this.helpInfo&&((n=this.inputContainer)==null||n.replaceChildren(this.form,t?this.loadingContainer:this.helpInfo))}updateDOM(t,n){return this.dom=t,this.input=t.querySelector(".cm-ai-input"),!0}cleanup(){var t,n,r;(t=this.abortController)==null||t.abort(),this.abortController=null,(n=this.dom)==null||n.remove(),(r=this.input)==null||r.remove(),this.dom=null,this.input=null}destroy(){this.cleanup()}};function ys(e){if(!e.prompt)throw Error("prompt function is required");let t={...H,...e.keymaps};return[St.of(e),it,zr,At,Kr,gs(),ds,He.of([{key:t.showInput,run:Xr}]),dt.highest([He.of([{key:t.acceptEdit,run:Yr},{key:t.rejectEdit,run:Qr}])]),ws,vs,Es,Ns]}const ws=M.updateListener.of(e=>{let t=e.state.field(it);if(!t.show||!e.docChanged)return;let{lineFrom:n,lineTo:r}=t,o=!1;e.changes.iterChanges((a,i,s,c)=>{let u=e.state.doc.lineAt(a).number;if(u<n){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;n+=d,r+=d,o=!0}else if(u<=r){let d=e.state.doc.lineAt(c).number-e.state.doc.lineAt(s).number;r+=d,o=!0}}),o&&e.view.dispatch({effects:[at.of({show:!0,lineFrom:n,lineTo:r})]})}),vs=M.decorations.of(e=>{let t=e.state.field(At);return t?$.set([$.mark({class:"cm-new-code-line"}).range(t.from,t.to)]):$.none}),Es=M.decorations.compute([it],e=>{let t=e.field(it),n=e.facet(St),r=[];if(t.show){let o=t.lineFrom,a=t.lineTo;for(let i=o;i<=a;i++){let s=e.doc.line(i).from;r.push($.line({class:"cm-ai-selection"}).range(s)),i===o&&r.push($.widget({widget:new bs(n.prompt),side:-1}).range(s))}}return $.set(r)}),Ns=Xe.define({create(e){return $.none},update(e,t){let n=t.state.field(At);return n?$.set([$.widget({widget:new hs(n.oldCode),block:!0}).range(n.from)]):$.none},provide:e=>M.decorations.from(e)});var ks=ve(),A=qa(_d(),1),Hn=()=>({entries:new Map}),{valueAtom:to,useActions:no}=jr(Hn,{submit:(e,t)=>{let{cellIds:n,deleteCell:r,deleteManyCells:o,store:a}=t,i=a.get(ot),s=a.get(hf),c=new Set(i.cellIds.inOrderIds.filter(f=>i.cellData[f].code.trim()==="")),u=new Map;for(let f of n){if(c.has(f)){u.set(f,{cellId:f,type:"simple"});continue}let g=i.cellRuntime[f],m=new Map;for(let w of Object.values(s)){let y=w.declaredBy.includes(f),v=w.usedBy.some(C=>!c.has(C));y&&v&&m.set(w.name,w.usedBy)}let h;g!=null&&g.runElapsedTimeMs&&g.runElapsedTimeMs>2e3&&(h=g.runElapsedTimeMs),m.size===0&&h===void 0?u.set(f,{cellId:f,type:"simple"}):u.set(f,{cellId:f,type:"expensive",executionDurationMs:h,defs:m})}let d=[...u.values()].every(f=>f.type==="simple");return u.size>0&&d?(u.size===1?r({cellId:[...u.values()][0].cellId}):o({cellIds:[...u.values()].map(f=>f.cellId)}),Hn()):{...e,entries:u}},clear:()=>Hn()});Mn=function(){let e=kr(),{submit:t,clear:n}=no(),{entries:r}=ie(to),o=xi(),a=Mr();return(0,A.useMemo)(()=>({submit:i=>{t({cellIds:i,deleteCell:o,deleteManyCells:a,store:e})},clear:n,get idle(){return r.size===0},get shouldConfirmDelete(){return r.size>1}}),[e,t,n,r,o,a])},Zi=function(e){let t=(0,ks.c)(16),n=ie(to),r=no(),o=Mr(),a;t[0]!==e||t[1]!==n.entries?(a=n.entries.get(e),t[0]=e,t[1]=n.entries,t[2]=a):a=t[2];let i=a;if(!i){let d;return t[3]===Symbol.for("react.memo_cache_sentinel")?(d={isPending:!1},t[3]=d):d=t[3],d}if(n.entries.size!==1){let d;return t[4]===i?d=t[5]:(d={isPending:!0,shouldConfirmDelete:!1,...i},t[4]=i,t[5]=d),d}let s;t[6]!==r||t[7]!==o||t[8]!==n.entries?(s=()=>{o({cellIds:[...n.entries.values()].map(Cs)}),r.clear()},t[6]=r,t[7]=o,t[8]=n.entries,t[9]=s):s=t[9];let c;t[10]===r?c=t[11]:(c=()=>r.clear(),t[10]=r,t[11]=c);let u;return t[12]!==i||t[13]!==s||t[14]!==c?(u={isPending:!0,...i,shouldConfirmDelete:!0,confirm:s,cancel:c},t[12]=i,t[13]=s,t[14]=c,t[15]=u):u=t[15],u};function Cs(e){return e.cellId}var ro=["python","sql","markdown"];function qn(e,t={}){var u;let{streaming:n=!1}=t,r=((u=e.match(/^\s*/))==null?void 0:u[0])??"",o=e.slice(r.length),a=null,i=!1;for(let d of ro)if(o.startsWith(`\`\`\`${d}`)){i=!0,a=o.slice(3+d.length),a.startsWith(`
4
4
  `)&&(a=a.slice(1));break}if(!i&&o.startsWith("```")){let d=o.slice(3);if(n&&Ss(d))return e;i=!0,a=d,a.startsWith(`
5
5
  `)&&(a=a.slice(1))}if(!i||a===null)return e;if(n)return a;let s=a.trimEnd(),c=a.slice(s.length);return s.endsWith("\n```")?s.slice(0,-4)+c:s.endsWith("```")?s.slice(0,-3)+c:a}function Ss(e){return e.includes(`
@@ -1 +1 @@
1
- import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as j,n as w,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Lt as A,M as D,P as E,Ui as S,hn as T,ji as _}from"./cells-D3EcEVTz.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-BfYriKqt.js";import{p as F}from"./utils-BGFUZat2.js";import{r as I}from"./constants-B9JJ72XE.js";import{v as M,w as U}from"./config-B00Uc1a3.js";import{t as q}from"./cn-X2M2usMq.js";import{t as B}from"./jsx-runtime-PbYoItBR.js";import{r as H}from"./requests-KshNNAOp.js";import{n as R}from"./paths-kNeJ8nbe.js";import{s as V}from"./session-DF0gSADo.js";import{n as W}from"./ImperativeModal-CEtvKaPt.js";var z=b();function N(){return O(_)}function G(){let r=(0,z.c)(5),[t]=j(M),e=P(_),{openAlert:s}=W(),{sendRename:o}=H(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=F();return t.state===U.OPEN?(V(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||R.basename(l)||"Untitled Notebook",l)).catch(i=>(s(i.message),null))):(s("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=s,r[2]=o,r[3]=e,r[4]=a):a=r[4],w(a)}var p=b(),v=L(B(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=E()[s]??"",C=D().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??Q,c;t[0]===e?c=t[1]:(c=q("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==s||t[3]!==a||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(s==="__scratch__")return!1;d({cellId:s}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(s,o,n)&&(a==null||a())})},t[2]=s,t[3]=a,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(A(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},J=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},K=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>T(e,s),t[0]=e,t[1]=s,t[2]=a):a=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]!==a||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:a,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=a,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let s=S.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?($.error(`Cell ${s} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||a&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!a&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function Q(r){return r}export{N as a,x as i,J as n,G as o,K as r,h as t};
1
+ import{s as L}from"./chunk-LvLJmgfZ.js";import{d as P,l as j,n as w,u as O}from"./useEvent-D91BmmQi.js";import{D as y,Lt as A,M as D,P as E,Ui as S,hn as T,ji as _}from"./cells-B7nz4LNo.js";import{t as b}from"./compiler-runtime-B3qBwwSJ.js";import{_ as $}from"./useEventListener-BfYriKqt.js";import{p as F}from"./utils-BGFUZat2.js";import{r as I}from"./constants-B9JJ72XE.js";import{v as M,w as U}from"./config-B00Uc1a3.js";import{t as q}from"./cn-X2M2usMq.js";import{t as B}from"./jsx-runtime-PbYoItBR.js";import{r as H}from"./requests-KshNNAOp.js";import{n as R}from"./paths-kNeJ8nbe.js";import{s as V}from"./session-DF0gSADo.js";import{n as W}from"./ImperativeModal-Da0ki2vE.js";var z=b();function N(){return O(_)}function G(){let r=(0,z.c)(5),[t]=j(M),e=P(_),{openAlert:s}=W(),{sendRename:o}=H(),a;return r[0]!==t.state||r[1]!==s||r[2]!==o||r[3]!==e?(a=async l=>{let n=F();return t.state===U.OPEN?(V(i=>{l===null?i.delete(I.filePath):i.set(I.filePath,l)}),o({filename:l}).then(()=>(e(l),document.title=n.app_title||R.basename(l)||"Untitled Notebook",l)).catch(i=>(s(i.message),null))):(s("Failed to save notebook: not connected to a kernel."),null)},r[0]=t.state,r[1]=s,r[2]=o,r[3]=e,r[4]=a):a=r[4],w(a)}var p=b(),v=L(B(),1);const h=r=>{let t=(0,p.c)(12),{className:e,cellId:s,variant:o,onClick:a,formatCellName:l,skipScroll:n}=r,i=E()[s]??"",C=D().inOrderIds.indexOf(s),{showCellIfHidden:d}=y(),g=l??Q,c;t[0]===e?c=t[1]:(c=q("inline-block cursor-pointer text-link hover:underline",e),t[0]=e,t[1]=c);let m;t[2]!==s||t[3]!==a||t[4]!==d||t[5]!==n||t[6]!==o?(m=k=>{if(s==="__scratch__")return!1;d({cellId:s}),k.stopPropagation(),k.preventDefault(),requestAnimationFrame(()=>{x(s,o,n)&&(a==null||a())})},t[2]=s,t[3]=a,t[4]=d,t[5]=n,t[6]=o,t[7]=m):m=t[7];let f=g(A(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},J=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},K=r=>{let t=(0,p.c)(10),{cellId:e,lineNumber:s}=r,o=N(),a;t[0]!==e||t[1]!==s?(a=()=>T(e,s),t[0]=e,t[1]=s,t[2]=a):a=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]!==a||t[8]!==l?(n=(0,v.jsx)(h,{cellId:e,onClick:a,skipScroll:!0,variant:"destructive",className:"traceback-cell-link",formatCellName:l}),t[6]=e,t[7]=a,t[8]=l,t[9]=n):n=t[9],n};function x(r,t,e){let s=S.create(r),o=document.getElementById(s),a=o==null?void 0:o.classList.contains("has-error");return o===null?($.error(`Cell ${s} not found on page.`),!1):(e||o.scrollIntoView({behavior:"smooth",block:"center"}),(t==="destructive"||a&&t===void 0)&&(o.classList.add("error-outline"),setTimeout(()=>{o.classList.remove("error-outline")},2e3)),(t==="focus"||!a&&t===void 0)&&(o.classList.add("focus-outline"),setTimeout(()=>{o.classList.remove("focus-outline")},2e3)),!0)}function Q(r){return r}export{N as a,x as i,J as n,G as o,K as r,h as t};
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-CX-gNDKf.js","./chunk-LvLJmgfZ.js","./dist-FCPDbCwM.js","./dist-CfGDksO-.js","./dist-B0WqBUnf.js","./dist-Dez1I5M9.js","./dist-Cxy3nG1R.js","./dist-BrSPXZRF.js","./dist-CKjd2mnC.js","./dist-D-o1OXc9.js","./dist-DCqoZgOE.js","./dist-6Nc6OWsm.js","./dist-CwSi3e6S.js","./dist-Bj9Iedc0.js","./dist-BZhJ1bTM.js","./dist-48nrLIvG.js","./dist-zuEISlEm.js","./dist-CPAr7_4H.js","./dist-D2d32pt2.js","./dist-CLy-bDKf.js","./dist-C_bgpEE1.js","./dist-BUZOkWVK.js","./dist-J82-oGH3.js","./dist-DUqBo8Mw.js","./dist-lsJEFMYe.js","./dist-CDoqQkZk.js","./dist-DU6-XN1L.js","./dist-DHMtQYxT.js","./dist-DXL6Nlyz.js","./dist-D4sM9Hux.js","./dist-DZJfnBKu.js","./dist-DnIl7RU-.js","./dist-Bw7zvP-n.js","./dist-BMVtDS2X.js","./dist-AOYX6Fzm.js","./dist-teiEd76o.js","./dist-D3FMkPKV.js","./dist-CNHvc90A.js","./dist-9asOVuAZ.js","./dist-fRNNW4KX.js","./dist-TrltNtjY.js","./dist-CdqhtJoV.js","./apl-Bl4yyYus.js","./apl-iXnrDoYq.js","./asciiarmor-BlzLkEza.js","./asciiarmor-CK-aFa78.js","./asn1-Khb778U5.js","./asn1-DWJdxrMP.js","./brainfuck-BzHxpB_u.js","./brainfuck-0bMZHpH_.js","./cobol-Cs8YSzaw.js","./cobol-C9SsG--s.js","./clike-TW9KXOmZ.js","./clike-5SQqmvx2.js","./clojure-C_sT-_CQ.js","./clojure-B0kIwyv8.js","./css-BJpII9DZ.js","./css-aQ-Krb7T.js","./cmake-BjrhHx8m.js","./cmake-CLXeINvH.js","./coffeescript-juXyFkA0.js","./coffeescript-UIQG6RnU.js","./commonlisp-Cmn_5nuv.js","./commonlisp-BBPumpJY.js","./cypher-D549BT6Q.js","./cypher-DEE4_Yec.js","./python-DGMqnM8m.js","./python-UQl3_T6H.js","./crystal-DJrWmXfk.js","./crystal-CGN1wsuY.js","./d-CQplIm4C.js","./d-CgJ8N-gL.js","./diff-Dz2enOOE.js","./diff-B8e18dKs.js","./dockerfile-AiWrCVkd.js","./simple-mode-CZ1ts7NY.js","./dtd-DxzWHAng.js","./dtd-DtwMcoo9.js","./dylan-Bj1NVjKa.js","./dylan-Be6i1K-V.js","./ecl-Ch-B_r8E.js","./ecl-D5tlhe8s.js","./eiffel-CICk6vIb.js","./eiffel-8SQWO4xP.js","./elm-C1O6zP9K.js","./elm-CtGe_7Jw.js","./erlang-BwL41NIP.js","./erlang-CNwX3Z_M.js","./factor-DjzhghfA.js","./factor-DgyyQiBQ.js","./forth-D9Pm6H-4.js","./forth-CaVwPSxM.js","./fortran-Bkmw-ITl.js","./fortran-B28t9xoj.js","./mllike-sRDGjaMs.js","./mllike-CB0tp4Bz.js","./gas-hS11Npqh.js","./gas-BSiJHAcz.js","./gherkin-HvvvGZ2_.js","./gherkin-1QurHPOF.js","./groovy-BymCZpo_.js","./groovy-DFOLwJLv.js","./haskell-D1PB_nO2.js","./haskell-CUN2jxPH.js","./haxe-BbvC3Y-d.js","./haxe-BYzKptPQ.js","./idl-Do8pA7p2.js","./idl-cdmrQY5J.js","./javascript-C0HGxgJT.js","./javascript-l5LYdpfx.js","./julia-B-Inh9cI.js","./julia-DxiTohY8.js","./livescript-C6P4ddCY.js","./livescript-BZkzGFkJ.js","./lua-DTvhQBWH.js","./lua-rVV1vLen.js","./mirc-D0yC5rBL.js","./mirc-CdWws4At.js","./mathematica-wRwDN36m.js","./mathematica-DktJ0aJB.js","./modelica-CTTCwBwt.js","./modelica-DQGg_xsi.js","./mumps-eJkJqAKw.js","./mumps-BzlVzIzl.js","./mbox-BeQS3Xo8.js","./mbox-Ch6IVA7h.js","./nsis-B3ap5r7i.js","./nsis-bDE8IZXy.js","./ntriples-B2LCbtl9.js","./ntriples-BndMB6TK.js","./octave-DhLlnMzQ.js","./octave-DhnkL0CH.js","./oz-CLovtD0B.js","./oz-DbZmNL9y.js","./pascal-BJwozZXL.js","./pascal-DhE1sEjD.js","./perl-B3rIP59U.js","./perl-BOZHK4Y3.js","./pig-BQrpamWX.js","./pig-eswHTOE9.js","./powershell-Crqgmja1.js","./powershell-pm9G_Qg5.js","./properties-BMPI0iSd.js","./properties-7VoeFdHR.js","./protobuf-BMPWl2Em.js","./protobuf-BAsuCsmK.js","./pug-BvTKD58f.js","./pug-CcL3ml0F.js","./puppet-B1rTmaHH.js","./puppet-DUYPK8CV.js","./q-BNL1PH4D.js","./q-CnvA_jxT.js","./r-DOvfvYEk.js","./r-fM1OLzJB.js","./rpm-B7R9RTHE.js","./rpm-D62D_dq6.js","./ruby-BGJp-XLA.js","./ruby-DemvBD0m.js","./sas-CZmYq1Si.js","./sas-CZjYQi4h.js","./scheme-CdW_eMia.js","./scheme-nPNaP0Qp.js","./shell-oPdLMo8m.js","./shell-BE2ANxN1.js","./sieve-DEd8Bmn8.js","./sieve-DXFUN4C7.js","./smalltalk-CnqQIV2W.js","./smalltalk-DwXXlSAY.js","./sparql-DKyVXlni.js","./sparql-CgejAdiJ.js","./stylus-Dk_-yu_w.js","./stylus-CslB9TS3.js","./swift-CjrgUbUd.js","./swift-5t7SQPo8.js","./stex-CruVQx-P.js","./stex-C6JeW1YI.js","./verilog-CqmLdpPq.js","./verilog-CIyPdzYJ.js","./tcl-DCmY87p6.js","./tcl-Ddpe8YBc.js","./textile-C_0nHQXl.js","./textile-D_Db33mq.js","./toml-DRTXXEvh.js","./toml-CgkLq_pv.js","./troff-Cc6RCKwc.js","./troff-6nX9d05T.js","./ttcn-B_hjyyZd.js","./ttcn-Dd4SMoHT.js","./ttcn-cfg-C9kHEAnH.js","./ttcn-cfg-ByNDYolW.js","./turtle-BpKw2L0C.js","./turtle-LDF8uFGv.js","./webidl-I7JvNTQ0.js","./webidl-C23hA3Le.js","./vb-DrexAmUA.js","./vb-DaLxM60T.js","./vbscript-BxgSn4mU.js","./vbscript-CwitZ57u.js","./velocity-FfkCaLcE.js","./velocity-D6bc4mrP.js","./vhdl-Brd1jg5j.js","./vhdl-DfyhlM4K.js","./xquery-DryU6qzU.js","./xquery-BAVQXrAf.js","./yacas-CxNmk6Uw.js","./yacas-DrybVty2.js","./z80-CIIYHJij.js","./z80-8KI6AMtY.js","./mscgen-D9NVglDL.js","./mscgen-vDSxnAXy.js","./dist-D18tT0By.js","./dist-DmQwJNE0.js","./dist-DH59R2LN.js","./node-sql-parser-BvUFblwL.js"])))=>i.map(i=>d[i]);
2
- var eI=Object.defineProperty;var tI=(pa,_r,ai)=>_r in pa?eI(pa,_r,{enumerable:!0,configurable:!0,writable:!0,value:ai}):pa[_r]=ai;var ve=(pa,_r,ai)=>tI(pa,typeof _r!="symbol"?_r+"":_r,ai);import{a as nI,n as Mw,o as rI,r as aI,s as Nu,t as rt}from"./chunk-LvLJmgfZ.js";import{c as Nw,i as Pe,l as Dw,p as Ee,r as iI,s as oI,u as rn}from"./useEvent-D91BmmQi.js";import{t as Du}from"./react-Bj1aDYRI.js";import{t as jw}from"./react-dom-CSu739Rf.js";import{B as sI,N as lI,P as zw,R as qw,T as Fw,k as cI,w as uI}from"./zod-H_cgTO0M.js";import{t as Fn}from"./compiler-runtime-B3qBwwSJ.js";import{t as Kh}from"./debounce-OiXznToA.js";import{_ as we,d as Rr,f as Bw,o as ju,p as dI}from"./useEventListener-BfYriKqt.js";import{t as an}from"./invariant-C2E8KCbD.js";import{m as Vw,t as Hw}from"./utils-BGFUZat2.js";import{S as fI,T as zu,r as pI}from"./config-B00Uc1a3.js";import{n as hI,t as Pr}from"./cn-X2M2usMq.js";import{t as mI}from"./jsx-runtime-PbYoItBR.js";import{C as $w,T as gI,b as yI,d as vI,g as qu,h as bI,p as wI,v as Ww,w as sa,x as nr,y as Uw}from"./fullscreen-6ovMHcQN.js";import{l as Kw,o as _I}from"./dist-CO_hQSM6.js";import{d as xI}from"./menu-items-W_pMIJi0.js";import{a as kI,c as CI,i as Qh,m as SI,n as EI,o as Qw,r as TI,s as II,t as LI}from"./select-sS-2VQvj.js";import{i as OI,t as Gh}from"./tooltip-CWSr2PfE.js";import{t as Gw}from"./button-Db07tdz7.js";import{$t as ss,A as AI,At as ls,C as RI,Ct as Jh,D as PI,Gt as Jw,H as Xh,Ht as $t,I as Xw,Jt as Yw,K as MI,Kt as Fu,Lt as Zw,Mt as Yh,Nt as NI,Ot as e_,Qt as Ki,S as DI,T as t_,U as jI,Ut as zI,Vt as Bu,W as qI,Wt as Sl,X as Vu,Xt as la,Zt as cs,at as ca,b as n_,ct as FI,f as r_,ft as BI,gt as VI,it as a_,k as HI,l as ne,ot as $I,p as WI,q as UI,qt as KI,st as Et,u as i_,ut as Qi,wt as Xa,yt as QI,z as o_}from"./dist-Dez1I5M9.js";import{C as GI,D as JI,L as XI,O as YI,T as ZI,b as e8,d as s_,f as t8,g as n8,h as r8,k as a8,n as i8,o as Zh,p as o8,s as s8,t as l8,u as c8,w as u8,x as d8}from"./dist-CwfKvuyQ.js";import{a as El,i as em,m as tm,n as f8,r as l_}from"./arrays-DWxvyYxP.js";import{n as rr}from"./once-CXj_gH7S.js";import{t as p8}from"./capabilities-CemMqMvx.js";import{t as h8}from"./cjs-DXo9vDEJ.js";import{t as us}from"./createReducer-3M-fmFeM.js";import{d as c_,l as u_,n as m8,o as d_,p as g8,r as Hu}from"./dist-B0WqBUnf.js";import{t as f_}from"./main-DmhaVp6Y.js";import{n as $u,t as y8}from"./useNonce-0SWz6w4W.js";import{i as ds,r as v8,t as b8}from"./strings-B-yaq2o7.js";import{t as br}from"./requests-KshNNAOp.js";import{a as w8,c as _8,d as x8,f as p_,i as k8,l as C8,n as S8,o as nm,r as E8,s as Wu,t as T8,u as I8}from"./dist-CfGDksO-.js";import{t as ot}from"./createLucideIcon-BTp1tQDO.js";import{a as rm,i as L8,o as O8,r as A8,t as R8}from"./useLifecycle-Baf35rp4.js";import{t as P8}from"./check-DQmqoJgr.js";import{t as M8}from"./x-9vLEgLY6.js";import{t as N8,u as D8}from"./toDate-DCE7d2fN.js";import{t as am}from"./database-zap-CO_HxsuW.js";import{n as j8,t as Tl}from"./DeferredRequestRegistry-CiquRdvU.js";import{t as Bn}from"./badge-CFAaMy0O.js";import{t as re}from"./preload-helper-y72bE5iF.js";import{a as h_,s as z8}from"./dist-DHMtQYxT.js";import{a as m_,i as im,n as q8,r as g_,t as F8}from"./dist-DnIl7RU-.js";import{n as B8}from"./stex-C6JeW1YI.js";import{t as Il}from"./use-toast-BH8bU9Xf.js";import{n as y_}from"./paths-kNeJ8nbe.js";import{n as V8}from"./useTheme-BcDiZbxe.js";import{t as om}from"./purify.es-DdxMtdqK.js";let sm,Uu,v_,ua,Mr,b_,w_,Ll,__,Ku,x_,lm,k_,cm,um,C_,fs,Qu,dm,Gi,S_,Gu,fm,pm,Vn,E_,T_,Ju,hm,Xu,I_,Ol,mm,L_,Yu,O_,Hn,gm,Zu,A_,ym,R_,ed,vm,$n,P_,bm,td,nd,M_,wm,_m,N_,D_,xm,km,rd,ad,j_,z_,q_,id,F_,B_,V_,H_,Al,$_,Ji,Cm,W_,gn,od,U_,Sm,K_,ps,Q_,Em,G_,J_,X_,Tm,Y_,Z_,ex,sd,Rl,st,ld,ar,tx,nx,rx,ax,ix,Ya,ox,Im,wr,sx,Lm,Om,Am,lx,Rm,En,Za,cx,cd,ux,ei,Pl,Pm,Ml,dx,hs,fx,Nl,px,Mm,Nm,ud,da,hx,Dm,mx,gx,yx,jm,zm,vx,dd,Xi,bx,wx,ti,qm,fd,pd,hd,Fm,_x,xx,kx,Xe,Bm,md,ms,Vm,Cx,gd,Sx,Hm,$m,Ex,yd,Tx,Wm,Um,Ix,vd,bd,Km,wd,Qm,fa,Gm,Jm,Lx,Dl,Xm,Yi,Ox,_d,gs,Ax,Ym,Zm,xd,Rx,e0,kd,t0,Px,ys,Mx,Cd,n0,Nx,Dx,jx,r0,Sd,zx,qx,Fx,Zi,Bx,Vx,jl,Hx,a0,i0,Ed,o0,s0,ni,$x,Wx,Ux,l0,zl,Kx,Qx,ql,Fl,c0,Gx,Jx,Xx,Yx,Zx,ek,tk,u0,d0,nk,Td,rk,f0,p0,h0,Id,ak,ik,Ld,ok,m0,g0,eo,sk,y0,lk,ck,uk,Bl,v0,dk,fk,pk,Od,b0,hk,mk,w0,gk,_0,x0,yk,k0,vk,Ad,C0,Wn,bk,ri,wk,S0,H8=(async()=>{var ur,Hf,mi;let pa,_r,ai;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=[],w=1,x=null,S=3,E=!1,T=!1,P=!1,z=!1,B=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function X(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 ce(ie){if(P=!1,X(ie),!T)if(a(m)!==null)T=!0,A||(A=!0,ye());else{var ee=a(b);ee!==null&&le(ce,ee.startTime-ie)}}var A=!1,q=-1,$=5,oe=-1;function de(){return z?!0:!(e.unstable_now()-oe<$)}function he(){if(z=!1,A){var ie=e.unstable_now();oe=ie;var ee=!0;try{e:{T=!1,P&&(P=!1,V(q),q=-1),E=!0;var W=S;try{t:{for(X(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,X(ie),ee=!0;break t}x===a(m)&&o(m),X(ie)}else o(m);x=a(m)}if(x!==null)ee=!0;else{var et=a(b);et!==null&&le(ce,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 N=="function")ye=function(){N(he)};else if(typeof MessageChannel<"u"){var _e=new MessageChannel,be=_e.port2;_e.port1.onmessage=he,ye=function(){be.postMessage(null)}}else ye=function(){B(he,0)};function le(ie,ee){q=B(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(){z=!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:w++,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?(V(q),q=-1):P=!0,le(ce,W-Ie))):(ie.sortIndex=He,n(m,ie),T||E||(T=!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()})),ai=rt((e=>{var n=_r(),a=Du(),o=jw();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 w(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,L=p.child;L;){if(L===i){C=!0,i=p,l=g;break}if(L===l){C=!0,l=p,i=g;break}L=L.sibling}if(!C){for(L=g.child;L;){if(L===i){C=!0,i=g,l=p;break}if(L===l){C=!0,l=g,i=p;break}L=L.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"),T=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),B=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),X=Symbol.for("react.context"),ce=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),q=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 _e(t){return typeof t!="object"||!t?null:(t=ye&&t[ye]||t["@@iterator"],typeof t=="function"?t:null)}var be=Symbol.for("react.client.reference");function le(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===be?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case z:return"Fragment";case V:return"Profiler";case B:return"StrictMode";case A:return"Suspense";case q:return"SuspenseList";case de:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case X:return t.displayName||"Context";case N:return(t._context.displayName||"Context")+".Consumer";case ce: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?le(t.type)||"Memo":r;case oe:r=t._payload,t=t._init;try{return le(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),_a=Fe(null);function wo(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)?ow(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=ow(r),t=sw(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(_a,t);var r=De.current,i=sw(r,t.type);r!==i&&(Le(Tt,t),Le(De,i))}function gi(t){Tt.current===t&&(Ne(De),Ne(Tt)),_a.current===t&&(Ne(_a),_l._currentValue=Ie)}var _o,Ls;function mt(t){if(_o===void 0)try{throw Error()}catch(i){var r=i.stack.trim().match(/\n( *(at )?)/);_o=r&&r[1]||"",Ls=-1<i.stack.indexOf(`
2
+ var eI=Object.defineProperty;var tI=(pa,_r,ai)=>_r in pa?eI(pa,_r,{enumerable:!0,configurable:!0,writable:!0,value:ai}):pa[_r]=ai;var ve=(pa,_r,ai)=>tI(pa,typeof _r!="symbol"?_r+"":_r,ai);import{a as nI,n as Mw,o as rI,r as aI,s as Nu,t as rt}from"./chunk-LvLJmgfZ.js";import{c as Nw,i as Pe,l as Dw,p as Ee,r as iI,s as oI,u as rn}from"./useEvent-D91BmmQi.js";import{t as Du}from"./react-Bj1aDYRI.js";import{t as jw}from"./react-dom-CSu739Rf.js";import{B as sI,N as lI,P as zw,R as qw,T as Fw,k as cI,w as uI}from"./zod-H_cgTO0M.js";import{t as Fn}from"./compiler-runtime-B3qBwwSJ.js";import{t as Kh}from"./debounce-OiXznToA.js";import{_ as we,d as Rr,f as Bw,o as ju,p as dI}from"./useEventListener-BfYriKqt.js";import{t as an}from"./invariant-C2E8KCbD.js";import{m as Vw,t as Hw}from"./utils-BGFUZat2.js";import{S as fI,T as zu,r as pI}from"./config-B00Uc1a3.js";import{n as hI,t as Pr}from"./cn-X2M2usMq.js";import{t as mI}from"./jsx-runtime-PbYoItBR.js";import{C as $w,T as gI,b as yI,d as vI,g as qu,h as bI,p as wI,v as Ww,w as sa,x as nr,y as Uw}from"./fullscreen-6ovMHcQN.js";import{l as Kw,o as _I}from"./dist-CO_hQSM6.js";import{d as xI}from"./menu-items-W_pMIJi0.js";import{a as kI,c as CI,i as Qh,m as SI,n as EI,o as Qw,r as TI,s as II,t as LI}from"./select-sS-2VQvj.js";import{i as OI,t as Gh}from"./tooltip-CWSr2PfE.js";import{t as Gw}from"./button-Db07tdz7.js";import{$t as ss,A as AI,At as ls,C as RI,Ct as Jh,D as PI,Gt as Jw,H as Xh,Ht as $t,I as Xw,Jt as Yw,K as MI,Kt as Fu,Lt as Zw,Mt as Yh,Nt as NI,Ot as e_,Qt as Ki,S as DI,T as t_,U as jI,Ut as zI,Vt as Bu,W as qI,Wt as Sl,X as Vu,Xt as la,Zt as cs,at as ca,b as n_,ct as FI,f as r_,ft as BI,gt as VI,it as a_,k as HI,l as ne,ot as $I,p as WI,q as UI,qt as KI,st as Et,u as i_,ut as Qi,wt as Xa,yt as QI,z as o_}from"./dist-Dez1I5M9.js";import{C as GI,D as JI,L as XI,O as YI,T as ZI,b as e8,d as s_,f as t8,g as n8,h as r8,k as a8,n as i8,o as Zh,p as o8,s as s8,t as l8,u as c8,w as u8,x as d8}from"./dist-CwfKvuyQ.js";import{a as El,i as em,m as tm,n as f8,r as l_}from"./arrays-DWxvyYxP.js";import{n as rr}from"./once-CXj_gH7S.js";import{t as p8}from"./capabilities-CemMqMvx.js";import{t as h8}from"./cjs-DXo9vDEJ.js";import{t as us}from"./createReducer-3M-fmFeM.js";import{d as c_,l as u_,n as m8,o as d_,p as g8,r as Hu}from"./dist-B0WqBUnf.js";import{t as f_}from"./main-DmhaVp6Y.js";import{n as $u,t as y8}from"./useNonce-0SWz6w4W.js";import{i as ds,r as v8,t as b8}from"./strings-B-yaq2o7.js";import{t as br}from"./requests-KshNNAOp.js";import{a as w8,c as _8,d as x8,f as p_,i as k8,l as C8,n as S8,o as nm,r as E8,s as Wu,t as T8,u as I8}from"./dist-CfGDksO-.js";import{t as ot}from"./createLucideIcon-BTp1tQDO.js";import{a as rm,i as L8,o as O8,r as A8,t as R8}from"./useLifecycle-Baf35rp4.js";import{t as P8}from"./check-DQmqoJgr.js";import{t as M8}from"./x-9vLEgLY6.js";import{t as N8,u as D8}from"./toDate-DCE7d2fN.js";import{t as am}from"./database-zap-DpKMaYZb.js";import{n as j8,t as Tl}from"./DeferredRequestRegistry-EP9ZArpv.js";import{t as Bn}from"./badge-CFAaMy0O.js";import{t as re}from"./preload-helper-y72bE5iF.js";import{a as h_,s as z8}from"./dist-DHMtQYxT.js";import{a as m_,i as im,n as q8,r as g_,t as F8}from"./dist-DnIl7RU-.js";import{n as B8}from"./stex-C6JeW1YI.js";import{t as Il}from"./use-toast-BH8bU9Xf.js";import{n as y_}from"./paths-kNeJ8nbe.js";import{n as V8}from"./useTheme-BcDiZbxe.js";import{t as om}from"./purify.es-DdxMtdqK.js";let sm,Uu,v_,ua,Mr,b_,w_,Ll,__,Ku,x_,lm,k_,cm,um,C_,fs,Qu,dm,Gi,S_,Gu,fm,pm,Vn,E_,T_,Ju,hm,Xu,I_,Ol,mm,L_,Yu,O_,Hn,gm,Zu,A_,ym,R_,ed,vm,$n,P_,bm,td,nd,M_,wm,_m,N_,D_,xm,km,rd,ad,j_,z_,q_,id,F_,B_,V_,H_,Al,$_,Ji,Cm,W_,gn,od,U_,Sm,K_,ps,Q_,Em,G_,J_,X_,Tm,Y_,Z_,ex,sd,Rl,st,ld,ar,tx,nx,rx,ax,ix,Ya,ox,Im,wr,sx,Lm,Om,Am,lx,Rm,En,Za,cx,cd,ux,ei,Pl,Pm,Ml,dx,hs,fx,Nl,px,Mm,Nm,ud,da,hx,Dm,mx,gx,yx,jm,zm,vx,dd,Xi,bx,wx,ti,qm,fd,pd,hd,Fm,_x,xx,kx,Xe,Bm,md,ms,Vm,Cx,gd,Sx,Hm,$m,Ex,yd,Tx,Wm,Um,Ix,vd,bd,Km,wd,Qm,fa,Gm,Jm,Lx,Dl,Xm,Yi,Ox,_d,gs,Ax,Ym,Zm,xd,Rx,e0,kd,t0,Px,ys,Mx,Cd,n0,Nx,Dx,jx,r0,Sd,zx,qx,Fx,Zi,Bx,Vx,jl,Hx,a0,i0,Ed,o0,s0,ni,$x,Wx,Ux,l0,zl,Kx,Qx,ql,Fl,c0,Gx,Jx,Xx,Yx,Zx,ek,tk,u0,d0,nk,Td,rk,f0,p0,h0,Id,ak,ik,Ld,ok,m0,g0,eo,sk,y0,lk,ck,uk,Bl,v0,dk,fk,pk,Od,b0,hk,mk,w0,gk,_0,x0,yk,k0,vk,Ad,C0,Wn,bk,ri,wk,S0,H8=(async()=>{var ur,Hf,mi;let pa,_r,ai;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=[],w=1,x=null,S=3,E=!1,T=!1,P=!1,z=!1,B=typeof setTimeout=="function"?setTimeout:null,V=typeof clearTimeout=="function"?clearTimeout:null,N=typeof setImmediate<"u"?setImmediate:null;function X(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 ce(ie){if(P=!1,X(ie),!T)if(a(m)!==null)T=!0,A||(A=!0,ye());else{var ee=a(b);ee!==null&&le(ce,ee.startTime-ie)}}var A=!1,q=-1,$=5,oe=-1;function de(){return z?!0:!(e.unstable_now()-oe<$)}function he(){if(z=!1,A){var ie=e.unstable_now();oe=ie;var ee=!0;try{e:{T=!1,P&&(P=!1,V(q),q=-1),E=!0;var W=S;try{t:{for(X(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,X(ie),ee=!0;break t}x===a(m)&&o(m),X(ie)}else o(m);x=a(m)}if(x!==null)ee=!0;else{var et=a(b);et!==null&&le(ce,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 N=="function")ye=function(){N(he)};else if(typeof MessageChannel<"u"){var _e=new MessageChannel,be=_e.port2;_e.port1.onmessage=he,ye=function(){be.postMessage(null)}}else ye=function(){B(he,0)};function le(ie,ee){q=B(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(){z=!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:w++,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?(V(q),q=-1):P=!0,le(ce,W-Ie))):(ie.sortIndex=He,n(m,ie),T||E||(T=!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()})),ai=rt((e=>{var n=_r(),a=Du(),o=jw();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 w(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,L=p.child;L;){if(L===i){C=!0,i=p,l=g;break}if(L===l){C=!0,l=p,i=g;break}L=L.sibling}if(!C){for(L=g.child;L;){if(L===i){C=!0,i=g,l=p;break}if(L===l){C=!0,l=g,i=p;break}L=L.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"),T=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),B=Symbol.for("react.strict_mode"),V=Symbol.for("react.profiler"),N=Symbol.for("react.consumer"),X=Symbol.for("react.context"),ce=Symbol.for("react.forward_ref"),A=Symbol.for("react.suspense"),q=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 _e(t){return typeof t!="object"||!t?null:(t=ye&&t[ye]||t["@@iterator"],typeof t=="function"?t:null)}var be=Symbol.for("react.client.reference");function le(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===be?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case z:return"Fragment";case V:return"Profiler";case B:return"StrictMode";case A:return"Suspense";case q:return"SuspenseList";case de:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case X:return t.displayName||"Context";case N:return(t._context.displayName||"Context")+".Consumer";case ce: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?le(t.type)||"Memo":r;case oe:r=t._payload,t=t._init;try{return le(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),_a=Fe(null);function wo(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)?ow(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=ow(r),t=sw(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(_a,t);var r=De.current,i=sw(r,t.type);r!==i&&(Le(Tt,t),Le(De,i))}function gi(t){Tt.current===t&&(Ne(De),Ne(Tt)),_a.current===t&&(Ne(_a),_l._currentValue=Ie)}var _o,Ls;function mt(t){if(_o===void 0)try{throw Error()}catch(i){var r=i.stack.trim().match(/\n( *(at )?)/);_o=r&&r[1]||"",Ls=-1<i.stack.indexOf(`
3
3
  at`)?" (<anonymous>)":-1<i.stack.indexOf("@")?"@unknown:0:0":""}return`
4
4
  `+_o+t+Ls}var Os=!1;function vn(t,r){if(!t||Os)return"";Os=!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],L=g[1];if(C&&L){var F=C.split(`
5
5
  `),J=L.split(`
@@ -0,0 +1 @@
1
+ import{s as D}from"./chunk-LvLJmgfZ.js";import{t as H}from"./react-Bj1aDYRI.js";import{Cr as K,_r as Q,vr as U}from"./cells-B7nz4LNo.js";import{A as Y,C as O,R as E,T as Z}from"./zod-H_cgTO0M.js";import{t as S}from"./compiler-runtime-B3qBwwSJ.js";import{t as ee}from"./isEmpty-CXeoXbuc.js";import{X as te}from"./ai-model-dropdown-B85JK7Bd.js";import{_ as re}from"./useEventListener-BfYriKqt.js";import{t as k}from"./cn-X2M2usMq.js";import{t as se}from"./jsx-runtime-PbYoItBR.js";import{a as F,i as $,n as J,r as M}from"./multi-map-DDbeVHF9.js";import{t as V}from"./button-Db07tdz7.js";import{i as T}from"./strings-B-yaq2o7.js";import{t as W}from"./createLucideIcon-BTp1tQDO.js";import{t as ae}from"./ban-CttLZK8l.js";import{t as le}from"./bot-message-square-AslRbAeb.js";import{r as ne}from"./x-9vLEgLY6.js";import{t as G}from"./markdown-renderer-qOz3nDtd.js";import{f as I,l as ie}from"./add-cell-with-ai-DDmDEBpR.js";import{t as oe}from"./external-link-CRubBjqK.js";import{n as ce}from"./spinner-DTBVbtl-.js";import{c as de}from"./datasource-D1L4FCps.js";import{t as ue}from"./RenderHTML-CpnOdUFq.js";var me=W("circle-slash",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["line",{x1:"9",x2:"15",y1:"15",y2:"9",key:"1dfufj"}]]),pe=W("shield-question-mark",[["path",{d:"M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z",key:"oel41y"}],["path",{d:"M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3",key:"mhlwft"}],["path",{d:"M12 17h.01",key:"p32p05"}]]),xe=S(),C=D(H(),1),r=D(se(),1);const he=c=>{let e=(0,xe.c)(13),{reasoning:l,index:n,isStreaming:s}=c,i=n===void 0?0:n,t=s===void 0?!1:s,[a,u]=C.useState("");if(!l&&!t)return null;let h=t?"reasoning":a,p;e[0]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)(le,{className:"h-3 w-3"}),e[0]=p):p=e[0];let v=t?"Thinking":"View reasoning",x=l.length>0&&` (${l.length} chars)`,d;e[1]!==v||e[2]!==x?(d=(0,r.jsx)(F,{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,r.jsxs)("span",{className:"flex items-center gap-2",children:[p,v,x]})}),e[1]=v,e[2]=x,e[3]=d):d=e[3];let m;e[4]===l?m=e[5]:(m=(0,r.jsx)(M,{className:"pb-2 px-2",children:(0,r.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,r.jsx)("div",{className:"pr-6",children:(0,r.jsx)(G,{content:l})})})}),e[4]=l,e[5]=m);let o;e[6]!==d||e[7]!==m?(o=(0,r.jsxs)($,{value:"reasoning",className:"border-0",children:[d,m]}),e[6]=d,e[7]=m,e[8]=o):o=e[8];let f;return e[9]!==i||e[10]!==h||e[11]!==o?(f=(0,r.jsx)(J,{type:"single",collapsible:!0,className:"w-full mb-2",value:h,onValueChange:u,children:o},i),e[9]=i,e[10]=h,e[11]=o,e[12]=f):f=e[12],f};function L(c){return c.replace("tool-","")}var fe=S();const q=c=>{let e=(0,fe.c)(9),{input:l,label:n}=c,s=n===void 0?"Tool Request":n;if(l==null)return null;let i;e[0]===s?i=e[1]:(i=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:s}),e[0]=s,e[1]=i);let t;e[2]===l?t=e[3]:(t=JSON.stringify(l,null,2),e[2]=l,e[3]=t);let a;e[4]===t?a=e[5]:(a=(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:t}),e[4]=t,e[5]=a);let u;return e[6]!==i||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-2",children:[i,a]}),e[6]=i,e[7]=a,e[8]=u):u=e[8],u};var ve=S();const be=c=>{let e=(0,ve.c)(25),{toolName:l,input:n,approval:s,onApprove:i,className:t}=c,a;e[0]===t?a=e[1]:(a=k("rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3",t),e[0]=t,e[1]=a);let u=`Approval required for ${L(l)}`,h;e[2]===Symbol.for("react.memo_cache_sentinel")?(h=(0,r.jsx)(pe,{className:"h-4 w-4 text-(--amber-11) mt-0.5 shrink-0"}),e[2]=h):h=e[2];let p;e[3]===Symbol.for("react.memo_cache_sentinel")?(p=(0,r.jsx)("span",{className:"font-semibold",children:"Approval required:"}),e[3]=p):p=e[3];let v;e[4]===l?v=e[5]:(v=L(l),e[4]=l,e[5]=v);let x;e[6]===v?x=e[7]:(x=(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[h,(0,r.jsxs)("div",{className:"text-xs text-(--amber-11) leading-relaxed",children:[p," ",(0,r.jsx)("code",{className:"font-mono",children:v})]})]}),e[6]=v,e[7]=x);let d;e[8]===n?d=e[9]:(d=(0,r.jsx)(q,{input:n}),e[8]=n,e[9]=d);let m;e[10]!==s.id||e[11]!==i?(m=(0,r.jsx)(V,{size:"xs",variant:"outline",onClick:()=>i({id:s.id,approved:!1}),children:"Deny"}),e[10]=s.id,e[11]=i,e[12]=m):m=e[12];let o;e[13]!==s.id||e[14]!==i?(o=(0,r.jsx)(V,{size:"xs",onClick:()=>i({id:s.id,approved:!0}),children:"Approve"}),e[13]=s.id,e[14]=i,e[15]=o):o=e[15];let f;e[16]!==m||e[17]!==o?(f=(0,r.jsxs)("div",{className:"flex items-center justify-end gap-2",children:[m,o]}),e[16]=m,e[17]=o,e[18]=f):f=e[18];let b;return e[19]!==a||e[20]!==f||e[21]!==u||e[22]!==x||e[23]!==d?(b=(0,r.jsxs)("div",{className:a,role:"alertdialog","aria-label":u,children:[x,d,f]}),e[19]=a,e[20]=f,e[21]=u,e[22]=x,e[23]=d,e[24]=b):b=e[24],b};var je=S();const ge=c=>{let e=(0,je.c)(28),{toolName:l,input:n,errorText:s,isLive:i,className:t}=c,[a,u]=C.useState(i),h=C.useRef(i),p,v;e[0]===i?(p=e[1],v=e[2]):(p=()=>{h.current&&!i&&u(!1),h.current=i},v=[i],e[0]=i,e[1]=p,e[2]=v),C.useEffect(p,v);let x;e[3]===t?x=e[4]:(x=k("rounded-md border border-(--red-6) bg-(--red-2)",t),e[3]=t,e[4]=x);let d;e[5]===Symbol.for("react.memo_cache_sentinel")?(d=()=>u(Ne),e[5]=d):d=e[5];let m;e[6]===Symbol.for("react.memo_cache_sentinel")?(m=(0,r.jsx)(K,{className:"h-3.5 w-3.5 shrink-0"}),e[6]=m):m=e[6];let o;e[7]===Symbol.for("react.memo_cache_sentinel")?(o=(0,r.jsx)("span",{className:"font-semibold",children:"Failed:"}),e[7]=o):o=e[7];let f;e[8]===l?f=e[9]:(f=L(l),e[8]=l,e[9]=f);let b;e[10]===f?b=e[11]:(b=(0,r.jsxs)("span",{className:"flex-1 text-left",children:[o," ",(0,r.jsx)("code",{className:"font-mono",children:f})]}),e[10]=f,e[11]=b);let _=a&&"rotate-180",j;e[12]===_?j=e[13]:(j=k("h-3.5 w-3.5 shrink-0 transition-transform",_),e[12]=_,e[13]=j);let g;e[14]===j?g=e[15]:(g=(0,r.jsx)(ne,{className:j}),e[14]=j,e[15]=g);let N;e[16]!==a||e[17]!==g||e[18]!==b?(N=(0,r.jsxs)("button",{type:"button",onClick:d,className:"w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors","aria-expanded":a,children:[m,b,g]}),e[16]=a,e[17]=g,e[18]=b,e[19]=N):N=e[19];let y;e[20]!==s||e[21]!==n||e[22]!==a?(y=a&&(0,r.jsxs)("div",{className:"px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3",children:[(0,r.jsx)(q,{input:n}),s&&(0,r.jsxs)("div",{children:[(0,r.jsx)("h3",{className:"text-xs font-semibold text-(--red-11) mb-1",children:"Error"}),(0,r.jsx)("pre",{className:"bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap",children:s})]})]}),e[20]=s,e[21]=n,e[22]=a,e[23]=y):y=e[23];let w;return e[24]!==N||e[25]!==y||e[26]!==x?(w=(0,r.jsxs)("div",{className:x,children:[N,y]}),e[24]=N,e[25]=y,e[26]=x,e[27]=w):w=e[27],w};function Ne(c){return!c}var P=S();function ye(c){return c==null?!0:typeof c=="object"?ee(c):!1}var we=Y({status:E().default("success"),auth_required:Z().default(!1),action_url:O(),next_steps:O(),meta:O(),message:E().nullish()}),_e=c=>{let e=(0,P.c)(12),{data:l}=c,n;if(e[0]!==l){let{status:s,auth_required:i,action_url:t,meta:a,next_steps:u,message:h,...p}=l,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,r.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=v):v=e[2];let x;e[3]===s?x=e[4]:(x=(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=x);let d;e[5]===i?d=e[6]:(d=i&&(0,r.jsx)("span",{className:"text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full",children:"Auth Required"}),e[5]=i,e[6]=d);let m;e[7]!==x||e[8]!==d?(m=(0,r.jsxs)("div",{className:"flex items-center justify-between",children:[v,(0,r.jsxs)("div",{className:"flex items-center gap-2",children:[x,d]})]}),e[7]=x,e[8]=d,e[9]=m):m=e[9];let o;e[10]===h?o=e[11]:(o=h&&(0,r.jsxs)("div",{className:"flex items-start gap-2",children:[(0,r.jsx)(Q,{className:"h-3 w-3 text-(--blue-11) mt-0.5 shrink-0"}),(0,r.jsx)("div",{className:"text-xs text-foreground",children:h})]}),e[10]=h,e[11]=o),n=(0,r.jsxs)("div",{className:"flex flex-col gap-1.5",children:[m,o,p&&(0,r.jsx)("div",{className:"space-y-3",children:Object.entries(p).map(Ae)})]}),e[0]=l,e[1]=n}else n=e[1];return n};const Se=c=>{let e=(0,P.c)(8),{result:l}=c,n;e[0]===l?n=e[1]:(n=we.safeParse(l),e[0]=l,e[1]=n);let s=n;if(s.success){let a;return e[2]===s.data?a=e[3]:(a=(0,r.jsx)(_e,{data:s.data}),e[2]=s.data,e[3]=a),a}let i;e[4]===l?i=e[5]:(i=typeof l=="string"?l:JSON.stringify(l,null,2),e[4]=l,e[5]=i);let t;return e[6]===i?t=e[7]:(t=(0,r.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:i}),e[6]=i,e[7]=t),t};function Ae(c){let[e,l]=c;return ye(l)?null:(0,r.jsxs)("div",{className:"space-y-1.5",children:[(0,r.jsx)("span",{className:"text-xs text-muted-foreground",children:e}),(0,r.jsx)("pre",{className:"bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(l,null,2)})]},e)}var z=S(),ke={"input-streaming":"Generating","input-available":"Running","approval-responded":"Awaiting result","output-available":"Done","output-denied":"Denied"},Te=new Set(["input-streaming","input-available","approval-responded"]),Ce=c=>{let e=(0,z.c)(5),{state:l,interrupted:n}=c;if(n){let s;return e[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(me,{className:"h-3 w-3 text-muted-foreground"}),e[0]=s):s=e[0],s}switch(l){case"input-streaming":case"input-available":case"approval-responded":{let s;return e[1]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ce,{className:"h-3 w-3 animate-spin"}),e[1]=s):s=e[1],s}case"output-available":{let s;return e[2]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(te,{className:"h-3 w-3 text-(--grass-11)"}),e[2]=s):s=e[2],s}case"output-denied":{let s;return e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(ae,{className:"h-3 w-3 text-muted-foreground"}),e[3]=s):s=e[3],s}default:{T(l);let s;return e[4]===Symbol.for("react.memo_cache_sentinel")?(s=(0,r.jsx)(de,{className:"h-3 w-3"}),e[4]=s):s=e[4],s}}};function qe(c){switch(c){case"output-available":return"text-(--grass-11)/80";case"output-denied":return"text-muted-foreground";case"input-streaming":case"input-available":case"approval-responded":return"";default:return T(c),""}}const X=c=>{let e=(0,z.c)(34),{toolName:l,state:n,input:s,result:i,approval:t,index:a,className:u,isActive:h}=c,p=a===void 0?0:a,v=h===void 0?!0:h,x;e[0]!==v||e[1]!==n?(x=!v&&Te.has(n),e[0]=v,e[1]=n,e[2]=x):x=e[2];let d=x,m=`tool-${p}`,o;e[3]===u?o=e[4]:(o=k("w-full",u),e[3]=u,e[4]=o);let f;e[5]!==d||e[6]!==n?(f=k("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",d?"text-muted-foreground":qe(n)),e[5]=d,e[6]=n,e[7]=f):f=e[7];let b;e[8]!==d||e[9]!==n?(b=(0,r.jsx)(Ce,{state:n,interrupted:d}),e[8]=d,e[9]=n,e[10]=b):b=e[10];let _=d?"Interrupted":ke[n],j;e[11]===l?j=e[12]:(j=L(l),e[11]=l,e[12]=j);let g;e[13]===j?g=e[14]:(g=(0,r.jsx)("code",{className:"font-mono text-xs",children:j}),e[13]=j,e[14]=g);let N;e[15]!==g||e[16]!==b||e[17]!==_?(N=(0,r.jsxs)("span",{className:"flex items-center gap-1",children:[b,_,":",g]}),e[15]=g,e[16]=b,e[17]=_,e[18]=N):N=e[18];let y;e[19]!==N||e[20]!==f?(y=(0,r.jsx)(F,{className:f,children:N}),e[19]=N,e[20]=f,e[21]=y):y=e[21];let w;e[22]!==t||e[23]!==s||e[24]!==i||e[25]!==n?(w=(0,r.jsx)(M,{className:"py-2 px-2",children:(0,r.jsx)(Re,{state:n,input:s,result:i,approval:t})}),e[22]=t,e[23]=s,e[24]=i,e[25]=n,e[26]=w):w=e[26];let A;e[27]!==y||e[28]!==w?(A=(0,r.jsxs)($,{value:"tool-call",className:"border-0",children:[y,w]}),e[27]=y,e[28]=w,e[29]=A):A=e[29];let R;return e[30]!==A||e[31]!==m||e[32]!==o?(R=(0,r.jsx)(J,{type:"single",collapsible:!0,className:o,children:A},m),e[30]=A,e[31]=m,e[32]=o,e[33]=R):R=e[33],R};var Re=c=>{let e=(0,z.c)(16),{state:l,input:n,result:s,approval:i}=c;switch(l){case"input-streaming":case"input-available":case"approval-responded":{let t;return e[0]===n?t=e[1]:(t=(0,r.jsx)(q,{input:n}),e[0]=n,e[1]=t),t}case"output-available":{let t;e[2]===n?t=e[3]:(t=(0,r.jsx)(q,{input:n}),e[2]=n,e[3]=t);let a;e[4]===s?a=e[5]:(a=s!=null&&(0,r.jsx)(Se,{result:s}),e[4]=s,e[5]=a);let u;return e[6]!==t||e[7]!==a?(u=(0,r.jsxs)("div",{className:"space-y-3",children:[t,a]}),e[6]=t,e[7]=a,e[8]=u):u=e[8],u}case"output-denied":{let t;e[9]===n?t=e[10]:(t=(0,r.jsx)(q,{input:n}),e[9]=n,e[10]=t);let a=i!=null&&i.reason?`: ${i.reason}`:".",u;e[11]===a?u=e[12]:(u=(0,r.jsxs)("div",{className:"bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed",children:["Tool execution was denied",a]}),e[11]=a,e[12]=u);let h;return e[13]!==t||e[14]!==u?(h=(0,r.jsxs)("div",{className:"space-y-3",children:[t,u]}),e[13]=t,e[14]=u,e[15]=h):h=e[15],h}default:return T(l),null}},Le=S();const B=c=>{let e=(0,Le.c)(27),{toolName:l,state:n,result:s,errorText:i,input:t,approval:a,onApprove:u,index:h,className:p,isLive:v,isActive:x}=c,d=v===void 0?!0:v,m=x===void 0?!0:x;switch(n){case"approval-requested":{if(a!=null&&u!=null){let f;return e[0]!==a||e[1]!==p||e[2]!==t||e[3]!==u||e[4]!==l?(f=(0,r.jsx)(be,{toolName:l,input:t,approval:a,onApprove:u,className:p}),e[0]=a,e[1]=p,e[2]=t,e[3]=u,e[4]=l,e[5]=f):f=e[5],f}let o;return e[6]!==p||e[7]!==h||e[8]!==t||e[9]!==m||e[10]!==l?(o=(0,r.jsx)(X,{toolName:l,state:"input-available",input:t,index:h,className:p,isActive:m}),e[6]=p,e[7]=h,e[8]=t,e[9]=m,e[10]=l,e[11]=o):o=e[11],o}case"output-error":{let o;return e[12]!==p||e[13]!==i||e[14]!==t||e[15]!==d||e[16]!==l?(o=(0,r.jsx)(ge,{toolName:l,input:t,errorText:i,isLive:d,className:p}),e[12]=p,e[13]=i,e[14]=t,e[15]=d,e[16]=l,e[17]=o):o=e[17],o}case"input-streaming":case"input-available":case"approval-responded":case"output-available":case"output-denied":{let o;return e[18]!==a||e[19]!==p||e[20]!==h||e[21]!==t||e[22]!==m||e[23]!==s||e[24]!==n||e[25]!==l?(o=(0,r.jsx)(X,{toolName:l,state:n,input:t,result:s,approval:a,index:h,className:p,isActive:m}),e[18]=a,e[19]=p,e[20]=h,e[21]=t,e[22]=m,e[23]=s,e[24]=n,e[25]=l,e[26]=o):o=e[26],o}default:return T(n),null}},Oe=({message:c,isStreamingReasoning:e,isLast:l,isActive:n,addToolApprovalResponse:s})=>{return(0,r.jsx)(r.Fragment,{children:c.parts.map((t,a)=>i(t,a))});function i(t,a){if(ze(t))return(0,r.jsx)(B,{index:a,toolName:t.type,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,className:"my-2",state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);if(De(t))return re.debug("Found data part",t),null;switch(t.type){case"text":return t.text.includes("<marimo-")?(0,r.jsx)(C.Fragment,{children:ue({html:t.text})},a):(0,r.jsx)(G,{content:t.text},a);case"reasoning":return(0,r.jsx)(he,{reasoning:t.text,index:a,isStreaming:e&&l&&a===(c.parts.length||0)-1},a);case"file":return(0,r.jsx)(ie,{attachment:t},a);case"dynamic-tool":return(0,r.jsx)(B,{toolName:t.toolName,result:t.output,errorText:t.state==="output-error"?t.errorText:void 0,state:t.state,input:t.input,approval:t.approval,onApprove:s,isLive:l,isActive:n},a);case"source-document":return(0,r.jsx)(I,{icon:(0,r.jsx)(U,{className:"h-3 w-3 shrink-0"}),title:t.title,subtitle:t.filename},a);case"source-url":return(0,r.jsx)(I,{icon:(0,r.jsx)(oe,{className:"h-3 w-3 shrink-0"}),title:t.title??t.url,subtitle:t.title?t.url:void 0,href:t.url},a);case"step-start":return null;default:return T(t),null}}};function ze(c){return c.type.startsWith("tool-")}function De(c){return c.type.startsWith("data-")}export{Oe as t};
@@ -0,0 +1,3 @@
1
+ import{s as rt}from"./chunk-LvLJmgfZ.js";import{d as Mt,f as zt,l as Ft,n as ne,u as Be}from"./useEvent-D91BmmQi.js";import{t as Ht}from"./react-Bj1aDYRI.js";import{D as Wt,Sr as Ot}from"./cells-B7nz4LNo.js";import"./react-dom-CSu739Rf.js";import{t as ot}from"./compiler-runtime-B3qBwwSJ.js";import{E as Yt,T as Xt,o as Ut,r as lt,t as qt}from"./ai-model-dropdown-B85JK7Bd.js";import{_ as Le,o as ie}from"./useEventListener-BfYriKqt.js";import{a as Vt,n as at}from"./utils-BGFUZat2.js";import{T as Bt,o as $t}from"./config-B00Uc1a3.js";import{t as ce}from"./cn-X2M2usMq.js";import{t as Kt}from"./jsx-runtime-PbYoItBR.js";import{C as Gt,b as Jt,g as V,v as Ie,w as xe,x as B}from"./fullscreen-6ovMHcQN.js";import{u as Qt}from"./menu-items-W_pMIJi0.js";import{i as Zt,r as er,t as tr}from"./popover-D1IutFqN.js";import{a as rr,i as or,n as lr,p as ar,r as sr,s as nr,t as ir}from"./select-sS-2VQvj.js";import{i as st,t as $e}from"./tooltip-CWSr2PfE.js";import{t as $}from"./button-Db07tdz7.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{r as cr}from"./requests-KshNNAOp.js";import{t as nt}from"./createLucideIcon-BTp1tQDO.js";import{t as dr}from"./arrow-right-DFk7kYqp.js";import{t as it}from"./bot-message-square-AslRbAeb.js";import"./markdown-renderer-qOz3nDtd.js";import{t as ur}from"./chat-display-DvmXfrjc.js";import{A as pr,C as mr,E as hr,F as fr,M as xr,_ as vr,b as gr,c as wr,d as br,g as yr,h as ct,k as dt,l as jr,m as Sr,n as ut,p as Cr,s as Nr,u as Ar,v as Rr,x as Tr,y as _r}from"./add-cell-with-ai-DDmDEBpR.js";import{n as Er}from"./spinner-DTBVbtl-.js";import{t as kr}from"./message-circle-D_YIPPZo.js";import{t as Lr}from"./plus-CExKUszm.js";import{dt as Ir,r as Pr}from"./input-BpT1_NFw.js";import{t as Dr}from"./settings-Cn43l_vx.js";import{t as Mr}from"./sparkles-DctOjjEz.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import"./session-DF0gSADo.js";import"./purify.es-DdxMtdqK.js";import{s as zr}from"./dates-Digd3pPR.js";import{t as Fr}from"./copy-icon-BFMtxrRP.js";import{t as Hr}from"./context-DE_5rdOV.js";import{n as Wr}from"./ImperativeModal-Da0ki2vE.js";import{r as pt,t as Or}from"./state-B37Pwlpy.js";import{n as Yr}from"./error-banner-B4PMmgPV.js";import"./chunk-5FQGJX7Z-D-AUn5sP.js";import"./html-to-image-C4EfBRTz.js";import"./esm-DSv-aO_T.js";import{t as Ke}from"./empty-state-BpcrGgJU.js";import{t as Xr}from"./pair-with-agent-modal-BqOdnjR7.js";var m=rt(Ht(),1),o=rt(Kt(),1);function Ur(e,t){return m.useReducer((r,s)=>t[r][s]??r,e)}var Ge="ScrollArea",[mt,Tl]=Gt(Ge),[qr,z]=mt(Ge),ht=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:s="hover",dir:l,scrollHideDelay:a=600,...n}=e,[i,c]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,x]=m.useState(null),[C,A]=m.useState(null),[g,N]=m.useState(0),[R,y]=m.useState(0),[j,S]=m.useState(!1),[k,_]=m.useState(!1),w=ie(t,P=>c(P)),L=Qt(l);return(0,o.jsx)(qr,{scope:r,type:s,dir:L,scrollHideDelay:a,scrollArea:i,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:x,scrollbarXEnabled:j,onScrollbarXEnabledChange:S,scrollbarY:C,onScrollbarYChange:A,scrollbarYEnabled:k,onScrollbarYEnabledChange:_,onCornerWidthChange:N,onCornerHeightChange:y,children:(0,o.jsx)(xe.div,{dir:L,...n,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":g+"px","--radix-scroll-area-corner-height":R+"px",...e.style}})})});ht.displayName=Ge;var ft="ScrollAreaViewport",xt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:s,nonce:l,...a}=e,n=z(ft,r),i=ie(t,m.useRef(null),n.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)(xe.div,{"data-radix-scroll-area-viewport":"",...a,ref:i,style:{overflowX:n.scrollbarXEnabled?"scroll":"hidden",overflowY:n.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,o.jsx)("div",{ref:n.onContentChange,style:{minWidth:"100%",display:"table"},children:s})})]})});xt.displayName=ft;var Y="ScrollAreaScrollbar",Je=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(Y,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:n}=l,i=e.orientation==="horizontal";return m.useEffect(()=>(i?a(!0):n(!0),()=>{i?a(!1):n(!1)}),[i,a,n]),l.type==="hover"?(0,o.jsx)(Vr,{...s,ref:t,forceMount:r}):l.type==="scroll"?(0,o.jsx)(Br,{...s,ref:t,forceMount:r}):l.type==="auto"?(0,o.jsx)(vt,{...s,ref:t,forceMount:r}):l.type==="always"?(0,o.jsx)(Qe,{...s,ref:t}):null});Je.displayName=Y;var Vr=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(Y,e.__scopeScrollArea),[a,n]=m.useState(!1);return m.useEffect(()=>{let i=l.scrollArea,c=0;if(i){let d=()=>{window.clearTimeout(c),n(!0)},u=()=>{c=window.setTimeout(()=>n(!1),l.scrollHideDelay)};return i.addEventListener("pointerenter",d),i.addEventListener("pointerleave",u),()=>{window.clearTimeout(c),i.removeEventListener("pointerenter",d),i.removeEventListener("pointerleave",u)}}},[l.scrollArea,l.scrollHideDelay]),(0,o.jsx)(Ie,{present:r||a,children:(0,o.jsx)(vt,{"data-state":a?"visible":"hidden",...s,ref:t})})}),Br=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=z(Y,e.__scopeScrollArea),a=e.orientation==="horizontal",n=ze(()=>c("SCROLL_END"),100),[i,c]=Ur("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 m.useEffect(()=>{if(i==="idle"){let d=window.setTimeout(()=>c("HIDE"),l.scrollHideDelay);return()=>window.clearTimeout(d)}},[i,l.scrollHideDelay,c]),m.useEffect(()=>{let d=l.viewport,u=a?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(c("SCROLL"),n()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[l.viewport,a,c,n]),(0,o.jsx)(Ie,{present:r||i!=="hidden",children:(0,o.jsx)(Qe,{"data-state":i==="hidden"?"hidden":"visible",...s,ref:t,onPointerEnter:B(e.onPointerEnter,()=>c("POINTER_ENTER")),onPointerLeave:B(e.onPointerLeave,()=>c("POINTER_LEAVE"))})})}),vt=m.forwardRef((e,t)=>{let r=z(Y,e.__scopeScrollArea),{forceMount:s,...l}=e,[a,n]=m.useState(!1),i=e.orientation==="horizontal",c=ze(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;n(i?d:u)}},10);return de(r.viewport,c),de(r.content,c),(0,o.jsx)(Ie,{present:s||a,children:(0,o.jsx)(Qe,{"data-state":a?"visible":"hidden",...l,ref:t})})}),Qe=m.forwardRef((e,t)=>{let{orientation:r="vertical",...s}=e,l=z(Y,e.__scopeScrollArea),a=m.useRef(null),n=m.useRef(0),[i,c]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=jt(i.viewport,i.content),u={...s,sizes:i,onSizesChange:c,hasThumb:d>0&&d<1,onThumbChange:h=>a.current=h,onThumbPointerUp:()=>n.current=0,onThumbPointerDown:h=>n.current=h};function p(h,f){return Zr(h,n.current,i,f)}return r==="horizontal"?(0,o.jsx)($r,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollLeft,f=St(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=p(h,l.dir))}}):r==="vertical"?(0,o.jsx)(Kr,{...u,ref:t,onThumbPositionChange:()=>{if(l.viewport&&a.current){let h=l.viewport.scrollTop,f=St(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=p(h))}}):null}),$r=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(Y,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=ie(t,c,a.onScrollbarXChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(wt,{"data-orientation":"horizontal",...l,ref:d,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":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Nt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:De(n.paddingLeft),paddingEnd:De(n.paddingRight)}})}})}),Kr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:s,...l}=e,a=z(Y,e.__scopeScrollArea),[n,i]=m.useState(),c=m.useRef(null),d=ie(t,c,a.onScrollbarYChange);return m.useEffect(()=>{c.current&&i(getComputedStyle(c.current))},[c]),(0,o.jsx)(wt,{"data-orientation":"vertical",...l,ref:d,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":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(a.viewport){let h=a.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Nt(h,p)&&u.preventDefault()}},onResize:()=>{c.current&&a.viewport&&n&&s({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:De(n.paddingTop),paddingEnd:De(n.paddingBottom)}})}})}),[Gr,gt]=mt(Y),wt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:s,hasThumb:l,onThumbChange:a,onThumbPointerUp:n,onThumbPointerDown:i,onThumbPositionChange:c,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=z(Y,r),[x,C]=m.useState(null),A=ie(t,w=>C(w)),g=m.useRef(null),N=m.useRef(""),R=f.viewport,y=s.content-s.viewport,j=V(u),S=V(c),k=ze(p,10);function _(w){g.current&&d({x:w.clientX-g.current.left,y:w.clientY-g.current.top})}return m.useEffect(()=>{let w=L=>{let P=L.target;x!=null&&x.contains(P)&&j(L,y)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[R,x,y,j]),m.useEffect(S,[s,S]),de(x,k),de(f.content,k),(0,o.jsx)(Gr,{scope:r,scrollbar:x,hasThumb:l,onThumbChange:V(a),onThumbPointerUp:V(n),onThumbPositionChange:S,onThumbPointerDown:V(i),children:(0,o.jsx)(xe.div,{...h,ref:A,style:{position:"absolute",...h.style},onPointerDown:B(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),g.current=x.getBoundingClientRect(),N.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),_(w))}),onPointerMove:B(e.onPointerMove,_),onPointerUp:B(e.onPointerUp,w=>{let L=w.target;L.hasPointerCapture(w.pointerId)&&L.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=N.current,f.viewport&&(f.viewport.style.scrollBehavior=""),g.current=null})})})}),Pe="ScrollAreaThumb",bt=m.forwardRef((e,t)=>{let{forceMount:r,...s}=e,l=gt(Pe,e.__scopeScrollArea);return(0,o.jsx)(Ie,{present:r||l.hasThumb,children:(0,o.jsx)(Jr,{ref:t,...s})})}),Jr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:s,...l}=e,a=z(Pe,r),n=gt(Pe,r),{onThumbPositionChange:i}=n,c=ie(t,p=>n.onThumbChange(p)),d=m.useRef(void 0),u=ze(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=a.viewport;if(p){let h=()=>{u(),d.current||(d.current=eo(p,i),i())};return i(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[a.viewport,u,i]),(0,o.jsx)(xe.div,{"data-state":n.hasThumb?"visible":"hidden",...l,ref:c,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...s},onPointerDownCapture:B(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,x=p.clientY-h.top;n.onThumbPointerDown({x:f,y:x})}),onPointerUp:B(e.onPointerUp,n.onThumbPointerUp)})});bt.displayName=Pe;var Ze="ScrollAreaCorner",yt=m.forwardRef((e,t)=>{let r=z(Ze,e.__scopeScrollArea),s=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&s?(0,o.jsx)(Qr,{...e,ref:t}):null});yt.displayName=Ze;var Qr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...s}=e,l=z(Ze,r),[a,n]=m.useState(0),[i,c]=m.useState(0),d=!!(a&&i);return de(l.scrollbarX,()=>{var p;let u=((p=l.scrollbarX)==null?void 0:p.offsetHeight)||0;l.onCornerHeightChange(u),c(u)}),de(l.scrollbarY,()=>{var p;let u=((p=l.scrollbarY)==null?void 0:p.offsetWidth)||0;l.onCornerWidthChange(u),n(u)}),d?(0,o.jsx)(xe.div,{...s,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 De(e){return e?parseInt(e,10):0}function jt(e,t){let r=e/t;return isNaN(r)?0:r}function Me(e){let t=jt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,s=(e.scrollbar.size-r)*t;return Math.max(s,18)}function Zr(e,t,r,s="ltr"){let l=Me(r),a=l/2,n=t||a,i=l-n,c=r.scrollbar.paddingStart+n,d=r.scrollbar.size-r.scrollbar.paddingEnd-i,u=r.content-r.viewport,p=s==="ltr"?[0,u]:[u*-1,0];return Ct([c,d],p)(e)}function St(e,t,r="ltr"){let s=Me(t),l=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-l,n=t.content-t.viewport,i=a-s,c=ar(e,r==="ltr"?[0,n]:[n*-1,0]);return Ct([0,n],[0,i])(c)}function Ct(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let s=(t[1]-t[0])/(e[1]-e[0]);return t[0]+s*(r-e[0])}}function Nt(e,t){return e>0&&e<t}var eo=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},s=0;return(function l(){let a={left:e.scrollLeft,top:e.scrollTop},n=r.left!==a.left,i=r.top!==a.top;(n||i)&&t(),r=a,s=window.requestAnimationFrame(l)})(),()=>window.cancelAnimationFrame(s)};function ze(e,t){let r=V(e),s=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(s.current),[]),m.useCallback(()=>{window.clearTimeout(s.current),s.current=window.setTimeout(r,t)},[r,t])}function de(e,t){let r=V(t);Jt(()=>{let s=0;if(e){let l=new ResizeObserver(()=>{cancelAnimationFrame(s),s=window.requestAnimationFrame(r)});return l.observe(e),()=>{window.cancelAnimationFrame(s),l.unobserve(e)}}},[e,r])}var At=ht,to=xt,ro=yt,oo=nt("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"}]]),lo=nt("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"}]]),Rt=ot();const ao=({chatState:e,chatId:t,messages:r})=>{if(!t)return Le.warn("No active chat"),e;let s=e.chats.get(t);if(!s)return Le.warn("No active chat"),e;let l=new Map(e.chats),a=Date.now();return l.set(s.id,{...s,messages:r,updatedAt:a}),{...e,chats:l}};var Tt=m.forwardRef((e,t)=>{let r=(0,Rt.c)(15),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:l,children:s,...a}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n;r[4]===l?n=r[5]:(n=ce("relative overflow-hidden",l),r[4]=l,r[5]=n);let i;r[6]===s?i=r[7]:(i=(0,o.jsx)(to,{className:"h-full w-full rounded-[inherit]",children:s}),r[6]=s,r[7]=i);let c,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(_t,{}),d=(0,o.jsx)(ro,{}),r[8]=c,r[9]=d):(c=r[8],d=r[9]);let u;return r[10]!==a||r[11]!==t||r[12]!==n||r[13]!==i?(u=(0,o.jsxs)(At,{ref:t,className:n,...a,children:[i,c,d]}),r[10]=a,r[11]=t,r[12]=n,r[13]=i,r[14]=u):u=r[14],u});Tt.displayName=At.displayName;var _t=m.forwardRef((e,t)=>{let r=(0,Rt.c)(14),s,l,a;r[0]===e?(s=r[1],l=r[2],a=r[3]):({className:s,orientation:a,...l}=e,r[0]=e,r[1]=s,r[2]=l,r[3]=a);let n=a===void 0?"vertical":a,i=n==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",c=n==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==s||r[5]!==i||r[6]!==c?(d=ce("flex touch-none select-none transition-colors",i,c,s),r[4]=s,r[5]=i,r[6]=c,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(bt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==n||r[10]!==l||r[11]!==t||r[12]!==d?(p=(0,o.jsx)(Je,{ref:t,orientation:n,className:d,...l,children:u}),r[9]=n,r[10]=l,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});_t.displayName=Je.displayName;var so=[{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 no=e=>{let t=Date.now(),r=so.map(a=>({...a,chats:[]})),s={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]:s}};for(let a of e)l(Math.floor((t-a.updatedAt)/864e5)).chats.push(a);return[...r,s].filter(a=>a.chats.length>0)},io=({activeChatId:e,setActiveChat:t})=>{let r=Be(pt),{locale:s}=Hr(),[l,a]=(0,m.useState)(""),n=(0,m.useMemo)(()=>[...r.chats.values()].toSorted((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),i=(0,m.useMemo)(()=>l.trim()?n.filter(d=>d.title.toLowerCase().includes(l.toLowerCase())):n,[n,l]),c=(0,m.useMemo)(()=>no(i),[i]);return(0,o.jsxs)(tr,{children:[(0,o.jsx)($e,{content:"Previous chats",children:(0,o.jsx)(Zt,{asChild:!0,children:(0,o.jsx)($,{variant:"text",size:"icon",children:(0,o.jsx)(Ot,{className:"h-4 w-4"})})})}),(0,o.jsxs)(er,{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)(Pr,{placeholder:"Search chat history...",value:l,onChange:d=>a(d.target.value),className:"text-xs"})}),(0,o.jsx)(Tt,{className:"h-[450px] p-2",children:(0,o.jsxs)("div",{className:"space-y-3",children:[n.length===0&&(0,o.jsx)(Ke,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,o.jsx)(it,{})}),i.length===0&&l&&n.length>0&&(0,o.jsx)(Ke,{title:"No chats found",description:`No chats match "${l}"`,icon:(0,o.jsx)(Ir,{})}),c.map((d,u)=>(0,o.jsxs)("div",{className:"space-y-2",children:[(0,o.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,o.jsx)("div",{children:d.chats.map(p=>(0,o.jsxs)("button",{className:ce("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(p.id)},type:"button",children:[(0,o.jsx)("div",{className:"flex-1 min-w-0",children:(0,o.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,o.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:zr(p.updatedAt,s)})]},p.id))}),u!==c.length-1&&(0,o.jsx)("hr",{})]},d.label))]})})]})]})};var K=ot(),Et="manual",co=e=>{let t=(0,K.c)(18),{onNewChat:r,activeChatId:s,setActiveChat:l}=e,{handleClick:a}=lt(),n;t[0]===Symbol.for("react.memo_cache_sentinel")?(n=(0,o.jsx)(Lr,{className:"h-4 w-4"}),t[0]=n):n=t[0];let i;t[1]===r?i=t[2]:(i=(0,o.jsx)($e,{content:"New chat",children:(0,o.jsx)($,{variant:"text",size:"icon",onClick:r,children:n})}),t[1]=r,t[2]=i);let c;t[3]===Symbol.for("react.memo_cache_sentinel")?(c=(0,o.jsx)(Ut,{}),t[3]=c):c=t[3];let d;t[4]===a?d=t[5]:(d=()=>a("ai"),t[4]=a,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,o.jsx)(Dr,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,o.jsx)($e,{content:"AI Settings",children:(0,o.jsx)($,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==s||t[10]!==l?(h=(0,o.jsx)(io,{activeChatId:s,setActiveChat:l}),t[9]=s,t[10]=l,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[c,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let x;return t[15]!==i||t[16]!==f?(x=(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]=x):x=t[17],x},kt=(0,m.memo)(e=>{let t=(0,K.c)(17),{message:r,index:s,onEdit:l,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:c}=e,d;t[0]!==s||t[1]!==l?(d=g=>{var y,j,S;let N=(j=(y=g.parts)==null?void 0:y.filter(fo))==null?void 0:j.map(xo).join(`
2
+ `),R=(S=g.parts)==null?void 0:S.filter(vo);return(0,o.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[R==null?void 0:R.map(go),(0,o.jsx)(ut,{value:N,placeholder:"Type your message...",onChange:wo,onSubmit:(k,_)=>{_.trim()&&l(s,_)},onClose:bo},g.id)]})},t[0]=s,t[1]=l,t[2]=d):d=t[2];let u=d,p;t[3]!==c||t[4]!==i||t[5]!==n||t[6]!==a?(p=g=>(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)(Fr,{className:"h-3 w-3",value:g.parts.filter(yo).map(jo).join(`
3
+ `)||""})}),ur({message:g,isStreamingReasoning:a,isLast:n,isActive:i,addToolApprovalResponse:c})]}),t[3]=c,t[4]=i,t[5]=n,t[6]=a,t[7]=p):p=t[7];let h=p,f=r.role==="user"?"justify-end":"justify-start",x;t[8]===f?x=t[9]:(x=ce("flex group relative",f),t[8]=f,t[9]=x);let C;t[10]!==r||t[11]!==h||t[12]!==u?(C=r.role==="user"?u(r):h(r),t[10]=r,t[11]=h,t[12]=u,t[13]=C):C=t[13];let A;return t[14]!==x||t[15]!==C?(A=(0,o.jsx)("div",{className:x,children:C}),t[14]=x,t[15]=C,t[16]=A):A=t[16],A});kt.displayName="ChatMessage";var Lt=(0,m.memo)(e=>{var D;let t=(0,K.c)(42),{isEmpty:r,onSendClick:s,isLoading:l,onStop:a,fileInputRef:n,onAddFiles:i,onAddContext:c}=e,d=Be(at),u=(d==null?void 0:d.mode)||Et,p=((D=d==null?void 0:d.models)==null?void 0:D.chat_model)||"openai/gpt-4o",h=Xt.parse(p).providerId,{saveModeChange:f}=Yt(),x;t[0]===Symbol.for("react.memo_cache_sentinel")?(x=[{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage",Icon:kr},{value:"ask",label:"Ask",subtitle:"AI with access to read-only tools like documentation search",Icon:lo},{value:"agent",label:"Agent",subtitle:"AI with access to read and write tools",Icon:oo}],t[0]=x):x=t[0];let C=Cr.has(h),A;t[1]!==u||t[2]!==x?(A=x.find(G=>G.value===u),t[1]=u,t[2]=x,t[3]=A):A=t[3];let g=A,N=g==null?void 0:g.Icon,R=g==null?void 0:g.label,y;t[4]===N?y=t[5]:(y=N&&(0,o.jsx)(N,{className:"h-3 w-3"}),t[4]=N,t[5]=y);let j;t[6]===R?j=t[7]:(j=(0,o.jsx)("span",{children:R}),t[6]=R,t[7]=j);let S;t[8]!==y||t[9]!==j?(S=(0,o.jsxs)(nr,{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:[y,j]}),t[8]=y,t[9]=j,t[10]=S):S=t[10];let k;t[11]===Symbol.for("react.memo_cache_sentinel")?(k=(0,o.jsx)(rr,{className:"text-xs uppercase tracking-wider text-muted-foreground/70 font-medium",children:"AI Mode"}),t[11]=k):k=t[11];let _;t[12]===x?_=t[13]:(_=(0,o.jsx)(lr,{children:(0,o.jsxs)(sr,{children:[k,x.map(So)]})}),t[12]=x,t[13]=_);let w;t[14]!==u||t[15]!==f||t[16]!==S||t[17]!==_?(w=(0,o.jsxs)(ir,{value:u,onValueChange:f,children:[S,_]}),t[14]=u,t[15]=f,t[16]=S,t[17]=_,t[18]=w):w=t[18];let L;t[19]===Symbol.for("react.memo_cache_sentinel")?(L=(0,o.jsx)(qt,{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[19]=L):L=t[19];let P;t[20]===w?P=t[21]:(P=(0,o.jsxs)("div",{className:"flex items-center gap-2",children:[w,L]}),t[20]=w,t[21]=P);let X;t[22]!==l||t[23]!==c?(X=(0,o.jsx)(Nr,{handleAddContext:c,isLoading:l}),t[22]=l,t[23]=c,t[24]=X):X=t[24];let F;t[25]!==n||t[26]!==C||t[27]!==l||t[28]!==i?(F=C&&(0,o.jsx)(wr,{fileInputRef:n,isLoading:l,onAddFiles:i}),t[25]=n,t[26]=C,t[27]=l,t[28]=i,t[29]=F):F=t[29];let H;t[30]!==r||t[31]!==l||t[32]!==s||t[33]!==a?(H=(0,o.jsx)(br,{isLoading:l,onStop:a,onSendClick:s,isEmpty:r}),t[30]=r,t[31]=l,t[32]=s,t[33]=a,t[34]=H):H=t[34];let W;t[35]!==X||t[36]!==F||t[37]!==H?(W=(0,o.jsxs)("div",{className:"flex flex-row",children:[X,F,H]}),t[35]=X,t[36]=F,t[37]=H,t[38]=W):W=t[38];let T;return t[39]!==W||t[40]!==P?(T=(0,o.jsx)(st,{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:[P,W]})}),t[39]=W,t[40]=P,t[41]=T):T=t[41],T});Lt.displayName="ChatInputFooter";var et=(0,m.memo)(e=>{let t=(0,K.c)(29),{placeholder:r,input:s,inputClassName:l,setInput:a,onSubmit:n,inputRef:i,isLoading:c,onStop:d,fileInputRef:u,onAddFiles:p,onClose:h}=e,f;t[0]!==s||t[1]!==n?(f=()=>{s.trim()&&n(void 0,s)},t[0]=s,t[1]=n,t[2]=f):f=t[2];let x=ne(f),C;t[3]===l?C=t[4]:(C=ce("px-2 py-3 flex-1",l),t[3]=l,t[4]=C);let A=r||"Type your message...",g;t[5]!==s||t[6]!==i||t[7]!==p||t[8]!==h||t[9]!==n||t[10]!==a||t[11]!==A?(g=(0,o.jsx)(ut,{inputRef:i,value:s,onChange:a,onSubmit:n,onClose:h,onAddFiles:p,placeholder:A}),t[5]=s,t[6]=i,t[7]=p,t[8]=h,t[9]=n,t[10]=a,t[11]=A,t[12]=g):g=t[12];let N;t[13]!==C||t[14]!==g?(N=(0,o.jsx)("div",{className:C,children:g}),t[13]=C,t[14]=g,t[15]=N):N=t[15];let R=!s.trim(),y;t[16]===i?y=t[17]:(y=()=>hr(i),t[16]=i,t[17]=y);let j;t[18]!==u||t[19]!==x||t[20]!==c||t[21]!==p||t[22]!==d||t[23]!==R||t[24]!==y?(j=(0,o.jsx)(Lt,{isEmpty:R,onAddContext:y,onSendClick:x,isLoading:c,onStop:d,fileInputRef:u,onAddFiles:p}),t[18]=u,t[19]=x,t[20]=c,t[21]=p,t[22]=d,t[23]=R,t[24]=y,t[25]=j):j=t[25];let S;return t[26]!==N||t[27]!==j?(S=(0,o.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[N,j]}),t[26]=N,t[27]=j,t[28]=S):S=t[28],S});et.displayName="ChatInput";var uo=e=>{let t=(0,K.c)(5),{onPairWithAgent:r}=e;if(Bt())return null;let s,l,a;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(Mr,{className:"h-3.5 w-3.5 shrink-0"}),l=(0,o.jsx)("span",{children:"Work on this notebook with your own agent"}),a=(0,o.jsx)(dr,{className:"h-3 w-3 shrink-0"}),t[0]=s,t[1]=l,t[2]=a):(s=t[0],l=t[1],a=t[2]);let n;return t[3]===r?n=t[4]:(n=(0,o.jsxs)($,{variant:"text",className:"gap-1.5 text-sm text-link hover:underline",onClick:r,children:[s,l,a]}),t[3]=r,t[4]=n),n},po=()=>{let e=(0,K.c)(6),t=Be(Vt),{handleClick:r}=lt();if(!t){let l;e[0]===r?l=e[1]:(l=(0,o.jsx)($,{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)(it,{}),e[2]=a):a=e[2];let n;return e[3]===l?n=e[4]:(n=(0,o.jsx)(Ke,{title:"Chat with AI",description:"No AI provider configured or Chat model not selected",action:l,icon:a}),e[3]=l,e[4]=n),n}let s;return e[5]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(mo,{}),e[5]=s):s=e[5],s},mo=()=>{let e=(0,K.c)(103),t=Mt(pt),[r,s]=Ft(Or),[l,a]=(0,m.useState)(""),[n,i]=(0,m.useState)(""),{files:c,addFiles:d,clearFiles:u,removeFile:p}=gr(),h=(0,m.useRef)(null),f=(0,m.useRef)(null),x=(0,m.useRef)(null),C=(0,m.useRef)(null),A=(0,m.useRef)(null),g=$t(),{invokeAiTool:N,sendRun:R}=cr(),{openModal:y,closeModal:j}=Wr(),S=r==null?void 0:r.id,k=zt(),{addStagedCell:_}=mr(),{createNewCell:w,prepareForRun:L}=Wt(),P;e[0]!==_||e[1]!==w||e[2]!==L||e[3]!==R||e[4]!==k?(P={addStagedCell:_,createNewCell:w,prepareForRun:L,sendRun:R,store:k},e[0]=_,e[1]=w,e[2]=L,e[3]=R,e[4]=k,e[5]=P):P=e[5];let X=P,F;e[6]===(r==null?void 0:r.messages)?F=e[7]:(F=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=F);let H;if(e[8]!==g||e[9]!==k){let v;e[11]===g?v=e[12]:(v=()=>g.headers(),e[11]=g,e[12]=v),H=new xr({api:g.getAiURL("chat").toString(),headers:v,prepareSendMessagesRequest:async b=>{var fe;let I=await fr({messages:b.messages});I.success||Le.debug("Outgoing chat messages failed AI SDK schema validation",I.error);let O=await Sr(b.messages),he=((fe=k.get(at))==null?void 0:fe.mode)||Et,q=Tr.getToolSchemas(he);return{api:g.getAiURL("chat").toString(),body:{tools:q,...b,...O}}}}),e[8]=g,e[9]=k,e[10]=H}else H=e[10];let W;e[13]===t?W=e[14]:(W=v=>{let{messages:b}=v;t(I=>ao({chatState:I,chatId:I.activeChatId,messages:b}))},e[13]=t,e[14]=W);let{messages:T,sendMessage:D,error:G,status:tt,regenerate:Fe,stop:U,addToolOutput:It,addToolApprovalResponse:ue,id:He}=pr({id:S,sendAutomaticallyWhen:Co,messages:F,transport:H,onFinish:W,onToolCall:async v=>{let{toolCall:b}=v;await vr({invokeAiTool:N,addToolOutput:Pt,toolCall:{toolName:b.toolName,toolCallId:b.toolCallId,input:b.input},toolContext:X})},onError:No}),Pt=It,E=tt==="submitted"||tt==="streaming",ve;e[15]!==E||e[16]!==T?(ve=E&&T.length>0&&_r(T),e[15]=E,e[16]=T,e[17]=ve):ve=e[17];let pe=ve,ge;e[18]===Symbol.for("react.memo_cache_sentinel")?(ge=()=>{requestAnimationFrame(()=>{if(x.current){let v=x.current;v.scrollTop=v.scrollHeight}})},e[18]=ge):ge=e[18];let we;e[19]===S?we=e[20]:(we=[S],e[19]=S,e[20]=we),(0,m.useEffect)(ge,we);let be;e[21]!==He||e[22]!==u||e[23]!==D||e[24]!==t?(be=async(v,b)=>{let I=Date.now(),O={id:He,title:yr(v),messages:[],createdAt:I,updatedAt:I};t(q=>{let fe=new Map(q.chats);return fe.set(O.id,O),{...q,chats:fe,activeChatId:O.id}});let he=b&&b.length>0?await ct(b):void 0;D({role:"user",parts:[{type:"text",text:v},...he??[]]}),u(),a("")},e[21]=He,e[22]=u,e[23]=D,e[24]=t,e[25]=be):be=e[25];let We=be,ye;e[26]!==u||e[27]!==s?(ye=()=>{s(null),a(""),i(""),u()},e[26]=u,e[27]=s,e[28]=ye):ye=e[28];let Oe=ne(ye),je;e[29]!==j||e[30]!==y?(je=()=>{y((0,o.jsx)(Xr,{onClose:j}))},e[29]=j,e[30]=y,e[31]=je):je=e[31];let Ye=ne(je),Se;e[32]!==T||e[33]!==D?(Se=(v,b)=>{var q;let I=T[v],O=(q=I.parts)==null?void 0:q.filter(Ao),he=I.id;D({messageId:he,role:"user",parts:[{type:"text",text:b},...O]})},e[32]=T,e[33]=D,e[34]=Se):Se=e[34];let me=ne(Se),Ce;e[35]!==u||e[36]!==c||e[37]!==D?(Ce=async(v,b)=>{var O;if(!b.trim())return;(O=f.current)!=null&&O.view&&dt(f.current.view);let I=c?await ct(c):void 0;v==null||v.preventDefault(),D({text:b,files:I}),a(""),u()},e[35]=u,e[36]=c,e[37]=D,e[38]=Ce):Ce=e[38];let Xe=ne(Ce),Ne;e[39]===Fe?Ne=e[40]:(Ne=()=>{Fe()},e[39]=Fe,e[40]=Ne);let Ue=Ne,Ae;e[41]!==We||e[42]!==c||e[43]!==n?(Ae=()=>{var v;n.trim()&&((v=h.current)!=null&&v.view&&dt(h.current.view),We(n.trim(),c))},e[41]=We,e[42]=c,e[43]=n,e[44]=Ae):Ae=e[44];let qe=ne(Ae),Re;e[45]===Symbol.for("react.memo_cache_sentinel")?(Re=()=>{var v,b;return(b=(v=h.current)==null?void 0:v.editor)==null?void 0:b.blur()},e[45]=Re):Re=e[45];let Dt=Re,M=T.length===0,Te;e[46]!==d||e[47]!==Xe||e[48]!==qe||e[49]!==l||e[50]!==E||e[51]!==M||e[52]!==n||e[53]!==U?(Te=M?(0,o.jsx)(et,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:n,inputRef:h,inputClassName:"px-1 py-0",setInput:i,onSubmit:qe,isLoading:E,onStop:U,fileInputRef:C,onAddFiles:d,onClose:Dt},"new-thread-input"):(0,o.jsx)(et,{input:l,setInput:a,onSubmit:Xe,inputRef:f,isLoading:E,onStop:U,onClose:()=>{var v,b;return(b=(v=f.current)==null?void 0:v.editor)==null?void 0:b.blur()},fileInputRef:C,onAddFiles:d}),e[46]=d,e[47]=Xe,e[48]=qe,e[49]=l,e[50]=E,e[51]=M,e[52]=n,e[53]=U,e[54]=Te):Te=e[54];let J=Te,_e;e[55]!==c||e[56]!==M||e[57]!==p?(_e=c&&c.length>0&&(0,o.jsx)("div",{className:ce("flex flex-row gap-1 flex-wrap p-1",M&&"py-2 px-1"),children:c==null?void 0:c.map(v=>(0,o.jsx)(Ar,{file:v,onRemove:()=>p(v)},v.name))}),e[55]=c,e[56]=M,e[57]=p,e[58]=_e):_e=e[58];let Q=_e,Ve=r==null?void 0:r.id,Z;e[59]!==Oe||e[60]!==s||e[61]!==Ve?(Z=(0,o.jsx)(st,{children:(0,o.jsx)(co,{onNewChat:Oe,activeChatId:Ve,setActiveChat:s})}),e[59]=Oe,e[60]=s,e[61]=Ve,e[62]=Z):Z=e[62];let ee;e[63]!==J||e[64]!==Q||e[65]!==Ye||e[66]!==M?(ee=M&&(0,o.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,o.jsxs)("div",{className:"rounded-md border bg-background",children:[Q,J]}),(0,o.jsx)(uo,{onPairWithAgent:Ye})]}),e[63]=J,e[64]=Q,e[65]=Ye,e[66]=M,e[67]=ee):ee=e[67];let te;if(e[68]!==ue||e[69]!==me||e[70]!==E||e[71]!==pe||e[72]!==T){let v;e[74]!==ue||e[75]!==me||e[76]!==E||e[77]!==pe||e[78]!==T.length?(v=(b,I)=>(0,o.jsx)(kt,{message:b,index:I,onEdit:me,isStreamingReasoning:pe,isLast:I===T.length-1,isActive:E,addToolApprovalResponse:ue},b.id),e[74]=ue,e[75]=me,e[76]=E,e[77]=pe,e[78]=T.length,e[79]=v):v=e[79],te=T.map(v),e[68]=ue,e[69]=me,e[70]=E,e[71]=pe,e[72]=T,e[73]=te}else te=e[73];let re;e[80]===E?re=e[81]:(re=E&&(0,o.jsx)("div",{className:"flex justify-center py-4",children:(0,o.jsx)(Er,{className:"h-4 w-4 animate-spin"})}),e[80]=E,e[81]=re);let oe;e[82]!==G||e[83]!==Ue?(oe=G&&(0,o.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,o.jsx)(Yr,{error:G||Error("Unknown error")}),(0,o.jsx)($,{variant:"outline",size:"sm",onClick:Ue,children:"Retry"})]}),e[82]=G,e[83]=Ue,e[84]=oe):oe=e[84];let Ee;e[85]===Symbol.for("react.memo_cache_sentinel")?(Ee=(0,o.jsx)("div",{ref:A}),e[85]=Ee):Ee=e[85];let le;e[86]!==ee||e[87]!==te||e[88]!==re||e[89]!==oe?(le=(0,o.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:x,children:[ee,te,re,oe,Ee]}),e[86]=ee,e[87]=te,e[88]=re,e[89]=oe,e[90]=le):le=e[90];let ae;e[91]!==E||e[92]!==U?(ae=E&&(0,o.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,o.jsx)($,{variant:"linkDestructive",size:"sm",onClick:U,children:"Stop"})}),e[91]=E,e[92]=U,e[93]=ae):ae=e[93];let se;e[94]!==J||e[95]!==Q||e[96]!==M?(se=!M&&(0,o.jsxs)(o.Fragment,{children:[Q,J]}),e[94]=J,e[95]=Q,e[96]=M,e[97]=se):se=e[97];let ke;return e[98]!==Z||e[99]!==le||e[100]!==ae||e[101]!==se?(ke=(0,o.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[Z,le,ae,se]}),e[98]=Z,e[99]=le,e[100]=ae,e[101]=se,e[102]=ke):ke=e[102],ke},ho=po;function fo(e){return e.type==="text"}function xo(e){return e.text}function vo(e){return e.type==="file"}function go(e,t){return(0,o.jsx)(jr,{attachment:e},t)}function wo(){}function bo(){}function yo(e){return e.type==="text"}function jo(e){return e.text}function So(e){return(0,o.jsx)(or,{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 Co(e){let{messages:t}=e;return Rr(t)}function No(e){Le.error("An error occurred:",e)}function Ao(e){return e.type==="file"}export{ho as default};
@@ -1,4 +1,4 @@
1
- import{s as X}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{un as oe}from"./cells-D3EcEVTz.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as me,R as ce,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{_ as P,d as he,t as xe}from"./useEventListener-BfYriKqt.js";import{t as Y}from"./cn-X2M2usMq.js";import{t as fe}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import{i as ge,l as be,r as Z,t as B}from"./popover-D1IutFqN.js";import{a as je,p as ve,r as ye,t as Ne}from"./dropdown-menu-BYGDVBcE.js";import{t as U}from"./label-BbRibkug.js";import{t as K}from"./tooltip-CWSr2PfE.js";import{t as z}from"./button-Db07tdz7.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{t as we}from"./strings-B-yaq2o7.js";import{t as _e}from"./createLucideIcon-BTp1tQDO.js";import{t as Ce}from"./bot-message-square-AslRbAeb.js";import{t as ke}from"./x-9vLEgLY6.js";import"./markdown-renderer-Ctc_BAzL.js";import{u as Se}from"./toDate-DCE7d2fN.js";import{A as Re,M as Ae,P as qe,R as ze,h as Ee,n as Me,v as Te,z as De}from"./add-cell-with-ai-r88BQwnl.js";import{t as Fe}from"./spinner-BlJOg2gb.js";import{o as $e,r as He}from"./input-DiAad2nt.js";import{t as Ie}from"./settings-CP-IXCzQ.js";import{t as Le}from"./chat-display-C9WoxE6U.js";import{t as Oe}from"./square-DPWHdF_-.js";import{t as Pe}from"./trash-2-CjPoUZCP.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as Ve}from"./uuid-BukULOeS.js";import"./session-DF0gSADo.js";import"./purify.es-DdxMtdqK.js";import{t as Je}from"./copy-icon-C8Cq0-V0.js";import{r as Ke}from"./react-icons.esm-C2u-_EAQ.js";import{t as Ge}from"./events-BRbNg7Li.js";import{n as We}from"./error-banner-B4PMmgPV.js";import"./chunk-5FQGJX7Z-D-AUn5sP.js";import"./html-to-image-BMbVLGQG.js";import{n as Xe}from"./useAsyncData-CT1LpOBD.js";import"./esm-DSv-aO_T.js";var Ye=_e("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"}]]),G=ue(),t=X(fe(),1),v=X(le(),1),Ze=be,Be=me({type:de("stream_chunk"),message_id:ce(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Ue=s=>{var W;let[e,o]=(0,v.useState)(""),[d,f]=(0,v.useState)(s.config),[b,p]=(0,v.useState)(s.config),[i,g]=(0,v.useState)(void 0),x=(0,v.useRef)(null),j=(0,v.useRef)(null),y=(0,v.useRef)(null),m=(0,v.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,v.useRef)(d);l.current=d;let c=(0,v.useRef)(null),a=(0,v.useRef)(null),{data:u}=Xe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:D,error:_,regenerate:A,clearError:C,addToolApprovalResponse:F}=Re({sendAutomaticallyWhen:({messages:r})=>Te(r),transport:new Ae({fetch:async(r,N)=>{var H;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={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 L=k.messages.map(T=>{var E;return{...T,content:(E=T.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
2
- `)}}),O=Ve(),ne=new ReadableStream({start(T){c.current=T,a.current=O;let E=()=>{try{T.close()}catch(I){P.debug("Controller may already be closed",{error:I})}c.current=null,a.current=null,s.cancel_prompt({request_id:O}).catch(I=>{P.debug("cancel_prompt failed",{error:I})})};return S==null||S.addEventListener("abort",E),()=>{S==null||S.removeEventListener("abort",E)}},cancel(){c.current=null,a.current=null}});return s.send_prompt({request_id:O,messages:L,config:J}).catch(T=>{var E;(E=c.current)==null||E.error(T),c.current=null,a.current=null}),qe({stream:ne})}catch(L){if(L instanceof Error&&L.name==="AbortError")return new Response("Aborted",{status:499});let O=(H=L.message)==null?void 0:H.split("failed with exception ").pop();return new Response(O,{status:400})}}}),messages:n,onFinish:r=>{g(void 0),x.current&&(x.current.value=""),P.debug("Finished streaming message:",r),s.setValue(r.messages)},onError:r=>{P.error("An error occurred:",r)}});xe(s.host,Ge.TYPE,r=>{let N=Be.safeParse(r.detail.message);N.success&&Q(N.data,{controllerRef:c,activeRequestIdRef:a})});let $=R==="submitted"||R==="streaming",ee=r=>{let N=h.findIndex(k=>k.id===r);if(N!==-1){let k=h.filter(S=>S.id!==r);s.delete_chat_message({index:N}),q(k),s.setValue(k)}},te=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,se={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},re=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,v.useEffect)(()=>{var r;(r=m.current)==null||r.scrollTo({top:m.current.scrollHeight,behavior:"smooth"})},[h.length,m]);let M=(W=y.current)==null?void 0:W.view,ae=()=>{if(M){let r=M.state.doc.length;M.dispatch({changes:{from:0,to:r,insert:""}})}o("")};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:h.length===0,onClick:()=>{q([]),s.setValue([]),s.delete_chat_history({}),C()},children:(0,t.jsx)(Ye,{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:m,children:[h.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)(Ce,{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."})]}),h.map((r,N)=>{var J;let k=(J=r.parts)==null?void 0:J.filter(H=>H.type==="text").map(H=>H.text).join(`
3
- `),S=N===h.length-1;return(0,t.jsxs)("div",{className:Y("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:Le({message:r,isStreamingReasoning:R==="streaming",isLast:S,addToolApprovalResponse:S?F:void 0})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(Je,{value:k,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>ee(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)(Pe,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${N}`)}),$&&(0,t.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,t.jsx)(Fe,{size:"small"})}),_&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(We,{error:_}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>A(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let N=i?await Ee(i):void 0;w({role:"user",parts:[{type:"text",text:e},...N??[]]}),ae()},ref:j,inert:s.disabled||void 0,className:Y("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)(Qe,{config:d,onChange:f}),s.prompts.length>0&&(0,t.jsx)(et,{prompts:s.prompts,onSelect:r=>{o(r),requestAnimationFrame(()=>{M==null||M.focus(),oe(M)})}}),(0,t.jsx)(Me,{className:"rounded-sm mr-2",placeholder:re,value:e,inputRef:y,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:o,onSubmit:(r,N)=>{var k;N.trim()&&((k=j.current)==null||k.requestSubmit())},onClose:()=>{},additionalCompletions:se}),i&&i.length===1&&(0,t.jsx)("span",{title:i[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:i[0].name}),i&&i.length>1&&(0,t.jsxs)("span",{title:[...i].map(r=>r.name).join(`
4
- `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[i.length," files"]}),i&&i.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{g(void 0),x.current&&(x.current.value="")},children:(0,t.jsx)(ke,{className:"size-3"})}),te&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=x.current)==null?void 0:r.click()},children:(0,t.jsx)(De,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:x,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&g([...r.target.files])}})]}),$?(0,t.jsx)(K,{content:"Stop generating",children:(0,t.jsx)(z,{type:"button",variant:"link",size:"xs",onClick:()=>D(),className:"text-(--red-9) hover:text-(--red-11)",children:(0,t.jsx)(Oe,{className:"h-4 w-4 fill-current"})})}):(0,t.jsx)(z,{type:"submit",disabled:!e,variant:"outline",size:"xs",className:"text-(--slate-11)","aria-label":"Send message",children:(0,t.jsx)(ze,{className:"h-4 w-4"})})]})]})};var V={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)"}},Qe=s=>{let e=(0,G.c)(16),{config:o,onChange:d}=s,[f,b]=(0,v.useState)(!1),p;e[0]!==o||e[1]!==d?(p=(a,u)=>{let n=u===null||Number.isNaN(u)?null:u;if(n!==null){let{min:h,max:w}=V[a];n=Math.max(h,Math.min(w,n))}d({...o,[a]:n})},e[0]=o,e[1]=d,e[2]=p):p=e[2];let i=p,g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=a=>{a.key==="Enter"&&(a.preventDefault(),b(!1))},e[3]=g):g=e[3];let x=g,j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(K,{content:"Configuration",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)(Ie,{className:"h-3 w-3"})})})}),e[4]=j):j=e[4];let y;e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=y):y=e[5];let m;if(e[6]!==o||e[7]!==i){let a;e[9]===i?a=e[10]:(a=u=>{let[n,h]=u;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(U,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[we.startCase(n),(0,t.jsx)(K,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:V[n].description}),children:(0,t.jsx)(Se,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)($e,{id:n,"aria-label":n,value:h??NaN,placeholder:"null",minValue:V[n].min,maxValue:V[n].max,step:V[n].step??1,onChange:w=>i(n,w),onKeyDown:x,className:"col-span-3"})]},n)},e[9]=i,e[10]=a),m=he.entries(o).map(a),e[6]=o,e[7]=i,e[8]=m}else m=e[8];let l;e[11]===m?l=e[12]:(l=(0,t.jsx)(Z,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[y,m]})}),e[11]=m,e[12]=l);let c;return e[13]!==f||e[14]!==l?(c=(0,t.jsxs)(B,{open:f,onOpenChange:b,children:[j,l]}),e[13]=f,e[14]=l,e[15]=c):c=e[15],c},et=s=>{let e=(0,G.c)(18),{prompts:o,onSelect:d}=s,[f,b]=(0,v.useState)(!1),[p,i]=(0,v.useState)(""),g;e[0]===d?g=e[1]:(g=u=>{[...u.matchAll(/{{(\w+)}}/g)].length>0?(i(u),b(!0)):d(u)},e[0]=d,e[1]=g);let x=g,j;e[2]===Symbol.for("react.memo_cache_sentinel")?(j=(0,t.jsx)(K,{content:"Select a prompt",children:(0,t.jsx)(ve,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Ke,{className:"h-3 w-3"})})})}),e[2]=j):j=e[2];let y;if(e[3]!==x||e[4]!==o){let u;e[6]===x?u=e[7]:(u=(n,h)=>(0,t.jsx)(je,{onSelect:()=>x(n),className:"whitespace-normal text-left",children:n},h),e[6]=x,e[7]=u),y=o.map(u),e[3]=x,e[4]=o,e[5]=y}else y=e[5];let m;e[8]===y?m=e[9]:(m=(0,t.jsx)(Ze,{children:(0,t.jsxs)(Ne,{children:[j,(0,t.jsx)(ye,{side:"right",align:"end",onCloseAutoFocus:st,className:"w-64 max-h-96 overflow-y-auto",children:y})]})}),e[8]=y,e[9]=m);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>b(!1),e[10]=l):l=e[10];let c;e[11]!==d||e[12]!==p?(c=(0,t.jsx)(Z,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(tt,{prompt:p,onClose:l,onSelect:d})}),e[11]=d,e[12]=p,e[13]=c):c=e[13];let a;return e[14]!==f||e[15]!==m||e[16]!==c?(a=(0,t.jsxs)(B,{open:f,onOpenChange:b,children:[m,c]}),e[14]=f,e[15]=m,e[16]=c,e[17]=a):a=e[17],a},tt=s=>{let e=(0,G.c)(32),{prompt:o,onClose:d,onSelect:f}=s,b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={},e[0]=b):b=e[0];let[p,i]=(0,v.useState)(b),g,x;e[1]===o?(g=e[2],x=e[3]):(g=()=>{i([...o.matchAll(/{{(\w+)}}/g)].reduce(rt,{}))},x=[o],e[1]=o,e[2]=g,e[3]=x),(0,v.useEffect)(g,x);let j;e[4]===Symbol.for("react.memo_cache_sentinel")?(j=(_,A)=>{i(C=>({...C,[_]:A}))},e[4]=j):j=e[4];let y=j,m;if(e[5]!==o||e[6]!==p){let _;e[8]===Symbol.for("react.memo_cache_sentinel")?(_=/{{(\w+)}}/g,e[8]=_):_=e[8];let A;e[9]===p?A=e[10]:(A=(C,F)=>p[F]||`{{${F}}}`,e[9]=p,e[10]=A),m=o.replaceAll(_,A),e[5]=o,e[6]=p,e[7]=m}else m=e[7];let l=m,c;e[11]===p?c=e[12]:(c=Object.values(p).some(at),e[11]=p,e[12]=c);let a=c,u;e[13]!==d||e[14]!==f||e[15]!==l?(u=()=>{f(l),d()},e[13]=d,e[14]=f,e[15]=l,e[16]=u):u=e[16];let n=u,h;e[17]===p?h=e[18]:(h=Object.entries(p),e[17]=p,e[18]=h);let w;e[19]!==n||e[20]!==a||e[21]!==h?(w=h.map((_,A)=>{let[C,F]=_;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(U,{htmlFor:C,className:"font-semibold text-base",children:C}),(0,t.jsx)(He,{id:C,value:F,onChange:$=>y(C,$.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${C}`,autoFocus:A===0,onKeyDown:$=>{$.key==="Enter"&&!a&&n()}})]},C)}),e[19]=n,e[20]=a,e[21]=h,e[22]=w):w=e[22];let q;e[23]===l?q=e[24]:(q=(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]=q);let R;e[25]!==n||e[26]!==a?(R=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=R):R=e[27];let D;return e[28]!==q||e[29]!==R||e[30]!==w?(D=(0,t.jsxs)("div",{className:"grid gap-4",children:[w,q,R]}),e[28]=q,e[29]=R,e[30]=w,e[31]=D):D=e[31],D};function st(s){return s.preventDefault()}function rt(s,e){return s[e[1]]="",s}function at(s){return s==null||s.trim()===""}export{Ue as Chatbot,Q as routeIncomingChatChunk};
1
+ import{s as X}from"./chunk-LvLJmgfZ.js";import"./useEvent-D91BmmQi.js";import{t as le}from"./react-Bj1aDYRI.js";import{un as oe}from"./cells-B7nz4LNo.js";import"./react-dom-CSu739Rf.js";import{C as ie,P as ce,R as me,T as pe,k as de}from"./zod-H_cgTO0M.js";import{t as ue}from"./compiler-runtime-B3qBwwSJ.js";import{_ as P,d as he,t as xe}from"./useEventListener-BfYriKqt.js";import{t as Y}from"./cn-X2M2usMq.js";import{t as fe}from"./jsx-runtime-PbYoItBR.js";import"./fullscreen-6ovMHcQN.js";import{i as ge,l as be,r as Z,t as B}from"./popover-D1IutFqN.js";import{a as ve,p as je,r as ye,t as Ne}from"./dropdown-menu-BYGDVBcE.js";import{t as U}from"./label-BbRibkug.js";import{t as K}from"./tooltip-CWSr2PfE.js";import{t as z}from"./button-Db07tdz7.js";import"./dist-Dez1I5M9.js";import"./cjs-DXo9vDEJ.js";import"./main-DmhaVp6Y.js";import"./useNonce-0SWz6w4W.js";import{t as we}from"./strings-B-yaq2o7.js";import{t as _e}from"./createLucideIcon-BTp1tQDO.js";import{t as Ce}from"./bot-message-square-AslRbAeb.js";import{t as ke}from"./x-9vLEgLY6.js";import"./markdown-renderer-qOz3nDtd.js";import{u as Se}from"./toDate-DCE7d2fN.js";import{t as Re}from"./chat-display-DvmXfrjc.js";import{A as Ae,M as qe,P as ze,R as Ee,h as Me,n as Te,v as De,z as Fe}from"./add-cell-with-ai-DDmDEBpR.js";import{t as $e}from"./spinner-DTBVbtl-.js";import{o as He,r as Ie}from"./input-BpT1_NFw.js";import{t as Le}from"./settings-Cn43l_vx.js";import{t as Oe}from"./square-DPWHdF_-.js";import{t as Pe}from"./trash-2-CjPoUZCP.js";import"./dist-DHMtQYxT.js";import"./dist-Bj9Iedc0.js";import"./dist-D-o1OXc9.js";import"./dist-BZhJ1bTM.js";import"./dist-DnIl7RU-.js";import{t as Ve}from"./uuid-BukULOeS.js";import"./session-DF0gSADo.js";import"./purify.es-DdxMtdqK.js";import{t as Je}from"./copy-icon-BFMtxrRP.js";import{r as Ke}from"./react-icons.esm-C2u-_EAQ.js";import{t as Ge}from"./events-BRbNg7Li.js";import{n as We}from"./error-banner-B4PMmgPV.js";import"./chunk-5FQGJX7Z-D-AUn5sP.js";import"./html-to-image-C4EfBRTz.js";import{n as Xe}from"./useAsyncData-CT1LpOBD.js";import"./esm-DSv-aO_T.js";var Ye=_e("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"}]]),G=ue(),t=X(fe(),1),j=X(le(),1),Ze=be,Be=ce({type:de("stream_chunk"),message_id:me(),content:ie().nullable().transform(s=>s),is_final:pe().optional()});function Q(s,e){let{controllerRef:o,activeRequestIdRef:d}=e,f=o.current;if(f===null)return"dropped-no-controller";let b=d.current;return b!==null&&s.message_id!==b?(P.debug("Dropping stale chat chunk",{chunkRequestId:s.message_id,activeRequestId:b}),"dropped-stale"):(s.content&&f.enqueue(s.content),s.is_final?(f.close(),o.current=null,d.current=null,"closed"):"enqueued")}const Ue=s=>{var W;let[e,o]=(0,j.useState)(""),[d,f]=(0,j.useState)(s.config),[b,p]=(0,j.useState)(s.config),[i,g]=(0,j.useState)(void 0),x=(0,j.useRef)(null),v=(0,j.useRef)(null),y=(0,j.useRef)(null),c=(0,j.useRef)(null);Object.keys(s.config).some(r=>s.config[r]!==b[r])&&(f(s.config),p(s.config));let l=(0,j.useRef)(d);l.current=d;let m=(0,j.useRef)(null),a=(0,j.useRef)(null),{data:u}=Xe(async()=>(await s.get_chat_history({})).messages,[]),n=s.value.length>0?s.value:u,{messages:h,sendMessage:w,setMessages:q,status:R,stop:F,error:_,regenerate:A,clearError:C,addToolApprovalResponse:$}=Ae({sendAutomaticallyWhen:({messages:r})=>De(r),transport:new qe({fetch:async(r,N)=>{var H;if(N===void 0)return fetch(r);let k=JSON.parse(N.body),S=N.signal,J={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 L=k.messages.map(D=>{var E;return{...D,content:(E=D.parts)==null?void 0:E.map(I=>"text"in I?I.text:"").join(`
2
+ `)}}),O=Ve(),ne=new ReadableStream({start(D){m.current=D,a.current=O;let E=()=>{try{D.close()}catch(I){P.debug("Controller may already be closed",{error:I})}m.current=null,a.current=null,s.cancel_prompt({request_id:O}).catch(I=>{P.debug("cancel_prompt failed",{error:I})})};return S==null||S.addEventListener("abort",E),()=>{S==null||S.removeEventListener("abort",E)}},cancel(){m.current=null,a.current=null}});return s.send_prompt({request_id:O,messages:L,config:J}).catch(D=>{var E;(E=m.current)==null||E.error(D),m.current=null,a.current=null}),ze({stream:ne})}catch(L){if(L instanceof Error&&L.name==="AbortError")return new Response("Aborted",{status:499});let O=(H=L.message)==null?void 0:H.split("failed with exception ").pop();return new Response(O,{status:400})}}}),messages:n,onFinish:r=>{g(void 0),x.current&&(x.current.value=""),P.debug("Finished streaming message:",r),s.setValue(r.messages)},onError:r=>{P.error("An error occurred:",r)}});xe(s.host,Ge.TYPE,r=>{let N=Be.safeParse(r.detail.message);N.success&&Q(N.data,{controllerRef:m,activeRequestIdRef:a})});let M=R==="submitted"||R==="streaming",ee=r=>{let N=h.findIndex(k=>k.id===r);if(N!==-1){let k=h.filter(S=>S.id!==r);s.delete_chat_message({index:N}),q(k),s.setValue(k)}},te=Array.isArray(s.allowAttachments)&&s.allowAttachments.length>0||s.allowAttachments===!0,se={triggerCompletionRegex:/^\/(\w+)?/,completions:s.prompts.map(r=>({label:`/${r}`,displayLabel:r,apply:r}))},re=s.prompts.length>0?"Type your message here, / for prompts":"Type your message here...";(0,j.useEffect)(()=>{var r;(r=c.current)==null||r.scrollTo({top:c.current.scrollHeight,behavior:"smooth"})},[h.length,c]);let T=(W=y.current)==null?void 0:W.view,ae=()=>{if(T){let r=T.state.doc.length;T.dispatch({changes:{from:0,to:r,insert:""}})}o("")};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:h.length===0,onClick:()=>{q([]),s.setValue([]),s.delete_chat_history({}),C()},children:(0,t.jsx)(Ye,{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:c,children:[h.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)(Ce,{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."})]}),h.map((r,N)=>{var J;let k=(J=r.parts)==null?void 0:J.filter(H=>H.type==="text").map(H=>H.text).join(`
3
+ `),S=N===h.length-1;return(0,t.jsxs)("div",{className:Y("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:Re({message:r,isStreamingReasoning:R==="streaming",isLast:S,isActive:M,addToolApprovalResponse:S?$:void 0})}),(0,t.jsxs)("div",{className:"flex justify-end text-xs gap-2 invisible group-hover:visible",children:[(0,t.jsx)(Je,{value:k,className:"h-3 w-3",buttonClassName:"text-xs text-(--slate-9) hover:text-(--slate-11)"}),(0,t.jsx)("button",{type:"button",onClick:()=>ee(r.id),className:"text-xs text-(--slate-9) hover:text-(--slate-11)",children:(0,t.jsx)(Pe,{className:"h-3 w-3 text-(--red-9)"})})]})]},`${r.id}-${N}`)}),M&&(0,t.jsx)("div",{className:"flex items-center justify-center mb-4",children:(0,t.jsx)($e,{size:"small"})}),_&&(0,t.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,t.jsx)(We,{error:_}),(0,t.jsx)(z,{variant:"outline",size:"sm",onClick:()=>A(),children:"Retry"})]})]}),(0,t.jsxs)("form",{onSubmit:async r=>{if(r.preventDefault(),s.disabled)return;let N=i?await Me(i):void 0;w({role:"user",parts:[{type:"text",text:e},...N??[]]}),ae()},ref:v,inert:s.disabled||void 0,className:Y("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)(Qe,{config:d,onChange:f}),s.prompts.length>0&&(0,t.jsx)(et,{prompts:s.prompts,onSelect:r=>{o(r),requestAnimationFrame(()=>{T==null||T.focus(),oe(T)})}}),(0,t.jsx)(Te,{className:"rounded-sm mr-2",placeholder:re,value:e,inputRef:y,maxHeight:s.maxHeight?`${s.maxHeight/2}px`:void 0,onChange:o,onSubmit:(r,N)=>{var k;N.trim()&&((k=v.current)==null||k.requestSubmit())},onClose:()=>{},additionalCompletions:se}),i&&i.length===1&&(0,t.jsx)("span",{title:i[0].name,className:"text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24",children:i[0].name}),i&&i.length>1&&(0,t.jsxs)("span",{title:[...i].map(r=>r.name).join(`
4
+ `),className:"text-sm text-(--slate-11) truncate shrink-0",children:[i.length," files"]}),i&&i.length>0&&(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{g(void 0),x.current&&(x.current.value="")},children:(0,t.jsx)(ke,{className:"size-3"})}),te&&(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(z,{type:"button",variant:"text",size:"sm",onClick:()=>{var r;return(r=x.current)==null?void 0:r.click()},children:(0,t.jsx)(Fe,{className:"h-4"})}),(0,t.jsx)("input",{type:"file",ref:x,className:"hidden",multiple:!0,accept:Array.isArray(s.allowAttachments)?s.allowAttachments.join(","):void 0,onChange:r=>{r.target.files&&g([...r.target.files])}})]}),M?(0,t.jsx)(K,{content:"Stop generating",children:(0,t.jsx)(z,{type:"button",variant:"link",size:"xs",onClick:()=>F(),className:"text-(--red-9) hover:text-(--red-11)",children:(0,t.jsx)(Oe,{className:"h-4 w-4 fill-current"})})}):(0,t.jsx)(z,{type:"submit",disabled:!e,variant:"outline",size:"xs",className:"text-(--slate-11)","aria-label":"Send message",children:(0,t.jsx)(Ee,{className:"h-4 w-4"})})]})]})};var V={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)"}},Qe=s=>{let e=(0,G.c)(16),{config:o,onChange:d}=s,[f,b]=(0,j.useState)(!1),p;e[0]!==o||e[1]!==d?(p=(a,u)=>{let n=u===null||Number.isNaN(u)?null:u;if(n!==null){let{min:h,max:w}=V[a];n=Math.max(h,Math.min(w,n))}d({...o,[a]:n})},e[0]=o,e[1]=d,e[2]=p):p=e[2];let i=p,g;e[3]===Symbol.for("react.memo_cache_sentinel")?(g=a=>{a.key==="Enter"&&(a.preventDefault(),b(!1))},e[3]=g):g=e[3];let x=g,v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(K,{content:"Configuration",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)(Le,{className:"h-3 w-3"})})})}),e[4]=v):v=e[4];let y;e[5]===Symbol.for("react.memo_cache_sentinel")?(y=(0,t.jsx)("h4",{className:"font-bold leading-none",children:"Configuration"}),e[5]=y):y=e[5];let c;if(e[6]!==o||e[7]!==i){let a;e[9]===i?a=e[10]:(a=u=>{let[n,h]=u;return(0,t.jsxs)("div",{className:"grid grid-cols-3 items-center gap-1",children:[(0,t.jsxs)(U,{htmlFor:n,className:"flex w-full justify-between col-span-3 align-end",children:[we.startCase(n),(0,t.jsx)(K,{delayDuration:200,side:"top",content:(0,t.jsx)("div",{className:"text-xs flex flex-col",children:V[n].description}),children:(0,t.jsx)(Se,{className:"h-3 w-3 cursor-help text-muted-foreground hover:text-foreground"})})]}),(0,t.jsx)(He,{id:n,"aria-label":n,value:h??NaN,placeholder:"null",minValue:V[n].min,maxValue:V[n].max,step:V[n].step??1,onChange:w=>i(n,w),onKeyDown:x,className:"col-span-3"})]},n)},e[9]=i,e[10]=a),c=he.entries(o).map(a),e[6]=o,e[7]=i,e[8]=c}else c=e[8];let l;e[11]===c?l=e[12]:(l=(0,t.jsx)(Z,{className:"w-70 border",children:(0,t.jsxs)("div",{className:"grid gap-3",children:[y,c]})}),e[11]=c,e[12]=l);let m;return e[13]!==f||e[14]!==l?(m=(0,t.jsxs)(B,{open:f,onOpenChange:b,children:[v,l]}),e[13]=f,e[14]=l,e[15]=m):m=e[15],m},et=s=>{let e=(0,G.c)(18),{prompts:o,onSelect:d}=s,[f,b]=(0,j.useState)(!1),[p,i]=(0,j.useState)(""),g;e[0]===d?g=e[1]:(g=u=>{[...u.matchAll(/{{(\w+)}}/g)].length>0?(i(u),b(!0)):d(u)},e[0]=d,e[1]=g);let x=g,v;e[2]===Symbol.for("react.memo_cache_sentinel")?(v=(0,t.jsx)(K,{content:"Select a prompt",children:(0,t.jsx)(je,{asChild:!0,children:(0,t.jsx)(z,{variant:"outline",size:"sm",className:"border-none shadow-none hover:bg-transparent",children:(0,t.jsx)(Ke,{className:"h-3 w-3"})})})}),e[2]=v):v=e[2];let y;if(e[3]!==x||e[4]!==o){let u;e[6]===x?u=e[7]:(u=(n,h)=>(0,t.jsx)(ve,{onSelect:()=>x(n),className:"whitespace-normal text-left",children:n},h),e[6]=x,e[7]=u),y=o.map(u),e[3]=x,e[4]=o,e[5]=y}else y=e[5];let c;e[8]===y?c=e[9]:(c=(0,t.jsx)(Ze,{children:(0,t.jsxs)(Ne,{children:[v,(0,t.jsx)(ye,{side:"right",align:"end",onCloseAutoFocus:st,className:"w-64 max-h-96 overflow-y-auto",children:y})]})}),e[8]=y,e[9]=c);let l;e[10]===Symbol.for("react.memo_cache_sentinel")?(l=()=>b(!1),e[10]=l):l=e[10];let m;e[11]!==d||e[12]!==p?(m=(0,t.jsx)(Z,{side:"right",align:"end",className:"min-w-80 px-2",children:(0,t.jsx)(tt,{prompt:p,onClose:l,onSelect:d})}),e[11]=d,e[12]=p,e[13]=m):m=e[13];let a;return e[14]!==f||e[15]!==c||e[16]!==m?(a=(0,t.jsxs)(B,{open:f,onOpenChange:b,children:[c,m]}),e[14]=f,e[15]=c,e[16]=m,e[17]=a):a=e[17],a},tt=s=>{let e=(0,G.c)(32),{prompt:o,onClose:d,onSelect:f}=s,b;e[0]===Symbol.for("react.memo_cache_sentinel")?(b={},e[0]=b):b=e[0];let[p,i]=(0,j.useState)(b),g,x;e[1]===o?(g=e[2],x=e[3]):(g=()=>{i([...o.matchAll(/{{(\w+)}}/g)].reduce(rt,{}))},x=[o],e[1]=o,e[2]=g,e[3]=x),(0,j.useEffect)(g,x);let v;e[4]===Symbol.for("react.memo_cache_sentinel")?(v=(_,A)=>{i(C=>({...C,[_]:A}))},e[4]=v):v=e[4];let y=v,c;if(e[5]!==o||e[6]!==p){let _;e[8]===Symbol.for("react.memo_cache_sentinel")?(_=/{{(\w+)}}/g,e[8]=_):_=e[8];let A;e[9]===p?A=e[10]:(A=(C,$)=>p[$]||`{{${$}}}`,e[9]=p,e[10]=A),c=o.replaceAll(_,A),e[5]=o,e[6]=p,e[7]=c}else c=e[7];let l=c,m;e[11]===p?m=e[12]:(m=Object.values(p).some(at),e[11]=p,e[12]=m);let a=m,u;e[13]!==d||e[14]!==f||e[15]!==l?(u=()=>{f(l),d()},e[13]=d,e[14]=f,e[15]=l,e[16]=u):u=e[16];let n=u,h;e[17]===p?h=e[18]:(h=Object.entries(p),e[17]=p,e[18]=h);let w;e[19]!==n||e[20]!==a||e[21]!==h?(w=h.map((_,A)=>{let[C,$]=_;return(0,t.jsxs)("div",{className:"grid grid-cols-4 items-center gap-2",children:[(0,t.jsx)(U,{htmlFor:C,className:"font-semibold text-base",children:C}),(0,t.jsx)(Ie,{id:C,value:$,onChange:M=>y(C,M.target.value),rootClassName:"col-span-3 w-full",className:"m-0",placeholder:`Enter value for ${C}`,autoFocus:A===0,onKeyDown:M=>{M.key==="Enter"&&!a&&n()}})]},C)}),e[19]=n,e[20]=a,e[21]=h,e[22]=w):w=e[22];let q;e[23]===l?q=e[24]:(q=(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]=q);let R;e[25]!==n||e[26]!==a?(R=(0,t.jsx)(z,{onClick:n,size:"xs",disabled:a,children:"Submit"}),e[25]=n,e[26]=a,e[27]=R):R=e[27];let F;return e[28]!==q||e[29]!==R||e[30]!==w?(F=(0,t.jsxs)("div",{className:"grid gap-4",children:[w,q,R]}),e[28]=q,e[29]=R,e[30]=w,e[31]=F):F=e[31],F};function st(s){return s.preventDefault()}function rt(s,e){return s[e[1]]="",s}function at(s){return s==null||s.trim()===""}export{Ue as Chatbot,Q as routeIncomingChatChunk};