@marimo-team/frontend 0.25.2-dev66 → 0.25.2-dev89
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/assets/{CellStatus-CRFBVGjI.js → CellStatus-Bj7PvY_u.js} +1 -1
- package/dist/assets/{ErrorBoundary-BKmN7zye.js → ErrorBoundary-CG6gtgym.js} +2 -2
- package/dist/assets/{JsonOutput-nqqzL-n0.js → JsonOutput-NVH7GWyC.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-DCu6fm2y.js → MarimoErrorOutput-z5iFryzf.js} +1 -1
- package/dist/assets/{RenderHTML-DRMkieKn.js → RenderHTML-C7QcdAgB.js} +1 -1
- package/dist/assets/{RunButton-CPZWjCL9.js → RunButton-A__3wcpF.js} +1 -1
- package/dist/assets/{add-cell-with-ai-D20NyZO4.js → add-cell-with-ai-Wyt6GBhk.js} +1 -1
- package/dist/assets/{add-connection-dialog-pQcdKIlO.js → add-connection-dialog-bl8dqCVs.js} +1 -1
- package/dist/assets/{agent-panel-tNErBgmq.js → agent-panel-BcoO8S6Q.js} +1 -1
- package/dist/assets/{ai-model-dropdown-BIeRPKed.js → ai-model-dropdown-CvJsRj9y.js} +1 -1
- package/dist/assets/{api-DYL9A86_.js → api-DVLtXyp7.js} +1 -1
- package/dist/assets/{app-config-button-DkNGV0b1.js → app-config-button-C7QrZbqr.js} +1 -1
- package/dist/assets/{blob-BIYte8oT.js → blob-Bx8A10xl.js} +1 -1
- package/dist/assets/{cell-editor-C5RTy4Y0.js → cell-editor-CevZDS63.js} +4 -4
- package/dist/assets/cell-link-DC1UZQr_.js +1 -0
- package/dist/assets/{cells-h5u00Nz8.js → cells-CxY8RSp7.js} +2 -2
- package/dist/assets/{chat-display-DzTkUWMw.js → chat-display-YETh6yXV.js} +1 -1
- package/dist/assets/{chat-panel-CKqEpnjN.js → chat-panel-DyaePe7B.js} +1 -1
- package/dist/assets/{chat-ui-CGzOsYVb.js → chat-ui-D_QL46qM.js} +1 -1
- package/dist/assets/code-visibility-DNzJgrTz.js +1 -0
- package/dist/assets/{column-preview-DtrgJzVI.js → column-preview-sL_Jo0hX.js} +1 -1
- package/dist/assets/{command-palette-BKYGTfS5.js → command-palette-DMQFuWz1.js} +1 -1
- package/dist/assets/{common-BMeq0Bqi.js → common-Cy3lJDvJ.js} +1 -1
- package/dist/assets/{components-CWcf8098.js → components-D9ZIJGG8.js} +1 -1
- package/dist/assets/{config-BAnYSdpO.js → config-D_c_6ce1.js} +1 -1
- package/dist/assets/{datasource-BLHGFSsT.js → datasource-Tst92Pzi.js} +1 -1
- package/dist/assets/{dependency-graph-panel-C8X3Nn8W.js → dependency-graph-panel-BwMayTyZ.js} +1 -1
- package/dist/assets/{documentation-panel-C8wrSKlX.js → documentation-panel-OMUbXgKW.js} +1 -1
- package/dist/assets/{download-CUgiCx7s.js → download-CPMAf7re.js} +1 -1
- package/dist/assets/{edit-page-CqPNBpAP.js → edit-page-DD1NFkiu.js} +6 -6
- package/dist/assets/{error-entries-DQD4A9cx.js → error-entries-DBpwg0GC.js} +1 -1
- package/dist/assets/{error-panel-BJYkwYEY.js → error-panel-ByOEJuZN.js} +1 -1
- package/dist/assets/{feedback-button-DbTjGwcX.js → feedback-button-7KY7nL-j.js} +2 -2
- package/dist/assets/feedback-button-DxjoRfo3.js +1 -0
- package/dist/assets/{file-explorer-panel-BQi88S1o.js → file-explorer-panel-B92ugwxr.js} +1 -1
- package/dist/assets/{file-name-input-DPJSxW_X.js → file-name-input-DZehOHLA.js} +1 -1
- package/dist/assets/{floating-outline-3PlTr0K1.js → floating-outline-K7cVdOlC.js} +1 -1
- package/dist/assets/{gallery-page-BqvVmwde.js → gallery-page-DoriMrLH.js} +1 -1
- package/dist/assets/{glide-data-editor-CAa14cIr.js → glide-data-editor-DWyeHe3u.js} +1 -1
- package/dist/assets/{home-page-Bg-WqjiD.js → home-page-BcJJsD_Q.js} +1 -1
- package/dist/assets/{hooks-DLBvBo8c.js → hooks-DNPsQf79.js} +1 -1
- package/dist/assets/index-B7ZZVUcj.css +2 -0
- package/dist/assets/{index-BtV91sqJ.js → index-CqJKdR1j.js} +5 -5
- package/dist/assets/{layout-mWXZofX2.js → layout-BaluekG6.js} +3 -3
- package/dist/assets/{logs-panel-IKL6F2OX.js → logs-panel-OkoO5mbN.js} +1 -1
- package/dist/assets/{markdown-renderer-DHvAXF8E.js → markdown-renderer-mDlWBE1M.js} +1 -1
- package/dist/assets/{name-cell-input-j4eGLLyd.js → name-cell-input-D_Q2IhP9.js} +1 -1
- package/dist/assets/{outline-panel-CprDWmxn.js → outline-panel-Dy2cmYDF.js} +1 -1
- package/dist/assets/packages-panel-CIvhx0hb.js +1 -0
- package/dist/assets/{panel-accordion-state-8xXVhawu.js → panel-accordion-state-BI4SU22L.js} +1 -1
- package/dist/assets/panels-CO6Clgel.js +4 -0
- package/dist/assets/{process-output-DOmeJ1VR.js → process-output-Crm0vqbi.js} +1 -1
- package/dist/assets/{readonly-code-display-xvH6MyT6.js → readonly-code-display-CNbw6v1-.js} +1 -1
- package/dist/assets/{readonly-python-code-D4YGmSvB.js → readonly-python-code-DcYhdd1B.js} +1 -1
- package/dist/assets/{reveal-component-CDUG1x74.js → reveal-component-DeZTBbnn.js} +1 -1
- package/dist/assets/{run-page-BAqLgcq9.js → run-page-BNEg-Ro9.js} +1 -1
- package/dist/assets/runtime-details-state-lxXYwJcI.js +1 -0
- package/dist/assets/{scratchpad-panel-BFbUuzdn.js → scratchpad-panel-lDJWcpVs.js} +1 -1
- package/dist/assets/{session-panel-BdN43Lzi.js → session-panel-BqutyoYd.js} +1 -1
- package/dist/assets/{snippets-panel-5_jR08Zd.js → snippets-panel-YttkYAW9.js} +1 -1
- package/dist/assets/state-B2ZbImvm.js +1 -0
- package/dist/assets/{state-BxJ_FX3k.js → state-B85OOscw.js} +1 -1
- package/dist/assets/{state-7os84dnI.js → state-sbCCk7ZP.js} +1 -1
- package/dist/assets/{terminal-DHWTOXu3.js → terminal-3hxM6K9q.js} +1 -1
- package/dist/assets/{tracing-CRkNpBaH.js → tracing-DZYfCw6p.js} +1 -1
- package/dist/assets/{tracing-panel-DV2-2TUI.js → tracing-panel-BUPJ77jB.js} +2 -2
- package/dist/assets/{tree-actions-CShqSonp.js → tree-actions-D5clvgKl.js} +1 -1
- package/dist/assets/{useAddCell-DesMfnE4.js → useAddCell-Bhv6GT3m.js} +1 -1
- package/dist/assets/{useBoolean-BofUVeKg.js → useBoolean-Co-_MyFz.js} +1 -1
- package/dist/assets/{useCellActionButton-BO5SFMxA.js → useCellActionButton-DwAUf_Cn.js} +1 -1
- package/dist/assets/{useDeleteCell-DSbUjpSC.js → useDeleteCell-BKN7t4DH.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-JIFiQrr2.js → useDependencyPanelTab-CbcGEmqM.js} +1 -1
- package/dist/assets/{useInstallPackage-CCQcFc6U.js → useInstallPackage-HTUlGg0U.js} +1 -1
- package/dist/assets/{useNotebookActions-CjjED3t-.js → useNotebookActions-pXzVjrlk.js} +1 -1
- package/dist/assets/{useRunCells-Bx3wXUWO.js → useRunCells-zMO43eNR.js} +1 -1
- package/dist/assets/{useSplitCell-BRmQP02b.js → useSplitCell-xEtFLByO.js} +1 -1
- package/dist/assets/{vega-component-C28fL5fD.js → vega-component-Chbfi__Q.js} +1 -1
- package/dist/index.html +24 -24
- package/package.json +1 -1
- package/src/__tests__/mount.test.ts +6 -6
- package/src/components/editor/actions/useRestartKernel.tsx +2 -2
- package/src/components/editor/alerts/__tests__/connection-notice.test.tsx +224 -17
- package/src/components/editor/alerts/connection-details.tsx +61 -0
- package/src/components/editor/alerts/connection-notice.tsx +46 -53
- package/src/components/editor/alerts/startup-progress.tsx +73 -129
- package/src/components/editor/app-container.tsx +2 -2
- package/src/components/editor/boundary/__tests__/ErrorBoundary.test.tsx +2 -2
- package/src/components/editor/cell/CreateCellButton.tsx +2 -2
- package/src/components/editor/cell/DeleteButton.tsx +2 -2
- package/src/components/editor/cell/RunButton.tsx +3 -3
- package/src/components/editor/cell/StopButton.tsx +2 -2
- package/src/components/editor/chrome/components/__tests__/feedback-button.test.tsx +4 -4
- package/src/components/editor/chrome/components/feedback-button.tsx +3 -3
- package/src/components/editor/chrome/panels/__tests__/packages-panel.test.tsx +8 -8
- package/src/components/editor/chrome/panels/__tests__/{sandbox-details.test.tsx → runtime-details.test.tsx} +94 -22
- package/src/components/editor/chrome/panels/__tests__/sandbox-recovery.test.tsx +4 -4
- package/src/components/editor/chrome/panels/packages-panel.tsx +8 -29
- package/src/components/editor/chrome/panels/{sandbox-details-state.ts → runtime-details-state.ts} +1 -1
- package/src/components/editor/chrome/panels/{sandbox-panel.tsx → runtime-panel.tsx} +38 -66
- package/src/components/editor/chrome/panels/runtime-status-toggle.tsx +56 -0
- package/src/components/editor/chrome/panels/sandbox-controller.tsx +2 -2
- package/src/components/editor/chrome/wrapper/app-chrome.tsx +3 -3
- package/src/components/editor/chrome/wrapper/footer-items/machine-stats.tsx +2 -2
- package/src/components/editor/controls/Controls.tsx +3 -3
- package/src/components/editor/controls/__tests__/notebook-menu-dropdown.test.tsx +2 -2
- package/src/components/editor/header/__tests__/status.test.tsx +4 -4
- package/src/components/editor/header/app-header.tsx +2 -2
- package/src/components/editor/header/status.tsx +3 -3
- package/src/components/ui/progress-stages.tsx +114 -0
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +106 -5
- package/src/core/codemirror/lsp/notebook-lsp.ts +16 -2
- package/src/core/codemirror/readonly/__tests__/extension.test.ts +6 -6
- package/src/core/codemirror/readonly/extension.ts +2 -2
- package/src/core/datasets/__tests__/data-source-discovery.test.ts +2 -2
- package/src/core/edit-app.tsx +5 -1
- package/src/core/export/hooks.ts +2 -2
- package/src/core/network/__tests__/connection.test.ts +3 -3
- package/src/core/network/connection-notice.ts +5 -5
- package/src/core/network/connection.ts +9 -9
- package/src/core/network/requests-lazy.ts +2 -2
- package/src/core/packages/__tests__/useSandboxController.test.tsx +2 -2
- package/src/core/packages/useSandboxController.ts +6 -6
- package/src/core/runtime/__tests__/adapter.test.ts +6 -6
- package/src/core/runtime/adapter.ts +7 -7
- package/src/core/runtime/config.ts +2 -2
- package/src/core/saving/filename.ts +2 -2
- package/src/core/saving/save-component.tsx +5 -5
- package/src/core/saving/useAutoSave.ts +2 -2
- package/src/core/websocket/__tests__/useMarimoKernelConnection.hook.test.tsx +30 -25
- package/src/core/websocket/__tests__/useMarimoKernelConnection.test.ts +5 -5
- package/src/core/websocket/connection-utils.ts +21 -21
- package/src/core/websocket/types.ts +8 -9
- package/src/core/websocket/useMarimoKernelConnection.tsx +21 -21
- package/src/mount.tsx +2 -2
- package/src/plugins/core/__test__/registerReactComponent.test.ts +55 -0
- package/src/plugins/core/registerReactComponent.tsx +3 -1
- package/src/stories/cell.stories.tsx +2 -2
- package/src/stories/layout/vertical/one-column.stories.tsx +5 -5
- package/src/stories/progress-stages.stories.tsx +62 -0
- package/src/stories/runtime-existing.stories.tsx +44 -0
- package/src/stories/runtime-maintenance.stories.tsx +40 -0
- package/src/stories/runtime-pixi.stories.tsx +28 -0
- package/src/stories/{sandbox.stories.tsx → runtime-story.tsx} +191 -152
- package/src/stories/runtime-uv.stories.tsx +56 -0
- package/dist/assets/cell-link-BeZAiE1D.js +0 -1
- package/dist/assets/code-visibility-B5QjA0ie.js +0 -1
- package/dist/assets/feedback-button-JqvnTSfN.js +0 -1
- package/dist/assets/index-CF8Gfz1R.css +0 -2
- package/dist/assets/packages-panel-CDDChziK.js +0 -1
- package/dist/assets/panels-CU7deLqc.js +0 -4
- package/dist/assets/sandbox-panel-D5bRunTM.js +0 -1
- package/dist/assets/state-Bo8h64Rn.js +0 -1
- package/src/components/editor/chrome/panels/sandbox-toggle.tsx +0 -52
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{c as e,l as t,t as n,u as r}from"./useEvent-Dc9HkKI2.js";import{D as i,In as a,M as o,P as s,gr as c,xo as l,za as u}from"./cells-CxY8RSp7.js";import{t as d}from"./compiler-runtime-BQ9S8nyo.js";import{p as f}from"./config-Cyum2gRs.js";import{g as p}from"./useEventListener-IRzG-0mH.js";import{i as m}from"./utils-B4K466FK.js";import{c as h}from"./session-BykGt6S3.js";import{_ as g,w as _}from"./config-D_c_6ce1.js";import{t as v}from"./cn-ldLVeaqm.js";import{t as y}from"./jsx-runtime-B74pBk57.js";import{n as b}from"./paths-CzfpItSz.js";import{b as x}from"./write-secret-modal-BcosCmZy.js";import{r as S}from"./requests-yTHMxhVa.js";var C=d();function w(){return t(u)}function T(){let t=(0,C.c)(5),[i]=e(g),a=r(u),{openAlert:o}=x(),{sendRename:s}=S(),c;return t[0]!==i.state||t[1]!==o||t[2]!==s||t[3]!==a?(c=async e=>{let t=f();return i.state===_.OPEN?(h(t=>{e===null?t.delete(m.filePath):t.set(m.filePath,e)}),s({filename:e}).then(()=>(a(e),document.title=t.app_title||b.basename(e)||`Untitled Notebook`,e)).catch(e=>(o(e.message),null))):(o(`Failed to save notebook: not connected to a kernel.`),null)},t[0]=i.state,t[1]=o,t[2]=s,t[3]=a,t[4]=c):c=t[4],n(c)}var E=y(),D=e=>{let t=(0,C.c)(12),{className:n,cellId:r,variant:c,onClick:l,formatCellName:u,skipScroll:d}=e,f=s()[r]??``,p=o().inOrderIds.indexOf(r),{showCellIfHidden:m}=i(),h=u??j,g;t[0]===n?g=t[1]:(g=v(`inline-block cursor-pointer text-link hover:underline`,n),t[0]=n,t[1]=g);let _;t[2]!==r||t[3]!==l||t[4]!==m||t[5]!==d||t[6]!==c?(_=e=>{if(r===`__scratch__`)return!1;m({cellId:r}),e.stopPropagation(),e.preventDefault(),requestAnimationFrame(()=>{A(r,c,d)&&l?.()})},t[2]=r,t[3]=l,t[4]=m,t[5]=d,t[6]=c,t[7]=_):_=t[7];let y=h(a(f,p)),b;return t[8]!==g||t[9]!==_||t[10]!==y?(b=(0,E.jsx)(`div`,{className:g,role:`link`,tabIndex:-1,onClick:_,children:y}),t[8]=g,t[9]=_,t[10]=y,t[11]=b):b=t[11],b},O=e=>{let t=(0,C.c)(2),n;return t[0]===e?n=t[1]:(n=(0,E.jsx)(D,{...e,variant:`destructive`}),t[0]=e,t[1]=n),n},k=e=>{let t=(0,C.c)(10),{cellId:n,lineNumber:r}=e,i=w(),a;t[0]!==n||t[1]!==r?(a=()=>c(n,r),t[0]=n,t[1]=r,t[2]=a):a=t[2];let o;t[3]!==n||t[4]!==i?(o=e=>n===`__scratch__`?`scratch`:`marimo://${i||`untitled`}#cell=${e}`,t[3]=n,t[4]=i,t[5]=o):o=t[5];let s;return t[6]!==n||t[7]!==a||t[8]!==o?(s=(0,E.jsx)(D,{cellId:n,onClick:a,skipScroll:!0,variant:`destructive`,className:`traceback-cell-link`,formatCellName:o}),t[6]=n,t[7]=a,t[8]=o,t[9]=s):s=t[9],s};function A(e,t,n){let r=l.create(e),i=document.getElementById(r),a=i?.classList.contains(`has-error`);return i===null?(p.error(`Cell ${r} not found on page.`),!1):(n||i.scrollIntoView({behavior:`smooth`,block:`center`}),(t===`destructive`||a&&t===void 0)&&(i.classList.add(`error-outline`),setTimeout(()=>{i.classList.remove(`error-outline`)},2e3)),(t===`focus`||!a&&t===void 0)&&(i.classList.add(`focus-outline`),setTimeout(()=>{i.classList.remove(`focus-outline`)},2e3)),!0)}function j(e){return e}export{w as a,A as i,O as n,T as o,k as r,D as t};
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-D-owkyO9.js","./rolldown-runtime-B0Z9INg1.js","./dist-CibNXpH2.js","./dist-BOfh4hMd.js","./dist-Cny7_yZb.js","./dist-qhAY4L2r.js","./dist-DcvY27K9.js","./dist-DDpltFEG.js","./dist-C43s7KMp.js","./dist-DtH-7lot.js","./dist-DfGC5qxC.js","./dist-DOsgOC8X.js","./dist-BxKJ9CUC.js","./dist-1tmpVXyz.js","./dist-BmExfiwX.js","./dist-DewjJKIE.js","./dist-DF6q90J2.js","./dist-DoYtnejk.js","./dist-BZAAgYK3.js","./dist-CWcX5iL_.js","./dist-4SpsNdg9.js","./dist-COseLvbK.js","./dist-DfRK-QAy.js","./dist-uBfhY3mF.js","./dist-Cw0_qzU5.js","./dist-CdpiHIsZ.js","./dist-Cllq-3AX.js","./dist-LSsCJjA3.js","./dist-D0Fg9FgU.js","./dist-Ceg_d-nu.js","./dist-BXTY2Z6u.js","./dist-DusFODSa.js","./dist-DG2TCPkT.js","./dist-C08rfu50.js","./dist-BeKmSRy3.js","./dist-CJ4Ekjf-.js","./dist-C1ZMbzEY.js","./dist-C9ULdZil.js","./dist-PsHgCCpB.js","./dist-DmUAWIff.js","./dist-CcKu0kT5.js","./dist-BCteMNTR.js","./apl-gw27yJ2n.js","./apl-CYIAEF37.js","./asciiarmor-Cor5STs8.js","./asciiarmor-CF6FHpQl.js","./asn1-CPEENLyz.js","./asn1-CmtZ6NID.js","./brainfuck-a_fzgFtj.js","./brainfuck-vE42J6oQ.js","./cobol-BYACvGhO.js","./cobol-ttQu-eUm.js","./clike-DZROJv43.js","./clike-Bo1_pR8B.js","./clojure-sW2N62b5.js","./clojure-1zb6N0Kd.js","./css-CbZNFbVv.js","./css-aD3t-znF.js","./cmake-DA9yMhzJ.js","./cmake-DSEb40G9.js","./coffeescript-73GxLNLH.js","./coffeescript-CcHmp8ZW.js","./commonlisp-BAY0IMda.js","./commonlisp-DHrixoxv.js","./cypher-CpQ0ACJl.js","./cypher-q6-coHOK.js","./python-xiYauDc4.js","./python-C4CVWZ7v.js","./crystal-DLlr59il.js","./crystal-fOwNIMzy.js","./d-BFwRCF-p.js","./d-Drt6ZXrF.js","./diff-Ib_BKd8h.js","./diff-CYBnW6ZU.js","./dockerfile-DJkHQgkl.js","./simple-mode-DXiLM1-G.js","./dtd-DgBHwr-e.js","./dtd-DqGG8R4P.js","./dylan-fdbf6J3T.js","./dylan-BTCYgsmh.js","./ecl-K_KNI3_u.js","./ecl-BPsxRGqR.js","./eiffel-DatcW1fL.js","./eiffel-BCguJEP-.js","./elm-DbcUgz-o.js","./elm-DnNeI1M2.js","./erlang-BistxQAs.js","./erlang-DkHPV6ru.js","./factor-DwQNJbiW.js","./factor-ZZBBZpXK.js","./forth-B-tqi4f_.js","./forth-DUDizG3o.js","./fortran-C9M6nI39.js","./fortran-BarbOvgW.js","./mllike-DHDLWZl9.js","./mllike-BKN6OcTc.js","./gas-DJ-ntEw0.js","./gas-mybzrfIH.js","./gherkin-Co7qm0Mt.js","./gherkin-BlnXaZZf.js","./groovy-DkYAhc5g.js","./groovy-cYuFC_ot.js","./haskell-QbTWCmtk.js","./haskell-CuLp9g3a.js","./haxe-CmR2u-6B.js","./haxe-CiIUZbdX.js","./idl-DY5VfUGL.js","./idl-BHq7WyPV.js","./javascript-BWjar7HY.js","./javascript-D-FtdkNC.js","./julia-CBfVM-ng.js","./julia-CoYYMTcZ.js","./livescript-CC7i4CEo.js","./livescript-C1gEZ5Hk.js","./lua-1tNpM92n.js","./lua-DXBxhmso.js","./mirc-BASUkO3C.js","./mirc-CTGUd79I.js","./mathematica-DWMBVyLs.js","./mathematica-CwlrU_TQ.js","./modelica-C2NfUrdY.js","./modelica-DZs5SjV_.js","./mumps-DwVYUX8b.js","./mumps-BNg2Yq-1.js","./mbox-DvNfx9hX.js","./mbox-skR0V6cu.js","./nsis-B6H_Q9YJ.js","./nsis-DWBX_aOH.js","./ntriples-CSqEHNgf.js","./ntriples-Ck5rp6GE.js","./octave-ImTMIie9.js","./octave-BRpd3hBF.js","./oz-BuYcBdKy.js","./oz-BUEZmvHT.js","./pascal-B50DmceL.js","./pascal-DBfxUwpj.js","./perl-DmFVAwdF.js","./perl-v9vsztCj.js","./pig-BnQuru9N.js","./pig-CrKTIB-m.js","./powershell-B1pJyAAD.js","./powershell-89xdb5K_.js","./properties-Ci7guRqV.js","./properties-DaUFoXFR.js","./protobuf-CoqP8wM5.js","./protobuf-Ci5XvpF4.js","./pug-CJsoo9v0.js","./pug-DPY-Ajan.js","./puppet-C9UYpvtZ.js","./puppet-Da8ZxG7z.js","./q-CKkOe1xA.js","./q-BjtI5Irp.js","./r-Bwc-y-iL.js","./r-vSi6pWDr.js","./rpm-UQSdNQr2.js","./rpm-Cv5HmAkX.js","./ruby-CrY8zrT8.js","./ruby-CKIsIBWn.js","./sas-CssadkTB.js","./sas-D3-6PWmJ.js","./scheme-CkJWoRmu.js","./scheme-DqTb0ELD.js","./shell-FgUEpLdy.js","./shell-DySzVBqR.js","./sieve-BLxcNk7A.js","./sieve-CoBbN2aF.js","./smalltalk-d1Dbk6V4.js","./smalltalk-CJJAzHnb.js","./sparql-CUZhKeRb.js","./sparql-CjwbV0fX.js","./stylus-BvudHrj4.js","./stylus-uh0Gd-Iz.js","./swift-CUIczYYb.js","./swift-D5IK5OrP.js","./stex-3SJlFZg3.js","./stex-Dc5bKD4z.js","./verilog-DH7aBYt7.js","./verilog-DPWRmpYS.js","./tcl-SjROh4xB.js","./tcl-BvqzOD3a.js","./textile-DgW6fC9R.js","./textile--JQHE1pJ.js","./toml-BcC_uO4q.js","./toml-lWmHdWv5.js","./troff-BMlKH74u.js","./troff-r7W702V9.js","./ttcn-P2iYmK_j.js","./ttcn-1CwPIugQ.js","./ttcn-cfg-2bl9aE98.js","./ttcn-cfg-CHYEAF6D.js","./turtle-DDf6uD3p.js","./turtle-D_5eCUwg.js","./webidl-dw5if_Lv.js","./webidl-CNY2gQL0.js","./vb-CrfmF706.js","./vb-Vd6lTutg.js","./vbscript-Cpiv2llq.js","./vbscript-CcW6E3ma.js","./velocity-5N54agTA.js","./velocity-CuSicjhq.js","./vhdl-BmegRbqn.js","./vhdl-sLYad3YP.js","./xquery-CuDTgW6S.js","./xquery-d3Qdoigy.js","./yacas-Dn2coKff.js","./yacas-BjDXhrkW.js","./z80-ByJO5ysu.js","./z80-z4BkVl0y.js","./mscgen-C7woTLsY.js","./mscgen-Bo5N9WUj.js","./dist-DH7Tm1i8.js","./dist-mPh3sAH5.js","./dist-DLwSLd_v.js","./node-sql-parser-DDkYZCP2.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-B0Z9INg1.js";import{c as a,f as o,l as s,n as c,o as l,r as u,s as d}from"./useEvent-Dc9HkKI2.js";import{t as f}from"./react-CUdNIagt.js";import{t as p}from"./react-dom-CKsE8sC1.js";import{A as m,E as h,I as g,P as _,S as v,a as y,c as b,d as x,f as S,g as C,i as w,j as T,l as E,m as D,n as O,o as k,p as A,r as j,s as M,t as N,u as P,x as F}from"./schemas-BL-NsLlF.js";import{t as I}from"./compiler-runtime-BQ9S8nyo.js";import{t as ee}from"./debounce-aFmHgJZY.js";import{b as te,h as L,m as ne,s as R}from"./config-Cyum2gRs.js";import{_ as z,a as B,d as re,f as ie,g as V,n as ae,o as oe,r as se}from"./useEventListener-IRzG-0mH.js";import{t as ce}from"./objects-snlMn4yk.js";import{t as H}from"./invariant-Ci2dTZ72.js";import{t as le}from"./utils-B4K466FK.js";import{f as ue,m as de,y as fe}from"./session-BykGt6S3.js";import{A as pe,C as me,E as he,M as ge,O as _e,S as ve,j as ye,k as be,r as xe}from"./config-BAnYSdpO.js";import{n as Se,t as U}from"./cn-ldLVeaqm.js";import{t as Ce}from"./jsx-runtime-B74pBk57.js";import{C as we,T as Te,a as Ee,b as De,c as Oe,d as ke,f as Ae,h as je,i as Me,l as Ne,p as Pe,s as Fe,t as Ie,w as Le,x as Re,y as ze}from"./fullscreen-DEBblJKh.js";import{a as Be,i as Ve,n as He,r as Ue,t as We}from"./dist-Bqtq4wYM.js";import{c as Ge,n as Ke,o as qe,t as Je,u as Ye}from"./menu-items-DAaNKHJF.js";import{i as Xe,n as Ze,o as Qe,s as $e}from"./use-restore-focus-GUh2Nd8Z.js";import{i as et,n as tt,r as nt,t as rt}from"./circle-Bb1IbBVn.js";import{a as it,c as at,d as ot,i as st,l as ct,n as lt,o as ut,r as dt,s as ft,t as pt}from"./select-BwRFbZty.js";import{n as mt}from"./toast-BRwEbWb6.js";import{i as ht,t as gt}from"./tooltip-B5pI8o2n.js";import{r as _t,t as vt}from"./button-M49xxKoi.js";import{t as yt}from"./createLucideIcon-rHn2EdoM.js";import{a as bt,i as xt,n as St,o as Ct,r as wt}from"./paths-CzfpItSz.js";import{a as Tt,i as Et,o as Dt,r as Ot,t as kt}from"./useLifecycle-DKSBdWUf.js";import{t as At}from"./check-Wea4hZ6R.js";import{a as jt,r as Mt}from"./useNumberFormatter-BP99Zbyy.js";import{t as Nt,u as Pt}from"./toDate-BbJ1_N2T.js";import{t as Ft}from"./database-zap-CrkOvbyN.js";import{C as It,T as Lt,b as Rt,c as zt,d as Bt,f as Vt,i as Ht,n as Ut,o as Wt,s as Gt,t as Kt,u as qt,v as Jt,w as Yt}from"./write-secret-modal-BcosCmZy.js";import{t as Xt}from"./plus-gbN72xHe.js";import{Jt as Zt,Yt as Qt,n as $t,rn as en,t as tn}from"./input-DPd57MDP.js";import{t as nn}from"./trash-2-BJG-7Qob.js";import{t as rn}from"./use-toast-CC89xOwH.js";import{t as W}from"./preload-helper-uBIymjUX.js";import{$t as an,A as on,At as sn,C as cn,D as ln,Et as un,Ft as dn,Gt as fn,H as pn,I as mn,Jt as hn,K as gn,Kt as _n,Mt as vn,Pt as yn,Qt as bn,S as xn,T as Sn,Tt as Cn,U as wn,Ut as Tn,W as En,Wt as Dn,X as On,Xt as kn,Yt as An,at as jn,b as Mn,ct as Nn,dt as Pn,en as Fn,f as In,it as Ln,k as Rn,l as G,ot as zn,p as Bn,pt as Vn,q as Hn,qt as Un,st as Wn,tn as Gn,u as Kn,ut as qn,vt as Jn,xt as Yn,z as Xn,zt as Zn}from"./dist-Cny7_yZb.js";import{A as Qn,B as $n,C as er,D as tr,E as nr,S as rr,T as ir,_ as ar,d as or,h as sr,j as cr,k as lr,m as ur,n as dr,o as fr,s as pr,t as mr,u as hr,v as gr,z as _r}from"./dist-DBMV4gqt.js";import{a as vr,i as yr,l as br,n as xr,p as Sr,r as Cr}from"./arrays-BqUx5USx.js";import{n as wr}from"./once-Haz_uxEL.js";import{t as Tr}from"./capabilities-BScjbYOK.js";import{t as Er}from"./cjs-C49f7GXV.js";import{t as Dr}from"./createReducer-W5dowuCe.js";import{d as Or,l as kr,n as Ar,o as jr,p as Mr,r as Nr}from"./dist-qhAY4L2r.js";import{t as Pr}from"./marked.esm-B_3iMIUq.js";import{i as Fr,r as Ir,t as Lr}from"./strings-hlCLC-K1.js";import{t as Rr}from"./requests-yTHMxhVa.js";import{a as zr,c as Br,d as Vr,f as Hr,i as Ur,l as Wr,n as Gr,o as Kr,r as qr,s as Jr,t as Yr,u as Xr}from"./dist-BOfh4hMd.js";import{t as Zr}from"./badge-DFf033uX.js";import{a as Qr,s as $r}from"./dist-LSsCJjA3.js";import{a as ei,i as ti,n as ni,r as ri,t as ii}from"./dist-DusFODSa.js";import{n as ai}from"./stex-Dc5bKD4z.js";import{t as oi}from"./Deferred-CrTnjj37.js";import{n as si}from"./useTheme-BkPLyRl9.js";import{n as ci}from"./useAsyncData-DucTwMkf.js";import{t as li}from"./purify.es--06brOip.js";var ui=i((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),di=i(((e,t)=>{t.exports=ui()})),fi=i((e=>{var t=di(),n=f(),r=p();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),w=Symbol.for(`react.suspense`),T=Symbol.for(`react.suspense_list`),E=Symbol.for(`react.memo`),D=Symbol.for(`react.lazy`),O=Symbol.for(`react.activity`),k=Symbol.for(`react.memo_cache_sentinel`),A=Symbol.iterator;function j(e){return typeof e!=`object`||!e?null:(e=A&&e[A]||e[`@@iterator`],typeof e==`function`?e:null)}var M=Symbol.for(`react.client.reference`);function N(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===M?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case w:return`Suspense`;case T:return`SuspenseList`;case O:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case E:return t=e.displayName||null,t===null?N(e.type)||`Memo`:t;case D:t=e._payload,e=e._init;try{return N(e(t))}catch{}}return null}var P=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],L=-1;function ne(e){return{current:e}}function R(e){0>L||(e.current=te[L],te[L]=null,L--)}function z(e,t){L++,te[L]=e.current,e.current=t}var B=ne(null),re=ne(null),ie=ne(null),V=ne(null);function ae(e,t){switch(z(ie,t),z(re,e),z(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Gd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Gd(t),e=Kd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}R(B),z(B,e)}function oe(){R(B),R(re),R(ie)}function se(e){e.memoizedState!==null&&z(V,e);var t=B.current,n=Kd(t,e.type);t!==n&&(z(re,e),z(B,n))}function ce(e){re.current===e&&(R(B),R(re)),V.current===e&&(R(V),np._currentValue=ee)}var H,le;function ue(e){if(H===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);H=t&&t[1]||``,le=-1<e.stack.indexOf(`
|
|
2
|
+
import{a as e,i as t,n,r,t as i}from"./rolldown-runtime-B0Z9INg1.js";import{c as a,f as o,l as s,n as c,o as l,r as u,s as d}from"./useEvent-Dc9HkKI2.js";import{t as f}from"./react-CUdNIagt.js";import{t as p}from"./react-dom-CKsE8sC1.js";import{A as m,E as h,I as g,P as _,S as v,a as y,c as b,d as x,f as S,g as C,i as w,j as T,l as E,m as D,n as O,o as k,p as A,r as j,s as M,t as N,u as P,x as F}from"./schemas-BL-NsLlF.js";import{t as I}from"./compiler-runtime-BQ9S8nyo.js";import{t as ee}from"./debounce-aFmHgJZY.js";import{b as te,h as L,m as ne,s as R}from"./config-Cyum2gRs.js";import{_ as z,a as B,d as re,f as ie,g as V,n as ae,o as oe,r as se}from"./useEventListener-IRzG-0mH.js";import{t as ce}from"./objects-snlMn4yk.js";import{t as H}from"./invariant-Ci2dTZ72.js";import{t as le}from"./utils-B4K466FK.js";import{f as ue,m as de,y as fe}from"./session-BykGt6S3.js";import{A as pe,C as me,E as he,M as ge,O as _e,S as ve,j as ye,k as be,r as xe}from"./config-D_c_6ce1.js";import{n as Se,t as U}from"./cn-ldLVeaqm.js";import{t as Ce}from"./jsx-runtime-B74pBk57.js";import{C as we,T as Te,a as Ee,b as De,c as Oe,d as ke,f as Ae,h as je,i as Me,l as Ne,p as Pe,s as Fe,t as Ie,w as Le,x as Re,y as ze}from"./fullscreen-DEBblJKh.js";import{a as Be,i as Ve,n as He,r as Ue,t as We}from"./dist-Bqtq4wYM.js";import{c as Ge,n as Ke,o as qe,t as Je,u as Ye}from"./menu-items-DAaNKHJF.js";import{i as Xe,n as Ze,o as Qe,s as $e}from"./use-restore-focus-GUh2Nd8Z.js";import{i as et,n as tt,r as nt,t as rt}from"./circle-Bb1IbBVn.js";import{a as it,c as at,d as ot,i as st,l as ct,n as lt,o as ut,r as dt,s as ft,t as pt}from"./select-BwRFbZty.js";import{n as mt}from"./toast-BRwEbWb6.js";import{i as ht,t as gt}from"./tooltip-B5pI8o2n.js";import{r as _t,t as vt}from"./button-M49xxKoi.js";import{t as yt}from"./createLucideIcon-rHn2EdoM.js";import{a as bt,i as xt,n as St,o as Ct,r as wt}from"./paths-CzfpItSz.js";import{a as Tt,i as Et,o as Dt,r as Ot,t as kt}from"./useLifecycle-DKSBdWUf.js";import{t as At}from"./check-Wea4hZ6R.js";import{a as jt,r as Mt}from"./useNumberFormatter-BP99Zbyy.js";import{t as Nt,u as Pt}from"./toDate-BbJ1_N2T.js";import{t as Ft}from"./database-zap-CrkOvbyN.js";import{C as It,T as Lt,b as Rt,c as zt,d as Bt,f as Vt,i as Ht,n as Ut,o as Wt,s as Gt,t as Kt,u as qt,v as Jt,w as Yt}from"./write-secret-modal-BcosCmZy.js";import{t as Xt}from"./plus-gbN72xHe.js";import{Jt as Zt,Yt as Qt,n as $t,rn as en,t as tn}from"./input-DPd57MDP.js";import{t as nn}from"./trash-2-BJG-7Qob.js";import{t as rn}from"./use-toast-CC89xOwH.js";import{t as W}from"./preload-helper-uBIymjUX.js";import{$t as an,A as on,At as sn,C as cn,D as ln,Et as un,Ft as dn,Gt as fn,H as pn,I as mn,Jt as hn,K as gn,Kt as _n,Mt as vn,Pt as yn,Qt as bn,S as xn,T as Sn,Tt as Cn,U as wn,Ut as Tn,W as En,Wt as Dn,X as On,Xt as kn,Yt as An,at as jn,b as Mn,ct as Nn,dt as Pn,en as Fn,f as In,it as Ln,k as Rn,l as G,ot as zn,p as Bn,pt as Vn,q as Hn,qt as Un,st as Wn,tn as Gn,u as Kn,ut as qn,vt as Jn,xt as Yn,z as Xn,zt as Zn}from"./dist-Cny7_yZb.js";import{A as Qn,B as $n,C as er,D as tr,E as nr,S as rr,T as ir,_ as ar,d as or,h as sr,j as cr,k as lr,m as ur,n as dr,o as fr,s as pr,t as mr,u as hr,v as gr,z as _r}from"./dist-DBMV4gqt.js";import{a as vr,i as yr,l as br,n as xr,p as Sr,r as Cr}from"./arrays-BqUx5USx.js";import{n as wr}from"./once-Haz_uxEL.js";import{t as Tr}from"./capabilities-BScjbYOK.js";import{t as Er}from"./cjs-C49f7GXV.js";import{t as Dr}from"./createReducer-W5dowuCe.js";import{d as Or,l as kr,n as Ar,o as jr,p as Mr,r as Nr}from"./dist-qhAY4L2r.js";import{t as Pr}from"./marked.esm-B_3iMIUq.js";import{i as Fr,r as Ir,t as Lr}from"./strings-hlCLC-K1.js";import{t as Rr}from"./requests-yTHMxhVa.js";import{a as zr,c as Br,d as Vr,f as Hr,i as Ur,l as Wr,n as Gr,o as Kr,r as qr,s as Jr,t as Yr,u as Xr}from"./dist-BOfh4hMd.js";import{t as Zr}from"./badge-DFf033uX.js";import{a as Qr,s as $r}from"./dist-LSsCJjA3.js";import{a as ei,i as ti,n as ni,r as ri,t as ii}from"./dist-DusFODSa.js";import{n as ai}from"./stex-Dc5bKD4z.js";import{t as oi}from"./Deferred-CrTnjj37.js";import{n as si}from"./useTheme-BkPLyRl9.js";import{n as ci}from"./useAsyncData-DucTwMkf.js";import{t as li}from"./purify.es--06brOip.js";var ui=i((e=>{function t(e,t){var n=e.length;e.push(t);a:for(;0<n;){var r=n-1>>>1,a=e[r];if(0<i(a,t))e[r]=t,e[n]=a,n=r;else break a}}function n(e){return e.length===0?null:e[0]}function r(e){if(e.length===0)return null;var t=e[0],n=e.pop();if(n!==t){e[0]=n;a:for(var r=0,a=e.length,o=a>>>1;r<o;){var s=2*(r+1)-1,c=e[s],l=s+1,u=e[l];if(0>i(c,n))l<a&&0>i(u,c)?(e[r]=u,e[l]=n,r=l):(e[r]=c,e[s]=n,r=s);else if(l<a&&0>i(u,n))e[r]=u,e[l]=n,r=l;else break a}}return t}function i(e,t){var n=e.sortIndex-t.sortIndex;return n===0?e.id-t.id:n}if(e.unstable_now=void 0,typeof performance==`object`&&typeof performance.now==`function`){var a=performance;e.unstable_now=function(){return a.now()}}else{var o=Date,s=o.now();e.unstable_now=function(){return o.now()-s}}var c=[],l=[],u=1,d=null,f=3,p=!1,m=!1,h=!1,g=!1,_=typeof setTimeout==`function`?setTimeout:null,v=typeof clearTimeout==`function`?clearTimeout:null,y=typeof setImmediate<`u`?setImmediate:null;function b(e){for(var i=n(l);i!==null;){if(i.callback===null)r(l);else if(i.startTime<=e)r(l),i.sortIndex=i.expirationTime,t(c,i);else break;i=n(l)}}function x(e){if(h=!1,b(e),!m){if(n(c)!==null)m=!0,S||(S=!0,O());else{var t=n(l);t!==null&&j(x,t.startTime-e)}}}var S=!1,C=-1,w=5,T=-1;function E(){return g?!0:!(e.unstable_now()-T<w)}function D(){if(g=!1,S){var t=e.unstable_now();T=t;var i=!0;try{a:{m=!1,h&&(h=!1,v(C),C=-1),p=!0;var a=f;try{b:{for(b(t),d=n(c);d!==null&&!(d.expirationTime>t&&E());){var o=d.callback;if(typeof o==`function`){d.callback=null,f=d.priorityLevel;var s=o(d.expirationTime<=t);if(t=e.unstable_now(),typeof s==`function`){d.callback=s,b(t),i=!0;break b}d===n(c)&&r(c),b(t)}else r(c);d=n(c)}if(d!==null)i=!0;else{var u=n(l);u!==null&&j(x,u.startTime-t),i=!1}}break a}finally{d=null,f=a,p=!1}i=void 0}}finally{i?O():S=!1}}}var O;if(typeof y==`function`)O=function(){y(D)};else if(typeof MessageChannel<`u`){var k=new MessageChannel,A=k.port2;k.port1.onmessage=D,O=function(){A.postMessage(null)}}else O=function(){_(D,0)};function j(t,n){C=_(function(){t(e.unstable_now())},n)}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(e){e.callback=null},e.unstable_forceFrameRate=function(e){0>e||125<e?console.error(`forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported`):w=0<e?Math.floor(1e3/e):5},e.unstable_getCurrentPriorityLevel=function(){return f},e.unstable_next=function(e){switch(f){case 1:case 2:case 3:var t=3;break;default:t=f}var n=f;f=t;try{return e()}finally{f=n}},e.unstable_requestPaint=function(){g=!0},e.unstable_runWithPriority=function(e,t){switch(e){case 1:case 2:case 3:case 4:case 5:break;default:e=3}var n=f;f=e;try{return t()}finally{f=n}},e.unstable_scheduleCallback=function(r,i,a){var o=e.unstable_now();switch(typeof a==`object`&&a?(a=a.delay,a=typeof a==`number`&&0<a?o+a:o):a=o,r){case 1:var s=-1;break;case 2:s=250;break;case 5:s=1073741823;break;case 4:s=1e4;break;default:s=5e3}return s=a+s,r={id:u++,callback:i,priorityLevel:r,startTime:a,expirationTime:s,sortIndex:-1},a>o?(r.sortIndex=a,t(l,r),n(c)===null&&r===n(l)&&(h?(v(C),C=-1):h=!0,j(x,a-o))):(r.sortIndex=s,t(c,r),m||p||(m=!0,S||(S=!0,O()))),r},e.unstable_shouldYield=E,e.unstable_wrapCallback=function(e){var t=f;return function(){var n=f;f=t;try{return e.apply(this,arguments)}finally{f=n}}}})),di=i(((e,t)=>{t.exports=ui()})),fi=i((e=>{var t=di(),n=f(),r=p();function i(e){var t=`https://react.dev/errors/`+e;if(1<arguments.length){t+=`?args[]=`+encodeURIComponent(arguments[1]);for(var n=2;n<arguments.length;n++)t+=`&args[]=`+encodeURIComponent(arguments[n])}return`Minified React error #`+e+`; visit `+t+` for the full message or use the non-minified dev environment for full errors and additional helpful warnings.`}function a(e){return!(!e||e.nodeType!==1&&e.nodeType!==9&&e.nodeType!==11)}function o(e){var t=e,n=e;if(e.alternate)for(;t.return;)t=t.return;else{e=t;do t=e,t.flags&4098&&(n=t.return),e=t.return;while(e)}return t.tag===3?n:null}function s(e){if(e.tag===13){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function c(e){if(e.tag===31){var t=e.memoizedState;if(t===null&&(e=e.alternate,e!==null&&(t=e.memoizedState)),t!==null)return t.dehydrated}return null}function l(e){if(o(e)!==e)throw Error(i(188))}function u(e){var t=e.alternate;if(!t){if(t=o(e),t===null)throw Error(i(188));return t===e?e:null}for(var n=e,r=t;;){var a=n.return;if(a===null)break;var s=a.alternate;if(s===null){if(r=a.return,r!==null){n=r;continue}break}if(a.child===s.child){for(s=a.child;s;){if(s===n)return l(a),e;if(s===r)return l(a),t;s=s.sibling}throw Error(i(188))}if(n.return!==r.return)n=a,r=s;else{for(var c=!1,u=a.child;u;){if(u===n){c=!0,n=a,r=s;break}if(u===r){c=!0,r=a,n=s;break}u=u.sibling}if(!c){for(u=s.child;u;){if(u===n){c=!0,n=s,r=a;break}if(u===r){c=!0,r=s,n=a;break}u=u.sibling}if(!c)throw Error(i(189))}}if(n.alternate!==r)throw Error(i(190))}if(n.tag!==3)throw Error(i(188));return n.stateNode.current===n?e:t}function d(e){var t=e.tag;if(t===5||t===26||t===27||t===6)return e;for(e=e.child;e!==null;){if(t=d(e),t!==null)return t;e=e.sibling}return null}var m=Object.assign,h=Symbol.for(`react.element`),g=Symbol.for(`react.transitional.element`),_=Symbol.for(`react.portal`),v=Symbol.for(`react.fragment`),y=Symbol.for(`react.strict_mode`),b=Symbol.for(`react.profiler`),x=Symbol.for(`react.consumer`),S=Symbol.for(`react.context`),C=Symbol.for(`react.forward_ref`),w=Symbol.for(`react.suspense`),T=Symbol.for(`react.suspense_list`),E=Symbol.for(`react.memo`),D=Symbol.for(`react.lazy`),O=Symbol.for(`react.activity`),k=Symbol.for(`react.memo_cache_sentinel`),A=Symbol.iterator;function j(e){return typeof e!=`object`||!e?null:(e=A&&e[A]||e[`@@iterator`],typeof e==`function`?e:null)}var M=Symbol.for(`react.client.reference`);function N(e){if(e==null)return null;if(typeof e==`function`)return e.$$typeof===M?null:e.displayName||e.name||null;if(typeof e==`string`)return e;switch(e){case v:return`Fragment`;case b:return`Profiler`;case y:return`StrictMode`;case w:return`Suspense`;case T:return`SuspenseList`;case O:return`Activity`}if(typeof e==`object`)switch(e.$$typeof){case _:return`Portal`;case S:return e.displayName||`Context`;case x:return(e._context.displayName||`Context`)+`.Consumer`;case C:var t=e.render;return e=e.displayName,e||=(e=t.displayName||t.name||``,e===``?`ForwardRef`:`ForwardRef(`+e+`)`),e;case E:return t=e.displayName||null,t===null?N(e.type)||`Memo`:t;case D:t=e._payload,e=e._init;try{return N(e(t))}catch{}}return null}var P=Array.isArray,F=n.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,I=r.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,ee={pending:!1,data:null,method:null,action:null},te=[],L=-1;function ne(e){return{current:e}}function R(e){0>L||(e.current=te[L],te[L]=null,L--)}function z(e,t){L++,te[L]=e.current,e.current=t}var B=ne(null),re=ne(null),ie=ne(null),V=ne(null);function ae(e,t){switch(z(ie,t),z(re,e),z(B,null),t.nodeType){case 9:case 11:e=(e=t.documentElement)&&(e=e.namespaceURI)?Gd(e):0;break;default:if(e=t.tagName,t=t.namespaceURI)t=Gd(t),e=Kd(t,e);else switch(e){case`svg`:e=1;break;case`math`:e=2;break;default:e=0}}R(B),z(B,e)}function oe(){R(B),R(re),R(ie)}function se(e){e.memoizedState!==null&&z(V,e);var t=B.current,n=Kd(t,e.type);t!==n&&(z(re,e),z(B,n))}function ce(e){re.current===e&&(R(B),R(re)),V.current===e&&(R(V),np._currentValue=ee)}var H,le;function ue(e){if(H===void 0)try{throw Error()}catch(e){var t=e.stack.trim().match(/\n( *(at )?)/);H=t&&t[1]||``,le=-1<e.stack.indexOf(`
|
|
3
3
|
at`)?` (<anonymous>)`:-1<e.stack.indexOf(`@`)?`@unknown:0:0`:``}return`
|
|
4
4
|
`+H+e+le}var de=!1;function fe(e,t){if(!e||de)return``;de=!0;var n=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var r={DetermineComponentFrameRoot:function(){try{if(t){var n=function(){throw Error()};if(Object.defineProperty(n.prototype,"props",{set:function(){throw Error()}}),typeof Reflect==`object`&&Reflect.construct){try{Reflect.construct(n,[])}catch(e){var r=e}Reflect.construct(e,[],n)}else{try{n.call()}catch(e){r=e}e.call(n.prototype)}}else{try{throw Error()}catch(e){r=e}(n=e())&&typeof n.catch==`function`&&n.catch(function(){})}}catch(e){if(e&&r&&typeof e.stack==`string`)return[e.stack,r.stack]}return[null,null]}};r.DetermineComponentFrameRoot.displayName=`DetermineComponentFrameRoot`;var i=Object.getOwnPropertyDescriptor(r.DetermineComponentFrameRoot,`name`);i&&i.configurable&&Object.defineProperty(r.DetermineComponentFrameRoot,"name",{value:`DetermineComponentFrameRoot`});var a=r.DetermineComponentFrameRoot(),o=a[0],s=a[1];if(o&&s){var c=o.split(`
|
|
5
5
|
`),l=s.split(`
|
|
@@ -98,7 +98,7 @@ mark line col
|
|
|
98
98
|
`),isFenced:e}),r=[])};for(let e of t){let t=e.match(/^[\t ]*(`{3,}|~{3,})/);if(t){let n=t[1],c=n[0],l=n.length;if(!i){s(!1),i=!0,a=c,o=l,r.push(e);continue}if(c===a&&l>=o){r.push(e),s(!0),i=!1,a=``,o=0;continue}}r.push(e)}return s(i),n}function _b(e){let t=[],n=``,r=!1,i=``,a=0;for(;a<e.length;){if(e[a]==="`"){let o=a;for(;o<e.length&&e[o]==="`";)o+=1;let s=e.slice(a,o);if(r&&s===i){n+=s,t.push({text:n,isInlineCode:!0}),n=``,r=!1,i=``,a=o;continue}if(!r){n&&=(t.push({text:n,isInlineCode:!1}),``),r=!0,i=s,n+=s,a=o;continue}}n+=e[a],a+=1}return n&&t.push({text:n,isInlineCode:r}),t}function vb(e){let t=bb(e);return t=t.replaceAll(sb,(e,t)=>Sb(t)),t=t.replaceAll(cb,(e,t)=>xb(t)),t=t.replaceAll(lb,(e,t)=>Sb(t)),t=t.replaceAll(ub,(e,t)=>xb(t)),t}function yb(e){return e.match(/^[\t ]*/)?.[0].replaceAll(` `,` `).length??0}function bb(e){let t=e.split(`
|
|
99
99
|
`);if(t.length===0)return e;let n=[],r=0;for(;r<t.length;){let e=t[r],i=e.match(/^[\t ]*\.\.\s+math::(.*)$/);if(!i){n.push(e),r+=1;continue}let a=i[1]?.trim()??``,o=yb(e);r+=1;let s=[],c=a.includes(`\\begin`);if(a)s.push(a);else{for(;r<t.length;){let e=t[r];if(!e.trim()){r+=1;continue}if(!(yb(e)>o&&e.trim().startsWith(`:`)))break;r+=1}if(r<t.length){let e=t[r];c=!!e.trim()&&yb(e)<=o&&e.trimStart().startsWith(`\\`)}}if(c)for(;r<t.length&&t[r].trim();)s.push(t[r]),r+=1;else for(;r<t.length;){let e=t[r];if(!e.trim()){s.push(``),r+=1;continue}if(yb(e)<=o)break;s.push(e),r+=1}let l=s.filter(e=>!!e.trim());if(l.length===0){n.push(e);continue}let u=Math.min(...l.map(e=>yb(e))),d=s.map(e=>{if(!e)return``;let t=Math.min(u,yb(e));return e.slice(t)}).join(`
|
|
100
100
|
`).trim();n.push(Sb(d))}return n.join(`
|
|
101
|
-
`)}function xb(e){return`<marimo-tex class="arithmatex">||(${e.trim()}||)</marimo-tex>`}function Sb(e){return`<marimo-tex class="arithmatex">||[${e.trim()}||]</marimo-tex>`}function Cb(e){return e.startsWith(`_`)&&!e.startsWith(`__`)}var wb=class{documentVersion=0;getNotebookCode;constructor(e){this.getNotebookCode=e}lastSnapshot=null;snapshot(){let e=this.getLens(),t=this.lastSnapshot?.mergedText!==e.mergedText;return t?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:t,version:this.documentVersion}):{lens:e,didChange:t,version:this.documentVersion}}getLatestSnapshot(){if(!this.lastSnapshot)throw Error(`No snapshots`);return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:t}=this.getNotebookCode();return nb(e,t)}},Tb=()=>{let e=KM().cellHandles;return ce.mapValues(e,e=>e.current?.editorViewOrNull)};function Eb(e){let t=fb(e);return Array.isArray(t)?e:t}function Db(e){return{...e,documentation:Eb(e.documentation)}}function Ob(e){return e==null?null:Array.isArray(e)?e.map(e=>Db(e)):{...e,items:e.items.map(e=>Db(e))}}function kb(e){return{...e,signatures:e.signatures.map(e=>({...e,documentation:Eb(e.documentation),parameters:e.parameters?.map(e=>({...e,documentation:Eb(e.documentation)}))}))}}function Ab(e){return qy(e)&&typeof e.line==`number`&&typeof e.character==`number`}function jb(e){return qy(e)&&Ab(e.start)&&Ab(e.end)}function Mb(e){return qy(e)&&typeof e.message==`string`&&jb(e.range)}function Nb(e){if(e.method!==`textDocument/publishDiagnostics`||!qy(e.params))return!1;let{uri:t,version:n,diagnostics:r}=e.params;return typeof t==`string`&&(n===void 0||typeof n==`number`)&&Array.isArray(r)&&r.every(Mb)}var Pb=class{documentUri;client;snapshotter;getNotebookEditors;initialSettings;seenCellDocumentUris=new Set;pruneSeenCellUris(e){for(let t of this.seenCellDocumentUris){let n=Py.parse(t);e.has(n)||this.seenCellDocumentUris.delete(t)}}completionItemCache=new xp(10);openCellDocumentCounts=new Map;latestDiagnosticsVersion=null;forwardedDiagnosticsVersion=0;constructor(e,t,n=Tb){this.documentUri=By(),this.getNotebookEditors=n,this.initialSettings=t,this.client=e,this.patchProcessNotification(),this.initializePromise.then(()=>{H(Fy(this.client),`notify is not a method on the client`),this.client.notify(`workspace/didChangeConfiguration`,{settings:t})}),this.snapshotter=new wb(this.getNotebookCode.bind(this))}onNotification(e){return this.client.onNotification(e)}get ready(){return this.client.ready}set ready(e){this.client.ready=e}get capabilities(){return this.client.capabilities}set capabilities(e){this.client.capabilities=e}get initializePromise(){return this.client.initializePromise}set initializePromise(e){this.client.initializePromise=e}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.openCellDocumentCounts.clear(),this.client.close()}hasCapability(e){return this.client.hasCapability(e)}async resyncAllDocuments(){H(Fy(this.client),`notify is not a method on the client`),await this.client.initialize(),await this.client.notify(`workspace/didChangeConfiguration`,{settings:this.initialSettings});let{lens:e,version:t}=this.snapshotter.snapshot();this.latestDiagnosticsVersion=null,this.forwardedDiagnosticsVersion=0,this.openCellDocumentCounts.size>0&&await this.client.notify(`textDocument/didOpen`,{textDocument:{languageId:`python`,text:e.mergedText,uri:this.documentUri,version:t}}),V.log(`[lsp] Document re-synchronization complete`)}getNotebookCode(){return u.get(eb)}assertCellDocumentUri(e){H(Py.is(e),`Execpted URI to be CellDocumentUri`)}async textDocumentDidOpen(e){V.debug(`[lsp] textDocumentDidOpen`,e);let t=e.textDocument.uri;this.assertCellDocumentUri(t);let{lens:n,version:r}=this.snapshotter.snapshot(),i=this.openCellDocumentCounts.get(t)??0;this.openCellDocumentCounts.set(t,i+1);try{let i=await this.client.textDocumentDidOpen({textDocument:{languageId:e.textDocument.languageId,text:n.mergedText,uri:this.documentUri,version:r}});return this.seenCellDocumentUris.add(t),i!==!1}catch(e){let n=this.openCellDocumentCounts.get(t)??0;throw n<=1?this.openCellDocumentCounts.delete(t):this.openCellDocumentCounts.set(t,n-1),e}}async textDocumentDidClose(e){let t=e.textDocument.uri;this.assertCellDocumentUri(t);let n=this.openCellDocumentCounts.get(t)??0;if(n===0){V.warn(`[lsp] textDocumentDidClose with no tracked open`,t);return}n<=1?this.openCellDocumentCounts.delete(t):this.openCellDocumentCounts.set(t,n-1),await this.client.textDocumentDidClose({textDocument:{uri:this.documentUri}})}async sync(){let{lens:e,version:t,didChange:n}=this.snapshotter.snapshot(),r={textDocument:{uri:this.documentUri,version:t},contentChanges:[{text:e.mergedText}]};return n&&await this.client.textDocumentDidChange(r),{params:r,lens:e}}async textDocumentDidChange(e){if(V.debug(`[lsp] textDocumentDidChange`,e),e.contentChanges.length===1){await this.sync();return}V.warn(`[lsp] Unhandled textDocumentDidChange`,e),await this.client.textDocumentDidChange(e)}async textDocumentWillSave(e){this.assertCellDocumentUri(e.textDocument.uri),await this.client.textDocumentWillSave({...e,textDocument:{uri:this.documentUri}})}async textDocumentWillSaveWaitUntil(e){return this.assertCellDocumentUri(e.textDocument.uri),V.debug(`[lsp] willSaveWaitUntil edits are disabled for notebook documents`),null}async textDocumentDidSave(e){this.assertCellDocumentUri(e.textDocument.uri);let{lens:t}=this.snapshotter.snapshot();await this.client.textDocumentDidSave({textDocument:{uri:this.documentUri},text:e.text===void 0?void 0:t.mergedText})}async textDocumentDefinition(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t);return this.client.textDocumentDefinition({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)})}async textDocumentSignatureHelp(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t),i=await this.client.textDocumentSignatureHelp({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)});return i?kb(i):null}textDocumentCodeAction(e){return Promise.resolve(null)}codeActionResolve(e){return Promise.resolve(e)}reverseRelatedInformation(e,t){if(e)return e.map(e=>{if(!qy(e)||!qy(e.location)||e.location.uri!==this.documentUri||!jb(e.location.range))return e;let n=t.cellIds.find(n=>t.isInRange(e.location.range,n));return n===void 0?e:{...e,location:{uri:Py.of(n),range:t.reverseRange(e.location.range,n)}}})}async textDocumentRename(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let n=Py.parse(t),{lens:r}=await this.sync(),i=r.transformPosition(e.position,n),a=await this.client.textDocumentRename({...e,textDocument:{uri:this.documentUri},position:i});if(!a)return null;let o=a.documentChanges?.flatMap(e=>`edits`in e?e.edits:[]);if(!o||o.length!==1)return V.warn(`Expected exactly one edit`,o),a;let s=o[0];if(!(`newText`in s))return V.warn(`Expected newText in edit`,s),a;let c=r.getEditsForNewText(s.newText),l=new Map(c.map(e=>[e.cellId,e.text])),u=this.getNotebookEditors(),d=u[n],f=!1;if(d){let t=d.state.doc.line(e.position.line+1).from+e.position.character,{startToken:n,endToken:r}=Tg(d.state.doc,t),i=d.state.doc.sliceString(n,r);f=Cb(i),f&&V.debug(`[lsp] Private variable rename detected, limiting to current cell`,i)}let p=[],m=0;for(let[e,t]of ce.entries(u)){if(f&&e!==n)continue;let r=l.get(e);if(r==null){V.warn(`[lsp] No new code for cell during rename`,e),p.push(e);continue}if(!t){V.warn(`[lsp] No editor view for cell during rename`,e),p.push(e);continue}jA(t)!==r&&(MA(t,r),m++)}return p.length>0&&V.error(`[lsp] Rename partially failed: could not update ${p.length} cell(s)`,p),V.debug(`[lsp] Rename completed: updated ${m} cell(s)`),{...a,documentChanges:[{edits:[],textDocument:{uri:t,version:0}}]}}async completionItemResolve(e){let t=JSON.stringify(e),n=this.completionItemCache.get(t);if(n)return n;let r=this.client.completionItemResolve(e).then(e=>Db(e));return this.completionItemCache.set(t,r),r}async textDocumentPrepareRename(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t);return this.client.textDocumentPrepareRename({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)})}async textDocumentHover(e){V.debug(`[lsp] textDocumentHover`,e);let{lens:t}=await this.sync(),n=Py.parse(e.textDocument.uri),r=await this.client.textDocumentHover({...e,textDocument:{uri:this.documentUri},position:t.transformPosition(e.position,n)});return r?(typeof r.contents==`object`&&`kind`in r.contents&&(r.contents={kind:`markdown`,value:r.contents.value}),r.contents=fb(r.contents)??r.contents,r.contents===``?null:(r.range&&=t.reverseRange(r.range,n),r)):(V.debug(`[lsp] no hover result`),r)}async textDocumentCompletion(e){let{lens:t}=this.snapshotter.getLatestSnapshot();if(!Py.is(e.textDocument.uri))return V.error(`[lsp] Invalid cell document URI in completion request`,e.textDocument.uri),null;let n=Py.parse(e.textDocument.uri);if(!n||n===`undefined`)return V.error(`[lsp] Invalid cellId 'undefined' in completion request`,{cellId:n,uri:e.textDocument.uri,availableCellIds:t.cellIds}),null;t.cellIds.includes(n)||V.warn(`[lsp] CellId in completion request not found in current lens`,{cellId:n,uri:e.textDocument.uri,availableCellIds:t.cellIds});let r=t.transformPosition(e.position,n);return Ob(await this.client.textDocumentCompletion({...e,textDocument:{uri:this.documentUri},position:r}))}patchProcessNotification(){H(Iy(this.client),`processNotification is not a method on the client`);let e=this.client.processNotification.bind(this.client),t=t=>{if(Nb(t)){let n=t.params.version;if(n!=null){let e=this.latestDiagnosticsVersion;if(e!==null&&Number.isFinite(n)&&n<e){V.debug(`[lsp] dropping stale diagnostics notification`,t);return}this.latestDiagnosticsVersion=n}V.debug(`[lsp] handling diagnostics`,t);let r=this.snapshotter.getLatestSnapshot(),i=t.params.diagnostics,{lens:a}=r,o=++this.forwardedDiagnosticsVersion,s=new Map;for(let e of i)for(let t of a.cellIds)if(a.isInRange(e.range,t)){s.has(t)||s.set(t,[]);let n=this.reverseRelatedInformation(e.relatedInformation,a),r={...e,range:a.reverseRange(e.range,t),...n?{relatedInformation:n}:{}};s.get(t)?.push(r);break}let c=new Set(a.cellIds);this.pruneSeenCellUris(c);let l=new Set(this.seenCellDocumentUris);for(let[n,r]of s.entries()){V.debug(`[lsp] diagnostics for cell`,n,r);let i=Py.of(n);l.delete(i),e({...t,params:{...t.params,uri:i,version:o,diagnostics:r}})}if(l.size>0){V.debug(`[lsp] clearing diagnostics`,l);for(let t of l)e({method:`textDocument/publishDiagnostics`,params:{uri:t,version:o,diagnostics:[]}})}return}return e(t)};this.client.processNotification=t}},Fb=1e3,Ib=new Set([`textDocument/didOpen`,`textDocument/didChange`,`textDocument/didClose`]),Lb=new Set([`initialize`,`initialized`,`workspace/didChangeConfiguration`,`textDocument/didOpen`]),Rb=class{delegate;connectionPromise;isDelegateConnected=!1;connectionGeneration=0;restoringGeneration;isClosed=!1;hasConnectedBefore=!1;messageHandlers=new Set;pendingMessages=[];inFlightBacklog;hasLoggedQueueOverflow=!1;disposeDelegateMessage;disposeDelegateClose;options;onReconnect;constructor(e){this.options={...e,retries:e.retries??1,retryDelayMs:e.retryDelayMs??1e3},this.onReconnect=e.onReconnect}async connect(){if(this.isClosed)throw Error(`Transport is closed`);if(this.isDelegateConnected)return;if(this.connectionPromise)return this.connectionPromise;let e=++this.connectionGeneration,t=this.connectWithRetries(e).finally(()=>{this.connectionPromise===t&&(this.connectionPromise=void 0)});return this.connectionPromise=t,t}isStale(e){return this.isClosed||e!==this.connectionGeneration}send(e){if(!this.isClosed){if(this.delegate&&this.isDelegateConnected&&(this.restoringGeneration===void 0||this.canSendWhileRestoring(e))){this.delegate.send(e);return}this.pendingMessages.length<Fb?this.pendingMessages.push(e):this.hasLoggedQueueOverflow||(this.hasLoggedQueueOverflow=!0,V.error(`LSP reconnect queue is full (${Fb}); dropping messages until it drains`)),this.reconnect()}}onMessage(e){return this.messageHandlers.add(e),()=>{this.messageHandlers.delete(e)}}close(){this.isClosed||(this.isClosed=!0,this.isDelegateConnected=!1,this.restoringGeneration=void 0,this.connectionGeneration++,this.connectionPromise=void 0,this.pendingMessages=[],this.inFlightBacklog=void 0,this.messageHandlers.clear(),this.disposeDelegate(),this.delegate?.close(),this.delegate=void 0)}async connectWithRetries(e){let t;for(let n=1;n<=this.options.retries;n++)try{await this.connectDelegate(e);return}catch(r){if(t=r instanceof Error?r:Error(String(r)),this.isStale(e))throw t;this.invalidateDelegate(),V.warn(`WebSocket connection attempt ${n}/${this.options.retries} failed`,t),n<this.options.retries&&await new Promise(e=>setTimeout(e,this.options.retryDelayMs))}let n=t??Error(`WebSocket connection failed`);throw this.options.onConnectionFailure?.(n),n}async connectDelegate(e){if(await this.options.waitForConnection?.(),this.isStale(e))throw Error(`Connection attempt abandoned`);let t=this.createDelegate();if(await t.connect(),this.isStale(e)||this.delegate!==t)throw t.close(),Error(`Transport closed while connecting`);this.isDelegateConnected=!0;let n=this.hasConnectedBefore;this.hasConnectedBefore=!0;let r=this.detachPendingMessages();this.inFlightBacklog=r;try{if(n){this.restoringGeneration=e;try{await this.onReconnect?.()}finally{this.restoringGeneration===e&&(this.restoringGeneration=void 0)}}if(this.isStale(e)||this.delegate!==t||!this.isDelegateConnected)throw Error(`WebSocket closed while restoring LSP state`)}catch(t){throw this.isStale(e)||this.reclaimInFlightBacklog(),t}let i=n&&this.onReconnect?r.filter(e=>!(`method`in e&&Ib.has(e.method))):r;this.inFlightBacklog=void 0;for(let e of[...i,...this.detachPendingMessages()])t.send(e);V.log(`WebSocket transport connected successfully`)}detachPendingMessages(){let e=this.pendingMessages;return this.pendingMessages=[],this.hasLoggedQueueOverflow=!1,e}reclaimInFlightBacklog(){this.inFlightBacklog&&=(this.pendingMessages=[...this.inFlightBacklog,...this.pendingMessages].slice(0,Fb),void 0)}canSendWhileRestoring(e){return!(`method`in e)||Lb.has(e.method)}createDelegate(){this.invalidateDelegate();let e=new kd(this.options.getWsUrl());return this.delegate=e,this.disposeDelegateMessage=e.onMessage(e=>{for(let t of this.messageHandlers)try{t(e)}catch(e){V.error(`LSP message handler failed`,e)}}),this.disposeDelegateClose=e.onClose(t=>{this.delegate!==e||this.isClosed||(V.warn(`WebSocket transport connection closed`,t),this.isDelegateConnected=!1,this.disposeDelegate(),this.delegate=void 0,this.restoringGeneration=void 0,this.reclaimInFlightBacklog(),this.connectionPromise=void 0,queueMicrotask(()=>this.reconnect()))}),e}reconnect(){this.connect().catch(e=>{V.error(`WebSocket transport reconnection failed`,e)})}invalidateDelegate(){this.isDelegateConnected=!1,this.restoringGeneration=void 0,this.disposeDelegate(),this.delegate?.close(),this.delegate=void 0}disposeDelegate(){this.disposeDelegateMessage?.(),this.disposeDelegateMessage=void 0,this.disposeDelegateClose?.(),this.disposeDelegateClose=void 0}},zb=new Set([1,2]);function Bb(e,t){if(!(`method`in t)||t.method!==`window/logMessage`)return;let n=t.params;!qy(n)||typeof n.message!=`string`||OM({logs:[{timestamp:Date.now()/1e3,level:zb.has(n.type)?`stderr`:`stdout`,message:n.message,source:{type:`lsp`,name:e}}]})}function Vb(e,t){let n=xe(),r=new Rb({getWsUrl:()=>n.getLSPURL(e).toString(),waitForConnection:async()=>{await ve()},onReconnect:t});return r.onMessage(t=>Bb(e,t)),r}bn.define(),new Tn;function Hb(e){return e.facet(fn.readOnly)}function Ub(e){return[sn(e),un.of([{key:`ArrowRight`,preventDefault:!0,run:t=>Wb(t,e)},{key:`Tab`,preventDefault:!0,run:t=>Wb(t,e)}])]}function Wb(e,t){if(Hb(e.state))return!1;let n=e.state.doc.length;return n===0&&(e.dispatch({changes:{from:0,to:n,insert:t},selection:{head:t.length,anchor:t.length}}),!0)}function Gb(e){let{beforeText:t,linkText:n,afterText:r,onClick:i}=e;return[sn(e=>{let a=document.createElement(`span`);a.append(document.createTextNode(t));let o=document.createElement(`span`);return o.textContent=n,o.classList.add(`cm-clickable-placeholder`),o.onclick=t=>{t.stopPropagation(),i(e)},a.append(o),a.append(document.createTextNode(r)),a}),Wn.theme({".cm-placeholder":{color:`var(--slate-8)`},".cm-clickable-placeholder":{cursor:`pointer !important`,pointerEvents:`auto`,color:`var(--slate-9)`,textDecoration:`underline`,textUnderlineOffset:`0.2em`},".cm-clickable-placeholder:hover":{color:`var(--sky-11)`}})]}var Kb=wr(e=>{let t,n={transport:Vb(`pylsp`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy()},r=e?.pylsp,i=[`D100`,`D103`],a=[`W292`,`E402`,`E302`,`E305`],o=[`B018`,`I001`],s={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:[`numpy`]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:r?.enable_flake8,extendIgnore:a},pydocstyle:{enabled:r?.enable_pydocstyle,ignore:i},pylint:{enabled:r?.enable_pylint},pyflakes:{enabled:r?.enable_pyflakes},pylsp_mypy:{enabled:r?.enable_mypy,live_mode:!0},ruff:{enabled:r?.enable_ruff,extendIgnore:[...a,...i,...o]},signature:{formatter:r?.enable_ruff?`ruff`:`black`,line_length:88}}}},c=new Pb(new Od({...n}),s);return t=()=>c.resyncAllDocuments(),c}),qb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`ty`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy(),getWorkspaceConfiguration:e=>[{disableLanguageServices:!0}]}),{});return t=()=>n.resyncAllDocuments(),n}),Jb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`pyrefly`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy(),initializationOptions:{pyrefly:{displayTypeErrors:e.diagnostics?.enabled??!1?`force-on`:`force-off`}}}),{});return t=()=>n.resyncAllDocuments(),n}),Yb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`basedpyright`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy()}),{});return t=()=>n.resyncAllDocuments(),n}),Xb=class{parser=new Zm;type=`python`;defaultCode=this.parser.defaultCode;defaultMetadata=this.parser.defaultMetadata;transformIn(e){let t=this.parser.transformIn(e);return[t.code,t.offset,t.metadata]}transformOut(e,t){let n=this.parser.transformOut(e,t);return[n.code,n.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,t,n,r,i){return[(()=>{let r={defaultKeymap:!1,activateOnTyping:t.activate_on_typing,closeOnBlur:!1},a={hideOnChange:!0},o=[];i?.pylsp?.enabled&&eg(`pylsp`)&&o.push(Kb(i)),i?.ty?.enabled&&eg(`ty`)&&o.push(qb(i)),i?.pyrefly?.enabled&&eg(`pyrefly`)&&o.push(Jb(i)),i?.basedpyright?.enabled&&eg(`basedpyright`)&&o.push(Yb(i));let s=t.signature_hint_on_typing,c=s?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(o.length>0){let t=o.length===1?o[0]:new Uy(o),l=e=>{V.debug(`openExternalLocation`,e),!(t.documentUri===e.uri||Ly(e.uri))&&Rr().openFile({path:e.uri.replace(`file://`,``)})};return[Jd({client:t,languageId:`python`,allowHTMLContent:!0,markdownRenderer:Ky(),useSnippetOnCompletion:!0,clientSideFiltering:!0,hoverConfig:a,completionConfig:r,diagnosticsEnabled:i.diagnostics?.enabled??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:s,signatureHelpOptions:{position:`above`},keyboardShortcuts:{signatureHelp:n.getHotkey(`cell.signatureHelp`).key,goToDefinition:n.getHotkey(`cell.goToDefinition`).key,rename:n.getHotkey(`cell.renameSymbol`).key},completionMatchBefore:c,onGoToDefinition:l,onShowLocation:l}),_d.of(Py.of(e))]}return[Nr({...r,override:[Wv]}),Hv]})(),$b(),Zb(r)]}};function Zb(e){return e===`marimo-import`?hn.highest(Ub(`import marimo as mo`)):e===`ai`?Gb({beforeText:`Start coding or `,linkText:`generate`,afterText:` with AI.`,onClick:e=>{e.state.facet(Of).aiCellCompletion()}}):[]}var Qb=ti.configure({props:[ln.add({ParenthesizedExpression:Sn,ArgList:Sn})]});function $b(){return new Kn(Qb,[Qb.data.of({autocomplete:ni}),Qb.data.of({autocomplete:ii})])}function ex(e){return typeof e==`object`&&!Array.isArray(e)&&!tx(e)}function tx(e){if(typeof e!=`object`||Array.isArray(e)||!(`self`in e)||!(`children`in e))return!1;let t=e.self;return typeof t==`object`&&!!t&&!Array.isArray(t)&&typeof t.label==`string`}function nx(e){return Array.isArray(e)}function rx(e,t,n,r){let i=e.length;if(t===`string`||t===`completion`&&r&&nx(r))return`column`;if(t===`namespace`&&n){if(nx(n))return`table`;if(ex(n))return Object.values(n).some(e=>nx(e)||tx(e)&&nx(e.children))?i<=1?`database`:`schema`:i===0?`database`:`namespace`}if(t===`completion`&&n)return nx(n)?`table`:(ex(n)&&Object.values(n).some(e=>nx(e)||tx(e)&&nx(e.children)),i<=1?`database`:`schema`);switch(i){case 0:return`database`;case 1:return`schema`;default:return`namespace`}}function ix(e,t,n={}){let{maxDepth:r=10}=n;if((typeof t==`string`?t===``:t.length===0)&&tx(e)){let t=rx([],`completion`,e.children);return{completion:e.self,path:[],type:`completion`,semanticType:t,namespace:e.children}}let i=(typeof t==`string`?t.split(`.`):t).filter(e=>e.length>0);return i.length===0||i.length>r?null:ax(e,i,[],n)}function ax(e,t,n,r,i){if(t.length===0){if(tx(e)){let t=rx(n,`completion`,e.children,i);return{completion:e.self,path:n,type:`completion`,semanticType:t,namespace:e.children}}return{path:n,type:`namespace`,semanticType:rx(n,`namespace`,e,i),namespace:e}}let[a,...o]=t,{caseSensitive:s=!1}=r;if(!a)return null;if(ex(e)){let t=s?Object.keys(e).find(e=>e===a):Object.keys(e).find(e=>e.toLowerCase()===a.toLowerCase());if(t){let i=e[t];if(i)return ax(i,o,[...n,t],r,e)}}else if(tx(e))return ax(e.children,t,n,r,e);else if(nx(e)){for(let t of e)if(typeof t==`string`){if((s?t===a:t.toLowerCase()===a.toLowerCase())&&o.length===0){let r=rx([...n,t],`string`,void 0,e);return{value:t,path:[...n,t],type:`string`,semanticType:r}}}else if((s?t.label===a:t.label.toLowerCase()===a.toLowerCase())&&o.length===0){let r=rx([...n,t.label],`completion`,void 0,e);return{completion:t,path:[...n,t.label],type:`completion`,semanticType:r}}}return null}function ox(e,t,n={}){let r=[];if(t.includes(`.`)){let r=t.lastIndexOf(`.`),i=t.substring(0,r),a=t.substring(r+1),o=ix(e,i,n);if(o?.namespace)return sx(o.namespace,a,o.path,n)}else return sx(e,t,[],n);return r}function sx(e,t,n,r){let i=[],{caseSensitive:a=!1,allowPartialMatch:o=!0}=r;if(ex(e)){for(let[r,s]of Object.entries(e))if(o?a?r.startsWith(t):r.toLowerCase().startsWith(t.toLowerCase()):a?r===t:r.toLowerCase()===t.toLowerCase()){if(tx(s)){let t=rx([...n,r],`completion`,s.children,e);i.push({completion:s.self,path:[...n,r],type:`completion`,semanticType:t,namespace:s.children})}else{let t=rx([...n,r],`namespace`,s,e);i.push({path:[...n,r],type:`namespace`,semanticType:t,namespace:s})}}}else if(tx(e)){if(o?a?e.self.label.startsWith(t):e.self.label.toLowerCase().startsWith(t.toLowerCase()):a?e.self.label===t:e.self.label.toLowerCase()===t.toLowerCase()){let t=rx([...n,e.self.label],`completion`,e.children);i.push({completion:e.self,path:[...n,e.self.label],type:`completion`,semanticType:t,namespace:e.children})}i.push(...sx(e.children,t,n,r))}else if(nx(e)){for(let r of e)if(typeof r==`string`){if(o?a?r.startsWith(t):r.toLowerCase().startsWith(t.toLowerCase()):a?r===t:r.toLowerCase()===t.toLowerCase()){let t=rx([...n,r],`string`,void 0,e);i.push({value:r,path:[...n,r],type:`string`,semanticType:t})}}else if(o?a?r.label.startsWith(t):r.label.toLowerCase().startsWith(t.toLowerCase()):a?r.label===t:r.label.toLowerCase()===t.toLowerCase()){let t=rx([...n,r.label],`completion`,void 0,e);i.push({completion:r,path:[...n,r.label],type:`completion`,semanticType:t})}}return i}function cx(e,t,n={}){let r=[],{maxDepth:i=10}=n;lx(e,[],r,i);let{caseSensitive:a=!1}=n;return r.filter(e=>e.path.some(e=>a?e===t:e.toLowerCase()===t.toLowerCase())).sort((e,n)=>{let r=a?e.path[e.path.length-1]===t:e.path[e.path.length-1]?.toLowerCase()===t.toLowerCase(),i=a?n.path[n.path.length-1]===t:n.path[n.path.length-1]?.toLowerCase()===t.toLowerCase();return r&&!i?-1:!r&&i?1:e.path.length-n.path.length})}function lx(e,t,n,r){if(!(t.length>=r)){if(ex(e))for(let[i,a]of Object.entries(e)){let o=[...t,i];if(tx(a)){let t=rx(o,`completion`,a.children,e);n.push({completion:a.self,path:o,type:`completion`,semanticType:t,namespace:a.children}),lx(a.children,o,n,r)}else{let t=rx(o,`namespace`,a,e);n.push({path:o,type:`namespace`,semanticType:t,namespace:a}),lx(a,o,n,r)}}else if(tx(e)){let i=rx(t,`completion`,e.children);n.push({completion:e.self,path:t,type:`completion`,semanticType:i,namespace:e.children}),lx(e.children,t,n,r)}else if(nx(e))for(let r of e)if(typeof r==`string`){let i=rx([...t,r],`string`,void 0,e);n.push({value:r,path:[...t,r],type:`string`,semanticType:i})}else{let i=rx([...t,r.label],`completion`,void 0,e);n.push({completion:r,path:[...t,r.label],type:`completion`,semanticType:i})}}}function ux(e,t,n={}){let{enableFuzzySearch:r=!1}=n,i=ix(e,t,n);if(i)return i;let a=ox(e,t,n);if(a.length>0)return a[0]||null;if(r){let r=cx(e,t,n);if(r.length>0)return r[0]||null}return null}var dx=_n.define({combine:e=>e[0]??null});function fx(e,t){let n=e??t.state.facet(dx);return n==null?null:typeof n==`function`?n(t):n}function px(e,t){let n=e??t.state.facet(dx);return n==null?null:typeof n==`function`?t.view?n(t.view):null:n}function mx(e){if(e==null)return null;let t=tx(e)?e.children:e;return nx(t)?t:null}function hx(e,t){let n=mx(ix(e,t,{caseSensitive:!1})?.namespace);if(n)return n;let r=(typeof t==`string`?t.split(`.`):t).map(e=>e.toLowerCase()),i=r[r.length-1];if(!i)return null;let a=cx(e,i).filter(e=>{if(mx(e.namespace)===null||e.path.length<r.length)return!1;let t=e.path.slice(-r.length).map(e=>e.toLowerCase());return r.every((e,n)=>t[n]===e)});return a.length===1?mx(a[0]?.namespace):null}function gx(e,t,n){if(typeof e==`string`)return n===void 0?{label:e,type:`property`,detail:t}:{label:e,type:`property`,detail:t,boost:n};let r={...e,type:`property`,detail:e.detail??t};return n!==void 0&&r.boost===void 0&&(r.boost=n),r}var _x=e=>{let t;return async()=>(t||=e(),await t)},vx=class{opts;parser=null;offsetRecord={};constructor(e={}){this.opts=e}getParser=_x(async()=>{if(this.parser)return this.parser;let t=await W(()=>import(`./node-sql-parser-DDkYZCP2.js`).then(t=>e(t.default,1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=t.default||t;return this.parser=new n,this.parser});async parse(e,t){this.offsetRecord={};let n=this.opts.getParserOptions?.(t.state),r=await this.sanitizeSql(e,n);try{let e=await this.getParser();return n?.database===`DuckDB`?this.parseWithDuckDBSupport(r,n):{success:!0,errors:[],ast:e.astify(r,n)}}catch(e){return{success:!1,errors:[this.extractErrorInfo(e,r)]}}}async sanitizeSql(e,t){if(t?.ignoreBrackets){let{sql:t,offsetRecord:n}=xx(e);return this.offsetRecord=n,t}return e}async parseWithDuckDBSupport(e,t){let n=await this.getParser(),r=yx(e).trimStart().toLowerCase();if(r.startsWith(`from`)||r.includes(`macro`))return{success:!0,errors:[]};let i=e;r.includes(`create or replace table`)&&(this.offsetRecord[e.indexOf(`create or replace table`)]=-11,i=e.replace(/create or replace table/i,`create table`));try{let e={...t,database:`PostgreSQL`};return{success:!0,errors:[],ast:n.astify(i,e)}}catch(t){return{success:!1,errors:[this.extractErrorInfo(t,e)]}}}extractErrorInfo(e,t){let n=1,r=1,i=e?.message||`SQL parsing error`,a=e;if(a?.location)n=a.location.start?.line||1,r=a.location.start?.column||1;else if(a?.hash)n=a.hash.line||1,r=a.hash.loc?.first_column||1;else{let e=i.match(/line (\d+)/i),t=i.match(/column (\d+)/i);e?.[1]&&(n=parseInt(e[1],10)),t?.[1]&&(r=parseInt(t[1],10))}let o=Object.entries(this.offsetRecord).map(([e,t])=>({position:parseInt(e,10),offset:t})).sort((e,t)=>e.position-t.position),s=0;for(let{position:e,offset:i}of o){let a=e+s;s+=i;let o=t.slice(0,a),c=(o.match(/\n/g)?.length??0)+1,l=a-o.lastIndexOf(`
|
|
101
|
+
`)}function xb(e){return`<marimo-tex class="arithmatex">||(${e.trim()}||)</marimo-tex>`}function Sb(e){return`<marimo-tex class="arithmatex">||[${e.trim()}||]</marimo-tex>`}function Cb(e){return e.startsWith(`_`)&&!e.startsWith(`__`)}var wb=class{documentVersion=0;getNotebookCode;constructor(e){this.getNotebookCode=e}lastSnapshot=null;snapshot(){let e=this.getLens(),t=this.lastSnapshot?.mergedText!==e.mergedText;return t?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:t,version:this.documentVersion}):{lens:e,didChange:t,version:this.documentVersion}}getLatestSnapshot(){if(!this.lastSnapshot)throw Error(`No snapshots`);return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:t}=this.getNotebookCode();return nb(e,t)}},Tb=()=>{let e=KM().cellHandles;return ce.mapValues(e,e=>e.current?.editorViewOrNull)};function Eb(e){let t=fb(e);return Array.isArray(t)?e:t}function Db(e){return{...e,documentation:Eb(e.documentation)}}function Ob(e){return e==null?null:Array.isArray(e)?e.map(e=>Db(e)):{...e,items:e.items.map(e=>Db(e))}}function kb(e){return{...e,signatures:e.signatures.map(e=>({...e,documentation:Eb(e.documentation),parameters:e.parameters?.map(e=>({...e,documentation:Eb(e.documentation)}))}))}}function Ab(e){return qy(e)&&typeof e.line==`number`&&typeof e.character==`number`}function jb(e){return qy(e)&&Ab(e.start)&&Ab(e.end)}function Mb(e){return qy(e)&&typeof e.message==`string`&&jb(e.range)}function Nb(e){if(e.method!==`textDocument/publishDiagnostics`||!qy(e.params))return!1;let{uri:t,version:n,diagnostics:r}=e.params;return typeof t==`string`&&(n===void 0||typeof n==`number`)&&Array.isArray(r)&&r.every(Mb)}var Pb=class{documentUri;client;snapshotter;getNotebookEditors;initialSettings;seenCellDocumentUris=new Set;pruneSeenCellUris(e){for(let t of this.seenCellDocumentUris){let n=Py.parse(t);e.has(n)||this.seenCellDocumentUris.delete(t)}}completionItemCache=new xp(10);openCellDocumentCounts=new Map;latestDiagnosticsVersion=null;forwardedDiagnosticsVersion=0;constructor(e,t,n=Tb){this.documentUri=By(),this.getNotebookEditors=n,this.initialSettings=t,this.client=e,this.patchProcessNotification(),this.initializePromise.then(()=>{H(Fy(this.client),`notify is not a method on the client`),this.client.notify(`workspace/didChangeConfiguration`,{settings:t})}),this.snapshotter=new wb(this.getNotebookCode.bind(this))}onNotification(e){return this.client.onNotification(e)}get ready(){return this.client.ready}set ready(e){this.client.ready=e}get capabilities(){return this.client.capabilities}set capabilities(e){this.client.capabilities=e}get initializePromise(){return this.client.initializePromise}set initializePromise(e){this.client.initializePromise=e}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.openCellDocumentCounts.clear(),this.client.close()}hasCapability(e){return this.client.hasCapability(e)}async resyncAllDocuments(){H(Fy(this.client),`notify is not a method on the client`),await this.client.initialize(),await this.client.notify(`workspace/didChangeConfiguration`,{settings:this.initialSettings});let{lens:e,version:t}=this.snapshotter.snapshot();this.latestDiagnosticsVersion=null,this.forwardedDiagnosticsVersion=0,this.openCellDocumentCounts.size>0&&await this.client.notify(`textDocument/didOpen`,{textDocument:{languageId:`python`,text:e.mergedText,uri:this.documentUri,version:t}}),V.log(`[lsp] Document re-synchronization complete`)}getNotebookCode(){let{cellIds:e,codes:t}=u.get(eb),n=this.getNotebookEditors();return{cellIds:e,codes:ce.fromEntries(e.map(e=>{let r=n[e];return[e,r?jA(r):t[e]??``]}))}}assertCellDocumentUri(e){H(Py.is(e),`Execpted URI to be CellDocumentUri`)}async textDocumentDidOpen(e){V.debug(`[lsp] textDocumentDidOpen`,e);let t=e.textDocument.uri;this.assertCellDocumentUri(t);let{lens:n,version:r}=this.snapshotter.snapshot(),i=this.openCellDocumentCounts.get(t)??0;this.openCellDocumentCounts.set(t,i+1);try{let i=await this.client.textDocumentDidOpen({textDocument:{languageId:e.textDocument.languageId,text:n.mergedText,uri:this.documentUri,version:r}});return this.seenCellDocumentUris.add(t),i!==!1}catch(e){let n=this.openCellDocumentCounts.get(t)??0;throw n<=1?this.openCellDocumentCounts.delete(t):this.openCellDocumentCounts.set(t,n-1),e}}async textDocumentDidClose(e){let t=e.textDocument.uri;this.assertCellDocumentUri(t);let n=this.openCellDocumentCounts.get(t)??0;if(n===0){V.warn(`[lsp] textDocumentDidClose with no tracked open`,t);return}n<=1?this.openCellDocumentCounts.delete(t):this.openCellDocumentCounts.set(t,n-1),await this.client.textDocumentDidClose({textDocument:{uri:this.documentUri}})}async sync(){let{lens:e,version:t,didChange:n}=this.snapshotter.snapshot(),r={textDocument:{uri:this.documentUri,version:t},contentChanges:[{text:e.mergedText}]};return n&&await this.client.textDocumentDidChange(r),{params:r,lens:e}}async textDocumentDidChange(e){if(V.debug(`[lsp] textDocumentDidChange`,e),e.contentChanges.length===1){await this.sync();return}V.warn(`[lsp] Unhandled textDocumentDidChange`,e),await this.client.textDocumentDidChange(e)}async textDocumentWillSave(e){this.assertCellDocumentUri(e.textDocument.uri),await this.client.textDocumentWillSave({...e,textDocument:{uri:this.documentUri}})}async textDocumentWillSaveWaitUntil(e){return this.assertCellDocumentUri(e.textDocument.uri),V.debug(`[lsp] willSaveWaitUntil edits are disabled for notebook documents`),null}async textDocumentDidSave(e){this.assertCellDocumentUri(e.textDocument.uri);let{lens:t}=this.snapshotter.snapshot();await this.client.textDocumentDidSave({textDocument:{uri:this.documentUri},text:e.text===void 0?void 0:t.mergedText})}async textDocumentDefinition(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t);return this.client.textDocumentDefinition({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)})}async textDocumentSignatureHelp(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t),i=await this.client.textDocumentSignatureHelp({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)});return i?kb(i):null}textDocumentCodeAction(e){return Promise.resolve(null)}codeActionResolve(e){return Promise.resolve(e)}reverseRelatedInformation(e,t){if(e)return e.map(e=>{if(!qy(e)||!qy(e.location)||e.location.uri!==this.documentUri||!jb(e.location.range))return e;let n=t.cellIds.find(n=>t.isInRange(e.location.range,n));return n===void 0?e:{...e,location:{uri:Py.of(n),range:t.reverseRange(e.location.range,n)}}})}async textDocumentRename(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let n=Py.parse(t),{lens:r}=await this.sync(),i=r.transformPosition(e.position,n),a=await this.client.textDocumentRename({...e,textDocument:{uri:this.documentUri},position:i});if(!a)return null;let o=a.documentChanges?.flatMap(e=>`edits`in e?e.edits:[]);if(!o||o.length!==1)return V.warn(`Expected exactly one edit`,o),a;let s=o[0];if(!(`newText`in s))return V.warn(`Expected newText in edit`,s),a;let c=r.getEditsForNewText(s.newText),l=new Map(c.map(e=>[e.cellId,e.text])),u=this.getNotebookEditors(),d=u[n],f=!1;if(d){let t=d.state.doc.line(e.position.line+1).from+e.position.character,{startToken:n,endToken:r}=Tg(d.state.doc,t),i=d.state.doc.sliceString(n,r);f=Cb(i),f&&V.debug(`[lsp] Private variable rename detected, limiting to current cell`,i)}let p=[],m=0;for(let[e,t]of ce.entries(u)){if(f&&e!==n)continue;let r=l.get(e);if(r==null){V.warn(`[lsp] No new code for cell during rename`,e),p.push(e);continue}if(!t){V.warn(`[lsp] No editor view for cell during rename`,e),p.push(e);continue}jA(t)!==r&&(MA(t,r),m++)}return p.length>0&&V.error(`[lsp] Rename partially failed: could not update ${p.length} cell(s)`,p),V.debug(`[lsp] Rename completed: updated ${m} cell(s)`),{...a,documentChanges:[{edits:[],textDocument:{uri:t,version:0}}]}}async completionItemResolve(e){let t=JSON.stringify(e),n=this.completionItemCache.get(t);if(n)return n;let r=this.client.completionItemResolve(e).then(e=>Db(e));return this.completionItemCache.set(t,r),r}async textDocumentPrepareRename(e){let t=e.textDocument.uri;if(!Py.is(t))return V.warn(`Invalid cell document URI`,t),null;let{lens:n}=await this.sync(),r=Py.parse(t);return this.client.textDocumentPrepareRename({...e,textDocument:{uri:this.documentUri},position:n.transformPosition(e.position,r)})}async textDocumentHover(e){V.debug(`[lsp] textDocumentHover`,e);let{lens:t}=await this.sync(),n=Py.parse(e.textDocument.uri),r=await this.client.textDocumentHover({...e,textDocument:{uri:this.documentUri},position:t.transformPosition(e.position,n)});return r?(typeof r.contents==`object`&&`kind`in r.contents&&(r.contents={kind:`markdown`,value:r.contents.value}),r.contents=fb(r.contents)??r.contents,r.contents===``?null:(r.range&&=t.reverseRange(r.range,n),r)):(V.debug(`[lsp] no hover result`),r)}async textDocumentCompletion(e){let{lens:t}=await this.sync();if(!Py.is(e.textDocument.uri))return V.error(`[lsp] Invalid cell document URI in completion request`,e.textDocument.uri),null;let n=Py.parse(e.textDocument.uri);if(!n||n===`undefined`)return V.error(`[lsp] Invalid cellId 'undefined' in completion request`,{cellId:n,uri:e.textDocument.uri,availableCellIds:t.cellIds}),null;t.cellIds.includes(n)||V.warn(`[lsp] CellId in completion request not found in current lens`,{cellId:n,uri:e.textDocument.uri,availableCellIds:t.cellIds});let r=t.transformPosition(e.position,n);return Ob(await this.client.textDocumentCompletion({...e,textDocument:{uri:this.documentUri},position:r}))}patchProcessNotification(){H(Iy(this.client),`processNotification is not a method on the client`);let e=this.client.processNotification.bind(this.client),t=t=>{if(Nb(t)){let n=t.params.version;if(n!=null){let e=this.latestDiagnosticsVersion;if(e!==null&&Number.isFinite(n)&&n<e){V.debug(`[lsp] dropping stale diagnostics notification`,t);return}this.latestDiagnosticsVersion=n}V.debug(`[lsp] handling diagnostics`,t);let r=this.snapshotter.getLatestSnapshot(),i=t.params.diagnostics,{lens:a}=r,o=++this.forwardedDiagnosticsVersion,s=new Map;for(let e of i)for(let t of a.cellIds)if(a.isInRange(e.range,t)){s.has(t)||s.set(t,[]);let n=this.reverseRelatedInformation(e.relatedInformation,a),r={...e,range:a.reverseRange(e.range,t),...n?{relatedInformation:n}:{}};s.get(t)?.push(r);break}let c=new Set(a.cellIds);this.pruneSeenCellUris(c);let l=new Set(this.seenCellDocumentUris);for(let[n,r]of s.entries()){V.debug(`[lsp] diagnostics for cell`,n,r);let i=Py.of(n);l.delete(i),e({...t,params:{...t.params,uri:i,version:o,diagnostics:r}})}if(l.size>0){V.debug(`[lsp] clearing diagnostics`,l);for(let t of l)e({method:`textDocument/publishDiagnostics`,params:{uri:t,version:o,diagnostics:[]}})}return}return e(t)};this.client.processNotification=t}},Fb=1e3,Ib=new Set([`textDocument/didOpen`,`textDocument/didChange`,`textDocument/didClose`]),Lb=new Set([`initialize`,`initialized`,`workspace/didChangeConfiguration`,`textDocument/didOpen`]),Rb=class{delegate;connectionPromise;isDelegateConnected=!1;connectionGeneration=0;restoringGeneration;isClosed=!1;hasConnectedBefore=!1;messageHandlers=new Set;pendingMessages=[];inFlightBacklog;hasLoggedQueueOverflow=!1;disposeDelegateMessage;disposeDelegateClose;options;onReconnect;constructor(e){this.options={...e,retries:e.retries??1,retryDelayMs:e.retryDelayMs??1e3},this.onReconnect=e.onReconnect}async connect(){if(this.isClosed)throw Error(`Transport is closed`);if(this.isDelegateConnected)return;if(this.connectionPromise)return this.connectionPromise;let e=++this.connectionGeneration,t=this.connectWithRetries(e).finally(()=>{this.connectionPromise===t&&(this.connectionPromise=void 0)});return this.connectionPromise=t,t}isStale(e){return this.isClosed||e!==this.connectionGeneration}send(e){if(!this.isClosed){if(this.delegate&&this.isDelegateConnected&&(this.restoringGeneration===void 0||this.canSendWhileRestoring(e))){this.delegate.send(e);return}this.pendingMessages.length<Fb?this.pendingMessages.push(e):this.hasLoggedQueueOverflow||(this.hasLoggedQueueOverflow=!0,V.error(`LSP reconnect queue is full (${Fb}); dropping messages until it drains`)),this.reconnect()}}onMessage(e){return this.messageHandlers.add(e),()=>{this.messageHandlers.delete(e)}}close(){this.isClosed||(this.isClosed=!0,this.isDelegateConnected=!1,this.restoringGeneration=void 0,this.connectionGeneration++,this.connectionPromise=void 0,this.pendingMessages=[],this.inFlightBacklog=void 0,this.messageHandlers.clear(),this.disposeDelegate(),this.delegate?.close(),this.delegate=void 0)}async connectWithRetries(e){let t;for(let n=1;n<=this.options.retries;n++)try{await this.connectDelegate(e);return}catch(r){if(t=r instanceof Error?r:Error(String(r)),this.isStale(e))throw t;this.invalidateDelegate(),V.warn(`WebSocket connection attempt ${n}/${this.options.retries} failed`,t),n<this.options.retries&&await new Promise(e=>setTimeout(e,this.options.retryDelayMs))}let n=t??Error(`WebSocket connection failed`);throw this.options.onConnectionFailure?.(n),n}async connectDelegate(e){if(await this.options.waitForConnection?.(),this.isStale(e))throw Error(`Connection attempt abandoned`);let t=this.createDelegate();if(await t.connect(),this.isStale(e)||this.delegate!==t)throw t.close(),Error(`Transport closed while connecting`);this.isDelegateConnected=!0;let n=this.hasConnectedBefore;this.hasConnectedBefore=!0;let r=this.detachPendingMessages();this.inFlightBacklog=r;try{if(n){this.restoringGeneration=e;try{await this.onReconnect?.()}finally{this.restoringGeneration===e&&(this.restoringGeneration=void 0)}}if(this.isStale(e)||this.delegate!==t||!this.isDelegateConnected)throw Error(`WebSocket closed while restoring LSP state`)}catch(t){throw this.isStale(e)||this.reclaimInFlightBacklog(),t}let i=n&&this.onReconnect?r.filter(e=>!(`method`in e&&Ib.has(e.method))):r;this.inFlightBacklog=void 0;for(let e of[...i,...this.detachPendingMessages()])t.send(e);V.log(`WebSocket transport connected successfully`)}detachPendingMessages(){let e=this.pendingMessages;return this.pendingMessages=[],this.hasLoggedQueueOverflow=!1,e}reclaimInFlightBacklog(){this.inFlightBacklog&&=(this.pendingMessages=[...this.inFlightBacklog,...this.pendingMessages].slice(0,Fb),void 0)}canSendWhileRestoring(e){return!(`method`in e)||Lb.has(e.method)}createDelegate(){this.invalidateDelegate();let e=new kd(this.options.getWsUrl());return this.delegate=e,this.disposeDelegateMessage=e.onMessage(e=>{for(let t of this.messageHandlers)try{t(e)}catch(e){V.error(`LSP message handler failed`,e)}}),this.disposeDelegateClose=e.onClose(t=>{this.delegate!==e||this.isClosed||(V.warn(`WebSocket transport connection closed`,t),this.isDelegateConnected=!1,this.disposeDelegate(),this.delegate=void 0,this.restoringGeneration=void 0,this.reclaimInFlightBacklog(),this.connectionPromise=void 0,queueMicrotask(()=>this.reconnect()))}),e}reconnect(){this.connect().catch(e=>{V.error(`WebSocket transport reconnection failed`,e)})}invalidateDelegate(){this.isDelegateConnected=!1,this.restoringGeneration=void 0,this.disposeDelegate(),this.delegate?.close(),this.delegate=void 0}disposeDelegate(){this.disposeDelegateMessage?.(),this.disposeDelegateMessage=void 0,this.disposeDelegateClose?.(),this.disposeDelegateClose=void 0}},zb=new Set([1,2]);function Bb(e,t){if(!(`method`in t)||t.method!==`window/logMessage`)return;let n=t.params;!qy(n)||typeof n.message!=`string`||OM({logs:[{timestamp:Date.now()/1e3,level:zb.has(n.type)?`stderr`:`stdout`,message:n.message,source:{type:`lsp`,name:e}}]})}function Vb(e,t){let n=xe(),r=new Rb({getWsUrl:()=>n.getLSPURL(e).toString(),waitForConnection:async()=>{await ve()},onReconnect:t});return r.onMessage(t=>Bb(e,t)),r}bn.define(),new Tn;function Hb(e){return e.facet(fn.readOnly)}function Ub(e){return[sn(e),un.of([{key:`ArrowRight`,preventDefault:!0,run:t=>Wb(t,e)},{key:`Tab`,preventDefault:!0,run:t=>Wb(t,e)}])]}function Wb(e,t){if(Hb(e.state))return!1;let n=e.state.doc.length;return n===0&&(e.dispatch({changes:{from:0,to:n,insert:t},selection:{head:t.length,anchor:t.length}}),!0)}function Gb(e){let{beforeText:t,linkText:n,afterText:r,onClick:i}=e;return[sn(e=>{let a=document.createElement(`span`);a.append(document.createTextNode(t));let o=document.createElement(`span`);return o.textContent=n,o.classList.add(`cm-clickable-placeholder`),o.onclick=t=>{t.stopPropagation(),i(e)},a.append(o),a.append(document.createTextNode(r)),a}),Wn.theme({".cm-placeholder":{color:`var(--slate-8)`},".cm-clickable-placeholder":{cursor:`pointer !important`,pointerEvents:`auto`,color:`var(--slate-9)`,textDecoration:`underline`,textUnderlineOffset:`0.2em`},".cm-clickable-placeholder:hover":{color:`var(--sky-11)`}})]}var Kb=wr(e=>{let t,n={transport:Vb(`pylsp`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy()},r=e?.pylsp,i=[`D100`,`D103`],a=[`W292`,`E402`,`E302`,`E305`],o=[`B018`,`I001`],s={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:[`numpy`]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:r?.enable_flake8,extendIgnore:a},pydocstyle:{enabled:r?.enable_pydocstyle,ignore:i},pylint:{enabled:r?.enable_pylint},pyflakes:{enabled:r?.enable_pyflakes},pylsp_mypy:{enabled:r?.enable_mypy,live_mode:!0},ruff:{enabled:r?.enable_ruff,extendIgnore:[...a,...i,...o]},signature:{formatter:r?.enable_ruff?`ruff`:`black`,line_length:88}}}},c=new Pb(new Od({...n}),s);return t=()=>c.resyncAllDocuments(),c}),qb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`ty`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy(),getWorkspaceConfiguration:e=>[{disableLanguageServices:!0}]}),{});return t=()=>n.resyncAllDocuments(),n}),Jb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`pyrefly`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy(),initializationOptions:{pyrefly:{displayTypeErrors:e.diagnostics?.enabled??!1?`force-on`:`force-off`}}}),{});return t=()=>n.resyncAllDocuments(),n}),Yb=wr(e=>{let t,n=new Pb(new Od({transport:Vb(`basedpyright`,async()=>{await t?.()}),rootUri:Ry(),workspaceFolders:zy()}),{});return t=()=>n.resyncAllDocuments(),n}),Xb=class{parser=new Zm;type=`python`;defaultCode=this.parser.defaultCode;defaultMetadata=this.parser.defaultMetadata;transformIn(e){let t=this.parser.transformIn(e);return[t.code,t.offset,t.metadata]}transformOut(e,t){let n=this.parser.transformOut(e,t);return[n.code,n.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,t,n,r,i){return[(()=>{let r={defaultKeymap:!1,activateOnTyping:t.activate_on_typing,closeOnBlur:!1},a={hideOnChange:!0},o=[];i?.pylsp?.enabled&&eg(`pylsp`)&&o.push(Kb(i)),i?.ty?.enabled&&eg(`ty`)&&o.push(qb(i)),i?.pyrefly?.enabled&&eg(`pyrefly`)&&o.push(Jb(i)),i?.basedpyright?.enabled&&eg(`basedpyright`)&&o.push(Yb(i));let s=t.signature_hint_on_typing,c=s?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(o.length>0){let t=o.length===1?o[0]:new Uy(o),l=e=>{V.debug(`openExternalLocation`,e),!(t.documentUri===e.uri||Ly(e.uri))&&Rr().openFile({path:e.uri.replace(`file://`,``)})};return[Jd({client:t,languageId:`python`,allowHTMLContent:!0,markdownRenderer:Ky(),useSnippetOnCompletion:!0,clientSideFiltering:!0,hoverConfig:a,completionConfig:r,diagnosticsEnabled:i.diagnostics?.enabled??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:s,signatureHelpOptions:{position:`above`},keyboardShortcuts:{signatureHelp:n.getHotkey(`cell.signatureHelp`).key,goToDefinition:n.getHotkey(`cell.goToDefinition`).key,rename:n.getHotkey(`cell.renameSymbol`).key},completionMatchBefore:c,onGoToDefinition:l,onShowLocation:l}),_d.of(Py.of(e))]}return[Nr({...r,override:[Wv]}),Hv]})(),$b(),Zb(r)]}};function Zb(e){return e===`marimo-import`?hn.highest(Ub(`import marimo as mo`)):e===`ai`?Gb({beforeText:`Start coding or `,linkText:`generate`,afterText:` with AI.`,onClick:e=>{e.state.facet(Of).aiCellCompletion()}}):[]}var Qb=ti.configure({props:[ln.add({ParenthesizedExpression:Sn,ArgList:Sn})]});function $b(){return new Kn(Qb,[Qb.data.of({autocomplete:ni}),Qb.data.of({autocomplete:ii})])}function ex(e){return typeof e==`object`&&!Array.isArray(e)&&!tx(e)}function tx(e){if(typeof e!=`object`||Array.isArray(e)||!(`self`in e)||!(`children`in e))return!1;let t=e.self;return typeof t==`object`&&!!t&&!Array.isArray(t)&&typeof t.label==`string`}function nx(e){return Array.isArray(e)}function rx(e,t,n,r){let i=e.length;if(t===`string`||t===`completion`&&r&&nx(r))return`column`;if(t===`namespace`&&n){if(nx(n))return`table`;if(ex(n))return Object.values(n).some(e=>nx(e)||tx(e)&&nx(e.children))?i<=1?`database`:`schema`:i===0?`database`:`namespace`}if(t===`completion`&&n)return nx(n)?`table`:(ex(n)&&Object.values(n).some(e=>nx(e)||tx(e)&&nx(e.children)),i<=1?`database`:`schema`);switch(i){case 0:return`database`;case 1:return`schema`;default:return`namespace`}}function ix(e,t,n={}){let{maxDepth:r=10}=n;if((typeof t==`string`?t===``:t.length===0)&&tx(e)){let t=rx([],`completion`,e.children);return{completion:e.self,path:[],type:`completion`,semanticType:t,namespace:e.children}}let i=(typeof t==`string`?t.split(`.`):t).filter(e=>e.length>0);return i.length===0||i.length>r?null:ax(e,i,[],n)}function ax(e,t,n,r,i){if(t.length===0){if(tx(e)){let t=rx(n,`completion`,e.children,i);return{completion:e.self,path:n,type:`completion`,semanticType:t,namespace:e.children}}return{path:n,type:`namespace`,semanticType:rx(n,`namespace`,e,i),namespace:e}}let[a,...o]=t,{caseSensitive:s=!1}=r;if(!a)return null;if(ex(e)){let t=s?Object.keys(e).find(e=>e===a):Object.keys(e).find(e=>e.toLowerCase()===a.toLowerCase());if(t){let i=e[t];if(i)return ax(i,o,[...n,t],r,e)}}else if(tx(e))return ax(e.children,t,n,r,e);else if(nx(e)){for(let t of e)if(typeof t==`string`){if((s?t===a:t.toLowerCase()===a.toLowerCase())&&o.length===0){let r=rx([...n,t],`string`,void 0,e);return{value:t,path:[...n,t],type:`string`,semanticType:r}}}else if((s?t.label===a:t.label.toLowerCase()===a.toLowerCase())&&o.length===0){let r=rx([...n,t.label],`completion`,void 0,e);return{completion:t,path:[...n,t.label],type:`completion`,semanticType:r}}}return null}function ox(e,t,n={}){let r=[];if(t.includes(`.`)){let r=t.lastIndexOf(`.`),i=t.substring(0,r),a=t.substring(r+1),o=ix(e,i,n);if(o?.namespace)return sx(o.namespace,a,o.path,n)}else return sx(e,t,[],n);return r}function sx(e,t,n,r){let i=[],{caseSensitive:a=!1,allowPartialMatch:o=!0}=r;if(ex(e)){for(let[r,s]of Object.entries(e))if(o?a?r.startsWith(t):r.toLowerCase().startsWith(t.toLowerCase()):a?r===t:r.toLowerCase()===t.toLowerCase()){if(tx(s)){let t=rx([...n,r],`completion`,s.children,e);i.push({completion:s.self,path:[...n,r],type:`completion`,semanticType:t,namespace:s.children})}else{let t=rx([...n,r],`namespace`,s,e);i.push({path:[...n,r],type:`namespace`,semanticType:t,namespace:s})}}}else if(tx(e)){if(o?a?e.self.label.startsWith(t):e.self.label.toLowerCase().startsWith(t.toLowerCase()):a?e.self.label===t:e.self.label.toLowerCase()===t.toLowerCase()){let t=rx([...n,e.self.label],`completion`,e.children);i.push({completion:e.self,path:[...n,e.self.label],type:`completion`,semanticType:t,namespace:e.children})}i.push(...sx(e.children,t,n,r))}else if(nx(e)){for(let r of e)if(typeof r==`string`){if(o?a?r.startsWith(t):r.toLowerCase().startsWith(t.toLowerCase()):a?r===t:r.toLowerCase()===t.toLowerCase()){let t=rx([...n,r],`string`,void 0,e);i.push({value:r,path:[...n,r],type:`string`,semanticType:t})}}else if(o?a?r.label.startsWith(t):r.label.toLowerCase().startsWith(t.toLowerCase()):a?r.label===t:r.label.toLowerCase()===t.toLowerCase()){let t=rx([...n,r.label],`completion`,void 0,e);i.push({completion:r,path:[...n,r.label],type:`completion`,semanticType:t})}}return i}function cx(e,t,n={}){let r=[],{maxDepth:i=10}=n;lx(e,[],r,i);let{caseSensitive:a=!1}=n;return r.filter(e=>e.path.some(e=>a?e===t:e.toLowerCase()===t.toLowerCase())).sort((e,n)=>{let r=a?e.path[e.path.length-1]===t:e.path[e.path.length-1]?.toLowerCase()===t.toLowerCase(),i=a?n.path[n.path.length-1]===t:n.path[n.path.length-1]?.toLowerCase()===t.toLowerCase();return r&&!i?-1:!r&&i?1:e.path.length-n.path.length})}function lx(e,t,n,r){if(!(t.length>=r)){if(ex(e))for(let[i,a]of Object.entries(e)){let o=[...t,i];if(tx(a)){let t=rx(o,`completion`,a.children,e);n.push({completion:a.self,path:o,type:`completion`,semanticType:t,namespace:a.children}),lx(a.children,o,n,r)}else{let t=rx(o,`namespace`,a,e);n.push({path:o,type:`namespace`,semanticType:t,namespace:a}),lx(a,o,n,r)}}else if(tx(e)){let i=rx(t,`completion`,e.children);n.push({completion:e.self,path:t,type:`completion`,semanticType:i,namespace:e.children}),lx(e.children,t,n,r)}else if(nx(e))for(let r of e)if(typeof r==`string`){let i=rx([...t,r],`string`,void 0,e);n.push({value:r,path:[...t,r],type:`string`,semanticType:i})}else{let i=rx([...t,r.label],`completion`,void 0,e);n.push({completion:r,path:[...t,r.label],type:`completion`,semanticType:i})}}}function ux(e,t,n={}){let{enableFuzzySearch:r=!1}=n,i=ix(e,t,n);if(i)return i;let a=ox(e,t,n);if(a.length>0)return a[0]||null;if(r){let r=cx(e,t,n);if(r.length>0)return r[0]||null}return null}var dx=_n.define({combine:e=>e[0]??null});function fx(e,t){let n=e??t.state.facet(dx);return n==null?null:typeof n==`function`?n(t):n}function px(e,t){let n=e??t.state.facet(dx);return n==null?null:typeof n==`function`?t.view?n(t.view):null:n}function mx(e){if(e==null)return null;let t=tx(e)?e.children:e;return nx(t)?t:null}function hx(e,t){let n=mx(ix(e,t,{caseSensitive:!1})?.namespace);if(n)return n;let r=(typeof t==`string`?t.split(`.`):t).map(e=>e.toLowerCase()),i=r[r.length-1];if(!i)return null;let a=cx(e,i).filter(e=>{if(mx(e.namespace)===null||e.path.length<r.length)return!1;let t=e.path.slice(-r.length).map(e=>e.toLowerCase());return r.every((e,n)=>t[n]===e)});return a.length===1?mx(a[0]?.namespace):null}function gx(e,t,n){if(typeof e==`string`)return n===void 0?{label:e,type:`property`,detail:t}:{label:e,type:`property`,detail:t,boost:n};let r={...e,type:`property`,detail:e.detail??t};return n!==void 0&&r.boost===void 0&&(r.boost=n),r}var _x=e=>{let t;return async()=>(t||=e(),await t)},vx=class{opts;parser=null;offsetRecord={};constructor(e={}){this.opts=e}getParser=_x(async()=>{if(this.parser)return this.parser;let t=await W(()=>import(`./node-sql-parser-DDkYZCP2.js`).then(t=>e(t.default,1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=t.default||t;return this.parser=new n,this.parser});async parse(e,t){this.offsetRecord={};let n=this.opts.getParserOptions?.(t.state),r=await this.sanitizeSql(e,n);try{let e=await this.getParser();return n?.database===`DuckDB`?this.parseWithDuckDBSupport(r,n):{success:!0,errors:[],ast:e.astify(r,n)}}catch(e){return{success:!1,errors:[this.extractErrorInfo(e,r)]}}}async sanitizeSql(e,t){if(t?.ignoreBrackets){let{sql:t,offsetRecord:n}=xx(e);return this.offsetRecord=n,t}return e}async parseWithDuckDBSupport(e,t){let n=await this.getParser(),r=yx(e).trimStart().toLowerCase();if(r.startsWith(`from`)||r.includes(`macro`))return{success:!0,errors:[]};let i=e;r.includes(`create or replace table`)&&(this.offsetRecord[e.indexOf(`create or replace table`)]=-11,i=e.replace(/create or replace table/i,`create table`));try{let e={...t,database:`PostgreSQL`};return{success:!0,errors:[],ast:n.astify(i,e)}}catch(t){return{success:!1,errors:[this.extractErrorInfo(t,e)]}}}extractErrorInfo(e,t){let n=1,r=1,i=e?.message||`SQL parsing error`,a=e;if(a?.location)n=a.location.start?.line||1,r=a.location.start?.column||1;else if(a?.hash)n=a.hash.line||1,r=a.hash.loc?.first_column||1;else{let e=i.match(/line (\d+)/i),t=i.match(/column (\d+)/i);e?.[1]&&(n=parseInt(e[1],10)),t?.[1]&&(r=parseInt(t[1],10))}let o=Object.entries(this.offsetRecord).map(([e,t])=>({position:parseInt(e,10),offset:t})).sort((e,t)=>e.position-t.position),s=0;for(let{position:e,offset:i}of o){let a=e+s;s+=i;let o=t.slice(0,a),c=(o.match(/\n/g)?.length??0)+1,l=a-o.lastIndexOf(`
|
|
102
102
|
`);n===c&&r>l&&(r-=i)}return r>t.length&&(r=t.length),{message:this.cleanErrorMessage(i),line:Math.max(1,n),column:Math.max(1,r),severity:`error`}}cleanErrorMessage(e){return e.replace(/^Error: /,``).replace(/Expected .* but .* found\./i,e=>e.replace(/but .* found/,`found unexpected token`)).trim()}async validateSql(e,t){return(await this.parse(e,t)).errors}async extractTableReferences(e,t){let n=t?this.opts.getParserOptions?.(t.state):void 0;try{return(await this.getParser()).tableList(e,n).map(e=>{let t=e.split(`::`);return t[t.length-1]||e})}catch{return[]}}async extractColumnReferences(e,t){let n=t?.state?this.opts.getParserOptions?.(t.state):void 0;try{return(await this.getParser()).columnList(e,n).map(e=>{let t=e.split(`::`);return t[t.length-1]||e})}catch{return[]}}};function yx(e,t=[`/*`,`--`]){let n=[];if(t.includes(`/*`)&&n.push(`/\\*[\\s\\S]*?\\*/`),t.includes(`--`)&&n.push(`--[^\\n]*`),n.length===0)return e;let r=RegExp(`^\\s*(${n.join(`|`)})\\s*`,``),i=e,a=``;for(;i!==a;)a=i,i=i.replace(r,``);return i}var bx=2;function xx(e){let t={};return{sql:e.replace(/("[^"\\]*(?:\\.[^"\\]*)*")|('[^'\\]*(?:\\.[^'\\]*)*')|(\{[^}]*\})/g,(e,n,r,i,a)=>n||r?e:i?(t[a]=bx,`'${i}'`):e),offsetRecord:t}}function Sx(){return{tables:[],ctes:[],aliases:new Map,selectAliases:[]}}function Cx(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}function wx(e){return Array.isArray(e)?e:[]}function Tx(e){let t=e[0],n=e[e.length-1];return e.length>=2&&(t===`"`&&n===`"`||t===`'`&&n===`'`||t==="`"&&n==="`"||t===`[`&&n===`]`)?e.slice(1,-1):e}function Ex(e){return typeof e==`string`?e:Cx(e)&&typeof e.value==`string`?e.value:null}function Dx(e){if(!Cx(e)||e.type!==`column_ref`)return null;let t=e.column;if(typeof t==`string`)return t;if(Cx(t)){let e=t.expr,n=Cx(e)?e.value:t.value;if(typeof n==`string`)return n}return null}function Ox(e){let t=wx(e.columns).map(e=>Ex(e)??Dx(e)??Ex(e.column)).filter(e=>typeof e==`string`);if(t.length>0)return t;let n=e.stmt,r=Cx(n)?n.ast??n:null;if(!Cx(r)||r.type!==`select`)return[];let i=[];for(let e of wx(r.columns))if(typeof e.as==`string`)i.push(e.as);else{let t=Dx(e.expr);t&&t!==`*`&&i.push(t)}return i}function kx(e,t){if(typeof e.table!=`string`||e.table.length===0)return;let n=[e.db??e.catalog,e.schema,e.table].filter(e=>typeof e==`string`&&e.length>0).map(Tx),r=typeof e.as==`string`?Tx(e.as):void 0,i=`${n.join(`.`).toLowerCase()}::${r?.toLowerCase()??``}`;t.seenTables.has(i)||(t.seenTables.add(i),t.tables.push({name:Tx(e.table),path:n,...r?{alias:r}:{}}))}function Ax(e,t,n){if(Array.isArray(e)){for(let r of e)Ax(r,t,n);return}if(!(!Cx(e)||n.has(e))){n.add(e);for(let n of wx(e.with)){let e=Ex(n.name);e&&!t.seenCtes.has(e.toLowerCase())&&(t.seenCtes.add(e.toLowerCase()),t.ctes.push({name:Tx(e),columns:Ox(n).map(Tx),from:-1,to:-1}))}for(let n of[`from`,`table`])for(let r of wx(e[n]))kx(r,t);for(let[r,i]of Object.entries(e))r!==`loc`&&r!==`tableList`&&r!==`columnList`&&Ax(i,t,n)}}function jx(e,t){if(e.type===`select`)for(let n of wx(e.columns))typeof n.as==`string`&&t.selectAliases.push(Tx(n.as))}function Mx(e,t){let n=t.replace(/[.*+?^${}()|[\]\\]/g,`\\$&`),r=`(?:"${n}"|\`${n}\`|\\[${n}\\]|\\b${n})`,i=RegExp(`(${r})\\s*(?:\\([^)]*\\)\\s*)?AS\\s*\\(`,`i`).exec(e);return!i||i.index<0||!i[1]?{from:-1,to:-1}:{from:i.index,to:i.index+i[1].length}}var Nx=new Set(`as.on.using.where.join.inner.left.right.full.cross.outer.natural.lateral.group.order.limit.offset.having.union.intersect.except.select.set.values.when.then.and.or.not.in.is.asc.desc.fetch.window.qualify.returning.with`.split(`.`)),Px=String.raw`(?:[\w$]+|"[^"]+"|\`[^\`]+\`|\[[^\]]+\])`,Fx=`(?!(?:${[...Nx].join(`|`)})\\b)`,Ix=new RegExp(String.raw`\b(?:from|join)\s+(${Px}(?:\.${Px})*)(?:\s+(?:as\s+)?${Fx}(${Px}))?`,`gi`);function Lx(e){let t=e.split(``),n=0;for(;n<e.length;){let r=e[n],i=e[n+1];if(r===`-`&&i===`-`){for(;n<e.length&&e[n]!==`
|
|
103
103
|
`;)t[n]=` `,n++;continue}if(r===`/`&&i===`*`){for(t[n]=` `,t[n+1]=` `,n+=2;n<e.length&&(e[n]!==`*`||e[n+1]!==`/`);)t[n]=` `,n++;n<e.length&&(t[n]=` `,t[n+1]=` `,n+=2);continue}if(r===`"`||r==="`"||r===`[`){let t=r===`[`?`]`:r;for(n++;n<e.length&&e[n]!==t;)n++;n++;continue}if(r===`'`){for(t[n]=` `,n++;n<e.length;){if(e[n]===`'`){if(t[n]=` `,e[n+1]===`'`){t[n+1]=` `,n+=2;continue}n++;break}t[n]=` `,n++}continue}n++}return t.join(``)}function Rx(e){let t={tables:[],ctes:[],selectAliases:[],seenTables:new Set,seenCtes:new Set},n=Lx(e);zx(n,t),Ix.lastIndex=0;let r=Ix.exec(n);for(;r!==null;){let e=r[1],i=r[2];if(e){let n=e.split(`.`).map(Tx),r=n[n.length-1]??``,a=i&&!Nx.has(i.toLowerCase())?Tx(i):void 0,o=`${n.join(`.`).toLowerCase()}::${a?.toLowerCase()??``}`;r&&!t.seenTables.has(o)&&(t.seenTables.add(o),t.tables.push({name:r,path:n,...a?{alias:a}:{}}))}r=Ix.exec(n)}return Hx(t)}function zx(e,t){let n=/\bWITH\s+(?:RECURSIVE\s+)?/gi,r=new RegExp(String.raw`^(${Px})\s*(?:\(([^)]*)\)\s*)?AS\s*\(`,`i`),i=n.exec(e);for(;i!==null;){let a=i.index+i[0].length;for(;;){let n=r.exec(e.slice(a)),i=n?.[1],o=i?Tx(i):void 0;if(!n||!i||!o)break;let s=a+n[0].length,c=s,l=1;for(;c<e.length&&l>0;)e[c]===`(`?l++:e[c]===`)`&&l--,c++;if(!t.seenCtes.has(o.toLowerCase())){t.seenCtes.add(o.toLowerCase());let r=(n[2]??``).split(`,`).map(e=>Tx(e.trim())).filter(e=>e.length>0);t.ctes.push({name:o,columns:r.length>0?r:Vx(e.slice(s,Math.max(s,c-1))),from:a,to:a+i.length})}let u=/^\s*,\s*/.exec(e.slice(c));if(!u)break;a=c+u[0].length}i=n.exec(e)}}function Bx(e){let t=[],n=0,r=``;for(let i of e)i===`(`?n++:i===`)`&&(n=Math.max(0,n-1)),i===`,`&&n===0?(t.push(r),r=``):r+=i;return t.push(r),t}function Vx(e){let t=/^\s*SELECT\s+(?:DISTINCT\s+)?([\s\S]*?)\s+FROM\s/i.exec(e);if(!t||!t[1])return[];let n=[];for(let e of Bx(t[1])){let t=e.trim(),r=new RegExp(String.raw`\s+AS\s+(${Px})$`,`i`).exec(t);if(r?.[1]){n.push(Tx(r[1]));continue}if(/^(?:[\w$]+\.)*[\w$]+$/.test(t)){let e=t.split(`.`),r=e[e.length-1];r&&r!==`*`&&n.push(r)}}return n}function Hx(e){let t=new Map;for(let n of e.tables)if(n.alias){let e=n.alias.toLowerCase();t.has(e)||t.set(e,n.path.join(`.`))}return{tables:e.tables,ctes:e.ctes,aliases:t,selectAliases:e.selectAliases}}async function Ux(e,t,n){if(!e.trim())return Sx();let r=null;try{let i=await t.parse(e,n);i.success&&i.ast!=null&&(r=i.ast)}catch{}if(r==null)return Rx(e);try{let t={tables:[],ctes:[],selectAliases:[],seenTables:new Set,seenCtes:new Set},n=Array.isArray(r)?r:[r];for(let e of n)Cx(e)&&jx(e,t);Ax(r,t,new Set);let i=Lx(e);for(let e of t.ctes){let t=Mx(i,e.name);e.from=t.from,e.to=t.to}return Hx(t)}catch{return Rx(e)}}var Wx=class{parser;cache=new Map;MAX_CACHE_SIZE=20;constructor(e=new vx){this.parser=e}async getContext(e,t){let n=this.cache.get(e);if(n)return n;let r=await Ux(e,this.parser,t);if(this.cache.set(e,r),this.cache.size>this.MAX_CACHE_SIZE){let e=this.cache.keys().next().value;e!==void 0&&this.cache.delete(e)}return r}clearCache(){this.cache.clear()}},Gx=class{parser;cache=new Map;MAX_CACHE_SIZE=10;constructor(e){this.parser=e}async analyzeDocument(e){let t=e.doc.toString(),n=this.cache.get(t);if(n)return n;let r=await this.extractStatements(t,e);if(this.cache.set(t,r),this.cache.size>this.MAX_CACHE_SIZE){let e=this.cache.keys().next().value;e!==void 0&&this.cache.delete(e)}return r}async getStatementAtPosition(e,t){return(await this.analyzeDocument(e)).find(e=>t>=e.from&&t<=e.to)||null}async getStatementsInRange(e,t,n){return(await this.analyzeDocument(e)).filter(e=>e.from<=n&&e.to>=t)}async extractStatements(e,t){let n=[],r=this.splitByStatementSeparators(e),i=0;for(let e of r){let r=e.trim();if(r.length===0){i+=e.length;continue}let a=i+e.indexOf(r),o=a+r.length,s=t.doc.lineAt(a),c=t.doc.lineAt(o),l=this.stripComments(r);if(l.trim().length===0||l.trim()===`;`){i+=e.length;continue}let u=await this.parser.parse(r,{state:t}),d=this.determineStatementType(l),f=l.endsWith(`;`)?l.slice(0,-1).trim():l.trim();n.push({from:a,to:o,lineFrom:s.number,lineTo:c.number,content:f,type:d,isValid:u.success,errors:u.errors??[]}),i+=e.length}return n}splitByStatementSeparators(e){let t=[],n=``,r=!1,i=``,a=!1,o=!1,s=0;for(;s<e.length;){let c=e[s],l=e[s+1];if(!r&&!o&&c===`-`&&l===`-`){a=!0,n+=c+l,s+=2;continue}if(!r&&!a&&c===`/`&&l===`*`){o=!0,n+=c+l,s+=2;continue}if(o&&c===`*`&&l===`/`){o=!1,n+=c+l,s+=2;continue}if(a&&(c===`
|
|
104
104
|
`||c===`\r`)){a=!1,n+=c,s++;continue}if(a||o){n+=c,s++;continue}if(!r&&(c===`'`||c===`"`||c==="`"))r=!0,i=c,n+=c;else if(r&&c===i){if(l===i){n+=c+l,s+=2;continue}r=!1,i=``,n+=c}else!r&&c===`;`?(n+=c,t.push(n),n=``):n+=c;s++}return n.trim()&&t.push(n),t}determineStatementType(e){let t=e.trim().toLowerCase();return t.startsWith(`select`)?`select`:t.startsWith(`insert`)?`insert`:t.startsWith(`update`)?`update`:t.startsWith(`delete`)?`delete`:t.startsWith(`create`)?`create`:t.startsWith(`drop`)?`drop`:t.startsWith(`alter`)?`alter`:t.startsWith(`use`)?`use`:`other`}stripComments(e){let t=``,n=!1,r=``,i=!1,a=!1,o=0;for(;o<e.length;){let s=e[o],c=e[o+1];if(!n&&!a&&s===`-`&&c===`-`){i=!0,o+=2;continue}if(!n&&!i&&s===`/`&&c===`*`){a=!0,o+=2;continue}if(a&&s===`*`&&c===`/`){a=!1,o+=2;continue}if(i&&(s===`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{no as n,oo as r}from"./cells-h5u00Nz8.js";import{D as i,P as a,S as o,b as s}from"./schemas-BL-NsLlF.js";import{t as c}from"./compiler-runtime-BQ9S8nyo.js";import{t as l}from"./isEmpty-BJso7_X0.js";import{rt as u}from"./ai-model-dropdown-BIeRPKed.js";import{g as d}from"./useEventListener-IRzG-0mH.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{a as m,i as h,o as g,r as _}from"./config-CR2d-XsP.js";import{t as v}from"./button-M49xxKoi.js";import{t as y}from"./createLucideIcon-rHn2EdoM.js";import{r as b}from"./paths-CzfpItSz.js";import{t as x}from"./ban-3HAzm9Fj.js";import{t as S}from"./bot-message-square-BfGaNy9r.js";import{a as C}from"./useNumberFormatter-BP99Zbyy.js";import{t as w}from"./markdown-renderer-DHvAXF8E.js";import{p as T,u as E}from"./add-cell-with-ai-D20NyZO4.js";import{t as D}from"./external-link-D2lKwXyB.js";import{n as O}from"./spinner-CGdRKCnw.js";import{l as k}from"./datasource-BLHGFSsT.js";import{i as A}from"./strings-hlCLC-K1.js";import{t as j}from"./RenderHTML-DRMkieKn.js";var M=y(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=y(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=c(),z=e(t(),1),B=p(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(S,{className:`h-3 w-3`}),t[0]=u):u=t[0];let d=o?`Thinking`:`View reasoning`,f=n.length>0&&` (${n.length} chars)`,p;t[1]!==d||t[2]!==f?(p=(0,B.jsx)(g,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,d,f]})}),t[1]=d,t[2]=f,t[3]=p):p=t[3];let v;t[4]===n?v=t[5]:(v=(0,B.jsx)(h,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(w,{content:n})})})}),t[4]=n,t[5]=v);let y;t[6]!==p||t[7]!==v?(y=(0,B.jsxs)(m,{value:`reasoning`,className:`border-0`,children:[p,v]}),t[6]=p,t[7]=v,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(_,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=f(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let p;t[6]===n?p=t[7]:(p=H(n),t[6]=n,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:p})]})]}),t[8]=p,t[9]=m);let h;t[10]===r?h=t[11]:(h=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=h);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(v,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let _;t[15]!==i.id||t[16]!==a?(_=(0,B.jsx)(v,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=_):_=t[17];let y;t[18]!==_||t[19]!==g?(y=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,_]}),t[18]=_,t[19]=g,t[20]=y):y=t[20];let b;return t[21]!==s||t[22]!==y||t[23]!==l||t[24]!==m||t[25]!==h?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[m,h,y]}),t[21]=s,t[22]=y,t[23]=l,t[24]=m,t[25]=h,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:i,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,p;t[0]===o?(d=t[1],p=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},p=[o],t[0]=o,t[1]=d,t[2]=p),z.useEffect(d,p);let m;t[3]===s?m=t[4]:(m=f(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=m);let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>l(K),t[5]=h):h=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=f(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(C,{className:x}),t[14]=x,t[15]=S);let w;t[16]!==c||t[17]!==S||t[18]!==y?(w=(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=w):w=t[19];let T;t[20]!==a||t[21]!==i||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:i}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=i,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==w||t[25]!==T||t[26]!==m?(E=(0,B.jsxs)(`div`,{className:m,children:[w,T]}),t[24]=w,t[25]=T,t[26]=m,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&l(e)}var J=i({status:a().default(`success`),auth_required:o().default(!1),action_url:s().optional(),next_steps:s().optional(),meta:s().optional(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:r}=e,i;if(t[0]!==r){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=r,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(n,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=r,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(O,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(u,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(x,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{A(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return A(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,d=l===void 0||l,p;t[0]!==d||t[1]!==r?(p=!d&&te.has(r),t[0]=d,t[1]=r,t[2]=p):p=t[2];let v=p,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=f(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==v||t[6]!==r?(x=f(`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`,v?`text-muted-foreground`:re(r)),t[5]=v,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==v||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:v}),t[8]=v,t[9]=r,t[10]=S):S=t[10];let C=v?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(g,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(h,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(m,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(_,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return A(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return A(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:n,isActive:r,addToolApprovalResponse:i})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>a(e,t))});function a(a,o){if(oe(a))return(0,B.jsx)($,{index:o,toolName:a.type,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,className:`my-2`,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);if(se(a))return d.debug(`Found data part`,a),null;switch(a.type){case`text`:return a.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:a.text})},o):(0,B.jsx)(w,{content:a.text},o);case`reasoning`:return(0,B.jsx)(V,{reasoning:a.text,index:o,isStreaming:t&&n&&o===(e.parts.length||0)-1},o);case`file`:return(0,B.jsx)(E,{attachment:a},o);case`reasoning-file`:return(0,B.jsx)(E,{attachment:{type:`file`,mediaType:a.mediaType,url:a.url}},o);case`dynamic-tool`:return(0,B.jsx)($,{toolName:a.toolName,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);case`source-document`:return(0,B.jsx)(T,{icon:(0,B.jsx)(b,{className:`h-3 w-3 shrink-0`}),title:a.title,subtitle:a.filename},o);case`source-url`:return(0,B.jsx)(T,{icon:(0,B.jsx)(D,{className:`h-3 w-3 shrink-0`}),title:a.title??a.url,subtitle:a.title?a.url:void 0,href:a.url},o);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a.kind},o);case`step-start`:return null;default:return A(a),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{no as n,oo as r}from"./cells-CxY8RSp7.js";import{D as i,P as a,S as o,b as s}from"./schemas-BL-NsLlF.js";import{t as c}from"./compiler-runtime-BQ9S8nyo.js";import{t as l}from"./isEmpty-BJso7_X0.js";import{rt as u}from"./ai-model-dropdown-CvJsRj9y.js";import{g as d}from"./useEventListener-IRzG-0mH.js";import{t as f}from"./cn-ldLVeaqm.js";import{t as p}from"./jsx-runtime-B74pBk57.js";import{a as m,i as h,o as g,r as _}from"./config-CR2d-XsP.js";import{t as v}from"./button-M49xxKoi.js";import{t as y}from"./createLucideIcon-rHn2EdoM.js";import{r as b}from"./paths-CzfpItSz.js";import{t as x}from"./ban-3HAzm9Fj.js";import{t as S}from"./bot-message-square-BfGaNy9r.js";import{a as C}from"./useNumberFormatter-BP99Zbyy.js";import{t as w}from"./markdown-renderer-mDlWBE1M.js";import{p as T,u as E}from"./add-cell-with-ai-Wyt6GBhk.js";import{t as D}from"./external-link-D2lKwXyB.js";import{n as O}from"./spinner-CGdRKCnw.js";import{l as k}from"./datasource-Tst92Pzi.js";import{i as A}from"./strings-hlCLC-K1.js";import{t as j}from"./RenderHTML-C7QcdAgB.js";var M=y(`circle-slash`,[[`circle`,{cx:`12`,cy:`12`,r:`10`,key:`1mglay`}],[`line`,{x1:`9`,x2:`15`,y1:`15`,y2:`9`,key:`1dfufj`}]]),N=y(`shield-question-mark`,[[`path`,{d:`M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z`,key:`oel41y`}],[`path`,{d:`M9.1 9a3 3 0 0 1 5.82 1c0 2-3 3-3 3`,key:`mhlwft`}],[`path`,{d:`M12 17h.01`,key:`p32p05`}]]),P=`user_cancelled`;function F(e){if(e.type===`abort`)return e.reason}function I(e){return e.isAbort?e.streamReason||`user_cancelled`:null}function L(e){switch(e){case P:return`Generation stopped`;case`timeout`:return`Generation stopped: timed out`;default:return`Generation stopped: ${e}`}}var R=c(),z=e(t(),1),B=p(),V=e=>{let t=(0,R.c)(13),{reasoning:n,index:r,isStreaming:i}=e,a=r===void 0?0:r,o=i!==void 0&&i,[s,c]=z.useState(``);if(!n&&!o)return null;let l=o?`reasoning`:s,u;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(S,{className:`h-3 w-3`}),t[0]=u):u=t[0];let d=o?`Thinking`:`View reasoning`,f=n.length>0&&` (${n.length} chars)`,p;t[1]!==d||t[2]!==f?(p=(0,B.jsx)(g,{className:`text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180`,children:(0,B.jsxs)(`span`,{className:`flex items-center gap-2`,children:[u,d,f]})}),t[1]=d,t[2]=f,t[3]=p):p=t[3];let v;t[4]===n?v=t[5]:(v=(0,B.jsx)(h,{className:`pb-2 px-2`,children:(0,B.jsx)(`div`,{className:`bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative`,children:(0,B.jsx)(`div`,{className:`pr-6`,children:(0,B.jsx)(w,{content:n})})})}),t[4]=n,t[5]=v);let y;t[6]!==p||t[7]!==v?(y=(0,B.jsxs)(m,{value:`reasoning`,className:`border-0`,children:[p,v]}),t[6]=p,t[7]=v,t[8]=y):y=t[8];let b;return t[9]!==a||t[10]!==l||t[11]!==y?(b=(0,B.jsx)(_,{type:`single`,collapsible:!0,className:`w-full mb-2`,value:l,onValueChange:c,children:y},a),t[9]=a,t[10]=l,t[11]=y,t[12]=b):b=t[12],b};function H(e){return e.replace(`tool-`,``)}var U=e=>{let t=(0,R.c)(9),{input:n,label:r}=e,i=r===void 0?`Tool Request`:r;if(n==null)return null;let a;t[0]===i?a=t[1]:(a=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:i}),t[0]=i,t[1]=a);let o;t[2]===n?o=t[3]:(o=JSON.stringify(n,null,2),t[2]=n,t[3]=o);let s;t[4]===o?s=t[5]:(s=(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:o}),t[4]=o,t[5]=s);let c;return t[6]!==a||t[7]!==s?(c=(0,B.jsxs)(`div`,{className:`space-y-2`,children:[a,s]}),t[6]=a,t[7]=s,t[8]=c):c=t[8],c},W=e=>{let t=(0,R.c)(27),{toolName:n,input:r,approval:i,onApprove:a,className:o}=e,s;t[0]===o?s=t[1]:(s=f(`rounded-md border border-(--amber-6) bg-(--amber-2) p-3 space-y-3`,o),t[0]=o,t[1]=s);let c;t[2]===n?c=t[3]:(c=H(n),t[2]=n,t[3]=c);let l=`Approval required for ${c}`,u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,B.jsx)(N,{className:`h-4 w-4 text-(--amber-11) mt-0.5 shrink-0`}),t[4]=u):u=t[4];let d;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Approval required:`}),t[5]=d):d=t[5];let p;t[6]===n?p=t[7]:(p=H(n),t[6]=n,t[7]=p);let m;t[8]===p?m=t[9]:(m=(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[u,(0,B.jsxs)(`div`,{className:`text-xs text-(--amber-11) leading-relaxed`,children:[d,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:p})]})]}),t[8]=p,t[9]=m);let h;t[10]===r?h=t[11]:(h=(0,B.jsx)(U,{input:r}),t[10]=r,t[11]=h);let g;t[12]!==i.id||t[13]!==a?(g=(0,B.jsx)(v,{size:`xs`,variant:`outline`,onClick:()=>a({id:i.id,approved:!1}),children:`Deny`}),t[12]=i.id,t[13]=a,t[14]=g):g=t[14];let _;t[15]!==i.id||t[16]!==a?(_=(0,B.jsx)(v,{size:`xs`,onClick:()=>a({id:i.id,approved:!0}),children:`Approve`}),t[15]=i.id,t[16]=a,t[17]=_):_=t[17];let y;t[18]!==_||t[19]!==g?(y=(0,B.jsxs)(`div`,{className:`flex items-center justify-end gap-2`,children:[g,_]}),t[18]=_,t[19]=g,t[20]=y):y=t[20];let b;return t[21]!==s||t[22]!==y||t[23]!==l||t[24]!==m||t[25]!==h?(b=(0,B.jsxs)(`div`,{className:s,role:`alertdialog`,"aria-label":l,children:[m,h,y]}),t[21]=s,t[22]=y,t[23]=l,t[24]=m,t[25]=h,t[26]=b):b=t[26],b},G=e=>{let t=(0,R.c)(28),{toolName:n,input:i,errorText:a,isLive:o,className:s}=e,[c,l]=z.useState(o),u=z.useRef(o),d,p;t[0]===o?(d=t[1],p=t[2]):(d=()=>{u.current&&!o&&l(!1),u.current=o},p=[o],t[0]=o,t[1]=d,t[2]=p),z.useEffect(d,p);let m;t[3]===s?m=t[4]:(m=f(`rounded-md border border-(--red-6) bg-(--red-2)`,s),t[3]=s,t[4]=m);let h;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>l(K),t[5]=h):h=t[5];let g;t[6]===Symbol.for(`react.memo_cache_sentinel`)?(g=(0,B.jsx)(r,{className:`h-3.5 w-3.5 shrink-0`}),t[6]=g):g=t[6];let _;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(_=(0,B.jsx)(`span`,{className:`font-semibold`,children:`Failed:`}),t[7]=_):_=t[7];let v;t[8]===n?v=t[9]:(v=H(n),t[8]=n,t[9]=v);let y;t[10]===v?y=t[11]:(y=(0,B.jsxs)(`span`,{className:`flex-1 text-left`,children:[_,` `,(0,B.jsx)(`code`,{className:`font-mono`,children:v})]}),t[10]=v,t[11]=y);let b=c&&`rotate-180`,x;t[12]===b?x=t[13]:(x=f(`h-3.5 w-3.5 shrink-0 transition-transform`,b),t[12]=b,t[13]=x);let S;t[14]===x?S=t[15]:(S=(0,B.jsx)(C,{className:x}),t[14]=x,t[15]=S);let w;t[16]!==c||t[17]!==S||t[18]!==y?(w=(0,B.jsxs)(`button`,{type:`button`,onClick:h,className:`w-full flex items-center gap-2 px-3 py-2 text-xs text-(--red-11) hover:bg-(--red-3) rounded-md transition-colors`,"aria-expanded":c,children:[g,y,S]}),t[16]=c,t[17]=S,t[18]=y,t[19]=w):w=t[19];let T;t[20]!==a||t[21]!==i||t[22]!==c?(T=c&&(0,B.jsxs)(`div`,{className:`px-3 pb-3 space-y-3 border-t border-(--red-6)/40 pt-3`,children:[(0,B.jsx)(U,{input:i}),a&&(0,B.jsxs)(`div`,{children:[(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-(--red-11) mb-1`,children:`Error`}),(0,B.jsx)(`pre`,{className:`bg-(--red-2) border border-(--red-6) rounded p-2 text-xs text-(--red-11) leading-relaxed overflow-auto scrollbar-thin max-h-64 whitespace-pre-wrap`,children:a})]})]}),t[20]=a,t[21]=i,t[22]=c,t[23]=T):T=t[23];let E;return t[24]!==w||t[25]!==T||t[26]!==m?(E=(0,B.jsxs)(`div`,{className:m,children:[w,T]}),t[24]=w,t[25]=T,t[26]=m,t[27]=E):E=t[27],E};function K(e){return!e}function q(e){return e==null||typeof e==`object`&&l(e)}var J=i({status:a().default(`success`),auth_required:o().default(!1),action_url:s().optional(),next_steps:s().optional(),meta:s().optional(),message:a().nullish()}),Y=e=>{let t=(0,R.c)(12),{data:r}=e,i;if(t[0]!==r){let{status:e,auth_required:a,action_url:o,meta:s,next_steps:c,message:l,...u}=r,d;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,B.jsx)(`h3`,{className:`text-xs font-semibold text-muted-foreground`,children:`Tool Result`}),t[2]=d):d=t[2];let f;t[3]===e?f=t[4]:(f=(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--grass-2) text-(--grass-11) rounded-full font-medium capitalize`,children:e}),t[3]=e,t[4]=f);let p;t[5]===a?p=t[6]:(p=a&&(0,B.jsx)(`span`,{className:`text-xs px-2 py-0.5 bg-(--amber-2) text-(--amber-11) rounded-full`,children:`Auth Required`}),t[5]=a,t[6]=p);let m;t[7]!==f||t[8]!==p?(m=(0,B.jsxs)(`div`,{className:`flex items-center justify-between`,children:[d,(0,B.jsxs)(`div`,{className:`flex items-center gap-2`,children:[f,p]})]}),t[7]=f,t[8]=p,t[9]=m):m=t[9];let h;t[10]===l?h=t[11]:(h=l&&(0,B.jsxs)(`div`,{className:`flex items-start gap-2`,children:[(0,B.jsx)(n,{className:`h-3 w-3 text-(--blue-11) mt-0.5 shrink-0`}),(0,B.jsx)(`div`,{className:`text-xs text-foreground`,children:l})]}),t[10]=l,t[11]=h),i=(0,B.jsxs)(`div`,{className:`flex flex-col gap-1.5`,children:[m,h,u&&(0,B.jsx)(`div`,{className:`space-y-3`,children:Object.entries(u).map(Z)})]}),t[0]=r,t[1]=i}else i=t[1];return i},X=e=>{let t=(0,R.c)(8),{result:n}=e,r;t[0]===n?r=t[1]:(r=J.safeParse(n),t[0]=n,t[1]=r);let i=r;if(i.success){let e;return t[2]===i.data?e=t[3]:(e=(0,B.jsx)(Y,{data:i.data}),t[2]=i.data,t[3]=e),e}let a;t[4]===n?a=t[5]:(a=typeof n==`string`?n:JSON.stringify(n,null,2),t[4]=n,t[5]=a);let o;return t[6]===a?o=t[7]:(o=(0,B.jsx)(`div`,{className:`text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin`,children:a}),t[6]=a,t[7]=o),o};function Z(e){let[t,n]=e;return q(n)?null:(0,B.jsxs)(`div`,{className:`space-y-1.5`,children:[(0,B.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:t}),(0,B.jsx)(`pre`,{className:`bg-(--slate-2) p-2 text-muted-foreground border border-(--slate-4) rounded text-xs overflow-auto scrollbar-thin max-h-64`,children:JSON.stringify(n,null,2)})]},t)}var ee={"input-streaming":`Generating`,"input-available":`Running`,"approval-responded":`Awaiting result`,"output-available":`Done`,"output-denied":`Denied`},te=new Set([`input-streaming`,`input-available`,`approval-responded`]),ne=e=>{let t=(0,R.c)(5),{state:n,interrupted:r}=e;if(r){let e;return t[0]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(M,{className:`h-3 w-3 text-muted-foreground`}),t[0]=e):e=t[0],e}switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[1]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(O,{className:`h-3 w-3 animate-spin`}),t[1]=e):e=t[1],e}case`output-available`:{let e;return t[2]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(u,{className:`h-3 w-3 text-(--grass-11)`}),t[2]=e):e=t[2],e}case`output-denied`:{let e;return t[3]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(x,{className:`h-3 w-3 text-muted-foreground`}),t[3]=e):e=t[3],e}default:{A(n);let e;return t[4]===Symbol.for(`react.memo_cache_sentinel`)?(e=(0,B.jsx)(k,{className:`h-3 w-3`}),t[4]=e):e=t[4],e}}};function re(e){switch(e){case`output-available`:return`text-(--grass-11)/80`;case`output-denied`:return`text-muted-foreground`;case`input-streaming`:case`input-available`:case`approval-responded`:return``;default:return A(e),``}}var Q=e=>{let t=(0,R.c)(34),{toolName:n,state:r,input:i,result:a,approval:o,index:s,className:c,isActive:l}=e,u=s===void 0?0:s,d=l===void 0||l,p;t[0]!==d||t[1]!==r?(p=!d&&te.has(r),t[0]=d,t[1]=r,t[2]=p):p=t[2];let v=p,y=`tool-${u}`,b;t[3]===c?b=t[4]:(b=f(`w-full`,c),t[3]=c,t[4]=b);let x;t[5]!==v||t[6]!==r?(x=f(`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`,v?`text-muted-foreground`:re(r)),t[5]=v,t[6]=r,t[7]=x):x=t[7];let S;t[8]!==v||t[9]!==r?(S=(0,B.jsx)(ne,{state:r,interrupted:v}),t[8]=v,t[9]=r,t[10]=S):S=t[10];let C=v?`Interrupted`:ee[r],w;t[11]===n?w=t[12]:(w=H(n),t[11]=n,t[12]=w);let T;t[13]===w?T=t[14]:(T=(0,B.jsx)(`code`,{className:`font-mono text-xs`,children:w}),t[13]=w,t[14]=T);let E;t[15]!==T||t[16]!==S||t[17]!==C?(E=(0,B.jsxs)(`span`,{className:`flex items-center gap-1`,children:[S,C,`:`,T]}),t[15]=T,t[16]=S,t[17]=C,t[18]=E):E=t[18];let D;t[19]!==E||t[20]!==x?(D=(0,B.jsx)(g,{className:x,children:E}),t[19]=E,t[20]=x,t[21]=D):D=t[21];let O;t[22]!==o||t[23]!==i||t[24]!==a||t[25]!==r?(O=(0,B.jsx)(h,{className:`py-2 px-2`,children:(0,B.jsx)(ie,{state:r,input:i,result:a,approval:o})}),t[22]=o,t[23]=i,t[24]=a,t[25]=r,t[26]=O):O=t[26];let k;t[27]!==D||t[28]!==O?(k=(0,B.jsxs)(m,{value:`tool-call`,className:`border-0`,children:[D,O]}),t[27]=D,t[28]=O,t[29]=k):k=t[29];let A;return t[30]!==k||t[31]!==y||t[32]!==b?(A=(0,B.jsx)(_,{type:`single`,collapsible:!0,className:b,children:k},y),t[30]=k,t[31]=y,t[32]=b,t[33]=A):A=t[33],A},ie=e=>{let t=(0,R.c)(16),{state:n,input:r,result:i,approval:a}=e;switch(n){case`input-streaming`:case`input-available`:case`approval-responded`:{let e;return t[0]===r?e=t[1]:(e=(0,B.jsx)(U,{input:r}),t[0]=r,t[1]=e),e}case`output-available`:{let e;t[2]===r?e=t[3]:(e=(0,B.jsx)(U,{input:r}),t[2]=r,t[3]=e);let n;t[4]===i?n=t[5]:(n=i!=null&&(0,B.jsx)(X,{result:i}),t[4]=i,t[5]=n);let a;return t[6]!==e||t[7]!==n?(a=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,n]}),t[6]=e,t[7]=n,t[8]=a):a=t[8],a}case`output-denied`:{let e;t[9]===r?e=t[10]:(e=(0,B.jsx)(U,{input:r}),t[9]=r,t[10]=e);let n=a?.reason?`: ${a.reason}`:`.`,i;t[11]===n?i=t[12]:(i=(0,B.jsxs)(`div`,{className:`bg-muted/40 border border-border rounded-md p-3 text-xs text-muted-foreground leading-relaxed`,children:[`Tool execution was denied`,n]}),t[11]=n,t[12]=i);let o;return t[13]!==e||t[14]!==i?(o=(0,B.jsxs)(`div`,{className:`space-y-3`,children:[e,i]}),t[13]=e,t[14]=i,t[15]=o):o=t[15],o}default:return A(n),null}},$=e=>{let t=(0,R.c)(27),{toolName:n,state:r,result:i,errorText:a,input:o,approval:s,onApprove:c,index:l,className:u,isLive:d,isActive:f}=e,p=d===void 0||d,m=f===void 0||f;switch(r){case`approval-requested`:{if(s!=null&&c!=null){let e;return t[0]!==s||t[1]!==u||t[2]!==o||t[3]!==c||t[4]!==n?(e=(0,B.jsx)(W,{toolName:n,input:o,approval:s,onApprove:c,className:u}),t[0]=s,t[1]=u,t[2]=o,t[3]=c,t[4]=n,t[5]=e):e=t[5],e}let e;return t[6]!==u||t[7]!==l||t[8]!==o||t[9]!==m||t[10]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:`input-available`,input:o,index:l,className:u,isActive:m}),t[6]=u,t[7]=l,t[8]=o,t[9]=m,t[10]=n,t[11]=e):e=t[11],e}case`output-error`:{let e;return t[12]!==u||t[13]!==a||t[14]!==o||t[15]!==p||t[16]!==n?(e=(0,B.jsx)(G,{toolName:n,input:o,errorText:a,isLive:p,className:u}),t[12]=u,t[13]=a,t[14]=o,t[15]=p,t[16]=n,t[17]=e):e=t[17],e}case`input-streaming`:case`input-available`:case`approval-responded`:case`output-available`:case`output-denied`:{let e;return t[18]!==s||t[19]!==u||t[20]!==l||t[21]!==o||t[22]!==m||t[23]!==i||t[24]!==r||t[25]!==n?(e=(0,B.jsx)(Q,{toolName:n,state:r,input:o,result:i,approval:s,index:l,className:u,isActive:m}),t[18]=s,t[19]=u,t[20]=l,t[21]=o,t[22]=m,t[23]=i,t[24]=r,t[25]=n,t[26]=e):e=t[26],e}default:return A(r),null}},ae=({message:e,isStreamingReasoning:t,isLast:n,isActive:r,addToolApprovalResponse:i})=>{return(0,B.jsx)(B.Fragment,{children:e.parts.map((e,t)=>a(e,t))});function a(a,o){if(oe(a))return(0,B.jsx)($,{index:o,toolName:a.type,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,className:`my-2`,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);if(se(a))return d.debug(`Found data part`,a),null;switch(a.type){case`text`:return a.text.includes(`<marimo-`)?(0,B.jsx)(z.Fragment,{children:j({html:a.text})},o):(0,B.jsx)(w,{content:a.text},o);case`reasoning`:return(0,B.jsx)(V,{reasoning:a.text,index:o,isStreaming:t&&n&&o===(e.parts.length||0)-1},o);case`file`:return(0,B.jsx)(E,{attachment:a},o);case`reasoning-file`:return(0,B.jsx)(E,{attachment:{type:`file`,mediaType:a.mediaType,url:a.url}},o);case`dynamic-tool`:return(0,B.jsx)($,{toolName:a.toolName,result:a.output,errorText:a.state===`output-error`?a.errorText:void 0,state:a.state,input:a.input,approval:a.approval,onApprove:i,isLive:n,isActive:r},o);case`source-document`:return(0,B.jsx)(T,{icon:(0,B.jsx)(b,{className:`h-3 w-3 shrink-0`}),title:a.title,subtitle:a.filename},o);case`source-url`:return(0,B.jsx)(T,{icon:(0,B.jsx)(D,{className:`h-3 w-3 shrink-0`}),title:a.title??a.url,subtitle:a.title?a.url:void 0,href:a.url},o);case`custom`:return(0,B.jsx)(`div`,{className:`text-sm text-muted-foreground`,children:a.kind},o);case`step-start`:return null;default:return A(a),null}}};function oe(e){return e.type.startsWith(`tool-`)}function se(e){return e.type.startsWith(`data-`)}export{I as i,L as n,F as r,ae as t};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,l as r,t as i,u as a}from"./useEvent-Dc9HkKI2.js";import{t as o}from"./react-CUdNIagt.js";import{D as s,Zn as c,ao as l,br as u,cn as d,dn as f,qa as p,un as m}from"./cells-h5u00Nz8.js";import{t as h}from"./compiler-runtime-BQ9S8nyo.js";import{i as g,t as _}from"./config-Cyum2gRs.js";import{M as v,c as y,h as b,m as x,p as S,r as C,t as w}from"./ai-model-dropdown-BIeRPKed.js";import{g as T,o as E}from"./useEventListener-IRzG-0mH.js";import{M as D,o as O}from"./config-BAnYSdpO.js";import{t as k}from"./cn-ldLVeaqm.js";import{t as A}from"./jsx-runtime-B74pBk57.js";import{C as j,S as M,T as N,b as P,v as F,w as I}from"./fullscreen-DEBblJKh.js";import{u as L}from"./menu-items-DAaNKHJF.js";import{t as ee}from"./config-CR2d-XsP.js";import{a as R,i as z,m as te,n as ne,r as re,s as ie,t as ae}from"./select-BwRFbZty.js";import{t as oe}from"./switch-C-83e2fG.js";import{i as se,t as B}from"./tooltip-B5pI8o2n.js";import{t as V}from"./button-M49xxKoi.js";import{t as H}from"./createLucideIcon-rHn2EdoM.js";import{t as ce}from"./arrow-right-xoNT7eIQ.js";import{t as le}from"./bot-message-square-BfGaNy9r.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-DzTkUWMw.js";import{B as me,C as he,D as ge,E as _e,N as ve,R as ye,S as be,U as xe,_ as Se,b as Ce,c as U,d as we,f as Te,g as Ee,h as De,k as Oe,l as W,m as ke,n as Ae,u as G,v as je,w as Me,x as Ne,y as Pe,z as Fe}from"./add-cell-with-ai-D20NyZO4.js";import{t as Ie}from"./code-DW4kNwKG.js";import{t as Le}from"./hat-glasses-DVgK5i5l.js";import{b as Re,p as ze}from"./write-secret-modal-BcosCmZy.js";import{n as Be}from"./spinner-CGdRKCnw.js";import{t as Ve}from"./message-circle-OTHnVlxO.js";import{t as K}from"./plus-gbN72xHe.js";import{r as He,rn as Ue}from"./input-DPd57MDP.js";import{t as We}from"./settings-DlKTeV_0.js";import{t as Ge}from"./copy-icon-wfSGfX8v.js";import{r as Ke}from"./requests-yTHMxhVa.js";import{t as qe}from"./uuid-k9DpjH68.js";import{t as Je}from"./I18nProvider-BFOBKCJB.js";import{s as Ye}from"./dates-BgcKUsHb.js";import{i as Xe,o as Ze,r as Qe,t as $e}from"./state-BxJ_FX3k.js";import{n as et}from"./error-banner-D1_bPN9u.js";import{t as tt}from"./empty-state-CzxjZqGW.js";import{t as nt}from"./scroll-to-bottom-button-Dmrd5bjQ.js";var q=e(o(),1),J=A(),rt=Object.defineProperty,Y=(e,t)=>rt(e,`name`,{value:t,configurable:!0});function it(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}Y(it,`useStateMachine`);var at=`ScrollArea`,[ot,st]=I(at),[ct,X]=ot(at),lt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=q.useState(null),[l,u]=q.useState(null),[d,f]=q.useState(null),[p,m]=q.useState(null),[h,g]=q.useState(null),[_,v]=q.useState(0),[y,b]=q.useState(0),[x,S]=q.useState(!1),[C,w]=q.useState(!1),T=E(t,c),D=L(i);return(0,J.jsx)(ct,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:w,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,J.jsx)(N.div,{dir:D,...o,ref:T,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})},`ScrollArea`)),ut=`ScrollAreaViewport`,dt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ut,n),s=q.useRef(null),c=E(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ft,{nonce:i}),(0,J.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,J.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),ft=q.memo(Y(function({nonce:e}){return(0,J.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:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),Z=`ScrollAreaScrollbar`,pt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return q.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,J.jsx)(mt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(ht,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(gt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(_t,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),mt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),[a,o]=q.useState(!1);return q.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=Y(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=Y(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,J.jsx)(P,{present:n||a,children:(0,J.jsx)(gt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),ht=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Lt(()=>c(`SCROLL_END`),100),[s,c]=it(`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 q.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),q.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=Y(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,J.jsx)(P,{present:n||s!==`hidden`,children:(0,J.jsx)(_t,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:j(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:j(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),gt=q.forwardRef(Y(function(e,t){let n=X(Z,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=q.useState(!1),s=e.orientation===`horizontal`,c=Lt(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Q(n.viewport,c),Q(n.content,c),(0,J.jsx)(P,{present:r||a,children:(0,J.jsx)(_t,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),_t=q.forwardRef(Y(function(e,t){let{orientation:n=`vertical`,...r}=e,i=X(Z,e.__scopeScrollArea),a=q.useRef(null),o=q.useRef(0),[s,c]=q.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=At(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:Y(e=>a.current=e,`onThumbChange`),onThumbPointerUp:Y(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:Y(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Mt(e,o.current,s,t)}return Y(d,`getScrollPosition`),n===`horizontal`?(0,J.jsx)(vt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Nt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,J.jsx)(yt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Nt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),vt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,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":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:kt(o.paddingLeft),paddingEnd:kt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),yt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`vertical`,...i,ref:l,sizes:n,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":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:kt(o.paddingTop),paddingEnd:kt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[bt,xt]=ot(Z),St=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=X(Z,n),[m,h]=q.useState(null),g=E(t,h),_=q.useRef(null),v=q.useRef(``),y=p.viewport,b=r.content-r.viewport,x=F(u),S=F(c),C=Lt(d,10);function w(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return Y(w,`handleDragScroll`),q.useEffect(()=>{let e=Y(e=>{let t=e.target;m?.contains(t)&&x(e,b)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),q.useEffect(S,[r,S]),Q(m,C),Q(p.content,C),(0,J.jsx)(bt,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:F(a),onThumbPointerUp:F(o),onThumbPositionChange:S,onThumbPointerDown:F(s),children:(0,J.jsx)(N.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:j(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),w(e))}),onPointerMove:j(e.onPointerMove,w),onPointerUp:j(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})},`ScrollAreaScrollbarImpl`)),Ct=`ScrollAreaThumb`,wt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=xt(Ct,e.__scopeScrollArea);return(0,J.jsx)(P,{present:n||i.hasThumb,children:(0,J.jsx)(Tt,{ref:t,...r})})},`ScrollAreaThumb`)),Tt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Ct,n),o=xt(Ct,n),{onThumbPositionChange:s}=o,c=E(t,o.onThumbChange),l=q.useRef(void 0),u=Lt(()=>{l.current&&=(l.current(),void 0)},100);return q.useEffect(()=>{let e=a.viewport;if(e){let t=Y(()=>{if(u(),!l.current){let t=It(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:j(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:j(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Et=`ScrollAreaCorner`,Dt=q.forwardRef(Y(function(e,t){let n=X(Et,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(Ot,{...e,ref:t}):null},`ScrollAreaCorner`)),Ot=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Et,n),[a,o]=q.useState(0),[s,c]=q.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),q.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,J.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function kt(e){return e?parseInt(e,10):0}Y(kt,`toInt`);function At(e,t){let n=e/t;return isNaN(n)?0:n}Y(At,`getThumbRatio`);function jt(e){let t=At(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}Y(jt,`getThumbSize`);function Mt(e,t,n,r=`ltr`){let i=jt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Pt([c,l],d)(e)}Y(Mt,`getScrollPositionFromPointer`);function Nt(e,t,n=`ltr`){let r=jt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=te(e,c);return Pt([0,o],[0,s])(l)}Y(Nt,`getThumbOffsetFromScroll`);function Pt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}Y(Pt,`linearScale`);function Ft(e,t){return e>0&&e<t}Y(Ft,`isScrollingWithinScrollbarBounds`);var It=Y((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return Y((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function Lt(e,t){let n=F(e),r=q.useRef(0);return q.useEffect(()=>()=>window.clearTimeout(r.current),[]),q.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}Y(Lt,`useDebounceCallback`);function Q(e,t){let n=F(t);M(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}Y(Q,`useResizeObserver`);var Rt=lt,zt=dt,Bt=Dt,Vt=H(`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`}]]),Ht=H(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$=h(),Ut=({chatState:e,chatId:t,messages:n})=>{if(!t)return T.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return T.warn(`No active chat`),e;let i=new Map(e.chats),a=Date.now();return i.set(r.id,{...r,messages:n,updatedAt:a}),{...e,chats:i}},Wt=class extends me{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},Gt=q.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=k(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(zt,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(Kt,{}),l=(0,J.jsx)(Bt,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,J.jsxs)(Rt,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});Gt.displayName=Rt.displayName;var Kt=q.forwardRef((e,t)=>{let n=(0,$.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=k(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(wt,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,J.jsx)(pt,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Kt.displayName=pt.displayName;var qt=[{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}],Jt=e=>{let t=Date.now(),n=qt.map(e=>({...e,chats:[]})),r={label:`Older`,days:1/0,chats:[]},i=e=>{switch(e){case 0:return n[0];case 1:return n[1];case 2:return n[2];case 3:return n[3];default:return e>=4&&e<=7?n[4]:e>=8&&e<=30?n[5]:r}};for(let n of e)i(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...n,r].filter(e=>e.chats.length>0)},Yt=e=>{let t=(0,$.c)(36),{activeChatId:n,setActiveChat:i}=e,a=r(Xe),{locale:o}=Je(),[s,c]=(0,q.useState)(``),u;t[0]===a.chats?u=t[1]:(u=[...a.chats.values()].toSorted(Xt),t[0]=a.chats,t[1]=u);let p=u,h;bb0:{if(!s.trim()){h=p;break bb0}let e;if(t[2]!==p||t[3]!==s){let n;t[5]===s?n=t[6]:(n=e=>e.title.toLowerCase().includes(s.toLowerCase()),t[5]=s,t[6]=n),e=p.filter(n),t[2]=p,t[3]=s,t[4]=e}else e=t[4];h=e}let g=h,_;t[7]===g?_=t[8]:(_=Jt(g),t[7]=g,t[8]=_);let v=_,y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(B,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{variant:`text`,size:`icon`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>c(e.target.value),t[10]=b):b=t[10];let x;t[11]===s?x=t[12]:(x=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(He,{placeholder:`Search chat history...`,value:s,onChange:b,className:`text-xs`})}),t[11]=s,t[12]=x);let S;t[13]===p.length?S=t[14]:(S=p.length===0&&(0,J.jsx)(tt,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(le,{})}),t[13]=p.length,t[14]=S);let C;t[15]!==p.length||t[16]!==g.length||t[17]!==s?(C=g.length===0&&s&&p.length>0&&(0,J.jsx)(tt,{title:`No chats found`,description:`No chats match "${s}"`,icon:(0,J.jsx)(Ue,{})}),t[15]=p.length,t[16]=g.length,t[17]=s,t[18]=C):C=t[18];let w;if(t[19]!==n||t[20]!==v||t[21]!==o||t[22]!==i){let e;t[24]!==n||t[25]!==v.length||t[26]!==o||t[27]!==i?(e=(e,t)=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`div`,{className:`text-xs px-1 text-muted-foreground/60`,children:e.label}),(0,J.jsx)(`div`,{children:e.chats.map(e=>(0,J.jsxs)(`button`,{className:k(`w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),onClick:()=>{i(e.id)},type:`button`,children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,J.jsx)(`div`,{className:`text-sm truncate`,children:e.title})}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ye(e.updatedAt,o)})]},e.id))}),t!==v.length-1&&(0,J.jsx)(`hr`,{})]},e.label),t[24]=n,t[25]=v.length,t[26]=o,t[27]=i,t[28]=e):e=t[28],w=v.map(e),t[19]=n,t[20]=v,t[21]=o,t[22]=i,t[23]=w}else w=t[23];let T;t[29]!==S||t[30]!==C||t[31]!==w?(T=(0,J.jsx)(Gt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w]})}),t[29]=S,t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;return t[33]!==T||t[34]!==x?(E=(0,J.jsxs)(d,{children:[y,(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[x,T]})]}),t[33]=T,t[34]=x,t[35]=E):E=t[35],E};function Xt(e,t){return t.updatedAt-e.updatedAt}var Zt=()=>{let e=(0,$.c)(17),[n,r]=t(Qe),i=n.webSearch,a=i?`Capabilities (web search enabled)`:`Capabilities`,o=i||void 0,s=i&&`bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20`,c;e[0]===s?c=e[1]:(c=k(`h-6 w-6 shrink-0 bg-muted hover:bg-muted/30`,s),e[0]=s,e[1]=c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Ht,{className:`h-3.5 w-3.5`}),e[2]=l):l=e[2];let u;e[3]!==a||e[4]!==o||e[5]!==c?(u=(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{"aria-label":`Capabilities`,title:a,"data-active":o,variant:`text`,size:`icon`,className:c,children:l})}),e[3]=a,e[4]=o,e[5]=c,e[6]=u):u=e[6];let p;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Web search`}),e[7]=p):p=e[7];let h;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[p,(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Search the web when the model supports it.`,` `,(0,J.jsx)(ze,{href:`https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch`,children:`Learn more`})]})]}),e[8]=h):h=e[8];let g;e[9]===r?g=e[10]:(g=e=>r(t=>({...t,webSearch:e})),e[9]=r,e[10]=g);let _;e[11]!==g||e[12]!==i?(_=(0,J.jsx)(m,{className:`w-76 p-3`,align:`start`,side:`top`,children:(0,J.jsxs)(`label`,{htmlFor:`web-search-toggle`,className:`flex items-start justify-between gap-3 cursor-pointer`,children:[h,(0,J.jsx)(oe,{id:`web-search-toggle`,"aria-label":`Web search`,size:`sm`,checked:i,onCheckedChange:g})]})}),e[11]=g,e[12]=i,e[13]=_):_=e[13];let v;return e[14]!==u||e[15]!==_?(v=(0,J.jsxs)(d,{children:[u,_]}),e[14]=u,e[15]=_,e[16]=v):v=e[16],v};function Qt(){return qe()}function $t(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(Qt),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(Qt()),t[0]=a):a=t[0];let o=i(a),s=e??n,c;return t[1]!==o||t[2]!==s?(c={chatControllerId:s,renewDraftChatId:o},t[1]=o,t[2]=s,t[3]=c):c=t[3],c}var en=`manual`,tn=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(un).map(dn).join(`
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{c as t,d as n,l as r,t as i,u as a}from"./useEvent-Dc9HkKI2.js";import{t as o}from"./react-CUdNIagt.js";import{D as s,Zn as c,ao as l,br as u,cn as d,dn as f,qa as p,un as m}from"./cells-CxY8RSp7.js";import{t as h}from"./compiler-runtime-BQ9S8nyo.js";import{i as g,t as _}from"./config-Cyum2gRs.js";import{M as v,c as y,h as b,m as x,p as S,r as C,t as w}from"./ai-model-dropdown-CvJsRj9y.js";import{g as T,o as E}from"./useEventListener-IRzG-0mH.js";import{M as D,o as O}from"./config-D_c_6ce1.js";import{t as k}from"./cn-ldLVeaqm.js";import{t as A}from"./jsx-runtime-B74pBk57.js";import{C as j,S as M,T as N,b as P,v as F,w as I}from"./fullscreen-DEBblJKh.js";import{u as L}from"./menu-items-DAaNKHJF.js";import{t as ee}from"./config-CR2d-XsP.js";import{a as R,i as z,m as te,n as ne,r as re,s as ie,t as ae}from"./select-BwRFbZty.js";import{t as oe}from"./switch-C-83e2fG.js";import{i as se,t as B}from"./tooltip-B5pI8o2n.js";import{t as V}from"./button-M49xxKoi.js";import{t as H}from"./createLucideIcon-rHn2EdoM.js";import{t as ce}from"./arrow-right-xoNT7eIQ.js";import{t as le}from"./bot-message-square-BfGaNy9r.js";import{i as ue,n as de,r as fe,t as pe}from"./chat-display-YETh6yXV.js";import{B as me,C as he,D as ge,E as _e,N as ve,R as ye,S as be,U as xe,_ as Se,b as Ce,c as U,d as we,f as Te,g as Ee,h as De,k as Oe,l as W,m as ke,n as Ae,u as G,v as je,w as Me,x as Ne,y as Pe,z as Fe}from"./add-cell-with-ai-Wyt6GBhk.js";import{t as Ie}from"./code-DW4kNwKG.js";import{t as Le}from"./hat-glasses-DVgK5i5l.js";import{b as Re,p as ze}from"./write-secret-modal-BcosCmZy.js";import{n as Be}from"./spinner-CGdRKCnw.js";import{t as Ve}from"./message-circle-OTHnVlxO.js";import{t as K}from"./plus-gbN72xHe.js";import{r as He,rn as Ue}from"./input-DPd57MDP.js";import{t as We}from"./settings-DlKTeV_0.js";import{t as Ge}from"./copy-icon-wfSGfX8v.js";import{r as Ke}from"./requests-yTHMxhVa.js";import{t as qe}from"./uuid-k9DpjH68.js";import{t as Je}from"./I18nProvider-BFOBKCJB.js";import{s as Ye}from"./dates-BgcKUsHb.js";import{i as Xe,o as Ze,r as Qe,t as $e}from"./state-B85OOscw.js";import{n as et}from"./error-banner-D1_bPN9u.js";import{t as tt}from"./empty-state-CzxjZqGW.js";import{t as nt}from"./scroll-to-bottom-button-Dmrd5bjQ.js";var q=e(o(),1),J=A(),rt=Object.defineProperty,Y=(e,t)=>rt(e,`name`,{value:t,configurable:!0});function it(e,t){return q.useReducer((e,n)=>t[e][n]??e,e)}Y(it,`useStateMachine`);var at=`ScrollArea`,[ot,st]=I(at),[ct,X]=ot(at),lt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,type:r=`hover`,dir:i,scrollHideDelay:a=600,...o}=e,[s,c]=q.useState(null),[l,u]=q.useState(null),[d,f]=q.useState(null),[p,m]=q.useState(null),[h,g]=q.useState(null),[_,v]=q.useState(0),[y,b]=q.useState(0),[x,S]=q.useState(!1),[C,w]=q.useState(!1),T=E(t,c),D=L(i);return(0,J.jsx)(ct,{scope:n,type:r,dir:D,scrollHideDelay:a,scrollArea:s,viewport:l,onViewportChange:u,content:d,onContentChange:f,scrollbarX:p,onScrollbarXChange:m,scrollbarXEnabled:x,onScrollbarXEnabledChange:S,scrollbarY:h,onScrollbarYChange:g,scrollbarYEnabled:C,onScrollbarYEnabledChange:w,onCornerWidthChange:v,onCornerHeightChange:b,children:(0,J.jsx)(N.div,{dir:D,...o,ref:T,style:{position:`relative`,"--radix-scroll-area-corner-width":_+`px`,"--radix-scroll-area-corner-height":y+`px`,...e.style}})})},`ScrollArea`)),ut=`ScrollAreaViewport`,dt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,children:r,nonce:i,...a}=e,o=X(ut,n),s=q.useRef(null),c=E(t,s,o.onViewportChange);return(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)(ft,{nonce:i}),(0,J.jsx)(N.div,{"data-radix-scroll-area-viewport":``,...a,ref:c,style:{overflowX:o.scrollbarXEnabled?`scroll`:`hidden`,overflowY:o.scrollbarYEnabled?`scroll`:`hidden`,...e.style},children:(0,J.jsx)(`div`,{ref:o.onContentChange,style:{minWidth:`100%`,display:`table`},children:r})})]})},`ScrollAreaViewport`)),ft=q.memo(Y(function({nonce:e}){return(0,J.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:e})},`ScrollAreaViewportStyle`),(e,t)=>e.nonce===t.nonce),Z=`ScrollAreaScrollbar`,pt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),{onScrollbarXEnabledChange:a,onScrollbarYEnabledChange:o}=i,s=e.orientation===`horizontal`;return q.useEffect(()=>(s?a(!0):o(!0),()=>{s?a(!1):o(!1)}),[s,a,o]),i.type===`hover`?(0,J.jsx)(mt,{...r,ref:t,forceMount:n}):i.type===`scroll`?(0,J.jsx)(ht,{...r,ref:t,forceMount:n}):i.type===`auto`?(0,J.jsx)(gt,{...r,ref:t,forceMount:n}):i.type===`always`?(0,J.jsx)(_t,{...r,ref:t,"data-state":`visible`}):null},`ScrollAreaScrollbar`)),mt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),[a,o]=q.useState(!1);return q.useEffect(()=>{let e=i.scrollArea,t=0;if(e){let n=Y(()=>{window.clearTimeout(t),o(!0)},`handlePointerEnter`),r=Y(()=>{t=window.setTimeout(()=>o(!1),i.scrollHideDelay)},`handlePointerLeave`);return e.addEventListener(`pointerenter`,n),e.addEventListener(`pointerleave`,r),()=>{window.clearTimeout(t),e.removeEventListener(`pointerenter`,n),e.removeEventListener(`pointerleave`,r)}}},[i.scrollArea,i.scrollHideDelay]),(0,J.jsx)(P,{present:n||a,children:(0,J.jsx)(gt,{"data-state":a?`visible`:`hidden`,...r,ref:t})})},`ScrollAreaScrollbarHover`)),ht=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=X(Z,e.__scopeScrollArea),a=e.orientation===`horizontal`,o=Lt(()=>c(`SCROLL_END`),100),[s,c]=it(`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 q.useEffect(()=>{if(s===`idle`){let e=window.setTimeout(()=>c(`HIDE`),i.scrollHideDelay);return()=>window.clearTimeout(e)}},[s,i.scrollHideDelay,c]),q.useEffect(()=>{let e=i.viewport,t=a?`scrollLeft`:`scrollTop`;if(e){let n=e[t],r=Y(()=>{let r=e[t];n!==r&&(c(`SCROLL`),o()),n=r},`handleScroll`);return e.addEventListener(`scroll`,r),()=>e.removeEventListener(`scroll`,r)}},[i.viewport,a,c,o]),(0,J.jsx)(P,{present:n||s!==`hidden`,children:(0,J.jsx)(_t,{"data-state":s===`hidden`?`hidden`:`visible`,...r,ref:t,onPointerEnter:j(e.onPointerEnter,()=>c(`POINTER_ENTER`)),onPointerLeave:j(e.onPointerLeave,()=>c(`POINTER_LEAVE`))})})},`ScrollAreaScrollbarScroll`)),gt=q.forwardRef(Y(function(e,t){let n=X(Z,e.__scopeScrollArea),{forceMount:r,...i}=e,[a,o]=q.useState(!1),s=e.orientation===`horizontal`,c=Lt(()=>{if(n.viewport){let e=n.viewport.offsetWidth<n.viewport.scrollWidth,t=n.viewport.offsetHeight<n.viewport.scrollHeight;o(s?e:t)}},10);return Q(n.viewport,c),Q(n.content,c),(0,J.jsx)(P,{present:r||a,children:(0,J.jsx)(_t,{"data-state":a?`visible`:`hidden`,...i,ref:t})})},`ScrollAreaScrollbarAuto`)),_t=q.forwardRef(Y(function(e,t){let{orientation:n=`vertical`,...r}=e,i=X(Z,e.__scopeScrollArea),a=q.useRef(null),o=q.useRef(0),[s,c]=q.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),l=At(s.viewport,s.content),u={...r,sizes:s,onSizesChange:c,hasThumb:l>0&&l<1,onThumbChange:Y(e=>a.current=e,`onThumbChange`),onThumbPointerUp:Y(()=>o.current=0,`onThumbPointerUp`),onThumbPointerDown:Y(e=>o.current=e,`onThumbPointerDown`)};function d(e,t){return Mt(e,o.current,s,t)}return Y(d,`getScrollPosition`),n===`horizontal`?(0,J.jsx)(vt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollLeft,t=Nt(e,s,i.dir);a.current.style.transform=`translate3d(${t}px, 0, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollLeft=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollLeft=d(e,i.dir))}}):n===`vertical`?(0,J.jsx)(yt,{...u,ref:t,onThumbPositionChange:()=>{if(i.viewport&&a.current){let e=i.viewport.scrollTop,t=Nt(e,s);a.current.style.transform=`translate3d(0, ${t}px, 0)`}},onWheelScroll:e=>{i.viewport&&(i.viewport.scrollTop=e)},onDragScroll:e=>{i.viewport&&(i.viewport.scrollTop=d(e))}}):null},`ScrollAreaScrollbarVisible`)),vt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarXChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`horizontal`,...i,ref:l,sizes:n,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":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.x),onDragScroll:t=>e.onDragScroll(t.x),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollLeft+t.deltaX;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollWidth,viewport:a.viewport.offsetWidth,scrollbar:{size:c.current.clientWidth,paddingStart:kt(o.paddingLeft),paddingEnd:kt(o.paddingRight)}})}})},`ScrollAreaScrollbarX`)),yt=q.forwardRef(Y(function(e,t){let{sizes:n,onSizesChange:r,...i}=e,a=X(Z,e.__scopeScrollArea),[o,s]=q.useState(),c=q.useRef(null),l=E(t,c,a.onScrollbarYChange);return q.useEffect(()=>{c.current&&s(getComputedStyle(c.current))},[c]),(0,J.jsx)(St,{"data-orientation":`vertical`,...i,ref:l,sizes:n,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":jt(n)+`px`,...e.style},onThumbPointerDown:t=>e.onThumbPointerDown(t.y),onDragScroll:t=>e.onDragScroll(t.y),onWheelScroll:(t,n)=>{if(a.viewport){let r=a.viewport.scrollTop+t.deltaY;e.onWheelScroll(r),Ft(r,n)&&t.preventDefault()}},onResize:()=>{c.current&&a.viewport&&o&&r({content:a.viewport.scrollHeight,viewport:a.viewport.offsetHeight,scrollbar:{size:c.current.clientHeight,paddingStart:kt(o.paddingTop),paddingEnd:kt(o.paddingBottom)}})}})},`ScrollAreaScrollbarY`)),[bt,xt]=ot(Z),St=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,sizes:r,hasThumb:i,onThumbChange:a,onThumbPointerUp:o,onThumbPointerDown:s,onThumbPositionChange:c,onDragScroll:l,onWheelScroll:u,onResize:d,...f}=e,p=X(Z,n),[m,h]=q.useState(null),g=E(t,h),_=q.useRef(null),v=q.useRef(``),y=p.viewport,b=r.content-r.viewport,x=F(u),S=F(c),C=Lt(d,10);function w(e){if(_.current){let t=e.clientX-_.current.left,n=e.clientY-_.current.top;l({x:t,y:n})}}return Y(w,`handleDragScroll`),q.useEffect(()=>{let e=Y(e=>{let t=e.target;m?.contains(t)&&x(e,b)},`handleWheel`);return document.addEventListener(`wheel`,e,{passive:!1}),()=>document.removeEventListener(`wheel`,e,{passive:!1})},[y,m,b,x]),q.useEffect(S,[r,S]),Q(m,C),Q(p.content,C),(0,J.jsx)(bt,{scope:n,scrollbar:m,hasThumb:i,onThumbChange:F(a),onThumbPointerUp:F(o),onThumbPositionChange:S,onThumbPointerDown:F(s),children:(0,J.jsx)(N.div,{...f,ref:g,style:{position:`absolute`,...f.style},onPointerDown:j(e.onPointerDown,e=>{e.button===0&&(e.target.setPointerCapture(e.pointerId),_.current=m.getBoundingClientRect(),v.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect=`none`,p.viewport&&(p.viewport.style.scrollBehavior=`auto`),w(e))}),onPointerMove:j(e.onPointerMove,w),onPointerUp:j(e.onPointerUp,e=>{let t=e.target;t.hasPointerCapture(e.pointerId)&&t.releasePointerCapture(e.pointerId),document.body.style.webkitUserSelect=v.current,p.viewport&&(p.viewport.style.scrollBehavior=``),_.current=null})})})},`ScrollAreaScrollbarImpl`)),Ct=`ScrollAreaThumb`,wt=q.forwardRef(Y(function(e,t){let{forceMount:n,...r}=e,i=xt(Ct,e.__scopeScrollArea);return(0,J.jsx)(P,{present:n||i.hasThumb,children:(0,J.jsx)(Tt,{ref:t,...r})})},`ScrollAreaThumb`)),Tt=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,style:r,...i}=e,a=X(Ct,n),o=xt(Ct,n),{onThumbPositionChange:s}=o,c=E(t,o.onThumbChange),l=q.useRef(void 0),u=Lt(()=>{l.current&&=(l.current(),void 0)},100);return q.useEffect(()=>{let e=a.viewport;if(e){let t=Y(()=>{if(u(),!l.current){let t=It(e,s);l.current=t,s()}},`handleScroll`);return s(),e.addEventListener(`scroll`,t),()=>e.removeEventListener(`scroll`,t)}},[a.viewport,u,s]),(0,J.jsx)(N.div,{"data-state":o.hasThumb?`visible`:`hidden`,...i,ref:c,style:{width:`var(--radix-scroll-area-thumb-width)`,height:`var(--radix-scroll-area-thumb-height)`,...r},onPointerDownCapture:j(e.onPointerDownCapture,e=>{let t=e.target.getBoundingClientRect(),n=e.clientX-t.left,r=e.clientY-t.top;o.onThumbPointerDown({x:n,y:r})}),onPointerUp:j(e.onPointerUp,o.onThumbPointerUp)})},`ScrollAreaThumbImpl`)),Et=`ScrollAreaCorner`,Dt=q.forwardRef(Y(function(e,t){let n=X(Et,e.__scopeScrollArea),r=!!(n.scrollbarX&&n.scrollbarY);return n.type!==`scroll`&&r?(0,J.jsx)(Ot,{...e,ref:t}):null},`ScrollAreaCorner`)),Ot=q.forwardRef(Y(function(e,t){let{__scopeScrollArea:n,...r}=e,i=X(Et,n),[a,o]=q.useState(0),[s,c]=q.useState(0),l=!!(a&&s),{onCornerWidthChange:u,onCornerHeightChange:d}=i;return Q(i.scrollbarX,()=>{let e=i.scrollbarX?.offsetHeight||0;i.onCornerHeightChange(e),c(e)}),Q(i.scrollbarY,()=>{let e=i.scrollbarY?.offsetWidth||0;i.onCornerWidthChange(e),o(e)}),q.useEffect(()=>()=>{u(0),d(0)},[u,d]),l?(0,J.jsx)(N.div,{...r,ref:t,style:{width:a,height:s,position:`absolute`,right:i.dir===`ltr`?0:void 0,left:i.dir===`rtl`?0:void 0,bottom:0,...e.style}}):null},`ScrollAreaCornerImpl`));function kt(e){return e?parseInt(e,10):0}Y(kt,`toInt`);function At(e,t){let n=e/t;return isNaN(n)?0:n}Y(At,`getThumbRatio`);function jt(e){let t=At(e.viewport,e.content),n=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,r=(e.scrollbar.size-n)*t;return Math.max(r,18)}Y(jt,`getThumbSize`);function Mt(e,t,n,r=`ltr`){let i=jt(n),a=i/2,o=t||a,s=i-o,c=n.scrollbar.paddingStart+o,l=n.scrollbar.size-n.scrollbar.paddingEnd-s,u=n.content-n.viewport,d=r===`ltr`?[0,u]:[u*-1,0];return Pt([c,l],d)(e)}Y(Mt,`getScrollPositionFromPointer`);function Nt(e,t,n=`ltr`){let r=jt(t),i=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,a=t.scrollbar.size-i,o=t.content-t.viewport,s=a-r,c=n===`ltr`?[0,o]:[o*-1,0],l=te(e,c);return Pt([0,o],[0,s])(l)}Y(Nt,`getThumbOffsetFromScroll`);function Pt(e,t){return n=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let r=(t[1]-t[0])/(e[1]-e[0]);return t[0]+r*(n-e[0])}}Y(Pt,`linearScale`);function Ft(e,t){return e>0&&e<t}Y(Ft,`isScrollingWithinScrollbarBounds`);var It=Y((e,t=()=>{})=>{let n={left:e.scrollLeft,top:e.scrollTop},r=0;return Y((function i(){let a={left:e.scrollLeft,top:e.scrollTop},o=n.left!==a.left,s=n.top!==a.top;(o||s)&&t(),n=a,r=window.requestAnimationFrame(i)}),`loop`)(),()=>window.cancelAnimationFrame(r)},`addUnlinkedScrollListener`);function Lt(e,t){let n=F(e),r=q.useRef(0);return q.useEffect(()=>()=>window.clearTimeout(r.current),[]),q.useCallback(()=>{window.clearTimeout(r.current),r.current=window.setTimeout(n,t)},[n,t])}Y(Lt,`useDebounceCallback`);function Q(e,t){let n=F(t);M(()=>{let t=0;if(e){let r=new ResizeObserver(()=>{cancelAnimationFrame(t),t=window.requestAnimationFrame(n)});return r.observe(e),()=>{window.cancelAnimationFrame(t),r.unobserve(e)}}},[e,n])}Y(Q,`useResizeObserver`);var Rt=lt,zt=dt,Bt=Dt,Vt=H(`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`}]]),Ht=H(`sliders-horizontal`,[[`path`,{d:`M10 5H3`,key:`1qgfaw`}],[`path`,{d:`M12 19H3`,key:`yhmn1j`}],[`path`,{d:`M14 3v4`,key:`1sua03`}],[`path`,{d:`M16 17v4`,key:`1q0r14`}],[`path`,{d:`M21 12h-9`,key:`1o4lsq`}],[`path`,{d:`M21 19h-5`,key:`1rlt1p`}],[`path`,{d:`M21 5h-7`,key:`1oszz2`}],[`path`,{d:`M8 10v4`,key:`tgpxqk`}],[`path`,{d:`M8 12H3`,key:`a7s4jb`}]]),$=h(),Ut=({chatState:e,chatId:t,messages:n})=>{if(!t)return T.warn(`No active chat`),e;let r=e.chats.get(t);if(!r)return T.warn(`No active chat`),e;let i=new Map(e.chats),a=Date.now();return i.set(r.id,{...r,messages:n,updatedAt:a}),{...e,chats:i}},Wt=class extends me{onChunkReceived;constructor(e,t){super(e),this.onChunkReceived=t}processResponseStream(e){let t=this.onChunkReceived;return super.processResponseStream(e).pipeThrough(new TransformStream({async transform(e,n){t(e),n.enqueue(e)}}))}},Gt=q.forwardRef((e,t)=>{let n=(0,$.c)(15),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:i,children:r,...a}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o;n[4]===i?o=n[5]:(o=k(`relative overflow-hidden`,i),n[4]=i,n[5]=o);let s;n[6]===r?s=n[7]:(s=(0,J.jsx)(zt,{className:`h-full w-full rounded-[inherit]`,children:r}),n[6]=r,n[7]=s);let c,l;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(Kt,{}),l=(0,J.jsx)(Bt,{}),n[8]=c,n[9]=l):(c=n[8],l=n[9]);let u;return n[10]!==a||n[11]!==t||n[12]!==o||n[13]!==s?(u=(0,J.jsxs)(Rt,{ref:t,className:o,...a,children:[s,c,l]}),n[10]=a,n[11]=t,n[12]=o,n[13]=s,n[14]=u):u=n[14],u});Gt.displayName=Rt.displayName;var Kt=q.forwardRef((e,t)=>{let n=(0,$.c)(14),r,i,a;n[0]===e?(r=n[1],i=n[2],a=n[3]):({className:r,orientation:a,...i}=e,n[0]=e,n[1]=r,n[2]=i,n[3]=a);let o=a===void 0?`vertical`:a,s=o===`vertical`&&`h-full w-2.5 border-l border-l-transparent p-px`,c=o===`horizontal`&&`h-2.5 flex-col border-t border-t-transparent p-px`,l;n[4]!==r||n[5]!==s||n[6]!==c?(l=k(`flex touch-none select-none transition-colors`,s,c,r),n[4]=r,n[5]=s,n[6]=c,n[7]=l):l=n[7];let u;n[8]===Symbol.for(`react.memo_cache_sentinel`)?(u=(0,J.jsx)(wt,{className:`relative flex-1 rounded-full bg-border`}),n[8]=u):u=n[8];let d;return n[9]!==o||n[10]!==i||n[11]!==t||n[12]!==l?(d=(0,J.jsx)(pt,{ref:t,orientation:o,className:l,...i,children:u}),n[9]=o,n[10]=i,n[11]=t,n[12]=l,n[13]=d):d=n[13],d});Kt.displayName=pt.displayName;var qt=[{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}],Jt=e=>{let t=Date.now(),n=qt.map(e=>({...e,chats:[]})),r={label:`Older`,days:1/0,chats:[]},i=e=>{switch(e){case 0:return n[0];case 1:return n[1];case 2:return n[2];case 3:return n[3];default:return e>=4&&e<=7?n[4]:e>=8&&e<=30?n[5]:r}};for(let n of e)i(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...n,r].filter(e=>e.chats.length>0)},Yt=e=>{let t=(0,$.c)(36),{activeChatId:n,setActiveChat:i}=e,a=r(Xe),{locale:o}=Je(),[s,c]=(0,q.useState)(``),u;t[0]===a.chats?u=t[1]:(u=[...a.chats.values()].toSorted(Xt),t[0]=a.chats,t[1]=u);let p=u,h;bb0:{if(!s.trim()){h=p;break bb0}let e;if(t[2]!==p||t[3]!==s){let n;t[5]===s?n=t[6]:(n=e=>e.title.toLowerCase().includes(s.toLowerCase()),t[5]=s,t[6]=n),e=p.filter(n),t[2]=p,t[3]=s,t[4]=e}else e=t[4];h=e}let g=h,_;t[7]===g?_=t[8]:(_=Jt(g),t[7]=g,t[8]=_);let v=_,y;t[9]===Symbol.for(`react.memo_cache_sentinel`)?(y=(0,J.jsx)(B,{content:`Previous chats`,children:(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{variant:`text`,size:`icon`,children:(0,J.jsx)(l,{className:`h-4 w-4`})})})}),t[9]=y):y=t[9];let b;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(b=e=>c(e.target.value),t[10]=b):b=t[10];let x;t[11]===s?x=t[12]:(x=(0,J.jsx)(`div`,{className:`pt-3 px-3 w-full`,children:(0,J.jsx)(He,{placeholder:`Search chat history...`,value:s,onChange:b,className:`text-xs`})}),t[11]=s,t[12]=x);let S;t[13]===p.length?S=t[14]:(S=p.length===0&&(0,J.jsx)(tt,{title:`No chats yet`,description:`Start a new chat to get started`,icon:(0,J.jsx)(le,{})}),t[13]=p.length,t[14]=S);let C;t[15]!==p.length||t[16]!==g.length||t[17]!==s?(C=g.length===0&&s&&p.length>0&&(0,J.jsx)(tt,{title:`No chats found`,description:`No chats match "${s}"`,icon:(0,J.jsx)(Ue,{})}),t[15]=p.length,t[16]=g.length,t[17]=s,t[18]=C):C=t[18];let w;if(t[19]!==n||t[20]!==v||t[21]!==o||t[22]!==i){let e;t[24]!==n||t[25]!==v.length||t[26]!==o||t[27]!==i?(e=(e,t)=>(0,J.jsxs)(`div`,{className:`space-y-2`,children:[(0,J.jsx)(`div`,{className:`text-xs px-1 text-muted-foreground/60`,children:e.label}),(0,J.jsx)(`div`,{children:e.chats.map(e=>(0,J.jsxs)(`button`,{className:k(`w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between`,e.id===n&&`bg-accent`,e.id!==n&&`hover:bg-muted/20`),onClick:()=>{i(e.id)},type:`button`,children:[(0,J.jsx)(`div`,{className:`flex-1 min-w-0`,children:(0,J.jsx)(`div`,{className:`text-sm truncate`,children:e.title})}),(0,J.jsx)(`div`,{className:`text-xs text-muted-foreground/60 ml-2 shrink-0`,children:Ye(e.updatedAt,o)})]},e.id))}),t!==v.length-1&&(0,J.jsx)(`hr`,{})]},e.label),t[24]=n,t[25]=v.length,t[26]=o,t[27]=i,t[28]=e):e=t[28],w=v.map(e),t[19]=n,t[20]=v,t[21]=o,t[22]=i,t[23]=w}else w=t[23];let T;t[29]!==S||t[30]!==C||t[31]!==w?(T=(0,J.jsx)(Gt,{className:`h-[450px] p-2`,children:(0,J.jsxs)(`div`,{className:`space-y-3`,children:[S,C,w]})}),t[29]=S,t[30]=C,t[31]=w,t[32]=T):T=t[32];let E;return t[33]!==T||t[34]!==x?(E=(0,J.jsxs)(d,{children:[y,(0,J.jsxs)(m,{className:`w-[480px] p-0`,align:`start`,side:`right`,children:[x,T]})]}),t[33]=T,t[34]=x,t[35]=E):E=t[35],E};function Xt(e,t){return t.updatedAt-e.updatedAt}var Zt=()=>{let e=(0,$.c)(17),[n,r]=t(Qe),i=n.webSearch,a=i?`Capabilities (web search enabled)`:`Capabilities`,o=i||void 0,s=i&&`bg-primary/15 text-primary ring-1 ring-primary/30 opacity-100 hover:bg-primary/20`,c;e[0]===s?c=e[1]:(c=k(`h-6 w-6 shrink-0 bg-muted hover:bg-muted/30`,s),e[0]=s,e[1]=c);let l;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Ht,{className:`h-3.5 w-3.5`}),e[2]=l):l=e[2];let u;e[3]!==a||e[4]!==o||e[5]!==c?(u=(0,J.jsx)(f,{asChild:!0,children:(0,J.jsx)(V,{"aria-label":`Capabilities`,title:a,"data-active":o,variant:`text`,size:`icon`,className:c,children:l})}),e[3]=a,e[4]=o,e[5]=c,e[6]=u):u=e[6];let p;e[7]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,J.jsx)(`span`,{className:`text-sm font-semibold`,children:`Web search`}),e[7]=p):p=e[7];let h;e[8]===Symbol.for(`react.memo_cache_sentinel`)?(h=(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[p,(0,J.jsxs)(`span`,{className:`text-xs text-muted-foreground`,children:[`Search the web when the model supports it.`,` `,(0,J.jsx)(ze,{href:`https://docs.marimo.io/guides/editor_features/tools#web-search-and-fetch`,children:`Learn more`})]})]}),e[8]=h):h=e[8];let g;e[9]===r?g=e[10]:(g=e=>r(t=>({...t,webSearch:e})),e[9]=r,e[10]=g);let _;e[11]!==g||e[12]!==i?(_=(0,J.jsx)(m,{className:`w-76 p-3`,align:`start`,side:`top`,children:(0,J.jsxs)(`label`,{htmlFor:`web-search-toggle`,className:`flex items-start justify-between gap-3 cursor-pointer`,children:[h,(0,J.jsx)(oe,{id:`web-search-toggle`,"aria-label":`Web search`,size:`sm`,checked:i,onCheckedChange:g})]})}),e[11]=g,e[12]=i,e[13]=_):_=e[13];let v;return e[14]!==u||e[15]!==_?(v=(0,J.jsxs)(d,{children:[u,_]}),e[14]=u,e[15]=_,e[16]=v):v=e[16],v};function Qt(){return qe()}function $t(e){let t=(0,$.c)(4),[n,r]=(0,q.useState)(Qt),a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a=()=>r(Qt()),t[0]=a):a=t[0];let o=i(a),s=e??n,c;return t[1]!==o||t[2]!==s?(c={chatControllerId:s,renewDraftChatId:o},t[1]=o,t[2]=s,t[3]=c):c=t[3],c}var en=`manual`,tn=(0,q.memo)(e=>{let t=(0,$.c)(18),{message:n}=e,r;t[0]===n.parts?r=t[1]:(r=n.parts.filter(un).map(dn).join(`
|
|
2
2
|
`),t[0]=n.parts,t[1]=r);let i=r,a,o,s;if(t[2]!==n.parts){let e=n.parts.filter(fn);s=`flex justify-end`,a=`w-[95%] bg-background border border-dashed p-2 rounded-sm opacity-70`,o=e.map(pn),t[2]=n.parts,t[3]=a,t[4]=o,t[5]=s}else a=t[3],o=t[4],s=t[5];let c;t[6]===i?c=t[7]:(c=(0,J.jsx)(`span`,{className:`wrap-break-word`,children:i}),t[6]=i,t[7]=c);let l;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(l=(0,J.jsx)(Be,{className:`h-3.5 w-3.5 shrink-0 animate-spin`}),t[8]=l):l=t[8];let u;t[9]===c?u=t[10]:(u=(0,J.jsxs)(`div`,{className:`flex items-center justify-end gap-2 text-sm text-muted-foreground`,children:[c,l]}),t[9]=c,t[10]=u);let d;t[11]!==a||t[12]!==o||t[13]!==u?(d=(0,J.jsxs)(`div`,{className:a,children:[o,u]}),t[11]=a,t[12]=o,t[13]=u,t[14]=d):d=t[14];let f;return t[15]!==s||t[16]!==d?(f=(0,J.jsx)(`div`,{className:s,children:d}),t[15]=s,t[16]=d,t[17]=f):f=t[17],f});tn.displayName=`QueuedMessageDisplay`;var nn=e=>{let t=(0,$.c)(19),{onNewChat:n,activeChatId:r,setActiveChat:i}=e,{handleClick:a}=C(),o;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(o=(0,J.jsx)(K,{className:`h-4 w-4`}),t[0]=o):o=t[0];let s;t[1]===n?s=t[2]:(s=(0,J.jsx)(B,{content:`New chat`,children:(0,J.jsx)(V,{variant:`text`,size:`icon`,onClick:n,children:o})}),t[1]=n,t[2]=s);let c,l;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(c=(0,J.jsx)(B,{content:`Connect your agent`,children:(0,J.jsx)(x,{className:`mr-1`,label:`Connect`})}),l=(0,J.jsx)(y,{}),t[3]=c,t[4]=l):(c=t[3],l=t[4]);let u;t[5]===a?u=t[6]:(u=()=>a(`ai`),t[5]=a,t[6]=u);let d;t[7]===Symbol.for(`react.memo_cache_sentinel`)?(d=(0,J.jsx)(We,{className:`h-4 w-4`}),t[7]=d):d=t[7];let f;t[8]===u?f=t[9]:(f=(0,J.jsx)(B,{content:`AI Settings`,children:(0,J.jsx)(V,{variant:`text`,size:`xs`,className:`hover:bg-foreground/10 py-2`,onClick:u,children:d})}),t[8]=u,t[9]=f);let p;t[10]!==r||t[11]!==i?(p=(0,J.jsx)(Yt,{activeChatId:r,setActiveChat:i}),t[10]=r,t[11]=i,t[12]=p):p=t[12];let m;t[13]!==f||t[14]!==p?(m=(0,J.jsxs)(`div`,{className:`flex items-center gap-2`,children:[c,l,f,p]}),t[13]=f,t[14]=p,t[15]=m):m=t[15];let h;return t[16]!==s||t[17]!==m?(h=(0,J.jsxs)(`div`,{className:`flex border-b px-2 py-1 justify-between shrink-0 items-center`,children:[s,m]}),t[16]=s,t[17]=m,t[18]=h):h=t[18],h},rn=(0,q.memo)(e=>{let t=(0,$.c)(17),{message:n,index:r,onEdit:i,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c}=e,l;t[0]!==r||t[1]!==i?(l=e=>{let t=(e.parts?.filter(mn))?.map(hn).join(`
|
|
3
3
|
`),n=e.parts?.filter(gn);return(0,J.jsxs)(`div`,{className:`w-[95%] bg-background border p-1 rounded-sm`,children:[n?.map(_n),(0,J.jsx)(Ae,{value:t,placeholder:`Type your message...`,onChange:vn,onSubmit:(e,t)=>{t.trim()&&i(r,t)},onClose:yn},e.id)]})},t[0]=r,t[1]=i,t[2]=l):l=t[2];let u=l,d;t[3]!==c||t[4]!==s||t[5]!==o||t[6]!==a?(d=e=>{let t=e.parts.filter(bn).map(xn).join(`
|
|
4
4
|
`);return(0,J.jsxs)(`div`,{className:`w-[95%] wrap-break-word`,children:[(0,J.jsx)(`div`,{className:`absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity`,children:(0,J.jsx)(Ge,{className:`h-3 w-3`,value:t||``})}),pe({message:e,isStreamingReasoning:a,isLast:o,isActive:s,addToolApprovalResponse:c})]})},t[3]=c,t[4]=s,t[5]=o,t[6]=a,t[7]=d):d=t[7];let f=d,p=n.role===`user`?`justify-end`:`justify-start`,m;t[8]===p?m=t[9]:(m=k(`flex group relative`,p),t[8]=p,t[9]=m);let h;t[10]!==n||t[11]!==f||t[12]!==u?(h=n.role===`user`?u(n):f(n),t[10]=n,t[11]=f,t[12]=u,t[13]=h):h=t[13];let g;return t[14]!==m||t[15]!==h?(g=(0,J.jsx)(`div`,{className:m,children:h}),t[14]=m,t[15]=h,t[16]=g):g=t[16],g});rn.displayName=`ChatMessage`;var an=(0,q.memo)(e=>{let t=(0,$.c)(43),{isEmpty:n,onSendClick:i,isLoading:a,onStop:o,fileInputRef:s,onAddFiles:c,onAddContext:l}=e,u=r(_),d=u?.mode||en,f=u?.models?.chat_model||`openai/gpt-4o`,p=v.parse(f).providerId,{saveModeChange:m}=ee(),h;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(h=[{value:`manual`,label:`Manual`,subtitle:`Pure chat, no tool usage`,Icon:Ve},{value:`ask`,label:`Ask`,subtitle:`AI with access to read-only tools like documentation search`,Icon:Vt},{value:`agent`,label:`Agent`,subtitle:`AI with access to read and write tools`,Icon:Le},{value:`code_mode`,label:`Code Mode (beta)`,subtitle:`AI with access to the notebook's kernel. Potentially destructive.`,Icon:Ie}],t[0]=h):h=t[0];let g=h,y=ke.has(p),b;t[1]!==d||t[2]!==g?(b=g.find(e=>e.value===d),t[1]=d,t[2]=g,t[3]=b):b=t[3];let x=b,S=x?.Icon,C=x?.label,T;t[4]===S?T=t[5]:(T=S&&(0,J.jsx)(S,{className:`h-3 w-3`}),t[4]=S,t[5]=T);let E;t[6]===C?E=t[7]:(E=(0,J.jsx)(`span`,{className:`text-nowrap`,children:C}),t[6]=C,t[7]=E);let D;t[8]!==T||t[9]!==E?(D=(0,J.jsxs)(ie,{className:`h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1.5 shrink-0`,children:[T,E]}),t[8]=T,t[9]=E,t[10]=D):D=t[10];let O;t[11]===Symbol.for(`react.memo_cache_sentinel`)?(O=(0,J.jsx)(R,{className:`text-xs uppercase tracking-wider text-muted-foreground/70 font-medium`,children:`AI Mode`}),t[11]=O):O=t[11];let k;t[12]===g?k=t[13]:(k=(0,J.jsx)(ne,{children:(0,J.jsxs)(re,{children:[O,g.map(Sn)]})}),t[12]=g,t[13]=k);let A;t[14]!==d||t[15]!==m||t[16]!==D||t[17]!==k?(A=(0,J.jsxs)(ae,{value:d,onValueChange:m,children:[D,k]}),t[14]=d,t[15]=m,t[16]=D,t[17]=k,t[18]=A):A=t[18];let j,M;t[19]===Symbol.for(`react.memo_cache_sentinel`)?(M=(0,J.jsx)(w,{placeholder:`Model`,triggerClassName:`h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm max-w-[200px]`,iconSize:`small`,showAddCustomModelDocs:!0,forRole:`chat`}),j=(0,J.jsx)(Zt,{}),t[19]=j,t[20]=M):(j=t[19],M=t[20]);let N;t[21]===A?N=t[22]:(N=(0,J.jsxs)(`div`,{className:`flex flex-wrap items-center gap-1`,children:[A,M,j]}),t[21]=A,t[22]=N);let P;t[23]!==a||t[24]!==l?(P=(0,J.jsx)(U,{handleAddContext:l,isLoading:a}),t[23]=a,t[24]=l,t[25]=P):P=t[25];let F;t[26]!==s||t[27]!==y||t[28]!==a||t[29]!==c?(F=y&&(0,J.jsx)(W,{fileInputRef:s,isLoading:a,onAddFiles:c}),t[26]=s,t[27]=y,t[28]=a,t[29]=c,t[30]=F):F=t[30];let I;t[31]!==n||t[32]!==a||t[33]!==i||t[34]!==o?(I=(0,J.jsx)(Te,{isLoading:a,onStop:o,onSendClick:i,isEmpty:n}),t[31]=n,t[32]=a,t[33]=i,t[34]=o,t[35]=I):I=t[35];let L;t[36]!==P||t[37]!==F||t[38]!==I?(L=(0,J.jsxs)(`div`,{className:`flex flex-row ml-auto`,children:[P,F,I]}),t[36]=P,t[37]=F,t[38]=I,t[39]=L):L=t[39];let z;return t[40]!==N||t[41]!==L?(z=(0,J.jsx)(se,{children:(0,J.jsxs)(`div`,{className:`px-3 py-2 border-t border-border/20 flex flex-wrap items-center gap-1`,children:[N,L]})}),t[40]=N,t[41]=L,t[42]=z):z=t[42],z});an.displayName=`ChatInputFooter`;var on=(0,q.memo)(e=>{let t=(0,$.c)(31),{placeholder:n,input:r,inputClassName:a,setInput:o,onSubmit:s,inputRef:c,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f,onClose:p}=e,m;t[0]!==r||t[1]!==s?(m=()=>{r.trim()&&s(void 0,r)},t[0]=r,t[1]=s,t[2]=m):m=t[2];let h=i(m),g;t[3]===a?g=t[4]:(g=k(`px-2 py-1.5`,a),t[3]=a,t[4]=g);let _=n||`Type your message...`,v;t[5]!==r||t[6]!==c||t[7]!==f||t[8]!==p||t[9]!==s||t[10]!==o||t[11]!==_?(v=(0,J.jsx)(Ae,{className:`max-h-[400px]`,inputRef:c,value:r,onChange:o,onSubmit:s,onClose:p,onAddFiles:f,placeholder:_}),t[5]=r,t[6]=c,t[7]=f,t[8]=p,t[9]=s,t[10]=o,t[11]=_,t[12]=v):v=t[12];let y;t[13]!==g||t[14]!==v?(y=(0,J.jsx)(`div`,{className:g,children:v}),t[13]=g,t[14]=v,t[15]=y):y=t[15];let b;t[16]===r?b=t[17]:(b=r.trim(),t[16]=r,t[17]=b);let x=!b,S;t[18]===c?S=t[19]:(S=()=>Me(c),t[18]=c,t[19]=S);let C;t[20]!==d||t[21]!==h||t[22]!==l||t[23]!==f||t[24]!==u||t[25]!==x||t[26]!==S?(C=(0,J.jsx)(an,{isEmpty:x,onAddContext:S,onSendClick:h,isLoading:l,onStop:u,fileInputRef:d,onAddFiles:f}),t[20]=d,t[21]=h,t[22]=l,t[23]=f,t[24]=u,t[25]=x,t[26]=S,t[27]=C):C=t[27];let w;return t[28]!==y||t[29]!==C?(w=(0,J.jsxs)(`div`,{className:`relative shrink-0 flex flex-col border-t`,children:[y,C]}),t[28]=y,t[29]=C,t[30]=w):w=t[30],w});on.displayName=`ChatInput`;var sn=e=>{let t=(0,$.c)(5),{onPairWithAgent:n}=e;if(D())return null;let r,i,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(p,{className:`h-3.5 w-3.5 shrink-0`}),i=(0,J.jsx)(`span`,{children:`Connect your own agent to this notebook`}),a=(0,J.jsx)(ce,{className:`h-3 w-3 shrink-0`}),t[0]=r,t[1]=i,t[2]=a):(r=t[0],i=t[1],a=t[2]);let o;return t[3]===n?o=t[4]:(o=(0,J.jsxs)(V,{variant:`text`,className:`gap-1.5 text-sm text-link hover:underline`,onClick:n,children:[r,i,a]}),t[3]=n,t[4]=o),o},cn=()=>{let e=(0,$.c)(9),t=r(g),{handleClick:n}=C();if(!t){let t;e[0]===n?t=e[1]:(t=(0,J.jsx)(V,{variant:`outline`,size:`sm`,className:`self-start`,onClick:()=>n(`ai`,`ai-providers`),children:`Edit AI settings`}),e[0]=n,e[1]=t);let r;e[2]===Symbol.for(`react.memo_cache_sentinel`)?(r=(0,J.jsx)(S,{}),e[2]=r):r=e[2];let i;e[3]===t?i=e[4]:(i=(0,J.jsxs)(`div`,{className:`flex flex-col gap-3`,children:[t,r]}),e[3]=t,e[4]=i);let a;e[5]===Symbol.for(`react.memo_cache_sentinel`)?(a=(0,J.jsx)(le,{}),e[5]=a):a=e[5];let o;return e[6]===i?o=e[7]:(o=(0,J.jsx)(tt,{title:`Chat with AI`,description:`No AI provider configured or Chat model not selected`,action:i,icon:a}),e[6]=i,e[7]=o),o}let i;return e[8]===Symbol.for(`react.memo_cache_sentinel`)?(i=(0,J.jsx)(ln,{}),e[8]=i):i=e[8],i},ln=()=>{let e=a(Xe),[r,o]=t($e),[l,d]=t(Ze),[f,p]=(0,q.useState)(``),[m,h]=(0,q.useState)(``),[g,v]=(0,q.useState)(!0),{files:y,addFiles:x,clearFiles:S,removeFile:C}=be(),{messages:w,enqueue:E,flushNext:D,clear:A,hasQueuedRef:j}=he(),M=(0,q.useRef)(null),N=(0,q.useRef)(null),P=(0,q.useRef)(null),F=(0,q.useRef)(null),I=(0,q.useRef)(null),[L,ee]=(0,q.useState)(null),R=i(()=>{I.current=null,ee(null)}),z=O(),{invokeAiTool:te,sendRun:ne}=Ke(),{openModal:re,closeModal:ie}=Re(),ae=r?.id,{chatControllerId:oe,renewDraftChatId:B}=$t(ae),H=n(),{addStagedCell:ce}=ve(),{createNewCell:le,prepareForRun:pe}=s(),me={addStagedCell:ce,createNewCell:le,prepareForRun:pe,sendRun:ne,store:H},{messages:U,sendMessage:Te,error:W,status:ke,regenerate:Ae,stop:G,addToolOutput:Me,addToolApprovalResponse:Ie,id:Le}=Fe({id:oe,throttle:100,sendAutomaticallyWhen:({messages:e})=>je(e),messages:r?.messages||[],transport:new Wt({api:z.getAiURL(`chat`).toString(),headers:()=>z.headers(),prepareSendMessagesRequest:async e=>{let t=await xe({messages:e.messages});t.success||T.debug(`Outgoing chat messages failed AI SDK schema validation`,t.error);let n={uiMessages:e.messages,includeOtherCode:c(``),options:H.get(Qe)},r=H.get(_)?.mode||en,i=Oe.getToolSchemas(r);return{api:z.getAiURL(`chat`).toString(),body:{tools:i,...e,...n}}}},e=>{let t=fe(e);t!==void 0&&(I.current=t)}),onFinish:({messages:t,isError:n,isAbort:r,finishReason:i})=>{if(e(e=>Ut({chatState:e,chatId:e.activeChatId,messages:t})),r){let e=ue({isAbort:!0,streamReason:I.current});if(R(),e!=null){let t=de(e);T.debug(`Chat stream aborted`,{reason:e,finishReason:i}),ee(t)}}else R();Ve(t,{isError:n,isAbort:r})},onToolCall:async({toolCall:e})=>{await Se({invokeAiTool:te,addToolOutput:Me,toolCall:{toolName:e.toolName,toolCallId:e.toolCallId,input:e.input},toolContext:me})},onError:e=>{T.error(`An error occurred:`,e)}}),ze=i(e=>{R(),Te({role:`user`,parts:e})}),Ve=i((e,t)=>{j.current&&Ne({isError:t.isError,isAbort:t.isAbort,hasPendingToolCalls:je(e),hasUnresolvedToolCalls:Pe(e)})&&D(ze)}),K=ke===`submitted`||ke===`streaming`,He=(0,q.useRef)(K);He.current=K;let Ue=i(e=>{He.current||j.current?E(e):ze(e)}),We=i(()=>{let e=P.current;if(!e)return;let{scrollTop:t,scrollHeight:n,clientHeight:r}=e,i=n>r?Math.abs(n-r-t)<5:!0;v(i)}),Ge=i((e=!1)=>{let t=P.current;t&&t.scrollTo({top:t.scrollHeight,behavior:e?`smooth`:`auto`})}),qe=K&&U.length>0&&Ce(U);(0,q.useEffect)(()=>{v(!0),A(),R()},[ae,A,R]),(0,q.useEffect)(()=>{if(!g)return;let e=requestAnimationFrame(()=>{Ge()});return()=>cancelAnimationFrame(e)},[U,w,K,g,Ge]),(0,q.useEffect)(()=>{K||Ve(U,{isError:W!=null,isAbort:!1})},[U,K,W,Ve]);let Je=i(t=>{let n=Date.now(),r={id:Le,title:Ee(t),messages:[],createdAt:n,updatedAt:n};e(e=>{let t=new Map(e.chats);return t.set(r.id,r),{...e,chats:t,activeChatId:r.id}})}),Ye=i(async(e,t)=>{Je(e);let n=t&&t.length>0?await De(t):void 0,{contextPart:r,attachments:i}=await ge(e);Te({role:`user`,parts:[{type:`text`,text:e},...r?[r]:[],...n??[],...i]}),S(),p(``)}),tt=i(()=>{B(),o(null),p(``),h(``),A(),S()}),rt=i(()=>{re((0,J.jsx)(b,{onClose:ie}))}),Y=i(async(e,t)=>{let n=U[e],r=n.parts?.filter(e=>e.type===`file`&&!_e(e))??[],{contextPart:i,attachments:a}=await ge(t),o=n.id;Te({messageId:o,role:`user`,parts:[{type:`text`,text:t},...i?[i]:[],...r,...a]})}),it=i(async(e,t)=>{if(!t.trim())return;N.current?.view&&ye(N.current.view);let n=y?await De(y):void 0,{contextPart:r,attachments:i}=await ge(t);e?.preventDefault(),Ue([{type:`text`,text:t},...r?[r]:[],...n??[],...i]),p(``),S()}),at=()=>{R(),Ae()},ot=i(()=>{m.trim()&&(M.current?.view&&ye(M.current.view),Ye(m.trim(),y))}),st=()=>M.current?.editor?.blur(),ct=i(async e=>{ae??(Je(e),p(m));let{contextPart:t,attachments:n}=await ge(e);Ue([{type:`text`,text:e},...t?[t]:[],...n])}),X=U.length===0;(0,q.useEffect)(()=>{if(!l)return;d(null);let{prompt:e,submit:t}=l;t?ct(e):X?(h(e),u(M)):(p(e),u(N))},[l,d,X,ct]);let lt=X?(0,J.jsx)(on,{placeholder:`Ask anything, @ to include context about tables or dataframes`,input:m,inputRef:M,inputClassName:`px-1 py-0`,setInput:h,onSubmit:ot,isLoading:K,onStop:G,fileInputRef:F,onAddFiles:x,onClose:st},`new-thread-input`):(0,J.jsx)(on,{input:f,setInput:p,onSubmit:it,inputRef:N,isLoading:K,onStop:G,onClose:()=>N.current?.editor?.blur(),fileInputRef:F,onAddFiles:x}),ut=y&&y.length>0&&(0,J.jsx)(`div`,{className:k(`flex flex-row gap-1 flex-wrap p-1`,X&&`py-2 px-1`),children:y?.map(e=>(0,J.jsx)(we,{file:e,onRemove:()=>C(e)},e.name))});return(0,J.jsxs)(`div`,{className:`flex flex-col h-[calc(100%-53px)]`,children:[(0,J.jsx)(se,{children:(0,J.jsx)(nn,{onNewChat:tt,activeChatId:r?.id,setActiveChat:o})}),(0,J.jsxs)(`div`,{className:`flex-1 flex flex-col overflow-hidden relative min-h-0`,children:[(0,J.jsxs)(`div`,{className:`flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto`,ref:P,onScroll:We,children:[X&&(0,J.jsxs)(`div`,{className:`flex flex-col gap-2`,children:[(0,J.jsxs)(`div`,{className:`rounded-md border bg-background`,children:[ut,lt]}),(0,J.jsx)(sn,{onPairWithAgent:rt})]}),U.map((e,t)=>(0,J.jsx)(rn,{message:e,index:t,onEdit:Y,isStreamingReasoning:qe,isLast:t===U.length-1,isActive:K,addToolApprovalResponse:Ie},e.id)),w.map(e=>(0,J.jsx)(tn,{message:e},e.id)),K&&(0,J.jsx)(`div`,{className:`flex justify-center py-4`,children:(0,J.jsx)(Be,{className:`h-4 w-4 animate-spin`})}),W&&(0,J.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,J.jsx)(et,{error:W||Error(`Unknown error`)}),(0,J.jsx)(V,{variant:`outline`,size:`sm`,onClick:at,children:`Retry`})]}),L&&!K&&!W&&(0,J.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,J.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:L})})]}),(0,J.jsx)(nt,{isVisible:!g&&(U.length>0||w.length>0),onScrollToBottom:()=>Ge(!0)})]}),K&&(0,J.jsx)(`div`,{className:`w-full flex justify-center items-center z-20 border-t`,children:(0,J.jsx)(V,{variant:`linkDestructive`,size:`sm`,onClick:G,children:`Stop`})}),!X&&(0,J.jsxs)(J.Fragment,{children:[ut,lt]})]})};function un(e){return e.type===`text`}function dn(e){return e.text}function fn(e){return e.type===`file`}function pn(e,t){return(0,J.jsx)(G,{attachment:e},t)}function mn(e){return e.type===`text`}function hn(e){return e.text}function gn(e){return e.type===`file`}function _n(e,t){return(0,J.jsx)(G,{attachment:e},t)}function vn(){}function yn(){}function bn(e){return e.type===`text`}function xn(e){return e.text}function Sn(e){return(0,J.jsx)(z,{value:e.value,className:`text-xs py-1`,children:(0,J.jsxs)(`div`,{className:`flex items-start gap-2.5`,children:[(0,J.jsx)(`span`,{className:`mt-1 text-muted-foreground`,children:(0,J.jsx)(e.Icon,{className:`h-3 w-3`})}),(0,J.jsxs)(`div`,{className:`flex flex-col gap-0.5`,children:[(0,J.jsx)(`span`,{className:`font-semibold`,children:e.label}),(0,J.jsx)(`span`,{className:`text-muted-foreground`,children:e.subtitle})]})]})},e.value)}export{cn as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{Tr as n,cn as r,dn as i,fo as a,un as o}from"./cells-
|
|
1
|
+
import{a as e}from"./rolldown-runtime-B0Z9INg1.js";import{t}from"./react-CUdNIagt.js";import{Tr as n,cn as r,dn as i,fo as a,un as o}from"./cells-CxY8RSp7.js";import{E as s,P as c,S as l,b as u,j as d}from"./schemas-BL-NsLlF.js";import{t as f}from"./compiler-runtime-BQ9S8nyo.js";import{g as p,t as m}from"./useEventListener-IRzG-0mH.js";import{t as h}from"./objects-snlMn4yk.js";import{t as g}from"./cn-ldLVeaqm.js";import{t as _}from"./jsx-runtime-B74pBk57.js";import{a as v,p as y,r as b,t as x}from"./dropdown-menu-B2JUUcK7.js";import{d as S}from"./select-BwRFbZty.js";import{t as C}from"./tooltip-B5pI8o2n.js";import{t as w}from"./button-M49xxKoi.js";import{t as T}from"./bot-message-square-BfGaNy9r.js";import{r as ee}from"./useNumberFormatter-BP99Zbyy.js";import{u as E}from"./toDate-BbJ1_N2T.js";import{i as D,n as O,r as k,t as te}from"./chat-display-YETh6yXV.js";import{B as ne,H as re,K as ie,h as ae,n as oe,q as se,v as ce,z as le}from"./add-cell-with-ai-Wyt6GBhk.js";import{t as ue}from"./spinner-CGdRKCnw.js";import{t as de}from"./rotate-cw-BcRERxHa.js";import{o as A,r as j}from"./input-DPd57MDP.js";import{t as M}from"./settings-DlKTeV_0.js";import{t as N}from"./square-DvOKKLHZ.js";import{t as P}from"./trash-2-BJG-7Qob.js";import{t as F}from"./copy-icon-wfSGfX8v.js";import{t as I}from"./strings-hlCLC-K1.js";import{t as L}from"./uuid-k9DpjH68.js";import{n as R}from"./useAsyncData-DucTwMkf.js";import{r as z}from"./react-icons.esm-C6SMwKZH.js";import{t as B}from"./events-CbeVJ6OD.js";import{n as V}from"./error-banner-D1_bPN9u.js";var H=f(),U=_(),W=e(t(),1),G=a,fe=d({type:s(`stream_chunk`),message_id:c(),content:u().nullable().transform(e=>e),is_final:l().optional()});function pe(e,t){let{controllerRef:n,activeRequestIdRef:r}=t,i=n.current;if(i===null)return`dropped-no-controller`;let a=r.current;return a!==null&&e.message_id!==a?(p.debug(`Dropping stale chat chunk`,{chunkRequestId:e.message_id,activeRequestId:a}),`dropped-stale`):(e.content&&i.enqueue(e.content),e.is_final?(i.close(),n.current=null,r.current=null,`closed`):`enqueued`)}var K=e=>{let[t,r]=(0,W.useState)(``),[i,a]=(0,W.useState)(e.config),[o,s]=(0,W.useState)(e.config),[c,l]=(0,W.useState)(void 0),u=(0,W.useRef)(null),d=(0,W.useRef)(null),f=(0,W.useRef)(null),h=(0,W.useRef)(null);Object.keys(e.config).some(t=>e.config[t]!==o[t])&&(a(e.config),s(e.config));let _=(0,W.useRef)(i);_.current=i;let v=(0,W.useRef)(null),y=(0,W.useRef)(null),b=(0,W.useRef)(null),[x,S]=(0,W.useState)(null),E=()=>{b.current=null,S(null)},{data:A}=R(async()=>(await e.get_chat_history({})).messages,[]),j=e.value.length>0?e.value:A,{messages:M,sendMessage:I,setMessages:z,status:H,stop:G,error:K,regenerate:q,clearError:J,addToolApprovalResponse:Y}=le({sendAutomaticallyWhen:({messages:e})=>ce(e),transport:new ne({fetch:async(t,n)=>{if(n===void 0)return fetch(t);let r=JSON.parse(n.body),i=n.signal,a={max_tokens:_.current.max_tokens,temperature:_.current.temperature,top_p:_.current.top_p,top_k:_.current.top_k,frequency_penalty:_.current.frequency_penalty,presence_penalty:_.current.presence_penalty};try{let t=r.messages.map(e=>({...e,content:e.parts?.map(e=>`text`in e?e.text:``).join(`
|
|
2
2
|
`)})),n=L();E();let o=new ReadableStream({start(t){v.current=t,y.current=n;let r=()=>{try{t.close()}catch(e){p.debug(`Controller may already be closed`,{error:e})}v.current=null,y.current=null,e.cancel_prompt({request_id:n}).catch(e=>{p.debug(`cancel_prompt failed`,{error:e})})};return i?.addEventListener(`abort`,r),()=>{i?.removeEventListener(`abort`,r)}},cancel(){v.current=null,y.current=null}});return e.send_prompt({request_id:n,messages:t,config:a}).catch(e=>{v.current?.error(e),v.current=null,y.current=null}),re({stream:o})}catch(e){if(e instanceof Error&&e.name===`AbortError`)return new Response(`Aborted`,{status:499});let t=e.message?.split(`failed with exception `).pop();return new Response(t,{status:400})}}}),messages:j,onFinish:({messages:t,isAbort:n,finishReason:r})=>{if(l(void 0),u.current&&(u.current.value=``),p.debug(`Finished streaming message:`,{finishReason:r,isAbort:n}),n){let e=D({isAbort:!0,streamReason:b.current});if(E(),e!=null){let t=O(e);p.debug(`Chat stream aborted`,{reason:e,finishReason:r}),S(t)}}else E();e.setValue(t)},onError:e=>{p.error(`An error occurred:`,e)}});m(e.host,B.TYPE,e=>{let t=fe.safeParse(e.detail.message);if(t.success){if(t.data.content&&t.data.message_id===y.current){let e=k(t.data.content);e!==void 0&&(b.current=e)}pe(t.data,{controllerRef:v,activeRequestIdRef:y})}});let X=H===`submitted`||H===`streaming`,Z=t=>{let n=M.findIndex(e=>e.id===t);if(n!==-1){let r=M.filter(e=>e.id!==t);e.delete_chat_message({index:n}),z(r),e.setValue(r),r.length===0&&E()}},ge=Array.isArray(e.allowAttachments)&&e.allowAttachments.length>0||e.allowAttachments===!0,_e={triggerCompletionRegex:/^\/(\w+)?/,completions:e.prompts.map(e=>({label:`/${e}`,displayLabel:e,apply:e}))},Q=e.prompts.length>0?`Type your message here, / for prompts`:`Type your message here...`;(0,W.useEffect)(()=>{h.current?.scrollTo({top:h.current.scrollHeight,behavior:`smooth`})},[M.length,h]);let $=f.current?.view,ve=()=>{if($){let e=$.state.doc.length;$.dispatch({changes:{from:0,to:e,insert:``}})}r(``)};return(0,U.jsxs)(`div`,{className:`flex flex-col h-full bg-(--slate-1) rounded-lg shadow border border-(--slate-6) overflow-hidden relative`,style:{maxHeight:e.maxHeight},children:[(0,U.jsx)(`div`,{className:`absolute top-0 right-0 flex justify-end z-10 border border-(--slate-6) bg-inherit rounded-bl-lg`,children:(0,U.jsx)(w,{variant:`text`,size:`icon`,disabled:M.length===0,onClick:()=>{z([]),e.setValue([]),e.delete_chat_history({}),J(),E()},children:(0,U.jsx)(de,{className:`h-3 w-3`})})}),(0,U.jsxs)(`div`,{className:`grow overflow-y-auto gap-4 pt-8 pb-4 px-2 flex flex-col`,ref:h,children:[M.length===0&&(0,U.jsxs)(`div`,{className:`flex flex-col items-center justify-center h-full text-muted-foreground text-center p-4`,children:[(0,U.jsx)(T,{className:`h-12 w-12 mb-4`}),(0,U.jsx)(`h3`,{className:`text-lg font-semibold mb-2`,children:`No messages yet`}),(0,U.jsx)(`p`,{className:`text-sm`,children:`Start a conversation by typing a message below.`})]}),M.map((e,t)=>{let n=e.parts?.filter(e=>e.type===`text`).map(e=>e.text).join(`
|
|
3
3
|
`),r=t===M.length-1;return(0,U.jsxs)(`div`,{className:g(`flex flex-col group gap-2`,e.role===`user`?`items-end`:`items-start`),children:[(0,U.jsx)(`div`,{className:`max-w-[80%] p-3 rounded-lg ${e.role===`user`?`bg-(--sky-11) text-(--slate-1) whitespace-pre-wrap`:`bg-(--slate-4) text-(--slate-12)`}`,children:te({message:e,isStreamingReasoning:H===`streaming`,isLast:r,isActive:X,addToolApprovalResponse:r?Y:void 0})}),(0,U.jsxs)(`div`,{className:`flex justify-end text-xs gap-2 invisible group-hover:visible`,children:[(0,U.jsx)(F,{value:n,className:`h-3 w-3`,buttonClassName:`text-xs text-(--slate-9) hover:text-(--slate-11)`}),(0,U.jsx)(`button`,{type:`button`,onClick:()=>Z(e.id),className:`text-xs text-(--slate-9) hover:text-(--slate-11)`,children:(0,U.jsx)(P,{className:`h-3 w-3 text-(--red-9)`})})]})]},`${e.id}-${t}`)}),X&&(0,U.jsx)(`div`,{className:`flex items-center justify-center mb-4`,children:(0,U.jsx)(ue,{size:`small`})}),K&&(0,U.jsxs)(`div`,{className:`flex items-center justify-center space-x-2 mb-4`,children:[(0,U.jsx)(V,{error:K}),(0,U.jsx)(w,{variant:`outline`,size:`sm`,onClick:()=>q(),children:`Retry`})]}),x&&!X&&!K&&(0,U.jsx)(`div`,{className:`flex justify-center py-2`,children:(0,U.jsx)(`span`,{className:`text-xs text-muted-foreground`,children:x})})]}),(0,U.jsxs)(`form`,{onSubmit:async n=>{if(n.preventDefault(),e.disabled)return;let r=c?await ae(c):void 0;I({role:`user`,parts:[{type:`text`,text:t},...r??[]]}),ve()},ref:d,inert:e.disabled||void 0,className:g(`flex w-full border-t border-(--slate-6) px-2 py-1 items-center`,e.disabled&&`opacity-50 cursor-not-allowed`),children:[e.showConfigurationControls&&(0,U.jsx)(me,{config:i,onChange:a}),e.prompts.length>0&&(0,U.jsx)(he,{prompts:e.prompts,onSelect:e=>{r(e),requestAnimationFrame(()=>{$?.focus(),n($)})}}),(0,U.jsx)(oe,{className:`rounded-sm mr-2`,placeholder:Q,value:t,inputRef:f,maxHeight:e.maxHeight?`${e.maxHeight/2}px`:void 0,onChange:r,onSubmit:(e,t)=>{t.trim()&&d.current?.requestSubmit()},onClose:()=>{},additionalCompletions:_e}),c&&c.length===1&&(0,U.jsx)(`span`,{title:c[0].name,className:`text-sm text-(--slate-11) truncate shrink-0 w-fit max-w-24`,children:c[0].name}),c&&c.length>1&&(0,U.jsxs)(`span`,{title:[...c].map(e=>e.name).join(`
|
|
4
4
|
`),className:`text-sm text-(--slate-11) truncate shrink-0`,children:[c.length,` files`]}),c&&c.length>0&&(0,U.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>{l(void 0),u.current&&(u.current.value=``)},children:(0,U.jsx)(ee,{className:`size-3`})}),ge&&(0,U.jsxs)(U.Fragment,{children:[(0,U.jsx)(w,{type:`button`,variant:`text`,size:`sm`,onClick:()=>u.current?.click(),children:(0,U.jsx)(se,{className:`h-4`})}),(0,U.jsx)(`input`,{type:`file`,ref:u,className:`hidden`,multiple:!0,accept:Array.isArray(e.allowAttachments)?e.allowAttachments.join(`,`):void 0,onChange:e=>{e.target.files&&l([...e.target.files])}})]}),X?(0,U.jsx)(C,{content:`Stop generating`,children:(0,U.jsx)(w,{type:`button`,variant:`link`,size:`xs`,onClick:()=>G(),className:`text-(--red-9) hover:text-(--red-11)`,children:(0,U.jsx)(N,{className:`h-4 w-4 fill-current`})})}):(0,U.jsx)(w,{type:`submit`,disabled:!t,variant:`outline`,size:`xs`,className:`text-(--slate-11)`,"aria-label":`Send message`,children:(0,U.jsx)(ie,{className:`h-4 w-4`})})]})]})},q={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)`}},me=e=>{let t=(0,H.c)(16),{config:n,onChange:a}=e,[s,c]=(0,W.useState)(!1),l;t[0]!==n||t[1]!==a?(l=(e,t)=>{let r=t===null||Number.isNaN(t)?null:t;if(r!==null){let{min:t,max:n}=q[e];r=Math.max(t,Math.min(n,r))}let i={...n,[e]:r};a(i)},t[0]=n,t[1]=a,t[2]=l):l=t[2];let u=l,d;t[3]===Symbol.for(`react.memo_cache_sentinel`)?(d=e=>{e.key===`Enter`&&(e.preventDefault(),c(!1))},t[3]=d):d=t[3];let f=d,p;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(p=(0,U.jsx)(C,{content:`Configuration`,children:(0,U.jsx)(i,{asChild:!0,children:(0,U.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,U.jsx)(M,{className:`h-3 w-3`})})})}),t[4]=p):p=t[4];let m;t[5]===Symbol.for(`react.memo_cache_sentinel`)?(m=(0,U.jsx)(`h4`,{className:`font-bold leading-none`,children:`Configuration`}),t[5]=m):m=t[5];let g;if(t[6]!==n||t[7]!==u){let e;t[9]===u?e=t[10]:(e=e=>{let[t,n]=e;return(0,U.jsxs)(`div`,{className:`grid grid-cols-3 items-center gap-1`,children:[(0,U.jsxs)(S,{htmlFor:t,className:`flex w-full justify-between col-span-3 align-end`,children:[I.startCase(t),(0,U.jsx)(C,{delayDuration:200,side:`top`,content:(0,U.jsx)(`div`,{className:`text-xs flex flex-col`,children:q[t].description}),children:(0,U.jsx)(E,{className:`h-3 w-3 cursor-help text-muted-foreground hover:text-foreground`})})]}),(0,U.jsx)(A,{id:t,"aria-label":t,value:n??NaN,placeholder:`null`,minValue:q[t].min,maxValue:q[t].max,step:q[t].step??1,onChange:e=>u(t,e),onKeyDown:f,className:`col-span-3`})]},t)},t[9]=u,t[10]=e),g=h.entries(n).map(e),t[6]=n,t[7]=u,t[8]=g}else g=t[8];let _;t[11]===g?_=t[12]:(_=(0,U.jsx)(o,{className:`w-70 border`,children:(0,U.jsxs)(`div`,{className:`grid gap-3`,children:[m,g]})}),t[11]=g,t[12]=_);let v;return t[13]!==s||t[14]!==_?(v=(0,U.jsxs)(r,{open:s,onOpenChange:c,children:[p,_]}),t[13]=s,t[14]=_,t[15]=v):v=t[15],v},he=e=>{let t=(0,H.c)(18),{prompts:n,onSelect:i}=e,[a,s]=(0,W.useState)(!1),[c,l]=(0,W.useState)(``),u;t[0]===i?u=t[1]:(u=e=>{[...e.matchAll(/{{(\w+)}}/g)].length>0?(l(e),s(!0)):i(e)},t[0]=i,t[1]=u);let d=u,f;t[2]===Symbol.for(`react.memo_cache_sentinel`)?(f=(0,U.jsx)(C,{content:`Select a prompt`,children:(0,U.jsx)(y,{asChild:!0,children:(0,U.jsx)(w,{variant:`outline`,size:`sm`,className:`border-none shadow-none hover:bg-transparent`,children:(0,U.jsx)(z,{className:`h-3 w-3`})})})}),t[2]=f):f=t[2];let p;if(t[3]!==d||t[4]!==n){let e;t[6]===d?e=t[7]:(e=(e,t)=>(0,U.jsx)(v,{onSelect:()=>d(e),className:`whitespace-normal text-left`,children:e},t),t[6]=d,t[7]=e),p=n.map(e),t[3]=d,t[4]=n,t[5]=p}else p=t[5];let m;t[8]===p?m=t[9]:(m=(0,U.jsx)(G,{children:(0,U.jsxs)(x,{children:[f,(0,U.jsx)(b,{side:`right`,align:`end`,onCloseAutoFocus:Y,className:`w-64 max-h-96 overflow-y-auto`,children:p})]})}),t[8]=p,t[9]=m);let h;t[10]===Symbol.for(`react.memo_cache_sentinel`)?(h=()=>s(!1),t[10]=h):h=t[10];let g;t[11]!==i||t[12]!==c?(g=(0,U.jsx)(o,{side:`right`,align:`end`,className:`min-w-80 px-2`,children:(0,U.jsx)(J,{prompt:c,onClose:h,onSelect:i})}),t[11]=i,t[12]=c,t[13]=g):g=t[13];let _;return t[14]!==a||t[15]!==m||t[16]!==g?(_=(0,U.jsxs)(r,{open:a,onOpenChange:s,children:[m,g]}),t[14]=a,t[15]=m,t[16]=g,t[17]=_):_=t[17],_},J=e=>{let t=(0,H.c)(32),{prompt:n,onClose:r,onSelect:i}=e,a;t[0]===Symbol.for(`react.memo_cache_sentinel`)?(a={},t[0]=a):a=t[0];let[o,s]=(0,W.useState)(a),c,l;t[1]===n?(c=t[2],l=t[3]):(c=()=>{let e=[...n.matchAll(/{{(\w+)}}/g)].reduce(X,{});s(e)},l=[n],t[1]=n,t[2]=c,t[3]=l),(0,W.useEffect)(c,l);let u;t[4]===Symbol.for(`react.memo_cache_sentinel`)?(u=(e,t)=>{s(n=>({...n,[e]:t}))},t[4]=u):u=t[4];let d=u,f;if(t[5]!==n||t[6]!==o){let e;t[8]===Symbol.for(`react.memo_cache_sentinel`)?(e=/{{(\w+)}}/g,t[8]=e):e=t[8];let r;t[9]===o?r=t[10]:(r=(e,t)=>o[t]||`{{${t}}}`,t[9]=o,t[10]=r),f=n.replaceAll(e,r),t[5]=n,t[6]=o,t[7]=f}else f=t[7];let p=f,m;t[11]===o?m=t[12]:(m=Object.values(o).some(Z),t[11]=o,t[12]=m);let h=m,g;t[13]!==r||t[14]!==i||t[15]!==p?(g=()=>{i(p),r()},t[13]=r,t[14]=i,t[15]=p,t[16]=g):g=t[16];let _=g,v;t[17]===o?v=t[18]:(v=Object.entries(o),t[17]=o,t[18]=v);let y;t[19]!==_||t[20]!==h||t[21]!==v?(y=v.map((e,t)=>{let[n,r]=e;return(0,U.jsxs)(`div`,{className:`grid grid-cols-4 items-center gap-2`,children:[(0,U.jsx)(S,{htmlFor:n,className:`font-semibold text-base`,children:n}),(0,U.jsx)(j,{id:n,value:r,onChange:e=>d(n,e.target.value),rootClassName:`col-span-3 w-full`,className:`m-0`,placeholder:`Enter value for ${n}`,autoFocus:t===0,onKeyDown:e=>{e.key===`Enter`&&!h&&_()}})]},n)}),t[19]=_,t[20]=h,t[21]=v,t[22]=y):y=t[22];let b;t[23]===p?b=t[24]:(b=(0,U.jsx)(`div`,{className:`grid gap-2 prose dark:prose-invert`,children:(0,U.jsx)(`blockquote`,{className:`text-sm`,children:p})}),t[23]=p,t[24]=b);let x;t[25]!==_||t[26]!==h?(x=(0,U.jsx)(w,{onClick:_,size:`xs`,disabled:h,children:`Submit`}),t[25]=_,t[26]=h,t[27]=x):x=t[27];let C;return t[28]!==b||t[29]!==x||t[30]!==y?(C=(0,U.jsxs)(`div`,{className:`grid gap-4`,children:[y,b,x]}),t[28]=b,t[29]=x,t[30]=y,t[31]=C):C=t[31],C};function Y(e){return e.preventDefault()}function X(e,t){return e[t[1]]=``,e}function Z(e){return e==null||e.trim()===``}export{K as Chatbot};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{f as e,l as t}from"./useEvent-Dc9HkKI2.js";import{t as n}from"./compiler-runtime-BQ9S8nyo.js";import{i as r,t as i}from"./utils-B4K466FK.js";import{m as a,v as o}from"./session-BykGt6S3.js";import{M as s,_ as c,l,w as u}from"./config-D_c_6ce1.js";import{r as d}from"./state-YaAkDV8S.js";import{i as f,n as p,o as m}from"./state-ja7GWeCS.js";import{i as h}from"./strings-hlCLC-K1.js";var g=n(),_={canHealthCheck:!1,canShutdown:!1,canRestart:!1,supportsLsp:!1},v={kind:`wasm`,label:`Pyodide`,capabilities:_,state:e(e=>{let t=e(m);switch(t.kind){case`loading`:return{kind:`connecting`,progress:{label:t.message}};case`ready`:return{kind:`ready`};case`error`:return{kind:`failed`,error:{message:t.message,errorKind:`init`}}}})},y={kind:`remote`,label:`Kernel`,capabilities:{canHealthCheck:!0,canShutdown:!0,canRestart:!0,supportsLsp:!0},state:e(e=>{let t=e(c);switch(t.state){case u.OPEN:return{kind:`ready`};case u.CONNECTING:return{kind:`connecting`,progress:{label:`Connecting…`}};case u.NOT_STARTED:return{kind:`connecting`,progress:{label:`Not connected`}};case u.CLOSING:case u.CLOSED:return{kind:`failed`,error:{message:t.state===u.CLOSED?t.reason:`Disconnecting`,errorKind:`runtime`}}}})},b={kind:`static`,label:`Static`,capabilities:_,state:e({kind:`ready`})},x={kind:`islands`,label:`Islands`,capabilities:_,state:e(e=>{let t=e(p);return t===!0?{kind:`ready`}:typeof t==`string`?{kind:`failed`,error:{message:t,errorKind:`init`}}:{kind:`connecting`,progress:{label:`Initializing islands…`}}})};function S(){return l()?b:i()?x:s()?v:y}var C=e(S());e(e=>{let t=e(C);return e(t.state).kind!==`ready`||t.kind===`static`?!1:t.kind!==`remote`||e(f).isInstantiated});function w(e){let n=(0,g.c)(2),i=t(a),{mode:s}=t(o),c=t(d),l=t(C).kind;if(i&&l===`remote`)return!0;switch(s){case`edit`:case`present`:return!0;case`home`:case`gallery`:return!1;case`read`:{if(!c||new URLSearchParams(window.location.search).get(r.includeCode)===`false`)return!1;let t;return n[0]===e?t=n[1]:(t=e.some(T),n[0]=e,n[1]=t),t}default:return h(s),!1}}function T(e){return!!e.code}export{C as n,w as t};
|