@sheetxl/mcp 0.8.0-beta.21 → 0.8.0-beta.22
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/assets/{DO86fHS3WYzHN_Rv.js → 0jPw8-AyT6VbPuGO.js} +1 -1
- package/assets/{BAqvmoeYqG6dwX3I.js → 1U3DwsqHnOBwiGWn.js} +2 -2
- package/assets/{C1ZP9W2tiVQUwLqZ.js → 1dUPpOVZSeeylKHv.js} +1 -1
- package/assets/{DG3hKZ75iK2wrCcz.js → 3N6hsbh2WLceyO6T.js} +1 -1
- package/assets/{C2YOx4ianxuIIeMP.js → 4zyHb1mmcFfqwpjO.js} +1 -1
- package/assets/{BZJvWc-5DdAyHXFk.js → 8csqJ8aGOdnKlrLl.js} +1 -1
- package/assets/{CkGQV_x1SpyzePln.js → 91BKH9obG4IfBzhy.js} +440 -435
- package/assets/{FOKynZCiA0wU2Spf.js → 9AosCdy_xtdhLjN1.js} +1 -1
- package/assets/{BEOwJnsyIuMC4SaI.js → B5VTjL9m0R-Icfaz.js} +4 -4
- package/assets/{D2XmpdMAe0SAuQWo.js → B6pXiayrnDoDbQt1.js} +62 -62
- package/assets/{CL348305B-kpRYzz.js → BDq4iVyBh5lwX8pE.js} +1 -1
- package/assets/{vXmCJwJaPhkPVhy8.js → BHsqPfJZrdKTbPLP.js} +1 -1
- package/assets/{DP-m2vK0GTaYqQZM.js → BI5L_Ysr8s0TQxdg.js} +1 -1
- package/assets/{raa4clZOm0L5A0zR.js → BPZWfwUvFCLQInXN.js} +548 -548
- package/assets/{BC2Y5XPkMBKS6jQX.js → BRVEVVhj-8ZPrNyQ.js} +335 -334
- package/assets/{CB9TsE5n0FEyFnAz.js → BSdRn3B8QeJFflY6.js} +15 -15
- package/assets/{D5mfuGSeGXSDHj9-.js → BUGEQS5WdiLcI_0X.js} +1 -1
- package/assets/{IEmEQHg895CUpAQq.js → BUIjRIGTum7VuRFk.js} +1 -1
- package/assets/{B4Z_YneQya9mUTN5.js → BV49J63s68Mj6lgF.js} +1 -1
- package/assets/{BbsMdXiRzPW9BCEK.js → BXean6K6oDUxkzyd.js} +1 -1
- package/assets/{DOYXEbY_WslpyqXW.js → BZxJKqVEO7B23XwE.js} +5 -5
- package/assets/{D1HLIgumuUqrSyYB.js → BaaVzb7xXROiWUhT.js} +4 -4
- package/assets/{CC2hfzradb2KOvtU.js → Bf7Irm8Ua4s1T4xH.js} +1 -1
- package/assets/{DITcEcZJ58z5yOx7.js → BgwCdHyXKQYFAl1M.js} +1 -1
- package/assets/{8wMcuw3b1CFk-D5A.js → Bi65BKwwiZYYZprq.js} +1 -1
- package/assets/{BeMLPoHRWacCbpl2.js → BiC09_YKQPmlUklQ.js} +1 -1
- package/assets/{Q2j8yQZX1kL_MbbB.js → BkqENH8xJ3_NQnD5.js} +413 -413
- package/assets/{rejXA2fTAujW3QRv.js → BlxrCp7d-SeM-2DW.js} +266 -266
- package/assets/{CzQ2o7qoMm0K7KSb.js → BnGNMsqG5CzUzmX7.js} +4 -4
- package/assets/{DRiAktGToP73uwgm.js → BnK6HEqT4rf1RoOG.js} +223 -223
- package/assets/{bpjLDXWxL6nDt4Mv.js → BrfsWImwRtf54LUU.js} +1 -1
- package/assets/{BRiLNigzVwOBIxBy.js → BvKzhnweVF6GhjXh.js} +1 -1
- package/assets/{69EXDk0YRdjdM86i.js → Bx592y6pyOwTS2x7.js} +1 -1
- package/assets/{VcTnn2qw_4tmyctb.js → BygXDW3XTdtR38aA.js} +1 -1
- package/assets/{0ewqK5X66DZmbhVR.js → BzFIkeB_lheiTR7z.js} +1 -1
- package/assets/{CBTQ8dknYY7RVQgL.js → Bzp3UtK_6fqEVlV8.js} +8 -8
- package/assets/{Vo34QvIefEN595xl.js → C1PTfp7kVu3DqqZh.js} +5650 -5644
- package/assets/{B8URptQcztz4DRvS.js → C1yAmXrOu3iHV2cu.js} +24 -24
- package/assets/{CmUz8bVbJgWVT-OB.js → C4-0s3Udk3v4ytSn.js} +2 -2
- package/assets/{BMkhJwKP7goV0vlJ.js → C7zManFR1LEJXiwb.js} +1 -1
- package/assets/{CrLDmJU84Dbwl6DZ.js → C9wlvcFyjQA59G-_.js} +1 -1
- package/assets/{BneTvtEMcBoSiQnw.js → CAgQJrDxGEfoa7jn.js} +3 -3
- package/assets/{CME1jbwnNlBD66aW.js → CGB4xgirbgEIN3tg.js} +312 -312
- package/assets/{CpLUgqgBDtlfFRj3.js → CGxhgXj5qKj_Ubcp.js} +1 -1
- package/assets/{BJo3edG_rqch-Kw2.js → CHG9Q0uLAZdLXYVz.js} +73 -73
- package/assets/{BtiRDaBbNpPpKelt.js → CHnaSM8aMnQ2_VWW.js} +3 -3
- package/assets/{C0pbMKm0FzhOek9r.js → CHpBOpoM9bCvQyn0.js} +1 -1
- package/assets/{BABP2ffkRrOs7_Ym.js → CHqnRMWNpLKcAWWn.js} +1 -1
- package/assets/{CDKZI2IIZ9boo7zG.js → CKhbbbjQ-_auMp3n.js} +1 -1
- package/assets/{Deu2acNFlgo__Mcd.js → COVhUB0EotytQDHg.js} +2 -2
- package/assets/{KSE7OWDMxhbfYt82.js → CSGN4rAf7CYnBDEa.js} +22 -22
- package/assets/{KQGPPHM486XPeClF.js → CSKjFDYwiwn5XNnH.js} +2 -2
- package/assets/{DqxW6EBLDV_6Eegk.js → CT99WREgkKGpcDTO.js} +1 -1
- package/assets/{pg0OaBJVRnW7uSz5.js → CV729JV1mNyYCmrq.js} +1 -1
- package/assets/{CXb2mlCk1s1VFPHU.js → CXk5vwFfosghrTKo.js} +506 -506
- package/assets/{BU7t2vK3_DH_BbMd.js → CXqqaFgNeUVRGvEb.js} +2 -2
- package/assets/{_oaPA65Bm2idKW7f.js → CYCqMEoWsry6_hrc.js} +1 -1
- package/assets/{CDYMLTHkkpRV9igv.js → Cahhn5OLNqRYy-n8.js} +1 -1
- package/assets/{D7WSYqvuwNQjOIuO.js → CdtVv8YQ8PTmS4dz.js} +1 -1
- package/assets/{DjCHmGw-ixoQ6ZTA.js → CpYgsvYMxV5SbRp3.js} +2 -2
- package/assets/{CVlsdN5C8QL-Kljv.js → Cu4VAHfmjXWfTMPu.js} +1 -1
- package/assets/{DX0znk3xZmL1AyX8.js → CufFcGwo5x95LSb7.js} +1 -1
- package/assets/{C8huq6_Gvbeyf6Zy.js → CwNKcoA7na7Ess3a.js} +2 -2
- package/assets/{DpgBOcByebrqzUrC.js → D-MsUF59BhikcNZt.js} +3 -3
- package/assets/{Dzxe5kLF5GOfh0_l.js → D-N87jCOShDKTFDh.js} +1 -1
- package/assets/{CLT0k5UJYPmi8ked.js → D1tShC5iBlUoT2V2.js} +1 -1
- package/assets/{H89MX09YsAj7NAk3.js → D89TE5n8VKre9Gmp.js} +1 -1
- package/assets/{B8NDzDM0Gpwmkylq.js → D8dNiNpu9_L0NjGP.js} +1 -1
- package/assets/{BVDaUnmVOSaDw9e3.js → D9ja7F9irHf9Iovx.js} +1 -1
- package/assets/{CZ5v2vTWktJ7qAj1.js → DAqaOCEQLmZRjcdR.js} +1 -1
- package/assets/{Dnn8laImZHy8LouL.js → DEOkcuqKBFyRnY18.js} +1 -1
- package/assets/{D9F0224gK4j4Iuq9.js → DFQLoYLUO4TgDZPK.js} +1 -1
- package/assets/{DjbBTiei0H-BIJaN.js → DHHYGjNwlLvja3dS.js} +1 -1
- package/assets/{DsK1Adz0vo-1zPkp.js → DLbzfP7OOWhafkTq.js} +1 -1
- package/assets/{BWqKV3QuZX31WPsa.js → DQIQR1t3IkC9wshP.js} +1 -1
- package/assets/{fUmGsmpgGhd8eZn2.js → DRd8gdwcr3EqtGkb.js} +1 -1
- package/assets/{B_n6s7Kj4_5BWn1q.js → DawLBAaNAAmo_P3Y.js} +2 -2
- package/assets/{ChpUbgXIWuQFoXyL.js → Dbh-XVDw294AVLtl.js} +1 -1
- package/assets/{Dt5rA9gefJFLoaeI.js → DdDKDqtpIkzd-mXi.js} +2 -2
- package/assets/{DBgOeiZg40MS63pB.js → DdXp_iPwTOHAOvlL.js} +8 -8
- package/assets/{I-GZ5PL9n_Sv5yAJ.js → DdnALoxd3b8TLNla.js} +1 -1
- package/assets/{RFPO1vKnkkgwx5Bs.js → DevKDvFONeJ9euEq.js} +1 -1
- package/assets/{C1xe-BzKWT17OO8a.js → DgVCjvTw9Df1DV1x.js} +14 -14
- package/assets/{BM9zwvBRXNbO_uD-.js → DgYcOz0M0pmZf9x_.js} +2 -2
- package/assets/{-NFft0E2Wj6WH3X9.js → DmVQgN-N_HhYvakk.js} +1 -1
- package/assets/{vItpZkDtFsjwsJzb.js → DoScYrfTJOHXe-Ko.js} +70 -70
- package/assets/{D-INtJnS1lCrEs8s.js → DrLUi6vduqDLmQjl.js} +82 -82
- package/assets/{C27330XswujHKrLu.js → Ds5pLAwSN4lSbao6.js} +1 -1
- package/assets/{BrgptoFtJepXL46Z.js → DsBXjYAgTUXAAWZZ.js} +1 -1
- package/assets/{ChwSFUzi5mMzUwdW.js → DtvJg63vbDd6B7sD.js} +6 -6
- package/assets/{CBqpH_MpBSmQRaGE.js → Dvsld01DkmiNLjfP.js} +1 -1
- package/assets/{CudjOMo6X7FRW6ME.js → DxNK3HVEzFdUou54.js} +1 -1
- package/assets/{Bagfe_VVU6NyQNS6.js → DzGpZ2CQ1St9BF0y.js} +1 -1
- package/assets/{DuCNecyIYfZL27SV.js → E9mta1q4VtVUusy5.js} +1 -1
- package/assets/{CTLGMulzw-oFbgHy.js → GGcMgq3ScY7Tv0PE.js} +3 -3
- package/assets/{DRqBWzdn9KKN68o8.js → HVwvDMZh0ZGR-hRT.js} +11 -11
- package/assets/{AGdlSbOsXWO1oZAE.js → OfjHqYH31KqC5gVM.js} +1 -1
- package/assets/{1bSTbCnkTWvsV82p.js → OtMeAlbq6tyW5Hnc.js} +4 -4
- package/assets/{DnQM29yv6KQQOVfl.js → UgDy0WNXuV1sEnFW.js} +2 -2
- package/assets/{Cg05U6rbXUnaz0rA.js → VSbzBtGH0cA8VBsM.js} +34 -34
- package/assets/{CcaH1FoDC8o3dzqp.js → VWEaItb0XvCoRiCT.js} +1 -1
- package/assets/{4-DOIpV6Hjaymwy7.js → WSiEiaP-NUEr9UaB.js} +2 -2
- package/assets/{QMCI00ZCedkNJd8C.js → Z5tQQ6IW5YBjblWX.js} +1 -1
- package/assets/{DO9RVxvm9vQh8A_j.js → b-xk3WtCPBkC4E-Z.js} +2 -2
- package/assets/{NEzc406_2k2MuiE3.js → coTH4ab6CTEzw87b.js} +2 -2
- package/assets/{DwqgvpYiTLOQd5wm.js → do_DTptu6c_xHJoZ.js} +2 -2
- package/assets/{I_yb1hhLA5bYPpWx.js → hAVtdK6u2tlLI2cB.js} +1 -1
- package/assets/{_l84VPWmScznS-9F.js → hhpAcu3tINDLk7Ov.js} +5 -5
- package/assets/{H1ICg_-K5ADFNHJj.js → nSzQt54CIADky_tF.js} +1 -1
- package/assets/r-pk3RNq_HjMQFqr.js +14 -0
- package/assets/{CSd5XfU4JBASIwTI.js → ryaMyh_8KvmXVSJd.js} +1 -1
- package/assets/{B1l0k4ErELObdQKE.js → sYakw2x8dcnpUlsX.js} +3 -3
- package/assets/{M62BqR7TbmgOzAEW.js → tIoHMgrZeRHWyxos.js} +3 -3
- package/assets/{DmJc5VoPPwBBtLIG.js → tPa3RpqYRqCCCYf1.js} +1 -1
- package/assets/{B_RppF41PrYlelc_.js → v5XZSqLd9ZV3kqcA.js} +1 -1
- package/assets/{rhT64BvdSLOEwglQ.js → vazKaFOkHRriv7tX.js} +1 -1
- package/assets/{rIQ1pzaGFqvCfzOk.js → wWgI0JPoe_Wv0ceW.js} +1 -1
- package/assets/{CPmMYI4DPQcXrZ-g.js → xDx1vaNa2aCMs4_e.js} +1 -1
- package/assets/{BtjG4s0StUieGI5b.js → zJoBN2CJdxEV7vdh.js} +3 -3
- package/assets/{D3RuKyCyAzvT0bGL.js → ze6Q8BiEw9RClBzZ.js} +1 -1
- package/index.js +84 -84
- package/lib.js +1 -1
- package/licenses/dependencies.txt +56 -56
- package/package.json +2 -2
- package/screenshot-page/assets/0buGanYjZDNd9qAK.js +39 -0
- package/screenshot-page/assets/{Z7Av7oqfaK7wy7Eb.js → B668_VaGrdcWRbkC.js} +1 -1
- package/screenshot-page/assets/BGWgIYge30MP6Xhz.js +48 -0
- package/screenshot-page/assets/{CxithxkenssFkfTT.js → BGh5K-hHzy8mSVDr.js} +3 -3
- package/screenshot-page/assets/{CN3dPtUjDVvcnA4e.js → BIQ7KK-buzeddVA9.js} +1 -1
- package/screenshot-page/assets/BPRDGSNh0kvXRFUY.js +1 -0
- package/screenshot-page/assets/{1s5we6Eqz8n3o0X_.js → BRemww1df2HKLd_k.js} +1 -1
- package/screenshot-page/assets/{Yz4ksf-M05RGdHO3.js → Bm9-R9keVK5Sx-8o.js} +1 -1
- package/screenshot-page/assets/{B5ujsbfF1ZBkPI4d.js → BnZX0sxceYpvtg3I.js} +2 -2
- package/screenshot-page/assets/Bv2MgCMkg3EIQ6iE.js +13 -0
- package/screenshot-page/assets/BvaiwYJ5zZ0d5NRP.js +1 -0
- package/screenshot-page/assets/CAlTfQ_Gh-dURmUc.js +1 -0
- package/screenshot-page/assets/{C0rOvlmOfLDpClJ_.js → CCFxspvs5VzbYCfl.js} +1 -1
- package/screenshot-page/assets/CCqTTfzZokVHIzs2.js +1 -0
- package/screenshot-page/assets/CPs_ARK8JCyz-yZg.js +1 -0
- package/screenshot-page/assets/{DHUomRu_S2zcBWwt.js → CQ9C0-FcDZxrgC3T.js} +4 -4
- package/screenshot-page/assets/CUeMb48Ucrm5dK5u.js +1 -0
- package/screenshot-page/assets/CcOIj8c4N9KaWnD7.js +1 -0
- package/screenshot-page/assets/CjrHeIdacavAT_Ud.js +3 -0
- package/screenshot-page/assets/{D4VgxwLDPUfCxPS9.js → Cmv8bpHaTWZ7Lmbt.js} +1 -1
- package/screenshot-page/assets/CqccUqSMYlwlf2ZU.js +2 -0
- package/screenshot-page/assets/CvmImq-Kbg9srxNr.js +4 -0
- package/screenshot-page/assets/D-3wYBqe4SWdE6bx.js +2 -0
- package/screenshot-page/assets/D-FWnGDbZ9BRDzPR.js +1 -0
- package/screenshot-page/assets/D717DArr-KKL0U6R.js +1 -0
- package/screenshot-page/assets/{p9abCAJQdpScjZVK.js → D8-mayyvvVE1a4JB.js} +1 -1
- package/screenshot-page/assets/DM27mE98BNk1T18I.js +1 -0
- package/screenshot-page/assets/DN-T1DyRMKvxEJSK.js +1 -0
- package/screenshot-page/assets/DRdL1GN4SP7P8lSP.js +2 -0
- package/screenshot-page/assets/DcnhaY93LQd7kVdH.js +2 -0
- package/screenshot-page/assets/{CzZu7Fd_VeHHL-4i.js → DdusmeEPaU7CWT6e.js} +1 -1
- package/screenshot-page/assets/{Bdt92xZzFotX0vdt.js → DfT1DMR1b5kiyYiV.js} +1 -1
- package/screenshot-page/assets/DigI6jhjHePzLgg1.js +1 -0
- package/screenshot-page/assets/DrDLCC0R2IV5VJd7.js +1 -0
- package/screenshot-page/assets/{BtydzT-AjL_LBr8x.js → Dwv5Z_c2XS-hm-5y.js} +1 -1
- package/screenshot-page/assets/Dx0pUf3G4Oa3dGOk.js +1 -0
- package/screenshot-page/assets/JcgNMFaj_uqHSFxr.js +1 -0
- package/screenshot-page/assets/{DQeIWKasFD3DnWL7.js → U_8_wApwfA7KmIG3.js} +11 -11
- package/screenshot-page/assets/WZprjN2sb7HlraOb.js +2 -0
- package/screenshot-page/assets/{CBuH_YHDn7A9E_hX.js → adhmz3N2Kgq5eW66.js} +2 -2
- package/screenshot-page/assets/qjoaeEBxfKWCHmqK.js +2 -0
- package/screenshot-page/assets/{Blg5f-jAtZfGnZ71.js → zALFdtoGJBN6m2Bn.js} +1 -1
- package/screenshot-page/assets/{BLON9pILfrgdZqAM.js → zd1Z2E1NjFp2EWC7.js} +3 -3
- package/screenshot-page/index.html +8 -8
- package/types/scripting-api.json +7065 -7064
- package/types/scripting.d.ts +29 -9
- package/assets/DrgkN0g7OHuD4iD6.js +0 -14
- package/screenshot-page/assets/9WplgXo__vp3e1Su.js +0 -2
- package/screenshot-page/assets/BEzCH6tp_dlxe7BH.js +0 -1
- package/screenshot-page/assets/BJvuevnsIw3DXQds.js +0 -2
- package/screenshot-page/assets/BVx7CEdRItIR30Fz.js +0 -1
- package/screenshot-page/assets/Ble2ESZnJzZnd3cc.js +0 -1
- package/screenshot-page/assets/Bozva6Wr4B8Q5QZN.js +0 -2
- package/screenshot-page/assets/Brp37MPC60tt9V3N.js +0 -1
- package/screenshot-page/assets/Bs65RHirk11sxOB9.js +0 -39
- package/screenshot-page/assets/Bu5h0ACtvNxDBmqw.js +0 -1
- package/screenshot-page/assets/BwFvwFIcX0dmcBt7.js +0 -1
- package/screenshot-page/assets/CHZ1925OpIa8ssZn.js +0 -1
- package/screenshot-page/assets/COO3CwHTbCgxybBd.js +0 -1
- package/screenshot-page/assets/CR8Rj_GpSbIqbaEO.js +0 -13
- package/screenshot-page/assets/CV9T0juyAiRmwTR-.js +0 -4
- package/screenshot-page/assets/ClC7zkHPp6egPrjL.js +0 -2
- package/screenshot-page/assets/CtS8qZB4_3skg_zL.js +0 -1
- package/screenshot-page/assets/CwutTi2EnNm_hyVj.js +0 -1
- package/screenshot-page/assets/CzijGQrSoteeqwmH.js +0 -2
- package/screenshot-page/assets/DG6q1MKITeSM4XMx.js +0 -1
- package/screenshot-page/assets/DHTXoT_pArB1opyI.js +0 -48
- package/screenshot-page/assets/DP2wwd1IM_gQtEaG.js +0 -1
- package/screenshot-page/assets/Ja-xcEStEdmh2Gwb.js +0 -2
- package/screenshot-page/assets/ODq-dKb9mTtqEIJl.js +0 -1
- package/screenshot-page/assets/VF7dro9jrDEAX6kD.js +0 -3
- package/screenshot-page/assets/bdWMVOcMKRI8kCDE.js +0 -1
- package/screenshot-page/assets/kJwY8fmEeWlAtTAc.js +0 -1
|
@@ -1,75 +1,75 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.22
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
6
6
|
*/
|
|
7
|
-
import {
|
|
8
|
-
var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.value"), p = Symbol("sheetxl.formulaNode.replaced"), g = { canonical: !0 }, v = (e,
|
|
9
|
-
const
|
|
10
|
-
let
|
|
11
|
-
if (
|
|
12
|
-
const e =
|
|
13
|
-
|
|
14
|
-
for (let
|
|
15
|
-
const e =
|
|
16
|
-
|
|
7
|
+
import { $n as e, Bn as t, _n as n, no as r, or as s, ri as o, t as l, vr as c, w as i, zt as a } from "./C1PTfp7kVu3DqqZh.js";
|
|
8
|
+
var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.value"), p = Symbol("sheetxl.formulaNode.replaced"), g = { canonical: !0 }, v = (e, r) => {
|
|
9
|
+
const s = e.inputs;
|
|
10
|
+
let o = null;
|
|
11
|
+
if (s) {
|
|
12
|
+
const e = s.length;
|
|
13
|
+
o = new Array(e);
|
|
14
|
+
for (let t = 0; t < e; t++) {
|
|
15
|
+
const e = s[t];
|
|
16
|
+
o[t] = e ? v(e, r) : e;
|
|
17
17
|
}
|
|
18
18
|
}
|
|
19
|
-
const
|
|
20
|
-
const
|
|
21
|
-
if (
|
|
22
|
-
const
|
|
23
|
-
let
|
|
24
|
-
return
|
|
25
|
-
name:
|
|
19
|
+
const l = ((e, r) => {
|
|
20
|
+
const s = e.type, o = e.value;
|
|
21
|
+
if (s === n.Named) {
|
|
22
|
+
const n = o;
|
|
23
|
+
let s = n?.nameId, l = n?.scope ?? null;
|
|
24
|
+
return r && (s = r.resolve(t.NamedFormula, s)?.toString() ?? s, l && (l = r.resolve(t.Sheet, l)?.toString() ?? l)), e.binding?.declaration && e.binding.optional ? {
|
|
25
|
+
name: s,
|
|
26
26
|
scope: l,
|
|
27
27
|
optional: !0
|
|
28
28
|
} : {
|
|
29
|
-
name:
|
|
29
|
+
name: s,
|
|
30
30
|
scope: l
|
|
31
31
|
};
|
|
32
32
|
}
|
|
33
|
-
if (
|
|
34
|
-
const e = "string" == typeof
|
|
35
|
-
return e ?
|
|
33
|
+
if (s === n.TableReference) {
|
|
34
|
+
const e = "string" == typeof o ? o : o?.tableId;
|
|
35
|
+
return e ? r ? r.resolve(t.Table, e)?.toString() ?? e : e : "";
|
|
36
36
|
}
|
|
37
|
-
if (!
|
|
38
|
-
switch (
|
|
39
|
-
case
|
|
40
|
-
case
|
|
41
|
-
case
|
|
42
|
-
const e =
|
|
37
|
+
if (!r) return o;
|
|
38
|
+
switch (s) {
|
|
39
|
+
case n.Function: return r.resolve(t.Function, o, g)?.toString() ?? o;
|
|
40
|
+
case n.TableColumn: return r.resolve(t.TableColumn, o)?.toString() ?? o;
|
|
41
|
+
case n.Cell: {
|
|
42
|
+
const e = o;
|
|
43
43
|
if (e?.scope) {
|
|
44
|
-
const
|
|
44
|
+
const n = r.resolve(t.Sheet, e.scope)?.toString() ?? e.scope;
|
|
45
45
|
return {
|
|
46
46
|
...e,
|
|
47
|
-
scope:
|
|
47
|
+
scope: n
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
|
-
return
|
|
50
|
+
return o;
|
|
51
51
|
}
|
|
52
|
-
case
|
|
53
|
-
const e =
|
|
52
|
+
case n.Error: {
|
|
53
|
+
const e = o;
|
|
54
54
|
if (e?.scope) {
|
|
55
|
-
const
|
|
55
|
+
const n = r.resolve(t.Sheet, e.scope)?.toString() ?? e.scope;
|
|
56
56
|
return {
|
|
57
57
|
...e,
|
|
58
|
-
scope:
|
|
58
|
+
scope: n
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
|
-
return
|
|
61
|
+
return o;
|
|
62
62
|
}
|
|
63
|
-
default: return
|
|
63
|
+
default: return o;
|
|
64
64
|
}
|
|
65
|
-
})(e,
|
|
65
|
+
})(e, r);
|
|
66
66
|
return {
|
|
67
67
|
type: e.type,
|
|
68
|
-
value:
|
|
69
|
-
inputs:
|
|
68
|
+
value: l,
|
|
69
|
+
inputs: o,
|
|
70
70
|
isReference: e.isReference,
|
|
71
71
|
[u]: e,
|
|
72
|
-
[f]:
|
|
72
|
+
[f]: l
|
|
73
73
|
};
|
|
74
74
|
}, m = (e, t, n) => {
|
|
75
75
|
const r = e.inputs;
|
|
@@ -96,15 +96,15 @@ var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.
|
|
|
96
96
|
".:",
|
|
97
97
|
":.",
|
|
98
98
|
" "
|
|
99
|
-
],
|
|
100
|
-
const u =
|
|
99
|
+
], b = (t, i) => {
|
|
100
|
+
const u = t.type, f = t.value;
|
|
101
101
|
switch (u) {
|
|
102
|
-
case
|
|
103
|
-
case
|
|
104
|
-
case
|
|
105
|
-
case
|
|
106
|
-
case
|
|
107
|
-
const e =
|
|
102
|
+
case n.Function: return a(String(f), i);
|
|
103
|
+
case n.Infix: return s(f, i[0], i[1], t.isReference ?? y.includes(f));
|
|
104
|
+
case n.Prefix: return c(f, i?.[0], t.isReference ?? "@" === f);
|
|
105
|
+
case n.Postfix: return l(f, i?.[0], t.isReference ?? "#" === f);
|
|
106
|
+
case n.Named: {
|
|
107
|
+
const e = o("string" == typeof f ? f : f?.name), t = "object" == typeof f ? f?.scope : null;
|
|
108
108
|
return t && (e.value = {
|
|
109
109
|
...e.value,
|
|
110
110
|
scope: t
|
|
@@ -113,33 +113,33 @@ var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.
|
|
|
113
113
|
optional: !0
|
|
114
114
|
}), e;
|
|
115
115
|
}
|
|
116
|
-
case
|
|
117
|
-
case
|
|
118
|
-
type:
|
|
116
|
+
case n.Cell: return r(f);
|
|
117
|
+
case n.TableReference: return {
|
|
118
|
+
type: n.TableReference,
|
|
119
119
|
value: f,
|
|
120
|
-
inputs:
|
|
120
|
+
inputs: i ?? null,
|
|
121
121
|
isReference: !0
|
|
122
122
|
};
|
|
123
|
-
case
|
|
124
|
-
type:
|
|
123
|
+
case n.TableSpecifier: return {
|
|
124
|
+
type: n.TableSpecifier,
|
|
125
125
|
value: f,
|
|
126
126
|
image: `[${f}]`,
|
|
127
127
|
inputs: null,
|
|
128
128
|
isReference: !0
|
|
129
129
|
};
|
|
130
|
-
case
|
|
131
|
-
const
|
|
130
|
+
case n.TableColumn: {
|
|
131
|
+
const t = "string" == typeof f && f.startsWith("[") ? f : `[${e(String(f))}]`;
|
|
132
132
|
return {
|
|
133
|
-
type:
|
|
133
|
+
type: n.TableColumn,
|
|
134
134
|
value: f,
|
|
135
|
-
image:
|
|
135
|
+
image: t,
|
|
136
136
|
inputs: null,
|
|
137
137
|
isReference: !0
|
|
138
138
|
};
|
|
139
139
|
}
|
|
140
|
-
case
|
|
141
|
-
case
|
|
142
|
-
case
|
|
140
|
+
case n.String:
|
|
141
|
+
case n.Number:
|
|
142
|
+
case n.Boolean: return {
|
|
143
143
|
type: u,
|
|
144
144
|
value: f,
|
|
145
145
|
inputs: null,
|
|
@@ -148,11 +148,11 @@ var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.
|
|
|
148
148
|
default: return {
|
|
149
149
|
type: u,
|
|
150
150
|
value: f,
|
|
151
|
-
inputs:
|
|
152
|
-
isReference:
|
|
151
|
+
inputs: i ?? null,
|
|
152
|
+
isReference: t.isReference
|
|
153
153
|
};
|
|
154
154
|
}
|
|
155
|
-
},
|
|
155
|
+
}, d = (e) => {
|
|
156
156
|
const t = e[u], n = e.inputs;
|
|
157
157
|
let r = null;
|
|
158
158
|
if (n) {
|
|
@@ -160,7 +160,7 @@ var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.
|
|
|
160
160
|
r = new Array(e);
|
|
161
161
|
for (let t = 0; t < e; t++) {
|
|
162
162
|
const e = n[t];
|
|
163
|
-
r[t] = e ?
|
|
163
|
+
r[t] = e ? d(e) : e;
|
|
164
164
|
}
|
|
165
165
|
}
|
|
166
166
|
if (t) {
|
|
@@ -178,13 +178,13 @@ var u = Symbol("sheetxl.formulaNode.internal"), f = Symbol("sheetxl.formulaNode.
|
|
|
178
178
|
...t,
|
|
179
179
|
inputs: r
|
|
180
180
|
};
|
|
181
|
-
const l =
|
|
181
|
+
const l = b(e, r);
|
|
182
182
|
return S(l, t), l;
|
|
183
183
|
}
|
|
184
|
-
const s =
|
|
184
|
+
const s = b(e, r), o = e[p];
|
|
185
185
|
return o && S(s, o), s;
|
|
186
186
|
}, S = (e, t) => {
|
|
187
|
-
|
|
187
|
+
i(e, t), e.type !== t.type && void 0 !== e.image && (e.image = void 0);
|
|
188
188
|
};
|
|
189
189
|
function h(e, t) {
|
|
190
190
|
return v(e, t);
|
|
@@ -193,7 +193,7 @@ function R(e, t) {
|
|
|
193
193
|
return e && "function" == typeof t ? m(e, void 0, t) : e;
|
|
194
194
|
}
|
|
195
195
|
function T(e) {
|
|
196
|
-
const t =
|
|
196
|
+
const t = d(e);
|
|
197
197
|
return !0 === e.legacyIntersect && (t.legacyIntersect = !0), t;
|
|
198
198
|
}
|
|
199
199
|
export { h as n, T as r, R as t };
|
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.22
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
6
6
|
*/
|
|
7
|
-
import { ht as e } from "./
|
|
8
|
-
import { u as t } from "./
|
|
9
|
-
import {
|
|
10
|
-
import { A as a, D as o, T as l, a as i, g as c, h as u, k as p, l as d, n as f, o as h, p as g, s as m, t as x, v as y, w as v, x as I } from "./
|
|
11
|
-
import { n as _, r as b, t as T } from "./
|
|
7
|
+
import { ht as e } from "./DHHYGjNwlLvja3dS.js";
|
|
8
|
+
import { u as t } from "./BUGEQS5WdiLcI_0X.js";
|
|
9
|
+
import { Bn as n, F as r, _n as s } from "./C1PTfp7kVu3DqqZh.js";
|
|
10
|
+
import { A as a, D as o, T as l, a as i, g as c, h as u, k as p, l as d, n as f, o as h, p as g, s as m, t as x, v as y, w as v, x as I } from "./BPZWfwUvFCLQInXN.js";
|
|
11
|
+
import { n as _, r as b, t as T } from "./BnK6HEqT4rf1RoOG.js";
|
|
12
12
|
var P = class {
|
|
13
13
|
constructor(e) {
|
|
14
14
|
e = { ...e }, this._editing = "editing" === e.profile, this._parser = new b(e);
|
|
15
15
|
}
|
|
16
|
-
compile(e, n,
|
|
16
|
+
compile(e, n, s, a, b, P, k, E, F) {
|
|
17
17
|
if (0 === a.length) {
|
|
18
18
|
const n = new t.Parse(T);
|
|
19
19
|
return this._compileUnparsed(e, b, a, {
|
|
@@ -22,33 +22,33 @@ var P = class {
|
|
|
22
22
|
causes: [n]
|
|
23
23
|
});
|
|
24
24
|
}
|
|
25
|
-
if (a.length >
|
|
26
|
-
const n = new t.Parse(_(a.length,
|
|
25
|
+
if (a.length > r.MAX_EXPRESSION_LENGTH) {
|
|
26
|
+
const n = new t.Parse(_(a.length, r.MAX_EXPRESSION_LENGTH));
|
|
27
27
|
return this._compileUnparsed(e, b, a, {
|
|
28
28
|
input: a,
|
|
29
29
|
cause: n,
|
|
30
30
|
causes: [n]
|
|
31
31
|
});
|
|
32
32
|
}
|
|
33
|
-
let
|
|
33
|
+
let w, C, U = [];
|
|
34
34
|
try {
|
|
35
|
-
const e = this._parser.parse(n,
|
|
36
|
-
|
|
35
|
+
const e = this._parser.parse(n, s, a);
|
|
36
|
+
w = e.root, U = e.errors, E && w && 0 === U.length && (w.legacyIntersect = !0);
|
|
37
37
|
} catch (e) {
|
|
38
38
|
C = t.isError(e, t.Code.Parse) ? e : new t.Parse(e.message, e);
|
|
39
39
|
}
|
|
40
40
|
const R = [];
|
|
41
41
|
for (const e of U) R.push(d(e));
|
|
42
|
-
if (
|
|
43
|
-
const e = h(
|
|
44
|
-
"string" == typeof e ? R.push(new t.Parse(e)) :
|
|
45
|
-
const n = y(
|
|
42
|
+
if (w) {
|
|
43
|
+
const e = h(w, P ?? null);
|
|
44
|
+
"string" == typeof e ? R.push(new t.Parse(e)) : w = e, o(w, P ?? null) && R.push(new t.Parse("The implicit intersection operator ' ' requires a cell or range on both sides")), v(w, P ?? null) && R.push(new t.Parse("The spill anchor operator '#' requires a cell or range")), l(w, P ?? null) && R.push(new t.Parse("Expected a reference; a value cannot be converted to one."));
|
|
45
|
+
const n = y(w, P ?? null);
|
|
46
46
|
n && R.push(new t.Parse(n));
|
|
47
|
-
const r = f(
|
|
47
|
+
const r = f(w, P ?? null);
|
|
48
48
|
r && R.push(new t.Parse(r));
|
|
49
|
-
const s = c(
|
|
49
|
+
const s = c(w, P ?? null);
|
|
50
50
|
s && R.push(new t.Parse(s));
|
|
51
|
-
const a = u(
|
|
51
|
+
const a = u(w);
|
|
52
52
|
a && R.push(new t.Parse(a));
|
|
53
53
|
}
|
|
54
54
|
R.length > 0 && !C && (C = R[0]);
|
|
@@ -57,25 +57,25 @@ var P = class {
|
|
|
57
57
|
input: a,
|
|
58
58
|
cause: C,
|
|
59
59
|
causes: R.length > 0 ? R : [C]
|
|
60
|
-
}), !
|
|
60
|
+
}), !w) {
|
|
61
61
|
if (this._editing) {
|
|
62
|
-
const t = this._recoverCompiled(e, n,
|
|
62
|
+
const t = this._recoverCompiled(e, n, s, a, b, z, k);
|
|
63
63
|
if (t) return t;
|
|
64
64
|
}
|
|
65
|
-
return this._compileUnparsed(e, b, a, z, this._editing, () => A(b, k, n,
|
|
65
|
+
return this._compileUnparsed(e, b, a, z, this._editing, () => A(b, k, n, s));
|
|
66
66
|
}
|
|
67
|
-
if (
|
|
68
|
-
const e = this._editing ?
|
|
69
|
-
mint: !
|
|
70
|
-
...
|
|
67
|
+
if (w = g(w, P ?? null), w = x(w, P ?? null), b) {
|
|
68
|
+
const e = this._editing ? F : {
|
|
69
|
+
mint: !F?.book,
|
|
70
|
+
...F
|
|
71
71
|
};
|
|
72
|
-
|
|
72
|
+
w = m(w, b, k, e, {
|
|
73
73
|
rowIndex: n,
|
|
74
|
-
colIndex:
|
|
74
|
+
colIndex: s
|
|
75
75
|
});
|
|
76
|
-
const
|
|
77
|
-
if (
|
|
78
|
-
const e = new t.Parse(
|
|
76
|
+
const r = I(w, b);
|
|
77
|
+
if (r) {
|
|
78
|
+
const e = new t.Parse(r);
|
|
79
79
|
R.push(e), z = {
|
|
80
80
|
input: a,
|
|
81
81
|
cause: z?.cause ?? e,
|
|
@@ -83,8 +83,8 @@ var P = class {
|
|
|
83
83
|
};
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
const S = i(e, b,
|
|
87
|
-
return this._editing && z && p(S.getTokens(), b) !== a ? this._recoverCompiled(e, n,
|
|
86
|
+
const S = i(e, b, w, this._editing, z, P ?? null);
|
|
87
|
+
return this._editing && z && p(S.getTokens(), b) !== a ? this._recoverCompiled(e, n, s, a, b, z, k) || this._compileUnparsed(e, b, a, z, !0) : S;
|
|
88
88
|
}
|
|
89
89
|
autoCorrect(e) {
|
|
90
90
|
const t = function(e) {
|
|
@@ -112,7 +112,7 @@ var P = class {
|
|
|
112
112
|
}
|
|
113
113
|
return 0 === s.length && 0 === t ? null : n + s.reverse().join("");
|
|
114
114
|
}
|
|
115
|
-
_compileUnparsed(t, n,
|
|
115
|
+
_compileUnparsed(t, n, r, a, o = !1, l) {
|
|
116
116
|
const i = {
|
|
117
117
|
runtime: t,
|
|
118
118
|
symbols: n,
|
|
@@ -129,10 +129,10 @@ var P = class {
|
|
|
129
129
|
formatReferenceIndices: e.EmptyArray,
|
|
130
130
|
getTokens: () => {
|
|
131
131
|
const e = [];
|
|
132
|
-
return o &&
|
|
133
|
-
type:
|
|
134
|
-
value:
|
|
135
|
-
text:
|
|
132
|
+
return o && w(e, r, void 0, l) ? e : [{
|
|
133
|
+
type: s.Unparsed,
|
|
134
|
+
value: r,
|
|
135
|
+
text: r
|
|
136
136
|
}];
|
|
137
137
|
},
|
|
138
138
|
namedIds: e.EmptyArray,
|
|
@@ -149,10 +149,10 @@ var P = class {
|
|
|
149
149
|
};
|
|
150
150
|
return i;
|
|
151
151
|
}
|
|
152
|
-
_recoverCompiled(e, t, n,
|
|
153
|
-
let c, u =
|
|
152
|
+
_recoverCompiled(e, t, n, r, a, o, l) {
|
|
153
|
+
let c, u = r.length;
|
|
154
154
|
try {
|
|
155
|
-
const e = this._parser.getLexer().tokenize(
|
|
155
|
+
const e = this._parser.getLexer().tokenize(r, !1);
|
|
156
156
|
c = e.tokens, e.errors.length > 0 && (u = Math.min(u, e.errors[0].offset));
|
|
157
157
|
} catch {
|
|
158
158
|
return null;
|
|
@@ -160,17 +160,17 @@ var P = class {
|
|
|
160
160
|
const d = [];
|
|
161
161
|
for (let e = c.length - 1; e >= 0 && d.length < 24; e--) {
|
|
162
162
|
const t = (c[e].endOffset ?? -1) + 1;
|
|
163
|
-
t > 0 && t <
|
|
163
|
+
t > 0 && t < r.length && t <= u && d.push(t);
|
|
164
164
|
}
|
|
165
165
|
for (const c of d) {
|
|
166
|
-
const u =
|
|
166
|
+
const u = r.slice(0, c);
|
|
167
167
|
let d, f;
|
|
168
168
|
try {
|
|
169
169
|
d = this._parser.parse(t, n, u).root;
|
|
170
170
|
} catch {
|
|
171
171
|
continue;
|
|
172
172
|
}
|
|
173
|
-
if (!d || d.type ===
|
|
173
|
+
if (!d || d.type === s.Unparsed) continue;
|
|
174
174
|
try {
|
|
175
175
|
const r = x(d, null), s = a ? m(r, a, l, void 0, {
|
|
176
176
|
rowIndex: t,
|
|
@@ -181,7 +181,7 @@ var P = class {
|
|
|
181
181
|
continue;
|
|
182
182
|
}
|
|
183
183
|
if (p(f.getTokens(), a) !== u) continue;
|
|
184
|
-
const h =
|
|
184
|
+
const h = r.slice(c);
|
|
185
185
|
if (0 === h.length) return f;
|
|
186
186
|
let g;
|
|
187
187
|
const y = {
|
|
@@ -194,16 +194,16 @@ var P = class {
|
|
|
194
194
|
return null;
|
|
195
195
|
}
|
|
196
196
|
_appendUnparsedTail(e, t, n) {
|
|
197
|
-
const
|
|
197
|
+
const r = [];
|
|
198
198
|
for (const t of e) {
|
|
199
|
-
if (t.type ===
|
|
200
|
-
const e = t.type ===
|
|
201
|
-
if (t.type ===
|
|
199
|
+
if (t.type === s.Whitespace) continue;
|
|
200
|
+
const e = t.type === s.Paren || t.type === s.Type ? t.text : void 0, n = r.length > 0 ? r[r.length - 1] : void 0;
|
|
201
|
+
if (t.type === s.Separator && n) {
|
|
202
202
|
const e = n.declared[n.declared.length - 1];
|
|
203
203
|
"let" === n.ctx?.type && -1 === n.ctx.argIndex && n.lambda?.argTokens === n.argTokens && e?.argIndex === n.argIndex - 1 && (e.params = n.lambda.params), n.argIndex++, n.argTokens = 0, n.lambda = void 0;
|
|
204
204
|
continue;
|
|
205
205
|
}
|
|
206
|
-
if (n && n.argTokens++, "(" === e || "[" === e || "{" === e)
|
|
206
|
+
if (n && n.argTokens++, "(" === e || "[" === e || "{" === e) r.push({
|
|
207
207
|
ctx: t.context,
|
|
208
208
|
argIndex: 0,
|
|
209
209
|
declared: [],
|
|
@@ -211,7 +211,7 @@ var P = class {
|
|
|
211
211
|
leadsArg: 2 === n?.argTokens
|
|
212
212
|
});
|
|
213
213
|
else if (")" === e || "]" === e || "}" === e) {
|
|
214
|
-
const e =
|
|
214
|
+
const e = r.pop(), t = r.length > 0 ? r[r.length - 1] : void 0;
|
|
215
215
|
t && e?.leadsArg && "lambda" === e.ctx?.type && -1 === e.ctx.argIndex && (t.lambda = {
|
|
216
216
|
params: e.declared.map(({ name: e, optional: t }) => t ? {
|
|
217
217
|
name: e,
|
|
@@ -219,7 +219,7 @@ var P = class {
|
|
|
219
219
|
} : { name: e }),
|
|
220
220
|
argTokens: t.argTokens
|
|
221
221
|
});
|
|
222
|
-
} else if (t.type ===
|
|
222
|
+
} else if (t.type === s.Parameter && n && t.value?.declaration) {
|
|
223
223
|
const e = t.value;
|
|
224
224
|
n.declared.push(e.optional ? {
|
|
225
225
|
name: e.name,
|
|
@@ -231,7 +231,7 @@ var P = class {
|
|
|
231
231
|
});
|
|
232
232
|
}
|
|
233
233
|
}
|
|
234
|
-
const o =
|
|
234
|
+
const o = r.length > 0 ? r[r.length - 1] : void 0, l = o?.ctx ? {
|
|
235
235
|
...o.ctx,
|
|
236
236
|
argIndex: -1 === o.ctx.argIndex ? o.argIndex : o.ctx.argIndex
|
|
237
237
|
} : void 0;
|
|
@@ -249,18 +249,18 @@ var P = class {
|
|
|
249
249
|
t && (l.bound = t);
|
|
250
250
|
}
|
|
251
251
|
const i = (t, n) => {
|
|
252
|
-
const
|
|
253
|
-
type:
|
|
252
|
+
const r = n ? {
|
|
253
|
+
type: s.Named,
|
|
254
254
|
value: { name: t },
|
|
255
255
|
text: t
|
|
256
256
|
} : {
|
|
257
|
-
type:
|
|
257
|
+
type: s.Unparsed,
|
|
258
258
|
value: t,
|
|
259
259
|
text: t
|
|
260
260
|
};
|
|
261
|
-
l && (
|
|
261
|
+
l && (r.context = l), e.push(r);
|
|
262
262
|
};
|
|
263
|
-
if (
|
|
263
|
+
if (w(e, t, l, n)) return;
|
|
264
264
|
const c = /[A-Za-z_][A-Za-z0-9_]*$/.exec(t), u = c ? c.index : -1;
|
|
265
265
|
let p = u > 0 ? t[u - 1] : "";
|
|
266
266
|
for (let t = e.length - 1; 0 === u && t >= 0 && !p; t--) p = e[t].text?.at(-1) ?? "";
|
|
@@ -277,7 +277,7 @@ function A(e, t, r, s) {
|
|
|
277
277
|
return a ? e.resolve(n.Table, a)?.toString() : void 0;
|
|
278
278
|
}
|
|
279
279
|
var k = /[A-Za-z_\\\u007F-\uFFFF][A-Za-z0-9_.\u007F-\uFFFF]*$/, E = /[A-Za-z0-9_.)\]}"'!#\u007F-\uFFFF]/;
|
|
280
|
-
function
|
|
280
|
+
function F(e, t) {
|
|
281
281
|
for (let n = t + 1; n < e.length; n++) {
|
|
282
282
|
const t = e[n];
|
|
283
283
|
if ("'" !== t) {
|
|
@@ -287,7 +287,7 @@ function w(e, t) {
|
|
|
287
287
|
}
|
|
288
288
|
return -1;
|
|
289
289
|
}
|
|
290
|
-
function
|
|
290
|
+
function w(e, t, n, r) {
|
|
291
291
|
let a = 0, o = -1;
|
|
292
292
|
for (let e = 0; e < t.length; e++) {
|
|
293
293
|
const n = t[e];
|
|
@@ -303,12 +303,12 @@ function F(e, t, n, s) {
|
|
|
303
303
|
const e = p.index > 0 ? l[p.index - 1] : i?.text?.at(-1) ?? "";
|
|
304
304
|
if (/[A-Za-z0-9_.]/.test(e)) return !1;
|
|
305
305
|
c = p[0], l = l.slice(0, p.index);
|
|
306
|
-
} else 0 === l.length && i?.text && 0 === k.exec(i.text)?.index && (i.type ===
|
|
306
|
+
} else 0 === l.length && i?.text && 0 === k.exec(i.text)?.index && (i.type === s.Named && !i.value?.scope || i.type === s.TableReference) && (c = i.text, u = !0);
|
|
307
307
|
if (!u) {
|
|
308
308
|
const e = l.length > 0 ? l[l.length - 1] : i?.text?.at(-1) ?? "";
|
|
309
309
|
if (e && E.test(e)) return !1;
|
|
310
310
|
}
|
|
311
|
-
const d = c || (
|
|
311
|
+
const d = c || (r?.() ?? ""), f = [], h = (e, t, n) => {
|
|
312
312
|
f.push({
|
|
313
313
|
type: e,
|
|
314
314
|
value: t,
|
|
@@ -319,8 +319,8 @@ function F(e, t, n, s) {
|
|
|
319
319
|
type: "table"
|
|
320
320
|
}
|
|
321
321
|
});
|
|
322
|
-
}, g = (e, t, n,
|
|
323
|
-
const a = e.startsWith("#"), o = n ?
|
|
322
|
+
}, g = (e, t, n, r) => {
|
|
323
|
+
const a = e.startsWith("#"), o = n ? r ? "column" : a ? "specifier" : e ? "column" : "any" : void 0, l = o ? {
|
|
324
324
|
table: d,
|
|
325
325
|
name: e,
|
|
326
326
|
partial: o
|
|
@@ -329,7 +329,7 @@ function F(e, t, n, s) {
|
|
|
329
329
|
name: e
|
|
330
330
|
};
|
|
331
331
|
f.push({
|
|
332
|
-
type: a ?
|
|
332
|
+
type: a ? s.TableSpecifier : s.TableColumn,
|
|
333
333
|
value: l,
|
|
334
334
|
text: e,
|
|
335
335
|
context: {
|
|
@@ -338,38 +338,38 @@ function F(e, t, n, s) {
|
|
|
338
338
|
type: "table"
|
|
339
339
|
}
|
|
340
340
|
});
|
|
341
|
-
}, m = (e, t, n,
|
|
342
|
-
h(
|
|
341
|
+
}, m = (e, t, n, r) => {
|
|
342
|
+
h(s.Paren, "[", n), g(e.slice(1, t ? -1 : void 0), n, !t, r), t && h(s.Paren, "]", n);
|
|
343
343
|
};
|
|
344
|
-
h(
|
|
344
|
+
h(s.Paren, "[", -1);
|
|
345
345
|
const x = t.slice(o + 1);
|
|
346
346
|
if (x.startsWith("[")) {
|
|
347
347
|
let e = 0, t = !1, n = 0;
|
|
348
348
|
for (; n < x.length;) {
|
|
349
|
-
const
|
|
350
|
-
if ("[" ===
|
|
351
|
-
const r =
|
|
349
|
+
const r = x[n];
|
|
350
|
+
if ("[" === r) {
|
|
351
|
+
const r = F(x, n);
|
|
352
352
|
if (null === r) return !1;
|
|
353
353
|
const s = -1 !== r;
|
|
354
354
|
if (m(x.slice(n, s ? r : x.length), s, e, t), t = !1, !s) break;
|
|
355
355
|
n = r;
|
|
356
|
-
} else if ("," ===
|
|
357
|
-
else if (":" ===
|
|
358
|
-
else if ("@" ===
|
|
356
|
+
} else if ("," === r) h(s.Separator, ",", e++), n++;
|
|
357
|
+
else if (":" === r) h(s.Infix, ":", e), n++;
|
|
358
|
+
else if ("@" === r) h(s.Prefix, "@", e), t = !0, n++;
|
|
359
359
|
else {
|
|
360
|
-
if (" " !==
|
|
360
|
+
if (" " !== r) return !1;
|
|
361
361
|
{
|
|
362
362
|
let t = n;
|
|
363
363
|
for (; " " === x[t];) t++;
|
|
364
|
-
h(
|
|
364
|
+
h(s.Whitespace, x.slice(n, t), e), n = t;
|
|
365
365
|
}
|
|
366
366
|
}
|
|
367
367
|
}
|
|
368
368
|
} else {
|
|
369
369
|
let e = x;
|
|
370
370
|
const t = e.startsWith("@");
|
|
371
|
-
if (t && (h(
|
|
372
|
-
if (-1 !==
|
|
371
|
+
if (t && (h(s.Prefix, "@", 0), e = e.slice(1)), e.startsWith("[")) {
|
|
372
|
+
if (-1 !== F(e, 0)) return !1;
|
|
373
373
|
m(e, !1, 0, t);
|
|
374
374
|
} else {
|
|
375
375
|
if (/(^|[^'])[[\]]/.test(e) || e.startsWith("#") && e.includes(",")) return !1;
|
|
@@ -378,7 +378,7 @@ function F(e, t, n, s) {
|
|
|
378
378
|
}
|
|
379
379
|
if (l) {
|
|
380
380
|
const t = {
|
|
381
|
-
type:
|
|
381
|
+
type: s.Unparsed,
|
|
382
382
|
value: l,
|
|
383
383
|
text: l
|
|
384
384
|
};
|
|
@@ -387,14 +387,14 @@ function F(e, t, n, s) {
|
|
|
387
387
|
if (u) {
|
|
388
388
|
const t = {
|
|
389
389
|
...i,
|
|
390
|
-
type:
|
|
390
|
+
type: s.TableReference,
|
|
391
391
|
value: c,
|
|
392
392
|
text: c
|
|
393
393
|
};
|
|
394
394
|
delete t.referenceIndex, e[e.length - 1] = t;
|
|
395
395
|
} else if (c) {
|
|
396
396
|
const t = {
|
|
397
|
-
type:
|
|
397
|
+
type: s.TableReference,
|
|
398
398
|
value: c,
|
|
399
399
|
text: c
|
|
400
400
|
};
|
|
@@ -403,4 +403,4 @@ function F(e, t, n, s) {
|
|
|
403
403
|
for (const t of f) e.push(t);
|
|
404
404
|
return !0;
|
|
405
405
|
}
|
|
406
|
-
export { P as FormulaCompiler,
|
|
406
|
+
export { P as FormulaCompiler, w as appendPartialStructuredReference };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.22
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: SheetXL EULA — https://www.sheetxl.com/eula
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.
|
|
2
|
+
* @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.22
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: SheetXL EULA — https://www.sheetxl.com/eula
|