@marimo-team/frontend 0.23.16-dev5 → 0.23.16-dev50
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-BalYv0pK.js → CellStatus-DciB5rbr.js} +1 -1
- package/dist/assets/{ConnectedDataExplorerComponent-DI7mV-Gw.js → ConnectedDataExplorerComponent-CXp99aFw.js} +1 -1
- package/dist/assets/{ErrorBoundary-C7_5jjWi.js → ErrorBoundary-DzTD8LVq.js} +1 -1
- package/dist/assets/{ImperativeModal-BIavOiUv.js → ImperativeModal-fY-ZfT0b.js} +1 -1
- package/dist/assets/JsonOutput-BM3vve9F.js +53 -0
- package/dist/assets/LazyAnyLanguageCodeMirror-DPOEues4.js +2 -0
- package/dist/assets/{MarimoErrorOutput-DO2k2fA5.js → MarimoErrorOutput-Bh0y53Du.js} +4 -4
- package/dist/assets/{RSPContexts-CgC81f0I.js → RSPContexts-WiCgGm__.js} +1 -1
- package/dist/assets/RenderHTML-B9jx7Dsm.js +1 -0
- package/dist/assets/{RunButton-BKRupqr7.js → RunButton-DMtHbFuA.js} +1 -1
- package/dist/assets/{add-cell-with-ai-CEZtaZCK.js → add-cell-with-ai-BcRYriMM.js} +35 -35
- package/dist/assets/add-connection-dialog-syjRSNPT.js +178 -0
- package/dist/assets/{agent-panel-CHB6t7Zy.js → agent-panel-B31W_VwU.js} +5 -5
- package/dist/assets/ai-model-dropdown-B3D05oQh.js +5 -0
- package/dist/assets/{alert-dialog-BXegNC0I.js → alert-dialog-Bb8Lz8ko.js} +1 -1
- package/dist/assets/{any-language-editor-DCpZRrpx.js → any-language-editor-BDvoKhJM.js} +1 -1
- package/dist/assets/apl-B-7blH-b.js +1 -0
- package/dist/assets/app-config-button-D_mjovwU.js +1 -0
- package/dist/assets/{arc-CfUZAQDm.js → arc-CezuXhk_.js} +1 -1
- package/dist/assets/{architecture-7HQA4BMR-Bvqj37EA.js → architecture-7HQA4BMR-Dy7zkjw8.js} +1 -1
- package/dist/assets/{architectureDiagram-VXUJARFQ-sx_yisiZ.js → architectureDiagram-VXUJARFQ-BmOSh2SW.js} +1 -1
- package/dist/assets/asciiarmor-D3K8amZ9.js +1 -0
- package/dist/assets/asn1-UGGn98tp.js +1 -0
- package/dist/assets/blob-BJREJiQp.js +1 -0
- package/dist/assets/{blockDiagram-VD42YOAC-KexI-fgH.js → blockDiagram-VD42YOAC-DHO0ifdn.js} +1 -1
- package/dist/assets/brainfuck-B4y4U3tg.js +1 -0
- package/dist/assets/{button-eIihcbUw.js → button-DDGiD1NW.js} +1 -1
- package/dist/assets/{c4Diagram-YG6GDRKO-d8NrlxRF.js → c4Diagram-YG6GDRKO-ByToYMes.js} +1 -1
- package/dist/assets/{cache-panel-wllSTlbM.js → cache-panel-Bvnkzrzd.js} +1 -1
- package/dist/assets/{capabilities-B09j1Eor.js → capabilities-DoEg0XwL.js} +1 -1
- package/dist/assets/{cell-editor-B5JVq7_q.js → cell-editor-BOhZHoLm.js} +17 -17
- package/dist/assets/cell-link-DqNEv3f9.js +1 -0
- package/dist/assets/cells-Jr-5Pc9f.js +235 -0
- package/dist/assets/channel-hYe4T32r.js +1 -0
- package/dist/assets/{chat-display-BG08ltQ3.js → chat-display-Djy1Jt6b.js} +1 -1
- package/dist/assets/{chat-panel-P2CzCtXJ.js → chat-panel-B2nYSE_l.js} +4 -4
- package/dist/assets/{chat-ui-fAJZAoTD.js → chat-ui-DlG0En7w.js} +4 -4
- package/dist/assets/{chunk-4BX2VUAB-fhh1HlXH.js → chunk-4BX2VUAB-BsEakQWN.js} +1 -1
- package/dist/assets/chunk-55IACEB6-DkGbQmsa.js +1 -0
- package/dist/assets/{chunk-5FQGJX7Z-Cp0LZT-a.js → chunk-5FQGJX7Z-BEbM01OT.js} +2 -2
- package/dist/assets/{chunk-ABZYJK2D-BtK4zInQ.js → chunk-ABZYJK2D-CCNXe-E2.js} +3 -3
- package/dist/assets/{chunk-ATLVNIR6-YZDenslF.js → chunk-ATLVNIR6-yY0weiRB.js} +1 -1
- package/dist/assets/{chunk-B4BG7PRW-DYIZwDbt.js → chunk-B4BG7PRW-DtjHcIBO.js} +1 -1
- package/dist/assets/{chunk-CVBHYZKI-CIyHeK0Q.js → chunk-CVBHYZKI-D1ar3Zzb.js} +1 -1
- package/dist/assets/{chunk-DI55MBZ5-TodwBGEN.js → chunk-DI55MBZ5-BxB9Lmc6.js} +1 -1
- package/dist/assets/{chunk-EXTU4WIE-C76bF1UD.js → chunk-EXTU4WIE-Do43HMrz.js} +1 -1
- package/dist/assets/{chunk-FMBD7UC4-Yq65IDPA.js → chunk-FMBD7UC4-FWkYBdS7.js} +1 -1
- package/dist/assets/{chunk-HN2XXSSU-CcbN4n6W.js → chunk-HN2XXSSU-nVY6M8Me.js} +1 -1
- package/dist/assets/{chunk-JA3XYJ7Z-CPXEu7AX.js → chunk-JA3XYJ7Z-52dYwyoT.js} +1 -1
- package/dist/assets/{chunk-JZLCHNYA-D8q1z6Py.js → chunk-JZLCHNYA-BHSouLxk.js} +1 -1
- package/dist/assets/{chunk-MI3HLSF2-bmomnexd.js → chunk-MI3HLSF2-BwgHEi3_.js} +1 -1
- package/dist/assets/{chunk-N4CR4FBY-BhsjB2qn.js → chunk-N4CR4FBY-BkAnRh0J.js} +2 -2
- package/dist/assets/{chunk-QN33PNHL-ngvPqyQ0.js → chunk-QN33PNHL-DWzHlkYI.js} +1 -1
- package/dist/assets/{chunk-QXUST7PY-C4c0Sjmn.js → chunk-QXUST7PY-CjtWgrZg.js} +1 -1
- package/dist/assets/{chunk-QZHKN3VN-CkbwBDOS.js → chunk-QZHKN3VN-CmAwpNoC.js} +1 -1
- package/dist/assets/{chunk-S3R3BYOJ-Bt2NnquF.js → chunk-S3R3BYOJ-DcZAYEft.js} +1 -1
- package/dist/assets/{chunk-TZMSLE5B-Dysko1OC.js → chunk-TZMSLE5B-D2-o8-XQ.js} +1 -1
- package/dist/assets/classDiagram-2ON5EDUG-DapsPtpH.js +1 -0
- package/dist/assets/classDiagram-v2-WZHVMYZB-Oa2f7U6n.js +1 -0
- package/dist/assets/{clike-DKPr2D1_.js → clike-BAN6KopO.js} +1 -1
- package/dist/assets/clojure-BAZ-ejkG.js +1 -0
- package/dist/assets/cmake-jWn0xN9y.js +1 -0
- package/dist/assets/cobol-XqY9jaWP.js +1 -0
- package/dist/assets/{code-block-37QAKDTI-DlENujeV.js → code-block-37QAKDTI-DdMTHZGu.js} +1 -1
- package/dist/assets/coffeescript-DI1jfZHX.js +1 -0
- package/dist/assets/{column-preview-Dne1dIt0.js → column-preview-BUHlI5va.js} +1 -1
- package/dist/assets/{command-CAJLPEBq.js → command-Dqxie4gq.js} +1 -1
- package/dist/assets/{command-palette-iOCqUIs1.js → command-palette-rEJmXCZM.js} +1 -1
- package/dist/assets/{common-CD6Mj8n6.js → common-CZc3fQI4.js} +1 -1
- package/dist/assets/commonlisp-UKb01OlU.js +1 -0
- package/dist/assets/components-GAYCj6Mx.js +1 -0
- package/dist/assets/config-B-Q7J_6d.js +1 -0
- package/dist/assets/{config-COUOIPEq.js → config-BJVx3eBW.js} +1 -1
- package/dist/assets/{copy-BtTOqPTS.js → copy-Bxb1_Gtw.js} +1 -1
- package/dist/assets/{copy-icon-C2pG0ZNK.js → copy-icon-neDQUo4Q.js} +1 -1
- package/dist/assets/{cose-bilkent-S5V4N54A-BlMw4-M9.js → cose-bilkent-S5V4N54A-B4-5phSs.js} +1 -1
- package/dist/assets/{createReducer-C7kZ8zEe.js → createReducer-DGx5Af-C.js} +1 -1
- package/dist/assets/crystal-DOvjTBWA.js +1 -0
- package/dist/assets/{css-DsUcFZz8.js → css-DWLxGm3Z.js} +1 -1
- package/dist/assets/cypher-CLDhu2ae.js +1 -0
- package/dist/assets/d-C0ecUZk9.js +1 -0
- package/dist/assets/{dagre-6UL2VRFP-kJ4x17JK.js → dagre-6UL2VRFP-2XhH1Ri-.js} +1 -1
- package/dist/assets/{data-grid-overlay-editor-DbobQcVo.js → data-grid-overlay-editor-B4LrPNw9.js} +1 -1
- package/dist/assets/{datasource-ySAiC9gr.js → datasource-AWkkAeiS.js} +2 -2
- package/dist/assets/{dates-D-kIKDYA.js → dates-C2LWzsCZ.js} +1 -1
- package/dist/assets/{dependency-graph-panel-BF23EwcD.js → dependency-graph-panel-wcqTPq6b.js} +3 -3
- package/dist/assets/{diagram-PSM6KHXK-d-5aQNHk.js → diagram-PSM6KHXK-CAqt0euW.js} +1 -1
- package/dist/assets/{diagram-QEK2KX5R-CO-PXq75.js → diagram-QEK2KX5R-D5cgX3Vp.js} +1 -1
- package/dist/assets/{diagram-S2PKOQOG-Dv7pcvYC.js → diagram-S2PKOQOG-ibWavdR5.js} +1 -1
- package/dist/assets/{dialog-D1DEsRZ2.js → dialog-BCVepWLJ.js} +1 -1
- package/dist/assets/diff-657cCCVc.js +1 -0
- package/dist/assets/{dist-CRrIf3gB.js → dist-7L5iW3e_.js} +1 -1
- package/dist/assets/{dist-ByVeMWkr.js → dist-BLN8PNJV.js} +1 -1
- package/dist/assets/{dist-R1kU4nzJ.js → dist-Bcpo9599.js} +1 -1
- package/dist/assets/{dist-DQNaXfK1.js → dist-BrZHhdmA.js} +1 -1
- package/dist/assets/dist-C00gHjPp.js +1 -0
- package/dist/assets/{dist-0QUuSoRx.js → dist-C4El4p_-.js} +1 -1
- package/dist/assets/{dist-BsphJPAV.js → dist-CIYjZ11d.js} +1 -1
- package/dist/assets/{dist-Du-wcJyR.js → dist-COTjOJlM.js} +1 -1
- package/dist/assets/dist-CWNfBqYo.js +1 -0
- package/dist/assets/dist-Cck3fpDq.js +1 -0
- package/dist/assets/dist-CiVShZKM.js +2 -0
- package/dist/assets/{dist-CECF_J8y.js → dist-DIQO2yAn.js} +1 -1
- package/dist/assets/{dist-BMOD2Pyh.js → dist-DabFEfar.js} +1 -1
- package/dist/assets/dist-f5euh_Pv.js +1 -0
- package/dist/assets/{dist-CDUl-YL4.js → dist-ryTWanRP.js} +1 -1
- package/dist/assets/{dist-6c4zOh78.js → dist-sg9T7Ulw.js} +1 -1
- package/dist/assets/{dist-sPfKr-vH.js → dist-wSuqFvon.js} +1 -1
- package/dist/assets/{dockerfile-C2PznFWk.js → dockerfile-kqVBOcIP.js} +1 -1
- package/dist/assets/{documentation-panel-e9Fi9R7e.js → documentation-panel-Eu8MIkoU.js} +1 -1
- package/dist/assets/download-CQ7iZFJL.js +9 -0
- package/dist/assets/{dropdown-menu-BFZLnWeO.js → dropdown-menu-dHmZR8bI.js} +1 -1
- package/dist/assets/dtd-DSiK7Qgi.js +1 -0
- package/dist/assets/dylan-07d5-7Q9.js +1 -0
- package/dist/assets/ecl-CSTUHiwq.js +1 -0
- package/dist/assets/{edit-page-7X3HYey7.js → edit-page-zyK_cMuR.js} +6 -6
- package/dist/assets/eiffel-DR99GcsM.js +1 -0
- package/dist/assets/elm-Cmh0iW6J.js +1 -0
- package/dist/assets/{erDiagram-Q2GNP2WA-BQ8HfnRu.js → erDiagram-Q2GNP2WA-BaY7iomT.js} +1 -1
- package/dist/assets/erlang-CS9Yc6UC.js +1 -0
- package/dist/assets/{error-banner-B6eIlxzg.js → error-banner-BSxEOIn2.js} +1 -1
- package/dist/assets/error-entries-Cr8uVukN.js +8 -0
- package/dist/assets/{error-panel-DdsUL6b7.js → error-panel-BZzr0PA1.js} +1 -1
- package/dist/assets/{es-1D83cgiu.js → es-gYgfF8y5.js} +1 -1
- package/dist/assets/{esm-BL7jQmzn.js → esm-B30N1GS0.js} +1 -1
- package/dist/assets/{esm-Cmv0Nuxi.js → esm-DqItXpGT.js} +1 -1
- package/dist/assets/{factor-DMrXrOH8.js → factor-D96xahcJ.js} +1 -1
- package/dist/assets/factor-DjB27Lcf.js +1 -0
- package/dist/assets/{field-BeZbVzXA.js → field-BsxD35VE.js} +1 -1
- package/dist/assets/file-explorer-panel-C1W7g_Wp.js +26 -0
- package/dist/assets/{file-icons-Cb54mIL8.js → file-icons-BAqZR08W.js} +1 -1
- package/dist/assets/{file-name-input-BWFcK1ey.js → file-name-input-0MiZVw5r.js} +1 -1
- package/dist/assets/{fileToBase64-C2Yy-YXq.js → fileToBase64-Dgfa7TRQ.js} +1 -1
- package/dist/assets/floating-outline-C6g75zrP.js +1 -0
- package/dist/assets/{flowDiagram-NV44I4VS-xBOzhlfg.js → flowDiagram-NV44I4VS-C_6PGGE6.js} +1 -1
- package/dist/assets/focus-C0HXXg3V.js +1 -0
- package/dist/assets/form-C051zAev.js +1 -0
- package/dist/assets/{form-B6BkSCJb.js → form-DT44Rmhp.js} +2 -2
- package/dist/assets/{formats-ClEFGPy-.js → formats-DzmLpc9A.js} +1 -1
- package/dist/assets/{formatting-B_41gSF5.js → formatting-DQX9QUSf.js} +1 -1
- package/dist/assets/forth-UwTUu7NY.js +1 -0
- package/dist/assets/fortran-cptiB4gJ.js +1 -0
- package/dist/assets/{fullscreen-dUjPYOmm.js → fullscreen-CTDqNQr6.js} +1 -1
- package/dist/assets/{gallery-page-CWQQAYpa.js → gallery-page-CL1y8LXc.js} +1 -1
- package/dist/assets/{ganttDiagram-JELNMOA3-D2O_k-Zg.js → ganttDiagram-JELNMOA3-CJFyE5hs.js} +1 -1
- package/dist/assets/gas-ajMbd9Us.js +1 -0
- package/dist/assets/gherkin-ClYkalzE.js +1 -0
- package/dist/assets/{gitGraph-G5XIXVHT-8HJwNcdU.js → gitGraph-G5XIXVHT-BP96QVP9.js} +1 -1
- package/dist/assets/{gitGraphDiagram-V2S2FVAM-Nk4Ll9GY.js → gitGraphDiagram-V2S2FVAM-CGQPWKR8.js} +1 -1
- package/dist/assets/{glide-data-editor-lMARFWHS.js → glide-data-editor-Badziq3Y.js} +4 -4
- package/dist/assets/groovy-BY-gt7AW.js +1 -0
- package/dist/assets/haskell-D1BeJ7SR.js +1 -0
- package/dist/assets/haxe-QOq5WFXx.js +1 -0
- package/dist/assets/home-page-CJz9IHZ2.js +4 -0
- package/dist/assets/{html-to-image-CwmX28T9.js → html-to-image-CfjhKLA4.js} +2 -2
- package/dist/assets/idl-3-UcEGx7.js +1 -0
- package/dist/assets/index-BGE_j_ZS.js +38 -0
- package/dist/assets/index-D6Dp_PFj.css +2 -0
- package/dist/assets/{info-VBDWY6EO-rfe3WPvd.js → info-VBDWY6EO-B7aeNYNu.js} +1 -1
- package/dist/assets/infoDiagram-HS3SLOUP-BT7ISZ3J.js +2 -0
- package/dist/assets/{input-CqrUjynb.js → input-JxFwu-3G.js} +1 -1
- package/dist/assets/javascript-CorD44JN.js +1 -0
- package/dist/assets/{journeyDiagram-XKPGCS4Q-D61FGivn.js → journeyDiagram-XKPGCS4Q-DhyWkFu7.js} +1 -1
- package/dist/assets/julia-BYqTtTAl.js +1 -0
- package/dist/assets/{kanban-definition-3W4ZIXB7-Bnv0X0Tu.js → kanban-definition-3W4ZIXB7-B2A0FPA_.js} +1 -1
- package/dist/assets/katex-BnxSCReZ.js +1 -0
- package/dist/assets/kiosk-mode-CWGEgpon.js +1 -0
- package/dist/assets/{label-BElwWzf0.js → label-CqjrpwRC.js} +1 -1
- package/dist/assets/{layout-CUlZijwG.js → layout-D4bpsgVD.js} +5 -5
- package/dist/assets/{line-DNm2phYo.js → line-1dURhxkp.js} +1 -1
- package/dist/assets/{linear-CTQqNbVX.js → linear-gmSPLe7o.js} +1 -1
- package/dist/assets/{links-CToBjIIj.js → links-CiT7FeSM.js} +1 -1
- package/dist/assets/livescript-qYgfNnNE.js +1 -0
- package/dist/assets/logs-panel-CsaY3O1m.js +1 -0
- package/dist/assets/{loro_wasm_bg-Duqr-kJ2.js → loro_wasm_bg-DWuCVDfB.js} +1 -1
- package/dist/assets/lua-BCqCjdfz.js +1 -0
- package/dist/assets/{markdown-renderer-QvXG0CRk.js → markdown-renderer-BgqeO4JR.js} +3 -3
- package/dist/assets/mathematica-XKwMfn0d.js +1 -0
- package/dist/assets/mbox-BnkeOnif.js +1 -0
- package/dist/assets/{menu-items-DbSLBfXR.js → menu-items-CCi6aOPm.js} +1 -1
- package/dist/assets/{mermaid-4DMBBIKO-CDGmT6YQ.js → mermaid-4DMBBIKO-DxfSuOnE.js} +1 -1
- package/dist/assets/{mermaid-Bh0flEIb.js → mermaid-Dfx05w1B.js} +3 -3
- package/dist/assets/{mermaid-parser.core-Dz2GMGqQ.js → mermaid-parser.core-OagDSIIt.js} +2 -2
- package/dist/assets/{mhchem-CIWniJp4.js → mhchem-Dka9kRKN.js} +1 -1
- package/dist/assets/{mindmap-definition-VGOIOE7T-C-YaKmEU.js → mindmap-definition-VGOIOE7T-torqqISZ.js} +1 -1
- package/dist/assets/mirc-ipoElhai.js +1 -0
- package/dist/assets/mllike-DmouQ5Dp.js +1 -0
- package/dist/assets/modelica-BtmmVsUf.js +1 -0
- package/dist/assets/mscgen-BHZmHZgz.js +1 -0
- package/dist/assets/mumps-oKfoFTl_.js +1 -0
- package/dist/assets/{name-cell-input-C6cukQ9k.js → name-cell-input-DcU8Rfrz.js} +1 -1
- package/dist/assets/node-sql-parser-Dpr10aqR.js +68 -0
- package/dist/assets/nsis-DDOPnuAW.js +1 -0
- package/dist/assets/{nsis-Ccvd1gbp.js → nsis-gzbsJ5t0.js} +1 -1
- package/dist/assets/ntriples-Dsyl_sOF.js +1 -0
- package/dist/assets/{number-overlay-editor-BQ9P6yP7.js → number-overlay-editor-DlQjqV32.js} +1 -1
- package/dist/assets/{numbers-CeeaFKqu.js → numbers-rmawRqQP.js} +1 -1
- package/dist/assets/octave-CI5RGMPa.js +1 -0
- package/dist/assets/{ordinal-DyTNGK17.js → ordinal-W4TcDjiJ.js} +1 -1
- package/dist/assets/{outline-panel-BPlg9_CE.js → outline-panel-D-CHPZQM.js} +1 -1
- package/dist/assets/oz-D01pKAWx.js +1 -0
- package/dist/assets/{packages-panel-BzQF60rG.js → packages-panel-dq7QVZl1.js} +1 -1
- package/dist/assets/{packet-DYOGHKS2-DTVloLa7.js → packet-DYOGHKS2-B2FlK_cc.js} +1 -1
- package/dist/assets/pair-with-agent-modal-D2vO1D8g.js +4 -0
- package/dist/assets/panels-DWoniKhE.js +4 -0
- package/dist/assets/pascal-DGXfnIFD.js +1 -0
- package/dist/assets/perl-gZ7qIkF-.js +1 -0
- package/dist/assets/{pie-VRWISCQL-Bmght6JF.js → pie-VRWISCQL-rtCNhZhm.js} +1 -1
- package/dist/assets/{pieDiagram-ADFJNKIX-DlFYL0BN.js → pieDiagram-ADFJNKIX-vSo1I9sb.js} +1 -1
- package/dist/assets/pig-Cb90ayl-.js +1 -0
- package/dist/assets/{popover-DrHQ3KEt.js → popover-Bcz1Zikb.js} +1 -1
- package/dist/assets/powershell-_YxddSL3.js +1 -0
- package/dist/assets/process-output-NbwnUu05.js +1 -0
- package/dist/assets/properties-sU50dmvt.js +1 -0
- package/dist/assets/protobuf-DFdF-yfo.js +1 -0
- package/dist/assets/{pug-BtXi5KiX.js → pug-CfBtO6QD.js} +1 -1
- package/dist/assets/pug-DwUB-C24.js +1 -0
- package/dist/assets/puppet-DtKzwiZ6.js +1 -0
- package/dist/assets/python-BMLOKYmk.js +1 -0
- package/dist/assets/q-BF1zXMdP.js +1 -0
- package/dist/assets/{quadrantDiagram-AYHSOK5B-BpJug2BH.js → quadrantDiagram-AYHSOK5B-DonUSsuk.js} +1 -1
- package/dist/assets/r-BQiKhVSI.js +1 -0
- package/dist/assets/{radar-ZZBFDIW7-CYwWzRgW.js → radar-ZZBFDIW7-CRVupj1O.js} +1 -1
- package/dist/assets/{radio-group-CLBjGkt5.js → radio-group-rhQpGwU-.js} +1 -1
- package/dist/assets/{react-vega-TNCk_eWj.js → react-vega-Bd66vLSZ.js} +1 -1
- package/dist/assets/{readonly-code-display-D63oRtBP.js → readonly-code-display-CVY2f7EZ.js} +1 -1
- package/dist/assets/{readonly-python-code-CW_G5e4E.js → readonly-python-code-Q_1Y3VyZ.js} +1 -1
- package/dist/assets/{renderShortcut-BZLr8D7H.js → renderShortcut-Bl8_FVn8.js} +1 -1
- package/dist/assets/{requirementDiagram-UZGBJVZJ-Bd-1eny8.js → requirementDiagram-UZGBJVZJ-D8rJ1Dg-.js} +1 -1
- package/dist/assets/{reveal-component-BLMTmd8T.js → reveal-component-CedpDwM8.js} +60 -60
- package/dist/assets/rpm-v7UTuaHo.js +1 -0
- package/dist/assets/ruby-Cw43FpG3.js +1 -0
- package/dist/assets/{run-page-B6pgDYEJ.js → run-page-CGoux5cj.js} +1 -1
- package/dist/assets/{runs-D51Xwrsk.js → runs-CZN8py6x.js} +1 -1
- package/dist/assets/{sankeyDiagram-TZEHDZUN-CDWAE6GV.js → sankeyDiagram-TZEHDZUN-Bufh177s.js} +1 -1
- package/dist/assets/sas-BIKscqlp.js +1 -0
- package/dist/assets/scheme-CGic3hSV.js +1 -0
- package/dist/assets/scratchpad-panel-BLuF25yR.js +1 -0
- package/dist/assets/{scroll-to-bottom-button-Cgr10kaJ.js → scroll-to-bottom-button-C8yfT4wq.js} +1 -1
- package/dist/assets/{secrets-panel-Cc5KDBk6.js → secrets-panel-4Qy7R-wy.js} +1 -1
- package/dist/assets/{select-B5TFNjmU.js → select-BP75_5jJ.js} +1 -1
- package/dist/assets/{sequenceDiagram-WL72ISMW-B6hjDGBF.js → sequenceDiagram-WL72ISMW-DOsQdDD2.js} +1 -1
- package/dist/assets/{session-CEFnN9Cq.js → session-BmukRjSi.js} +1 -1
- package/dist/assets/session-panel-OIot3eyB.js +1 -0
- package/dist/assets/{share-CYpcX4N4.js → share-852X_cqy.js} +1 -1
- package/dist/assets/shell-DAh545tm.js +1 -0
- package/dist/assets/sieve-bGkng63-.js +1 -0
- package/dist/assets/{skeleton-D3QPxqWC.js → skeleton-BRvjFlRu.js} +1 -1
- package/dist/assets/slides-DkEgzTJB.css +1 -0
- package/dist/assets/smalltalk-fIw53lm8.js +1 -0
- package/dist/assets/{snippets-panel-CXpGflMO.js → snippets-panel-YFyH2hUM.js} +1 -1
- package/dist/assets/sparql-CHbJrAY_.js +1 -0
- package/dist/assets/{spec-CzqcmYQk.js → spec-C7opZZRp.js} +1 -1
- package/dist/assets/{src-CIOdyciO.js → src-BSYB0gI9.js} +1 -1
- package/dist/assets/state-DB_fxbhn.js +3 -0
- package/dist/assets/{state-WBgc7MiA.js → state-DDag0B_B.js} +1 -1
- package/dist/assets/{state-BvdK8eiw.js → state-DFeun9PF.js} +1 -1
- package/dist/assets/{state-DBzEQtWz.js → state-bHyw5u3R.js} +1 -1
- package/dist/assets/{stateDiagram-FKZM4ZOC-Bzv6j99z.js → stateDiagram-FKZM4ZOC-z2ks4r_9.js} +1 -1
- package/dist/assets/stateDiagram-v2-4FDKWEC3-BApjXiT0.js +1 -0
- package/dist/assets/{step-CDlhJj9-.js → step-DIOVHicC.js} +1 -1
- package/dist/assets/{strings-Djnbwmfl.js → strings--BknHX9C.js} +1 -1
- package/dist/assets/stylus-3Q5WfXqT.js +1 -0
- package/dist/assets/swift-MKxc2knl.js +1 -0
- package/dist/assets/{swiper-component-DInvCxhI.js → swiper-component-C0ieyDzn.js} +1 -1
- package/dist/assets/switch-OVajJBPR.js +1 -0
- package/dist/assets/tcl-D3fKhQc_.js +1 -0
- package/dist/assets/{terminal-D3IQBBYo.js → terminal-D4sGJYRn.js} +1 -1
- package/dist/assets/textarea-DZB2bzVL.js +1 -0
- package/dist/assets/textile-Bi_LEJQ3.js +1 -0
- package/dist/assets/{time-BuRlxEhE.js → time-NXrJfoDM.js} +1 -1
- package/dist/assets/{timeline-definition-IT6M3QCI-DXwdU1og.js → timeline-definition-IT6M3QCI-BRuA290T.js} +1 -1
- package/dist/assets/toml-Dt-PBqwt.js +1 -0
- package/dist/assets/{tooltip-CFX4fYHU.js → tooltip-4bZlU7jl.js} +1 -1
- package/dist/assets/{tooltip-HLb6RxVp.js → tooltip-B7U4xkIN.js} +1 -1
- package/dist/assets/{tracing-CKn3gWHw.js → tracing-CDMM1BB2.js} +1 -1
- package/dist/assets/{tracing-panel-BU-o_LCd.js → tracing-panel-BH5Zbvl9.js} +2 -2
- package/dist/assets/{tree-actions-CsC2XmGo.js → tree-actions-DDveUIHK.js} +1 -1
- package/dist/assets/{treemap-GDKQZRPO-4Cm6HMmj.js → treemap-GDKQZRPO-DIzBBPQD.js} +1 -1
- package/dist/assets/troff-BSU-rxoD.js +1 -0
- package/dist/assets/ttcn-BmLjonVM.js +1 -0
- package/dist/assets/ttcn-cfg-TPTcP0Eh.js +1 -0
- package/dist/assets/turtle-HafmShQq.js +1 -0
- package/dist/assets/{useBoolean-D89u30n-.js → useBoolean-CFj86iac.js} +1 -1
- package/dist/assets/useCellActionButton-D5ix_g2a.js +1 -0
- package/dist/assets/{useDeleteCell-EPH4kcG7.js → useDeleteCell-BIopCngo.js} +1 -1
- package/dist/assets/{useDependencyPanelTab-CZnK7N2L.js → useDependencyPanelTab-snM337f9.js} +1 -1
- package/dist/assets/useEventListener-C0195JsF.js +1 -0
- package/dist/assets/{useHotkey-DIuRH8Wu.js → useHotkey-DLZvrRZT.js} +1 -1
- package/dist/assets/{useIframeCapabilities-Ccb4fvKc.js → useIframeCapabilities-j6fR_dBA.js} +1 -1
- package/dist/assets/{useInstallPackage-BRbUAUFn.js → useInstallPackage-WiYBwhUO.js} +1 -1
- package/dist/assets/{useInterval-CC0vKpWm.js → useInterval-Be6s6idX.js} +1 -1
- package/dist/assets/useNotebookActions-CsZfWFKy.js +12 -0
- package/dist/assets/{useRunCells-CSSF_mJ0.js → useRunCells-CF_V8X2K.js} +1 -1
- package/dist/assets/{useSplitCell-9Qz93yPZ.js → useSplitCell-BTmKY1CU.js} +1 -1
- package/dist/assets/{useTheme-KXqAyDPC.js → useTheme-Bxv9B31g.js} +1 -1
- package/dist/assets/{utils-Z80SV4_d.js → utils-BWBBpCkT.js} +1 -1
- package/dist/assets/vb-CUif5uGR.js +1 -0
- package/dist/assets/vbscript-DWVPFl59.js +1 -0
- package/dist/assets/{vega-component-Cie3ag_T.js → vega-component-BYd6AACD.js} +1 -1
- package/dist/assets/{vega-embed-container-hDAVOOba.js → vega-embed-container-CRADa99b.js} +1 -1
- package/dist/assets/velocity-BJl8UzB4.js +1 -0
- package/dist/assets/verilog-B4LUPYXy.js +1 -0
- package/dist/assets/vhdl-C91h3ipk.js +1 -0
- package/dist/assets/webidl-DOay1zbU.js +1 -0
- package/dist/assets/write-secret-modal-D-p66LIx.js +2 -0
- package/dist/assets/xquery-Cez7jD_4.js +1 -0
- package/dist/assets/{xychartDiagram-PRI3JC2R-Cb0exSKs.js → xychartDiagram-PRI3JC2R-BX6ICxcN.js} +1 -1
- package/dist/assets/yacas-CSQEXB_S.js +1 -0
- package/dist/assets/z80-CJbYj7Wr.js +1 -0
- package/dist/index.html +74 -73
- package/package.json +3 -4
- package/src/__mocks__/requests.ts +45 -4
- package/src/components/data-table/__tests__/__snapshots__/chart-spec-model.test.ts.snap +174 -21
- package/src/components/data-table/__tests__/chart-spec-model.test.ts +102 -1
- package/src/components/data-table/column-summary/chart-spec-model.tsx +163 -103
- package/src/components/data-table/column-summary/legacy-chart-spec.ts +15 -7
- package/src/components/data-table/column-summary/utils.ts +26 -7
- package/src/components/data-table/types.ts +1 -1
- package/src/components/editor/__tests__/viewer-banner.test.tsx +14 -0
- package/src/components/editor/actions/__tests__/pair-with-agent-commands.test.ts +99 -18
- package/src/components/editor/actions/__tests__/pdf-export.test.ts +32 -13
- package/src/components/editor/actions/pair-with-agent-commands.ts +21 -10
- package/src/components/editor/actions/pair-with-agent-modal.tsx +2 -2
- package/src/components/editor/actions/pdf-export.ts +11 -14
- package/src/components/editor/actions/useNotebookActions.tsx +18 -18
- package/src/components/editor/cell/code/__tests__/cell-editor-activity-lifecycle.test.ts +250 -0
- package/src/components/editor/cell/code/cell-editor.tsx +13 -7
- package/src/components/editor/chrome/panels/__tests__/logs-panel.test.tsx +25 -0
- package/src/components/editor/chrome/panels/logs-panel.tsx +12 -2
- package/src/components/editor/chrome/panels/write-secret-modal.tsx +40 -12
- package/src/components/editor/connections/__tests__/json-credentials.test.ts +114 -0
- package/src/components/editor/connections/__tests__/paths.test.ts +39 -0
- package/src/components/editor/connections/components.tsx +6 -2
- package/src/components/editor/connections/database/__tests__/__snapshots__/as-code.test.ts.snap +21 -5
- package/src/components/editor/connections/database/__tests__/as-code.test.ts +17 -0
- package/src/components/editor/connections/database/as-code.ts +16 -2
- package/src/components/editor/connections/database/schemas.ts +6 -5
- package/src/components/editor/connections/form-renderers.tsx +99 -1
- package/src/components/editor/connections/json-credentials.ts +57 -0
- package/src/components/editor/connections/paths.ts +21 -0
- package/src/components/editor/connections/secret-combobox.tsx +41 -20
- package/src/components/editor/connections/storage/__tests__/__snapshots__/as-code.test.ts.snap +88 -2
- package/src/components/editor/connections/storage/__tests__/as-code.test.ts +128 -8
- package/src/components/editor/connections/storage/as-code.ts +79 -36
- package/src/components/editor/connections/storage/schemas.ts +85 -44
- package/src/components/editor/file-tree/__tests__/renderers.test.ts +31 -0
- package/src/components/editor/file-tree/file-viewer.tsx +11 -7
- package/src/components/editor/file-tree/renderers.tsx +21 -0
- package/src/components/editor/renderers/vertical-layout/vertical-layout.tsx +1 -1
- package/src/components/editor/viewer-banner.tsx +4 -1
- package/src/components/forms/options.ts +2 -1
- package/src/components/slides/__tests__/cell-output-block.test.tsx +40 -0
- package/src/components/slides/__tests__/slide-cell-view.test.tsx +33 -0
- package/src/components/slides/__tests__/slide-scroll-hint.test.tsx +198 -0
- package/src/components/slides/reveal-component.tsx +25 -19
- package/src/components/slides/slide-cell-view.tsx +1 -1
- package/src/components/slides/slide-scroll-hint.tsx +161 -0
- package/src/components/slides/slides.css +4 -2
- package/src/components/static-html/share-modal.tsx +1 -1
- package/src/components/ui/input.tsx +1 -1
- package/src/core/ai/context/providers/file.ts +8 -29
- package/src/core/cells/__tests__/cells.test.ts +12 -2
- package/src/core/cells/__tests__/logs.test.ts +5 -5
- package/src/core/cells/cells.ts +17 -4
- package/src/core/cells/document-changes.ts +1 -0
- package/src/core/cells/logs.ts +14 -4
- package/src/core/codemirror/copilot/__tests__/language-server.test.ts +396 -100
- package/src/core/codemirror/copilot/__tests__/transport.test.ts +128 -540
- package/src/core/codemirror/copilot/language-server.ts +182 -70
- package/src/core/codemirror/copilot/transport.ts +15 -207
- package/src/core/codemirror/copilot/types.ts +9 -2
- package/src/core/codemirror/find-replace/__tests__/navigate.test.ts +42 -30
- package/src/core/codemirror/find-replace/navigate.ts +2 -0
- package/src/core/codemirror/go-to-definition/__tests__/commands.test.ts +24 -3
- package/src/core/codemirror/go-to-definition/commands.ts +3 -0
- package/src/core/codemirror/keymaps/__tests__/keymaps.test.ts +31 -2
- package/src/core/codemirror/keymaps/keymaps.ts +12 -0
- package/src/core/codemirror/language/__tests__/sql.test.ts +443 -61
- package/src/core/codemirror/language/languages/python.ts +23 -11
- package/src/core/codemirror/language/languages/sql/completion-store.ts +5 -1
- package/src/core/codemirror/language/languages/sql/sql.ts +210 -3
- package/src/core/codemirror/lsp/__tests__/federated-lsp.test.ts +161 -0
- package/src/core/codemirror/lsp/__tests__/log-messages.test.ts +53 -0
- package/src/core/codemirror/lsp/__tests__/normalize-markdown-math.test.ts +25 -0
- package/src/core/codemirror/lsp/__tests__/notebook-lsp.test.ts +598 -156
- package/src/core/codemirror/lsp/__tests__/transports.test.ts +112 -0
- package/src/core/codemirror/lsp/federated-lsp.ts +76 -23
- package/src/core/codemirror/lsp/log-messages.ts +37 -0
- package/src/core/codemirror/lsp/normalize-markdown-math.ts +8 -4
- package/src/core/codemirror/lsp/notebook-lsp.ts +220 -56
- package/src/core/codemirror/lsp/transports.ts +8 -1
- package/src/core/codemirror/lsp/types.ts +68 -8
- package/src/core/codemirror/lsp/utils.ts +14 -0
- package/src/core/codemirror/utils.ts +28 -0
- package/src/core/edit-app.tsx +1 -2
- package/src/core/export/__tests__/hooks.test.ts +2 -4
- package/src/core/export/hooks.ts +4 -3
- package/src/core/hotkeys/hotkeys.ts +0 -2
- package/src/core/islands/__tests__/bridge.test.ts +107 -0
- package/src/core/islands/bridge.ts +16 -0
- package/src/core/lsp/__tests__/transport.test.ts +509 -337
- package/src/core/lsp/transport.ts +304 -132
- package/src/core/mode.ts +10 -0
- package/src/core/network/__tests__/api.test.ts +42 -0
- package/src/core/network/__tests__/connection.test.ts +45 -0
- package/src/core/network/__tests__/requests-lazy.test.ts +32 -1
- package/src/core/network/__tests__/requests-network.test.ts +21 -0
- package/src/core/network/api.ts +27 -0
- package/src/core/network/connection.ts +15 -0
- package/src/core/network/requests-lazy.ts +1 -0
- package/src/core/network/requests-network.ts +14 -8
- package/src/core/network/requests-static.ts +1 -0
- package/src/core/network/requests-toasting.tsx +1 -0
- package/src/core/network/types.ts +22 -6
- package/src/core/rtc/state.ts +9 -0
- package/src/core/static/download-html.ts +5 -14
- package/src/core/wasm/bridge.ts +4 -2
- package/src/core/wasm/worker/types.ts +5 -2
- package/src/css/app/codemirror.css +16 -2
- package/src/plugins/impl/FormPlugin.tsx +1 -1
- package/src/plugins/impl/__tests__/FormPlugin.test.tsx +162 -0
- package/src/stories/log-viewer.stories.tsx +12 -6
- package/src/utils/__tests__/blob.test.ts +27 -1
- package/src/utils/__tests__/download.test.tsx +44 -4
- package/src/utils/blob.ts +24 -1
- package/src/utils/download.ts +14 -15
- package/dist/assets/JsonOutput-CkCD-FgM.js +0 -53
- package/dist/assets/LazyAnyLanguageCodeMirror-sVm_hz8A.js +0 -2
- package/dist/assets/RenderHTML-BCvU9dYz.js +0 -1
- package/dist/assets/add-connection-dialog-B-jCRNTN.js +0 -170
- package/dist/assets/ai-model-dropdown-DXgLphFa.js +0 -5
- package/dist/assets/apl-DTwRFDps.js +0 -1
- package/dist/assets/app-config-button-NrM9ywXA.js +0 -1
- package/dist/assets/asciiarmor-CiqkDK0s.js +0 -1
- package/dist/assets/asn1-RTvH5MEs.js +0 -1
- package/dist/assets/blob-C3EfaMOb.js +0 -1
- package/dist/assets/brainfuck-szH_VGzd.js +0 -1
- package/dist/assets/cell-link-DqBkyAFe.js +0 -1
- package/dist/assets/cells-Cf7bHHq3.js +0 -229
- package/dist/assets/channel-D-k8o3T1.js +0 -1
- package/dist/assets/chunk-55IACEB6-xhaY4LU6.js +0 -1
- package/dist/assets/classDiagram-2ON5EDUG-C-rIg7EQ.js +0 -1
- package/dist/assets/classDiagram-v2-WZHVMYZB-MBAsRLae.js +0 -1
- package/dist/assets/clojure-CyEbLmch.js +0 -1
- package/dist/assets/cmake-Dk8f7QuI.js +0 -1
- package/dist/assets/cobol-BJJRqW1D.js +0 -1
- package/dist/assets/coffeescript-BDuWJ9WO.js +0 -1
- package/dist/assets/commonlisp-CVHm2VSp.js +0 -1
- package/dist/assets/components-BH6gDVv6.js +0 -1
- package/dist/assets/config-BbOTTCYY.js +0 -1
- package/dist/assets/crystal-C2Fgr79A.js +0 -1
- package/dist/assets/cypher-CUlCm6vR.js +0 -1
- package/dist/assets/d-4ANEHA6q.js +0 -1
- package/dist/assets/diff-C-W-5V8L.js +0 -1
- package/dist/assets/dist-BCMBu0rO.js +0 -2
- package/dist/assets/dist-CCAhuqF-.js +0 -1
- package/dist/assets/dist-DGhK0kPE.js +0 -1
- package/dist/assets/dist-SVDIDTM2.js +0 -1
- package/dist/assets/dist-xSLg7wNV.js +0 -1
- package/dist/assets/download-BomYt3nl.js +0 -9
- package/dist/assets/dtd-D9h-tL8G.js +0 -1
- package/dist/assets/dylan-D3MC56xy.js +0 -1
- package/dist/assets/ecl-B6UC4tME.js +0 -1
- package/dist/assets/eiffel-CjvEov4k.js +0 -1
- package/dist/assets/elm-DvSbvRWe.js +0 -1
- package/dist/assets/erlang-DJYaGXyq.js +0 -1
- package/dist/assets/error-entries-Birw-8VX.js +0 -8
- package/dist/assets/factor-CUQCrkTo.js +0 -1
- package/dist/assets/file-explorer-panel-Ntq1-VbF.js +0 -26
- package/dist/assets/floating-outline-wz-WSRgP.js +0 -1
- package/dist/assets/focus-DiEyfiAG.js +0 -1
- package/dist/assets/forth-D9xegiCO.js +0 -1
- package/dist/assets/fortran-B0Oe0U8s.js +0 -1
- package/dist/assets/gas-jLjj-PIq.js +0 -1
- package/dist/assets/gherkin-3Ig8Crit.js +0 -1
- package/dist/assets/groovy-NKpNVJ-n.js +0 -1
- package/dist/assets/haskell-OPE4bAjk.js +0 -1
- package/dist/assets/haxe-DEAZF8L3.js +0 -1
- package/dist/assets/home-page-DJ4jJsZj.js +0 -4
- package/dist/assets/idl-BM6265Xl.js +0 -1
- package/dist/assets/index-A71LAt6h.css +0 -2
- package/dist/assets/index-CMZzy-dF.js +0 -38
- package/dist/assets/infoDiagram-HS3SLOUP-DQnMjKYJ.js +0 -2
- package/dist/assets/javascript-CZ9vDpAy.js +0 -1
- package/dist/assets/julia-BrY9TQnt.js +0 -1
- package/dist/assets/katex-C-lfa1AM.js +0 -1
- package/dist/assets/kiosk-mode-ABm3oYgq.js +0 -1
- package/dist/assets/livescript-CNahkUp5.js +0 -1
- package/dist/assets/logs-panel-iFV4ZJ9b.js +0 -1
- package/dist/assets/lua-Skr4TVu_.js +0 -1
- package/dist/assets/mathematica-BXxhrpeY.js +0 -1
- package/dist/assets/mbox-BRrQCVe9.js +0 -1
- package/dist/assets/mirc-CffYPE4R.js +0 -1
- package/dist/assets/mllike-C1DLZhEI.js +0 -1
- package/dist/assets/modelica-CvAyRRNV.js +0 -1
- package/dist/assets/mscgen-uMZWtMZv.js +0 -1
- package/dist/assets/mumps-DFJehEx7.js +0 -1
- package/dist/assets/node-sql-parser-BWgUjcfV.js +0 -68
- package/dist/assets/nsis-BVI9YULz.js +0 -1
- package/dist/assets/ntriples-Bcdh7b2H.js +0 -1
- package/dist/assets/octave-CdAKz6YS.js +0 -1
- package/dist/assets/oz-DSySeR-W.js +0 -1
- package/dist/assets/pair-with-agent-modal-CKOYwOYw.js +0 -4
- package/dist/assets/panels-Dj45fW-v.js +0 -4
- package/dist/assets/pascal-DefziIUN.js +0 -1
- package/dist/assets/perl-BOOloBPk.js +0 -1
- package/dist/assets/pig-f0nBb-5x.js +0 -1
- package/dist/assets/powershell-DToQjbK9.js +0 -1
- package/dist/assets/process-output-BEhIGfkO.js +0 -1
- package/dist/assets/properties-BRob-nyj.js +0 -1
- package/dist/assets/protobuf-DZyC6051.js +0 -1
- package/dist/assets/pug-pVoM8FRt.js +0 -1
- package/dist/assets/puppet-9fuYG07F.js +0 -1
- package/dist/assets/python-_Mr8fyXP.js +0 -1
- package/dist/assets/q-D73s4Y77.js +0 -1
- package/dist/assets/r-BOEjz92e.js +0 -1
- package/dist/assets/rpm-LpXWTM5t.js +0 -1
- package/dist/assets/ruby-DodgSDfF.js +0 -1
- package/dist/assets/sas-D9KCtUmL.js +0 -1
- package/dist/assets/scheme-p8UJxmJw.js +0 -1
- package/dist/assets/scratchpad-panel-B0mEqBNk.js +0 -1
- package/dist/assets/session-panel-Y0Oon0sD.js +0 -1
- package/dist/assets/shell-BWdqyqwL.js +0 -1
- package/dist/assets/sieve-CLwJmtiQ.js +0 -1
- package/dist/assets/slides-MCbMDtlY.css +0 -1
- package/dist/assets/smalltalk-D3KV-Qah.js +0 -1
- package/dist/assets/sparql-D9Jz2mBw.js +0 -1
- package/dist/assets/state-BZQc7xxL.js +0 -3
- package/dist/assets/stateDiagram-v2-4FDKWEC3-CA1l0rNa.js +0 -1
- package/dist/assets/stylus-ClN4l_XO.js +0 -1
- package/dist/assets/swift-Dvd_9xBv.js +0 -1
- package/dist/assets/switch-CvweaCXq.js +0 -1
- package/dist/assets/tcl-DR2p8cyi.js +0 -1
- package/dist/assets/textarea-CpFfEUet.js +0 -1
- package/dist/assets/textile-D6S27_J2.js +0 -1
- package/dist/assets/toml-B-YuQ2Id.js +0 -1
- package/dist/assets/troff-HSk8AoRF.js +0 -1
- package/dist/assets/ttcn-CehzlVdx.js +0 -1
- package/dist/assets/ttcn-cfg-CLEPwk1s.js +0 -1
- package/dist/assets/turtle-DQLHkbOu.js +0 -1
- package/dist/assets/useCellActionButton-CRfIEVB5.js +0 -1
- package/dist/assets/useEventListener-B_w3A283.js +0 -1
- package/dist/assets/useNotebookActions-DTXAoukG.js +0 -12
- package/dist/assets/vb-o1EHrS4z.js +0 -1
- package/dist/assets/vbscript-BS8yUFpf.js +0 -1
- package/dist/assets/velocity-u_oGPFaA.js +0 -1
- package/dist/assets/verilog-CSmDH7su.js +0 -1
- package/dist/assets/vhdl-BCaWLcjw.js +0 -1
- package/dist/assets/webidl-Bf6dokXM.js +0 -1
- package/dist/assets/write-secret-modal-DEEn7sZV.js +0 -1
- package/dist/assets/xquery-Di0kkiXg.js +0 -1
- package/dist/assets/yacas-DB8tPtyp.js +0 -1
- package/dist/assets/z80-DFUvlWxk.js +0 -1
- /package/dist/assets/{ImageComparisonComponent-Cz3xVDLH.js → ImageComparisonComponent-HnxpPJnM.js} +0 -0
- /package/dist/assets/{Inputs-B8-VCb_j.js → Inputs-BhvqLBkk.js} +0 -0
- /package/dist/assets/{Plot-X2G47XHf.js → Plot-Df7XX6zz.js} +0 -0
- /package/dist/assets/{apl-DVqFAlEd.js → apl-CPlG1HX3.js} +0 -0
- /package/dist/assets/{array-Ddg9CgJT.js → array-DkMvCrqF.js} +0 -0
- /package/dist/assets/{asciiarmor-B45BhOLj.js → asciiarmor-DV_pcocJ.js} +0 -0
- /package/dist/assets/{asn1-C4T2ctU6.js → asn1-DPxWcGvG.js} +0 -0
- /package/dist/assets/{asterisk-9U_4Kgke.js → asterisk-Di-nanOd.js} +0 -0
- /package/dist/assets/{azure-nN8APleF.js → azure-BjL5s4-w.js} +0 -0
- /package/dist/assets/{brainfuck-kVh8Eud4.js → brainfuck-CGDdBVNO.js} +0 -0
- /package/dist/assets/{card-VUBaYDpT.js → card-DIbLM4TA.js} +0 -0
- /package/dist/assets/{chunk-4F5CHEZ2-ClSh5rxG.js → chunk-4F5CHEZ2-yOSqdjGN.js} +0 -0
- /package/dist/assets/{chunk-B2363JML-cit0ouFv.js → chunk-B2363JML-BqlxcdFI.js} +0 -0
- /package/dist/assets/{chunk-DR5Q36YT-Bsu9Glc0.js → chunk-DR5Q36YT-9bsCT1tL.js} +0 -0
- /package/dist/assets/{chunk-FRFDVMJY--Re1QfFE.js → chunk-FRFDVMJY-DW58IWII.js} +0 -0
- /package/dist/assets/{chunk-PL6DKKU2-CAwRAr-p.js → chunk-PL6DKKU2-CiPkyomE.js} +0 -0
- /package/dist/assets/{chunk-SJTYNZTY-G1spWesO.js → chunk-SJTYNZTY-UJLIXgY2.js} +0 -0
- /package/dist/assets/{chunk-TQ3KTPDO-DBwra5xv.js → chunk-TQ3KTPDO-DQFcRP5c.js} +0 -0
- /package/dist/assets/{chunk-UMXZTB3W-A5RvYDPE.js → chunk-UMXZTB3W-cibob28z.js} +0 -0
- /package/dist/assets/{clear-button-DQtvx6eq.js → clear-button-Bsxh4lx1.js} +0 -0
- /package/dist/assets/{click-outside-container-CrWZsAF5.js → click-outside-container-LfSB2_ne.js} +0 -0
- /package/dist/assets/{clike-O0gwXilc.js → clike-D91DrsBh.js} +0 -0
- /package/dist/assets/{clojure-CsbMWxp9.js → clojure-B0eb_-2q.js} +0 -0
- /package/dist/assets/{cmake-FpJvOdyj.js → cmake-COzUvjiS.js} +0 -0
- /package/dist/assets/{cobol-Duxbpsru.js → cobol-DW4FSnmb.js} +0 -0
- /package/dist/assets/{coffeescript-D-Unz9IP.js → coffeescript-CommR2mv.js} +0 -0
- /package/dist/assets/{colors-C_0lIznd.js → colors-CyQT5OPu.js} +0 -0
- /package/dist/assets/{common-keywords-PqH2GDfH.js → common-keywords-Bk-0jOKl.js} +0 -0
- /package/dist/assets/{commonlisp-_nR12oc7.js → commonlisp-FR_N9RJL.js} +0 -0
- /package/dist/assets/{crystal-dj3W4b1A.js → crystal-CAN7bz25.js} +0 -0
- /package/dist/assets/{css-0BG6A_BC.js → css-DmLg8a0m.js} +0 -0
- /package/dist/assets/{cypher-CKPokaoH.js → cypher-BzSJn05x.js} +0 -0
- /package/dist/assets/{cytoscape.esm-DzUNSF80.js → cytoscape.esm-CVhOSlMZ.js} +0 -0
- /package/dist/assets/{d-BrbqzVa2.js → d-UpmnByGo.js} +0 -0
- /package/dist/assets/{diff-BmdR9FsO.js → diff-DRpitNo9.js} +0 -0
- /package/dist/assets/{dist-CM-lWxt3.js → dist-1DJkf78n.js} +0 -0
- /package/dist/assets/{dist-ByK00N0T.js → dist-6KRysbQA.js} +0 -0
- /package/dist/assets/{dist-98K4fusX.js → dist-8H9kNP92.js} +0 -0
- /package/dist/assets/{dist-OgwOt8T2.js → dist-8lZYHUSx.js} +0 -0
- /package/dist/assets/{dist-DNGKAtWk.js → dist-B4sFEC9P.js} +0 -0
- /package/dist/assets/{dist-BaKJ0-Tb.js → dist-B5BlmbY-.js} +0 -0
- /package/dist/assets/{dist-CpbbK4-I.js → dist-BDUj3vkc.js} +0 -0
- /package/dist/assets/{dist-3N7-WLqi.js → dist-C13NfWpP.js} +0 -0
- /package/dist/assets/{dist-DokId-qM.js → dist-C3XTRycV.js} +0 -0
- /package/dist/assets/{dist-56ul6-mm.js → dist-C6uSSUmH.js} +0 -0
- /package/dist/assets/{dist-D5ToCtv8.js → dist-CDFlR-dv.js} +0 -0
- /package/dist/assets/{dist-DzAAhYcW.js → dist-CaADT3TK.js} +0 -0
- /package/dist/assets/{dist-B8g3pNYJ.js → dist-CbTMGxEf.js} +0 -0
- /package/dist/assets/{dist-O5-NiN3f.js → dist-CjpCHqUI.js} +0 -0
- /package/dist/assets/{dist-D9sE1udr.js → dist-D0BTeZL0.js} +0 -0
- /package/dist/assets/{dist-DrtRBAn8.js → dist-DE4Vb9tO.js} +0 -0
- /package/dist/assets/{dist-D35OyUMQ.js → dist-DYsXEge_.js} +0 -0
- /package/dist/assets/{dist-C5kf6g-d.js → dist-lCLEUACp.js} +0 -0
- /package/dist/assets/{dtd-DbCXDVgi.js → dtd-CQV9N2ok.js} +0 -0
- /package/dist/assets/{duckdb-keywords-mPlR0SxW.js → duckdb-keywords-CqO5LWsh.js} +0 -0
- /package/dist/assets/{dylan-CLLzL2Js.js → dylan-Bp98yT5y.js} +0 -0
- /package/dist/assets/{ebnf-Cnws41cu.js → ebnf-DoGvzVmX.js} +0 -0
- /package/dist/assets/{ecl-BC7x2nzk.js → ecl-BgtQ3zu5.js} +0 -0
- /package/dist/assets/{eiffel-CDU836rz.js → eiffel-Cu14O7Gi.js} +0 -0
- /package/dist/assets/{elm-D-_bXARs.js → elm-Dp1dn40k.js} +0 -0
- /package/dist/assets/{empty-state-CqJvEFRk.js → empty-state-yX2_pzkH.js} +0 -0
- /package/dist/assets/{erlang-CwDZk2zM.js → erlang-DdogJjdp.js} +0 -0
- /package/dist/assets/{esm-D6WfbcL3.js → esm-DZILy413.js} +0 -0
- /package/dist/assets/{fcl-CwkPc-_9.js → fcl-CTs4ROWI.js} +0 -0
- /package/dist/assets/{forth-D6FsO_8x.js → forth-Dd0r86IP.js} +0 -0
- /package/dist/assets/{fortran-D4BMbIkG.js → fortran-4qvtlW4z.js} +0 -0
- /package/dist/assets/{gas-JFjzcgdY.js → gas-DqwqZHXy.js} +0 -0
- /package/dist/assets/{gherkin-Cyu-qGaF.js → gherkin-DMxJEDh5.js} +0 -0
- /package/dist/assets/{github-_JH-0hIO.js → github-kTVN-x1m.js} +0 -0
- /package/dist/assets/{groovy-CZaE9eN-.js → groovy-DA_MxBua.js} +0 -0
- /package/dist/assets/{haskell-Dc6o0IGr.js → haskell-B_hi8VEK.js} +0 -0
- /package/dist/assets/{haxe-Bsf0tzqs.js → haxe-D-I6YeRN.js} +0 -0
- /package/dist/assets/{http-BQNSD-HR.js → http-Ci3E2pzn.js} +0 -0
- /package/dist/assets/{idl-1W91kQ8_.js → idl-CteRrHSs.js} +0 -0
- /package/dist/assets/{init-nx27Zb9l.js → init-CYoUL2Ak.js} +0 -0
- /package/dist/assets/{javascript-BZ81-2rO.js → javascript-Cq9DsvSW.js} +0 -0
- /package/dist/assets/{julia-BZOsq0r_.js → julia-bHGj6eLp.js} +0 -0
- /package/dist/assets/{katex-CvZ3kCGk.js → katex-BKFLE8En.js} +0 -0
- /package/dist/assets/{livescript-CNZfmikk.js → livescript-C72YlTeO.js} +0 -0
- /package/dist/assets/{loro_wasm_bg-RNUly1SE.js → loro_wasm_bg-aCH66ryB.js} +0 -0
- /package/dist/assets/{lua-DXGRliwd.js → lua-DAtJrHXr.js} +0 -0
- /package/dist/assets/{marimo-icons-C_nFooxr.js → marimo-icons-Bq_N9GGs.js} +0 -0
- /package/dist/assets/{math-CLO4uoaP.js → math-D6WZfqI3.js} +0 -0
- /package/dist/assets/{mathematica-BoUj8M7D.js → mathematica-DGp7b8Lx.js} +0 -0
- /package/dist/assets/{mbox-DLVP8LAe.js → mbox-C35KjfEV.js} +0 -0
- /package/dist/assets/{mirc-kI4d5fMu.js → mirc-BRCHEPv1.js} +0 -0
- /package/dist/assets/{mllike-CD9vBc_2.js → mllike-D7ajla-U.js} +0 -0
- /package/dist/assets/{modelica-DgfsLJuF.js → modelica-0RGVL4ie.js} +0 -0
- /package/dist/assets/{mscgen-B1HDwshJ.js → mscgen-C7Ohs4Tl.js} +0 -0
- /package/dist/assets/{multi-icon-nrKPWjDU.js → multi-icon-C2ijLyOs.js} +0 -0
- /package/dist/assets/{mumps-D_-b9TZD.js → mumps-Cgag5Xef.js} +0 -0
- /package/dist/assets/{nginx-Cm282mo8.js → nginx-k5GTB7o1.js} +0 -0
- /package/dist/assets/{ntriples-COX9JFZ8.js → ntriples-oQv5c69K.js} +0 -0
- /package/dist/assets/{octave-BejycR79.js → octave-BMTXs4lo.js} +0 -0
- /package/dist/assets/{oz-CFFivrGn.js → oz-CuHYwo8r.js} +0 -0
- /package/dist/assets/{panel-context-CH75ubGG.js → panel-context-CmeYEpWr.js} +0 -0
- /package/dist/assets/{pascal-B_p9jkCs.js → pascal-eFKoVV2p.js} +0 -0
- /package/dist/assets/{path-Bz_hIzg5.js → path-BcLO3NWe.js} +0 -0
- /package/dist/assets/{pathUtils-Bfcp5m-a.js → pathUtils-BbJtW9Mp.js} +0 -0
- /package/dist/assets/{perl-C-SFBTly.js → perl-B1OqOW8w.js} +0 -0
- /package/dist/assets/{pig-BhxDMp2k.js → pig-gIrBDx27.js} +0 -0
- /package/dist/assets/{powershell-c59M-9N2.js → powershell-3fQF2XND.js} +0 -0
- /package/dist/assets/{properties-D1JNwCKy.js → properties-D4HHpZmU.js} +0 -0
- /package/dist/assets/{protobuf-DQS7ex8R.js → protobuf-DFSTKR0L.js} +0 -0
- /package/dist/assets/{puppet-DaQvhvew.js → puppet-BAISgXk9.js} +0 -0
- /package/dist/assets/{python-XHl3eRTS.js → python-mPctBCbA.js} +0 -0
- /package/dist/assets/{q-DppnoRE3.js → q-CYeV5Dbb.js} +0 -0
- /package/dist/assets/{r-D8-F_FWj.js → r-Ds4UrjIV.js} +0 -0
- /package/dist/assets/{request-registry-DHocQ_4I.js → request-registry-CEkYnwgr.js} +0 -0
- /package/dist/assets/{requests-DYeT4CEe.js → requests-CIR84T8A.js} +0 -0
- /package/dist/assets/{rpm-CegJhNNO.js → rpm-DV5-r6dM.js} +0 -0
- /package/dist/assets/{ruby-YMIxufV1.js → ruby-B9qrycrI.js} +0 -0
- /package/dist/assets/{sas-wTtX9UIQ.js → sas-Cd7L1ZOe.js} +0 -0
- /package/dist/assets/{scheme-BGenom3k.js → scheme-L6Kva-Kc.js} +0 -0
- /package/dist/assets/{semaphore-DtBYRzWS.js → semaphore-YOr3WMiw.js} +0 -0
- /package/dist/assets/{shell-Bu1sLaiP.js → shell-Ck42V1Kn.js} +0 -0
- /package/dist/assets/{sieve-ffe6rUQh.js → sieve-DfSJcUfS.js} +0 -0
- /package/dist/assets/{simple-mode-DBSzUJLA.js → simple-mode-CfoR0Lvg.js} +0 -0
- /package/dist/assets/{smalltalk-NU5EGjHp.js → smalltalk-CT418Iph.js} +0 -0
- /package/dist/assets/{solr-ptw1yIqO.js → solr-DfAVBX8L.js} +0 -0
- /package/dist/assets/{sparql-uqVktnwO.js → sparql-BlJ_cLEt.js} +0 -0
- /package/dist/assets/{spreadsheet-VEzeu_mb.js → spreadsheet-Qy1VjLDU.js} +0 -0
- /package/dist/assets/{sql-tYjnWETe.js → sql-BAkD7JGK.js} +0 -0
- /package/dist/assets/{src-BshXgZd4.js → src-Dlf0iGaF.js} +0 -0
- /package/dist/assets/{stylus-B2E6Ulaz.js → stylus-92qIiGm1.js} +0 -0
- /package/dist/assets/{swift-Rmnn7ATv.js → swift-gZzicbJu.js} +0 -0
- /package/dist/assets/{tcl-ZPWCn2nn.js → tcl-CtgoBYkk.js} +0 -0
- /package/dist/assets/{textile-uhA33kFk.js → textile-Du3RzJ2D.js} +0 -0
- /package/dist/assets/{tiddlywiki-CPkGLyXH.js → tiddlywiki-CL3W3RpP.js} +0 -0
- /package/dist/assets/{tiki-BtjLo8OF.js → tiki-2L3jCwab.js} +0 -0
- /package/dist/assets/{timer-VYMLXPue.js → timer-DLLzXmjF.js} +0 -0
- /package/dist/assets/{toml-BFZv2Mv7.js → toml-HcF44TVB.js} +0 -0
- /package/dist/assets/{treemap-Bca0xNNq.js → treemap-BdaAyoGw.js} +0 -0
- /package/dist/assets/{troff-B5eayHop.js → troff-xbwT4huN.js} +0 -0
- /package/dist/assets/{ttcn-cfg-CfbkL3Q_.js → ttcn-cfg-jWDg1i50.js} +0 -0
- /package/dist/assets/{ttcn-BM0Yp8NY.js → ttcn-phKysj_0.js} +0 -0
- /package/dist/assets/{turtle-DvetLxrv.js → turtle-CPC48wcy.js} +0 -0
- /package/dist/assets/{types-Da7lA5YC.js → types-C7hjolXC.js} +0 -0
- /package/dist/assets/{use-vega-container-remeasure-CbKTb_jy.js → use-vega-container-remeasure-0GBen_rR.js} +0 -0
- /package/dist/assets/{vb-i5Z8scch.js → vb-BTubZ2rB.js} +0 -0
- /package/dist/assets/{vbscript-BiPYgIyi.js → vbscript-B52mDFWM.js} +0 -0
- /package/dist/assets/{velocity-Dw3R3YoX.js → velocity-BO3M1iFD.js} +0 -0
- /package/dist/assets/{verilog-B8FhJcX6.js → verilog-CBz90JJu.js} +0 -0
- /package/dist/assets/{vhdl-BqPEoXdJ.js → vhdl-CeQ1lGlV.js} +0 -0
- /package/dist/assets/{web-vitals-CwE0GGzl.js → web-vitals-Q0-_CtWm.js} +0 -0
- /package/dist/assets/{webidl-mMO-qW5Q.js → webidl-CRtF5pmu.js} +0 -0
- /package/dist/assets/{ws-BmTnbVEi.js → ws-CNqquaud.js} +0 -0
- /package/dist/assets/{xquery-DvqNwq7L.js → xquery-CFnbrHav.js} +0 -0
- /package/dist/assets/{yacas-Dku9Z6Kf.js → yacas-KIC_JO6M.js} +0 -0
- /package/dist/assets/{z80-DvazU5Tr.js → z80-kGpw5_me.js} +0 -0
|
@@ -7,6 +7,7 @@ import type {
|
|
|
7
7
|
CompletionList,
|
|
8
8
|
CompletionParams,
|
|
9
9
|
DidChangeTextDocumentParams,
|
|
10
|
+
DidCloseTextDocumentParams,
|
|
10
11
|
DidOpenTextDocumentParams,
|
|
11
12
|
Hover,
|
|
12
13
|
HoverParams,
|
|
@@ -16,7 +17,9 @@ import type {
|
|
|
16
17
|
} from "vscode-languageserver-protocol";
|
|
17
18
|
import { VersionedTextDocumentIdentifier } from "vscode-languageserver-protocol";
|
|
18
19
|
import { store } from "@/core/state/jotai";
|
|
20
|
+
import { invariant } from "@/utils/invariant";
|
|
19
21
|
import { Logger } from "@/utils/Logger";
|
|
22
|
+
import { hasFunctionProperty, isRecord } from "@/utils/records";
|
|
20
23
|
import { getCodes } from "./getCodes";
|
|
21
24
|
import {
|
|
22
25
|
clearGitHubCopilotLoadingVersion,
|
|
@@ -30,42 +33,88 @@ import type {
|
|
|
30
33
|
GitHubCopilotStatusNotificationParams,
|
|
31
34
|
GitHubCopilotStatusResult,
|
|
32
35
|
} from "./types";
|
|
36
|
+
import type { LanguageAdapterType } from "../language/types";
|
|
33
37
|
|
|
34
38
|
const logger = Logger.get("@github/copilot-language-server");
|
|
39
|
+
const REQUEST_TIMEOUT_MS = 10_000;
|
|
40
|
+
// Only used for the synthetic didOpen sent when a change arrives before any open
|
|
41
|
+
const DEFAULT_LANGUAGE_ID: LanguageAdapterType = "python";
|
|
42
|
+
type NoParams = Record<string, never>;
|
|
35
43
|
|
|
36
44
|
// A map of request methods and their parameters and return types
|
|
37
45
|
export interface LSPRequestMap {
|
|
38
|
-
checkStatus: [
|
|
39
|
-
signIn: [
|
|
46
|
+
checkStatus: [NoParams, GitHubCopilotStatusResult];
|
|
47
|
+
signIn: [NoParams, GitHubCopilotSignInInitiateResult];
|
|
40
48
|
signInConfirm: [GitHubCopilotSignInConfirmParams, GitHubCopilotStatusResult];
|
|
41
|
-
signOut: [
|
|
49
|
+
signOut: [NoParams, GitHubCopilotStatusResult];
|
|
42
50
|
"textDocument/inlineCompletion": [
|
|
43
51
|
InlineCompletionParams,
|
|
44
52
|
InlineCompletionList | InlineCompletionItem[] | null,
|
|
45
53
|
];
|
|
46
54
|
}
|
|
47
55
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
56
|
+
interface UntypedLanguageServerMethods {
|
|
57
|
+
request: (
|
|
58
|
+
method: string,
|
|
59
|
+
params: unknown,
|
|
60
|
+
timeout: number,
|
|
61
|
+
) => Promise<unknown>;
|
|
62
|
+
notify: (method: string, params: unknown) => Promise<void>;
|
|
52
63
|
}
|
|
53
64
|
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
65
|
+
/**
|
|
66
|
+
* `LanguageServerClient#request`/`#notify` are protected and generic over the
|
|
67
|
+
* library's own `LSPRequestMap`/`LSPNotifyMap`
|
|
68
|
+
* This asserts the two inherited methods we need are present.
|
|
69
|
+
*/
|
|
70
|
+
function assertHasLanguageServerRpc(
|
|
71
|
+
value: unknown,
|
|
72
|
+
): asserts value is UntypedLanguageServerMethods {
|
|
73
|
+
invariant(
|
|
74
|
+
isRecord(value) &&
|
|
75
|
+
hasFunctionProperty(value, "request") &&
|
|
76
|
+
hasFunctionProperty(value, "notify"),
|
|
77
|
+
"LanguageServerClient is missing request/notify",
|
|
78
|
+
);
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
/**
|
|
82
|
+
* Normalizes rather than validates: Copilot omits `message`/`busy` on most
|
|
83
|
+
* notifications and ships `kind` values we don't know about, so rejecting on an
|
|
84
|
+
* exact shape match would silently freeze the status indicator.
|
|
85
|
+
*/
|
|
86
|
+
function parseCopilotStatusNotificationParams(
|
|
87
|
+
value: unknown,
|
|
88
|
+
): GitHubCopilotStatusNotificationParams | null {
|
|
89
|
+
if (!isRecord(value)) {
|
|
90
|
+
return null;
|
|
91
|
+
}
|
|
92
|
+
const { busy, kind, message, status } = value;
|
|
93
|
+
return {
|
|
94
|
+
busy: typeof busy === "boolean" ? busy : false,
|
|
95
|
+
kind: typeof kind === "string" ? kind : null,
|
|
96
|
+
message: typeof message === "string" ? message : null,
|
|
97
|
+
status: typeof status === "string" ? status : undefined,
|
|
60
98
|
};
|
|
61
|
-
}
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
function isLogMessageParams(
|
|
102
|
+
value: unknown,
|
|
103
|
+
): value is { type: number; message: string } {
|
|
104
|
+
return (
|
|
105
|
+
isRecord(value) &&
|
|
106
|
+
typeof value.type === "number" &&
|
|
107
|
+
typeof value.message === "string"
|
|
108
|
+
);
|
|
109
|
+
}
|
|
62
110
|
|
|
63
111
|
/**
|
|
64
112
|
* A client for the Copilot language server.
|
|
65
113
|
*/
|
|
66
114
|
export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
67
115
|
private documentVersion = 0;
|
|
68
|
-
private
|
|
116
|
+
private openDocumentCount = 0;
|
|
117
|
+
private lastOpenedDocument: DidOpenTextDocumentParams | undefined;
|
|
69
118
|
private copilotSettings: Record<string, unknown> = {};
|
|
70
119
|
|
|
71
120
|
constructor(
|
|
@@ -80,10 +129,11 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
80
129
|
}
|
|
81
130
|
|
|
82
131
|
private attachInitializeListener() {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
132
|
+
void this.initializePromise
|
|
133
|
+
.then(() => this.sendConfiguration())
|
|
134
|
+
.catch((error: unknown) => {
|
|
135
|
+
logger.warn("#initialize: Failed to send configuration", error);
|
|
136
|
+
});
|
|
87
137
|
}
|
|
88
138
|
|
|
89
139
|
/**
|
|
@@ -95,6 +145,12 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
95
145
|
this.initializePromise = this.initialize();
|
|
96
146
|
await this.initializePromise;
|
|
97
147
|
await this.sendConfiguration();
|
|
148
|
+
if (this.openDocumentCount > 0 && this.lastOpenedDocument) {
|
|
149
|
+
await this.sendNotification(
|
|
150
|
+
"textDocument/didOpen",
|
|
151
|
+
this.lastOpenedDocument,
|
|
152
|
+
);
|
|
153
|
+
}
|
|
98
154
|
}
|
|
99
155
|
|
|
100
156
|
private async sendConfiguration() {
|
|
@@ -103,7 +159,9 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
103
159
|
if (!settings || Object.keys(settings).length === 0) {
|
|
104
160
|
return;
|
|
105
161
|
}
|
|
106
|
-
await this.
|
|
162
|
+
await this.sendNotification("workspace/didChangeConfiguration", {
|
|
163
|
+
settings,
|
|
164
|
+
});
|
|
107
165
|
logger.debug("#sendConfiguration: Configuration sent", settings);
|
|
108
166
|
}
|
|
109
167
|
|
|
@@ -111,20 +169,21 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
111
169
|
method: Method,
|
|
112
170
|
params: LSPRequestMap[Method][0],
|
|
113
171
|
): Promise<LSPRequestMap[Method][1]> {
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
}
|
|
121
|
-
).request(method, params);
|
|
172
|
+
assertHasLanguageServerRpc(this);
|
|
173
|
+
return (await this.request(
|
|
174
|
+
method,
|
|
175
|
+
params,
|
|
176
|
+
REQUEST_TIMEOUT_MS,
|
|
177
|
+
)) as LSPRequestMap[Method][1];
|
|
122
178
|
}
|
|
123
179
|
|
|
124
|
-
|
|
125
|
-
|
|
180
|
+
private async sendNotification(
|
|
181
|
+
method: string,
|
|
182
|
+
params: unknown,
|
|
183
|
+
): Promise<void> {
|
|
126
184
|
logger.debug("#notify", method, params);
|
|
127
|
-
|
|
185
|
+
assertHasLanguageServerRpc(this);
|
|
186
|
+
return this.notify(method, params);
|
|
128
187
|
}
|
|
129
188
|
|
|
130
189
|
override getInitializationOptions() {
|
|
@@ -151,14 +210,29 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
151
210
|
|
|
152
211
|
override async textDocumentDidOpen(
|
|
153
212
|
params: DidOpenTextDocumentParams,
|
|
154
|
-
): Promise<
|
|
213
|
+
): Promise<boolean> {
|
|
155
214
|
if (this.isDisabled()) {
|
|
156
|
-
return
|
|
215
|
+
return false;
|
|
157
216
|
}
|
|
158
|
-
this.
|
|
217
|
+
this.openDocumentCount++;
|
|
218
|
+
this.lastOpenedDocument = params;
|
|
219
|
+
this.documentVersion = Math.max(
|
|
220
|
+
this.documentVersion,
|
|
221
|
+
params.textDocument.version,
|
|
222
|
+
);
|
|
159
223
|
return super.textDocumentDidOpen(params);
|
|
160
224
|
}
|
|
161
225
|
|
|
226
|
+
override async textDocumentDidClose(
|
|
227
|
+
params: DidCloseTextDocumentParams,
|
|
228
|
+
): Promise<void> {
|
|
229
|
+
if (this.openDocumentCount === 0) {
|
|
230
|
+
return;
|
|
231
|
+
}
|
|
232
|
+
this.openDocumentCount--;
|
|
233
|
+
return super.textDocumentDidClose(params);
|
|
234
|
+
}
|
|
235
|
+
|
|
162
236
|
override async textDocumentCompletion(
|
|
163
237
|
params: CompletionParams,
|
|
164
238
|
): Promise<CompletionList | CompletionItem[]> {
|
|
@@ -168,18 +242,27 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
168
242
|
|
|
169
243
|
override async textDocumentDidChange(
|
|
170
244
|
params: DidChangeTextDocumentParams,
|
|
171
|
-
): Promise<
|
|
245
|
+
): Promise<void> {
|
|
172
246
|
if (this.isDisabled()) {
|
|
173
|
-
return
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
|
|
250
|
+
const change = params.contentChanges[0];
|
|
251
|
+
if (!change) {
|
|
252
|
+
logger.warn(
|
|
253
|
+
"#textDocumentDidChange: Ignoring an update with no content changes.",
|
|
254
|
+
params,
|
|
255
|
+
);
|
|
256
|
+
return;
|
|
174
257
|
}
|
|
175
258
|
|
|
176
|
-
if (
|
|
259
|
+
if (this.openDocumentCount === 0) {
|
|
177
260
|
await this.textDocumentDidOpen({
|
|
178
261
|
textDocument: {
|
|
179
262
|
uri: params.textDocument.uri,
|
|
180
|
-
languageId:
|
|
263
|
+
languageId: DEFAULT_LANGUAGE_ID,
|
|
181
264
|
version: params.textDocument.version,
|
|
182
|
-
text:
|
|
265
|
+
text: change.text,
|
|
183
266
|
},
|
|
184
267
|
});
|
|
185
268
|
}
|
|
@@ -191,7 +274,6 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
191
274
|
changes,
|
|
192
275
|
);
|
|
193
276
|
}
|
|
194
|
-
const change = changes[0];
|
|
195
277
|
if ("range" in change) {
|
|
196
278
|
logger.warn(
|
|
197
279
|
"#textDocumentDidChange: Copilot doesn't support range changes.",
|
|
@@ -200,12 +282,24 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
200
282
|
}
|
|
201
283
|
|
|
202
284
|
const text = getCodes(change.text);
|
|
285
|
+
const version = ++this.documentVersion;
|
|
286
|
+
// `reInitialize` replays this as a didOpen, so keep the original languageId
|
|
287
|
+
this.lastOpenedDocument = {
|
|
288
|
+
textDocument: {
|
|
289
|
+
uri: params.textDocument.uri,
|
|
290
|
+
languageId:
|
|
291
|
+
this.lastOpenedDocument?.textDocument.languageId ??
|
|
292
|
+
DEFAULT_LANGUAGE_ID,
|
|
293
|
+
version,
|
|
294
|
+
text,
|
|
295
|
+
},
|
|
296
|
+
};
|
|
203
297
|
return super.textDocumentDidChange({
|
|
204
298
|
...params,
|
|
205
299
|
contentChanges: [{ text: text }],
|
|
206
300
|
textDocument: VersionedTextDocumentIdentifier.create(
|
|
207
301
|
params.textDocument.uri,
|
|
208
|
-
|
|
302
|
+
version,
|
|
209
303
|
),
|
|
210
304
|
});
|
|
211
305
|
}
|
|
@@ -264,9 +358,11 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
264
358
|
return await this._request("textDocument/inlineCompletion", {
|
|
265
359
|
...params,
|
|
266
360
|
textDocument: {
|
|
267
|
-
...
|
|
268
|
-
|
|
269
|
-
|
|
361
|
+
...VersionedTextDocumentIdentifier.create(
|
|
362
|
+
params.textDocument.uri,
|
|
363
|
+
version,
|
|
364
|
+
),
|
|
365
|
+
},
|
|
270
366
|
});
|
|
271
367
|
};
|
|
272
368
|
|
|
@@ -287,8 +383,6 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
287
383
|
}
|
|
288
384
|
|
|
289
385
|
const requestVersion = this.documentVersion;
|
|
290
|
-
(params.textDocument as VersionedTextDocumentIdentifier).version =
|
|
291
|
-
requestVersion;
|
|
292
386
|
|
|
293
387
|
// If version is 0, it means the document hasn't been opened yet
|
|
294
388
|
if (requestVersion === 0) {
|
|
@@ -297,12 +391,27 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
297
391
|
|
|
298
392
|
// Start a loading indicator
|
|
299
393
|
setGitHubCopilotLoadingVersion(requestVersion);
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
|
|
394
|
+
let response: InlineCompletionList | InlineCompletionItem[] | null;
|
|
395
|
+
try {
|
|
396
|
+
response = await this.throttledGetCompletionInternal(
|
|
397
|
+
{
|
|
398
|
+
...params,
|
|
399
|
+
textDocument: VersionedTextDocumentIdentifier.create(
|
|
400
|
+
params.textDocument.uri,
|
|
401
|
+
requestVersion,
|
|
402
|
+
),
|
|
403
|
+
},
|
|
404
|
+
requestVersion,
|
|
405
|
+
);
|
|
406
|
+
} catch (error) {
|
|
407
|
+
// A suggestion that times out should fail quietly rather than surface as
|
|
408
|
+
// an unhandled rejection out of the inline-completion fetcher.
|
|
409
|
+
logger.warn("#getCompletion: Failed to fetch completions", error);
|
|
410
|
+
return null;
|
|
411
|
+
} finally {
|
|
412
|
+
// Stop the loading indicator (only if the version hasn't changed)
|
|
413
|
+
clearGitHubCopilotLoadingVersion(requestVersion);
|
|
414
|
+
}
|
|
306
415
|
|
|
307
416
|
// If the document version has changed since the request was made, return an empty response
|
|
308
417
|
if (requestVersion !== this.documentVersion) {
|
|
@@ -316,29 +425,32 @@ export class CopilotLanguageServerClient extends LanguageServerClient {
|
|
|
316
425
|
* Handle notifications from the Copilot language server.
|
|
317
426
|
* Uses onNotification to listen for statusNotification, didChangeStatus, and window/logMessage.
|
|
318
427
|
*/
|
|
319
|
-
private handleNotification:
|
|
320
|
-
|
|
321
|
-
>[0] = (notif) => {
|
|
322
|
-
if (!notif.params) {
|
|
428
|
+
private handleNotification = (notification: unknown): void => {
|
|
429
|
+
if (!isRecord(notification) || typeof notification.method !== "string") {
|
|
323
430
|
return;
|
|
324
431
|
}
|
|
325
432
|
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
433
|
+
if (
|
|
434
|
+
notification.method === "statusNotification" ||
|
|
435
|
+
notification.method === "didChangeStatus"
|
|
436
|
+
) {
|
|
437
|
+
const status = parseCopilotStatusNotificationParams(notification.params);
|
|
438
|
+
if (status) {
|
|
439
|
+
store.set(copilotStatusState, status);
|
|
440
|
+
} else {
|
|
441
|
+
logger.warn(
|
|
442
|
+
"#statusNotification: Ignoring a status update with no params",
|
|
443
|
+
notification.params,
|
|
444
|
+
);
|
|
445
|
+
}
|
|
446
|
+
return;
|
|
336
447
|
}
|
|
337
448
|
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
449
|
+
if (
|
|
450
|
+
notification.method === "window/logMessage" &&
|
|
451
|
+
isLogMessageParams(notification.params)
|
|
452
|
+
) {
|
|
453
|
+
const { type, message } = notification.params;
|
|
342
454
|
// Map LSP log types to console methods
|
|
343
455
|
// type: 1 = Error, 2 = Warning, 3 = Info, 4 = Log
|
|
344
456
|
switch (type) {
|
|
@@ -1,10 +1,7 @@
|
|
|
1
1
|
/* Copyright 2026 Marimo. All rights reserved. */
|
|
2
2
|
|
|
3
|
-
import { WebSocketTransport } from "@open-rpc/client-js";
|
|
4
|
-
import type { JSONRPCRequestData } from "@open-rpc/client-js/build/Request";
|
|
5
|
-
import { Transport } from "@open-rpc/client-js/build/transports/Transport";
|
|
6
3
|
import { prettyError } from "@/utils/errors";
|
|
7
|
-
import {
|
|
4
|
+
import { ReconnectingWebSocketTransport } from "@/core/lsp/transport";
|
|
8
5
|
|
|
9
6
|
export interface LazyWebsocketTransportOptions {
|
|
10
7
|
/**
|
|
@@ -24,224 +21,35 @@ export interface LazyWebsocketTransportOptions {
|
|
|
24
21
|
showError: (title: string, description: string | React.ReactNode) => void;
|
|
25
22
|
|
|
26
23
|
/**
|
|
27
|
-
* Number of
|
|
24
|
+
* Number of connection attempts in each retry cycle.
|
|
28
25
|
* @default 3
|
|
29
26
|
*/
|
|
30
27
|
retries?: number;
|
|
31
28
|
|
|
32
29
|
/**
|
|
33
|
-
* Delay between
|
|
30
|
+
* Delay between connection attempts in milliseconds.
|
|
34
31
|
* @default 1000
|
|
35
32
|
*/
|
|
36
33
|
retryDelayMs?: number;
|
|
37
|
-
|
|
38
|
-
/**
|
|
39
|
-
* Default timeout for sendData operations in milliseconds.
|
|
40
|
-
* Used when the caller does not provide an explicit timeout.
|
|
41
|
-
* @default 5000
|
|
42
|
-
*/
|
|
43
|
-
maxTimeoutMs?: number;
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
interface Subscription {
|
|
47
|
-
event: "pending" | "notification" | "response" | "error";
|
|
48
|
-
handler: Parameters<Transport["subscribe"]>[1];
|
|
49
34
|
}
|
|
50
35
|
|
|
51
36
|
/**
|
|
52
|
-
*
|
|
53
|
-
*
|
|
54
|
-
* This transport:
|
|
55
|
-
* - Waits for copilot to be enabled before connecting
|
|
56
|
-
* - Waits for the websocket to be available before connecting
|
|
57
|
-
* - Forwards subscriptions/unsubscriptions to the delegate
|
|
58
|
-
* - Handles reconnection automatically
|
|
37
|
+
* Copilot's lazy transport is the shared reconnecting LSP transport with
|
|
38
|
+
* Copilot-specific readiness checks, retries, and user-facing errors.
|
|
59
39
|
*/
|
|
60
|
-
export class LazyWebsocketTransport extends
|
|
61
|
-
private delegate: WebSocketTransport | undefined;
|
|
62
|
-
private pendingSubscriptions: Subscription[] = [];
|
|
63
|
-
private readonly options: Required<LazyWebsocketTransportOptions>;
|
|
64
|
-
private needsReInitialization = false;
|
|
65
|
-
|
|
66
|
-
/**
|
|
67
|
-
* Callback invoked after the transport reconnects following a close or connection failure.
|
|
68
|
-
* Used by the LSP client to re-run the initialize handshake on the new connection.
|
|
69
|
-
*/
|
|
70
|
-
onReconnect?: () => Promise<void>;
|
|
71
|
-
|
|
40
|
+
export class LazyWebsocketTransport extends ReconnectingWebSocketTransport {
|
|
72
41
|
constructor(options: LazyWebsocketTransportOptions) {
|
|
73
|
-
super(
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
this.options = {
|
|
42
|
+
super({
|
|
43
|
+
getWsUrl: options.getWsUrl,
|
|
44
|
+
waitForConnection: options.waitForReady,
|
|
77
45
|
retries: options.retries ?? 3,
|
|
78
46
|
retryDelayMs: options.retryDelayMs ?? 1000,
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
};
|
|
84
|
-
}
|
|
85
|
-
|
|
86
|
-
override subscribe(...args: Parameters<Transport["subscribe"]>): void {
|
|
87
|
-
// Register handler on parent Transport
|
|
88
|
-
super.subscribe(...args);
|
|
89
|
-
|
|
90
|
-
const [event, handler] = args;
|
|
91
|
-
|
|
92
|
-
// Track the subscription
|
|
93
|
-
this.pendingSubscriptions.push({ event, handler });
|
|
94
|
-
|
|
95
|
-
// Also register on delegate if it exists
|
|
96
|
-
if (this.delegate) {
|
|
97
|
-
this.delegate.subscribe(event, handler);
|
|
98
|
-
}
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
override unsubscribe(
|
|
102
|
-
...args: Parameters<Transport["unsubscribe"]>
|
|
103
|
-
): import("events").EventEmitter | undefined {
|
|
104
|
-
// Unsubscribe from parent Transport
|
|
105
|
-
const result = super.unsubscribe(...args);
|
|
106
|
-
|
|
107
|
-
const [event, handler] = args;
|
|
108
|
-
// Also unsubscribe from delegate if it exists
|
|
109
|
-
if (this.delegate) {
|
|
110
|
-
this.delegate.unsubscribe(event, handler);
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
// Remove from pending subscriptions if handler is provided
|
|
114
|
-
if (handler) {
|
|
115
|
-
if (event) {
|
|
116
|
-
// Remove specific handler for specific event
|
|
117
|
-
const index = this.pendingSubscriptions.findIndex(
|
|
118
|
-
(sub) => sub.event === event && sub.handler === handler,
|
|
47
|
+
onConnectionFailure: (error) => {
|
|
48
|
+
options.showError(
|
|
49
|
+
"GitHub Copilot Connection Error",
|
|
50
|
+
`Failed to connect to GitHub Copilot. Please check your settings and try again.\n\n${prettyError(error)}`,
|
|
119
51
|
);
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
}
|
|
123
|
-
} else {
|
|
124
|
-
// Remove handler from all events
|
|
125
|
-
this.pendingSubscriptions = this.pendingSubscriptions.filter(
|
|
126
|
-
(sub) => sub.handler !== handler,
|
|
127
|
-
);
|
|
128
|
-
}
|
|
129
|
-
} else if (event) {
|
|
130
|
-
// Remove all handlers for specific event
|
|
131
|
-
this.pendingSubscriptions = this.pendingSubscriptions.filter(
|
|
132
|
-
(sub) => sub.event !== event,
|
|
133
|
-
);
|
|
134
|
-
} else {
|
|
135
|
-
// Remove all subscriptions
|
|
136
|
-
this.pendingSubscriptions = [];
|
|
137
|
-
}
|
|
138
|
-
|
|
139
|
-
return result;
|
|
140
|
-
}
|
|
141
|
-
|
|
142
|
-
private createDelegate(): WebSocketTransport {
|
|
143
|
-
const delegate = new WebSocketTransport(this.options.getWsUrl());
|
|
144
|
-
// Register all pending subscriptions on the delegate
|
|
145
|
-
for (const { event, handler } of this.pendingSubscriptions) {
|
|
146
|
-
delegate.subscribe(event, handler);
|
|
147
|
-
}
|
|
148
|
-
return delegate;
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
private async tryConnect(): Promise<void> {
|
|
152
|
-
for (let attempt = 1; attempt <= this.options.retries; attempt++) {
|
|
153
|
-
try {
|
|
154
|
-
// Create delegate, if it doesn't exist
|
|
155
|
-
if (!this.delegate) {
|
|
156
|
-
this.delegate = this.createDelegate();
|
|
157
|
-
}
|
|
158
|
-
await this.delegate.connect();
|
|
159
|
-
Logger.log("Copilot#connect: Connected successfully");
|
|
160
|
-
return;
|
|
161
|
-
} catch (error) {
|
|
162
|
-
Logger.warn(
|
|
163
|
-
`Copilot#connect: Connection attempt ${attempt}/${this.options.retries} failed`,
|
|
164
|
-
error,
|
|
165
|
-
);
|
|
166
|
-
if (attempt === this.options.retries) {
|
|
167
|
-
this.delegate = undefined;
|
|
168
|
-
this.needsReInitialization = true;
|
|
169
|
-
// Show error toast on final retry
|
|
170
|
-
this.options.showError(
|
|
171
|
-
"GitHub Copilot Connection Error",
|
|
172
|
-
`Failed to connect to GitHub Copilot. Please check your settings and try again.\n\n${prettyError(error)}`,
|
|
173
|
-
);
|
|
174
|
-
throw error;
|
|
175
|
-
}
|
|
176
|
-
await new Promise((resolve) =>
|
|
177
|
-
setTimeout(resolve, this.options.retryDelayMs),
|
|
178
|
-
);
|
|
179
|
-
}
|
|
180
|
-
}
|
|
181
|
-
}
|
|
182
|
-
|
|
183
|
-
override async connect(): Promise<void> {
|
|
184
|
-
// Wait for all prerequisites to be ready
|
|
185
|
-
await this.options.waitForReady();
|
|
186
|
-
|
|
187
|
-
// Try connecting with retries
|
|
188
|
-
return this.tryConnect();
|
|
189
|
-
}
|
|
190
|
-
|
|
191
|
-
override close(): void {
|
|
192
|
-
this.delegate?.close();
|
|
193
|
-
this.delegate = undefined;
|
|
194
|
-
this.needsReInitialization = true;
|
|
195
|
-
}
|
|
196
|
-
|
|
197
|
-
override async sendData(
|
|
198
|
-
data: JSONRPCRequestData,
|
|
199
|
-
timeout: number | null | undefined,
|
|
200
|
-
): Promise<unknown> {
|
|
201
|
-
// If delegate is undefined, try to reconnect
|
|
202
|
-
if (!this.delegate) {
|
|
203
|
-
Logger.log("Copilot#sendData: Delegate not initialized, reconnecting...");
|
|
204
|
-
try {
|
|
205
|
-
// Ensure prerequisites are ready before attempting connection
|
|
206
|
-
await this.options.waitForReady();
|
|
207
|
-
await this.tryConnect();
|
|
208
|
-
} catch (error) {
|
|
209
|
-
Logger.error("Copilot#sendData: Failed to reconnect transport", error);
|
|
210
|
-
throw new Error(
|
|
211
|
-
"Unable to connect to GitHub Copilot. Please check your settings and try again.",
|
|
212
|
-
{ cause: error },
|
|
213
|
-
);
|
|
214
|
-
}
|
|
215
|
-
|
|
216
|
-
// Re-run LSP initialization handshake after reconnecting
|
|
217
|
-
if (this.needsReInitialization && this.onReconnect) {
|
|
218
|
-
Logger.log(
|
|
219
|
-
"Copilot#sendData: Re-initializing LSP after reconnection...",
|
|
220
|
-
);
|
|
221
|
-
try {
|
|
222
|
-
await this.onReconnect();
|
|
223
|
-
this.needsReInitialization = false;
|
|
224
|
-
} catch (error) {
|
|
225
|
-
// Close the uninitialized connection so the next attempt starts fresh
|
|
226
|
-
this.close();
|
|
227
|
-
Logger.error(
|
|
228
|
-
"Copilot#sendData: LSP re-initialization after reconnection failed",
|
|
229
|
-
error,
|
|
230
|
-
);
|
|
231
|
-
throw error;
|
|
232
|
-
}
|
|
233
|
-
}
|
|
234
|
-
}
|
|
235
|
-
|
|
236
|
-
// After reconnection, delegate should be initialized
|
|
237
|
-
if (!this.delegate) {
|
|
238
|
-
throw new Error(
|
|
239
|
-
"Failed to initialize GitHub Copilot connection. Please try again.",
|
|
240
|
-
);
|
|
241
|
-
}
|
|
242
|
-
|
|
243
|
-
// Use maxTimeoutMs as default when no timeout is provided
|
|
244
|
-
timeout = timeout ?? this.options.maxTimeoutMs;
|
|
245
|
-
return this.delegate.sendData(data, timeout);
|
|
52
|
+
},
|
|
53
|
+
});
|
|
246
54
|
}
|
|
247
55
|
}
|
|
@@ -35,11 +35,18 @@ export type GitHubCopilotStatus =
|
|
|
35
35
|
*/
|
|
36
36
|
export type GitHubCopilotRequestStatus = "InProgress" | "Warning" | "Normal";
|
|
37
37
|
|
|
38
|
+
/**
|
|
39
|
+
* Payload of Copilot's `statusNotification`/`didChangeStatus`. `kind` and
|
|
40
|
+
* `status` are open strings, not unions: this is a vendor shape we don't
|
|
41
|
+
* control, and an unrecognized value must not discard the notification.
|
|
42
|
+
*/
|
|
38
43
|
export interface GitHubCopilotStatusNotificationParams {
|
|
39
44
|
busy: boolean;
|
|
40
|
-
|
|
45
|
+
/** Known values: "Warning" | "Normal" | "Error" | "Inactive" */
|
|
46
|
+
kind: string | null;
|
|
41
47
|
message: string | null;
|
|
42
|
-
|
|
48
|
+
/** Known values: "InProgress" | "Warning" | "Normal" */
|
|
49
|
+
status?: string;
|
|
43
50
|
}
|
|
44
51
|
|
|
45
52
|
export interface GitHubCopilotStatusResult {
|