@sheetxl/mcp 0.8.0-beta.14 → 0.8.0-beta.15
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/{DIy1659Yv5-fD69E.js → 9U9XCqqdn-q3i2fj.js} +1 -1
- package/assets/{2zIY9Xuml4y8NI05.js → B-MqXm_7luDLwazY.js} +1 -1
- package/assets/{DUYoUViqY5U6uQX3.js → B2Ek-DWpZMGJ0V1Z.js} +2 -2
- package/assets/{CH9M37mRwnS0t9wM.js → B2udpZ-uIaql3AUh.js} +5 -5
- package/assets/{CHHJZPAuM3OjbzF6.js → B4VnJacrzr1x4PHR.js} +4 -4
- package/assets/{B5xHa5bjZu5ONrm5.js → B5lHOOQ_rkP4Mi2r.js} +1 -1
- package/assets/{DWTpPijG5yeNFR0W.js → B7gUyrfLln3TiyKM.js} +1 -1
- package/assets/{a7BoASyT8yQZY9hJ.js → B9US2ZrF93KOjmAx.js} +1 -1
- package/assets/{CdF5MxGnISAZ41oQ.js → BBb_3gEGzmEzbTIk.js} +24 -24
- package/assets/{33QTHR3r6ZujxFx8.js → BCy1zP97fsiIcvj6.js} +1 -1
- package/assets/{CwJyw5Yxpj4PGh14.js → BFXeoFUbuc4IKTz9.js} +1 -1
- package/assets/{D94hlZEaHtGHdN_K.js → BFdeov2e_xUQPEY_.js} +6 -6
- package/assets/{D3BAmD-1AfFtHdC6.js → BG5kgbDRXMc0re6W.js} +8 -8
- package/assets/{UX2ywz3gr7q-MlHr.js → BJxfinOazQqqByc-.js} +1 -1
- package/assets/{hRLLK6I6m0uGKWo8.js → BOPsJmq7v7HOKUkO.js} +5 -5
- package/assets/{DPazQ_nZv-sXUwO3.js → BPwmBu_aouERJjiW.js} +1 -1
- package/assets/{DkFK1iu4vqjLZMja.js → BQMDOjNBMjAx9WiW.js} +1 -1
- package/assets/{CBNNl8igIyeHY4St.js → BQbF1RkUH8WyXqSD.js} +1 -1
- package/assets/{DpGuA6U12gwyGHEM.js → BRzp6DEIYUgM3NkN.js} +3 -3
- package/assets/{W-MzzQHZuRxr8adc.js → BSxTn2BhkEEeF9x_.js} +2 -2
- package/assets/{CfiVUfpeONJ3rf31.js → BTQhJQ3e0hsiousD.js} +1 -1
- package/assets/{Doqy_uDSQTCv6a6X.js → BZPTaa0WjpoUAbgZ.js} +1 -1
- package/assets/{CPDkdp0yI4DwUHGZ.js → BbAmA46MhQSu3ZF_.js} +1 -1
- package/assets/{yNiBIhsMP9BCWd67.js → BbcUxIZe3YXywsQR.js} +1 -1
- package/assets/{QXKcNTuZqOauSidr.js → BeLr36oL3jmeXFFi.js} +1 -1
- package/assets/{9MRZ5Yc2RBgcqZSp.js → Bg95xYj5siqhHVEz.js} +2 -2
- package/assets/{DTlvhtB9hvPdbdxu.js → Bh0PNKlrR4VAqnP8.js} +5161 -5154
- package/assets/{ZBYHyJs7CQgnnHfR.js → BjqQjxBuoXza8oqg.js} +1 -1
- package/assets/{DSSrCrejjpWoszj7.js → BlPubAFi7DY7VrAo.js} +1 -1
- package/assets/{eHAVGCUcMAfNjEGt.js → BleMG0hAQgjE8fTa.js} +2 -2
- package/assets/{DoIU_ohoCBwTZV9G.js → Bn8D2bebQ2tFfwQt.js} +19 -19
- package/assets/{DUUt1z6Y_cpxEpYY.js → BrcQmHcE7Hcr1erJ.js} +1 -1
- package/assets/{B9qiPx_BXxo1jgcx.js → BsQZI1vXTRE63Zy-.js} +21 -21
- package/assets/{EeSGsbh_r4N-qs4w.js → BtjqpAKczftx91BQ.js} +1 -1
- package/assets/{BYtBi8vLoB41QkV8.js → Btys7KwtvV3hz2F6.js} +4 -4
- package/assets/{w8YWSMNTTn45ImnB.js → BuUEsifnQALe49uk.js} +1 -1
- package/assets/{CULV-2mwmqYYpAjM.js → By-7OWXShMlFFejV.js} +1 -1
- package/assets/{PmooYGqWqoTxPExF.js → C0CiMKC3lWK1z9p5.js} +2 -2
- package/assets/{aqguaobnu61szXWM.js → C2OrZ8LZ-TI6eYG0.js} +1 -1
- package/assets/{Dl87mJoXDkCkzBi7.js → C4z2IilWTuu2TWXw.js} +2 -2
- package/assets/{DBFXsbIHDxbMBrzV.js → C7ONfuYIWRmDu_vs.js} +1 -1
- package/assets/{ByziR0Anm39Bw0Bc.js → C7Z1li2XjWi6bkrp.js} +3 -3
- package/assets/{C1w8NQeox7_92swz.js → C97xDe_wBbLZh_uW.js} +1 -1
- package/assets/{BOcWUnxWSG1d5Ljc.js → CGBGyaCGdlZFQYK0.js} +1 -1
- package/assets/{DCHsM8bfVisYJFTT.js → CJ5WQnaoCsdr5gf4.js} +1 -1
- package/assets/{GnXTzeDYWWeEf5yV.js → CMK6tIDVqYYvK4GZ.js} +1 -1
- package/assets/{DK0VM9-qrEXBm8Ud.js → CMWAsUQ66V8fYrME.js} +2 -2
- package/assets/{CDGeuGB9CBXeCIm6.js → CNz3LdmvsOEJoLO9.js} +1 -1
- package/assets/{DZZ5R3msiytVNCqK.js → CWVWdbY1B1-WLl9k.js} +55 -55
- package/assets/{CeDqeFLuUfN8UIGx.js → CWl6oHiJxkNKRixk.js} +1 -1
- package/assets/{ddJqSu7gXUkXjGxZ.js → CXHslDxkWCuEcCSQ.js} +1 -1
- package/assets/{B6BP5l2qmeZhqVV7.js → CZTSZL3T_f-vSXqM.js} +2 -2
- package/assets/{DuZ6DXQGttY3Lrhd.js → CduNzsdbTigxH-ZK.js} +124 -124
- package/assets/{BFwNQZVRnbNt-gRJ.js → CecTe22WURiXbVdY.js} +1 -1
- package/assets/{CVFTQ0OwsUt03r4o.js → Cf2dcwmmmf13Rywg.js} +1 -1
- package/assets/{OU7gC5JF-lyDOOid.js → Cf9LpgZz-W5blzy_.js} +2 -2
- package/assets/{ThqyayHHaBxzfaAt.js → Cfhv_Yw_LT8VzAMt.js} +1 -1
- package/assets/{CjwzOAnab_dpAqiG.js → Cg51xaLRUkVOMdCZ.js} +1 -1
- package/assets/{B9w1dNK8pNq-Z1P3.js → ChWpsFGl-BYOnX_A.js} +1 -1
- package/assets/{CcLPa6zB5PH3OG2O.js → ClNQN3vEg5b5qUDp.js} +8 -8
- package/assets/{BiAEoWSl8c6jcUnS.js → Crt2kLdGIlBHANgg.js} +1 -1
- package/assets/{CMTDUipnLiOj5pbe.js → CudNpUD78SrtJIiy.js} +2 -2
- package/assets/{BmxgDCZk_aMDms4i.js → CvngwB17_ve4W49b.js} +27 -27
- package/assets/{Dfd7kvLIFNqu-m-r.js → CwPBmcY6xSP8dNlh.js} +11 -11
- package/assets/{PRSerWiAGYu8MVnd.js → CxjchwpiqxPM1XKd.js} +54 -54
- package/assets/{CtpcYuBFU6fxsUhs.js → D-ffk16w8c5w0mxI.js} +1 -1
- package/assets/{D81iH5MJJfq2t9FP.js → D0CHDsemn0S31ltt.js} +1 -1
- package/assets/{DUzaW_op2vBTwOOI.js → D7oUtYjetuykGhQ5.js} +1 -1
- package/assets/{DkPXpv81Y5teMd-R.js → D8J14MLlN2HRXdXB.js} +1 -1
- package/assets/{BW8XjynUqlfvuQUV.js → DA_ar3QKLKtJ9fJD.js} +1 -1
- package/assets/{CXM1IYmE-TDInPwr.js → DB-tkqI6wFXDKEfB.js} +1 -1
- package/assets/{C55MTJ_5qW94RElE.js → DD8HNAUFroTCuD-b.js} +96 -96
- package/assets/{CpOhY88x6AgVxvTz.js → DDnwKPJSznyfYDZS.js} +2 -2
- package/assets/{cv7k-VAIJtYeL9k4.js → DEW2GxfGYqVFvrfg.js} +1 -1
- package/assets/{CgjR_TiVOcuxg5tO.js → DH7sGHzxUqIQkDnd.js} +1 -1
- package/assets/{BMnNvUCJu35tT_aO.js → DJiLWtmPR2OQNjzi.js} +1 -1
- package/assets/{BOF64A2D2KKcv_fo.js → DKLm4nWzynGw1Kr9.js} +1 -1
- package/assets/{B_-VPqfsse8AlCTm.js → DPCKMM7sgWbrtB8z.js} +1 -1
- package/assets/{B-jE7tAMA559MtNt.js → DTfl-4Iboi6TQU5m.js} +3 -3
- package/assets/{Df2IAW-O7Gwl7V1l.js → DVchxwp6w6lu2Ihu.js} +2 -2
- package/assets/{COFze3jkZDQRSij9.js → DaoSWy3EFlqpZaLr.js} +196 -196
- package/assets/{ZTEO4JX22YIOkrJg.js → DcWTBOi_iBFc6U4J.js} +3 -3
- package/assets/Dht2mcOSyYlPY32b.js +14 -0
- package/assets/{9dbZwzIWefGss7is.js → Diee6f_qAmcZBd2_.js} +1 -1
- package/assets/{CwdOInoJwCxXnhog.js → DkibD_CEVePaoj_y.js} +2 -2
- package/assets/{DvD_K4M5HgJ4uJ8L.js → DlBdhv6NHgrNp5Yo.js} +2 -2
- package/assets/{BWsXOU_jh_cA8m8I.js → DoILAmhKUOlKWRVw.js} +1 -1
- package/assets/{cdIvC9t9tYtVn4nc.js → DpdHDTFOeuzDVNEe.js} +46 -46
- package/assets/{C-5LlJ5qhC7Ef0gV.js → DsCI_ZYm_jDjXF3J.js} +14 -14
- package/assets/{Du_JrYiYGJo5_B9H.js → DvUUArnZwoYOKOuk.js} +1 -1
- package/assets/{BXC6616BWEWNZ2-D.js → DwLZpYUp85UHBE3H.js} +1 -1
- package/assets/{BNfBq8Eic3Cl-f6A.js → DwWngYJTgC0KLbih.js} +1 -1
- package/assets/{C1rIlmARlinuie5E.js → Dz8UUJ7Xc2oN5PBG.js} +1 -1
- package/assets/{Dg7xy50qHwqkYd4g.js → FS9NbEKgQvz5wqvZ.js} +1 -1
- package/assets/{D2w3KjYuONW1G1kX.js → F_f0jJqM5MrXGbwC.js} +3 -3
- package/assets/{TzsPqmpG77I4ewVt.js → FzNG48GE_wso6RII.js} +1 -1
- package/assets/{BwisWvPpXRhyIP4O.js → JO3zH9hupFSV6vj2.js} +1 -1
- package/assets/{C-CNmTrzNS-ZlQ8j.js → LEJp05fjmflKgyqF.js} +148 -148
- package/assets/{Cm3Q_-DDdnVHRBxr.js → LyLlBk--VJD2V-f8.js} +4 -4
- package/assets/{DnmjS548g7nY6EUS.js → OVRdpPUzR0-ueTxE.js} +1 -1
- package/assets/{mcFLzsOH35mvmd3C.js → PpFbmF0DFeUdpb9I.js} +1 -1
- package/assets/{B66aeGYrHLbGpuN9.js → S16s2h9qoYVBlVEa.js} +320 -320
- package/assets/{BkBCkgPNrFR5N9fo.js → SHZe9VOU1prGs1F9.js} +1 -1
- package/assets/{DihigEGfNCLR8UPN.js → U1XXGEPuuqIAzYl1.js} +1 -1
- package/assets/{zu-72oKE_gCkrozc.js → ZuYfVKlp41IJnrOS.js} +1 -1
- package/assets/{8vRAQlvTcvMLeio0.js → _d5XJ7dn1CKKYrep.js} +2 -2
- package/assets/{BoTScfjgygCozDVi.js → _fUXIv6nKvgZkhxn.js} +2 -2
- package/assets/{C2Rgsb69SnMOohGt.js → fDMpDhXp36CatF-G.js} +1 -1
- package/assets/{B9QlqO6n3MCBsvoj.js → hulrR0PldUxMJm_F.js} +3 -3
- package/assets/{B-1_xSqUFCJ6jNjn.js → iujMYIEPx_v3sdPf.js} +15 -15
- package/assets/{CutEBbZl8oFbTlXZ.js → jPUOH4FHF4b-rapv.js} +1 -1
- package/assets/{BDZ1FGc1zFqO1nK7.js → jadLBUNBVR9mbZ35.js} +149 -149
- package/assets/{D2_T0KSaye0ncjQa.js → jiEe5eKV3BFPBWfi.js} +67 -67
- package/assets/{KpCEdfpsHnfkyqjx.js → oxjm7Yr7u7MeaO5P.js} +1 -1
- package/assets/{B6b9ytNrHR-ijcOa.js → vZZi_iKYHm05gAye.js} +1 -1
- package/assets/{st-UQngeBG4hwKoy.js → wfVh0olISLRWdv9Q.js} +1 -1
- package/assets/{HKLw8b2xTdu5c1w5.js → xmTQJJVyCrcq77WR.js} +1 -1
- package/assets/{DZRp3_yqPS6Lshho.js → xnhBSX6lAcmBM65y.js} +1 -1
- package/index.js +29 -29
- package/lib.js +1 -1
- package/licenses/dependencies.txt +57 -57
- package/package.json +8 -8
- package/screenshot-page/assets/B2MJPcMcsuv6FekC.js +1 -0
- package/screenshot-page/assets/{BCl5buf87xUgIfEB.js → BSdFVGZNhU6YHbMI.js} +1 -1
- package/screenshot-page/assets/{Cv8FG9PPBkkPw86e.js → BTMW3ukmc44U2fy7.js} +1 -1
- package/screenshot-page/assets/{Miyn0clMq0rovRIo.js → BTboCICZ-951XWsi.js} +1 -1
- package/screenshot-page/assets/B_W2QroTKADz3ABp.js +2 -0
- package/screenshot-page/assets/{Bor_tayB4yBfNOH5.js → Bj-vfAT28PK-tWWa.js} +2 -2
- package/screenshot-page/assets/{CvL9XK3Ht1mP-rGz.js → BnoVwUBEor8NgQNs.js} +2 -2
- package/screenshot-page/assets/{DzZRUd0p22CBa27b.js → BzQ5GyiXq8gTz-H-.js} +1 -1
- package/screenshot-page/assets/CwqNb7JYzC03lCj0.js +1 -0
- package/screenshot-page/assets/CzhH7lTYQrYGHct6.js +1 -0
- package/screenshot-page/assets/{CnZJ44ncMxZ4ivcB.js → D66vSE1ConAuENmB.js} +7 -7
- package/screenshot-page/assets/DCVUZ_ayOXFwV2d_.js +3 -0
- package/screenshot-page/assets/DFE-fKq5NV7_O8V6.js +1 -0
- package/screenshot-page/assets/{zHHZFbk5RXnrxbOc.js → DK_QSosKV62NDcuT.js} +9 -9
- package/screenshot-page/assets/{Bz2U7weS0spa8Xbh.js → DTFRGj188QuLKEXw.js} +1 -1
- package/screenshot-page/assets/{DDpAoGAPzo1c4vl5.js → DXQLzGmxoyN3kfQi.js} +3 -3
- package/screenshot-page/assets/DXWWyJlMSWgDFxs1.js +10 -0
- package/screenshot-page/assets/{DqM1wwsmN1J4MXMm.js → Dsx0NUmGIxS7SvZ8.js} +1 -1
- package/screenshot-page/assets/Q5EKmzoJZCE81Om-.js +2 -0
- package/screenshot-page/assets/{BYRwTzX1q407lHUS.js → TfhknTx8vxQkw4zV.js} +2 -2
- package/screenshot-page/assets/VvqAh6BWzaD5OUPF.js +1 -0
- package/screenshot-page/assets/{CE0MnsfMjqV2ICzk.js → hp_-JA1DMK4Yoztn.js} +12 -12
- package/screenshot-page/assets/{BRqSWCr2mTVNFquQ.js → l32n8O_A78Qqduv3.js} +1 -1
- package/screenshot-page/assets/sHBomL5R4-_px8rD.js +1 -0
- package/screenshot-page/assets/skRJ2qjA7kcmnOsh.js +39 -0
- package/screenshot-page/index.html +3 -3
- package/assets/Cfvhcua4c6onouhP.js +0 -14
- package/screenshot-page/assets/04d8koPx6lzeMYRQ.js +0 -39
- package/screenshot-page/assets/Bwql3QifB2cv7Mqp.js +0 -3
- package/screenshot-page/assets/CFOaI8g7pJuPzsyk.js +0 -1
- package/screenshot-page/assets/DUJzubL4qqOyizfu.js +0 -1
- package/screenshot-page/assets/DWiI5I3RtoKvVT66.js +0 -1
- package/screenshot-page/assets/D_H2dlsQ8PJ0r1WD.js +0 -10
- package/screenshot-page/assets/DsL71n5SxCVjL6Ho.js +0 -2
- package/screenshot-page/assets/IfF7Tv-nhz6Ikpn0.js +0 -1
- package/screenshot-page/assets/Rm5Sf5E6t8bk_Y3r.js +0 -1
- package/screenshot-page/assets/b3AbgxQkoaCiBi15.js +0 -1
- package/screenshot-page/assets/qm3VY0bH7F7EgSdi.js +0 -2
|
@@ -1,11 +1,11 @@
|
|
|
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.15
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
6
6
|
*/
|
|
7
|
-
import { d as e } from "./
|
|
8
|
-
import {
|
|
7
|
+
import { d as e } from "./BQbF1RkUH8WyXqSD.js";
|
|
8
|
+
import { Ai as t, Cr as n, F as i, Fi as r, Gi as s, Qn as o, Rn as a, Tn as c, Tt as h, Un as l, Xi as u, Yr as d, ai as p, at as f, b as m, fi as E, ft as T, ir as g, k as O, ln as A, lr as R, nn as I, qt as _, ra as N, t as L, ta as S, vr as C, xt as y, y as k, zi as v } from "./Bh0PNKlrR4VAqnP8.js";
|
|
9
9
|
function x(e) {
|
|
10
10
|
console && console.error && console.error(`Error: ${e}`);
|
|
11
11
|
}
|
|
@@ -4187,7 +4187,7 @@ var jn = class extends $n {
|
|
|
4187
4187
|
}
|
|
4188
4188
|
}, Gn = class t {
|
|
4189
4189
|
static shared(e) {
|
|
4190
|
-
const n = e?.locale ??
|
|
4190
|
+
const n = e?.locale ?? T, i = e?.maxColumn ?? Hn, r = e?.maxRow ?? Yn;
|
|
4191
4191
|
let s = Vn.get(n);
|
|
4192
4192
|
s || (s = /* @__PURE__ */ new Map(), Vn.set(n, s));
|
|
4193
4193
|
const o = `${i}:${r}`;
|
|
@@ -4199,15 +4199,15 @@ var jn = class extends $n {
|
|
|
4199
4199
|
}), s.set(o, a)), a;
|
|
4200
4200
|
}
|
|
4201
4201
|
constructor(e) {
|
|
4202
|
-
const t = e?.maxColumn ?? Hn, n = e?.maxRow ?? Yn, i = e?.locale ??
|
|
4202
|
+
const t = e?.maxColumn ?? Hn, n = e?.maxRow ?? Yn, i = e?.locale ?? T;
|
|
4203
4203
|
this._locale = i, this._maxColumn = t, this._maxRow = n;
|
|
4204
4204
|
const { separatorFunction: r, separatorColumn: s, separatorRow: o, separatorDecimal: a } = i.separators;
|
|
4205
4205
|
if (s === o) throw new Error(`FormulaLexer: separatorColumn and separatorRow must differ (both '${s}')`);
|
|
4206
|
-
const
|
|
4206
|
+
const h = pt({
|
|
4207
4207
|
name: "WhiteSpace",
|
|
4208
4208
|
pattern: /[ \n\v\f\r\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,
|
|
4209
4209
|
group: tt.SKIPPED
|
|
4210
|
-
}),
|
|
4210
|
+
}), l = pt({
|
|
4211
4211
|
name: "StringToken",
|
|
4212
4212
|
pattern: /"(""|[^"])*"/
|
|
4213
4213
|
}), u = pt({
|
|
@@ -4215,15 +4215,15 @@ var jn = class extends $n {
|
|
|
4215
4215
|
pattern: /[a-zA-Z_\u007F-\uFFFF]+[a-zA-Z0-9_.\u007F-\uFFFF]*(?=\()/
|
|
4216
4216
|
}), d = pt({
|
|
4217
4217
|
name: "TableReference",
|
|
4218
|
-
pattern: { exec:
|
|
4218
|
+
pattern: { exec: L },
|
|
4219
4219
|
line_breaks: !1,
|
|
4220
4220
|
start_chars_hint: Wn
|
|
4221
4221
|
}), p = pt({
|
|
4222
4222
|
name: "BracketedString",
|
|
4223
|
-
pattern: { exec:
|
|
4223
|
+
pattern: { exec: c },
|
|
4224
4224
|
line_breaks: !1,
|
|
4225
4225
|
start_chars_hint: [91],
|
|
4226
|
-
longer_alt: [d,
|
|
4226
|
+
longer_alt: [d, l]
|
|
4227
4227
|
}), f = (e) => (e ?? []).map((e) => e?.trim()).filter(Boolean).map((e) => e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")).map((e) => e + "|").join(""), m = (e) => e.replace(/[A-Za-z]/g, (e) => `[${e.toUpperCase()}${e.toLowerCase()}]`), E = pt({
|
|
4228
4228
|
name: "LiteralError",
|
|
4229
4229
|
pattern: new RegExp(f(i.errorLiterals) + [
|
|
@@ -4244,13 +4244,13 @@ var jn = class extends $n {
|
|
|
4244
4244
|
"#PYTHON!",
|
|
4245
4245
|
"#TIMEOUT!"
|
|
4246
4246
|
].map(m).join("|"))
|
|
4247
|
-
}),
|
|
4247
|
+
}), g = pt({
|
|
4248
4248
|
name: "RefError",
|
|
4249
4249
|
pattern: new RegExp(f(i.errorRefs) + ["#REF!", "#NAME\\?"].map(m).join("|"))
|
|
4250
|
-
}),
|
|
4250
|
+
}), O = pt({
|
|
4251
4251
|
name: "SingleQuotedString",
|
|
4252
4252
|
pattern: /'(''|[^'])*'/
|
|
4253
|
-
}),
|
|
4253
|
+
}), A = pt({
|
|
4254
4254
|
name: "SheetQuoted",
|
|
4255
4255
|
pattern: /'(?:''|[^'])*?'!/
|
|
4256
4256
|
}), R = pt({
|
|
@@ -4268,7 +4268,7 @@ var jn = class extends $n {
|
|
|
4268
4268
|
} },
|
|
4269
4269
|
line_breaks: !1,
|
|
4270
4270
|
start_chars_hint: Wn
|
|
4271
|
-
}),
|
|
4271
|
+
}), N = pt({
|
|
4272
4272
|
name: "Cell",
|
|
4273
4273
|
pattern: { exec: qn(t, n) },
|
|
4274
4274
|
line_breaks: !1,
|
|
@@ -4363,7 +4363,7 @@ var jn = class extends $n {
|
|
|
4363
4363
|
}), ee = pt({
|
|
4364
4364
|
name: "ArrayAnchorOp",
|
|
4365
4365
|
pattern: /#/,
|
|
4366
|
-
longer_alt: [E,
|
|
4366
|
+
longer_alt: [E, g]
|
|
4367
4367
|
}), te = pt({
|
|
4368
4368
|
name: "GtOp",
|
|
4369
4369
|
pattern: />/
|
|
@@ -4374,16 +4374,16 @@ var jn = class extends $n {
|
|
|
4374
4374
|
name: "LtOp",
|
|
4375
4375
|
pattern: /</
|
|
4376
4376
|
}), re = [
|
|
4377
|
-
c,
|
|
4378
4377
|
h,
|
|
4378
|
+
l,
|
|
4379
|
+
A,
|
|
4379
4380
|
O,
|
|
4380
|
-
g,
|
|
4381
4381
|
R,
|
|
4382
4382
|
u,
|
|
4383
4383
|
d,
|
|
4384
4384
|
p,
|
|
4385
4385
|
E,
|
|
4386
|
-
|
|
4386
|
+
g,
|
|
4387
4387
|
b,
|
|
4388
4388
|
...s !== r ? [U] : [],
|
|
4389
4389
|
w,
|
|
@@ -4391,7 +4391,7 @@ var jn = class extends $n {
|
|
|
4391
4391
|
B,
|
|
4392
4392
|
$,
|
|
4393
4393
|
F,
|
|
4394
|
-
|
|
4394
|
+
N,
|
|
4395
4395
|
M,
|
|
4396
4396
|
S,
|
|
4397
4397
|
C,
|
|
@@ -4533,9 +4533,9 @@ function Qn(e) {
|
|
|
4533
4533
|
return new RegExp(e.replace(/[.*+?^${}()|[\]\\]/g, "\\$&"));
|
|
4534
4534
|
}
|
|
4535
4535
|
var Zn = class {
|
|
4536
|
-
constructor(e =
|
|
4536
|
+
constructor(e = T) {
|
|
4537
4537
|
const t = function(e) {
|
|
4538
|
-
const t = [...
|
|
4538
|
+
const t = [...I];
|
|
4539
4539
|
if (e) for (const n of Object.values(e)) {
|
|
4540
4540
|
const e = n?.trim();
|
|
4541
4541
|
e && !t.some((t) => t.toLowerCase() === e.toLowerCase()) && t.push(e);
|
|
@@ -4582,7 +4582,7 @@ var Zn = class {
|
|
|
4582
4582
|
return this._lexer.tokenize(e);
|
|
4583
4583
|
}
|
|
4584
4584
|
}, Jn = class extends jn {
|
|
4585
|
-
constructor(e =
|
|
4585
|
+
constructor(e = T) {
|
|
4586
4586
|
const t = new Zn(e), n = t.getVocabulary();
|
|
4587
4587
|
super(n, {
|
|
4588
4588
|
nodeLocationTracking: "none",
|
|
@@ -4590,7 +4590,7 @@ var Zn = class {
|
|
|
4590
4590
|
skipValidations: !0,
|
|
4591
4591
|
recoveryEnabled: !1
|
|
4592
4592
|
}), this._lexer = t;
|
|
4593
|
-
const { TableSpecifier:
|
|
4593
|
+
const { TableSpecifier: r, BracketedColumn: s, BareSpecifier: o, ColumnSep: a, ListSep: c } = n, h = this;
|
|
4594
4594
|
h.RULE("ruleContent", () => {
|
|
4595
4595
|
const e = [], t = h.SUBRULE(h.ruleItem);
|
|
4596
4596
|
return h.ACTION(() => {
|
|
@@ -4604,28 +4604,28 @@ var Zn = class {
|
|
|
4604
4604
|
});
|
|
4605
4605
|
}), e;
|
|
4606
4606
|
}), h.RULE("ruleItem", () => h.OR([{ ALT: () => h.SUBRULE(h.ruleSpecifier) }, { ALT: () => h.SUBRULE(h.ruleColumnOrRange) }])), h.RULE("ruleSpecifier", () => h.OR([{ ALT: () => {
|
|
4607
|
-
const t = h.CONSUME(
|
|
4607
|
+
const t = h.CONSUME(r);
|
|
4608
4608
|
return h.ACTION(() => {
|
|
4609
|
-
const n =
|
|
4609
|
+
const n = i(t.image, e);
|
|
4610
4610
|
return n.image = t.image, n;
|
|
4611
4611
|
});
|
|
4612
4612
|
} }, { ALT: () => {
|
|
4613
|
-
const t = h.CONSUME(
|
|
4613
|
+
const t = h.CONSUME(o);
|
|
4614
4614
|
return h.ACTION(() => {
|
|
4615
|
-
const n =
|
|
4615
|
+
const n = i(t.image, e);
|
|
4616
4616
|
return n.image = t.image, n;
|
|
4617
4617
|
});
|
|
4618
4618
|
} }])), h.RULE("ruleColumnOrRange", () => {
|
|
4619
|
-
const e = h.CONSUME(
|
|
4619
|
+
const e = h.CONSUME(s);
|
|
4620
4620
|
let t, n;
|
|
4621
4621
|
return h.OPTION(() => {
|
|
4622
|
-
t = h.CONSUME(a), n = h.CONSUME2(
|
|
4622
|
+
t = h.CONSUME(a), n = h.CONSUME2(s);
|
|
4623
4623
|
}), h.ACTION(() => {
|
|
4624
4624
|
const i = v(e.image);
|
|
4625
4625
|
if (i.image = e.image, !n) return i;
|
|
4626
4626
|
const r = v(n.image);
|
|
4627
4627
|
r.image = n.image;
|
|
4628
|
-
const s =
|
|
4628
|
+
const s = R(":", i, r, !0);
|
|
4629
4629
|
return s.image = t?.image ?? ":", s;
|
|
4630
4630
|
});
|
|
4631
4631
|
}), h.performSelfAnalysis();
|
|
@@ -4636,37 +4636,37 @@ var Zn = class {
|
|
|
4636
4636
|
}
|
|
4637
4637
|
_parseContent(e) {
|
|
4638
4638
|
if (!e) return [];
|
|
4639
|
-
const
|
|
4640
|
-
if (!
|
|
4641
|
-
const i =
|
|
4639
|
+
const n = e.trim();
|
|
4640
|
+
if (!n) return [];
|
|
4641
|
+
const i = n[0];
|
|
4642
4642
|
if ("@" === i) {
|
|
4643
|
-
const e =
|
|
4643
|
+
const e = n.slice(1).trim();
|
|
4644
4644
|
if (!e) {
|
|
4645
|
-
const e =
|
|
4645
|
+
const e = t("@", null, !0);
|
|
4646
4646
|
return e.image = "@", [e];
|
|
4647
4647
|
}
|
|
4648
4648
|
if ("[" === e.charAt(0)) {
|
|
4649
|
-
const
|
|
4650
|
-
if (1 ===
|
|
4651
|
-
const e =
|
|
4649
|
+
const n = this._parseInner(e);
|
|
4650
|
+
if (1 === n.length && "infix" === n[0].type) {
|
|
4651
|
+
const e = t("@", n[0], !0);
|
|
4652
4652
|
return e.image = "@", [e];
|
|
4653
4653
|
}
|
|
4654
4654
|
}
|
|
4655
4655
|
const i = v(e);
|
|
4656
4656
|
i.image = e;
|
|
4657
|
-
const r =
|
|
4657
|
+
const r = t("@", i, !0);
|
|
4658
4658
|
return r.image = "@", [r];
|
|
4659
4659
|
}
|
|
4660
4660
|
if ("[" !== i && "#" !== i) {
|
|
4661
4661
|
const t = v(e);
|
|
4662
4662
|
return t.image = e, [t];
|
|
4663
4663
|
}
|
|
4664
|
-
return this._parseInner(
|
|
4664
|
+
return this._parseInner(n);
|
|
4665
4665
|
}
|
|
4666
4666
|
parse(e, t, n) {
|
|
4667
4667
|
this.reset();
|
|
4668
4668
|
const i = () => ({
|
|
4669
|
-
root:
|
|
4669
|
+
root: _("", []),
|
|
4670
4670
|
errors: []
|
|
4671
4671
|
});
|
|
4672
4672
|
if (!n) return i();
|
|
@@ -4677,9 +4677,9 @@ var Zn = class {
|
|
|
4677
4677
|
}
|
|
4678
4678
|
const s = n.indexOf("[", r);
|
|
4679
4679
|
if (-1 === s) return i();
|
|
4680
|
-
const o = n.slice(0, s),
|
|
4680
|
+
const o = n.slice(0, s), a = n.slice(s + 1, -1), c = this._parseContent(a);
|
|
4681
4681
|
return {
|
|
4682
|
-
root:
|
|
4682
|
+
root: _(o, c),
|
|
4683
4683
|
errors: this.errors.length > 0 ? [...this.errors] : []
|
|
4684
4684
|
};
|
|
4685
4685
|
}
|
|
@@ -4694,7 +4694,7 @@ var Zn = class {
|
|
|
4694
4694
|
":."
|
|
4695
4695
|
]), ni = (e) => {
|
|
4696
4696
|
if (!e) return null;
|
|
4697
|
-
if (e.type ===
|
|
4697
|
+
if (e.type === N.Cell) {
|
|
4698
4698
|
const t = e.value;
|
|
4699
4699
|
return t.rowIndex === Number.MIN_SAFE_INTEGER ? "col" : t.colIndex === Number.MIN_SAFE_INTEGER ? "row" : null;
|
|
4700
4700
|
}
|
|
@@ -4725,8 +4725,8 @@ var ai = {
|
|
|
4725
4725
|
}
|
|
4726
4726
|
}, ci = class extends jn {
|
|
4727
4727
|
constructor(e) {
|
|
4728
|
-
const
|
|
4729
|
-
super(
|
|
4728
|
+
const i = e?.lexer ?? Gn.shared(e?.lexerOptions), c = i.getVocabulary();
|
|
4729
|
+
super(c, {
|
|
4730
4730
|
skipValidations: !0,
|
|
4731
4731
|
recoveryEnabled: !0,
|
|
4732
4732
|
...e,
|
|
@@ -4734,10 +4734,11 @@ var ai = {
|
|
|
4734
4734
|
errorMessageProvider: ai,
|
|
4735
4735
|
maxLookahead: 1
|
|
4736
4736
|
}), this._ruleInfixOp = this.RULE("ruleInfixOp", () => {
|
|
4737
|
-
const { PlusOp: e, MinOp:
|
|
4738
|
-
return
|
|
4739
|
-
const
|
|
4737
|
+
const { PlusOp: e, MinOp: t, MulOp: n, DivOp: i, ExOp: r, ConcatOp: s, GtOp: o, EqOp: a, LtOp: c, NeqOp: h, GteOp: l, LteOp: d } = this._vocab, p = [];
|
|
4738
|
+
return p.push({ node: this.SUBRULE(this._rulePostfixOp) }), this.MANY(() => {
|
|
4739
|
+
const f = this.OR(this._c1 || (this._c1 = [
|
|
4740
4740
|
{ ALT: () => this.CONSUME(e).image },
|
|
4741
|
+
{ ALT: () => this.CONSUME(t).image },
|
|
4741
4742
|
{ ALT: () => this.CONSUME(n).image },
|
|
4742
4743
|
{ ALT: () => this.CONSUME(i).image },
|
|
4743
4744
|
{ ALT: () => this.CONSUME(r).image },
|
|
@@ -4747,33 +4748,32 @@ var ai = {
|
|
|
4747
4748
|
{ ALT: () => this.CONSUME(c).image },
|
|
4748
4749
|
{ ALT: () => this.CONSUME(h).image },
|
|
4749
4750
|
{ ALT: () => this.CONSUME(l).image },
|
|
4750
|
-
{ ALT: () => this.CONSUME(u).image },
|
|
4751
4751
|
{ ALT: () => this.CONSUME(d).image }
|
|
4752
4752
|
])), m = {
|
|
4753
|
-
value:
|
|
4753
|
+
value: f,
|
|
4754
4754
|
index: this.getLexerPosition(),
|
|
4755
|
-
isRange:
|
|
4755
|
+
isRange: u.includes(f)
|
|
4756
4756
|
}, E = this.SUBRULE2(this._rulePostfixOp);
|
|
4757
|
-
|
|
4757
|
+
p.push({
|
|
4758
4758
|
op: m,
|
|
4759
4759
|
node: E
|
|
4760
4760
|
});
|
|
4761
4761
|
}), this.ACTION(() => {
|
|
4762
|
-
let e =
|
|
4763
|
-
const
|
|
4764
|
-
for (let
|
|
4765
|
-
const
|
|
4766
|
-
let
|
|
4767
|
-
for (;
|
|
4768
|
-
const
|
|
4769
|
-
if (
|
|
4770
|
-
const
|
|
4771
|
-
let s =
|
|
4772
|
-
s = this._tag(s,
|
|
4773
|
-
} else
|
|
4762
|
+
let e = p.length - 1;
|
|
4763
|
+
const t = O.length;
|
|
4764
|
+
for (let n = 0; e > 0 && n < t; n++) {
|
|
4765
|
+
const t = O[n];
|
|
4766
|
+
let i = 1;
|
|
4767
|
+
for (; i < p.length;) {
|
|
4768
|
+
const n = p[i].op;
|
|
4769
|
+
if (t.includes(n.value)) {
|
|
4770
|
+
const t = p[i - 1].node, r = p[i].node;
|
|
4771
|
+
let s = R(n.value, t, r, n.isRange);
|
|
4772
|
+
s = this._tag(s, n.index), p[i - 1].node = s, p.splice(i, 1), e--;
|
|
4773
|
+
} else i++;
|
|
4774
4774
|
}
|
|
4775
4775
|
}
|
|
4776
|
-
}),
|
|
4776
|
+
}), p[0].node;
|
|
4777
4777
|
}), this._rulePlusMinusOp = this.RULE("rulePlusMinusOp", () => {
|
|
4778
4778
|
const { PlusOp: e, MinOp: t } = this._vocab;
|
|
4779
4779
|
return this.OR([{ ALT: () => this.CONSUME(e) }, { ALT: () => this.CONSUME(t) }]);
|
|
@@ -4789,28 +4789,28 @@ var ai = {
|
|
|
4789
4789
|
}), this.ACTION(() => {
|
|
4790
4790
|
const e = n.length;
|
|
4791
4791
|
if (0 !== e) for (let i = 0; i < e; i++) {
|
|
4792
|
-
const e = n[i], r = e[0], s = e[1], o =
|
|
4793
|
-
t =
|
|
4792
|
+
const e = n[i], r = e[0], s = e[1], o = u.includes(r);
|
|
4793
|
+
t = p(r, t, o), t = this._tag(t, s);
|
|
4794
4794
|
}
|
|
4795
4795
|
}), t;
|
|
4796
4796
|
}), this._rulePrefixOp = this.RULE("rulePrefixOp", () => {
|
|
4797
|
-
const { PlusOp: e, MinOp:
|
|
4797
|
+
const { PlusOp: e, MinOp: n, ImplicitIntersectOp: i } = this._vocab, r = [];
|
|
4798
4798
|
this.MANY(() => {
|
|
4799
|
-
const
|
|
4799
|
+
const t = this.OR([
|
|
4800
4800
|
{ ALT: () => this.CONSUME(e).image },
|
|
4801
|
-
{ ALT: () => this.CONSUME(
|
|
4801
|
+
{ ALT: () => this.CONSUME(n).image },
|
|
4802
4802
|
{ ALT: () => this.CONSUME(i).image }
|
|
4803
4803
|
]);
|
|
4804
4804
|
this.ACTION(() => {
|
|
4805
|
-
r.push([
|
|
4805
|
+
r.push([t, this.getLexerPosition()]);
|
|
4806
4806
|
});
|
|
4807
4807
|
});
|
|
4808
4808
|
let s = this.SUBRULE(this._ruleRangeOp);
|
|
4809
4809
|
return this.ACTION(() => {
|
|
4810
4810
|
const e = r.length;
|
|
4811
|
-
if (0 !== e) for (let
|
|
4812
|
-
const e = r[
|
|
4813
|
-
s =
|
|
4811
|
+
if (0 !== e) for (let n = e - 1; n >= 0; n--) {
|
|
4812
|
+
const e = r[n], i = e[0], o = e[1], a = u.includes(i);
|
|
4813
|
+
s = t(i, s, a), s = this._tag(s, o);
|
|
4814
4814
|
}
|
|
4815
4815
|
}), s;
|
|
4816
4816
|
}), this._ruleRangeOp = this.RULE("ruleRangeOp", () => {
|
|
@@ -4838,16 +4838,16 @@ var ai = {
|
|
|
4838
4838
|
const t = s[e], n = s[e + 1];
|
|
4839
4839
|
if (":" !== t.op?.value || ":" !== n.op?.value) continue;
|
|
4840
4840
|
const i = ni(t.node);
|
|
4841
|
-
i && ni(n.node) === i && ni(s[e - 1].node) !== i && (t.node = this._tag(
|
|
4841
|
+
i && ni(n.node) === i && ni(s[e - 1].node) !== i && (t.node = this._tag(R(":", t.node, n.node, !0), n.op.index), s.splice(e + 1, 1));
|
|
4842
4842
|
}
|
|
4843
4843
|
for (let e = 1; e < s.length; e++) {
|
|
4844
4844
|
const t = s[e];
|
|
4845
4845
|
if (void 0 !== t.anchor) {
|
|
4846
|
-
s[0].node = this._tag(
|
|
4846
|
+
s[0].node = this._tag(p("#", s[0].node, !0), t.anchor);
|
|
4847
4847
|
continue;
|
|
4848
4848
|
}
|
|
4849
4849
|
const n = t.op;
|
|
4850
|
-
let i =
|
|
4850
|
+
let i = R(n.value, s[0].node, t.node, !0);
|
|
4851
4851
|
i = this._tag(i, n.index), s[0].node = i;
|
|
4852
4852
|
}
|
|
4853
4853
|
}), s[0].node;
|
|
@@ -4861,7 +4861,7 @@ var ai = {
|
|
|
4861
4861
|
},
|
|
4862
4862
|
DEF: () => {
|
|
4863
4863
|
this.CONSUME(e);
|
|
4864
|
-
const i = this.getLexerPosition(), r = this.SUBRULE(this._ruleFunctionArguments), s = n, o = this.ACTION(() => this._tag(
|
|
4864
|
+
const i = this.getLexerPosition(), r = this.SUBRULE(this._ruleFunctionArguments), s = n, o = this.ACTION(() => this._tag(h(s, r), i)), a = this.OPTION(() => this.CONSUME(t));
|
|
4865
4865
|
this.ACTION(() => {
|
|
4866
4866
|
a || this._reportError(o, "Missing closing parenthesis ')'", i), this._tagClose(o, this.getLexerPosition()), n = o;
|
|
4867
4867
|
});
|
|
@@ -4883,7 +4883,7 @@ var ai = {
|
|
|
4883
4883
|
for (; e.length > 1;) {
|
|
4884
4884
|
let t = e.length - 1;
|
|
4885
4885
|
for (let n = 0; n < t; n++) {
|
|
4886
|
-
const i = e[n], r = e[n + 1], s =
|
|
4886
|
+
const i = e[n], r = e[n + 1], s = R(" ", i, r, !0), o = this._tokenMap.get(i);
|
|
4887
4887
|
o && delete o.tokenIndexClose;
|
|
4888
4888
|
const a = this._tokenMap.get(r), c = a?.tokenIndex;
|
|
4889
4889
|
if (void 0 !== c) {
|
|
@@ -4913,13 +4913,13 @@ var ai = {
|
|
|
4913
4913
|
}), t;
|
|
4914
4914
|
}), this._ruleParen = this.RULE("ruleParen", () => {
|
|
4915
4915
|
const { OpenParen: e, CloseParen: t } = this._vocab;
|
|
4916
|
-
return this._processParen(
|
|
4916
|
+
return this._processParen(N.Paren, e, t);
|
|
4917
4917
|
}), this._ruleLiteralArray = this.RULE("ruleLiteralArray", () => {
|
|
4918
4918
|
const { OpenCurlyParen: e, CloseCurlyParen: t, ColSeparator: n, RowSeparator: i } = this._vocab;
|
|
4919
4919
|
let r = s();
|
|
4920
4920
|
this.CONSUME(e);
|
|
4921
|
-
const
|
|
4922
|
-
let
|
|
4921
|
+
const a = this.getLexerPosition();
|
|
4922
|
+
let c = this.ACTION(() => this._tag(o(r), a));
|
|
4923
4923
|
const h = this.SUBRULE(this._ruleLiteralForArray);
|
|
4924
4924
|
this.ACTION(() => {
|
|
4925
4925
|
r.value.push(h);
|
|
@@ -4930,29 +4930,29 @@ var ai = {
|
|
|
4930
4930
|
} }, { ALT: () => this.CONSUME(i) }]);
|
|
4931
4931
|
const t = this.SUBRULE2(this._ruleLiteralForArray);
|
|
4932
4932
|
this.ACTION(() => {
|
|
4933
|
-
e || (r = s(),
|
|
4933
|
+
e || (r = s(), c.value.push(r)), r.value.push(t);
|
|
4934
4934
|
});
|
|
4935
4935
|
});
|
|
4936
4936
|
const l = this.OPTION(() => this.CONSUME(t));
|
|
4937
|
-
return
|
|
4937
|
+
return c = this.ACTION(() => (l || this._reportError(c, "Missing closing parenthesis '}'", a), this._tagClose(c, this.getLexerPosition()))), c;
|
|
4938
4938
|
}), this._ruleLiteralForArray = this.RULE("ruleLiteralForArray", () => {
|
|
4939
|
-
const { StringToken: e, BooleanToken: t, LiteralError:
|
|
4939
|
+
const { StringToken: e, BooleanToken: t, LiteralError: i, RefError: r } = this._vocab;
|
|
4940
4940
|
return this.OR([
|
|
4941
4941
|
{ ALT: () => {
|
|
4942
|
-
const e = this.OPTION(() => this.SUBRULE(this._rulePlusMinusOp)), t = this.SUBRULE(this._ruleNumber), n = this.ACTION(() => this._tag(
|
|
4943
|
-
return this.ACTION(() => e ?
|
|
4942
|
+
const e = this.OPTION(() => this.SUBRULE(this._rulePlusMinusOp)), t = this.SUBRULE(this._ruleNumber), n = this.ACTION(() => this._tag(d(t.image, this._locale), this.getLexerPosition()));
|
|
4943
|
+
return this.ACTION(() => e ? E(e.image, n) : n);
|
|
4944
4944
|
} },
|
|
4945
4945
|
{ ALT: () => {
|
|
4946
4946
|
const t = this.CONSUME(e);
|
|
4947
|
-
return this.ACTION(() => this._tag(
|
|
4947
|
+
return this.ACTION(() => this._tag(l(t.image), this.getLexerPosition()));
|
|
4948
4948
|
} },
|
|
4949
4949
|
{ ALT: () => {
|
|
4950
4950
|
const e = this.CONSUME(t);
|
|
4951
4951
|
return this.ACTION(() => this._tag(g(e.image, this._locale), this.getLexerPosition()));
|
|
4952
4952
|
} },
|
|
4953
4953
|
{ ALT: () => {
|
|
4954
|
-
const e = this.CONSUME(
|
|
4955
|
-
return this.ACTION(() => this._tag(
|
|
4954
|
+
const e = this.CONSUME(i);
|
|
4955
|
+
return this.ACTION(() => this._tag(n(e.image, this._locale), this.getLexerPosition()));
|
|
4956
4956
|
} },
|
|
4957
4957
|
{ ALT: () => {
|
|
4958
4958
|
const e = this.CONSUME(r);
|
|
@@ -4960,23 +4960,23 @@ var ai = {
|
|
|
4960
4960
|
} }
|
|
4961
4961
|
]);
|
|
4962
4962
|
}), this._ruleLiteral = this.RULE("ruleLiteral", () => {
|
|
4963
|
-
const { StringToken: e, BooleanToken: t, LiteralError:
|
|
4963
|
+
const { StringToken: e, BooleanToken: t, LiteralError: i, RefError: r } = this._vocab;
|
|
4964
4964
|
return this.OR([
|
|
4965
4965
|
{ ALT: () => {
|
|
4966
4966
|
const e = this.SUBRULE(this._ruleNumber);
|
|
4967
|
-
return this.ACTION(() => this._tag(
|
|
4967
|
+
return this.ACTION(() => this._tag(d(e.image, this._locale), this.getLexerPosition()));
|
|
4968
4968
|
} },
|
|
4969
4969
|
{ ALT: () => {
|
|
4970
4970
|
const t = this.CONSUME(e);
|
|
4971
|
-
return this.ACTION(() => this._tag(
|
|
4971
|
+
return this.ACTION(() => this._tag(l(t.image), this.getLexerPosition()));
|
|
4972
4972
|
} },
|
|
4973
4973
|
{ ALT: () => {
|
|
4974
4974
|
const e = this.CONSUME(t);
|
|
4975
4975
|
return this.ACTION(() => this._tag(g(e.image, this._locale), this.getLexerPosition()));
|
|
4976
4976
|
} },
|
|
4977
4977
|
{ ALT: () => {
|
|
4978
|
-
const e = this.CONSUME(
|
|
4979
|
-
return this.ACTION(() => this._tag(
|
|
4978
|
+
const e = this.CONSUME(i);
|
|
4979
|
+
return this.ACTION(() => this._tag(n(e.image, this._locale), this.getLexerPosition()));
|
|
4980
4980
|
} },
|
|
4981
4981
|
{ ALT: () => {
|
|
4982
4982
|
const e = this.CONSUME(r);
|
|
@@ -4987,7 +4987,7 @@ var ai = {
|
|
|
4987
4987
|
const { FunctionToken: e, OpenParen: t, CloseParen: n } = this._vocab, i = this.CONSUME(e).image, r = this.getLexerPosition();
|
|
4988
4988
|
this.CONSUME(t);
|
|
4989
4989
|
const s = this.SUBRULE(this._ruleFunctionArguments);
|
|
4990
|
-
let o = this.ACTION(() => this._tag(
|
|
4990
|
+
let o = this.ACTION(() => this._tag(A(i, s), r));
|
|
4991
4991
|
const a = this.OPTION(() => this.CONSUME(n));
|
|
4992
4992
|
return o = this.ACTION(() => (a || this._reportError(o, "Missing closing parenthesis ')'", r), this._tagClose(o, this.getLexerPosition()))), o;
|
|
4993
4993
|
}), this._ruleFunctionArguments = this.RULE("ruleFunctionArguments", () => {
|
|
@@ -4998,11 +4998,11 @@ var ai = {
|
|
|
4998
4998
|
let t;
|
|
4999
4999
|
this.OPTION2(() => {
|
|
5000
5000
|
t = this.SUBRULE(this._ruleIntersectOp);
|
|
5001
|
-
}), t = this.ACTION(() => t ?? this._tagClose(
|
|
5001
|
+
}), t = this.ACTION(() => t ?? this._tagClose(a(), this.getLexerPosition())), n.push(t), this.MANY(() => {
|
|
5002
5002
|
let t;
|
|
5003
5003
|
this.CONSUME(e), this.OPTION3(() => {
|
|
5004
5004
|
t = this.SUBRULE2(this._ruleIntersectOp);
|
|
5005
|
-
}), t = this.ACTION(() => t ?? this._tagClose(
|
|
5005
|
+
}), t = this.ACTION(() => t ?? this._tagClose(a(), this.getLexerPosition())), n.push(t);
|
|
5006
5006
|
});
|
|
5007
5007
|
}
|
|
5008
5008
|
}), n;
|
|
@@ -5021,8 +5021,8 @@ var ai = {
|
|
|
5021
5021
|
return this._tag(e.root, n);
|
|
5022
5022
|
});
|
|
5023
5023
|
}), this._ruleReference = this.RULE("ruleReference", () => {
|
|
5024
|
-
const { Sheet: e, SheetQuoted: t, DivOp: n, MulOp: i, PlusOp: s, MinOp: o, ArgSeparator: a, Cell: c, NamedToken: h, SingleQuotedString: l, Column: u, AbsRow: d, DigitToken: p, RefError:
|
|
5025
|
-
let
|
|
5024
|
+
const { Sheet: e, SheetQuoted: t, DivOp: n, MulOp: i, PlusOp: s, MinOp: o, ArgSeparator: a, Cell: c, NamedToken: h, SingleQuotedString: l, Column: u, AbsRow: d, DigitToken: p, RefError: E } = this._vocab;
|
|
5025
|
+
let T, g;
|
|
5026
5026
|
this.OPTION2({
|
|
5027
5027
|
GATE: () => {
|
|
5028
5028
|
for (let r = 1; r < 6; r++) {
|
|
@@ -5033,13 +5033,13 @@ var ai = {
|
|
|
5033
5033
|
return !1;
|
|
5034
5034
|
},
|
|
5035
5035
|
DEF: () => {
|
|
5036
|
-
|
|
5036
|
+
g = this.getLexerPosition() + 1, T = this.SUBRULE(this._rulePrefixSheetName);
|
|
5037
5037
|
}
|
|
5038
5038
|
});
|
|
5039
|
-
let
|
|
5039
|
+
let O = this.OR([
|
|
5040
5040
|
{ ALT: () => {
|
|
5041
5041
|
const e = this.CONSUME(c), t = this.getLexerPosition();
|
|
5042
|
-
return this.ACTION(() => this._tag(
|
|
5042
|
+
return this.ACTION(() => this._tag(m(e.image, this.rowIndex, this.colIndex), t));
|
|
5043
5043
|
} },
|
|
5044
5044
|
{ ALT: () => {
|
|
5045
5045
|
const e = this.OR2([{ ALT: () => this.CONSUME(h) }, { ALT: () => this.CONSUME(l) }]);
|
|
@@ -5049,32 +5049,32 @@ var ai = {
|
|
|
5049
5049
|
{ ALT: () => this.SUBRULE(this._ruleFunction) },
|
|
5050
5050
|
{ ALT: () => {
|
|
5051
5051
|
const e = this.CONSUME(u);
|
|
5052
|
-
return this.ACTION(() => this._tag(
|
|
5052
|
+
return this.ACTION(() => this._tag(f(e.image, this.colIndex), this.getLexerPosition()));
|
|
5053
5053
|
} },
|
|
5054
5054
|
{ ALT: () => {
|
|
5055
5055
|
const e = this.CONSUME(d);
|
|
5056
|
-
return this.ACTION(() => this._tag(
|
|
5056
|
+
return this.ACTION(() => this._tag(y(e.image, this.rowIndex), this.getLexerPosition()));
|
|
5057
5057
|
} },
|
|
5058
5058
|
{ ALT: () => {
|
|
5059
5059
|
const e = this.CONSUME(p);
|
|
5060
|
-
return this.ACTION(() => this._tag(
|
|
5060
|
+
return this.ACTION(() => this._tag(y(e.image, this.rowIndex), this.getLexerPosition()));
|
|
5061
5061
|
} },
|
|
5062
5062
|
{ ALT: () => {
|
|
5063
|
-
const e = this.CONSUME(
|
|
5063
|
+
const e = this.CONSUME(E);
|
|
5064
5064
|
return this.ACTION(() => this._tag(C(e.image, this._locale), this.getLexerPosition()));
|
|
5065
5065
|
} }
|
|
5066
5066
|
]);
|
|
5067
5067
|
return this.ACTION(() => {
|
|
5068
|
-
if (
|
|
5069
|
-
if ("" ===
|
|
5070
|
-
let e =
|
|
5071
|
-
if (
|
|
5072
|
-
e.value.scope =
|
|
5068
|
+
if (T && O) {
|
|
5069
|
+
if ("" === T.name) return void this._reportError(O, `'${T.image}' is not a valid sheet reference — a '!' needs a sheet name before it`);
|
|
5070
|
+
let e = O;
|
|
5071
|
+
if (O.type === N.Postfix && O.inputs?.[0] && (e = O.inputs[0]), e.type === N.Cell || e.type === N.Named || e.type === N.Row || e.type === N.TableColumn || e.type === N.Error) {
|
|
5072
|
+
e.value.scope = T.name, e.value.scopeImage = T.image;
|
|
5073
5073
|
const t = this._tokenMap.get(e);
|
|
5074
|
-
t && void 0 !==
|
|
5074
|
+
t && void 0 !== g && (t.tokenIndex = g);
|
|
5075
5075
|
}
|
|
5076
5076
|
}
|
|
5077
|
-
}),
|
|
5077
|
+
}), O;
|
|
5078
5078
|
}), this._rulePrefixSheetName = this.RULE("rulePrefixSheetName", () => {
|
|
5079
5079
|
const { SheetQuoted: e, BracketedString: t, NamedToken: n, Column: i, RangeOp: r, Sheet: s } = this._vocab;
|
|
5080
5080
|
return this.OR([{ ALT: () => {
|
|
@@ -5114,12 +5114,12 @@ var ai = {
|
|
|
5114
5114
|
return this.MANY(() => {
|
|
5115
5115
|
this.CONSUME(e), n.push(this.SUBRULE2(this._ruleIntersectOp));
|
|
5116
5116
|
}), this.ACTION(() => 0 === n.length ? t : {
|
|
5117
|
-
type:
|
|
5117
|
+
type: N.List,
|
|
5118
5118
|
value: ",",
|
|
5119
5119
|
inputs: [t, ...n],
|
|
5120
5120
|
isReference: !0
|
|
5121
5121
|
});
|
|
5122
|
-
}), this._lexer =
|
|
5122
|
+
}), this._lexer = i, this._locale = i.getLocale(), this._vocab = c, this._srParser = e?.srParser ?? new Jn(this._locale), this.performSelfAnalysis();
|
|
5123
5123
|
}
|
|
5124
5124
|
getLexer() {
|
|
5125
5125
|
return this._lexer;
|
|
@@ -5129,21 +5129,21 @@ var ai = {
|
|
|
5129
5129
|
let o;
|
|
5130
5130
|
if (!s) return {
|
|
5131
5131
|
root: {
|
|
5132
|
-
type:
|
|
5132
|
+
type: N.Unparsed,
|
|
5133
5133
|
value: i
|
|
5134
5134
|
},
|
|
5135
5135
|
errors: []
|
|
5136
5136
|
};
|
|
5137
5137
|
const a = s.tokens;
|
|
5138
5138
|
if (0 === a.length) throw new e.Parse(ri);
|
|
5139
|
-
return this.input = a, this._inputText = i, this._inputTextLength = i.length, this.rowIndex = t, this.colIndex = n, this._astErrors = [], this._tokenMap = /* @__PURE__ */ new Map(), this.reset(), o = this._ruleRoot(), o && this._bindAllWhitespace(o), o =
|
|
5139
|
+
return this.input = a, this._inputText = i, this._inputTextLength = i.length, this.rowIndex = t, this.colIndex = n, this._astErrors = [], this._tokenMap = /* @__PURE__ */ new Map(), this.reset(), o = this._ruleRoot(), o && this._bindAllWhitespace(o), o = S(o, (e, n) => {
|
|
5140
5140
|
const i = e.type, s = n?.isReference ? n.value : void 0, o = "string" == typeof s && ei.has(s), a = "string" == typeof s && ti.has(s), c = o ? n.inputs : void 0, h = c ? c[0] === e ? c[1] : c[0] : void 0, l = this._lexer.getMaxRow();
|
|
5141
|
-
if (o && i !==
|
|
5142
|
-
const n =
|
|
5141
|
+
if (o && i !== N.Cell && Number.isInteger(e.value)) {
|
|
5142
|
+
const n = y(e.image, t);
|
|
5143
5143
|
return k(n, e), "row" !== ni(h) ? this._reportError(n, `'${e.image}' is not a valid reference — a whole row can only pair with another row (as in ${e.image}:${e.image})`) : ii(e.image, l) || this._reportError(n, `'${e.image}' is not a valid row — rows run from 1 to ${l}`), n;
|
|
5144
5144
|
}
|
|
5145
|
-
if (a && i ===
|
|
5146
|
-
if (i ===
|
|
5145
|
+
if (a && i === N.Named) return this._reportError(e, `'${e.image ?? e.value?.nameId}' is a name — '${s}' needs a cell or range on both sides`), e;
|
|
5146
|
+
if (i === N.Cell) {
|
|
5147
5147
|
const t = e.value, n = t.colIndex === Number.MIN_SAFE_INTEGER, i = t.rowIndex === Number.MIN_SAFE_INTEGER;
|
|
5148
5148
|
if ((n || i) && ni(h) === (n ? "row" : "col")) return n && !ii(e.image, l) && this._reportError(e, `'${e.image}' is not a valid row — rows run from 1 to ${l}`), e;
|
|
5149
5149
|
if (n || i || t.colIndex >= 16384) {
|
|
@@ -5211,7 +5211,7 @@ var ai = {
|
|
|
5211
5211
|
_bindAllWhitespace(e) {
|
|
5212
5212
|
if (e) {
|
|
5213
5213
|
if (this._bindNodeWhitespace(e), e.inputs) for (const t of e.inputs) t && this._bindAllWhitespace(t);
|
|
5214
|
-
if (e.type ===
|
|
5214
|
+
if (e.type === N.Array && Array.isArray(e.value)) {
|
|
5215
5215
|
for (const t of e.value) if (t && Array.isArray(t.value)) for (const e of t.value) e && this._bindAllWhitespace(e);
|
|
5216
5216
|
}
|
|
5217
5217
|
}
|
|
@@ -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.15
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|
|
@@ -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.15
|
|
3
3
|
*
|
|
4
4
|
* (C) 2026-present SheetXL Inc. & Michael T. Ford
|
|
5
5
|
* License: The license can be found at https://www.sheetxl.com/license.
|