@marimo-team/frontend 0.19.5-dev2 → 0.19.5-dev21
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-BXh1gynf.js → CellStatus-CkHNEnSR.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-BKJwCHu7.js → ConnectedDataExplorerComponent-D9wGP6tv.js} +1 -1
- package/dist/assets/{JsonOutput-CLNTeasj.js → JsonOutput-DMMGGSXv.js} +1 -1
- package/dist/assets/{MarimoErrorOutput-Czq-EaOv.js → MarimoErrorOutput-DuFSglTT.js} +1 -1
- package/dist/assets/{RenderHTML-IHLDwtNi.js → RenderHTML-wR1-1y1P.js} +1 -1
- package/dist/assets/{add-cell-with-ai-i5LNDjJf.js → add-cell-with-ai-CbaApRYx.js} +1 -1
- package/dist/assets/{add-database-form-DiiD1Vbr.js → add-database-form-DHXYzyiI.js} +1 -1
- package/dist/assets/{agent-panel-CURqRcNk.js → agent-panel-3PTqPJTj.js} +1 -1
- package/dist/assets/{ai-model-dropdown-B4PTfGxC.js → ai-model-dropdown-ChmbKArd.js} +1 -1
- package/dist/assets/{app-config-button-CwTpgJrH.js → app-config-button-D6XweFDT.js} +1 -1
- package/dist/assets/{cell-editor-7OTv5JEt.js → cell-editor-6dMXQ0RL.js} +2 -2
- package/dist/assets/{cell-link-PmjS89xh.js → cell-link-DVWmB29p.js} +1 -1
- package/dist/assets/{cells-CqQgFV4b.js → cells-dG69fEtz.js} +2 -2
- package/dist/assets/{chat-components-BqIcG4qc.js → chat-components-WF7xAOzH.js} +1 -1
- package/dist/assets/{chat-display-DwogmR6s.js → chat-display-CSZE5mc2.js} +1 -1
- package/dist/assets/{chat-panel-CdPM1nVX.js → chat-panel-C3O3gAi9.js} +1 -1
- package/dist/assets/{client-DACzP75m.js → client-pvw6NZnl.js} +3 -3
- package/dist/assets/{column-preview-Dpc2R1kk.js → column-preview-BI3bmg8t.js} +1 -1
- package/dist/assets/{command-CrXI4rKp.js → command-C4F8xArq.js} +1 -1
- package/dist/assets/{command-palette-DlpYob2_.js → command-palette-DXCid2fN.js} +1 -1
- package/dist/assets/{common-UAJeFXMa.js → common-BWquCRv0.js} +1 -1
- package/dist/assets/{config-D6nhy4FA.js → config-CENq_7Pd.js} +1 -1
- package/dist/assets/{datasource-DuzaeKzi.js → datasource-wJp5J7GL.js} +1 -1
- package/dist/assets/{dependency-graph-panel-D6739nh_.js → dependency-graph-panel-C5ASDepz.js} +1 -1
- package/dist/assets/{documentation-panel-Buzk5Fu4.js → documentation-panel-DjP7xcas.js} +1 -1
- package/dist/assets/{download-7BValYrD.js → download-B5nrQ7oh.js} +1 -1
- package/dist/assets/{edit-page-BWYYclv8.js → edit-page-D8qZ-cED.js} +6 -6
- package/dist/assets/{error-panel-B20u-a2k.js → error-panel-C3ZWSKyy.js} +1 -1
- package/dist/assets/{es-DZXbHzby.js → es-CXayDCrt.js} +1 -1
- package/dist/assets/file-explorer-panel-DEAwmqNS.js +1 -0
- package/dist/assets/{floating-outline-D1jZFEZq.js → floating-outline-DmMqfgvM.js} +1 -1
- package/dist/assets/{focus-iNK7gxqn.js → focus-De0fAFlq.js} +1 -1
- package/dist/assets/{form-BRyVMnbz.js → form-CA9PbMgX.js} +1 -1
- package/dist/assets/{glide-data-editor-CRb9AiCG.js → glide-data-editor-Cp7ovNOX.js} +1 -1
- package/dist/assets/{globals-DSc2kOiG.js → globals-G25bi28X.js} +1 -1
- package/dist/assets/{home-page-DLOc5LxS.js → home-page-CpVwL4qV.js} +1 -1
- package/dist/assets/{index-DDc_1b-N.css → index-BI9O54ok.css} +1 -1
- package/dist/assets/{index-C4W61Wkp.js → index-CLIGiIEq.js} +7 -7
- package/dist/assets/{kiosk-mode-gpZZHb2k.js → kiosk-mode-BzPmO2rQ.js} +1 -1
- package/dist/assets/{layout-cqf4jVVJ.js → layout-CcJbEqnj.js} +1 -1
- package/dist/assets/links-nCUz50vX.js +1 -0
- package/dist/assets/{logs-panel-C61Ke6Vh.js → logs-panel-D81EnMXO.js} +1 -1
- package/dist/assets/{markdown-renderer-zLvh4wvy.js → markdown-renderer-CRVtPH5D.js} +1 -1
- package/dist/assets/{mermaid--ZwxKP7u.js → mermaid-PR_LvTgS.js} +1 -1
- package/dist/assets/{mode-D8wBTHYr.js → mode-ChYHAM7i.js} +1 -1
- package/dist/assets/{name-cell-input-Z3jP-uGb.js → name-cell-input-CpZt0vsF.js} +1 -1
- package/dist/assets/{outline-panel-yzZ-47YC.js → outline-panel-C9vRV5y9.js} +1 -1
- package/dist/assets/{packages-panel-CLSDsvMc.js → packages-panel-BQt2iLJb.js} +1 -1
- package/dist/assets/{panels-B_82vyOa.js → panels-D2M0X4Da.js} +1 -1
- package/dist/assets/{process-output-BoMxmckb.js → process-output-Nbtlvi7C.js} +1 -1
- package/dist/assets/{readonly-python-code-BsfcjvYh.js → readonly-python-code-Crr_9chk.js} +1 -1
- package/dist/assets/renderShortcut-DQ1H8wv8.js +1 -0
- package/dist/assets/{run-page-CDNWv23n.js → run-page-Zmcxhaf1.js} +1 -1
- package/dist/assets/{scratchpad-panel--7282IFi.js → scratchpad-panel-B7hgkWTO.js} +1 -1
- package/dist/assets/{session-panel-TIK7tELJ.js → session-panel-CCw-hpml.js} +1 -1
- package/dist/assets/{snippets-panel-DN67yVtB.js → snippets-panel-CftBFK7b.js} +1 -1
- package/dist/assets/{state-DxSsbZ2U.js → state-B_RAyPJZ.js} +1 -1
- package/dist/assets/{state-QEMH_vzx.js → state-dz5q1XdV.js} +1 -1
- package/dist/assets/{switch-DXFFGBN1.js → switch-CH7JBQ6U.js} +1 -1
- package/dist/assets/{terminal-BhbNfCNw.js → terminal-DWEf_1Us.js} +1 -1
- package/dist/assets/{textarea-CLcDrTce.js → textarea-C1B1m2rU.js} +1 -1
- package/dist/assets/{tracing--sgFXj_b.js → tracing-CAY6F2mI.js} +1 -1
- package/dist/assets/{tracing-panel-Vgs_QVja.js → tracing-panel-Dl60o0Ok.js} +2 -2
- package/dist/assets/{types-CaZe7wKe.js → types-D_eS2JEf.js} +1 -1
- package/dist/assets/{useAddCell-Ck7_02t2.js → useAddCell-BSOKbqcD.js} +1 -1
- package/dist/assets/{useBoolean-B_S7yTZz.js → useBoolean-CULqj1dx.js} +1 -1
- package/dist/assets/{useCellActionButton-BQ25CkMM.js → useCellActionButton-fUOTJQY2.js} +1 -1
- package/dist/assets/{useDeleteCell-D6tJT52g.js → useDeleteCell-CNPKeGD6.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-DFsNyv7m.js → useDependencyPanelTab-Coe6wSmK.js} +1 -1
- package/dist/assets/{useNotebookActions-CgaHkAAt.js → useNotebookActions-UzFwrgYv.js} +1 -1
- package/dist/assets/{useRunCells-1OSi36uT.js → useRunCells-B7y_sG8R.js} +1 -1
- package/dist/assets/{useSplitCell-BZjrUoCW.js → useSplitCell-D5TLJkuE.js} +1 -1
- package/dist/assets/{useTheme-CNj0G_ol.js → useTheme-BSVRc0kJ.js} +1 -1
- package/dist/assets/{utilities.esm-Bc0J_PzK.js → utilities.esm-CRKmwR4M.js} +1 -1
- package/dist/assets/utils-Czt8B2GX.js +1 -0
- package/dist/assets/{vega-component-C1voDf5W.js → vega-component-CZVqD10k.js} +1 -1
- package/dist/index.html +37 -37
- package/package.json +1 -1
- package/src/components/app-config/user-config-form.tsx +1 -1
- package/src/components/editor/controls/Controls.tsx +1 -8
- package/src/components/editor/file-tree/file-explorer.tsx +4 -2
- package/src/components/editor/file-tree/file-viewer.tsx +9 -6
- package/src/core/config/config-schema.ts +5 -1
- package/src/core/config/config.ts +4 -0
- package/src/core/lsp/__tests__/transport.test.ts +149 -0
- package/src/core/lsp/transport.ts +48 -0
- package/src/css/app/Cell.css +0 -2
- package/src/plugins/layout/TexPlugin.tsx +7 -5
- package/dist/assets/file-explorer-panel-DDFHsvy9.js +0 -1
- package/dist/assets/links-D529u6GQ.js +0 -1
- package/dist/assets/renderShortcut-eU5Hsfml.js +0 -1
- package/dist/assets/utils-pfqq9IdB.js +0 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./esm-D2sDl0Fj.js","./chunk-LvLJmgfZ.js","./dist-Cs61SvFK.js","./dist-BuhT82Xx.js","./dist-DKNOF5xd.js","./dist-CAcX026F.js","./dist-DZH5tKVw.js","./dist-BRZzJw_5.js","./dist-D9Fiuh_3.js","./dist-BVf1IY4_.js","./dist-JWnLTASV.js","./dist-P7JHert4.js","./dist-BRKKmf0q.js","./dist-CVj-_Iiz.js","./dist-Cq_4nPfh.js","./dist-ByhoBCLE.js","./dist-CoiWxjLF.js","./dist-BmJp4tX0.js","./dist-BNNp07CX.js","./dist-DrrmBmzm.js","./dist-C4et3kHY.js","./dist-cVYW_wBR.js","./dist-DBfLs40b.js","./dist-Cv7ifwsi.js","./dist-B3_wJGK3.js","./dist-ChHsi1N7.js","./dist-BDE62V06.js","./dist-HGZzCB0y.js","./dist-CZt2oGGQ.js","./dist-BAmo7Mv9.js","./dist-CoibEXVK.js","./dist-RKnr9SNh.js","./dist-CXOfu6B_.js","./dist-3oAtECdQ.js","./dist-PikrGYIK.js","./dist-D6Pwf0VF.js","./dist-DUTVmHc-.js","./dist-DxRoHFaH.js","./dist-DN9Eyqh1.js","./dist-D9HMoxdZ.js","./dist-CPwcyFg3.js","./dist-JtCdI6tY.js","./apl-Bl4yyYus.js","./apl-iXnrDoYq.js","./asciiarmor-BlzLkEza.js","./asciiarmor-CK-aFa78.js","./asn1-Khb778U5.js","./asn1-DWJdxrMP.js","./brainfuck-BzHxpB_u.js","./brainfuck-0bMZHpH_.js","./cobol-Cs8YSzaw.js","./cobol-C9SsG--s.js","./clike-TW9KXOmZ.js","./clike-5SQqmvx2.js","./clojure-C_sT-_CQ.js","./clojure-B0kIwyv8.js","./css-BJpII9DZ.js","./css-aQ-Krb7T.js","./cmake-BjrhHx8m.js","./cmake-CLXeINvH.js","./coffeescript-juXyFkA0.js","./coffeescript-UIQG6RnU.js","./commonlisp-Cmn_5nuv.js","./commonlisp-BBPumpJY.js","./cypher-D549BT6Q.js","./cypher-DEE4_Yec.js","./python-DGMqnM8m.js","./python-UQl3_T6H.js","./crystal-DJrWmXfk.js","./crystal-CGN1wsuY.js","./d-CQplIm4C.js","./d-CgJ8N-gL.js","./diff-Dz2enOOE.js","./diff-B8e18dKs.js","./dockerfile-BfBmz-1M.js","./simple-mode-CZ1ts7NY.js","./dtd-DxzWHAng.js","./dtd-DtwMcoo9.js","./dylan-Bj1NVjKa.js","./dylan-Be6i1K-V.js","./ecl-Ch-B_r8E.js","./ecl-D5tlhe8s.js","./eiffel-CICk6vIb.js","./eiffel-8SQWO4xP.js","./elm-C1O6zP9K.js","./elm-CtGe_7Jw.js","./erlang-BwL41NIP.js","./erlang-CNwX3Z_M.js","./factor-DjzhghfA.js","./factor-DgyyQiBQ.js","./forth-D9Pm6H-4.js","./forth-CaVwPSxM.js","./fortran-Bkmw-ITl.js","./fortran-B28t9xoj.js","./mllike-sRDGjaMs.js","./mllike-CB0tp4Bz.js","./gas-hS11Npqh.js","./gas-BSiJHAcz.js","./gherkin-HvvvGZ2_.js","./gherkin-1QurHPOF.js","./groovy-BymCZpo_.js","./groovy-DFOLwJLv.js","./haskell-D1PB_nO2.js","./haskell-CUN2jxPH.js","./haxe-BbvC3Y-d.js","./haxe-BYzKptPQ.js","./idl-Do8pA7p2.js","./idl-cdmrQY5J.js","./javascript-C0HGxgJT.js","./javascript-l5LYdpfx.js","./julia-B-Inh9cI.js","./julia-DxiTohY8.js","./livescript-C6P4ddCY.js","./livescript-BZkzGFkJ.js","./lua-DTvhQBWH.js","./lua-rVV1vLen.js","./mirc-D0yC5rBL.js","./mirc-CdWws4At.js","./mathematica-wRwDN36m.js","./mathematica-DktJ0aJB.js","./modelica-CTTCwBwt.js","./modelica-DQGg_xsi.js","./mumps-eJkJqAKw.js","./mumps-BzlVzIzl.js","./mbox-BeQS3Xo8.js","./mbox-Ch6IVA7h.js","./nsis-B3ap5r7i.js","./nsis-bDE8IZXy.js","./ntriples-B2LCbtl9.js","./ntriples-BndMB6TK.js","./octave-DhLlnMzQ.js","./octave-DhnkL0CH.js","./oz-CLovtD0B.js","./oz-DbZmNL9y.js","./pascal-BJwozZXL.js","./pascal-DhE1sEjD.js","./perl-B3rIP59U.js","./perl-BOZHK4Y3.js","./pig-BQrpamWX.js","./pig-eswHTOE9.js","./powershell-Crqgmja1.js","./powershell-pm9G_Qg5.js","./properties-BMPI0iSd.js","./properties-7VoeFdHR.js","./protobuf-BMPWl2Em.js","./protobuf-BAsuCsmK.js","./pug-BvTKD58f.js","./pug-CcL3ml0F.js","./puppet-B1rTmaHH.js","./puppet-DUYPK8CV.js","./q-BNL1PH4D.js","./q-CnvA_jxT.js","./r-DOvfvYEk.js","./r-fM1OLzJB.js","./rpm-B7R9RTHE.js","./rpm-D62D_dq6.js","./ruby-BGJp-XLA.js","./ruby-DemvBD0m.js","./sas-CZmYq1Si.js","./sas-CZjYQi4h.js","./scheme-CdW_eMia.js","./scheme-nPNaP0Qp.js","./shell-oPdLMo8m.js","./shell-BE2ANxN1.js","./sieve-DEd8Bmn8.js","./sieve-DXFUN4C7.js","./smalltalk-CnqQIV2W.js","./smalltalk-DwXXlSAY.js","./sparql-DKyVXlni.js","./sparql-CgejAdiJ.js","./stylus-Dk_-yu_w.js","./stylus-CslB9TS3.js","./swift-CjrgUbUd.js","./swift-5t7SQPo8.js","./stex-BBWVYm-R.js","./stex-0ac7Aukl.js","./verilog-CqmLdpPq.js","./verilog-CIyPdzYJ.js","./tcl-DCmY87p6.js","./tcl-Ddpe8YBc.js","./textile-C_0nHQXl.js","./textile-D_Db33mq.js","./toml-DRTXXEvh.js","./toml-CgkLq_pv.js","./troff-Cc6RCKwc.js","./troff-6nX9d05T.js","./ttcn-B_hjyyZd.js","./ttcn-Dd4SMoHT.js","./ttcn-cfg-C9kHEAnH.js","./ttcn-cfg-ByNDYolW.js","./turtle-BpKw2L0C.js","./turtle-LDF8uFGv.js","./webidl-I7JvNTQ0.js","./webidl-C23hA3Le.js","./vb-DrexAmUA.js","./vb-DaLxM60T.js","./vbscript-BxgSn4mU.js","./vbscript-CwitZ57u.js","./velocity-FfkCaLcE.js","./velocity-D6bc4mrP.js","./vhdl-Brd1jg5j.js","./vhdl-DfyhlM4K.js","./xquery-DryU6qzU.js","./xquery-BAVQXrAf.js","./yacas-CxNmk6Uw.js","./yacas-DrybVty2.js","./z80-CIIYHJij.js","./z80-8KI6AMtY.js","./mscgen-D9NVglDL.js","./mscgen-vDSxnAXy.js","./dist-C-lY0RYt.js","./dist-Cd0uZhiN.js","./dist-B_4eJv27.js","./node-sql-parser-DFzvtOsy.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
var UR=Object.defineProperty;var KR=(Wi,Xr,Na)=>Xr in Wi?UR(Wi,Xr,{enumerable:!0,configurable:!0,writable:!0,value:Na}):Wi[Xr]=Na;var ke=(Wi,Xr,Na)=>KR(Wi,typeof Xr!="symbol"?Xr+"":Xr,Na);import{a as Ru,n as U2,o as QR,r as GR,s as yh,t as Se}from"./chunk-LvLJmgfZ.js";import{c as K2,i as st,l as Q2,p as ze,r as JR,s as XR,u as Yn}from"./useEvent-DlWF5OMa.js";import{t as Du}from"./react-BGmjiNul.js";import{t as YR}from"./react-dom-C9fstfnp.js";import{B as ZR,N as e4,P as G2,R as J2,T as X2,k as t4,w as n4}from"./zod-Cg4WLWh2.js";import{t as Gr}from"./compiler-runtime-DeeZ7FnK.js";import{f as r4}from"./_Uint8Array-BGESiCQL.js";import{n as i4}from"./toString-DlRqgfqz.js";import{t as a4}from"./toInteger-CDcO32Gx.js";import{n as o4,u as s4}from"./merge-BBX6ug-N.js";import{l as l4}from"./_baseIsEqual-Cz9Tt_-E.js";import{i as _s,t as c4}from"./useLifecycle-CmDXEyIC.js";import{a as u4,i as d4,n as f4,r as vh,t as p4}from"./type-BdyvjzTI.js";import{t as h4}from"./_baseProperty-DuoFhI7N.js";import{t as Y2}from"./debounce-BbFlGgjv.js";import{a as ci,d as Re,o as Z2,s as m4}from"./hotkeys-uKX61F1_.js";import{t as In}from"./invariant-C6yE60hi.js";import{d as ew,t as g4}from"./utils-pfqq9IdB.js";import{O as y4,j as bh,r as v4}from"./config-D6nhy4FA.js";import{r as tw}from"./useEventListener-COkmyg1v.js";import{t as b4}from"./jsx-runtime-DN_bIXfG.js";import{t as nw}from"./button-B8cGZzP5.js";import{t as Ou}from"./cn-C1rgT0yh.js";import{A as w4,At as _4,Bt as x4,C as k4,D as S4,Et as rw,Gt as iw,H as aw,Ht as ow,I as sw,J as Pu,Jt as xs,Ot as ks,Pt as C4,Rt as Mu,S as E4,St as Ta,T as lw,U as T4,Ut as Lu,Vt as Ol,W as R4,Wt as D4,Xt as Ss,Yt as vo,_t as O4,at as Ut,b as cw,ct as Pl,f as uw,it as P4,k as M4,kt as wh,l as le,mt as L4,nt as dw,ot as N4,p as I4,qt as Fi,rt as Bi,u as fw,ut as A4,xt as _h,z as pw,zt as hn}from"./dist-CAcX026F.js";import{A as q4,E as j4,S as z4,T as F4,_ as B4,b as H4,d as hw,f as V4,h as $4,m as W4,n as U4,o as xh,p as K4,s as Q4,t as G4,u as J4,v as X4,w as Y4,x as Z4}from"./dist-CI6_zMIl.js";import{a as mw,i as eD,n as ui,o as gw,p as kh,s as Ml}from"./once-CTiSlR1m.js";import{t as tD}from"./capabilities-BmAOeMOK.js";import{t as nD}from"./cjs-Bj40p_Np.js";import{t as Ll}from"./createReducer-DDa-hVe3.js";import{d as yw,l as vw,n as rD,o as bw,p as iD,r as Nu}from"./dist-DKNOF5xd.js";import{i as Sh,r as Ch}from"./main-CwSdzVhm.js";import{n as ww,t as aD}from"./useNonce-EAuSVK-5.js";import{t as Hi}from"./requests-C0HaHO6a.js";import{a as oD,c as sD,d as lD,f as _w,i as cD,l as uD,n as dD,o as Eh,r as fD,s as Th,t as pD,u as hD}from"./dist-BuhT82Xx.js";import{t as Ct}from"./createLucideIcon-CW2xpJ57.js";import{t as mD}from"./check-CrAQug3q.js";import{a as gD,c as yD,i as Rh,m as vD,n as bD,o as xw,r as wD,s as _D,t as xD}from"./select-D9lTzMzP.js";import{t as kD,u as SD}from"./toDate-5JckKRQn.js";import{t as CD}from"./database-zap-CaVvnK_o.js";import{n as ED,t as Iu}from"./DeferredRequestRegistry-B3BENoUa.js";import{t as mr}from"./badge-DAnNhy3O.js";import{t as ce}from"./preload-helper-BW0IMuFq.js";import{a as kw,s as TD}from"./dist-HGZzCB0y.js";import{a as RD,i as Dh,n as DD,r as Sw,t as OD}from"./dist-RKnr9SNh.js";import{n as PD}from"./stex-0ac7Aukl.js";import{t as Nl}from"./use-toast-Bzf3rpev.js";import{n as MD}from"./useTheme-CNj0G_ol.js";import{E as LD,S as ND,_ as Oh,w as Cw,x as ID}from"./Combination-D1TsGrBC.js";import{l as AD}from"./dist-CBrDuocE.js";import{i as qD,t as Ph}from"./tooltip-CvjcEpZC.js";let Ew,bo,Ra,Tw,Rw,Mh,Il,Au,Dw,qu,Ow,Pw,Mw,Lw,wo,Nw,Iw,Aw,Al,ju,qw,zu,ql,jw,Pr,Lh,Nh,jl,Ih,Ah,$n,zw,qh,jh,Cs,Fw,Mr,zh,Da,Bw,Fh,Bh,zl,Hh,Hw,Vh,Vw,$w,Ww,_o,Fl,$h,Uw,Wh,Kw,Uh,Qw,Kh,Qh,Gh,Gw,Bl,Hl,di,Jw,Jh,Xh,Vl,Yh,Fu,Zh,Xw,Yw,Bu,Zw,em,e_,Hu,t_,n_,r_,i_,tm,nm,a_,rm,o_,Vi,s_,Es,Vu,l_,im,am,Ts,$l,c_,om,u_,d_,sm,lm,$u,Wu,cm,f_,p_,Uu,h_,m_,g_,um,Ku,y_,v_,b_,xo,w_,Wl,dm,Qu,__,x_,k_,Ul,Lr,S_,Gu,Kl,$i,fm,C_,Ju,E_,Xu,Yu,T_,ko,pm,R_,Oa,hm,mm,D_,O_,gm,P_,Zu,ed,ym,M_,Jr,L_,So,Pa,vm,N_,bm,td,nd,I_,wm,A_,q_,j_,rd,z_,Ma,F_,id,Rs,_m,B_,xm,H_,km,V_,$_,W_,U_,Ql,Dt,K_,ad,Sm,Gl,Cm,Q_,gr,od,sd,Em,G_,J_,Jl,X_,Y_,Z_,Zn,ld,ex,tx,Tm,Rm,nx,rx,cd,ix,ud,Dm,Xl,ax,La,dd,Om,ox,sx,fd,lx,yt,Pm,cx,yr,Mm,Lm,Nm,ux,jD=(async()=>{var Zi,wf,$a;let Wi,Xr,Na,qm;Wi=Se((e=>{function n(ie,se){var K=ie.length;ie.push(se);e:for(;0<K;){var Le=K-1>>>1,$e=ie[Le];if(0<s($e,se))ie[Le]=se,ie[K]=$e,K=Le;else break e}}function i(ie){return ie.length===0?null:ie[0]}function o(ie){if(ie.length===0)return null;var se=ie[0],K=ie.pop();if(K!==se){ie[0]=K;e:for(var Le=0,$e=ie.length,lt=$e>>>1;Le<lt;){var je=2*(Le+1)-1,He=ie[je],Oe=je+1,Ne=ie[Oe];if(0>s(He,K))Oe<$e&&0>s(Ne,He)?(ie[Le]=Ne,ie[Oe]=K,Le=Oe):(ie[Le]=He,ie[je]=K,Le=je);else if(Oe<$e&&0>s(Ne,K))ie[Le]=Ne,ie[Oe]=K,Le=Oe;else break e}}return se}function s(ie,se){var K=ie.sortIndex-se.sortIndex;return K===0?ie.id-se.id:K}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var d=Date,f=d.now();e.unstable_now=function(){return d.now()-f}}var p=[],y=[],w=1,_=null,C=3,E=!1,T=!1,P=!1,z=!1,$=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;function G(ie){for(var se=i(y);se!==null;){if(se.callback===null)o(y);else if(se.startTime<=ie)o(y),se.sortIndex=se.expirationTime,n(p,se);else break;se=i(y)}}function pe(ie){if(P=!1,G(ie),!T)if(i(p)!==null)T=!0,M||(M=!0,J());else{var se=i(y);se!==null&&ne(pe,se.startTime-ie)}}var M=!1,A=-1,V=5,de=-1;function fe(){return z?!0:!(e.unstable_now()-de<V)}function be(){if(z=!1,M){var ie=e.unstable_now();de=ie;var se=!0;try{e:{T=!1,P&&(P=!1,W(A),A=-1),E=!0;var K=C;try{t:{for(G(ie),_=i(p);_!==null&&!(_.expirationTime>ie&&fe());){var Le=_.callback;if(typeof Le=="function"){_.callback=null,C=_.priorityLevel;var $e=Le(_.expirationTime<=ie);if(ie=e.unstable_now(),typeof $e=="function"){_.callback=$e,G(ie),se=!0;break t}_===i(p)&&o(p),G(ie)}else o(p);_=i(p)}if(_!==null)se=!0;else{var lt=i(y);lt!==null&&ne(pe,lt.startTime-ie),se=!1}}break e}finally{_=null,C=K,E=!1}se=void 0}}finally{se?J():M=!1}}}var J;if(typeof I=="function")J=function(){I(be)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,Ee=we.port2;we.port1.onmessage=be,J=function(){Ee.postMessage(null)}}else J=function(){$(be,0)};function ne(ie,se){A=$(function(){ie(e.unstable_now())},se)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(ie){ie.callback=null},e.unstable_forceFrameRate=function(ie){0>ie||125<ie?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<ie?Math.floor(1e3/ie):5},e.unstable_getCurrentPriorityLevel=function(){return C},e.unstable_next=function(ie){switch(C){case 1:case 2:case 3:var se=3;break;default:se=C}var K=C;C=se;try{return ie()}finally{C=K}},e.unstable_requestPaint=function(){z=!0},e.unstable_runWithPriority=function(ie,se){switch(ie){case 1:case 2:case 3:case 4:case 5:break;default:ie=3}var K=C;C=ie;try{return se()}finally{C=K}},e.unstable_scheduleCallback=function(ie,se,K){var Le=e.unstable_now();switch(typeof K=="object"&&K?(K=K.delay,K=typeof K=="number"&&0<K?Le+K:Le):K=Le,ie){case 1:var $e=-1;break;case 2:$e=250;break;case 5:$e=1073741823;break;case 4:$e=1e4;break;default:$e=5e3}return $e=K+$e,ie={id:w++,callback:se,priorityLevel:ie,startTime:K,expirationTime:$e,sortIndex:-1},K>Le?(ie.sortIndex=K,n(y,ie),i(p)===null&&ie===i(y)&&(P?(W(A),A=-1):P=!0,ne(pe,K-Le))):(ie.sortIndex=$e,n(p,ie),T||E||(T=!0,M||(M=!0,J()))),ie},e.unstable_shouldYield=fe,e.unstable_wrapCallback=function(ie){var se=C;return function(){var K=C;C=se;try{return ie.apply(this,arguments)}finally{C=K}}}})),Xr=Se(((e,n)=>{n.exports=Wi()})),Na=Se((e=>{var n=Xr(),i=Du(),o=YR();function s(t){var r="https://react.dev/errors/"+t;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)r+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+t+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function d(t){var r=t,a=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,r.flags&4098&&(a=r.return),t=r.return;while(t)}return r.tag===3?a:null}function f(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function p(t){if(t.tag===31){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function y(t){if(d(t)!==t)throw Error(s(188))}function w(t){var r=t.alternate;if(!r){if(r=d(t),r===null)throw Error(s(188));return r===t?t:null}for(var a=t,l=r;;){var h=a.return;if(h===null)break;var g=h.alternate;if(g===null){if(l=h.return,l!==null){a=l;continue}break}if(h.child===g.child){for(g=h.child;g;){if(g===a)return y(h),t;if(g===l)return y(h),r;g=g.sibling}throw Error(s(188))}if(a.return!==l.return)a=h,l=g;else{for(var S=!1,D=h.child;D;){if(D===a){S=!0,a=h,l=g;break}if(D===l){S=!0,l=h,a=g;break}D=D.sibling}if(!S){for(D=g.child;D;){if(D===a){S=!0,a=g,l=h;break}if(D===l){S=!0,l=g,a=h;break}D=D.sibling}if(!S)throw Error(s(189))}}if(a.alternate!==l)throw Error(s(190))}if(a.tag!==3)throw Error(s(188));return a.stateNode.current===a?t:r}function _(t){var r=t.tag;if(r===5||r===26||r===27||r===6)return t;for(t=t.child;t!==null;){if(r=_(t),r!==null)return r;t=t.sibling}return null}var C=Object.assign,E=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),G=Symbol.for("react.context"),pe=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),de=Symbol.for("react.lazy"),fe=Symbol.for("react.activity"),be=Symbol.for("react.memo_cache_sentinel"),J=Symbol.iterator;function we(t){return typeof t!="object"||!t?null:(t=J&&t[J]||t["@@iterator"],typeof t=="function"?t:null)}var Ee=Symbol.for("react.client.reference");function ne(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ee?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case z:return"Fragment";case W:return"Profiler";case $:return"StrictMode";case M:return"Suspense";case A:return"SuspenseList";case fe:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case G:return t.displayName||"Context";case I:return(t._context.displayName||"Context")+".Consumer";case pe:var r=t.render;return t=t.displayName,t||(t=(t=r.displayName||r.name||"",t===""?"ForwardRef":"ForwardRef("+t+")")),t;case V:return r=t.displayName||null,r===null?ne(t.type)||"Memo":r;case de:r=t._payload,t=t._init;try{return ne(t(r))}catch{}}return null}var ie=Array.isArray,se=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Le={pending:!1,data:null,method:null,action:null},$e=[],lt=-1;function je(t){return{current:t}}function He(t){0>lt||(t.current=$e[lt],$e[lt]=null,lt--)}function Oe(t,r){lt++,$e[lt]=t.current,t.current=r}var Ne=je(null),yn=je(null),qt=je(null),Dn=je(null);function cn(t,r){switch(Oe(qt,r),Oe(yn,t),Oe(Ne,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?v2(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=v2(r),t=b2(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}He(Ne),Oe(Ne,t)}function We(){He(Ne),He(yn),He(qt)}function en(t){t.memoizedState!==null&&Oe(Dn,t);var r=Ne.current,a=b2(r,t.type);r!==a&&(Oe(yn,t),Oe(Ne,a))}function vt(t){yn.current===t&&(He(Ne),He(yn)),Dn.current===t&&(He(Dn),El._currentValue=Le)}var vn,vr;function ft(t){if(vn===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);vn=r&&r[1]||"",vr=-1<a.stack.indexOf(`
|
|
2
|
+
var UR=Object.defineProperty;var KR=(Wi,Xr,Na)=>Xr in Wi?UR(Wi,Xr,{enumerable:!0,configurable:!0,writable:!0,value:Na}):Wi[Xr]=Na;var ke=(Wi,Xr,Na)=>KR(Wi,typeof Xr!="symbol"?Xr+"":Xr,Na);import{a as Ru,n as U2,o as QR,r as GR,s as yh,t as Se}from"./chunk-LvLJmgfZ.js";import{c as K2,i as st,l as Q2,p as ze,r as JR,s as XR,u as Yn}from"./useEvent-DlWF5OMa.js";import{t as Du}from"./react-BGmjiNul.js";import{t as YR}from"./react-dom-C9fstfnp.js";import{B as ZR,N as e4,P as G2,R as J2,T as X2,k as t4,w as n4}from"./zod-Cg4WLWh2.js";import{t as Gr}from"./compiler-runtime-DeeZ7FnK.js";import{f as r4}from"./_Uint8Array-BGESiCQL.js";import{n as i4}from"./toString-DlRqgfqz.js";import{t as a4}from"./toInteger-CDcO32Gx.js";import{n as o4,u as s4}from"./merge-BBX6ug-N.js";import{l as l4}from"./_baseIsEqual-Cz9Tt_-E.js";import{i as _s,t as c4}from"./useLifecycle-CmDXEyIC.js";import{a as u4,i as d4,n as f4,r as vh,t as p4}from"./type-BdyvjzTI.js";import{t as h4}from"./_baseProperty-DuoFhI7N.js";import{t as Y2}from"./debounce-BbFlGgjv.js";import{a as ci,d as Re,o as Z2,s as m4}from"./hotkeys-uKX61F1_.js";import{t as In}from"./invariant-C6yE60hi.js";import{f as ew,t as g4}from"./utils-Czt8B2GX.js";import{O as y4,j as bh,r as v4}from"./config-CENq_7Pd.js";import{r as tw}from"./useEventListener-COkmyg1v.js";import{t as b4}from"./jsx-runtime-DN_bIXfG.js";import{t as nw}from"./button-B8cGZzP5.js";import{t as Ou}from"./cn-C1rgT0yh.js";import{A as w4,At as _4,Bt as x4,C as k4,D as S4,Et as rw,Gt as iw,H as aw,Ht as ow,I as sw,J as Pu,Jt as xs,Ot as ks,Pt as C4,Rt as Mu,S as E4,St as Ta,T as lw,U as T4,Ut as Lu,Vt as Ol,W as R4,Wt as D4,Xt as Ss,Yt as vo,_t as O4,at as Ut,b as cw,ct as Pl,f as uw,it as P4,k as M4,kt as wh,l as le,mt as L4,nt as dw,ot as N4,p as I4,qt as Fi,rt as Bi,u as fw,ut as A4,xt as _h,z as pw,zt as hn}from"./dist-CAcX026F.js";import{A as q4,E as j4,S as z4,T as F4,_ as B4,b as H4,d as hw,f as V4,h as $4,m as W4,n as U4,o as xh,p as K4,s as Q4,t as G4,u as J4,v as X4,w as Y4,x as Z4}from"./dist-CI6_zMIl.js";import{a as mw,i as eD,n as ui,o as gw,p as kh,s as Ml}from"./once-CTiSlR1m.js";import{t as tD}from"./capabilities-BmAOeMOK.js";import{t as nD}from"./cjs-Bj40p_Np.js";import{t as Ll}from"./createReducer-DDa-hVe3.js";import{d as yw,l as vw,n as rD,o as bw,p as iD,r as Nu}from"./dist-DKNOF5xd.js";import{i as Sh,r as Ch}from"./main-CwSdzVhm.js";import{n as ww,t as aD}from"./useNonce-EAuSVK-5.js";import{t as Hi}from"./requests-C0HaHO6a.js";import{a as oD,c as sD,d as lD,f as _w,i as cD,l as uD,n as dD,o as Eh,r as fD,s as Th,t as pD,u as hD}from"./dist-BuhT82Xx.js";import{t as Ct}from"./createLucideIcon-CW2xpJ57.js";import{t as mD}from"./check-CrAQug3q.js";import{a as gD,c as yD,i as Rh,m as vD,n as bD,o as xw,r as wD,s as _D,t as xD}from"./select-D9lTzMzP.js";import{t as kD,u as SD}from"./toDate-5JckKRQn.js";import{t as CD}from"./database-zap-CaVvnK_o.js";import{n as ED,t as Iu}from"./DeferredRequestRegistry-B3BENoUa.js";import{t as mr}from"./badge-DAnNhy3O.js";import{t as ce}from"./preload-helper-BW0IMuFq.js";import{a as kw,s as TD}from"./dist-HGZzCB0y.js";import{a as RD,i as Dh,n as DD,r as Sw,t as OD}from"./dist-RKnr9SNh.js";import{n as PD}from"./stex-0ac7Aukl.js";import{t as Nl}from"./use-toast-Bzf3rpev.js";import{n as MD}from"./useTheme-BSVRc0kJ.js";import{E as LD,S as ND,_ as Oh,w as Cw,x as ID}from"./Combination-D1TsGrBC.js";import{l as AD}from"./dist-CBrDuocE.js";import{i as qD,t as Ph}from"./tooltip-CvjcEpZC.js";let Ew,bo,Ra,Tw,Rw,Mh,Il,Au,Dw,qu,Ow,Pw,Mw,Lw,wo,Nw,Iw,Aw,Al,ju,qw,zu,ql,jw,Pr,Lh,Nh,jl,Ih,Ah,$n,zw,qh,jh,Cs,Fw,Mr,zh,Da,Bw,Fh,Bh,zl,Hh,Hw,Vh,Vw,$w,Ww,_o,Fl,$h,Uw,Wh,Kw,Uh,Qw,Kh,Qh,Gh,Gw,Bl,Hl,di,Jw,Jh,Xh,Vl,Yh,Fu,Zh,Xw,Yw,Bu,Zw,em,e_,Hu,t_,n_,r_,i_,tm,nm,a_,rm,o_,Vi,s_,Es,Vu,l_,im,am,Ts,$l,c_,om,u_,d_,sm,lm,$u,Wu,cm,f_,p_,Uu,h_,m_,g_,um,Ku,y_,v_,b_,xo,w_,Wl,dm,Qu,__,x_,k_,Ul,Lr,S_,Gu,Kl,$i,fm,C_,Ju,E_,Xu,Yu,T_,ko,pm,R_,Oa,hm,mm,D_,O_,gm,P_,Zu,ed,ym,M_,Jr,L_,So,Pa,vm,N_,bm,td,nd,I_,wm,A_,q_,j_,rd,z_,Ma,F_,id,Rs,_m,B_,xm,H_,km,V_,$_,W_,U_,Ql,Dt,K_,ad,Sm,Gl,Cm,Q_,gr,od,sd,Em,G_,J_,Jl,X_,Y_,Z_,Zn,ld,ex,tx,Tm,Rm,nx,rx,cd,ix,ud,Dm,Xl,ax,La,dd,Om,ox,sx,fd,lx,yt,Pm,cx,yr,Mm,Lm,Nm,ux,jD=(async()=>{var Zi,wf,$a;let Wi,Xr,Na,qm;Wi=Se((e=>{function n(ie,se){var K=ie.length;ie.push(se);e:for(;0<K;){var Le=K-1>>>1,$e=ie[Le];if(0<s($e,se))ie[Le]=se,ie[K]=$e,K=Le;else break e}}function i(ie){return ie.length===0?null:ie[0]}function o(ie){if(ie.length===0)return null;var se=ie[0],K=ie.pop();if(K!==se){ie[0]=K;e:for(var Le=0,$e=ie.length,lt=$e>>>1;Le<lt;){var je=2*(Le+1)-1,He=ie[je],Oe=je+1,Ne=ie[Oe];if(0>s(He,K))Oe<$e&&0>s(Ne,He)?(ie[Le]=Ne,ie[Oe]=K,Le=Oe):(ie[Le]=He,ie[je]=K,Le=je);else if(Oe<$e&&0>s(Ne,K))ie[Le]=Ne,ie[Oe]=K,Le=Oe;else break e}}return se}function s(ie,se){var K=ie.sortIndex-se.sortIndex;return K===0?ie.id-se.id:K}if(e.unstable_now=void 0,typeof performance=="object"&&typeof performance.now=="function"){var c=performance;e.unstable_now=function(){return c.now()}}else{var d=Date,f=d.now();e.unstable_now=function(){return d.now()-f}}var p=[],y=[],w=1,_=null,C=3,E=!1,T=!1,P=!1,z=!1,$=typeof setTimeout=="function"?setTimeout:null,W=typeof clearTimeout=="function"?clearTimeout:null,I=typeof setImmediate<"u"?setImmediate:null;function G(ie){for(var se=i(y);se!==null;){if(se.callback===null)o(y);else if(se.startTime<=ie)o(y),se.sortIndex=se.expirationTime,n(p,se);else break;se=i(y)}}function pe(ie){if(P=!1,G(ie),!T)if(i(p)!==null)T=!0,M||(M=!0,J());else{var se=i(y);se!==null&&ne(pe,se.startTime-ie)}}var M=!1,A=-1,V=5,de=-1;function fe(){return z?!0:!(e.unstable_now()-de<V)}function be(){if(z=!1,M){var ie=e.unstable_now();de=ie;var se=!0;try{e:{T=!1,P&&(P=!1,W(A),A=-1),E=!0;var K=C;try{t:{for(G(ie),_=i(p);_!==null&&!(_.expirationTime>ie&&fe());){var Le=_.callback;if(typeof Le=="function"){_.callback=null,C=_.priorityLevel;var $e=Le(_.expirationTime<=ie);if(ie=e.unstable_now(),typeof $e=="function"){_.callback=$e,G(ie),se=!0;break t}_===i(p)&&o(p),G(ie)}else o(p);_=i(p)}if(_!==null)se=!0;else{var lt=i(y);lt!==null&&ne(pe,lt.startTime-ie),se=!1}}break e}finally{_=null,C=K,E=!1}se=void 0}}finally{se?J():M=!1}}}var J;if(typeof I=="function")J=function(){I(be)};else if(typeof MessageChannel<"u"){var we=new MessageChannel,Ee=we.port2;we.port1.onmessage=be,J=function(){Ee.postMessage(null)}}else J=function(){$(be,0)};function ne(ie,se){A=$(function(){ie(e.unstable_now())},se)}e.unstable_IdlePriority=5,e.unstable_ImmediatePriority=1,e.unstable_LowPriority=4,e.unstable_NormalPriority=3,e.unstable_Profiling=null,e.unstable_UserBlockingPriority=2,e.unstable_cancelCallback=function(ie){ie.callback=null},e.unstable_forceFrameRate=function(ie){0>ie||125<ie?console.error("forceFrameRate takes a positive int between 0 and 125, forcing frame rates higher than 125 fps is not supported"):V=0<ie?Math.floor(1e3/ie):5},e.unstable_getCurrentPriorityLevel=function(){return C},e.unstable_next=function(ie){switch(C){case 1:case 2:case 3:var se=3;break;default:se=C}var K=C;C=se;try{return ie()}finally{C=K}},e.unstable_requestPaint=function(){z=!0},e.unstable_runWithPriority=function(ie,se){switch(ie){case 1:case 2:case 3:case 4:case 5:break;default:ie=3}var K=C;C=ie;try{return se()}finally{C=K}},e.unstable_scheduleCallback=function(ie,se,K){var Le=e.unstable_now();switch(typeof K=="object"&&K?(K=K.delay,K=typeof K=="number"&&0<K?Le+K:Le):K=Le,ie){case 1:var $e=-1;break;case 2:$e=250;break;case 5:$e=1073741823;break;case 4:$e=1e4;break;default:$e=5e3}return $e=K+$e,ie={id:w++,callback:se,priorityLevel:ie,startTime:K,expirationTime:$e,sortIndex:-1},K>Le?(ie.sortIndex=K,n(y,ie),i(p)===null&&ie===i(y)&&(P?(W(A),A=-1):P=!0,ne(pe,K-Le))):(ie.sortIndex=$e,n(p,ie),T||E||(T=!0,M||(M=!0,J()))),ie},e.unstable_shouldYield=fe,e.unstable_wrapCallback=function(ie){var se=C;return function(){var K=C;C=se;try{return ie.apply(this,arguments)}finally{C=K}}}})),Xr=Se(((e,n)=>{n.exports=Wi()})),Na=Se((e=>{var n=Xr(),i=Du(),o=YR();function s(t){var r="https://react.dev/errors/"+t;if(1<arguments.length){r+="?args[]="+encodeURIComponent(arguments[1]);for(var a=2;a<arguments.length;a++)r+="&args[]="+encodeURIComponent(arguments[a])}return"Minified React error #"+t+"; visit "+r+" for the full message or use the non-minified dev environment for full errors and additional helpful warnings."}function c(t){return!(!t||t.nodeType!==1&&t.nodeType!==9&&t.nodeType!==11)}function d(t){var r=t,a=t;if(t.alternate)for(;r.return;)r=r.return;else{t=r;do r=t,r.flags&4098&&(a=r.return),t=r.return;while(t)}return r.tag===3?a:null}function f(t){if(t.tag===13){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function p(t){if(t.tag===31){var r=t.memoizedState;if(r===null&&(t=t.alternate,t!==null&&(r=t.memoizedState)),r!==null)return r.dehydrated}return null}function y(t){if(d(t)!==t)throw Error(s(188))}function w(t){var r=t.alternate;if(!r){if(r=d(t),r===null)throw Error(s(188));return r===t?t:null}for(var a=t,l=r;;){var h=a.return;if(h===null)break;var g=h.alternate;if(g===null){if(l=h.return,l!==null){a=l;continue}break}if(h.child===g.child){for(g=h.child;g;){if(g===a)return y(h),t;if(g===l)return y(h),r;g=g.sibling}throw Error(s(188))}if(a.return!==l.return)a=h,l=g;else{for(var S=!1,D=h.child;D;){if(D===a){S=!0,a=h,l=g;break}if(D===l){S=!0,l=h,a=g;break}D=D.sibling}if(!S){for(D=g.child;D;){if(D===a){S=!0,a=g,l=h;break}if(D===l){S=!0,l=g,a=h;break}D=D.sibling}if(!S)throw Error(s(189))}}if(a.alternate!==l)throw Error(s(190))}if(a.tag!==3)throw Error(s(188));return a.stateNode.current===a?t:r}function _(t){var r=t.tag;if(r===5||r===26||r===27||r===6)return t;for(t=t.child;t!==null;){if(r=_(t),r!==null)return r;t=t.sibling}return null}var C=Object.assign,E=Symbol.for("react.element"),T=Symbol.for("react.transitional.element"),P=Symbol.for("react.portal"),z=Symbol.for("react.fragment"),$=Symbol.for("react.strict_mode"),W=Symbol.for("react.profiler"),I=Symbol.for("react.consumer"),G=Symbol.for("react.context"),pe=Symbol.for("react.forward_ref"),M=Symbol.for("react.suspense"),A=Symbol.for("react.suspense_list"),V=Symbol.for("react.memo"),de=Symbol.for("react.lazy"),fe=Symbol.for("react.activity"),be=Symbol.for("react.memo_cache_sentinel"),J=Symbol.iterator;function we(t){return typeof t!="object"||!t?null:(t=J&&t[J]||t["@@iterator"],typeof t=="function"?t:null)}var Ee=Symbol.for("react.client.reference");function ne(t){if(t==null)return null;if(typeof t=="function")return t.$$typeof===Ee?null:t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case z:return"Fragment";case W:return"Profiler";case $:return"StrictMode";case M:return"Suspense";case A:return"SuspenseList";case fe:return"Activity"}if(typeof t=="object")switch(t.$$typeof){case P:return"Portal";case G:return t.displayName||"Context";case I:return(t._context.displayName||"Context")+".Consumer";case pe:var r=t.render;return t=t.displayName,t||(t=(t=r.displayName||r.name||"",t===""?"ForwardRef":"ForwardRef("+t+")")),t;case V:return r=t.displayName||null,r===null?ne(t.type)||"Memo":r;case de:r=t._payload,t=t._init;try{return ne(t(r))}catch{}}return null}var ie=Array.isArray,se=i.__CLIENT_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,K=o.__DOM_INTERNALS_DO_NOT_USE_OR_WARN_USERS_THEY_CANNOT_UPGRADE,Le={pending:!1,data:null,method:null,action:null},$e=[],lt=-1;function je(t){return{current:t}}function He(t){0>lt||(t.current=$e[lt],$e[lt]=null,lt--)}function Oe(t,r){lt++,$e[lt]=t.current,t.current=r}var Ne=je(null),yn=je(null),qt=je(null),Dn=je(null);function cn(t,r){switch(Oe(qt,r),Oe(yn,t),Oe(Ne,null),r.nodeType){case 9:case 11:t=(t=r.documentElement)&&(t=t.namespaceURI)?v2(t):0;break;default:if(t=r.tagName,r=r.namespaceURI)r=v2(r),t=b2(r,t);else switch(t){case"svg":t=1;break;case"math":t=2;break;default:t=0}}He(Ne),Oe(Ne,t)}function We(){He(Ne),He(yn),He(qt)}function en(t){t.memoizedState!==null&&Oe(Dn,t);var r=Ne.current,a=b2(r,t.type);r!==a&&(Oe(yn,t),Oe(Ne,a))}function vt(t){yn.current===t&&(He(Ne),He(yn)),Dn.current===t&&(He(Dn),El._currentValue=Le)}var vn,vr;function ft(t){if(vn===void 0)try{throw Error()}catch(a){var r=a.stack.trim().match(/\n( *(at )?)/);vn=r&&r[1]||"",vr=-1<a.stack.indexOf(`
|
|
3
3
|
at`)?" (<anonymous>)":-1<a.stack.indexOf("@")?"@unknown:0:0":""}return`
|
|
4
4
|
`+vn+t+vr}var zr=!1;function tn(t,r){if(!t||zr)return"";zr=!0;var a=Error.prepareStackTrace;Error.prepareStackTrace=void 0;try{var l={DetermineComponentFrameRoot:function(){try{if(r){var ge=function(){throw Error()};if(Object.defineProperty(ge.prototype,"props",{set:function(){throw Error()}}),typeof Reflect=="object"&&Reflect.construct){try{Reflect.construct(ge,[])}catch(ue){var ae=ue}Reflect.construct(t,[],ge)}else{try{ge.call()}catch(ue){ae=ue}t.call(ge.prototype)}}else{try{throw Error()}catch(ue){ae=ue}(ge=t())&&typeof ge.catch=="function"&&ge.catch(function(){})}}catch(ue){if(ue&&ae&&typeof ue.stack=="string")return[ue.stack,ae.stack]}return[null,null]}};l.DetermineComponentFrameRoot.displayName="DetermineComponentFrameRoot";var h=Object.getOwnPropertyDescriptor(l.DetermineComponentFrameRoot,"name");h&&h.configurable&&Object.defineProperty(l.DetermineComponentFrameRoot,"name",{value:"DetermineComponentFrameRoot"});var g=l.DetermineComponentFrameRoot(),S=g[0],D=g[1];if(S&&D){var H=S.split(`
|
|
5
5
|
`),te=D.split(`
|
|
@@ -133,7 +133,7 @@ mark line col
|
|
|
133
133
|
`),p=c.split(`
|
|
134
134
|
`);if(f.length!==p.length)throw Re.warn("[lsp] cannot apply rename with new lines",f,p),Error("Cannot apply rename when there are new lines");let y=[];for(let[w,_]of ci.entries(n)){if(!i.has(w))continue;let C=i.get(w)??0,E=_.split(`
|
|
135
135
|
`).length,T=f.slice(C,C+E);y.push({cellId:w,text:T.join(`
|
|
136
|
-
`)})}return y},transformPosition:(d,f)=>uc(d,s(f)),reversePosition:(d,f)=>uc(d,-s(f))}}function jy(e,n){return{start:uc(e.start,n),end:uc(e.end,n)}}function uc(e,n){return{line:e.line+n,character:e.character}}const rr={PREFIX:"file:///",of(e){return`${this.PREFIX}${e}`},is(e){return e.startsWith(this.PREFIX)},parse(e){return In(this.is(e),`Invalid cell document URI: ${e}`),e.slice(this.PREFIX.length)}};function zy(e){return"notify"in e}function YC(e){return e.startsWith("_")&&!e.startsWith("__")}var ZC=class{constructor(e){ke(this,"documentVersion",0);ke(this,"versionToCellNumberAndVersion",new Ps(20));ke(this,"lastSnapshot",null);this.getNotebookCode=e}snapshot(){var i;let e=this.getLens(),n=((i=this.lastSnapshot)==null?void 0:i.mergedText)!==e.mergedText;return n?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:n,version:this.documentVersion}):{lens:e,didChange:n,version:this.documentVersion}}getSnapshot(e){let n=this.versionToCellNumberAndVersion.get(e);if(!n)throw Error(`No snapshot for version ${e}`);return n}getLatestSnapshot(){if(!this.lastSnapshot)throw Error("No snapshots");return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:n}=this.getNotebookCode();return XC(e,n)}},eE=()=>{let e=rd().cellHandles;return ci.mapValues(e,n=>{var i;return(i=n.current)==null?void 0:i.editorViewOrNull})},rf=(Zi=class{constructor(n,i,o=eE){ke(this,"completionItemCache",new Ps(10));this.documentUri=Ay(),this.getNotebookEditors=o,this.initialSettings=i,this.client=n,this.patchProcessNotification(),this.initializePromise.then(()=>{In(zy(this.client),"notify is not a method on the client"),this.client.notify("workspace/didChangeConfiguration",{settings:i})}),this.snapshotter=new ZC(this.getNotebookCode.bind(this))}onNotification(n){return this.client.onNotification(n)}get ready(){return this.client.ready}set ready(n){this.client.ready=n}get capabilities(){return this.client.capabilities}set capabilities(n){this.client.capabilities=n}get initializePromise(){return this.client.initializePromise}set initializePromise(n){this.client.initializePromise=n}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.client.close()}async resyncAllDocuments(){In(zy(this.client),"notify is not a method on the client"),await this.client.initialize(),this.client.notify("workspace/didChangeConfiguration",{settings:this.initialSettings});let{lens:n,version:i}=this.snapshotter.snapshot();await this.client.textDocumentDidOpen({textDocument:{languageId:"python",text:n.mergedText,uri:this.documentUri,version:i}}),Re.log("[lsp] Document re-synchronization complete")}getNotebookCode(){return st.get(GC)}assertCellDocumentUri(n){In(rr.is(n),"Execpted URI to be CellDocumentUri")}async textDocumentDidOpen(n){Re.debug("[lsp] textDocumentDidOpen",n);let i=n.textDocument.uri;this.assertCellDocumentUri(i);let{lens:o,version:s}=this.snapshotter.snapshot();Zi.SEEN_CELL_DOCUMENT_URIS.add(i);let c=await this.client.textDocumentDidOpen({textDocument:{languageId:n.textDocument.languageId,text:o.mergedText,uri:this.documentUri,version:s}});return c?{...c,textDocument:{...c.textDocument,text:o.mergedText}}:n}async sync(){let{lens:n,version:i,didChange:o}=this.snapshotter.snapshot();return o?this.client.textDocumentDidChange({textDocument:{uri:this.documentUri,version:i},contentChanges:[{text:n.mergedText}]}):{textDocument:{uri:this.documentUri,version:i},contentChanges:[{text:n.mergedText}]}}async textDocumentDidChange(n){return Re.debug("[lsp] textDocumentDidChange",n),n.contentChanges.length===1?this.sync():(Re.warn("[lsp] Unhandled textDocumentDidChange",n),this.client.textDocumentDidChange(n))}async textDocumentDefinition(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return this.client.textDocumentDefinition({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentSignatureHelp(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return await this.client.textDocumentSignatureHelp({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})||null}textDocumentCodeAction(n){return Promise.resolve(null)}async textDocumentRename(n){var T;let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;let o=rr.parse(i);await this.sync();let{lens:s}=this.snapshotter.getLatestSnapshot(),c=s.transformPosition(n.position,o),d=await this.client.textDocumentRename({...n,textDocument:{uri:this.documentUri},position:c});if(!d)return null;let f=(T=d.documentChanges)==null?void 0:T.flatMap(P=>"edits"in P?P.edits:[]);if(!f||f.length!==1)return Re.warn("Expected exactly one edit",f),d;let p=f[0];if(!("newText"in p))return Re.warn("Expected newText in edit",p),d;let y=s.getEditsForNewText(p.newText),w=new Map(y.map(P=>[P.cellId,P.text])),_=this.getNotebookEditors(),C=_[o],E=!1;if(C){let P=C.state.doc.line(n.position.line+1).from+n.position.character,{startToken:z,endToken:$}=Gd(C.state.doc,P),W=C.state.doc.sliceString(z,$);E=YC(W),E&&Re.debug("[lsp] Private variable rename detected, limiting to current cell",W)}for(let[P,z]of ci.entries(_)){if(E&&P!==o)continue;let $=w.get(P);if($==null){Re.warn("No new code for cell",P);continue}if(!z){Re.warn("No view for plugin",P);continue}Jr(z)!==$&&xo(z,$)}return{...d,documentChanges:[{edits:[],textDocument:{uri:i,version:0}}]}}async completionItemResolve(n){let i=JSON.stringify(n),o=this.completionItemCache.get(i);if(o)return o;let s=this.client.completionItemResolve(n);return this.completionItemCache.set(i,s),s}async textDocumentPrepareRename(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return this.client.textDocumentPrepareRename({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentHover(n){Re.debug("[lsp] textDocumentHover",n),await this.sync();let{lens:i}=this.snapshotter.getLatestSnapshot(),o=rr.parse(n.textDocument.uri),s=await this.client.textDocumentHover({...n,textDocument:{uri:this.documentUri},position:i.transformPosition(n.position,o)});return s?(typeof s.contents=="object"&&"kind"in s.contents&&(s.contents={kind:"markdown",value:s.contents.value}),s.contents===""?null:(s.range&&(s.range=i.reverseRange(s.range,o)),s)):(Re.debug("[lsp] no hover result"),s)}async textDocumentCompletion(n){let{lens:i}=this.snapshotter.getLatestSnapshot(),o=rr.parse(n.textDocument.uri);return this.client.textDocumentCompletion({...n,textDocument:{uri:this.documentUri},position:i.transformPosition(n.position,o)})}patchProcessNotification(){In("processNotification"in this.client,"processNotification is not a method on the client");let n=this.client.processNotification.bind(this.client),i=o=>{if(o.method==="textDocument/publishDiagnostics"){Re.debug("[lsp] handling diagnostics",o);let s=this.snapshotter.getLatestSnapshot(),c=o.params.diagnostics,{lens:d,version:f}=s,p=new Map;for(let w of c)for(let _ of d.cellIds)if(d.isInRange(w.range,_)){p.has(_)||p.set(_,[]);let C={...w,range:d.reverseRange(w.range,_)};p.get(_).push(C);break}let y=new Set(Zi.SEEN_CELL_DOCUMENT_URIS);for(let[w,_]of p.entries()){Re.debug("[lsp] diagnostics for cell",w,_);let C=rr.of(w);y.delete(C),n({...o,params:{...o.params,uri:C,version:f,diagnostics:_}})}if(y.size>0){Re.debug("[lsp] clearing diagnostics",y);for(let w of y)n({method:"textDocument/publishDiagnostics",params:{uri:w,diagnostics:[]}})}return}return n(o)};this.client.processNotification=i}},ke(Zi,"SEEN_CELL_DOCUMENT_URIS",new Set),Zi),tE=Il(),nE=Pa(),rE=class extends nE.Transport{constructor(n){super();ke(this,"isClosed",!1);ke(this,"hasConnectedBefore",!1);this.options=n,this.delegate=void 0}createDelegate(){if(this.delegate)try{this.delegate.close()}catch(n){Re.warn("Error closing old WebSocket delegate",n)}return this.delegate=new tE.WebSocketTransport(this.options.getWsUrl()),this.delegate}isDelegateClosedOrClosing(){if(!this.delegate)return!0;let n=this.delegate.connection;return n?n.readyState===WebSocket.CLOSING||n.readyState===WebSocket.CLOSED:!0}async connect(){if(this.isClosed)throw Error("Transport is closed");return this.connectionPromise||(this.connectionPromise=(async()=>{try{this.options.waitForConnection&&await this.options.waitForConnection();let n=this.delegate;(!n||this.isDelegateClosedOrClosing())&&(n=this.createDelegate()),await n.connect(),Re.log("WebSocket transport connected successfully");let i=this.hasConnectedBefore;this.hasConnectedBefore=!0,i&&this.options.onReconnect&&(Re.log("Calling onReconnect callback to re-synchronize state"),await this.options.onReconnect())}catch(n){throw Re.error("WebSocket transport connection failed",n),this.delegate=void 0,n}finally{this.connectionPromise=void 0}})()),this.connectionPromise}close(){var n;this.isClosed=!0,(n=this.delegate)==null||n.close(),this.delegate=void 0,this.connectionPromise=void 0}async sendData(n,i){var o;if(this.isDelegateClosedOrClosing()){Re.warn("WebSocket is closed or closing, attempting to reconnect");try{await this.connect()}catch(s){throw Re.error("Failed to reconnect WebSocket",s),s}}return(o=this.delegate)==null?void 0:o.sendData(n,i)}};function af(e,n){let i=v4();return new rE({getWsUrl:()=>i.getLSPURL(e).toString(),waitForConnection:async()=>{await y4()},onReconnect:n})}Fi.define(),new Mu;function iE(e){return e.facet(x4.readOnly)}function aE(e){return[rw(e),Ta.of([{key:"ArrowRight",preventDefault:!0,run:n=>Fy(n,e)},{key:"Tab",preventDefault:!0,run:n=>Fy(n,e)}])]}function Fy(e,n){if(iE(e.state))return!1;let i=e.state.doc.length;return i===0?(e.dispatch({changes:{from:0,to:i,insert:n},selection:{head:n.length,anchor:n.length}}),!0):!1}function oE(e){let{beforeText:n,linkText:i,afterText:o,onClick:s}=e;return[rw(c=>{let d=document.createElement("span");d.append(document.createTextNode(n));let f=document.createElement("span");return f.textContent=i,f.classList.add("cm-clickable-placeholder"),f.onclick=p=>{p.stopPropagation(),s(c)},d.append(f),d.append(document.createTextNode(o)),d}),Ut.theme({".cm-placeholder":{color:"var(--slate-8)"},".cm-clickable-placeholder":{cursor:"pointer !important",pointerEvents:"auto",color:"var(--slate-9)",textDecoration:"underline",textUnderlineOffset:"0.2em"},".cm-clickable-placeholder:hover":{color:"var(--sky-11)"}})]}var sE=ui(e=>{let n,i={transport:af("pylsp",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[]},o=e==null?void 0:e.pylsp,s=["D100","D103"],c=["W292","E402"],d=["B018","I001"],f={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:["numpy"]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:o==null?void 0:o.enable_flake8,extendIgnore:c},pydocstyle:{enabled:o==null?void 0:o.enable_pydocstyle,ignore:s},pylint:{enabled:o==null?void 0:o.enable_pylint},pyflakes:{enabled:o==null?void 0:o.enable_pyflakes},pylsp_mypy:{enabled:o==null?void 0:o.enable_mypy,live_mode:!0},ruff:{enabled:o==null?void 0:o.enable_ruff,extendIgnore:[...c,...s,...d]},signature:{formatter:o!=null&&o.enable_ruff?"ruff":"black",line_length:88}}}},p=new rf(new Hl({...i}),f);return n=()=>p.resyncAllDocuments(),p}),lE=ui(e=>{let n,i=new rf(new Hl({transport:af("ty",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[],getWorkspaceConfiguration:o=>[{disableLanguageServices:!0}]}),{});return n=()=>i.resyncAllDocuments(),i}),cE=ui(e=>{let n,i=new rf(new Hl({transport:af("basedpyright",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[]}),{});return n=()=>i.resyncAllDocuments(),i}),uE=class{constructor(){ke(this,"parser",new gS);ke(this,"type","python");ke(this,"defaultCode",this.parser.defaultCode);ke(this,"defaultMetadata",this.parser.defaultMetadata)}transformIn(e){let n=this.parser.transformIn(e);return[n.code,n.offset,n.metadata]}transformOut(e,n){let i=this.parser.transformOut(e,n);return[i.code,i.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,n,i,o,s){return[(()=>{var w,_,C,E;let c={defaultKeymap:!1,activateOnTyping:n.activate_on_typing,closeOnBlur:!1},d={hideOnChange:!0},f=[];(w=s==null?void 0:s.pylsp)!=null&&w.enabled&&sc("pylsp")&&f.push(sE(s)),(_=s==null?void 0:s.ty)!=null&&_.enabled&&sc("ty")&&f.push(lE(s)),(C=s==null?void 0:s.basedpyright)!=null&&C.enabled&&sc("basedpyright")&&f.push(cE(s));let p=n.signature_hint_on_typing,y=p?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(f.length>0){let T=f.length===1?f[0]:new VC(f);return[tm({client:T,languageId:"python",allowHTMLContent:!0,useSnippetOnCompletion:!1,hoverConfig:d,completionConfig:c,diagnosticsEnabled:((E=s.diagnostics)==null?void 0:E.enabled)??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:p,signatureHelpOptions:{position:"above"},keyboardShortcuts:{signatureHelp:i.getHotkey("cell.signatureHelp").key,goToDefinition:i.getHotkey("cell.goToDefinition").key,rename:i.getHotkey("cell.renameSymbol").key},completionMatchBefore:y,onGoToDefinition:P=>{Re.debug("onGoToDefinition",P),T.documentUri!==P.uri&&Hi().openFile({path:P.uri.replace("file://","")})}}),gg.of(rr.of(e))]}return Nu({...c,override:[Oy]})})(),nm(),dE(o)]}};function dE(e){return e==="marimo-import"?Lu.highest(aE("import marimo as mo")):e==="ai"?oE({beforeText:"Start coding or ",linkText:"generate",afterText:" with AI.",onClick:n=>{n.state.facet(Dt).aiCellCompletion()}}):[]}var of=Dh.configure({props:[S4.add({ParenthesizedExpression:lw,ArgList:lw})]});nm=function(){return new fw(of,[of.data.of({autocomplete:DD}),of.data.of({autocomplete:OD})])};const fE=e=>{let n;return async()=>(n||(n=e()),await n)};var dc=class{constructor(e={}){ke(this,"opts");ke(this,"parser",null);ke(this,"offsetRecord",{});ke(this,"getParser",fE(async()=>{if(this.parser)return this.parser;let e=await ce(()=>import("./node-sql-parser-DFzvtOsy.js").then(async i=>(await i.__tla,i)).then(QR(1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=e.default||e;return this.parser=new n,this.parser}));this.opts=e}async parse(e,n){var s,c;this.offsetRecord={};let i=(c=(s=this.opts).getParserOptions)==null?void 0:c.call(s,n.state),o=await this.sanitizeSql(e,i);try{let d=await this.getParser();return(i==null?void 0:i.database)==="DuckDB"?this.parseWithDuckDBSupport(o,i):{success:!0,errors:[],ast:d.astify(o,i)}}catch(d){return{success:!1,errors:[this.extractErrorInfo(d,o)]}}}async sanitizeSql(e,n){if(n!=null&&n.ignoreBrackets){let{sql:i,offsetRecord:o}=mE(e);return this.offsetRecord=o,i}return e}async parseWithDuckDBSupport(e,n){let i=await this.getParser(),o=pE(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return{success:!0,errors:[]};let s=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,s=e.replace(/create or replace table/i,"create table"));try{let c={...n,database:"PostgreSQL"};return{success:!0,errors:[],ast:i.astify(s,c)}}catch(c){return{success:!1,errors:[this.extractErrorInfo(c,e)]}}}extractErrorInfo(e,n){var d,f,p;let i=1,o=1,s=(e==null?void 0:e.message)||"SQL parsing error",c=e;if(c!=null&&c.location)i=((d=c.location.start)==null?void 0:d.line)||1,o=((f=c.location.start)==null?void 0:f.column)||1;else if(c!=null&&c.hash)i=c.hash.line||1,o=((p=c.hash.loc)==null?void 0:p.first_column)||1;else{let y=s.match(/line (\d+)/i),w=s.match(/column (\d+)/i);y!=null&&y[1]&&(i=parseInt(y[1],10)),w!=null&&w[1]&&(o=parseInt(w[1],10))}for(let[y,w]of Object.entries(this.offsetRecord))o>parseInt(y,10)&&(o-=w);return o>n.length&&(o=n.length),{message:this.cleanErrorMessage(s),line:Math.max(1,i),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,n=>n.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,n){return(await this.parse(e,n)).errors}async extractTableReferences(e,n){var o,s;let i=n?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).tableList(e,i).map(c=>{let d=c.split("::");return d[d.length-1]||c})}catch{return[]}}async extractColumnReferences(e,n){var o,s;let i=n!=null&&n.state?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).columnList(e,i).map(c=>{let d=c.split("::");return d[d.length-1]||c})}catch{return[]}}};function pE(e,n=["/*","--"]){let i=[];if(n.includes("/*")&&i.push("/\\*[\\s\\S]*?\\*/"),n.includes("--")&&i.push("--[^\\n]*"),i.length===0)return e;let o=RegExp(`^\\s*(${i.join("|")})\\s*`,""),s=e,c="";for(;s!==c;)c=s,s=s.replace(o,"");return s}var hE=2;function mE(e){let n={};return{sql:e.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(i,o,s,c,d)=>o||s?i:c?(n[d]=hE,`'${c}'`):i),offsetRecord:n}}var gE=750;function yE(e,n){let i=n.line(e.line).from+Math.max(0,e.column-1);return{from:i,to:i+1,severity:e.severity,message:e.message,source:"sql-parser"}}function vE(e={}){let n=e.parser||new dc;return J4(async i=>{let o=i.state.doc,s=o.toString();return s.trim()?(await n.validateSql(s,{state:i.state})).map(c=>yE(c,o)):[]},{delay:e.delay||gE})}function Ha(e){return typeof e=="object"&&!Array.isArray(e)&&!("self"in e)}function pi(e){return typeof e=="object"&&!Array.isArray(e)&&"self"in e&&"children"in e}function jr(e){return Array.isArray(e)}function qn(e,n,i,o){let s=e.length;if(n==="string"||n==="completion"&&o&&jr(o))return"column";if(n==="namespace"&&i){if(jr(i))return"table";if(Ha(i))return Object.values(i).some(c=>jr(c)||pi(c)&&jr(c.children))?s<=1?"database":"schema":s===0?"database":"namespace"}if(n==="completion"&&i)return jr(i)?"table":(Ha(i)&&Object.values(i).some(c=>jr(c)||pi(c)&&jr(c.children)),s<=1?"database":"schema");switch(s){case 0:return"database";case 1:return"schema";default:return"namespace"}}function By(e,n,i={}){let{maxDepth:o=10}=i;if(n===""&&pi(e)){let c=qn([],"completion",e.children);return{completion:e.self,path:[],type:"completion",semanticType:c,namespace:e.children}}let s=n.split(".").filter(c=>c.length>0);return s.length===0||s.length>o?null:sf(e,s,[],i)}function sf(e,n,i,o,s){if(n.length===0){if(pi(e)){let p=qn(i,"completion",e.children,s);return{completion:e.self,path:i,type:"completion",semanticType:p,namespace:e.children}}return{path:i,type:"namespace",semanticType:qn(i,"namespace",e,s),namespace:e}}let[c,...d]=n,{caseSensitive:f=!1}=o;if(!c)return null;if(Ha(e)){let p=f?Object.keys(e).find(y=>y===c):Object.keys(e).find(y=>y.toLowerCase()===c.toLowerCase());if(p){let y=e[p];if(y)return sf(y,d,[...i,p],o,e)}}else{if(pi(e))return sf(e.children,n,i,o,e);if(jr(e)){for(let p of e)if(typeof p=="string"){if((f?p===c:p.toLowerCase()===c.toLowerCase())&&d.length===0){let y=qn([...i,p],"string",void 0,e);return{value:p,path:[...i,p],type:"string",semanticType:y}}}else if((f?p.label===c:p.label.toLowerCase()===c.toLowerCase())&&d.length===0){let y=qn([...i,p.label],"completion",void 0,e);return{completion:p,path:[...i,p.label],type:"completion",semanticType:y}}}}return null}function bE(e,n,i={}){let o=[];if(n.includes(".")){let s=n.lastIndexOf("."),c=n.substring(0,s),d=n.substring(s+1),f=By(e,c,i);if(f!=null&&f.namespace)return lf(f.namespace,d,f.path,i)}else return lf(e,n,[],i);return o}function lf(e,n,i,o){let s=[],{caseSensitive:c=!1,allowPartialMatch:d=!0}=o;if(Ha(e)){for(let[f,p]of Object.entries(e))if(d?c?f.startsWith(n):f.toLowerCase().startsWith(n.toLowerCase()):c?f===n:f.toLowerCase()===n.toLowerCase())if(pi(p)){let y=qn([...i,f],"completion",p.children,e);s.push({completion:p.self,path:[...i,f],type:"completion",semanticType:y,namespace:p.children})}else{let y=qn([...i,f],"namespace",p,e);s.push({path:[...i,f],type:"namespace",semanticType:y,namespace:p})}}else if(pi(e)){if(d?c?e.self.label.startsWith(n):e.self.label.toLowerCase().startsWith(n.toLowerCase()):c?e.self.label===n:e.self.label.toLowerCase()===n.toLowerCase()){let f=qn([...i,e.self.label],"completion",e.children);s.push({completion:e.self,path:[...i,e.self.label],type:"completion",semanticType:f,namespace:e.children})}s.push(...lf(e.children,n,i,o))}else if(jr(e)){for(let f of e)if(typeof f=="string"){if(d?c?f.startsWith(n):f.toLowerCase().startsWith(n.toLowerCase()):c?f===n:f.toLowerCase()===n.toLowerCase()){let p=qn([...i,f],"string",void 0,e);s.push({value:f,path:[...i,f],type:"string",semanticType:p})}}else if(d?c?f.label.startsWith(n):f.label.toLowerCase().startsWith(n.toLowerCase()):c?f.label===n:f.label.toLowerCase()===n.toLowerCase()){let p=qn([...i,f.label],"completion",void 0,e);s.push({completion:f,path:[...i,f.label],type:"completion",semanticType:p})}}return s}function wE(e,n,i={}){let o=[],{maxDepth:s=10}=i;fc(e,[],o,s);let{caseSensitive:c=!1}=i;return o.filter(d=>d.path.some(f=>c?f===n:f.toLowerCase()===n.toLowerCase())).sort((d,f)=>{var w,_;let p=c?d.path[d.path.length-1]===n:((w=d.path[d.path.length-1])==null?void 0:w.toLowerCase())===n.toLowerCase(),y=c?f.path[f.path.length-1]===n:((_=f.path[f.path.length-1])==null?void 0:_.toLowerCase())===n.toLowerCase();return p&&!y?-1:!p&&y?1:d.path.length-f.path.length})}function fc(e,n,i,o){if(!(n.length>=o)){if(Ha(e))for(let[s,c]of Object.entries(e)){let d=[...n,s];if(pi(c)){let f=qn(d,"completion",c.children,e);i.push({completion:c.self,path:d,type:"completion",semanticType:f,namespace:c.children}),fc(c.children,d,i,o)}else{let f=qn(d,"namespace",c,e);i.push({path:d,type:"namespace",semanticType:f,namespace:c}),fc(c,d,i,o)}}else if(pi(e)){let s=qn(n,"completion",e.children);i.push({completion:e.self,path:n,type:"completion",semanticType:s,namespace:e.children}),fc(e.children,n,i,o)}else if(jr(e))for(let s of e)if(typeof s=="string"){let c=qn([...n,s],"string",void 0,e);i.push({value:s,path:[...n,s],type:"string",semanticType:c})}else{let c=qn([...n,s.label],"completion",void 0,e);i.push({completion:s,path:[...n,s.label],type:"completion",semanticType:c})}}}function Hy(e,n,i={}){let{enableFuzzySearch:o=!1}=i,s=By(e,n,i);if(s)return s;let c=bE(e,n,i);if(c.length>0)return c[0]||null;if(o){let d=wE(e,n,i);if(d.length>0)return d[0]||null}return null}function Vy(e,n){if(n.size===0)return{};if(Ha(e)){let i={};for(let[o,s]of Object.entries(e))if(Array.from(n).some(c=>c.toLowerCase()===o.toLowerCase()))i[o]=s;else if(Ha(s)){let c=Vy(s,n);Object.keys(c).length>0&&(i[o]=c)}return i}return e}function _E(e={}){let{schema:n={},keywords:i={},hoverTime:o=300,enableKeywords:s=!0,enableTables:c=!0,enableColumns:d=!0,enableFuzzySearch:f=!0,parser:p=new dc,tooltipRender:y,tooltipRenderers:w={}}=e,_=null;return _h(async(C,E,T)=>{let{from:P,to:z,text:$}=C.state.doc.lineAt(E),W=E,I=E;_===null&&(_=typeof i=="function"?i(C):Promise.resolve(i));let G=await _;for(;W>P&&/[\w.]/.test($[W-P-1]??"");)W--;for(;I<z&&/[\w.]/.test($[I-P]??"");)I++;if(W===E&&T<0||I===E&&T>0)return null;let pe=$.slice(W-P,I-P).toLowerCase();if(!pe||pe.length===0)return null;let M=typeof n=="function"?n(C):n,A=null;if(`${pe}`,!A&&s&&G[pe]&&(G[pe],A={word:pe,view:C,pos:E,tooltipType:"keyword",keywordData:{keyword:pe,info:G[pe]}}),!A&&(c||d)&&M){let V=C.state.doc.toString(),de=await p.extractTableReferences(V),fe=new Set(de.map(we=>we.toLowerCase())),be=Vy(M,fe),J=Hy(be,pe,{enableFuzzySearch:f});!J&&fe.size===0&&(J=Hy(M,pe,{enableFuzzySearch:f})),J&&(Array.from(fe),A={word:pe,view:C,pos:E,tooltipType:"namespace",namespaceData:{item:J,word:pe,resolvedSchema:fe.size>0?be:M}})}return A?{pos:W,end:I,above:!0,create(V){if(y){let be=y(pe,V,E);if(be)return{dom:be}}let de=null;if(A.tooltipType==="keyword"&&A.keywordData)de=w.keyword?w.keyword(A.keywordData):Wy(A.keywordData);else if(A.tooltipType==="namespace"&&A.namespaceData){let be=A.namespaceData,{semanticType:J}=be.item;de=J==="table"&&w.table?w.table(be):J==="column"&&w.column?w.column(be):(J==="database"||J==="schema"||J==="namespace")&&w.namespace?w.namespace(be):$y(be.item)}if(!de)return{dom:document.createElement("div")};let fe=document.createElement("div");return fe.className="cm-sql-hover-tooltip",fe.innerHTML=de,{dom:fe}}}:null},{hoverTime:o})}function $y(e){var s,c,d,f,p,y,w;let n=e.path.join("."),i=((s=e.completion)==null?void 0:s.label)||e.value||e.path[e.path.length-1]||"unknown",o=`<div class="sql-hover-${e.semanticType}">`;switch(o+=`<div class="sql-hover-header"><strong>${i}</strong> <span class="sql-hover-type">${e.semanticType}</span></div>`,e.semanticType){case"database":if(o+=`<div class="sql-hover-description">Database${(c=e.completion)!=null&&c.detail?`: ${e.completion.detail}`:""}</div>`,e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} schema${_===1?"":"s"}</div>`)}break;case"schema":if(o+=`<div class="sql-hover-description">Schema${(d=e.completion)!=null&&d.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} table${_===1?"":"s"}</div>`)}break;case"table":if(o+=`<div class="sql-hover-description">Table${(f=e.completion)!=null&&f.detail?`: ${e.completion.detail}`:""}</div>`,n){let _=e.path;_.length>1&&(o+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${_.slice(0,-1).join(".")}</code></div>`)}if(e.namespace&&jr(e.namespace)){let _=e.namespace;if(_.length>0){o+=`<div class="sql-hover-columns"><strong>Columns (${_.length}):</strong><br>`;let C=_.slice(0,8).map(E=>typeof E=="string"?E:E.label);o+=C.map(E=>`<code>${E}</code>`).join(", "),_.length>8&&(o+=`, <em>and ${_.length-8} more...</em>`),o+="</div>"}}break;case"column":if(o+=`<div class="sql-hover-description">Column${(p=e.completion)!=null&&p.detail?`: ${e.completion.detail}`:""}</div>`,n){let _=e.path;_.length>1&&(o+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${_.slice(0,-1).join(".")}</code></div>`)}break;default:if(o+=`<div class="sql-hover-description">Namespace${(y=e.completion)!=null&&y.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} item${_===1?"":"s"}</div>`)}break}return(w=e.completion)!=null&&w.info&&typeof e.completion.info=="string"&&(o+=`<div class="sql-hover-info">${e.completion.info}</div>`),o+="</div>",o}function pc(e){return Array.isArray(e)?e.length:typeof e=="object"&&e?"self"in e&&"children"in e?1+pc(e.children):Object.keys(e).length:0}function Wy(e){let{keyword:n,info:i}=e,o='<div class="sql-hover-keyword">';if(o+=`<div class="sql-hover-header"><strong>${n.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,o+=`<div class="sql-hover-description">${i.description}</div>`,i.syntax&&(o+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${i.syntax}</code></div>`),i.example&&(o+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${i.example}</code></div>`),i.metadata&&typeof i.metadata=="object"&&Object.keys(i.metadata).length>0){o+='<div class="sql-hover-metadata">';for(let[s,c]of Object.entries(i.metadata))o+=`<span class="sql-hover-tag" title="${s}">${c}</span> `;o+="</div>"}return o+="</div>",o}function xE(e){let{tableName:n,columns:i,metadata:o}=e,s='<div class="sql-hover-table">';if(s+=`<div class="sql-hover-header"><strong>${n}</strong> <span class="sql-hover-type">table</span></div>`,s+=`<div class="sql-hover-description">Table with ${i.length} column${i.length===1?"":"s"}</div>`,i.length>0){s+='<div class="sql-hover-columns"><strong>Columns:</strong><br>';let c=i.slice(0,10);s+=c.map(d=>`<code>${d}</code>`).join(", "),i.length>10&&(s+=`, <em>and ${i.length-10} more...</em>`),s+="</div>"}if(o&&typeof o=="object"&&Object.keys(o).length>0){s+='<div class="sql-hover-metadata">';for(let[c,d]of Object.entries(o))s+=`<span class="sql-hover-tag" title="${c}">${d}</span> `;s+="</div>"}return s+="</div>",s}function kE(e){let{tableName:n,columnName:i,schema:o,metadata:s}=e,c='<div class="sql-hover-column">';c+=`<div class="sql-hover-header"><strong>${i}</strong> <span class="sql-hover-type">column</span></div>`,c+=`<div class="sql-hover-description">Column in table <code>${n}</code></div>`;let d=o[n];if(d&&d.length>1){let f=d.filter(p=>p!==i);if(f.length>0){c+=`<div class="sql-hover-related"><strong>Other columns in ${n}:</strong><br>`;let p=f.slice(0,8);c+=p.map(y=>`<code>${y}</code>`).join(", "),f.length>8&&(c+=`, <em>and ${f.length-8} more...</em>`),c+="</div>"}}if(s&&typeof s=="object"&&Object.keys(s).length>0){c+='<div class="sql-hover-metadata">';for(let[f,p]of Object.entries(s))c+=`<span class="sql-hover-tag" title="${f}">${p}</span> `;c+="</div>"}return c+="</div>",c}const SE={keyword:Wy,table:xE,column:kE,namespace:$y},Uy=(e="light")=>{let n=e==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return Ut.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};var CE=class{constructor(e){ke(this,"parser");ke(this,"cache",new Map);ke(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){let n=e.doc.toString(),i=this.generateCacheKey(n),o=this.cache.get(i);if(o)return o;let s=await this.extractStatements(n,e);if(this.cache.set(i,s),this.cache.size>this.MAX_CACHE_SIZE){let c=this.cache.keys().next().value;c!==void 0&&this.cache.delete(c)}return s}async getStatementAtPosition(e,n){return(await this.analyzeDocument(e)).find(i=>n>=i.from&&n<=i.to)||null}async getStatementsInRange(e,n,i){return(await this.analyzeDocument(e)).filter(o=>o.from<=i&&o.to>=n)}async extractStatements(e,n){let i=[],o=this.splitByStatementSeparators(e),s=0;for(let c of o){let d=c.trim();if(d.length===0){s+=c.length;continue}let f=s+c.indexOf(d),p=f+d.length,y=n.doc.lineAt(f),w=n.doc.lineAt(p),_=this.stripComments(d);if(_.trim().length===0||_.trim()===";"){s+=c.length;continue}let C=await this.parser.parse(_,{state:n}),E=this.determineStatementType(_),T=_.endsWith(";")?_.slice(0,-1).trim():_.trim();i.push({from:f,to:p,lineFrom:y.number,lineTo:w.number,content:T,type:E,isValid:C.success}),s+=c.length}return i}splitByStatementSeparators(e){let n=[],i="",o=!1,s="",c=!1,d=!1,f=0;for(;f<e.length;){let p=e[f],y=e[f+1];if(!o&&!d&&p==="-"&&y==="-"){c=!0,i+=p+y,f+=2;continue}if(!o&&!c&&p==="/"&&y==="*"){d=!0,i+=p+y,f+=2;continue}if(d&&p==="*"&&y==="/"){d=!1,i+=p+y,f+=2;continue}if(c&&(p===`
|
|
136
|
+
`)})}return y},transformPosition:(d,f)=>uc(d,s(f)),reversePosition:(d,f)=>uc(d,-s(f))}}function jy(e,n){return{start:uc(e.start,n),end:uc(e.end,n)}}function uc(e,n){return{line:e.line+n,character:e.character}}const rr={PREFIX:"file:///",of(e){return`${this.PREFIX}${e}`},is(e){return e.startsWith(this.PREFIX)},parse(e){return In(this.is(e),`Invalid cell document URI: ${e}`),e.slice(this.PREFIX.length)}};function zy(e){return"notify"in e}function YC(e){return e.startsWith("_")&&!e.startsWith("__")}var ZC=class{constructor(e){ke(this,"documentVersion",0);ke(this,"versionToCellNumberAndVersion",new Ps(20));ke(this,"lastSnapshot",null);this.getNotebookCode=e}snapshot(){var i;let e=this.getLens(),n=((i=this.lastSnapshot)==null?void 0:i.mergedText)!==e.mergedText;return n?(this.documentVersion++,this.lastSnapshot=e,{lens:e,didChange:n,version:this.documentVersion}):{lens:e,didChange:n,version:this.documentVersion}}getSnapshot(e){let n=this.versionToCellNumberAndVersion.get(e);if(!n)throw Error(`No snapshot for version ${e}`);return n}getLatestSnapshot(){if(!this.lastSnapshot)throw Error("No snapshots");return{lens:this.lastSnapshot,version:this.documentVersion}}getLens(){let{cellIds:e,codes:n}=this.getNotebookCode();return XC(e,n)}},eE=()=>{let e=rd().cellHandles;return ci.mapValues(e,n=>{var i;return(i=n.current)==null?void 0:i.editorViewOrNull})},rf=(Zi=class{constructor(n,i,o=eE){ke(this,"completionItemCache",new Ps(10));this.documentUri=Ay(),this.getNotebookEditors=o,this.initialSettings=i,this.client=n,this.patchProcessNotification(),this.initializePromise.then(()=>{In(zy(this.client),"notify is not a method on the client"),this.client.notify("workspace/didChangeConfiguration",{settings:i})}),this.snapshotter=new ZC(this.getNotebookCode.bind(this))}onNotification(n){return this.client.onNotification(n)}get ready(){return this.client.ready}set ready(n){this.client.ready=n}get capabilities(){return this.client.capabilities}set capabilities(n){this.client.capabilities=n}get initializePromise(){return this.client.initializePromise}set initializePromise(n){this.client.initializePromise=n}get clientCapabilities(){return this.client.clientCapabilities}async initialize(){await this.client.initialize()}close(){this.client.close()}async resyncAllDocuments(){In(zy(this.client),"notify is not a method on the client"),await this.client.initialize(),this.client.notify("workspace/didChangeConfiguration",{settings:this.initialSettings});let{lens:n,version:i}=this.snapshotter.snapshot();await this.client.textDocumentDidOpen({textDocument:{languageId:"python",text:n.mergedText,uri:this.documentUri,version:i}}),Re.log("[lsp] Document re-synchronization complete")}getNotebookCode(){return st.get(GC)}assertCellDocumentUri(n){In(rr.is(n),"Execpted URI to be CellDocumentUri")}async textDocumentDidOpen(n){Re.debug("[lsp] textDocumentDidOpen",n);let i=n.textDocument.uri;this.assertCellDocumentUri(i);let{lens:o,version:s}=this.snapshotter.snapshot();Zi.SEEN_CELL_DOCUMENT_URIS.add(i);let c=await this.client.textDocumentDidOpen({textDocument:{languageId:n.textDocument.languageId,text:o.mergedText,uri:this.documentUri,version:s}});return c?{...c,textDocument:{...c.textDocument,text:o.mergedText}}:n}async sync(){let{lens:n,version:i,didChange:o}=this.snapshotter.snapshot();return o?this.client.textDocumentDidChange({textDocument:{uri:this.documentUri,version:i},contentChanges:[{text:n.mergedText}]}):{textDocument:{uri:this.documentUri,version:i},contentChanges:[{text:n.mergedText}]}}async textDocumentDidChange(n){return Re.debug("[lsp] textDocumentDidChange",n),n.contentChanges.length===1?this.sync():(Re.warn("[lsp] Unhandled textDocumentDidChange",n),this.client.textDocumentDidChange(n))}async textDocumentDefinition(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return this.client.textDocumentDefinition({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentSignatureHelp(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return await this.client.textDocumentSignatureHelp({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})||null}textDocumentCodeAction(n){return Promise.resolve(null)}async textDocumentRename(n){var T;let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;let o=rr.parse(i);await this.sync();let{lens:s}=this.snapshotter.getLatestSnapshot(),c=s.transformPosition(n.position,o),d=await this.client.textDocumentRename({...n,textDocument:{uri:this.documentUri},position:c});if(!d)return null;let f=(T=d.documentChanges)==null?void 0:T.flatMap(P=>"edits"in P?P.edits:[]);if(!f||f.length!==1)return Re.warn("Expected exactly one edit",f),d;let p=f[0];if(!("newText"in p))return Re.warn("Expected newText in edit",p),d;let y=s.getEditsForNewText(p.newText),w=new Map(y.map(P=>[P.cellId,P.text])),_=this.getNotebookEditors(),C=_[o],E=!1;if(C){let P=C.state.doc.line(n.position.line+1).from+n.position.character,{startToken:z,endToken:$}=Gd(C.state.doc,P),W=C.state.doc.sliceString(z,$);E=YC(W),E&&Re.debug("[lsp] Private variable rename detected, limiting to current cell",W)}for(let[P,z]of ci.entries(_)){if(E&&P!==o)continue;let $=w.get(P);if($==null){Re.warn("No new code for cell",P);continue}if(!z){Re.warn("No view for plugin",P);continue}Jr(z)!==$&&xo(z,$)}return{...d,documentChanges:[{edits:[],textDocument:{uri:i,version:0}}]}}async completionItemResolve(n){let i=JSON.stringify(n),o=this.completionItemCache.get(i);if(o)return o;let s=this.client.completionItemResolve(n);return this.completionItemCache.set(i,s),s}async textDocumentPrepareRename(n){let i=n.textDocument.uri;if(!rr.is(i))return Re.warn("Invalid cell document URI",i),null;await this.sync();let{lens:o}=this.snapshotter.getLatestSnapshot(),s=rr.parse(i);return this.client.textDocumentPrepareRename({...n,textDocument:{uri:this.documentUri},position:o.transformPosition(n.position,s)})}async textDocumentHover(n){Re.debug("[lsp] textDocumentHover",n),await this.sync();let{lens:i}=this.snapshotter.getLatestSnapshot(),o=rr.parse(n.textDocument.uri),s=await this.client.textDocumentHover({...n,textDocument:{uri:this.documentUri},position:i.transformPosition(n.position,o)});return s?(typeof s.contents=="object"&&"kind"in s.contents&&(s.contents={kind:"markdown",value:s.contents.value}),s.contents===""?null:(s.range&&(s.range=i.reverseRange(s.range,o)),s)):(Re.debug("[lsp] no hover result"),s)}async textDocumentCompletion(n){let{lens:i}=this.snapshotter.getLatestSnapshot(),o=rr.parse(n.textDocument.uri);return this.client.textDocumentCompletion({...n,textDocument:{uri:this.documentUri},position:i.transformPosition(n.position,o)})}patchProcessNotification(){In("processNotification"in this.client,"processNotification is not a method on the client");let n=this.client.processNotification.bind(this.client),i=o=>{if(o.method==="textDocument/publishDiagnostics"){Re.debug("[lsp] handling diagnostics",o);let s=this.snapshotter.getLatestSnapshot(),c=o.params.diagnostics,{lens:d,version:f}=s,p=new Map;for(let w of c)for(let _ of d.cellIds)if(d.isInRange(w.range,_)){p.has(_)||p.set(_,[]);let C={...w,range:d.reverseRange(w.range,_)};p.get(_).push(C);break}let y=new Set(Zi.SEEN_CELL_DOCUMENT_URIS);for(let[w,_]of p.entries()){Re.debug("[lsp] diagnostics for cell",w,_);let C=rr.of(w);y.delete(C),n({...o,params:{...o.params,uri:C,version:f,diagnostics:_}})}if(y.size>0){Re.debug("[lsp] clearing diagnostics",y);for(let w of y)n({method:"textDocument/publishDiagnostics",params:{uri:w,diagnostics:[]}})}return}return n(o)};this.client.processNotification=i}},ke(Zi,"SEEN_CELL_DOCUMENT_URIS",new Set),Zi),tE=Il(),nE=Pa(),rE=class extends nE.Transport{constructor(n){super();ke(this,"isClosed",!1);ke(this,"hasConnectedBefore",!1);ke(this,"pendingSubscriptions",[]);this.options=n,this.delegate=void 0}createDelegate(){if(this.delegate)try{this.delegate.close()}catch(n){Re.warn("Error closing old WebSocket delegate",n)}this.delegate=new tE.WebSocketTransport(this.options.getWsUrl());for(let{event:n,handler:i}of this.pendingSubscriptions)this.delegate.subscribe(n,i);return this.delegate}isDelegateClosedOrClosing(){if(!this.delegate)return!0;let n=this.delegate.connection;return n?n.readyState===WebSocket.CLOSING||n.readyState===WebSocket.CLOSED:!0}async connect(){if(this.isClosed)throw Error("Transport is closed");return this.connectionPromise||(this.connectionPromise=(async()=>{try{this.options.waitForConnection&&await this.options.waitForConnection();let n=this.delegate;(!n||this.isDelegateClosedOrClosing())&&(n=this.createDelegate()),await n.connect(),Re.log("WebSocket transport connected successfully");let i=this.hasConnectedBefore;this.hasConnectedBefore=!0,i&&this.options.onReconnect&&(Re.log("Calling onReconnect callback to re-synchronize state"),await this.options.onReconnect())}catch(n){throw Re.error("WebSocket transport connection failed",n),this.delegate=void 0,n}finally{this.connectionPromise=void 0}})()),this.connectionPromise}close(){var n;this.isClosed=!0,(n=this.delegate)==null||n.close(),this.delegate=void 0,this.connectionPromise=void 0}subscribe(...n){super.subscribe(...n);let[i,o]=n;this.pendingSubscriptions.push({event:i,handler:o}),this.delegate&&this.delegate.subscribe(i,o)}unsubscribe(...n){let i=super.unsubscribe(...n),[o,s]=n;return this.pendingSubscriptions=this.pendingSubscriptions.filter(c=>!(c.event===o&&c.handler===s)),this.delegate&&this.delegate.unsubscribe(o,s),i}async sendData(n,i){var o;if(this.isDelegateClosedOrClosing()){Re.warn("WebSocket is closed or closing, attempting to reconnect");try{await this.connect()}catch(s){throw Re.error("Failed to reconnect WebSocket",s),s}}return(o=this.delegate)==null?void 0:o.sendData(n,i)}};function af(e,n){let i=v4();return new rE({getWsUrl:()=>i.getLSPURL(e).toString(),waitForConnection:async()=>{await y4()},onReconnect:n})}Fi.define(),new Mu;function iE(e){return e.facet(x4.readOnly)}function aE(e){return[rw(e),Ta.of([{key:"ArrowRight",preventDefault:!0,run:n=>Fy(n,e)},{key:"Tab",preventDefault:!0,run:n=>Fy(n,e)}])]}function Fy(e,n){if(iE(e.state))return!1;let i=e.state.doc.length;return i===0?(e.dispatch({changes:{from:0,to:i,insert:n},selection:{head:n.length,anchor:n.length}}),!0):!1}function oE(e){let{beforeText:n,linkText:i,afterText:o,onClick:s}=e;return[rw(c=>{let d=document.createElement("span");d.append(document.createTextNode(n));let f=document.createElement("span");return f.textContent=i,f.classList.add("cm-clickable-placeholder"),f.onclick=p=>{p.stopPropagation(),s(c)},d.append(f),d.append(document.createTextNode(o)),d}),Ut.theme({".cm-placeholder":{color:"var(--slate-8)"},".cm-clickable-placeholder":{cursor:"pointer !important",pointerEvents:"auto",color:"var(--slate-9)",textDecoration:"underline",textUnderlineOffset:"0.2em"},".cm-clickable-placeholder:hover":{color:"var(--sky-11)"}})]}var sE=ui(e=>{let n,i={transport:af("pylsp",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[]},o=e==null?void 0:e.pylsp,s=["D100","D103"],c=["W292","E402"],d=["B018","I001"],f={pylsp:{plugins:{marimo_plugin:{enabled:!0},jedi:{auto_import_modules:["numpy"]},jedi_completion:{include_params:!0,resolve_at_most:50},flake8:{enabled:o==null?void 0:o.enable_flake8,extendIgnore:c},pydocstyle:{enabled:o==null?void 0:o.enable_pydocstyle,ignore:s},pylint:{enabled:o==null?void 0:o.enable_pylint},pyflakes:{enabled:o==null?void 0:o.enable_pyflakes},pylsp_mypy:{enabled:o==null?void 0:o.enable_mypy,live_mode:!0},ruff:{enabled:o==null?void 0:o.enable_ruff,extendIgnore:[...c,...s,...d]},signature:{formatter:o!=null&&o.enable_ruff?"ruff":"black",line_length:88}}}},p=new rf(new Hl({...i}),f);return n=()=>p.resyncAllDocuments(),p}),lE=ui(e=>{let n,i=new rf(new Hl({transport:af("ty",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[],getWorkspaceConfiguration:o=>[{disableLanguageServices:!0}]}),{});return n=()=>i.resyncAllDocuments(),i}),cE=ui(e=>{let n,i=new rf(new Hl({transport:af("basedpyright",async()=>{await(n==null?void 0:n())}),rootUri:nf(),workspaceFolders:[]}),{});return n=()=>i.resyncAllDocuments(),i}),uE=class{constructor(){ke(this,"parser",new gS);ke(this,"type","python");ke(this,"defaultCode",this.parser.defaultCode);ke(this,"defaultMetadata",this.parser.defaultMetadata)}transformIn(e){let n=this.parser.transformIn(e);return[n.code,n.offset,n.metadata]}transformOut(e,n){let i=this.parser.transformOut(e,n);return[i.code,i.offset]}isSupported(e){return this.parser.isSupported(e)}getExtension(e,n,i,o,s){return[(()=>{var w,_,C,E;let c={defaultKeymap:!1,activateOnTyping:n.activate_on_typing,closeOnBlur:!1},d={hideOnChange:!0},f=[];(w=s==null?void 0:s.pylsp)!=null&&w.enabled&&sc("pylsp")&&f.push(sE(s)),(_=s==null?void 0:s.ty)!=null&&_.enabled&&sc("ty")&&f.push(lE(s)),(C=s==null?void 0:s.basedpyright)!=null&&C.enabled&&sc("basedpyright")&&f.push(cE(s));let p=n.signature_hint_on_typing,y=p?/(\w+|\w+\.|\/)$/:/(\w+|\w+\.|\(|\/|,)$/;if(f.length>0){let T=f.length===1?f[0]:new VC(f);return[tm({client:T,languageId:"python",allowHTMLContent:!0,useSnippetOnCompletion:!1,hoverConfig:d,completionConfig:c,diagnosticsEnabled:((E=s.diagnostics)==null?void 0:E.enabled)??!1,sendIncrementalChanges:!1,signatureHelpEnabled:!0,signatureActivateOnTyping:p,signatureHelpOptions:{position:"above"},keyboardShortcuts:{signatureHelp:i.getHotkey("cell.signatureHelp").key,goToDefinition:i.getHotkey("cell.goToDefinition").key,rename:i.getHotkey("cell.renameSymbol").key},completionMatchBefore:y,onGoToDefinition:P=>{Re.debug("onGoToDefinition",P),T.documentUri!==P.uri&&Hi().openFile({path:P.uri.replace("file://","")})}}),gg.of(rr.of(e))]}return Nu({...c,override:[Oy]})})(),nm(),dE(o)]}};function dE(e){return e==="marimo-import"?Lu.highest(aE("import marimo as mo")):e==="ai"?oE({beforeText:"Start coding or ",linkText:"generate",afterText:" with AI.",onClick:n=>{n.state.facet(Dt).aiCellCompletion()}}):[]}var of=Dh.configure({props:[S4.add({ParenthesizedExpression:lw,ArgList:lw})]});nm=function(){return new fw(of,[of.data.of({autocomplete:DD}),of.data.of({autocomplete:OD})])};const fE=e=>{let n;return async()=>(n||(n=e()),await n)};var dc=class{constructor(e={}){ke(this,"opts");ke(this,"parser",null);ke(this,"offsetRecord",{});ke(this,"getParser",fE(async()=>{if(this.parser)return this.parser;let e=await ce(()=>import("./node-sql-parser-DFzvtOsy.js").then(async i=>(await i.__tla,i)).then(QR(1)),__vite__mapDeps([213,1]),import.meta.url),{Parser:n}=e.default||e;return this.parser=new n,this.parser}));this.opts=e}async parse(e,n){var s,c;this.offsetRecord={};let i=(c=(s=this.opts).getParserOptions)==null?void 0:c.call(s,n.state),o=await this.sanitizeSql(e,i);try{let d=await this.getParser();return(i==null?void 0:i.database)==="DuckDB"?this.parseWithDuckDBSupport(o,i):{success:!0,errors:[],ast:d.astify(o,i)}}catch(d){return{success:!1,errors:[this.extractErrorInfo(d,o)]}}}async sanitizeSql(e,n){if(n!=null&&n.ignoreBrackets){let{sql:i,offsetRecord:o}=mE(e);return this.offsetRecord=o,i}return e}async parseWithDuckDBSupport(e,n){let i=await this.getParser(),o=pE(e).trimStart().toLowerCase();if(o.startsWith("from")||o.includes("macro"))return{success:!0,errors:[]};let s=e;o.includes("create or replace table")&&(this.offsetRecord[e.indexOf("create or replace table")]=-11,s=e.replace(/create or replace table/i,"create table"));try{let c={...n,database:"PostgreSQL"};return{success:!0,errors:[],ast:i.astify(s,c)}}catch(c){return{success:!1,errors:[this.extractErrorInfo(c,e)]}}}extractErrorInfo(e,n){var d,f,p;let i=1,o=1,s=(e==null?void 0:e.message)||"SQL parsing error",c=e;if(c!=null&&c.location)i=((d=c.location.start)==null?void 0:d.line)||1,o=((f=c.location.start)==null?void 0:f.column)||1;else if(c!=null&&c.hash)i=c.hash.line||1,o=((p=c.hash.loc)==null?void 0:p.first_column)||1;else{let y=s.match(/line (\d+)/i),w=s.match(/column (\d+)/i);y!=null&&y[1]&&(i=parseInt(y[1],10)),w!=null&&w[1]&&(o=parseInt(w[1],10))}for(let[y,w]of Object.entries(this.offsetRecord))o>parseInt(y,10)&&(o-=w);return o>n.length&&(o=n.length),{message:this.cleanErrorMessage(s),line:Math.max(1,i),column:o,severity:"error"}}cleanErrorMessage(e){return e.replace(/^Error: /,"").replace(/Expected .* but .* found\./i,n=>n.replace(/but .* found/,"found unexpected token")).trim()}async validateSql(e,n){return(await this.parse(e,n)).errors}async extractTableReferences(e,n){var o,s;let i=n?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).tableList(e,i).map(c=>{let d=c.split("::");return d[d.length-1]||c})}catch{return[]}}async extractColumnReferences(e,n){var o,s;let i=n!=null&&n.state?(s=(o=this.opts).getParserOptions)==null?void 0:s.call(o,n.state):void 0;try{return(await this.getParser()).columnList(e,i).map(c=>{let d=c.split("::");return d[d.length-1]||c})}catch{return[]}}};function pE(e,n=["/*","--"]){let i=[];if(n.includes("/*")&&i.push("/\\*[\\s\\S]*?\\*/"),n.includes("--")&&i.push("--[^\\n]*"),i.length===0)return e;let o=RegExp(`^\\s*(${i.join("|")})\\s*`,""),s=e,c="";for(;s!==c;)c=s,s=s.replace(o,"");return s}var hE=2;function mE(e){let n={};return{sql:e.replace(/("(?:[^"\\]|\\.)*")|('(?:[^'\\]|\\.)*')|(\{[^}]*\})/g,(i,o,s,c,d)=>o||s?i:c?(n[d]=hE,`'${c}'`):i),offsetRecord:n}}var gE=750;function yE(e,n){let i=n.line(e.line).from+Math.max(0,e.column-1);return{from:i,to:i+1,severity:e.severity,message:e.message,source:"sql-parser"}}function vE(e={}){let n=e.parser||new dc;return J4(async i=>{let o=i.state.doc,s=o.toString();return s.trim()?(await n.validateSql(s,{state:i.state})).map(c=>yE(c,o)):[]},{delay:e.delay||gE})}function Ha(e){return typeof e=="object"&&!Array.isArray(e)&&!("self"in e)}function pi(e){return typeof e=="object"&&!Array.isArray(e)&&"self"in e&&"children"in e}function jr(e){return Array.isArray(e)}function qn(e,n,i,o){let s=e.length;if(n==="string"||n==="completion"&&o&&jr(o))return"column";if(n==="namespace"&&i){if(jr(i))return"table";if(Ha(i))return Object.values(i).some(c=>jr(c)||pi(c)&&jr(c.children))?s<=1?"database":"schema":s===0?"database":"namespace"}if(n==="completion"&&i)return jr(i)?"table":(Ha(i)&&Object.values(i).some(c=>jr(c)||pi(c)&&jr(c.children)),s<=1?"database":"schema");switch(s){case 0:return"database";case 1:return"schema";default:return"namespace"}}function By(e,n,i={}){let{maxDepth:o=10}=i;if(n===""&&pi(e)){let c=qn([],"completion",e.children);return{completion:e.self,path:[],type:"completion",semanticType:c,namespace:e.children}}let s=n.split(".").filter(c=>c.length>0);return s.length===0||s.length>o?null:sf(e,s,[],i)}function sf(e,n,i,o,s){if(n.length===0){if(pi(e)){let p=qn(i,"completion",e.children,s);return{completion:e.self,path:i,type:"completion",semanticType:p,namespace:e.children}}return{path:i,type:"namespace",semanticType:qn(i,"namespace",e,s),namespace:e}}let[c,...d]=n,{caseSensitive:f=!1}=o;if(!c)return null;if(Ha(e)){let p=f?Object.keys(e).find(y=>y===c):Object.keys(e).find(y=>y.toLowerCase()===c.toLowerCase());if(p){let y=e[p];if(y)return sf(y,d,[...i,p],o,e)}}else{if(pi(e))return sf(e.children,n,i,o,e);if(jr(e)){for(let p of e)if(typeof p=="string"){if((f?p===c:p.toLowerCase()===c.toLowerCase())&&d.length===0){let y=qn([...i,p],"string",void 0,e);return{value:p,path:[...i,p],type:"string",semanticType:y}}}else if((f?p.label===c:p.label.toLowerCase()===c.toLowerCase())&&d.length===0){let y=qn([...i,p.label],"completion",void 0,e);return{completion:p,path:[...i,p.label],type:"completion",semanticType:y}}}}return null}function bE(e,n,i={}){let o=[];if(n.includes(".")){let s=n.lastIndexOf("."),c=n.substring(0,s),d=n.substring(s+1),f=By(e,c,i);if(f!=null&&f.namespace)return lf(f.namespace,d,f.path,i)}else return lf(e,n,[],i);return o}function lf(e,n,i,o){let s=[],{caseSensitive:c=!1,allowPartialMatch:d=!0}=o;if(Ha(e)){for(let[f,p]of Object.entries(e))if(d?c?f.startsWith(n):f.toLowerCase().startsWith(n.toLowerCase()):c?f===n:f.toLowerCase()===n.toLowerCase())if(pi(p)){let y=qn([...i,f],"completion",p.children,e);s.push({completion:p.self,path:[...i,f],type:"completion",semanticType:y,namespace:p.children})}else{let y=qn([...i,f],"namespace",p,e);s.push({path:[...i,f],type:"namespace",semanticType:y,namespace:p})}}else if(pi(e)){if(d?c?e.self.label.startsWith(n):e.self.label.toLowerCase().startsWith(n.toLowerCase()):c?e.self.label===n:e.self.label.toLowerCase()===n.toLowerCase()){let f=qn([...i,e.self.label],"completion",e.children);s.push({completion:e.self,path:[...i,e.self.label],type:"completion",semanticType:f,namespace:e.children})}s.push(...lf(e.children,n,i,o))}else if(jr(e)){for(let f of e)if(typeof f=="string"){if(d?c?f.startsWith(n):f.toLowerCase().startsWith(n.toLowerCase()):c?f===n:f.toLowerCase()===n.toLowerCase()){let p=qn([...i,f],"string",void 0,e);s.push({value:f,path:[...i,f],type:"string",semanticType:p})}}else if(d?c?f.label.startsWith(n):f.label.toLowerCase().startsWith(n.toLowerCase()):c?f.label===n:f.label.toLowerCase()===n.toLowerCase()){let p=qn([...i,f.label],"completion",void 0,e);s.push({completion:f,path:[...i,f.label],type:"completion",semanticType:p})}}return s}function wE(e,n,i={}){let o=[],{maxDepth:s=10}=i;fc(e,[],o,s);let{caseSensitive:c=!1}=i;return o.filter(d=>d.path.some(f=>c?f===n:f.toLowerCase()===n.toLowerCase())).sort((d,f)=>{var w,_;let p=c?d.path[d.path.length-1]===n:((w=d.path[d.path.length-1])==null?void 0:w.toLowerCase())===n.toLowerCase(),y=c?f.path[f.path.length-1]===n:((_=f.path[f.path.length-1])==null?void 0:_.toLowerCase())===n.toLowerCase();return p&&!y?-1:!p&&y?1:d.path.length-f.path.length})}function fc(e,n,i,o){if(!(n.length>=o)){if(Ha(e))for(let[s,c]of Object.entries(e)){let d=[...n,s];if(pi(c)){let f=qn(d,"completion",c.children,e);i.push({completion:c.self,path:d,type:"completion",semanticType:f,namespace:c.children}),fc(c.children,d,i,o)}else{let f=qn(d,"namespace",c,e);i.push({path:d,type:"namespace",semanticType:f,namespace:c}),fc(c,d,i,o)}}else if(pi(e)){let s=qn(n,"completion",e.children);i.push({completion:e.self,path:n,type:"completion",semanticType:s,namespace:e.children}),fc(e.children,n,i,o)}else if(jr(e))for(let s of e)if(typeof s=="string"){let c=qn([...n,s],"string",void 0,e);i.push({value:s,path:[...n,s],type:"string",semanticType:c})}else{let c=qn([...n,s.label],"completion",void 0,e);i.push({completion:s,path:[...n,s.label],type:"completion",semanticType:c})}}}function Hy(e,n,i={}){let{enableFuzzySearch:o=!1}=i,s=By(e,n,i);if(s)return s;let c=bE(e,n,i);if(c.length>0)return c[0]||null;if(o){let d=wE(e,n,i);if(d.length>0)return d[0]||null}return null}function Vy(e,n){if(n.size===0)return{};if(Ha(e)){let i={};for(let[o,s]of Object.entries(e))if(Array.from(n).some(c=>c.toLowerCase()===o.toLowerCase()))i[o]=s;else if(Ha(s)){let c=Vy(s,n);Object.keys(c).length>0&&(i[o]=c)}return i}return e}function _E(e={}){let{schema:n={},keywords:i={},hoverTime:o=300,enableKeywords:s=!0,enableTables:c=!0,enableColumns:d=!0,enableFuzzySearch:f=!0,parser:p=new dc,tooltipRender:y,tooltipRenderers:w={}}=e,_=null;return _h(async(C,E,T)=>{let{from:P,to:z,text:$}=C.state.doc.lineAt(E),W=E,I=E;_===null&&(_=typeof i=="function"?i(C):Promise.resolve(i));let G=await _;for(;W>P&&/[\w.]/.test($[W-P-1]??"");)W--;for(;I<z&&/[\w.]/.test($[I-P]??"");)I++;if(W===E&&T<0||I===E&&T>0)return null;let pe=$.slice(W-P,I-P).toLowerCase();if(!pe||pe.length===0)return null;let M=typeof n=="function"?n(C):n,A=null;if(`${pe}`,!A&&s&&G[pe]&&(G[pe],A={word:pe,view:C,pos:E,tooltipType:"keyword",keywordData:{keyword:pe,info:G[pe]}}),!A&&(c||d)&&M){let V=C.state.doc.toString(),de=await p.extractTableReferences(V),fe=new Set(de.map(we=>we.toLowerCase())),be=Vy(M,fe),J=Hy(be,pe,{enableFuzzySearch:f});!J&&fe.size===0&&(J=Hy(M,pe,{enableFuzzySearch:f})),J&&(Array.from(fe),A={word:pe,view:C,pos:E,tooltipType:"namespace",namespaceData:{item:J,word:pe,resolvedSchema:fe.size>0?be:M}})}return A?{pos:W,end:I,above:!0,create(V){if(y){let be=y(pe,V,E);if(be)return{dom:be}}let de=null;if(A.tooltipType==="keyword"&&A.keywordData)de=w.keyword?w.keyword(A.keywordData):Wy(A.keywordData);else if(A.tooltipType==="namespace"&&A.namespaceData){let be=A.namespaceData,{semanticType:J}=be.item;de=J==="table"&&w.table?w.table(be):J==="column"&&w.column?w.column(be):(J==="database"||J==="schema"||J==="namespace")&&w.namespace?w.namespace(be):$y(be.item)}if(!de)return{dom:document.createElement("div")};let fe=document.createElement("div");return fe.className="cm-sql-hover-tooltip",fe.innerHTML=de,{dom:fe}}}:null},{hoverTime:o})}function $y(e){var s,c,d,f,p,y,w;let n=e.path.join("."),i=((s=e.completion)==null?void 0:s.label)||e.value||e.path[e.path.length-1]||"unknown",o=`<div class="sql-hover-${e.semanticType}">`;switch(o+=`<div class="sql-hover-header"><strong>${i}</strong> <span class="sql-hover-type">${e.semanticType}</span></div>`,e.semanticType){case"database":if(o+=`<div class="sql-hover-description">Database${(c=e.completion)!=null&&c.detail?`: ${e.completion.detail}`:""}</div>`,e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} schema${_===1?"":"s"}</div>`)}break;case"schema":if(o+=`<div class="sql-hover-description">Schema${(d=e.completion)!=null&&d.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} table${_===1?"":"s"}</div>`)}break;case"table":if(o+=`<div class="sql-hover-description">Table${(f=e.completion)!=null&&f.detail?`: ${e.completion.detail}`:""}</div>`,n){let _=e.path;_.length>1&&(o+=`<div class="sql-hover-path"><strong>Schema:</strong> <code>${_.slice(0,-1).join(".")}</code></div>`)}if(e.namespace&&jr(e.namespace)){let _=e.namespace;if(_.length>0){o+=`<div class="sql-hover-columns"><strong>Columns (${_.length}):</strong><br>`;let C=_.slice(0,8).map(E=>typeof E=="string"?E:E.label);o+=C.map(E=>`<code>${E}</code>`).join(", "),_.length>8&&(o+=`, <em>and ${_.length-8} more...</em>`),o+="</div>"}}break;case"column":if(o+=`<div class="sql-hover-description">Column${(p=e.completion)!=null&&p.detail?`: ${e.completion.detail}`:""}</div>`,n){let _=e.path;_.length>1&&(o+=`<div class="sql-hover-path"><strong>Table:</strong> <code>${_.slice(0,-1).join(".")}</code></div>`)}break;default:if(o+=`<div class="sql-hover-description">Namespace${(y=e.completion)!=null&&y.detail?`: ${e.completion.detail}`:""}</div>`,n&&(o+=`<div class="sql-hover-path"><strong>Path:</strong> <code>${n}</code></div>`),e.namespace){let _=pc(e.namespace);_>0&&(o+=`<div class="sql-hover-children">Contains ${_} item${_===1?"":"s"}</div>`)}break}return(w=e.completion)!=null&&w.info&&typeof e.completion.info=="string"&&(o+=`<div class="sql-hover-info">${e.completion.info}</div>`),o+="</div>",o}function pc(e){return Array.isArray(e)?e.length:typeof e=="object"&&e?"self"in e&&"children"in e?1+pc(e.children):Object.keys(e).length:0}function Wy(e){let{keyword:n,info:i}=e,o='<div class="sql-hover-keyword">';if(o+=`<div class="sql-hover-header"><strong>${n.toUpperCase()}</strong> <span class="sql-hover-type">keyword</span></div>`,o+=`<div class="sql-hover-description">${i.description}</div>`,i.syntax&&(o+=`<div class="sql-hover-syntax"><strong>Syntax:</strong> <code>${i.syntax}</code></div>`),i.example&&(o+=`<div class="sql-hover-example"><strong>Example:</strong><br><code>${i.example}</code></div>`),i.metadata&&typeof i.metadata=="object"&&Object.keys(i.metadata).length>0){o+='<div class="sql-hover-metadata">';for(let[s,c]of Object.entries(i.metadata))o+=`<span class="sql-hover-tag" title="${s}">${c}</span> `;o+="</div>"}return o+="</div>",o}function xE(e){let{tableName:n,columns:i,metadata:o}=e,s='<div class="sql-hover-table">';if(s+=`<div class="sql-hover-header"><strong>${n}</strong> <span class="sql-hover-type">table</span></div>`,s+=`<div class="sql-hover-description">Table with ${i.length} column${i.length===1?"":"s"}</div>`,i.length>0){s+='<div class="sql-hover-columns"><strong>Columns:</strong><br>';let c=i.slice(0,10);s+=c.map(d=>`<code>${d}</code>`).join(", "),i.length>10&&(s+=`, <em>and ${i.length-10} more...</em>`),s+="</div>"}if(o&&typeof o=="object"&&Object.keys(o).length>0){s+='<div class="sql-hover-metadata">';for(let[c,d]of Object.entries(o))s+=`<span class="sql-hover-tag" title="${c}">${d}</span> `;s+="</div>"}return s+="</div>",s}function kE(e){let{tableName:n,columnName:i,schema:o,metadata:s}=e,c='<div class="sql-hover-column">';c+=`<div class="sql-hover-header"><strong>${i}</strong> <span class="sql-hover-type">column</span></div>`,c+=`<div class="sql-hover-description">Column in table <code>${n}</code></div>`;let d=o[n];if(d&&d.length>1){let f=d.filter(p=>p!==i);if(f.length>0){c+=`<div class="sql-hover-related"><strong>Other columns in ${n}:</strong><br>`;let p=f.slice(0,8);c+=p.map(y=>`<code>${y}</code>`).join(", "),f.length>8&&(c+=`, <em>and ${f.length-8} more...</em>`),c+="</div>"}}if(s&&typeof s=="object"&&Object.keys(s).length>0){c+='<div class="sql-hover-metadata">';for(let[f,p]of Object.entries(s))c+=`<span class="sql-hover-tag" title="${f}">${p}</span> `;c+="</div>"}return c+="</div>",c}const SE={keyword:Wy,table:xE,column:kE,namespace:$y},Uy=(e="light")=>{let n=e==="dark"?{tooltipBg:"#1f2937",tooltipBorder:"#374151",tooltipText:"#f9fafb",tooltipTypeBg:"#374151",tooltipTypeText:"#9ca3af",tooltipChildren:"#9ca3af",codeBg:"#374151",codeText:"#f3f4f6",strong:"#ffffff",em:"#9ca3af",header:"#ffffff",info:"#d1d5db",related:"#d1d5db",path:"#d1d5db",example:"#d1d5db",columns:"#d1d5db",syntax:"#d1d5db"}:{tooltipBg:"#ffffff",tooltipBorder:"#e5e7eb",tooltipText:"#374151",tooltipTypeBg:"#f3f4f6",tooltipTypeText:"#6b7280",tooltipChildren:"#6b7280",codeBg:"#f9fafb",codeText:"#1f2937",strong:"#111827",em:"#6b7280",header:"#111827",info:"#374151",related:"#374151",path:"#374151",example:"#374151",columns:"#374151",syntax:"#374151"};return Ut.theme({".cm-sql-hover-tooltip":{padding:"8px 12px",backgroundColor:n.tooltipBg,border:`1px solid ${n.tooltipBorder}`,borderRadius:"6px",boxShadow:"0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06)",fontSize:"13px",lineHeight:"1.4",maxWidth:"320px",fontFamily:"system-ui, -apple-system, sans-serif",color:n.tooltipText},".cm-sql-hover-tooltip .sql-hover-header":{marginBottom:"6px",display:"flex",alignItems:"center",gap:"6px",color:n.header},".cm-sql-hover-tooltip .sql-hover-type":{fontSize:"11px",padding:"2px 6px",backgroundColor:n.tooltipTypeBg,color:n.tooltipTypeText,borderRadius:"4px",fontWeight:"500"},".cm-sql-hover-tooltip .sql-hover-description":{color:n.info,marginBottom:"8px"},".cm-sql-hover-tooltip .sql-hover-syntax":{marginBottom:"8px",color:n.syntax},".cm-sql-hover-tooltip .sql-hover-example":{marginBottom:"4px",color:n.example},".cm-sql-hover-tooltip .sql-hover-columns":{marginBottom:"4px",color:n.columns},".cm-sql-hover-tooltip .sql-hover-related":{marginBottom:"4px",color:n.related},".cm-sql-hover-tooltip .sql-hover-path":{marginBottom:"4px",color:n.path},".cm-sql-hover-tooltip .sql-hover-info":{marginBottom:"4px",color:n.info},".cm-sql-hover-tooltip .sql-hover-children":{marginBottom:"4px",color:n.tooltipChildren,fontSize:"12px"},".cm-sql-hover-tooltip code":{backgroundColor:n.codeBg,padding:"1px 4px",borderRadius:"3px",fontSize:"12px",fontFamily:"ui-monospace, 'SF Mono', 'Monaco', 'Cascadia Code', 'Roboto Mono', monospace",color:n.codeText},".cm-sql-hover-tooltip strong":{fontWeight:"600",color:n.strong},".cm-sql-hover-tooltip em":{fontStyle:"italic",color:n.em}})};var CE=class{constructor(e){ke(this,"parser");ke(this,"cache",new Map);ke(this,"MAX_CACHE_SIZE",10);this.parser=e}async analyzeDocument(e){let n=e.doc.toString(),i=this.generateCacheKey(n),o=this.cache.get(i);if(o)return o;let s=await this.extractStatements(n,e);if(this.cache.set(i,s),this.cache.size>this.MAX_CACHE_SIZE){let c=this.cache.keys().next().value;c!==void 0&&this.cache.delete(c)}return s}async getStatementAtPosition(e,n){return(await this.analyzeDocument(e)).find(i=>n>=i.from&&n<=i.to)||null}async getStatementsInRange(e,n,i){return(await this.analyzeDocument(e)).filter(o=>o.from<=i&&o.to>=n)}async extractStatements(e,n){let i=[],o=this.splitByStatementSeparators(e),s=0;for(let c of o){let d=c.trim();if(d.length===0){s+=c.length;continue}let f=s+c.indexOf(d),p=f+d.length,y=n.doc.lineAt(f),w=n.doc.lineAt(p),_=this.stripComments(d);if(_.trim().length===0||_.trim()===";"){s+=c.length;continue}let C=await this.parser.parse(_,{state:n}),E=this.determineStatementType(_),T=_.endsWith(";")?_.slice(0,-1).trim():_.trim();i.push({from:f,to:p,lineFrom:y.number,lineTo:w.number,content:T,type:E,isValid:C.success}),s+=c.length}return i}splitByStatementSeparators(e){let n=[],i="",o=!1,s="",c=!1,d=!1,f=0;for(;f<e.length;){let p=e[f],y=e[f+1];if(!o&&!d&&p==="-"&&y==="-"){c=!0,i+=p+y,f+=2;continue}if(!o&&!c&&p==="/"&&y==="*"){d=!0,i+=p+y,f+=2;continue}if(d&&p==="*"&&y==="/"){d=!1,i+=p+y,f+=2;continue}if(c&&(p===`
|
|
137
137
|
`||p==="\r")){c=!1,i+=p,f++;continue}if(c||d){i+=p,f++;continue}if(!o&&(p==="'"||p==='"'||p==="`"))o=!0,s=p,i+=p;else if(o&&p===s){if(y===s){i+=p+y,f+=2;continue}o=!1,s="",i+=p}else!o&&p===";"?(i+=p,n.push(i),i=""):i+=p;f++}return i.trim()&&n.push(i),n}determineStatementType(e){let n=e.trim().toLowerCase();return n.startsWith("select")?"select":n.startsWith("insert")?"insert":n.startsWith("update")?"update":n.startsWith("delete")?"delete":n.startsWith("create")?"create":n.startsWith("drop")?"drop":n.startsWith("alter")?"alter":n.startsWith("use")?"use":"other"}stripComments(e){let n="",i=!1,o="",s=!1,c=!1,d=0;for(;d<e.length;){let f=e[d],p=e[d+1];if(!i&&!c&&f==="-"&&p==="-"){s=!0,d+=2;continue}if(!i&&!s&&f==="/"&&p==="*"){c=!0,d+=2;continue}if(c&&f==="*"&&p==="/"){c=!1,d+=2;continue}if(s&&(f===`
|
|
138
138
|
`||f==="\r")){s=!1,n+=f,d++;continue}if(s||c){d++;continue}if(!i&&(f==="'"||f==='"'||f==="`"))i=!0,o=f,n+=f;else if(i&&f===o){if(p===o){n+=f+p,d+=2;continue}i=!1,o="",n+=f}else n+=f;d++}return n}generateCacheKey(e){let n=0;for(let i=0;i<e.length;i++){let o=e.charCodeAt(i);n=(n<<5)-n+o,n&=n}return n.toString()}clearCache(){this.cache.clear()}},Ky=Fi.define(),Qy=xs.define({create(){return{currentStatement:null,allStatements:[],cursorPosition:0,isFocused:!0}},update(e,n){for(let i of n.effects)if(i.is(Ky))return i.value;return e}}),EE=class extends N4{constructor(n,i,o=!0,s=!0){super();ke(this,"config");ke(this,"isCurrent");ke(this,"isValid");ke(this,"isFocused");this.config=n,this.isCurrent=i,this.isValid=o,this.isFocused=s}toDOM(){let n=document.createElement("div");n.className="cm-sql-gutter-marker";let i=this.config.backgroundColor||"#3b82f6";!this.isValid&&this.config.showInvalid!==!1&&(i=this.config.errorBackgroundColor||"#ef4444");let o;return o=this.isFocused?this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity===void 0?this.config.hideWhenNotFocused?"0":this.isCurrent?"1":(this.config.inactiveOpacity||"0.3").toString():this.config.unfocusedOpacity.toString(),n.style.cssText=`
|
|
139
139
|
background: ${i};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as f}from"./chunk-LvLJmgfZ.js";import{t as y}from"./react-BGmjiNul.js";import{zn as g}from"./cells-
|
|
1
|
+
import{s as f}from"./chunk-LvLJmgfZ.js";import{t as y}from"./react-BGmjiNul.js";import{zn as g}from"./cells-dG69fEtz.js";import{t as j}from"./compiler-runtime-DeeZ7FnK.js";import{t as N}from"./jsx-runtime-DN_bIXfG.js";import{t as k}from"./cn-C1rgT0yh.js";import{t as x}from"./createLucideIcon-CW2xpJ57.js";import{h as w}from"./select-D9lTzMzP.js";import{t as u}from"./file-BnFXtaZZ.js";import{n as M}from"./play-BJDBXApx.js";var b=x("bot-message-square",[["path",{d:"M12 6V2H8",key:"1155em"}],["path",{d:"M15 11v2",key:"i11awn"}],["path",{d:"M2 12h2",key:"1t8f8n"}],["path",{d:"M20 12h2",key:"1q8mjw"}],["path",{d:"M20 16a2 2 0 0 1-2 2H8.828a2 2 0 0 0-1.414.586l-2.202 2.202A.71.71 0 0 1 4 20.286V8a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2z",key:"11gyqh"}],["path",{d:"M9 11v2",key:"1ueba0"}]]),v=x("paperclip",[["path",{d:"m16 6-8.414 8.586a2 2 0 0 0 2.829 2.829l8.414-8.586a4 4 0 1 0-5.657-5.657l-8.379 8.551a6 6 0 1 0 8.485 8.485l8.379-8.551",key:"1miecu"}]]),d=j(),_=f(y(),1),o=f(N(),1);const q=i=>{var c;let e=(0,d.c)(6),{attachment:t}=i;if((c=t.mediaType)!=null&&c.startsWith("image/")){let a=t.filename||"Attachment",m;return e[0]!==t.url||e[1]!==a?(m=(0,o.jsx)("img",{src:t.url,alt:a,className:"max-h-[100px] max-w-[100px] object-contain mb-1.5"}),e[0]=t.url,e[1]=a,e[2]=m):m=e[2],m}let s;e[3]===Symbol.for("react.memo_cache_sentinel")?(s=(0,o.jsx)(u,{className:"h-3 w-3 mt-0.5"}),e[3]=s):s=e[3];let l=t.filename||"Attachment",r;return e[4]===l?r=e[5]:(r=(0,o.jsxs)("div",{className:"flex flex-row gap-1 items-center text-xs",children:[s,l]}),e[4]=l,e[5]=r),r},A=i=>{let e=(0,d.c)(12),{file:t,className:s,onRemove:l}=i,[r,c]=(0,_.useState)(!1),a;e[0]===s?a=e[1]:(a=k("py-1 px-1.5 bg-muted rounded-md cursor-pointer flex flex-row gap-1 items-center text-xs",s),e[0]=s,e[1]=a);let m,p;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=()=>c(!0),p=()=>c(!1),e[2]=m,e[3]=p):(m=e[2],p=e[3]);let n;e[4]!==t||e[5]!==r||e[6]!==l?(n=r?(0,o.jsx)(w,{className:"h-3 w-3 mt-0.5",onClick:l}):S(t),e[4]=t,e[5]=r,e[6]=l,e[7]=n):n=e[7];let h;return e[8]!==t.name||e[9]!==a||e[10]!==n?(h=(0,o.jsxs)("div",{className:a,onMouseEnter:m,onMouseLeave:p,children:[n,t.name]}),e[8]=t.name,e[9]=a,e[10]=n,e[11]=h):h=e[11],h};function S(i){let e="h-3 w-3 mt-0.5";return i.type.startsWith("image/")?(0,o.jsx)(M,{className:e}):i.type.startsWith("text/")?(0,o.jsx)(g,{className:e}):(0,o.jsx)(u,{className:e})}export{b as i,A as n,v as r,q as t};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{s as H}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-BGmjiNul.js";import{Rn as $,Wn as G}from"./cells-
|
|
1
|
+
import{s as H}from"./chunk-LvLJmgfZ.js";import{t as U}from"./react-BGmjiNul.js";import{Rn as $,Wn as G}from"./cells-dG69fEtz.js";import{C as W,P as K,R as z,T as Q}from"./zod-Cg4WLWh2.js";import{t as E}from"./compiler-runtime-DeeZ7FnK.js";import{i as X}from"./useLifecycle-CmDXEyIC.js";import{t as J}from"./isEmpty-DIxUV1UR.js";import{d as L}from"./hotkeys-uKX61F1_.js";import{t as Y}from"./jsx-runtime-DN_bIXfG.js";import{t as A}from"./cn-C1rgT0yh.js";import{i as Z,t as ee}from"./chat-components-WF7xAOzH.js";import{t as C}from"./markdown-renderer-CRVtPH5D.js";import{t as te}from"./circle-check-big-OIMTUpe6.js";import{n as se}from"./spinner-C1czjtp7.js";import{c as ae}from"./datasource-wJp5J7GL.js";import{a as D,i as I,n as M,r as V}from"./multi-map-CQd4MZr5.js";var re=E();U();var t=H(Y(),1);const le=n=>{let e=(0,re.c)(13),{reasoning:a,index:l,isStreaming:s}=n,r=l===void 0?0:l,m=s===void 0?!1:s,o=m?"reasoning":void 0,x;e[0]===Symbol.for("react.memo_cache_sentinel")?(x=(0,t.jsx)(Z,{className:"h-3 w-3"}),e[0]=x):x=e[0];let p=m?"Thinking":"View reasoning",c;e[1]!==a.length||e[2]!==p?(c=(0,t.jsx)(D,{className:"text-xs text-muted-foreground hover:bg-muted/50 px-2 py-1 h-auto rounded-sm [&[data-state=open]>svg]:rotate-180",children:(0,t.jsxs)("span",{className:"flex items-center gap-2",children:[x,p," (",a.length," ","chars)"]})}),e[1]=a.length,e[2]=p,e[3]=c):c=e[3];let i;e[4]===a?i=e[5]:(i=(0,t.jsx)(V,{className:"pb-2 px-2",children:(0,t.jsx)("div",{className:"bg-muted/30 border border-muted/50 rounded-md p-3 italic text-muted-foreground/90 relative",children:(0,t.jsx)("div",{className:"pr-6",children:(0,t.jsx)(C,{content:a})})})}),e[4]=a,e[5]=i);let d;e[6]!==c||e[7]!==i?(d=(0,t.jsxs)(I,{value:"reasoning",className:"border-0",children:[c,i]}),e[6]=c,e[7]=i,e[8]=d):d=e[8];let u;return e[9]!==r||e[10]!==o||e[11]!==d?(u=(0,t.jsx)(M,{type:"single",collapsible:!0,className:"w-full mb-2",value:o,children:d},r),e[9]=r,e[10]=o,e[11]=d,e[12]=u):u=e[12],u};var F=E(),ne=K({status:z().default("success"),auth_required:Q().default(!1),action_url:W(),next_steps:W(),meta:W(),message:z().nullish()}).passthrough(),oe=n=>{let e=(0,F.c)(12),{data:a}=n,l;if(e[0]!==a){let{status:s,auth_required:r,action_url:m,meta:o,next_steps:x,message:p,...c}=a,i;e[2]===Symbol.for("react.memo_cache_sentinel")?(i=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Result"}),e[2]=i):i=e[2];let d;e[3]===s?d=e[4]:(d=(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--grass-2)] text-[var(--grass-11)] rounded-full font-medium capitalize",children:s}),e[3]=s,e[4]=d);let u;e[5]===r?u=e[6]:(u=r&&(0,t.jsx)("span",{className:"text-xs px-2 py-0.5 bg-[var(--amber-2)] text-[var(--amber-11)] rounded-full",children:"Auth Required"}),e[5]=r,e[6]=u);let h;e[7]!==d||e[8]!==u?(h=(0,t.jsxs)("div",{className:"flex items-center justify-between",children:[i,(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[d,u]})]}),e[7]=d,e[8]=u,e[9]=h):h=e[9];let f;e[10]===p?f=e[11]:(f=p&&(0,t.jsxs)("div",{className:"flex items-start gap-2",children:[(0,t.jsx)($,{className:"h-3 w-3 text-[var(--blue-11)] mt-0.5 flex-shrink-0"}),(0,t.jsx)("div",{className:"text-xs text-foreground",children:p})]}),e[10]=p,e[11]=f),l=(0,t.jsxs)("div",{className:"flex flex-col gap-1.5",children:[h,f,c&&(0,t.jsx)("div",{className:"space-y-3",children:Object.entries(c).map(me)})]}),e[0]=a,e[1]=l}else l=e[1];return l},ie=n=>{let e=(0,F.c)(8),{result:a}=n,l;e[0]===a?l=e[1]:(l=ne.safeParse(a),e[0]=a,e[1]=l);let s=l;if(s.success){let o;return e[2]===s.data?o=e[3]:(o=(0,t.jsx)(oe,{data:s.data}),e[2]=s.data,e[3]=o),o}let r;e[4]===a?r=e[5]:(r=typeof a=="string"?a:JSON.stringify(a,null,2),e[4]=a,e[5]=r);let m;return e[6]===r?m=e[7]:(m=(0,t.jsx)("div",{className:"text-xs font-medium text-muted-foreground mb-1 max-h-64 overflow-y-auto scrollbar-thin",children:r}),e[6]=r,e[7]=m),m},de=n=>{let e=(0,F.c)(9),{input:a}=n;if(!(a&&a!==null))return null;let l;e[0]===a?l=e[1]:(l=J(a),e[0]=a,e[1]=l);let s=l,r=typeof a=="object"&&Object.keys(a).length>0,m;e[2]===Symbol.for("react.memo_cache_sentinel")?(m=(0,t.jsx)("h3",{className:"text-xs font-semibold text-muted-foreground",children:"Tool Request"}),e[2]=m):m=e[2];let o;e[3]!==a||e[4]!==s||e[5]!==r?(o=s?"{}":r?JSON.stringify(a,null,2):String(a),e[3]=a,e[4]=s,e[5]=r,e[6]=o):o=e[6];let x;return e[7]===o?x=e[8]:(x=(0,t.jsxs)("div",{className:"space-y-2",children:[m,(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:o})]}),e[7]=o,e[8]=x),x};const B=n=>{let e=(0,F.c)(38),{toolName:a,result:l,error:s,index:r,state:m,className:o,input:x}=n,p=r===void 0?0:r,c=m==="output-available"&&(l||s),i=s?"error":c?"success":"loading",d;e[0]===i?d=e[1]:(d=()=>{switch(i){case"loading":return(0,t.jsx)(se,{className:"h-3 w-3 animate-spin"});case"error":return(0,t.jsx)(G,{className:"h-3 w-3 text-[var(--red-11)]"});case"success":return(0,t.jsx)(te,{className:"h-3 w-3 text-[var(--grass-11)]"});default:return(0,t.jsx)(ae,{className:"h-3 w-3"})}},e[0]=i,e[1]=d);let u=d,h;e[2]!==s||e[3]!==c||e[4]!==i?(h=()=>i==="loading"?"Running":s?"Failed":c?"Done":"Tool call",e[2]=s,e[3]=c,e[4]=i,e[5]=h):h=e[5];let f=h,T=`tool-${p}`,g;e[6]===o?g=e[7]:(g=A("w-full",o),e[6]=o,e[7]=g);let k=i==="error"&&"text-[var(--red-11)]/80",q=i==="success"&&"text-[var(--grass-11)]/80",v;e[8]!==k||e[9]!==q?(v=A("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",k,q),e[8]=k,e[9]=q,e[10]=v):v=e[10];let j;e[11]===u?j=e[12]:(j=u(),e[11]=u,e[12]=j);let P=f(),b;e[13]===a?b=e[14]:(b=ce(a),e[13]=a,e[14]=b);let N;e[15]===b?N=e[16]:(N=(0,t.jsx)("code",{className:"font-mono text-xs",children:b}),e[15]=b,e[16]=N);let y;e[17]!==P||e[18]!==N||e[19]!==j?(y=(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[j,P,":",N]}),e[17]=P,e[18]=N,e[19]=j,e[20]=y):y=e[20];let w;e[21]!==y||e[22]!==v?(w=(0,t.jsx)(D,{className:v,children:y}),e[21]=y,e[22]=v,e[23]=w):w=e[23];let _;e[24]!==s||e[25]!==c||e[26]!==x||e[27]!==l?(_=c&&(0,t.jsxs)("div",{className:"space-y-3",children:[(0,t.jsx)(de,{input:x}),l!=null&&(0,t.jsx)(ie,{result:l}),s&&(0,t.jsxs)("div",{className:"bg-[var(--red-2)] border border-[var(--red-6)] rounded-lg p-3",children:[(0,t.jsxs)("div",{className:"text-xs font-semibold text-[var(--red-11)] mb-2 flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--red-9)] rounded-full"}),"Error"]}),(0,t.jsx)("div",{className:"text-sm text-[var(--red-11)] leading-relaxed",children:s})]})]}),e[24]=s,e[25]=c,e[26]=x,e[27]=l,e[28]=_):_=e[28];let S;e[29]===_?S=e[30]:(S=(0,t.jsx)(V,{className:"py-2 px-2",children:_}),e[29]=_,e[30]=S);let R;e[31]!==w||e[32]!==S?(R=(0,t.jsxs)(I,{value:"tool-call",className:"border-0",children:[w,S]}),e[31]=w,e[32]=S,e[33]=R):R=e[33];let O;return e[34]!==R||e[35]!==T||e[36]!==g?(O=(0,t.jsx)(M,{type:"single",collapsible:!0,className:g,children:R},T),e[34]=R,e[35]=T,e[36]=g,e[37]=O):O=e[37],O};function ce(n){return n.replace("tool-","")}function me(n){let[e,a]=n;return J(a)?null:(0,t.jsxs)("div",{className:"space-y-1.5",children:[(0,t.jsxs)("div",{className:"text-xs font-medium text-muted-foreground capitalize flex items-center gap-2",children:[(0,t.jsx)("div",{className:"w-1.5 h-1.5 bg-[var(--blue-9)] rounded-full"}),e]}),(0,t.jsx)("pre",{className:"bg-[var(--slate-2)] p-2 text-muted-foreground border border-[var(--slate-4)] rounded text-xs overflow-auto scrollbar-thin max-h-64",children:JSON.stringify(a,null,2)})]},e)}const ue=({message:n,isStreamingReasoning:e,isLast:a})=>{return(0,t.jsx)(t.Fragment,{children:n.parts.map((s,r)=>l(s,r))});function l(s,r){if(xe(s))return(0,t.jsx)(B,{index:r,toolName:s.type,result:s.output,className:"my-2",state:s.state,input:s.input},r);if(pe(s))return L.debug("Found data part",s),null;switch(s.type){case"text":return(0,t.jsx)(C,{content:s.text},r);case"reasoning":return(0,t.jsx)(le,{reasoning:s.text,index:r,isStreaming:e&&a&&r===(n.parts.length||0)-1},r);case"file":return(0,t.jsx)(ee,{attachment:s},r);case"dynamic-tool":return(0,t.jsx)(B,{toolName:s.toolName,result:s.output,state:s.state,input:s.input},r);case"source-document":case"source-url":case"step-start":return L.debug("Found non-renderable part",s),null;default:return X(s),null}}};function xe(n){return n.type.startsWith("tool-")}function pe(n){return n.type.startsWith("data-")}export{ue as t};
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
import{s as et}from"./chunk-LvLJmgfZ.js";import{d as Pt,f as kt,l as zt,n as V,u as Ve}from"./useEvent-DlWF5OMa.js";import{t as Dt}from"./react-BGmjiNul.js";import{Un as Mt,un as Ft,w as Ht}from"./cells-CqQgFV4b.js";import"./react-dom-C9fstfnp.js";import{t as tt}from"./compiler-runtime-DeeZ7FnK.js";import{d as Pe}from"./hotkeys-uKX61F1_.js";import{n as rt,r as Ot}from"./utils-pfqq9IdB.js";import{o as Wt}from"./config-D6nhy4FA.js";import{r as ae}from"./useEventListener-COkmyg1v.js";import{t as Ut}from"./jsx-runtime-DN_bIXfG.js";import{t as B}from"./button-B8cGZzP5.js";import{t as se}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as Yt}from"./requests-C0HaHO6a.js";import{E as Xt,O as Bt,c as Vt,d as qt,f as $t,g as Gt,k as Jt,l as lt,n as ot,p as Kt,s as nt,u as Qt,v as Zt,w as er,x as tr}from"./add-cell-with-ai-i5LNDjJf.js";import{i as at,n as rr,r as lr,t as or}from"./chat-components-BqIcG4qc.js";import{c as nr,o as ar,t as sr}from"./ai-model-dropdown-B4PTfGxC.js";import{a as ir,i as cr,n as dr,p as ur,r as mr,s as pr,t as hr}from"./select-D9lTzMzP.js";import"./markdown-renderer-zLvh4wvy.js";import{a as fr,n as st}from"./state-QEMH_vzx.js";import{n as xr}from"./spinner-C1czjtp7.js";import{t as vr}from"./plus-CHesBJpY.js";import{r as it,ut as gr}from"./input-B80Yt1uu.js";import{t as wr}from"./settings-MTlHVxz3.js";import{r as ct,t as br}from"./state-DxSsbZ2U.js";import{t as yr}from"./square-leQTJTJJ.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as jr}from"./use-toast-Bzf3rpev.js";import{C as Sr,E as Cr,_ as he,g as q,w as $,x as ke}from"./Combination-D1TsGrBC.js";import{i as dt,t as ie}from"./tooltip-CvjcEpZC.js";import{u as Nr}from"./menu-items-9PZrU2e0.js";import{i as Rr}from"./dates-CdsE1R40.js";import{t as Ar}from"./context-DHfVoQfl.js";import{i as _r,r as Tr,t as Er}from"./popover-DtnzNVk-.js";import{n as Lr}from"./error-banner-DvT0IGDZ.js";import{t as Ir}from"./copy-icon-jWsqdLn1.js";import"./chunk-OGVTOU66-CjNLT2C3.js";import"./katex-AwOI3EvM.js";import"./marked.esm-CHnOtnr3.js";import"./es-DZXbHzby.js";import{t as Pr}from"./chat-display-DwogmR6s.js";import"./esm-B3JckBtM.js";import{t as qe}from"./empty-state-B0XJ9ZUi.js";var ut=tt(),m=et(Dt(),1);const kr=({chatState:e,chatId:t,messages:r})=>{if(!t)return Pe.warn("No active chat"),e;let a=e.chats.get(t);if(!a)return Pe.warn("No active chat"),e;let o=new Map(e.chats),n=Date.now();return o.set(a.id,{...a,messages:r,updatedAt:n}),{...e,chats:o}};var l=et(Ut(),1);function zr(e,t){return m.useReducer((r,a)=>t[r][a]??r,e)}var $e="ScrollArea",[mt,xo]=Cr($e),[Dr,F]=mt($e),pt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:a="hover",dir:o,scrollHideDelay:n=600,...s}=e,[c,i]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,g]=m.useState(null),[y,L]=m.useState(null),[b,C]=m.useState(0),[j,S]=m.useState(0),[R,N]=m.useState(!1),[I,P]=m.useState(!1),w=ae(t,z=>i(z)),T=Nr(o);return(0,l.jsx)(Dr,{scope:r,type:a,dir:T,scrollHideDelay:n,scrollArea:c,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:N,scrollbarY:y,onScrollbarYChange:L,scrollbarYEnabled:I,onScrollbarYEnabledChange:P,onCornerWidthChange:C,onCornerHeightChange:S,children:(0,l.jsx)(he.div,{dir:T,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});pt.displayName=$e;var ht="ScrollAreaViewport",ft=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:a,nonce:o,...n}=e,s=F(ht,r),c=ae(t,m.useRef(null),s.onViewportChange);return(0,l.jsxs)(l.Fragment,{children:[(0,l.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:o}),(0,l.jsx)(he.div,{"data-radix-scroll-area-viewport":"",...n,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,l.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});ft.displayName=ht;var U="ScrollAreaScrollbar",Ge=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=o,c=e.orientation==="horizontal";return m.useEffect(()=>(c?n(!0):s(!0),()=>{c?n(!1):s(!1)}),[c,n,s]),o.type==="hover"?(0,l.jsx)(Mr,{...a,ref:t,forceMount:r}):o.type==="scroll"?(0,l.jsx)(Fr,{...a,ref:t,forceMount:r}):o.type==="auto"?(0,l.jsx)(xt,{...a,ref:t,forceMount:r}):o.type==="always"?(0,l.jsx)(Je,{...a,ref:t}):null});Ge.displayName=U;var Mr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),[n,s]=m.useState(!1);return m.useEffect(()=>{let c=o.scrollArea,i=0;if(c){let d=()=>{window.clearTimeout(i),s(!0)},u=()=>{i=window.setTimeout(()=>s(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",d),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(i),c.removeEventListener("pointerenter",d),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),(0,l.jsx)(ke,{present:r||n,children:(0,l.jsx)(xt,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Fr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Fe(()=>i("SCROLL_END"),100),[c,i]=zr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(c==="idle"){let d=window.setTimeout(()=>i("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(d)}},[c,o.scrollHideDelay,i]),m.useEffect(()=>{let d=o.viewport,u=n?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(i("SCROLL"),s()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[o.viewport,n,i,s]),(0,l.jsx)(ke,{present:r||c!=="hidden",children:(0,l.jsx)(Je,{"data-state":c==="hidden"?"hidden":"visible",...a,ref:t,onPointerEnter:$(e.onPointerEnter,()=>i("POINTER_ENTER")),onPointerLeave:$(e.onPointerLeave,()=>i("POINTER_LEAVE"))})})}),xt=m.forwardRef((e,t)=>{let r=F(U,e.__scopeScrollArea),{forceMount:a,...o}=e,[n,s]=m.useState(!1),c=e.orientation==="horizontal",i=Fe(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;s(c?d:u)}},10);return ce(r.viewport,i),ce(r.content,i),(0,l.jsx)(ke,{present:a||n,children:(0,l.jsx)(Je,{"data-state":n?"visible":"hidden",...o,ref:t})})}),Je=m.forwardRef((e,t)=>{let{orientation:r="vertical",...a}=e,o=F(U,e.__scopeScrollArea),n=m.useRef(null),s=m.useRef(0),[c,i]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=yt(c.viewport,c.content),u={...a,sizes:c,onSizesChange:i,hasThumb:d>0&&d<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,f){return Xr(h,s.current,c,f)}return r==="horizontal"?(0,l.jsx)(Hr,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&n.current){let h=o.viewport.scrollLeft,f=jt(h,c,o.dir);n.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollLeft=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollLeft=p(h,o.dir))}}):r==="vertical"?(0,l.jsx)(Or,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&n.current){let h=o.viewport.scrollTop,f=jt(h,c);n.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollTop=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollTop=p(h))}}):null}),Hr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...o}=e,n=F(U,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarXChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,l.jsx)(gt,{"data-orientation":"horizontal",...o,ref:d,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:De(s.paddingLeft),paddingEnd:De(s.paddingRight)}})}})}),Or=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...o}=e,n=F(U,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarYChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,l.jsx)(gt,{"data-orientation":"vertical",...o,ref:d,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:De(s.paddingTop),paddingEnd:De(s.paddingBottom)}})}})}),[Wr,vt]=mt(U),gt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:a,hasThumb:o,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:i,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=F(U,r),[g,y]=m.useState(null),L=ae(t,w=>y(w)),b=m.useRef(null),C=m.useRef(""),j=f.viewport,S=a.content-a.viewport,R=q(u),N=q(i),I=Fe(p,10);function P(w){b.current&&d({x:w.clientX-b.current.left,y:w.clientY-b.current.top})}return m.useEffect(()=>{let w=T=>{let z=T.target;g!=null&&g.contains(z)&&R(T,S)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[j,g,S,R]),m.useEffect(N,[a,N]),ce(g,I),ce(f.content,I),(0,l.jsx)(Wr,{scope:r,scrollbar:g,hasThumb:o,onThumbChange:q(n),onThumbPointerUp:q(s),onThumbPositionChange:N,onThumbPointerDown:q(c),children:(0,l.jsx)(he.div,{...h,ref:L,style:{position:"absolute",...h.style},onPointerDown:$(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),b.current=g.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),P(w))}),onPointerMove:$(e.onPointerMove,P),onPointerUp:$(e.onPointerUp,w=>{let T=w.target;T.hasPointerCapture(w.pointerId)&&T.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),b.current=null})})})}),ze="ScrollAreaThumb",wt=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=vt(ze,e.__scopeScrollArea);return(0,l.jsx)(ke,{present:r||o.hasThumb,children:(0,l.jsx)(Ur,{ref:t,...a})})}),Ur=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:a,...o}=e,n=F(ze,r),s=vt(ze,r),{onThumbPositionChange:c}=s,i=ae(t,p=>s.onThumbChange(p)),d=m.useRef(void 0),u=Fe(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=n.viewport;if(p){let h=()=>{u(),d.current||(d.current=Br(p,c),c())};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,u,c]),(0,l.jsx)(he.div,{"data-state":s.hasThumb?"visible":"hidden",...o,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:$(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,g=p.clientY-h.top;s.onThumbPointerDown({x:f,y:g})}),onPointerUp:$(e.onPointerUp,s.onThumbPointerUp)})});wt.displayName=ze;var Ke="ScrollAreaCorner",bt=m.forwardRef((e,t)=>{let r=F(Ke,e.__scopeScrollArea),a=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&a?(0,l.jsx)(Yr,{...e,ref:t}):null});bt.displayName=Ke;var Yr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...a}=e,o=F(Ke,r),[n,s]=m.useState(0),[c,i]=m.useState(0),d=!!(n&&c);return ce(o.scrollbarX,()=>{var p;let u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),i(u)}),ce(o.scrollbarY,()=>{var p;let u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),s(u)}),d?(0,l.jsx)(he.div,{...a,ref:t,style:{width:n,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function De(e){return e?parseInt(e,10):0}function yt(e,t){let r=e/t;return isNaN(r)?0:r}function Me(e){let t=yt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=(e.scrollbar.size-r)*t;return Math.max(a,18)}function Xr(e,t,r,a="ltr"){let o=Me(r),n=o/2,s=t||n,c=o-s,i=r.scrollbar.paddingStart+s,d=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=a==="ltr"?[0,u]:[u*-1,0];return St([i,d],p)(e)}function jt(e,t,r="ltr"){let a=Me(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-o,s=t.content-t.viewport,c=n-a,i=ur(e,r==="ltr"?[0,s]:[s*-1,0]);return St([0,s],[0,c])(i)}function St(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}function Ct(e,t){return e>0&&e<t}var Br=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return(function o(){let n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,c=r.top!==n.top;(s||c)&&t(),r=n,a=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(a)};function Fe(e,t){let r=q(e),a=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(a.current),[]),m.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(r,t)},[r,t])}function ce(e,t){let r=q(t);Sr(()=>{let a=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(a),o.unobserve(e)}}},[e,r])}var Nt=pt,Vr=ft,qr=bt,Rt=m.forwardRef((e,t)=>{let r=(0,ut.c)(15),a,o,n;r[0]===e?(a=r[1],o=r[2],n=r[3]):({className:o,children:a,...n}=e,r[0]=e,r[1]=a,r[2]=o,r[3]=n);let s;r[4]===o?s=r[5]:(s=se("relative overflow-hidden",o),r[4]=o,r[5]=s);let c;r[6]===a?c=r[7]:(c=(0,l.jsx)(Vr,{className:"h-full w-full rounded-[inherit]",children:a}),r[6]=a,r[7]=c);let i,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)(At,{}),d=(0,l.jsx)(qr,{}),r[8]=i,r[9]=d):(i=r[8],d=r[9]);let u;return r[10]!==n||r[11]!==t||r[12]!==s||r[13]!==c?(u=(0,l.jsxs)(Nt,{ref:t,className:s,...n,children:[c,i,d]}),r[10]=n,r[11]=t,r[12]=s,r[13]=c,r[14]=u):u=r[14],u});Rt.displayName=Nt.displayName;var At=m.forwardRef((e,t)=>{let r=(0,ut.c)(14),a,o,n;r[0]===e?(a=r[1],o=r[2],n=r[3]):({className:a,orientation:n,...o}=e,r[0]=e,r[1]=a,r[2]=o,r[3]=n);let s=n===void 0?"vertical":n,c=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",i=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==a||r[5]!==c||r[6]!==i?(d=se("flex touch-none select-none transition-colors",c,i,a),r[4]=a,r[5]=c,r[6]=i,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)(wt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==s||r[10]!==o||r[11]!==t||r[12]!==d?(p=(0,l.jsx)(Ge,{ref:t,orientation:s,className:d,...o,children:u}),r[9]=s,r[10]=o,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});At.displayName=Ge.displayName;var $r=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const Gr=e=>{let t=Date.now(),r=$r.map(n=>({...n,chats:[]})),a={label:"Older",days:1/0,chats:[]},o=n=>{switch(n){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return n>=4&&n<=7?r[4]:n>=8&&n<=30?r[5]:a}};for(let n of e)o(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...r,a].filter(n=>n.chats.length>0)},Jr=({activeChatId:e,setActiveChat:t})=>{let r=Ve(ct),{locale:a}=Ar(),[o,n]=(0,m.useState)(""),s=(0,m.useMemo)(()=>[...r.chats.values()].sort((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),c=(0,m.useMemo)(()=>o.trim()?s.filter(d=>d.title.toLowerCase().includes(o.toLowerCase())):s,[s,o]),i=(0,m.useMemo)(()=>Gr(c),[c]);return(0,l.jsxs)(Er,{children:[(0,l.jsx)(ie,{content:"Previous chats",children:(0,l.jsx)(_r,{asChild:!0,children:(0,l.jsx)(B,{variant:"text",size:"icon",children:(0,l.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,l.jsxs)(Tr,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,l.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,l.jsx)(it,{placeholder:"Search chat history...",value:o,onChange:d=>n(d.target.value),className:"text-xs"})}),(0,l.jsx)(Rt,{className:"h-[450px] p-2",children:(0,l.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,l.jsx)(qe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,l.jsx)(at,{})}),c.length===0&&o&&s.length>0&&(0,l.jsx)(qe,{title:"No chats found",description:`No chats match "${o}"`,icon:(0,l.jsx)(gr,{})}),i.map((d,u)=>(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,l.jsx)("div",{children:d.chats.map(p=>(0,l.jsxs)("button",{className:se("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(p.id)},type:"button",children:[(0,l.jsx)("div",{className:"flex-1 min-w-0",children:(0,l.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,l.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Rr(p.updatedAt,a)})]},p.id))}),u!==i.length-1&&(0,l.jsx)("hr",{})]},d.label))]})})]})]})};var de=tt(),_t="manual",Kr=new Set(["openai","google","anthropic"]),Qr=["image/*","text/*"],Zr=1024*1024*50,el=e=>{let t=(0,de.c)(18),{onNewChat:r,activeChatId:a,setActiveChat:o}=e,{handleClick:n}=st(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(vr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,l.jsx)(ie,{content:"New chat",children:(0,l.jsx)(B,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=c);let i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)(fr,{}),t[3]=i):i=t[3];let d;t[4]===n?d=t[5]:(d=()=>n("ai"),t[4]=n,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)(wr,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,l.jsx)(ie,{content:"AI Settings",children:(0,l.jsx)(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==a||t[10]!==o?(h=(0,l.jsx)(Jr,{activeChatId:a,setActiveChat:o}),t[9]=a,t[10]=o,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[i,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=(0,l.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g},Tt=(0,m.memo)(e=>{let t=(0,de.c)(15),{message:r,index:a,onEdit:o,isStreamingReasoning:n,isLast:s}=e,c;t[0]!==a||t[1]!==o?(c=y=>{var C,j,S;let L=(j=(C=y.parts)==null?void 0:C.filter(ol))==null?void 0:j.map(nl).join(`
|
|
1
|
+
import{s as et}from"./chunk-LvLJmgfZ.js";import{d as Pt,f as kt,l as zt,n as V,u as Ve}from"./useEvent-DlWF5OMa.js";import{t as Dt}from"./react-BGmjiNul.js";import{Un as Mt,un as Ft,w as Ht}from"./cells-dG69fEtz.js";import"./react-dom-C9fstfnp.js";import{t as tt}from"./compiler-runtime-DeeZ7FnK.js";import{d as Pe}from"./hotkeys-uKX61F1_.js";import{n as rt,r as Ot}from"./utils-Czt8B2GX.js";import{o as Wt}from"./config-CENq_7Pd.js";import{r as ae}from"./useEventListener-COkmyg1v.js";import{t as Ut}from"./jsx-runtime-DN_bIXfG.js";import{t as B}from"./button-B8cGZzP5.js";import{t as se}from"./cn-C1rgT0yh.js";import"./dist-CAcX026F.js";import"./cjs-Bj40p_Np.js";import"./main-CwSdzVhm.js";import"./useNonce-EAuSVK-5.js";import{r as Yt}from"./requests-C0HaHO6a.js";import{E as Xt,O as Bt,c as Vt,d as qt,f as $t,g as Gt,k as Jt,l as lt,n as ot,p as Kt,s as nt,u as Qt,v as Zt,w as er,x as tr}from"./add-cell-with-ai-CbaApRYx.js";import{i as at,n as rr,r as lr,t as or}from"./chat-components-WF7xAOzH.js";import{c as nr,o as ar,t as sr}from"./ai-model-dropdown-ChmbKArd.js";import{a as ir,i as cr,n as dr,p as ur,r as mr,s as pr,t as hr}from"./select-D9lTzMzP.js";import"./markdown-renderer-CRVtPH5D.js";import{a as fr,n as st}from"./state-dz5q1XdV.js";import{n as xr}from"./spinner-C1czjtp7.js";import{t as vr}from"./plus-CHesBJpY.js";import{r as it,ut as gr}from"./input-B80Yt1uu.js";import{t as wr}from"./settings-MTlHVxz3.js";import{r as ct,t as br}from"./state-B_RAyPJZ.js";import{t as yr}from"./square-leQTJTJJ.js";import"./dist-HGZzCB0y.js";import"./dist-CVj-_Iiz.js";import"./dist-BVf1IY4_.js";import"./dist-Cq_4nPfh.js";import"./dist-RKnr9SNh.js";import{t as jr}from"./use-toast-Bzf3rpev.js";import{C as Sr,E as Cr,_ as he,g as q,w as $,x as ke}from"./Combination-D1TsGrBC.js";import{i as dt,t as ie}from"./tooltip-CvjcEpZC.js";import{u as Nr}from"./menu-items-9PZrU2e0.js";import{i as Rr}from"./dates-CdsE1R40.js";import{t as Ar}from"./context-DHfVoQfl.js";import{i as _r,r as Tr,t as Er}from"./popover-DtnzNVk-.js";import{n as Lr}from"./error-banner-DvT0IGDZ.js";import{t as Ir}from"./copy-icon-jWsqdLn1.js";import"./chunk-OGVTOU66-CjNLT2C3.js";import"./katex-AwOI3EvM.js";import"./marked.esm-CHnOtnr3.js";import"./es-CXayDCrt.js";import{t as Pr}from"./chat-display-CSZE5mc2.js";import"./esm-B3JckBtM.js";import{t as qe}from"./empty-state-B0XJ9ZUi.js";var ut=tt(),m=et(Dt(),1);const kr=({chatState:e,chatId:t,messages:r})=>{if(!t)return Pe.warn("No active chat"),e;let a=e.chats.get(t);if(!a)return Pe.warn("No active chat"),e;let o=new Map(e.chats),n=Date.now();return o.set(a.id,{...a,messages:r,updatedAt:n}),{...e,chats:o}};var l=et(Ut(),1);function zr(e,t){return m.useReducer((r,a)=>t[r][a]??r,e)}var $e="ScrollArea",[mt,xo]=Cr($e),[Dr,F]=mt($e),pt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,type:a="hover",dir:o,scrollHideDelay:n=600,...s}=e,[c,i]=m.useState(null),[d,u]=m.useState(null),[p,h]=m.useState(null),[f,g]=m.useState(null),[y,L]=m.useState(null),[b,C]=m.useState(0),[j,S]=m.useState(0),[R,N]=m.useState(!1),[I,P]=m.useState(!1),w=ae(t,z=>i(z)),T=Nr(o);return(0,l.jsx)(Dr,{scope:r,type:a,dir:T,scrollHideDelay:n,scrollArea:c,viewport:d,onViewportChange:u,content:p,onContentChange:h,scrollbarX:f,onScrollbarXChange:g,scrollbarXEnabled:R,onScrollbarXEnabledChange:N,scrollbarY:y,onScrollbarYChange:L,scrollbarYEnabled:I,onScrollbarYEnabledChange:P,onCornerWidthChange:C,onCornerHeightChange:S,children:(0,l.jsx)(he.div,{dir:T,...s,ref:w,style:{position:"relative","--radix-scroll-area-corner-width":b+"px","--radix-scroll-area-corner-height":j+"px",...e.style}})})});pt.displayName=$e;var ht="ScrollAreaViewport",ft=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,children:a,nonce:o,...n}=e,s=F(ht,r),c=ae(t,m.useRef(null),s.onViewportChange);return(0,l.jsxs)(l.Fragment,{children:[(0,l.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:o}),(0,l.jsx)(he.div,{"data-radix-scroll-area-viewport":"",...n,ref:c,style:{overflowX:s.scrollbarXEnabled?"scroll":"hidden",overflowY:s.scrollbarYEnabled?"scroll":"hidden",...e.style},children:(0,l.jsx)("div",{ref:s.onContentChange,style:{minWidth:"100%",display:"table"},children:a})})]})});ft.displayName=ht;var U="ScrollAreaScrollbar",Ge=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),{onScrollbarXEnabledChange:n,onScrollbarYEnabledChange:s}=o,c=e.orientation==="horizontal";return m.useEffect(()=>(c?n(!0):s(!0),()=>{c?n(!1):s(!1)}),[c,n,s]),o.type==="hover"?(0,l.jsx)(Mr,{...a,ref:t,forceMount:r}):o.type==="scroll"?(0,l.jsx)(Fr,{...a,ref:t,forceMount:r}):o.type==="auto"?(0,l.jsx)(xt,{...a,ref:t,forceMount:r}):o.type==="always"?(0,l.jsx)(Je,{...a,ref:t}):null});Ge.displayName=U;var Mr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),[n,s]=m.useState(!1);return m.useEffect(()=>{let c=o.scrollArea,i=0;if(c){let d=()=>{window.clearTimeout(i),s(!0)},u=()=>{i=window.setTimeout(()=>s(!1),o.scrollHideDelay)};return c.addEventListener("pointerenter",d),c.addEventListener("pointerleave",u),()=>{window.clearTimeout(i),c.removeEventListener("pointerenter",d),c.removeEventListener("pointerleave",u)}}},[o.scrollArea,o.scrollHideDelay]),(0,l.jsx)(ke,{present:r||n,children:(0,l.jsx)(xt,{"data-state":n?"visible":"hidden",...a,ref:t})})}),Fr=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=F(U,e.__scopeScrollArea),n=e.orientation==="horizontal",s=Fe(()=>i("SCROLL_END"),100),[c,i]=zr("hidden",{hidden:{SCROLL:"scrolling"},scrolling:{SCROLL_END:"idle",POINTER_ENTER:"interacting"},interacting:{SCROLL:"interacting",POINTER_LEAVE:"idle"},idle:{HIDE:"hidden",SCROLL:"scrolling",POINTER_ENTER:"interacting"}});return m.useEffect(()=>{if(c==="idle"){let d=window.setTimeout(()=>i("HIDE"),o.scrollHideDelay);return()=>window.clearTimeout(d)}},[c,o.scrollHideDelay,i]),m.useEffect(()=>{let d=o.viewport,u=n?"scrollLeft":"scrollTop";if(d){let p=d[u],h=()=>{let f=d[u];p!==f&&(i("SCROLL"),s()),p=f};return d.addEventListener("scroll",h),()=>d.removeEventListener("scroll",h)}},[o.viewport,n,i,s]),(0,l.jsx)(ke,{present:r||c!=="hidden",children:(0,l.jsx)(Je,{"data-state":c==="hidden"?"hidden":"visible",...a,ref:t,onPointerEnter:$(e.onPointerEnter,()=>i("POINTER_ENTER")),onPointerLeave:$(e.onPointerLeave,()=>i("POINTER_LEAVE"))})})}),xt=m.forwardRef((e,t)=>{let r=F(U,e.__scopeScrollArea),{forceMount:a,...o}=e,[n,s]=m.useState(!1),c=e.orientation==="horizontal",i=Fe(()=>{if(r.viewport){let d=r.viewport.offsetWidth<r.viewport.scrollWidth,u=r.viewport.offsetHeight<r.viewport.scrollHeight;s(c?d:u)}},10);return ce(r.viewport,i),ce(r.content,i),(0,l.jsx)(ke,{present:a||n,children:(0,l.jsx)(Je,{"data-state":n?"visible":"hidden",...o,ref:t})})}),Je=m.forwardRef((e,t)=>{let{orientation:r="vertical",...a}=e,o=F(U,e.__scopeScrollArea),n=m.useRef(null),s=m.useRef(0),[c,i]=m.useState({content:0,viewport:0,scrollbar:{size:0,paddingStart:0,paddingEnd:0}}),d=yt(c.viewport,c.content),u={...a,sizes:c,onSizesChange:i,hasThumb:d>0&&d<1,onThumbChange:h=>n.current=h,onThumbPointerUp:()=>s.current=0,onThumbPointerDown:h=>s.current=h};function p(h,f){return Xr(h,s.current,c,f)}return r==="horizontal"?(0,l.jsx)(Hr,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&n.current){let h=o.viewport.scrollLeft,f=jt(h,c,o.dir);n.current.style.transform=`translate3d(${f}px, 0, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollLeft=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollLeft=p(h,o.dir))}}):r==="vertical"?(0,l.jsx)(Or,{...u,ref:t,onThumbPositionChange:()=>{if(o.viewport&&n.current){let h=o.viewport.scrollTop,f=jt(h,c);n.current.style.transform=`translate3d(0, ${f}px, 0)`}},onWheelScroll:h=>{o.viewport&&(o.viewport.scrollTop=h)},onDragScroll:h=>{o.viewport&&(o.viewport.scrollTop=p(h))}}):null}),Hr=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...o}=e,n=F(U,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarXChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,l.jsx)(gt,{"data-orientation":"horizontal",...o,ref:d,sizes:r,style:{bottom:0,left:n.dir==="rtl"?"var(--radix-scroll-area-corner-width)":0,right:n.dir==="ltr"?"var(--radix-scroll-area-corner-width)":0,"--radix-scroll-area-thumb-width":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.x),onDragScroll:u=>e.onDragScroll(u.x),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollLeft+u.deltaX;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollWidth,viewport:n.viewport.offsetWidth,scrollbar:{size:i.current.clientWidth,paddingStart:De(s.paddingLeft),paddingEnd:De(s.paddingRight)}})}})}),Or=m.forwardRef((e,t)=>{let{sizes:r,onSizesChange:a,...o}=e,n=F(U,e.__scopeScrollArea),[s,c]=m.useState(),i=m.useRef(null),d=ae(t,i,n.onScrollbarYChange);return m.useEffect(()=>{i.current&&c(getComputedStyle(i.current))},[i]),(0,l.jsx)(gt,{"data-orientation":"vertical",...o,ref:d,sizes:r,style:{top:0,right:n.dir==="ltr"?0:void 0,left:n.dir==="rtl"?0:void 0,bottom:"var(--radix-scroll-area-corner-height)","--radix-scroll-area-thumb-height":Me(r)+"px",...e.style},onThumbPointerDown:u=>e.onThumbPointerDown(u.y),onDragScroll:u=>e.onDragScroll(u.y),onWheelScroll:(u,p)=>{if(n.viewport){let h=n.viewport.scrollTop+u.deltaY;e.onWheelScroll(h),Ct(h,p)&&u.preventDefault()}},onResize:()=>{i.current&&n.viewport&&s&&a({content:n.viewport.scrollHeight,viewport:n.viewport.offsetHeight,scrollbar:{size:i.current.clientHeight,paddingStart:De(s.paddingTop),paddingEnd:De(s.paddingBottom)}})}})}),[Wr,vt]=mt(U),gt=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,sizes:a,hasThumb:o,onThumbChange:n,onThumbPointerUp:s,onThumbPointerDown:c,onThumbPositionChange:i,onDragScroll:d,onWheelScroll:u,onResize:p,...h}=e,f=F(U,r),[g,y]=m.useState(null),L=ae(t,w=>y(w)),b=m.useRef(null),C=m.useRef(""),j=f.viewport,S=a.content-a.viewport,R=q(u),N=q(i),I=Fe(p,10);function P(w){b.current&&d({x:w.clientX-b.current.left,y:w.clientY-b.current.top})}return m.useEffect(()=>{let w=T=>{let z=T.target;g!=null&&g.contains(z)&&R(T,S)};return document.addEventListener("wheel",w,{passive:!1}),()=>document.removeEventListener("wheel",w,{passive:!1})},[j,g,S,R]),m.useEffect(N,[a,N]),ce(g,I),ce(f.content,I),(0,l.jsx)(Wr,{scope:r,scrollbar:g,hasThumb:o,onThumbChange:q(n),onThumbPointerUp:q(s),onThumbPositionChange:N,onThumbPointerDown:q(c),children:(0,l.jsx)(he.div,{...h,ref:L,style:{position:"absolute",...h.style},onPointerDown:$(e.onPointerDown,w=>{w.button===0&&(w.target.setPointerCapture(w.pointerId),b.current=g.getBoundingClientRect(),C.current=document.body.style.webkitUserSelect,document.body.style.webkitUserSelect="none",f.viewport&&(f.viewport.style.scrollBehavior="auto"),P(w))}),onPointerMove:$(e.onPointerMove,P),onPointerUp:$(e.onPointerUp,w=>{let T=w.target;T.hasPointerCapture(w.pointerId)&&T.releasePointerCapture(w.pointerId),document.body.style.webkitUserSelect=C.current,f.viewport&&(f.viewport.style.scrollBehavior=""),b.current=null})})})}),ze="ScrollAreaThumb",wt=m.forwardRef((e,t)=>{let{forceMount:r,...a}=e,o=vt(ze,e.__scopeScrollArea);return(0,l.jsx)(ke,{present:r||o.hasThumb,children:(0,l.jsx)(Ur,{ref:t,...a})})}),Ur=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,style:a,...o}=e,n=F(ze,r),s=vt(ze,r),{onThumbPositionChange:c}=s,i=ae(t,p=>s.onThumbChange(p)),d=m.useRef(void 0),u=Fe(()=>{d.current&&(d.current=(d.current(),void 0))},100);return m.useEffect(()=>{let p=n.viewport;if(p){let h=()=>{u(),d.current||(d.current=Br(p,c),c())};return c(),p.addEventListener("scroll",h),()=>p.removeEventListener("scroll",h)}},[n.viewport,u,c]),(0,l.jsx)(he.div,{"data-state":s.hasThumb?"visible":"hidden",...o,ref:i,style:{width:"var(--radix-scroll-area-thumb-width)",height:"var(--radix-scroll-area-thumb-height)",...a},onPointerDownCapture:$(e.onPointerDownCapture,p=>{let h=p.target.getBoundingClientRect(),f=p.clientX-h.left,g=p.clientY-h.top;s.onThumbPointerDown({x:f,y:g})}),onPointerUp:$(e.onPointerUp,s.onThumbPointerUp)})});wt.displayName=ze;var Ke="ScrollAreaCorner",bt=m.forwardRef((e,t)=>{let r=F(Ke,e.__scopeScrollArea),a=!!(r.scrollbarX&&r.scrollbarY);return r.type!=="scroll"&&a?(0,l.jsx)(Yr,{...e,ref:t}):null});bt.displayName=Ke;var Yr=m.forwardRef((e,t)=>{let{__scopeScrollArea:r,...a}=e,o=F(Ke,r),[n,s]=m.useState(0),[c,i]=m.useState(0),d=!!(n&&c);return ce(o.scrollbarX,()=>{var p;let u=((p=o.scrollbarX)==null?void 0:p.offsetHeight)||0;o.onCornerHeightChange(u),i(u)}),ce(o.scrollbarY,()=>{var p;let u=((p=o.scrollbarY)==null?void 0:p.offsetWidth)||0;o.onCornerWidthChange(u),s(u)}),d?(0,l.jsx)(he.div,{...a,ref:t,style:{width:n,height:c,position:"absolute",right:o.dir==="ltr"?0:void 0,left:o.dir==="rtl"?0:void 0,bottom:0,...e.style}}):null});function De(e){return e?parseInt(e,10):0}function yt(e,t){let r=e/t;return isNaN(r)?0:r}function Me(e){let t=yt(e.viewport,e.content),r=e.scrollbar.paddingStart+e.scrollbar.paddingEnd,a=(e.scrollbar.size-r)*t;return Math.max(a,18)}function Xr(e,t,r,a="ltr"){let o=Me(r),n=o/2,s=t||n,c=o-s,i=r.scrollbar.paddingStart+s,d=r.scrollbar.size-r.scrollbar.paddingEnd-c,u=r.content-r.viewport,p=a==="ltr"?[0,u]:[u*-1,0];return St([i,d],p)(e)}function jt(e,t,r="ltr"){let a=Me(t),o=t.scrollbar.paddingStart+t.scrollbar.paddingEnd,n=t.scrollbar.size-o,s=t.content-t.viewport,c=n-a,i=ur(e,r==="ltr"?[0,s]:[s*-1,0]);return St([0,s],[0,c])(i)}function St(e,t){return r=>{if(e[0]===e[1]||t[0]===t[1])return t[0];let a=(t[1]-t[0])/(e[1]-e[0]);return t[0]+a*(r-e[0])}}function Ct(e,t){return e>0&&e<t}var Br=(e,t=()=>{})=>{let r={left:e.scrollLeft,top:e.scrollTop},a=0;return(function o(){let n={left:e.scrollLeft,top:e.scrollTop},s=r.left!==n.left,c=r.top!==n.top;(s||c)&&t(),r=n,a=window.requestAnimationFrame(o)})(),()=>window.cancelAnimationFrame(a)};function Fe(e,t){let r=q(e),a=m.useRef(0);return m.useEffect(()=>()=>window.clearTimeout(a.current),[]),m.useCallback(()=>{window.clearTimeout(a.current),a.current=window.setTimeout(r,t)},[r,t])}function ce(e,t){let r=q(t);Sr(()=>{let a=0;if(e){let o=new ResizeObserver(()=>{cancelAnimationFrame(a),a=window.requestAnimationFrame(r)});return o.observe(e),()=>{window.cancelAnimationFrame(a),o.unobserve(e)}}},[e,r])}var Nt=pt,Vr=ft,qr=bt,Rt=m.forwardRef((e,t)=>{let r=(0,ut.c)(15),a,o,n;r[0]===e?(a=r[1],o=r[2],n=r[3]):({className:o,children:a,...n}=e,r[0]=e,r[1]=a,r[2]=o,r[3]=n);let s;r[4]===o?s=r[5]:(s=se("relative overflow-hidden",o),r[4]=o,r[5]=s);let c;r[6]===a?c=r[7]:(c=(0,l.jsx)(Vr,{className:"h-full w-full rounded-[inherit]",children:a}),r[6]=a,r[7]=c);let i,d;r[8]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)(At,{}),d=(0,l.jsx)(qr,{}),r[8]=i,r[9]=d):(i=r[8],d=r[9]);let u;return r[10]!==n||r[11]!==t||r[12]!==s||r[13]!==c?(u=(0,l.jsxs)(Nt,{ref:t,className:s,...n,children:[c,i,d]}),r[10]=n,r[11]=t,r[12]=s,r[13]=c,r[14]=u):u=r[14],u});Rt.displayName=Nt.displayName;var At=m.forwardRef((e,t)=>{let r=(0,ut.c)(14),a,o,n;r[0]===e?(a=r[1],o=r[2],n=r[3]):({className:a,orientation:n,...o}=e,r[0]=e,r[1]=a,r[2]=o,r[3]=n);let s=n===void 0?"vertical":n,c=s==="vertical"&&"h-full w-2.5 border-l border-l-transparent p-px",i=s==="horizontal"&&"h-2.5 flex-col border-t border-t-transparent p-px",d;r[4]!==a||r[5]!==c||r[6]!==i?(d=se("flex touch-none select-none transition-colors",c,i,a),r[4]=a,r[5]=c,r[6]=i,r[7]=d):d=r[7];let u;r[8]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)(wt,{className:"relative flex-1 rounded-full bg-border"}),r[8]=u):u=r[8];let p;return r[9]!==s||r[10]!==o||r[11]!==t||r[12]!==d?(p=(0,l.jsx)(Ge,{ref:t,orientation:s,className:d,...o,children:u}),r[9]=s,r[10]=o,r[11]=t,r[12]=d,r[13]=p):p=r[13],p});At.displayName=Ge.displayName;var $r=[{label:"Today",days:0},{label:"Yesterday",days:1},{label:"2d ago",days:2},{label:"3d ago",days:3},{label:"This week",days:7},{label:"This month",days:30}];const Gr=e=>{let t=Date.now(),r=$r.map(n=>({...n,chats:[]})),a={label:"Older",days:1/0,chats:[]},o=n=>{switch(n){case 0:return r[0];case 1:return r[1];case 2:return r[2];case 3:return r[3];default:return n>=4&&n<=7?r[4]:n>=8&&n<=30?r[5]:a}};for(let n of e)o(Math.floor((t-n.updatedAt)/864e5)).chats.push(n);return[...r,a].filter(n=>n.chats.length>0)},Jr=({activeChatId:e,setActiveChat:t})=>{let r=Ve(ct),{locale:a}=Ar(),[o,n]=(0,m.useState)(""),s=(0,m.useMemo)(()=>[...r.chats.values()].sort((d,u)=>u.updatedAt-d.updatedAt),[r.chats]),c=(0,m.useMemo)(()=>o.trim()?s.filter(d=>d.title.toLowerCase().includes(o.toLowerCase())):s,[s,o]),i=(0,m.useMemo)(()=>Gr(c),[c]);return(0,l.jsxs)(Er,{children:[(0,l.jsx)(ie,{content:"Previous chats",children:(0,l.jsx)(_r,{asChild:!0,children:(0,l.jsx)(B,{variant:"text",size:"icon",children:(0,l.jsx)(Mt,{className:"h-4 w-4"})})})}),(0,l.jsxs)(Tr,{className:"w-[480px] p-0",align:"start",side:"right",children:[(0,l.jsx)("div",{className:"pt-3 px-3 w-full",children:(0,l.jsx)(it,{placeholder:"Search chat history...",value:o,onChange:d=>n(d.target.value),className:"text-xs"})}),(0,l.jsx)(Rt,{className:"h-[450px] p-2",children:(0,l.jsxs)("div",{className:"space-y-3",children:[s.length===0&&(0,l.jsx)(qe,{title:"No chats yet",description:"Start a new chat to get started",icon:(0,l.jsx)(at,{})}),c.length===0&&o&&s.length>0&&(0,l.jsx)(qe,{title:"No chats found",description:`No chats match "${o}"`,icon:(0,l.jsx)(gr,{})}),i.map((d,u)=>(0,l.jsxs)("div",{className:"space-y-2",children:[(0,l.jsx)("div",{className:"text-xs px-1 text-muted-foreground/60",children:d.label}),(0,l.jsx)("div",{children:d.chats.map(p=>(0,l.jsxs)("button",{className:se("w-full p-1 rounded-md cursor-pointer text-left flex items-center justify-between",p.id===e&&"bg-accent",p.id!==e&&"hover:bg-muted/20"),onClick:()=>{t(p.id)},type:"button",children:[(0,l.jsx)("div",{className:"flex-1 min-w-0",children:(0,l.jsx)("div",{className:"text-sm truncate",children:p.title})}),(0,l.jsx)("div",{className:"text-xs text-muted-foreground/60 ml-2 flex-shrink-0",children:Rr(p.updatedAt,a)})]},p.id))}),u!==i.length-1&&(0,l.jsx)("hr",{})]},d.label))]})})]})]})};var de=tt(),_t="manual",Kr=new Set(["openai","google","anthropic"]),Qr=["image/*","text/*"],Zr=1024*1024*50,el=e=>{let t=(0,de.c)(18),{onNewChat:r,activeChatId:a,setActiveChat:o}=e,{handleClick:n}=st(),s;t[0]===Symbol.for("react.memo_cache_sentinel")?(s=(0,l.jsx)(vr,{className:"h-4 w-4"}),t[0]=s):s=t[0];let c;t[1]===r?c=t[2]:(c=(0,l.jsx)(ie,{content:"New chat",children:(0,l.jsx)(B,{variant:"text",size:"icon",onClick:r,children:s})}),t[1]=r,t[2]=c);let i;t[3]===Symbol.for("react.memo_cache_sentinel")?(i=(0,l.jsx)(fr,{}),t[3]=i):i=t[3];let d;t[4]===n?d=t[5]:(d=()=>n("ai"),t[4]=n,t[5]=d);let u;t[6]===Symbol.for("react.memo_cache_sentinel")?(u=(0,l.jsx)(wr,{className:"h-4 w-4"}),t[6]=u):u=t[6];let p;t[7]===d?p=t[8]:(p=(0,l.jsx)(ie,{content:"AI Settings",children:(0,l.jsx)(B,{variant:"text",size:"xs",className:"hover:bg-foreground/10 py-2",onClick:d,children:u})}),t[7]=d,t[8]=p);let h;t[9]!==a||t[10]!==o?(h=(0,l.jsx)(Jr,{activeChatId:a,setActiveChat:o}),t[9]=a,t[10]=o,t[11]=h):h=t[11];let f;t[12]!==p||t[13]!==h?(f=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[i,p,h]}),t[12]=p,t[13]=h,t[14]=f):f=t[14];let g;return t[15]!==c||t[16]!==f?(g=(0,l.jsxs)("div",{className:"flex border-b px-2 py-1 justify-between shrink-0 items-center",children:[c,f]}),t[15]=c,t[16]=f,t[17]=g):g=t[17],g},Tt=(0,m.memo)(e=>{let t=(0,de.c)(15),{message:r,index:a,onEdit:o,isStreamingReasoning:n,isLast:s}=e,c;t[0]!==a||t[1]!==o?(c=y=>{var C,j,S;let L=(j=(C=y.parts)==null?void 0:C.filter(ol))==null?void 0:j.map(nl).join(`
|
|
2
2
|
`),b=(S=y.parts)==null?void 0:S.filter(al);return(0,l.jsxs)("div",{className:"w-[95%] bg-background border p-1 rounded-sm",children:[b==null?void 0:b.map(sl),(0,l.jsx)(ot,{value:L,placeholder:"Type your message...",onChange:il,onSubmit:(R,N)=>{N.trim()&&o(a,N)},onClose:cl},y.id)]})},t[0]=a,t[1]=o,t[2]=c):c=t[2];let i=c,d;t[3]!==s||t[4]!==n?(d=y=>(0,l.jsxs)("div",{className:"w-[95%] wrap-break-word",children:[(0,l.jsx)("div",{className:"absolute right-1 top-1 opacity-0 group-hover:opacity-100 transition-opacity",children:(0,l.jsx)(Ir,{className:"h-3 w-3",value:y.parts.filter(dl).map(ul).join(`
|
|
3
3
|
`)||""})}),Pr({message:y,isStreamingReasoning:n,isLast:s})]}),t[3]=s,t[4]=n,t[5]=d):d=t[5];let u=d,p=r.role==="user"?"justify-end":"justify-start",h;t[6]===p?h=t[7]:(h=se("flex group relative",p),t[6]=p,t[7]=h);let f;t[8]!==r||t[9]!==u||t[10]!==i?(f=r.role==="user"?i(r):u(r),t[8]=r,t[9]=u,t[10]=i,t[11]=f):f=t[11];let g;return t[12]!==h||t[13]!==f?(g=(0,l.jsx)("div",{className:h,children:f}),t[12]=h,t[13]=f,t[14]=g):g=t[14],g});Tt.displayName="ChatMessage";var Et=(0,m.memo)(e=>{var fe;let t=(0,de.c)(39),{isEmpty:r,onSendClick:a,isLoading:o,onStop:n,fileInputRef:s,onAddFiles:c,onAddContext:i}=e,d=Ve(rt),u=(d==null?void 0:d.mode)||_t,p=((fe=d==null?void 0:d.models)==null?void 0:fe.chat_model)||"openai/gpt-4o",h=ar.parse(p).providerId,{saveModeChange:f}=nr(),g;t[0]===Symbol.for("react.memo_cache_sentinel")?(g=[{value:"ask",label:"Ask",subtitle:"Use AI with access to read-only tools like documentation search"},{value:"manual",label:"Manual",subtitle:"Pure chat, no tool usage"},{value:"agent",label:"Agent (beta)",subtitle:"Use AI with access to read and write tools"}],t[0]=g):g=t[0];let y=g,L=Kr.has(h),b;t[1]===u?b=t[2]:(b=(0,l.jsx)(pr,{className:"h-6 text-xs border-border shadow-none! ring-0! bg-muted hover:bg-muted/30 py-0 px-2 gap-1 capitalize",children:u}),t[1]=u,t[2]=b);let C;t[3]===Symbol.for("react.memo_cache_sentinel")?(C=(0,l.jsx)(ir,{children:"AI Mode"}),t[3]=C):C=t[3];let j;t[4]===y?j=t[5]:(j=(0,l.jsx)(dr,{children:(0,l.jsxs)(mr,{children:[C,y.map(ml)]})}),t[4]=y,t[5]=j);let S;t[6]!==u||t[7]!==f||t[8]!==b||t[9]!==j?(S=(0,l.jsx)(Ft,{feature:"chat_modes",children:(0,l.jsxs)(hr,{value:u,onValueChange:f,children:[b,j]})}),t[6]=u,t[7]=f,t[8]=b,t[9]=j,t[10]=S):S=t[10];let R;t[11]===Symbol.for("react.memo_cache_sentinel")?(R=(0,l.jsx)(sr,{placeholder:"Model",triggerClassName:"h-6 text-xs shadow-none! ring-0! bg-muted hover:bg-muted/30 rounded-sm",iconSize:"small",showAddCustomModelDocs:!0,forRole:"chat"}),t[11]=R):R=t[11];let N;t[12]===S?N=t[13]:(N=(0,l.jsxs)("div",{className:"flex items-center gap-2",children:[S,R]}),t[12]=S,t[13]=N);let I;t[14]===Symbol.for("react.memo_cache_sentinel")?(I=(0,l.jsx)(Jt,{className:"h-3.5 w-3.5"}),t[14]=I):I=t[14];let P;t[15]!==o||t[16]!==i?(P=(0,l.jsx)(ie,{content:"Add context",children:(0,l.jsx)(B,{variant:"text",size:"icon",onClick:i,disabled:o,children:I})}),t[15]=o,t[16]=i,t[17]=P):P=t[17];let w;t[18]!==s||t[19]!==L||t[20]!==o||t[21]!==c?(w=L&&(0,l.jsxs)(l.Fragment,{children:[(0,l.jsx)(ie,{content:"Attach a file",children:(0,l.jsx)(B,{variant:"text",size:"icon",className:"cursor-pointer",onClick:()=>{var X;return(X=s.current)==null?void 0:X.click()},title:"Attach a file",disabled:o,children:(0,l.jsx)(lr,{className:"h-3.5 w-3.5"})})}),(0,l.jsx)(it,{ref:s,type:"file",multiple:!0,hidden:!0,onChange:X=>{X.target.files&&c([...X.target.files])},accept:Qr.join(",")})]}),t[18]=s,t[19]=L,t[20]=o,t[21]=c,t[22]=w):w=t[22];let T=o?"Stop":"Submit",z=o?n:a,_=o?!1:r,E;t[23]===o?E=t[24]:(E=o?(0,l.jsx)(yr,{className:"h-3 w-3 fill-current"}):(0,l.jsx)(Bt,{className:"h-3 w-3"}),t[23]=o,t[24]=E);let H;t[25]!==z||t[26]!==_||t[27]!==E?(H=(0,l.jsx)(B,{variant:"text",size:"sm",className:"h-6 w-6 p-0 hover:bg-muted/30 cursor-pointer",onClick:z,disabled:_,children:E}),t[25]=z,t[26]=_,t[27]=E,t[28]=H):H=t[28];let Y;t[29]!==T||t[30]!==H?(Y=(0,l.jsx)(ie,{content:T,children:H}),t[29]=T,t[30]=H,t[31]=Y):Y=t[31];let O;t[32]!==w||t[33]!==Y||t[34]!==P?(O=(0,l.jsxs)("div",{className:"flex flex-row",children:[P,w,Y]}),t[32]=w,t[33]=Y,t[34]=P,t[35]=O):O=t[35];let D;return t[36]!==O||t[37]!==N?(D=(0,l.jsx)(dt,{children:(0,l.jsxs)("div",{className:"px-3 py-2 border-t border-border/20 flex flex-row items-center justify-between",children:[N,O]})}),t[36]=O,t[37]=N,t[38]=D):D=t[38],D});Et.displayName="ChatInputFooter";var Qe=(0,m.memo)(e=>{let t=(0,de.c)(29),{placeholder:r,input:a,inputClassName:o,setInput:n,onSubmit:s,inputRef:c,isLoading:i,onStop:d,fileInputRef:u,onAddFiles:p,onClose:h}=e,f;t[0]!==a||t[1]!==s?(f=()=>{a.trim()&&s(void 0,a)},t[0]=a,t[1]=s,t[2]=f):f=t[2];let g=V(f),y;t[3]===o?y=t[4]:(y=se("px-2 py-3 flex-1",o),t[3]=o,t[4]=y);let L=r||"Type your message...",b;t[5]!==a||t[6]!==c||t[7]!==p||t[8]!==h||t[9]!==s||t[10]!==n||t[11]!==L?(b=(0,l.jsx)(ot,{inputRef:c,value:a,onChange:n,onSubmit:s,onClose:h,onAddFiles:p,placeholder:L}),t[5]=a,t[6]=c,t[7]=p,t[8]=h,t[9]=s,t[10]=n,t[11]=L,t[12]=b):b=t[12];let C;t[13]!==y||t[14]!==b?(C=(0,l.jsx)("div",{className:y,children:b}),t[13]=y,t[14]=b,t[15]=C):C=t[15];let j=!a.trim(),S;t[16]===c?S=t[17]:(S=()=>tr(c),t[16]=c,t[17]=S);let R;t[18]!==u||t[19]!==g||t[20]!==i||t[21]!==p||t[22]!==d||t[23]!==j||t[24]!==S?(R=(0,l.jsx)(Et,{isEmpty:j,onAddContext:S,onSendClick:g,isLoading:i,onStop:d,fileInputRef:u,onAddFiles:p}),t[18]=u,t[19]=g,t[20]=i,t[21]=p,t[22]=d,t[23]=j,t[24]=S,t[25]=R):R=t[25];let N;return t[26]!==C||t[27]!==R?(N=(0,l.jsxs)("div",{className:"relative shrink-0 min-h-[80px] flex flex-col border-t",children:[C,R]}),t[26]=C,t[27]=R,t[28]=N):N=t[28],N});Qe.displayName="ChatInput";var tl=()=>{let e=(0,de.c)(6),t=Ve(Ot),{handleClick:r}=st();if(!t){let o;e[0]===r?o=e[1]:(o=(0,l.jsx)(B,{variant:"outline",size:"sm",onClick:()=>r("ai"),children:"Edit AI settings"}),e[0]=r,e[1]=o);let n;e[2]===Symbol.for("react.memo_cache_sentinel")?(n=(0,l.jsx)(at,{}),e[2]=n):n=e[2];let s;return e[3]===o?s=e[4]:(s=(0,l.jsx)(qe,{title:"Chat with AI",description:"AI is currently disabled. Add your API key to enable.",action:o,icon:n}),e[3]=o,e[4]=s),s}let a;return e[5]===Symbol.for("react.memo_cache_sentinel")?(a=(0,l.jsx)(rl,{}),e[5]=a):a=e[5],a},rl=()=>{let e=(0,de.c)(95),t=Pt(ct),[r,a]=zt(br),[o,n]=(0,m.useState)(""),[s,c]=(0,m.useState)(""),[i,d]=(0,m.useState)(),u=(0,m.useRef)(null),p=(0,m.useRef)(null),h=(0,m.useRef)(null),f=(0,m.useRef)(null),g=(0,m.useRef)(null),y=Wt(),{invokeAiTool:L,sendRun:b}=Yt(),C=r==null?void 0:r.id,j=kt(),{addStagedCell:S}=Zt(),{createNewCell:R,prepareForRun:N}=Ht(),I;e[0]!==S||e[1]!==R||e[2]!==N||e[3]!==b||e[4]!==j?(I={addStagedCell:S,createNewCell:R,prepareForRun:N,sendRun:b,store:j},e[0]=S,e[1]=R,e[2]=N,e[3]=b,e[4]=j,e[5]=I):I=e[5];let P=I,w;e[6]===(r==null?void 0:r.messages)?w=e[7]:(w=(r==null?void 0:r.messages)||[],e[6]=r==null?void 0:r.messages,e[7]=w);let T;if(e[8]!==y||e[9]!==j){let x;e[11]===j?x=e[12]:(x=async v=>{var ne;let A=await Vt(v.messages),W=((ne=j.get(rt))==null?void 0:ne.mode)||_t;return{body:{tools:Gt.getToolSchemas(W),...v,...A}}},e[11]=j,e[12]=x),T=new Xt({api:y.getAiURL("chat").toString(),headers:y.headers(),prepareSendMessagesRequest:x}),e[8]=y,e[9]=j,e[10]=T}else T=e[10];let z;e[13]===t?z=e[14]:(z=x=>{let{messages:v}=x;t(A=>kr({chatState:A,chatId:A.activeChatId,messages:v}))},e[13]=t,e[14]=z);let{messages:_,sendMessage:E,error:H,status:Y,regenerate:O,stop:D,addToolOutput:fe,id:X}=er({id:C,sendAutomaticallyWhen:pl,messages:w,transport:T,onFinish:z,onToolCall:async x=>{let{toolCall:v}=x;if(v.dynamic){Pe.debug("Skipping dynamic tool call",v);return}await qt({invokeAiTool:L,addToolOutput:Lt,toolCall:{toolName:v.toolName,toolCallId:v.toolCallId,input:v.input},toolContext:P})},onError:hl}),Lt=fe,xe;e[15]===Symbol.for("react.memo_cache_sentinel")?(xe=x=>{if(x.length===0)return;let v=0;for(let A of x)v+=A.size;if(v>Zr){jr({title:"File size exceeds 50MB limit",description:"Please remove some files and try again."});return}d(A=>[...A??[],...x])},e[15]=xe):xe=e[15];let ve=V(xe),ge;e[16]===i?ge=e[17]:(ge=x=>{i&&d(i.filter(v=>v!==x))},e[16]=i,e[17]=ge);let He=V(ge),k=Y==="submitted"||Y==="streaming",we;e[18]!==k||e[19]!==_?(we=k&&_.length>0&&Kt(_),e[18]=k,e[19]=_,e[20]=we):we=e[20];let ue=we,be;e[21]===Symbol.for("react.memo_cache_sentinel")?(be=()=>{requestAnimationFrame(()=>{if(h.current){let x=h.current;x.scrollTop=x.scrollHeight}})},e[21]=be):be=e[21];let ye;e[22]===C?ye=e[23]:(ye=[C],e[22]=C,e[23]=ye),(0,m.useEffect)(be,ye);let je;e[24]!==X||e[25]!==E||e[26]!==t?(je=async(x,v)=>{let A=Date.now(),W={id:X,title:Qt(x),messages:[],createdAt:A,updatedAt:A};t(pe=>{let Ze=new Map(pe.chats);return Ze.set(W.id,W),{...pe,chats:Ze,activeChatId:W.id}});let ne=v&&v.length>0?await lt(v):void 0;E({role:"user",parts:[{type:"text",text:x},...ne??[]]}),d(void 0),n("")},e[24]=X,e[25]=E,e[26]=t,e[27]=je):je=e[27];let Oe=je,Se;e[28]===a?Se=e[29]:(Se=()=>{a(null),n(""),c(""),d(void 0)},e[28]=a,e[29]=Se);let We=V(Se),Ce;e[30]!==_||e[31]!==E?(Ce=(x,v)=>{var pe;let A=_[x],W=(pe=A.parts)==null?void 0:pe.filter(fl),ne=A.id;E({messageId:ne,role:"user",parts:[{type:"text",text:v},...W]})},e[30]=_,e[31]=E,e[32]=Ce):Ce=e[32];let me=V(Ce),Ne;e[33]!==i||e[34]!==E?(Ne=async(x,v)=>{var W;if(!v.trim())return;(W=p.current)!=null&&W.view&&nt(p.current.view);let A=i?await lt(i):void 0;x==null||x.preventDefault(),E({text:v,files:A}),n(""),d(void 0)},e[33]=i,e[34]=E,e[35]=Ne):Ne=e[35];let Ue=V(Ne),Re;e[36]===O?Re=e[37]:(Re=()=>{O()},e[36]=O,e[37]=Re);let Ye=Re,Ae;e[38]!==Oe||e[39]!==i||e[40]!==s?(Ae=()=>{var x;s.trim()&&((x=u.current)!=null&&x.view&&nt(u.current.view),Oe(s.trim(),i))},e[38]=Oe,e[39]=i,e[40]=s,e[41]=Ae):Ae=e[41];let Xe=V(Ae),_e;e[42]===Symbol.for("react.memo_cache_sentinel")?(_e=()=>{var x,v;return(v=(x=u.current)==null?void 0:x.editor)==null?void 0:v.blur()},e[42]=_e):_e=e[42];let It=_e,M=_.length===0,Te;e[43]!==Ue||e[44]!==Xe||e[45]!==o||e[46]!==k||e[47]!==M||e[48]!==s||e[49]!==ve||e[50]!==D?(Te=M?(0,l.jsx)(Qe,{placeholder:"Ask anything, @ to include context about tables or dataframes",input:s,inputRef:u,inputClassName:"px-1 py-0",setInput:c,onSubmit:Xe,isLoading:k,onStop:D,fileInputRef:f,onAddFiles:ve,onClose:It},"new-thread-input"):(0,l.jsx)(Qe,{input:o,setInput:n,onSubmit:Ue,inputRef:p,isLoading:k,onStop:D,onClose:()=>{var x,v;return(v=(x=p.current)==null?void 0:x.editor)==null?void 0:v.blur()},fileInputRef:f,onAddFiles:ve}),e[43]=Ue,e[44]=Xe,e[45]=o,e[46]=k,e[47]=M,e[48]=s,e[49]=ve,e[50]=D,e[51]=Te):Te=e[51];let G=Te,Ee;e[52]!==i||e[53]!==M||e[54]!==He?(Ee=i&&i.length>0&&(0,l.jsx)("div",{className:se("flex flex-row gap-1 flex-wrap p-1",M&&"py-2 px-1"),children:i==null?void 0:i.map(x=>(0,l.jsx)(rr,{file:x,onRemove:()=>He(x)},x.name))}),e[52]=i,e[53]=M,e[54]=He,e[55]=Ee):Ee=e[55];let J=Ee,Be=r==null?void 0:r.id,K;e[56]!==We||e[57]!==a||e[58]!==Be?(K=(0,l.jsx)(dt,{children:(0,l.jsx)(el,{onNewChat:We,activeChatId:Be,setActiveChat:a})}),e[56]=We,e[57]=a,e[58]=Be,e[59]=K):K=e[59];let Q;e[60]!==G||e[61]!==J||e[62]!==M?(Q=M&&(0,l.jsxs)("div",{className:"rounded-md border bg-background",children:[J,G]}),e[60]=G,e[61]=J,e[62]=M,e[63]=Q):Q=e[63];let Z;if(e[64]!==me||e[65]!==ue||e[66]!==_){let x;e[68]!==me||e[69]!==ue||e[70]!==_.length?(x=(v,A)=>(0,l.jsx)(Tt,{message:v,index:A,onEdit:me,isStreamingReasoning:ue,isLast:A===_.length-1},v.id),e[68]=me,e[69]=ue,e[70]=_.length,e[71]=x):x=e[71],Z=_.map(x),e[64]=me,e[65]=ue,e[66]=_,e[67]=Z}else Z=e[67];let ee;e[72]===k?ee=e[73]:(ee=k&&(0,l.jsx)("div",{className:"flex justify-center py-4",children:(0,l.jsx)(xr,{className:"h-4 w-4 animate-spin"})}),e[72]=k,e[73]=ee);let te;e[74]!==H||e[75]!==Ye?(te=H&&(0,l.jsxs)("div",{className:"flex items-center justify-center space-x-2 mb-4",children:[(0,l.jsx)(Lr,{error:H}),(0,l.jsx)(B,{variant:"outline",size:"sm",onClick:Ye,children:"Retry"})]}),e[74]=H,e[75]=Ye,e[76]=te):te=e[76];let Le;e[77]===Symbol.for("react.memo_cache_sentinel")?(Le=(0,l.jsx)("div",{ref:g}),e[77]=Le):Le=e[77];let re;e[78]!==Q||e[79]!==Z||e[80]!==ee||e[81]!==te?(re=(0,l.jsxs)("div",{className:"flex-1 px-3 bg-(--slate-1) gap-4 py-3 flex flex-col overflow-y-auto",ref:h,children:[Q,Z,ee,te,Le]}),e[78]=Q,e[79]=Z,e[80]=ee,e[81]=te,e[82]=re):re=e[82];let le;e[83]!==k||e[84]!==D?(le=k&&(0,l.jsx)("div",{className:"w-full flex justify-center items-center z-20 border-t",children:(0,l.jsx)(B,{variant:"linkDestructive",size:"sm",onClick:D,children:"Stop"})}),e[83]=k,e[84]=D,e[85]=le):le=e[85];let oe;e[86]!==G||e[87]!==J||e[88]!==M?(oe=!M&&(0,l.jsxs)(l.Fragment,{children:[J,G]}),e[86]=G,e[87]=J,e[88]=M,e[89]=oe):oe=e[89];let Ie;return e[90]!==K||e[91]!==re||e[92]!==le||e[93]!==oe?(Ie=(0,l.jsxs)("div",{className:"flex flex-col h-[calc(100%-53px)]",children:[K,re,le,oe]}),e[90]=K,e[91]=re,e[92]=le,e[93]=oe,e[94]=Ie):Ie=e[94],Ie},ll=tl;function ol(e){return e.type==="text"}function nl(e){return e.text}function al(e){return e.type==="file"}function sl(e,t){return(0,l.jsx)(or,{attachment:e},t)}function il(){}function cl(){}function dl(e){return e.type==="text"}function ul(e){return e.text}function ml(e){return(0,l.jsx)(cr,{value:e.value,className:"text-xs",children:(0,l.jsxs)("div",{className:"flex flex-col",children:[e.label,(0,l.jsx)("div",{className:"text-muted-foreground text-xs pt-1 block",children:e.subtitle})]})},e.value)}function pl(e){let{messages:t}=e;return $t(t)}function hl(e){Pe.error("An error occurred:",e)}function fl(e){return e.type==="file"}export{ll as default};
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var L=Object.defineProperty;var W=(n,e,t)=>e in n?L(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var c=(n,e,t)=>W(n,typeof e!="symbol"?e+"":e,t);var g;import{i as p,o as z,p as b}from"./useEvent-DlWF5OMa.js";import{Ar as P,Bt as D,Et as R,Gt as B,H as j,Hr as K,Jt as J,Lt as Q,Or as X,Rt as Y,Tr as Z,Ut as a,Wt as w,jr as ee,kr as te,mr as S,pn as ne,pr as v,qr as ie}from"./cells-
|
|
2
|
-
`)){if(r.startsWith('"')||r.trim()==="")continue;let s=xe(r,e);s&&t.push(s)}return t}function xe(n,e){let t=n.split(/\s+/),r=t[0],s=0;if(r in O){let i=O[r],u={};for(let f of i.args||[])if(s+=1,s<t.length)u[f]=t[s];else{e&&e(`Not enough arguments for "${r}" command: "${n}"`);return}let d={name:r};return"args"in i&&(d.args=u),"mode"in i&&(d.mode=i.mode),d}e&&e(`Unknown vimrc command: "${n}"`)}function Ie(){return ke(),De(),[m.of([{key:"j",run:n=>{if(Q(n,!0)&&D(n)){let e=n.state.facet(v),t=n.state.facet(S);return e.moveToNextCell({cellId:t,before:!1,noCreate:!0}),!0}return!1}}]),m.of([{key:"k",run:n=>{if(Y(n)&&D(n)){let e=n.state.facet(v),t=n.state.facet(S);return e.moveToNextCell({cellId:t,before:!0,noCreate:!0}),!0}return!1}}]),m.of([{linux:"Ctrl-[",win:"Ctrl-[",run:n=>{let e=w(n);return e?$(e)?e.state.vim.insertMode?(a.exitInsertMode(e,!0),!0):!1:(o.warn("Expected CodeMirror instance to have Vim state"),!1):(o.warn("Expected CodeMirror instance to have CodeMirror instance state"),!1)}}]),M.define(n=>(requestAnimationFrame(()=>{H.INSTANCES.addInstance(n)}),{destroy(){H.INSTANCES.removeInstance(n)}})),M.define(n=>new Ce({view:n})),ue.domEventHandlers({keydown(n,e){return n.ctrlKey&&n.key==="Escape"?(e.dom.dispatchEvent(new KeyboardEvent(n.type,n)),!0):!1}})]}var ke=h(()=>{a.defineAction("goToDefinition",n=>{let e=n.cm6;return J(e)}),a.mapCommand("gd","action","goToDefinition",{},{context:"normal"}),a.defineEx("write","w",n=>{let e=n.cm6;e&&e.state.facet(v).saveNotebook()})}),De=h(async()=>{var e;let n=(e=p.get(I).keymap)==null?void 0:e.vimrc;if(n)try{o.log(`Loading vimrc from ${n}`);let t=(await pe().sendFileDetails({path:n})).contents;if(!t){o.error(`Failed to load vimrc from ${n}`);return}Se(be(t,o.warn))}catch(t){o.error("Failed to load vimrc:",t)}});function Se(n){function e(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.map(i.args.lhs,i.args.rhs,i.mode):a.map(i.args.lhs,i.args.rhs)}function t(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.noremap(i.args.lhs,i.args.rhs,i.mode):a.noremap(i.args.lhs,i.args.rhs)}function r(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.unmap(i.args.lhs,i.mode):a.unmap(i.args.lhs)}function s(i){i.mode?a.mapclear(i.mode):a.mapclear()}for(let i of n)"map|nmap|vmap|imap".split("|").includes(i.name)?e(i):"noremap|nnoremap|vnoremap|inoremap".split("|").includes(i.name)?t(i):"unmap|nunmap|vunmap|iunmap".split("|").includes(i.name)?r(i):"mapclear|nmapclear|vmapclear|imapclear".split("|").includes(i.name)?s(i):o.warn(`Could not execute vimrc command "${i.name}: unknown command"`)}var H=(g=class{constructor(){c(this,"instances",new Set);c(this,"isBroadcasting",!1)}addInstance(e){this.instances.add(e);let t=w(e);if(!t){o.warn("Expected CodeMirror instance to have CodeMirror instance state");return}t.on("vim-mode-change",r=>{this.isBroadcasting||(x("mode"in r,'Expected event to have a "mode" property'),this.isBroadcasting=!0,ye(()=>{this.broadcastModeChange(e,r.mode,r.subMode),this.isBroadcasting=!1}))})}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,t,r){x("exitInsertMode"in a,"Vim does not have an exitInsertMode method"),x("exitVisualMode"in a,"Vim does not have an exitVisualMode method");for(let s of this.instances)if(s!==e){let i=w(s);if(!i){o.warn("Expected CodeMirror instance to have CodeMirror instance state");continue}let u=i.setSelections.bind(i);if(i.setSelections=()=>[],!$(i)){o.warn("Expected CodeMirror instance to have Vim state");continue}let d=i.state.vim;switch(t){case"normal":d.insertMode&&a.exitInsertMode(i,!0),d.visualMode&&a.exitVisualMode(i,!0);break;case"insert":d.insertMode||a.handleKey(i,"i","");break;case"visual":break}i.setSelections=u}}},c(g,"INSTANCES",new g),g);function $(n){return n.state.vim!==void 0}const Ee=["default","vim"];function Me(n,e){switch(n.preset){case"default":return[m.of(q()),m.of(N(e))];case"vim":return[m.of(Fe()),m.of(N(e)),m.of([{key:"Enter",run:t=>{var r,s;return(s=(r=w(t))==null?void 0:r.state.vim)!=null&&s.insertMode?me(t):!1}}]),E.high(Oe("d",t=>t.state.doc.toString()==="",t=>t.state.doc.toString()===""?(t.state.facet(v).deleteCell(),!0):!1)),B({status:!1}),E.high(Ie())];default:return se(n.preset),[]}}var Te=new Set([F,T]),q=h(()=>de.filter(n=>!Te.has(n.run))),N=n=>[{key:n.getHotkey("cell.toggleComment").key,run:F},{key:n.getHotkey("cell.toggleBlockComment").key,run:T}],Fe=h(()=>{let n=new Set(["Enter","Ctrl-v"]);return q().filter(e=>!n.has(e.key||e.mac||e.linux||e.win||""))});function Oe(n,e,t){let r="",s=0;return m.of([{any:(i,u)=>{let d=u.key,f=u.timeStamp;return d!==n||!e(i)?(r="",s=0,!1):r===n&&f-s<500&&t(i)?(r="",s=0,!0):(r=d,s=f,!1)}}])}var V="marimo:copilot:signedIn";const He=ie(V,null,ne,{getOnInit:!0}),$e=b(null),C=b(null),k=b({busy:!1,kind:null,message:null});function qe(n){p.set(C,n)}function Ne(n){p.get(C)===n&&p.set(C,null)}function Ve(){return K.getItem(V)==="true"}function _(){let n=Ve(),e=ae();return n&&e.completion.copilot==="github"}function _e(){return z(I,n=>n.completion.copilot==="github")}var Ge=te(),l=o.get("@github/copilot-language-server"),Ue=class extends X{constructor(e){super(e);c(this,"documentVersion",0);c(this,"hasOpenedDocument",!1);c(this,"copilotSettings",{});c(this,"getCompletionInternal",async(e,t)=>await this._request("textDocument/inlineCompletion",{...e,textDocument:{...e.textDocument,version:t}}));c(this,"throttledGetCompletionInternal",ve(this.getCompletionInternal,200));c(this,"handleNotification",e=>{if(!e.params)return;let t=e;if(t.method==="statusNotification"&&p.set(k,t.params),t.method==="didChangeStatus"&&p.set(k,t.params),t.method==="window/logMessage"){let{type:r,message:s}=t.params;switch(r){case 1:l.error("[GitHub Copilot]",s);break;case 2:l.warn("[GitHub Copilot]",s);break;case 3:l.debug("[GitHub Copilot]",s);break;default:l.log("[GitHub Copilot]",s);break}}});this.copilotSettings=e.copilotSettings??{},this.onNotification(this.handleNotification),this.attachInitializeListener()}attachInitializeListener(){this.initializePromise.then(()=>{this.sendConfiguration()})}async sendConfiguration(){let e=this.copilotSettings;!e||Object.keys(e).length===0||(await this.notify("workspace/didChangeConfiguration",{settings:e}),l.debug("#sendConfiguration: Configuration sent",e))}async _request(e,t){return await this.request(e,t)}async notify(e,t){return l.debug("#notify",e,t),super.notify(e,t)}getInitializationOptions(){let e={name:"marimo",version:"0.1.0"};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!_()}async textDocumentDidOpen(e){return this.isDisabled()?e:(this.hasOpenedDocument=!0,super.textDocumentDidOpen(e))}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return e;this.hasOpenedDocument||await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:"python",version:e.textDocument.version,text:e.contentChanges[0].text}});let t=e.contentChanges;t.length!==1&&l.warn("#textDocumentDidChange: Multiple changes detected. This is not supported.",t);let r=t[0];"range"in r&&l.warn("#textDocumentDidChange: Copilot doesn't support range changes.",r);let s=R(r.text);return super.textDocumentDidChange({...e,contentChanges:[{text:s}],textDocument:Ge.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)})}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request("signOut",{})}async signInInitiate(){l.log("#signInInitiate: Starting sign-in flow");try{let e=await this._request("signIn",{});return l.log("#signInInitiate: Sign-in flow started successfully"),e}catch(e){throw l.warn("#signInInitiate: Failed to start sign-in flow",e),e}}async signInConfirm(e){l.log("#signInConfirm: Confirming sign-in");try{let t=await this._request("signInConfirm",e);return l.log("#signInConfirm: Sign-in confirmed successfully"),t}catch(t){throw l.warn("#signInConfirm: Failed to confirm sign-in",t),t}}async signedIn(){try{let{status:e}=await this._request("checkStatus",{});return l.log("#checkStatus: Status check completed",{status:e}),e==="SignedIn"||e==="AlreadySignedIn"||e==="OK"}catch(e){throw l.warn("#signedIn: Failed to check sign-in status",e),e}}async getCompletion(e){if(this.isDisabled())return null;let t=this.documentVersion;if(e.textDocument.version=t,t===0)return null;qe(t);let r=await this.throttledGetCompletionInternal(e,t);return Ne(t),t===this.documentVersion?r??null:null}},Ae=P(),Le=ee(),We=class extends Le.Transport{constructor(e){super();c(this,"pendingSubscriptions",[]);this.delegate=void 0,this.pendingSubscriptions=[],this.options={retries:e.retries??3,retryDelayMs:e.retryDelayMs??1e3,maxTimeoutMs:e.maxTimeoutMs??5e3,getWsUrl:e.getWsUrl,waitForReady:e.waitForReady,showError:e.showError}}subscribe(...e){super.subscribe(...e);let[t,r]=e;this.pendingSubscriptions.push({event:t,handler:r}),this.delegate&&this.delegate.subscribe(t,r)}unsubscribe(...e){let t=super.unsubscribe(...e),[r,s]=e;if(this.delegate&&this.delegate.unsubscribe(r,s),s)if(r){let i=this.pendingSubscriptions.findIndex(u=>u.event===r&&u.handler===s);i>-1&&this.pendingSubscriptions.splice(i,1)}else this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.handler!==s);else r?this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.event!==r):this.pendingSubscriptions=[];return t}createDelegate(){let e=new Ae.WebSocketTransport(this.options.getWsUrl());for(let{event:t,handler:r}of this.pendingSubscriptions)e.subscribe(t,r);return e}async tryConnect(){for(let e=1;e<=this.options.retries;e++)try{this.delegate||(this.delegate=this.createDelegate()),await this.delegate.connect(),o.log("Copilot#connect: Connected successfully");return}catch(t){if(o.warn(`Copilot#connect: Connection attempt ${e}/${this.options.retries} failed`,t),e===this.options.retries)throw this.delegate=void 0,this.options.showError("GitHub Copilot Connection Error",`Failed to connect to GitHub Copilot. Please check your settings and try again.
|
|
1
|
+
var L=Object.defineProperty;var W=(n,e,t)=>e in n?L(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var c=(n,e,t)=>W(n,typeof e!="symbol"?e+"":e,t);var g;import{i as p,o as z,p as b}from"./useEvent-DlWF5OMa.js";import{Ar as P,Bt as D,Et as R,Gt as B,H as j,Hr as K,Jt as J,Lt as Q,Or as X,Rt as Y,Tr as Z,Ut as a,Wt as w,jr as ee,kr as te,mr as S,pn as ne,pr as v,qr as ie}from"./cells-dG69fEtz.js";import{x as re}from"./_Uint8Array-BGESiCQL.js";import{i as se}from"./useLifecycle-CmDXEyIC.js";import{t as oe}from"./debounce-BbFlGgjv.js";import{d as o}from"./hotkeys-uKX61F1_.js";import{t as x}from"./invariant-C6yE60hi.js";import{_ as I,f as ae}from"./utils-Czt8B2GX.js";import{O as le,r as ce}from"./config-CENq_7Pd.js";import{St as m,Ut as E,at as ue,ct as M}from"./dist-CAcX026F.js";import{O as T,g as de,k as F,w as me}from"./dist-CI6_zMIl.js";import{n as h}from"./once-CTiSlR1m.js";import{t as pe}from"./requests-C0HaHO6a.js";import{t as ge}from"./use-toast-Bzf3rpev.js";import{a as he}from"./error-banner-DvT0IGDZ.js";var fe="Expected a function";function we(n,e,t){var r=!0,s=!0;if(typeof n!="function")throw TypeError(fe);return re(t)&&(r="leading"in t?!!t.leading:r,s="trailing"in t?!!t.trailing:s),oe(n,e,{leading:r,maxWait:e,trailing:s})}var ve=we;function ye(n){"scheduler"in window?window.scheduler.postTask(n,{priority:"background"}):"requestIdleCallback"in window?requestIdleCallback(n):setTimeout(n,0)}var y=null,Ce=class{constructor(n){c(this,"abortController",new AbortController);this.view=n.view,this.view.dom.addEventListener("focus",()=>{y=new WeakRef(this.view)},{signal:this.abortController.signal,capture:!0}),this.update()}update(){let n=this.view.dom.querySelector(".cm-vimCursorLayer");if(n instanceof HTMLElement)if(j())n.style.display="none";else{let e=(y==null?void 0:y.deref())===this.view;n.style.display=e?"":"none"}}destroy(){this.abortController.abort()}};const O={map:{args:["lhs","rhs"]},nmap:{mode:"normal",args:["lhs","rhs"]},vmap:{mode:"visual",args:["lhs","rhs"]},imap:{mode:"insert",args:["lhs","rhs"]},noremap:{args:["lhs","rhs"]},nnoremap:{mode:"normal",args:["lhs","rhs"]},vnoremap:{mode:"visual",args:["lhs","rhs"]},inoremap:{mode:"insert",args:["lhs","rhs"]},unmap:{args:["lhs"]},nunmap:{mode:"normal",args:["lhs"]},vunmap:{mode:"visual",args:["lhs"]},iunmap:{mode:"insert",args:["lhs"]},mapclear:{},nmapclear:{mode:"normal"},vmapclear:{mode:"visual"},imapclear:{mode:"insert"}};function be(n,e){let t=[];for(let r of n.split(`
|
|
2
|
+
`)){if(r.startsWith('"')||r.trim()==="")continue;let s=xe(r,e);s&&t.push(s)}return t}function xe(n,e){let t=n.split(/\s+/),r=t[0],s=0;if(r in O){let i=O[r],u={};for(let f of i.args||[])if(s+=1,s<t.length)u[f]=t[s];else{e&&e(`Not enough arguments for "${r}" command: "${n}"`);return}let d={name:r};return"args"in i&&(d.args=u),"mode"in i&&(d.mode=i.mode),d}e&&e(`Unknown vimrc command: "${n}"`)}function Ie(){return ke(),De(),[m.of([{key:"j",run:n=>{if(Q(n,!0)&&D(n)){let e=n.state.facet(v),t=n.state.facet(S);return e.moveToNextCell({cellId:t,before:!1,noCreate:!0}),!0}return!1}}]),m.of([{key:"k",run:n=>{if(Y(n)&&D(n)){let e=n.state.facet(v),t=n.state.facet(S);return e.moveToNextCell({cellId:t,before:!0,noCreate:!0}),!0}return!1}}]),m.of([{linux:"Ctrl-[",win:"Ctrl-[",run:n=>{let e=w(n);return e?$(e)?e.state.vim.insertMode?(a.exitInsertMode(e,!0),!0):!1:(o.warn("Expected CodeMirror instance to have Vim state"),!1):(o.warn("Expected CodeMirror instance to have CodeMirror instance state"),!1)}}]),M.define(n=>(requestAnimationFrame(()=>{H.INSTANCES.addInstance(n)}),{destroy(){H.INSTANCES.removeInstance(n)}})),M.define(n=>new Ce({view:n})),ue.domEventHandlers({keydown(n,e){return n.ctrlKey&&n.key==="Escape"?(e.dom.dispatchEvent(new KeyboardEvent(n.type,n)),!0):!1}})]}var ke=h(()=>{a.defineAction("goToDefinition",n=>{let e=n.cm6;return J(e)}),a.mapCommand("gd","action","goToDefinition",{},{context:"normal"}),a.defineEx("write","w",n=>{let e=n.cm6;e&&e.state.facet(v).saveNotebook()})}),De=h(async()=>{var e;let n=(e=p.get(I).keymap)==null?void 0:e.vimrc;if(n)try{o.log(`Loading vimrc from ${n}`);let t=(await pe().sendFileDetails({path:n})).contents;if(!t){o.error(`Failed to load vimrc from ${n}`);return}Se(be(t,o.warn))}catch(t){o.error("Failed to load vimrc:",t)}});function Se(n){function e(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.map(i.args.lhs,i.args.rhs,i.mode):a.map(i.args.lhs,i.args.rhs)}function t(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs||!i.args.rhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.noremap(i.args.lhs,i.args.rhs,i.mode):a.noremap(i.args.lhs,i.args.rhs)}function r(i){if(!i.args){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}if(!i.args.lhs){o.warn(`Could not execute vimrc command "${i.name}: expected arguments"`);return}i.mode?a.unmap(i.args.lhs,i.mode):a.unmap(i.args.lhs)}function s(i){i.mode?a.mapclear(i.mode):a.mapclear()}for(let i of n)"map|nmap|vmap|imap".split("|").includes(i.name)?e(i):"noremap|nnoremap|vnoremap|inoremap".split("|").includes(i.name)?t(i):"unmap|nunmap|vunmap|iunmap".split("|").includes(i.name)?r(i):"mapclear|nmapclear|vmapclear|imapclear".split("|").includes(i.name)?s(i):o.warn(`Could not execute vimrc command "${i.name}: unknown command"`)}var H=(g=class{constructor(){c(this,"instances",new Set);c(this,"isBroadcasting",!1)}addInstance(e){this.instances.add(e);let t=w(e);if(!t){o.warn("Expected CodeMirror instance to have CodeMirror instance state");return}t.on("vim-mode-change",r=>{this.isBroadcasting||(x("mode"in r,'Expected event to have a "mode" property'),this.isBroadcasting=!0,ye(()=>{this.broadcastModeChange(e,r.mode,r.subMode),this.isBroadcasting=!1}))})}removeInstance(e){this.instances.delete(e)}broadcastModeChange(e,t,r){x("exitInsertMode"in a,"Vim does not have an exitInsertMode method"),x("exitVisualMode"in a,"Vim does not have an exitVisualMode method");for(let s of this.instances)if(s!==e){let i=w(s);if(!i){o.warn("Expected CodeMirror instance to have CodeMirror instance state");continue}let u=i.setSelections.bind(i);if(i.setSelections=()=>[],!$(i)){o.warn("Expected CodeMirror instance to have Vim state");continue}let d=i.state.vim;switch(t){case"normal":d.insertMode&&a.exitInsertMode(i,!0),d.visualMode&&a.exitVisualMode(i,!0);break;case"insert":d.insertMode||a.handleKey(i,"i","");break;case"visual":break}i.setSelections=u}}},c(g,"INSTANCES",new g),g);function $(n){return n.state.vim!==void 0}const Ee=["default","vim"];function Me(n,e){switch(n.preset){case"default":return[m.of(_()),m.of(q(e))];case"vim":return[m.of(Fe()),m.of(q(e)),m.of([{key:"Enter",run:t=>{var r,s;return(s=(r=w(t))==null?void 0:r.state.vim)!=null&&s.insertMode?me(t):!1}}]),E.high(Oe("d",t=>t.state.doc.toString()==="",t=>t.state.doc.toString()===""?(t.state.facet(v).deleteCell(),!0):!1)),B({status:!1}),E.high(Ie())];default:return se(n.preset),[]}}var Te=new Set([F,T]),_=h(()=>de.filter(n=>!Te.has(n.run))),q=n=>[{key:n.getHotkey("cell.toggleComment").key,run:F},{key:n.getHotkey("cell.toggleBlockComment").key,run:T}],Fe=h(()=>{let n=new Set(["Enter","Ctrl-v"]);return _().filter(e=>!n.has(e.key||e.mac||e.linux||e.win||""))});function Oe(n,e,t){let r="",s=0;return m.of([{any:(i,u)=>{let d=u.key,f=u.timeStamp;return d!==n||!e(i)?(r="",s=0,!1):r===n&&f-s<500&&t(i)?(r="",s=0,!0):(r=d,s=f,!1)}}])}var N="marimo:copilot:signedIn";const He=ie(N,null,ne,{getOnInit:!0}),$e=b(null),C=b(null),k=b({busy:!1,kind:null,message:null});function _e(n){p.set(C,n)}function qe(n){p.get(C)===n&&p.set(C,null)}function Ne(){return K.getItem(N)==="true"}function V(){let n=Ne(),e=ae();return n&&e.completion.copilot==="github"}function Ve(){return z(I,n=>n.completion.copilot==="github")}var Ge=te(),l=o.get("@github/copilot-language-server"),Ue=class extends X{constructor(e){super(e);c(this,"documentVersion",0);c(this,"hasOpenedDocument",!1);c(this,"copilotSettings",{});c(this,"getCompletionInternal",async(e,t)=>await this._request("textDocument/inlineCompletion",{...e,textDocument:{...e.textDocument,version:t}}));c(this,"throttledGetCompletionInternal",ve(this.getCompletionInternal,200));c(this,"handleNotification",e=>{if(!e.params)return;let t=e;if(t.method==="statusNotification"&&p.set(k,t.params),t.method==="didChangeStatus"&&p.set(k,t.params),t.method==="window/logMessage"){let{type:r,message:s}=t.params;switch(r){case 1:l.error("[GitHub Copilot]",s);break;case 2:l.warn("[GitHub Copilot]",s);break;case 3:l.debug("[GitHub Copilot]",s);break;default:l.log("[GitHub Copilot]",s);break}}});this.copilotSettings=e.copilotSettings??{},this.onNotification(this.handleNotification),this.attachInitializeListener()}attachInitializeListener(){this.initializePromise.then(()=>{this.sendConfiguration()})}async sendConfiguration(){let e=this.copilotSettings;!e||Object.keys(e).length===0||(await this.notify("workspace/didChangeConfiguration",{settings:e}),l.debug("#sendConfiguration: Configuration sent",e))}async _request(e,t){return await this.request(e,t)}async notify(e,t){return l.debug("#notify",e,t),super.notify(e,t)}getInitializationOptions(){let e={name:"marimo",version:"0.1.0"};return{...super.getInitializationOptions(),workspaceFolders:[],capabilities:{workspace:{workspaceFolders:!1}},initializationOptions:{editorInfo:e,editorPluginInfo:e}}}isDisabled(){return!V()}async textDocumentDidOpen(e){return this.isDisabled()?e:(this.hasOpenedDocument=!0,super.textDocumentDidOpen(e))}async textDocumentCompletion(e){return[]}async textDocumentDidChange(e){if(this.isDisabled())return e;this.hasOpenedDocument||await this.textDocumentDidOpen({textDocument:{uri:e.textDocument.uri,languageId:"python",version:e.textDocument.version,text:e.contentChanges[0].text}});let t=e.contentChanges;t.length!==1&&l.warn("#textDocumentDidChange: Multiple changes detected. This is not supported.",t);let r=t[0];"range"in r&&l.warn("#textDocumentDidChange: Copilot doesn't support range changes.",r);let s=R(r.text);return super.textDocumentDidChange({...e,contentChanges:[{text:s}],textDocument:Ge.VersionedTextDocumentIdentifier.create(e.textDocument.uri,++this.documentVersion)})}textDocumentHover(e){return Promise.resolve({contents:[]})}signOut(){return this._request("signOut",{})}async signInInitiate(){l.log("#signInInitiate: Starting sign-in flow");try{let e=await this._request("signIn",{});return l.log("#signInInitiate: Sign-in flow started successfully"),e}catch(e){throw l.warn("#signInInitiate: Failed to start sign-in flow",e),e}}async signInConfirm(e){l.log("#signInConfirm: Confirming sign-in");try{let t=await this._request("signInConfirm",e);return l.log("#signInConfirm: Sign-in confirmed successfully"),t}catch(t){throw l.warn("#signInConfirm: Failed to confirm sign-in",t),t}}async signedIn(){try{let{status:e}=await this._request("checkStatus",{});return l.log("#checkStatus: Status check completed",{status:e}),e==="SignedIn"||e==="AlreadySignedIn"||e==="OK"}catch(e){throw l.warn("#signedIn: Failed to check sign-in status",e),e}}async getCompletion(e){if(this.isDisabled())return null;let t=this.documentVersion;if(e.textDocument.version=t,t===0)return null;_e(t);let r=await this.throttledGetCompletionInternal(e,t);return qe(t),t===this.documentVersion?r??null:null}},Ae=P(),Le=ee(),We=class extends Le.Transport{constructor(e){super();c(this,"pendingSubscriptions",[]);this.delegate=void 0,this.pendingSubscriptions=[],this.options={retries:e.retries??3,retryDelayMs:e.retryDelayMs??1e3,maxTimeoutMs:e.maxTimeoutMs??5e3,getWsUrl:e.getWsUrl,waitForReady:e.waitForReady,showError:e.showError}}subscribe(...e){super.subscribe(...e);let[t,r]=e;this.pendingSubscriptions.push({event:t,handler:r}),this.delegate&&this.delegate.subscribe(t,r)}unsubscribe(...e){let t=super.unsubscribe(...e),[r,s]=e;if(this.delegate&&this.delegate.unsubscribe(r,s),s)if(r){let i=this.pendingSubscriptions.findIndex(u=>u.event===r&&u.handler===s);i>-1&&this.pendingSubscriptions.splice(i,1)}else this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.handler!==s);else r?this.pendingSubscriptions=this.pendingSubscriptions.filter(i=>i.event!==r):this.pendingSubscriptions=[];return t}createDelegate(){let e=new Ae.WebSocketTransport(this.options.getWsUrl());for(let{event:t,handler:r}of this.pendingSubscriptions)e.subscribe(t,r);return e}async tryConnect(){for(let e=1;e<=this.options.retries;e++)try{this.delegate||(this.delegate=this.createDelegate()),await this.delegate.connect(),o.log("Copilot#connect: Connected successfully");return}catch(t){if(o.warn(`Copilot#connect: Connection attempt ${e}/${this.options.retries} failed`,t),e===this.options.retries)throw this.delegate=void 0,this.options.showError("GitHub Copilot Connection Error",`Failed to connect to GitHub Copilot. Please check your settings and try again.
|
|
3
3
|
|
|
4
|
-
`+he(t)),t;await new Promise(r=>setTimeout(r,this.options.retryDelayMs))}}async connect(){return await this.options.waitForReady(),this.tryConnect()}close(){var e;(e=this.delegate)==null||e.close(),this.delegate=void 0}async sendData(e,t){if(!this.delegate){o.log("Copilot#sendData: Delegate not initialized, reconnecting...");try{await this.options.waitForReady(),await this.tryConnect()}catch(r){throw o.error("Copilot#sendData: Failed to reconnect transport",r),Error("Unable to connect to GitHub Copilot. Please check your settings and try again.")}}if(!this.delegate)throw Error("Failed to initialize GitHub Copilot connection. Please try again.");return t=Math.min(t??this.options.maxTimeoutMs,this.options.maxTimeoutMs),this.delegate.sendData(e,t)}};const G="/__marimo_copilot__.py";var U=`file://${G}`;const ze=h(()=>{let n=ce();return new We({getWsUrl:()=>n.getLSPURL("copilot").toString(),waitForReady:async()=>{await
|
|
4
|
+
`+he(t)),t;await new Promise(r=>setTimeout(r,this.options.retryDelayMs))}}async connect(){return await this.options.waitForReady(),this.tryConnect()}close(){var e;(e=this.delegate)==null||e.close(),this.delegate=void 0}async sendData(e,t){if(!this.delegate){o.log("Copilot#sendData: Delegate not initialized, reconnecting...");try{await this.options.waitForReady(),await this.tryConnect()}catch(r){throw o.error("Copilot#sendData: Failed to reconnect transport",r),Error("Unable to connect to GitHub Copilot. Please check your settings and try again.")}}if(!this.delegate)throw Error("Failed to initialize GitHub Copilot connection. Please try again.");return t=Math.min(t??this.options.maxTimeoutMs,this.options.maxTimeoutMs),this.delegate.sendData(e,t)}};const G="/__marimo_copilot__.py";var U=`file://${G}`;const ze=h(()=>{let n=ce();return new We({getWsUrl:()=>n.getLSPURL("copilot").toString(),waitForReady:async()=>{await Ve(),await le()},showError:(e,t)=>{ge({variant:"danger",title:e,description:t})}})}),A=h(()=>{var e,t;let n=((t=(e=p.get(I).ai)==null?void 0:e.github)==null?void 0:t.copilot_settings)??{};return new Ue({rootUri:U,workspaceFolders:null,transport:ze(),copilotSettings:n})});function Pe(){return Z({documentUri:U,client:A(),languageId:"copilot",hoverEnabled:!1,completionEnabled:!1,definitionEnabled:!1,renameEnabled:!1,codeActionsEnabled:!1,signatureHelpEnabled:!1,diagnosticsEnabled:!1,sendIncrementalChanges:!1})}export{k as a,He as c,$e as i,Ee as l,Pe as n,C as o,A as r,V as s,G as t,Me as u};
|