@sheetxl/mcp 0.8.0-beta.16 → 0.8.0-beta.17

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.
Files changed (178) hide show
  1. package/agent/instructions.md +15 -4
  2. package/assets/{B_nQLUWaxp-Q1IfV.js → -cMvbaW1kvHslPKX.js} +2 -2
  3. package/assets/{D1g6IOzdvInVLV-x.js → 0kfwZuOHUkJmVjg6.js} +6 -6
  4. package/assets/{Gqh12ggLm5KlvN3v.js → 1feDuXw6tBXu2XFg.js} +1 -1
  5. package/assets/{DmLbqbAez7Dzwyl7.js → 4qMP71Fe1Ep8kbOX.js} +1 -1
  6. package/assets/{AjWB-QdIkr07kToW.js → 7TRx0dMYnL2i4tqL.js} +193 -193
  7. package/assets/{iqQWGoJaPha0_8lU.js → 8cVPexxAVrFJ9QLX.js} +1 -1
  8. package/assets/{C-AIgWmHugqMcl9J.js → APP8AzsNgQXHTalA.js} +2 -2
  9. package/assets/{Cl98sBOj9GM2XnFe.js → AnF1Kh3Vo2AniIYO.js} +2 -2
  10. package/assets/{B2YEEPHIkNcezk9T.js → B2BfjRdJGZs6afVL.js} +2 -2
  11. package/assets/{DEIkGoOZ_WeuY0Lj.js → B2UxLSteMiPlg8Uu.js} +1 -1
  12. package/assets/{BiGm1tKvxUh8oWbD.js → B3mh2tuvP-lMP6f_.js} +1 -1
  13. package/assets/{CG8zvnxueimOY7wm.js → B6NnxkSmEzCGZEZA.js} +1 -1
  14. package/assets/{DFAqI-o57Kd_Azlt.js → B7Nqa7V-v0cxGBux.js} +1 -1
  15. package/assets/{DTLbKr_XIJMwQJmk.js → B7OyFSpBb1eBvMVd.js} +13 -13
  16. package/assets/{CFdJvXLSbUrvNera.js → B8JX7a6VZlBNA_Bd.js} +8 -8
  17. package/assets/{Z01wJImjl6lBMpf4.js → B9J8nV-dh6jHpzZI.js} +1 -1
  18. package/assets/{C75i_5ip7OhGkuiF.js → B9M_sgHpoc-op6FF.js} +1 -1
  19. package/assets/{POdlv6cpSx6ftJxx.js → BBC_WF8BcAH-k_cQ.js} +1 -1
  20. package/assets/{DdrsYdX3bLixdb_9.js → BGZ_ltNFYvnAmbVR.js} +1 -1
  21. package/assets/{BNrpvJZtIL0Ex_wE.js → BJBoygm-gY68bLAP.js} +15 -15
  22. package/assets/{SaCo3me4_hw2b1L4.js → BJdWgj1hv57eGVl4.js} +389 -389
  23. package/assets/{Co_y6GfwJTYtOmlt.js → BKRLtOdVOUTrLjQN.js} +3 -3
  24. package/assets/{DNhfziNrJGdL8BYs.js → BKjovBsLpX2Fkhov.js} +6 -6
  25. package/assets/{pQUJKbHGetb7dcOr.js → BMJhHHX2LWgOJWGz.js} +1 -1
  26. package/assets/{D-irgQZ2WmkP9dnK.js → BOx4Ut_Rme7NH34X.js} +1 -1
  27. package/assets/{DfzLOnWTNL_2J90y.js → BQYpVYbvfWuUJgdx.js} +1 -1
  28. package/assets/{BtNRIFE92ka4hATo.js → BS4ZsfH5D6aemSpO.js} +1 -1
  29. package/assets/{CZepo1lDTQp1myg6.js → BSAdmOdx3brRE9LW.js} +1 -1
  30. package/assets/{DFn_thWGK0_EZI5k.js → BSY9Tbmz6VEY_F_x.js} +1 -1
  31. package/assets/{Dd8CHUZz7xuYTfp-.js → BT8AGlSg2t7V1QNj.js} +488 -488
  32. package/assets/{SB2aKOIVln0EkgXR.js → BUV7BlOZcuPgDZ__.js} +1 -1
  33. package/assets/{BbXlmp8W_cbr75FN.js → BX5xFncPLyeN7TqA.js} +5 -5
  34. package/assets/{3t-I20nDzFHBd5UJ.js → Bcak_hZpcIkB2gJD.js} +1 -1
  35. package/assets/{C0JSC9gVwR1QxopD.js → BdijGsy5W7yZ_I_n.js} +1 -1
  36. package/assets/{QVWayvB03YMyTKt3.js → BebXDUnlrDDRGW60.js} +2 -2
  37. package/assets/{D7iU4kaxzl_PojNt.js → BgldX21zhey2aR9D.js} +1 -1
  38. package/assets/{DQcus4X_kTKIIyX6.js → BhCbCEPpDzhg5nqL.js} +1 -1
  39. package/assets/{BZbxPclVVopktv3l.js → Bj4BFLBC9Tf6SGSt.js} +1 -1
  40. package/assets/{Di4ehJD7muvtcrN3.js → BjhAYfsKC8iEbtgn.js} +40 -40
  41. package/assets/{Ct5VTtdW77k-WcP_.js → BjnQVl1lb1KEbt2D.js} +51 -51
  42. package/assets/{CAEhAL7-0FG7jdzN.js → BlbxiLf1zD6_fWZs.js} +1 -1
  43. package/assets/{JC8UUcu6m23qqrr3.js → BmM-nHMAAuNatCcN.js} +1 -1
  44. package/assets/{BlWfQ5HPEehB_lPz.js → Bni-y4FJS4rkFYtn.js} +107 -107
  45. package/assets/{C2dG4GHThf9O-IJy.js → BodrfKIAhDFD-X3t.js} +1 -1
  46. package/assets/{C_0RM0w6Pw70Bx_Y.js → BvDcHHJvQMRHthm-.js} +1 -1
  47. package/assets/{4vS8pASPZSU7QcRZ.js → Bw_FtA-1886HMCLJ.js} +3 -3
  48. package/assets/{2GLqCzpAJP6jbaRx.js → Bxkx8QokmRNyXbOI.js} +5 -5
  49. package/assets/{B3MqN3t5naY3moOk.js → Bz1ImBvJwPwBrA5j.js} +1 -1
  50. package/assets/{BpgPKKZwxXklRyo7.js → C2NPIWe0pLs3PAZM.js} +2 -2
  51. package/assets/{DzkccbbE6iXMqQDO.js → C2ZX6ffXsMaEr2d2.js} +305 -305
  52. package/assets/{nmB0nnkFQf5NWo0i.js → C3Q-fjiZZ15waCq_.js} +2 -2
  53. package/assets/{CsjjeeOHE2624pGt.js → C46RpMrfF6FiEFI7.js} +1 -1
  54. package/assets/{LwFDS0HxPZKiiEnN.js → C4deMY87Q_haYyLF.js} +1 -1
  55. package/assets/{CW-ivE6pl3V7vKuT.js → C7iHn3y3HVBHflpA.js} +4 -4
  56. package/assets/{CVRc6jQcH155Z89u.js → CJF3P7U7yBQVF2Cg.js} +1 -1
  57. package/assets/{B16N6VSLY5HPgVkD.js → CLgvdaqeFlESLvbF.js} +1 -1
  58. package/assets/{BUAq-ENCmL0XGLIu.js → CLze192iF2o-aETZ.js} +1 -1
  59. package/assets/{CX-6eYkcr5y0VmQm.js → CMRLNLqYkiqCLMRa.js} +3 -3
  60. package/assets/{CAMrW5ypKhgn105y.js → COa691om4fLN4CUy.js} +1 -1
  61. package/assets/CSLLHl-zum7m1CJl.js +14 -0
  62. package/assets/{DJdRl2yX9DP_D8kh.js → CUbCBf24Ie4A2l4R.js} +2 -2
  63. package/assets/{CDqG64rXHp9-2tXr.js → CWLleOolFzyT0COW.js} +1 -1
  64. package/assets/{C3Wibs7QGFZ1FI7W.js → CaJ9j3l0cERnYqDS.js} +1 -1
  65. package/assets/{CrwtgrD7BbXyCkx0.js → CfA8o-FNret9-D6Y.js} +1 -1
  66. package/assets/{BbDKWV_FQAICqZjP.js → Cl7HHR6Vc9S4n3AP.js} +1 -1
  67. package/assets/{DKRa_Oc4XqB3DABB.js → CqjNsZ2OB4Kx6J3s.js} +8 -8
  68. package/assets/{soSlr334Fv1j5t2m.js → CqwEHSKivMYw7tRZ.js} +1 -1
  69. package/assets/{Dg4JXbd1yPGNZOtL.js → Cr6lm0oXZJaaoAmD.js} +1 -1
  70. package/assets/{Dp-dLoOaBndV2N5i.js → CshK6Ew7OQ7mngI3.js} +2 -2
  71. package/assets/{DBMZF6PRHCko9K9R.js → CsiIgnb_L2x2Go6g.js} +1 -1
  72. package/assets/{BYqyNLuwXl7GKuzh.js → CtmrBbpapaNwjwNB.js} +28 -28
  73. package/assets/{DvFwVzuc5YfagNnH.js → CwRhhoL5ynbe78dB.js} +1 -1
  74. package/assets/{C95HXhZkkhnUx_aE.js → CyI1eGGzJX8nJXaT.js} +2 -2
  75. package/assets/{DMhtIFfkX-DZT_e3.js → Cz4H3Qge2u8er3Ny.js} +3 -3
  76. package/assets/{BrtLeTsrulaU6osB.js → D0OQ6ka8so0BWPwL.js} +1 -1
  77. package/assets/{CJa8JVvKGVBz8Q7q.js → D336KioeSjd-T8n3.js} +2 -2
  78. package/assets/{DBANZf_eAzaCFdIj.js → D5L35C8cbX16BSCF.js} +227 -227
  79. package/assets/{DOZ40EyxD3m0gCos.js → D5VFuX1h50V2jLmZ.js} +305 -305
  80. package/assets/{5B_tapYOcjOv1wGO.js → D6ON3ZLcTAXV3fO6.js} +8353 -8352
  81. package/assets/{BsFWmVYPrLyh5Dre.js → DDhPOQPc-lpyZrUJ.js} +4 -4
  82. package/assets/{iULnLPcNKVpz00r7.js → DE4xC78p5UtS7wH6.js} +1 -1
  83. package/assets/{-PtBguqpLi7Nr4Df.js → DF7-oRscXc_vkMo8.js} +1 -1
  84. package/assets/{BIUUGUhypimIDg2a.js → DMuOMpgIhVgB3eG8.js} +1 -1
  85. package/assets/{TNQaiw20sEAEUiK5.js → DPKeRb9GKmh_WCPv.js} +1 -1
  86. package/assets/{9MXt8KXdWlbEJNc2.js → DSsH28SW8CMrSL-q.js} +1 -1
  87. package/assets/{D2YdqNWXwSHJMPbA.js → DV6WSFmSEKfb3d2s.js} +4 -4
  88. package/assets/{Bdt9nQs8gDIzu_IG.js → DYJcfrNUUJQtxXWX.js} +1 -1
  89. package/assets/{DLhlBqwsDnmscAuL.js → D_peM8fbRgGaWvpq.js} +1 -1
  90. package/assets/{D7ibkNIu_Pn4TeBD.js → DeEZvPW-VvlE28oE.js} +3 -3
  91. package/assets/{CL1-ziDI0aAaVbhJ.js → Dgi2xwb2DN2Gybj3.js} +2 -2
  92. package/assets/{BiE9M6RctwQ339_7.js → DidhZpf9qJAei29Y.js} +1 -1
  93. package/assets/{BlIrJwQGEASCgJdZ.js → Dkg-LQVsZlrHk7A8.js} +1 -1
  94. package/assets/{BBPjYcS8XKQREith.js → DnTfXqCnRCe-1QYI.js} +61 -61
  95. package/assets/{CVbRpT7QPHOMgwTx.js → DoBvgI3Ry8DlGzwQ.js} +1 -1
  96. package/assets/{BjDsx_FHl0mShqHX.js → DrHVew6gwOB6oxCn.js} +1 -1
  97. package/assets/{BRLA4pJWiYdpW-69.js → Dre79rTMoYYikNuB.js} +19 -19
  98. package/assets/{DaILIYfy-jPVTXjz.js → DsCNtBR5jCeqmLBS.js} +2 -2
  99. package/assets/{W2FU69Pfo4chpqtk.js → Dzz3yrKbECzg6caR.js} +1 -1
  100. package/assets/{nDmE2I07HvkpRdR0.js → FvxN6PPps-rNPDo8.js} +1 -1
  101. package/assets/{DfWWAHOjmhqvN3m_.js → G2Wjyx_ETCAcofwm.js} +130 -130
  102. package/assets/{YXC__Myl-BuIFW6s.js → IGAV8DdYH32cW8XU.js} +1 -1
  103. package/assets/{C-gN7uBg-MWHRo4g.js → Jd71-QCmFEcDcYSw.js} +1 -1
  104. package/assets/{CBPkPTmeaEokFPSI.js → Ljri8sTW3dWT4clD.js} +1 -1
  105. package/assets/{D3bxrF1Ys2GSVfQH.js → MW2nt7se27FlH9Yb.js} +1 -1
  106. package/assets/{8NrxfSWBHDaEJvhz.js → Mgs_OJP41a-Nfac3.js} +1 -1
  107. package/assets/{CvJkwRgwm80S2bcd.js → OHBzl-tZOi9Ni8YV.js} +1 -1
  108. package/assets/{BR66nPIzyzlOcP10.js → PbBzI4PlKpCgULLd.js} +1 -1
  109. package/assets/{DR9xHYH6v5G0lOqf.js → UH_biJmLrI9SvckA.js} +3 -3
  110. package/assets/{DFvs1LVzXKm1N5M2.js → Xe7sA_mEwDQpJjcF.js} +2 -2
  111. package/assets/{Dy67BUF2yd8VRPwL.js → YFiGplEq1G4XdCJ2.js} +1 -1
  112. package/assets/{BuhHuKVWppW4L8AV.js → YQtUMMGmb1_WFsh_.js} +1 -1
  113. package/assets/{BCSRsSAEPlwR59H5.js → dcvgOfBmWFTsXoT8.js} +4 -4
  114. package/assets/{Ci7-PIIhZwb2mVv5.js → iBgLe32XErisaUSr.js} +1 -1
  115. package/assets/{rfwqMukKbJBeJBuC.js → kpS1vY0DcE9p8JnI.js} +2 -2
  116. package/assets/{BdMebk9YSA0oxQ_d.js → lcIaYgz4tQGBlzlo.js} +67 -67
  117. package/assets/{CK9h6iDOreaI8GEt.js → nQbVdQrfdz3osBdi.js} +3 -3
  118. package/assets/{CoIjAX2gECGb3Wxl.js → oJNJQJEDQCsjHSmo.js} +1 -1
  119. package/assets/{3_NofB4A4Qhl-4YY.js → qgW-p2sFhMtuu5yw.js} +1 -1
  120. package/assets/{h6EQSu5n2vTsu2yd.js → z24-oIqP_fu2hsOt.js} +1 -1
  121. package/assets/{CIqJdIUKSLZkNwHy.js → z7nDK_gfX7G37XbZ.js} +34 -34
  122. package/index.js +205 -205
  123. package/lib.js +1 -1
  124. package/licenses/dependencies.txt +35 -35
  125. package/package.json +2 -2
  126. package/screenshot-page/assets/{D8s3sJnhFxbI3Dqn.js → 7Xk_eQAcM_HgWrOC.js} +1 -1
  127. package/screenshot-page/assets/{CQFj5AGXfIA9z9zI.js → B1W17rc9ilPFCh31.js} +1 -1
  128. package/screenshot-page/assets/B8UkvH0o9n_G5UO9.js +3 -0
  129. package/screenshot-page/assets/{CZa1rha3RnQUWyOk.js → BD96fN2dSVuoME09.js} +4 -4
  130. package/screenshot-page/assets/BE8ea8S0Q-qogeEs.js +2 -0
  131. package/screenshot-page/assets/{BU5S8KEzPmIA_Flm.js → BKwVcuWOKeH2xREA.js} +1 -1
  132. package/screenshot-page/assets/BNMBa8EZgWX2Eb3c.js +1 -0
  133. package/screenshot-page/assets/{Db6bZVJ-184DJIoe.js → BQCyH9YbEgnH78Ke.js} +2 -2
  134. package/screenshot-page/assets/BcDxaEii3arJqOym.js +1 -0
  135. package/screenshot-page/assets/Be-rukvcufhLamH5.js +1 -0
  136. package/screenshot-page/assets/{Dq7wGcTrNIshovlT.js → Bh33WyohJvbKZVQN.js} +2 -2
  137. package/screenshot-page/assets/C2ty_K_uix4ooip6.js +1 -0
  138. package/screenshot-page/assets/C9mUKjQ3yEzRu9j2.js +2 -0
  139. package/screenshot-page/assets/{DDkL9PZPXAggW2Yr.js → CB2mQ5rbaSw2W4ik.js} +23 -23
  140. package/screenshot-page/assets/{DLFFFQjTi5Ji1940.js → CCVAsuUimIJOkBnk.js} +1 -1
  141. package/screenshot-page/assets/{D7biuwkvm3zAwsBa.js → COoMVTzF50qBNFEu.js} +3 -3
  142. package/screenshot-page/assets/{Bir0SSOHX0w2yo8h.js → CSMEGhAHxl5-4FxB.js} +1 -1
  143. package/screenshot-page/assets/{rOzyaU7hqchMbhRL.js → CT7cY57t9j1sBhAy.js} +1 -1
  144. package/screenshot-page/assets/{BJ2r2WfEL3SgkBAX.js → CTjUtxDw6Z2I9OGc.js} +1 -1
  145. package/screenshot-page/assets/{BIrVK5hdDCUYmxGO.js → CUZobZ3mfNAdEisS.js} +1 -1
  146. package/screenshot-page/assets/{ClzJdxlUDDtBYjH8.js → C_OuKbe6z1it80cj.js} +1 -1
  147. package/screenshot-page/assets/Cbcv49b9jWyY4HKj.js +2 -0
  148. package/screenshot-page/assets/CtZFqwLoeJOvwFrl.js +42 -0
  149. package/screenshot-page/assets/Cz6KFmsp267l_VZS.js +1 -0
  150. package/screenshot-page/assets/{lgeNUp9cU20IAotv.js → D0koRjO2KnWQ1fNV.js} +1 -1
  151. package/screenshot-page/assets/{cTMKPkmZF8FWQaMn.js → DCP8JXEeiwAMiVD2.js} +1 -1
  152. package/screenshot-page/assets/DQAZPADvH5lhlMnK.js +1 -0
  153. package/screenshot-page/assets/DQBUH0j44Vtrykua.js +13 -0
  154. package/screenshot-page/assets/{DyiVrm8mEnEaoZHa.js → DSKOOgcJQeqIc9Us.js} +1 -1
  155. package/screenshot-page/assets/{CguXw0IcKNPbmAbj.js → DXaM3CulPA3aPGV1.js} +2 -2
  156. package/screenshot-page/assets/{CqyMYduWKFvmMs_Z.js → DcUOAH274IbYOuK1.js} +1 -1
  157. package/screenshot-page/assets/{CRsTnamLrPN5-Dsi.js → DdXSKhFUAsKUsQ1u.js} +1 -1
  158. package/screenshot-page/assets/Djl40tfWoPJSvqtv.js +1 -0
  159. package/screenshot-page/assets/TCImIYUUdVD4Z35I.js +1 -0
  160. package/screenshot-page/assets/dQsis-90Up-pIkSq.js +4 -0
  161. package/screenshot-page/assets/{Dn5PwRw7rrTKNnql.js → dXn1GWWjYmuLb1HF.js} +8 -8
  162. package/screenshot-page/index.html +5 -5
  163. package/assets/DsTi7zHk_Xl37bAD.js +0 -14
  164. package/screenshot-page/assets/B7eQ3rE-7Vayb_4O.js +0 -2
  165. package/screenshot-page/assets/B8i4Sr2kMQAXp0rb.js +0 -4
  166. package/screenshot-page/assets/BIHbD4jMsk3NetOd.js +0 -1
  167. package/screenshot-page/assets/BJviQwDXR5L6l1DA.js +0 -1
  168. package/screenshot-page/assets/BM78thqEW6HwXFAK.js +0 -13
  169. package/screenshot-page/assets/C2H2lX8eyKpxpP6M.js +0 -2
  170. package/screenshot-page/assets/CYfkL98Zu43S8-50.js +0 -42
  171. package/screenshot-page/assets/CzsoLbEIUVK5ia1C.js +0 -1
  172. package/screenshot-page/assets/D2IHCJ1QWDKwmhge.js +0 -1
  173. package/screenshot-page/assets/DMxrNtfw275en7pm.js +0 -1
  174. package/screenshot-page/assets/D_kJ3WunvjIINcHC.js +0 -1
  175. package/screenshot-page/assets/DhB6GjSJIeTmIODk.js +0 -1
  176. package/screenshot-page/assets/TilS2JSBGVkd1za3.js +0 -3
  177. package/screenshot-page/assets/UKFgEuwI1UMhPqKF.js +0 -2
  178. package/screenshot-page/assets/hlxJ87-H830aSZBQ.js +0 -1
package/index.js CHANGED
@@ -1,24 +1,24 @@
1
1
  #!/usr/bin/env node
2
2
  /**
3
- * @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.16
3
+ * @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.17
4
4
  *
5
5
  * (C) 2026-present SheetXL Inc. & Michael T. Ford
6
6
  * License: SheetXL EULA — https://www.sheetxl.com/eula
7
7
  */
8
- import { H as e, K as t, lt as n, z as o } from "./assets/CrwtgrD7BbXyCkx0.js";
9
- import { o as r } from "./assets/DaILIYfy-jPVTXjz.js";
10
- import { Dt as s, F as a, G as i, ht as l, k as c, lt as u, p as d } from "./assets/BNrpvJZtIL0Ex_wE.js";
11
- import { d as h, i as g, m, p } from "./assets/D3bxrF1Ys2GSVfQH.js";
12
- import { B as f, Lr as w, Ri as $, St as y, br as b, ea as k, fa as S, gr as x, ji as v, mt as C, si as E, ti as R, wa as j } from "./assets/5B_tapYOcjOv1wGO.js";
13
- import { t as I } from "./assets/D1g6IOzdvInVLV-x.js";
14
- import { b as T, d as N, j as A, m as M, o as F } from "./assets/DOZ40EyxD3m0gCos.js";
15
- import { t as _ } from "./assets/BbXlmp8W_cbr75FN.js";
8
+ import { H as e, K as t, lt as n, z as o } from "./assets/CfA8o-FNret9-D6Y.js";
9
+ import { o as r } from "./assets/DsCNtBR5jCeqmLBS.js";
10
+ import { Dt as s, F as a, G as i, ht as l, k as c, lt as u, p as d } from "./assets/BJBoygm-gY68bLAP.js";
11
+ import { d as h, i as g, m, p } from "./assets/MW2nt7se27FlH9Yb.js";
12
+ import { $i as f, $r as w, Fa as $, Ft as y, Li as b, Mi as k, Nr as S, Sa as x, fa as v, fr as C, gr as E, q as R, yt as j } from "./assets/D6ON3ZLcTAXV3fO6.js";
13
+ import { t as I } from "./assets/0kfwZuOHUkJmVjg6.js";
14
+ import { b as T, d as N, j as A, m as M, o as F } from "./assets/D5VFuX1h50V2jLmZ.js";
15
+ import { t as _ } from "./assets/BX5xFncPLyeN7TqA.js";
16
16
  import { createRequire as O } from "node:module";
17
17
  import { StdioServerTransport as L } from "@modelcontextprotocol/sdk/server/stdio.js";
18
18
  import * as P from "node:os";
19
19
  import { tmpdir as D } from "node:os";
20
20
  import * as W from "node:path";
21
- import { basename as B, delimiter as V, dirname as H, extname as U, isAbsolute as q, join as z, normalize as J, resolve as X, sep as K } from "node:path";
21
+ import { basename as V, delimiter as B, dirname as H, extname as U, isAbsolute as q, join as z, normalize as J, resolve as X, sep as K } from "node:path";
22
22
  import { appendFileSync as G, existsSync as Z, mkdirSync as Y, mkdtempSync as Q, readFileSync as ee, readdirSync as te, rmSync as ne, statSync as oe, writeFileSync as re } from "node:fs";
23
23
  import { appendFile as se, mkdir as ae, readFile as ie, readdir as le, stat as ce, unlink as ue, writeFile as de } from "node:fs/promises";
24
24
  import { fileURLToPath as he } from "node:url";
@@ -38,7 +38,7 @@ var ye = Object.defineProperty, be = (((e) => {
38
38
  MAX_WORKBOOK_NAME_SIZE: () => 96,
39
39
  isReservedFileNameChar: () => Se,
40
40
  isValidFileName: () => xe
41
- }), /^(con|prn|aux|nul|com\d|lpt\d)$/i), ke = /[<>:"/\\|?*\u0000-\u001F]/, Se = (e) => ke.test(e), xe = (e) => !(!e || e.length > 255 || ke.test(e) || be.test(e) || "." === e || ".." === e), ve = t("io:sxlReader", () => import("./assets/CK9h6iDOreaI8GEt.js")), Ce = t("io:sxlWriter", () => import("./assets/C95HXhZkkhnUx_aE.js")), Ee = async (e, t) => (await ve.load()).readSXL(e, t), Re = (e) => async (t, n) => (await Ce.load()).writeSXL(t, {
41
+ }), /^(con|prn|aux|nul|com\d|lpt\d)$/i), ke = /[<>:"/\\|?*\u0000-\u001F]/, Se = (e) => ke.test(e), xe = (e) => !(!e || e.length > 255 || ke.test(e) || be.test(e) || "." === e || ".." === e), ve = t("io:sxlReader", () => import("./assets/nQbVdQrfdz3osBdi.js")), Ce = t("io:sxlWriter", () => import("./assets/CyI1eGGzJX8nJXaT.js")), Ee = async (e, t) => (await ve.load()).readSXL(e, t), Re = (e) => async (t, n) => (await Ce.load()).writeSXL(t, {
42
42
  ...n,
43
43
  compress: n?.compress ?? e.compress,
44
44
  whiteSpace: n?.whiteSpace ?? e.whiteSpace
@@ -75,13 +75,13 @@ var ye = Object.defineProperty, be = (((e) => {
75
75
  })
76
76
  }, Ae = {
77
77
  name: "SXLPlugin",
78
- version: "0.8.0-beta.16",
78
+ version: "0.8.0-beta.17",
79
79
  description: "Import and export SXL format",
80
80
  author: "SheetXL",
81
81
  async register(e) {
82
82
  await e.registerReadFormat(je), await e.registerReadFormat(Ie), await e.registerWriteFormat(Te), await e.registerWriteFormat(Ne);
83
83
  }
84
- }, Me = t("io:csvReader", () => import("./assets/2GLqCzpAJP6jbaRx.js")), Fe = t("io:csvWriter", () => import("./assets/D7ibkNIu_Pn4TeBD.js")), _e = {
84
+ }, Me = t("io:csvReader", () => import("./assets/Bxkx8QokmRNyXbOI.js")), Fe = t("io:csvWriter", () => import("./assets/DeEZvPW-VvlE28oE.js")), _e = {
85
85
  key: "CSV",
86
86
  description: "Comma Separated Values",
87
87
  mimeType: "text/csv",
@@ -95,7 +95,7 @@ var ye = Object.defineProperty, be = (((e) => {
95
95
  handler: async (e, t) => (await Fe.load()).writeCSV(e, t)
96
96
  }, Le = {
97
97
  name: "CSVPlugin",
98
- version: "0.8.0-beta.16",
98
+ version: "0.8.0-beta.17",
99
99
  description: "Import and export CSV format",
100
100
  author: "SheetXL",
101
101
  async register(e) {
@@ -103,7 +103,7 @@ var ye = Object.defineProperty, be = (((e) => {
103
103
  }
104
104
  }, Pe = {
105
105
  name: "@sheetxl/io",
106
- version: "0.8.0-beta.16",
106
+ version: "0.8.0-beta.17",
107
107
  description: "Built-in I/O formats for SheetXL",
108
108
  author: "SheetXL",
109
109
  async register(e) {
@@ -119,8 +119,8 @@ function De(e) {
119
119
  function We(e, t) {
120
120
  return e && "local" !== e ? e : t ? `local ${De(t)}` : "local";
121
121
  }
122
- var Be = () => W.join(P.homedir(), ".sheetxl", "locks");
123
- async function Ve(e) {
122
+ var Ve = () => W.join(P.homedir(), ".sheetxl", "locks");
123
+ async function Be(e) {
124
124
  try {
125
125
  return JSON.parse(await ie(e, "utf-8"));
126
126
  } catch {
@@ -140,8 +140,8 @@ async function He(e) {
140
140
  async function Ue() {
141
141
  const e = (() => {
142
142
  const e = process.env.SHEETXL_WORKSPACE ?? process.cwd(), t = ge("sha256").update(e).digest("hex").slice(0, 8);
143
- return W.join(Be(), `${t}.lock`);
144
- })(), t = await Ve(e);
143
+ return W.join(Ve(), `${t}.lock`);
144
+ })(), t = await Be(e);
145
145
  if (t) {
146
146
  if (await He(t)) return t;
147
147
  await ue(e).catch(() => {});
@@ -149,18 +149,18 @@ async function Ue() {
149
149
  return async function() {
150
150
  let e;
151
151
  try {
152
- e = (await le(Be())).filter((e) => e.endsWith(".lock"));
152
+ e = (await le(Ve())).filter((e) => e.endsWith(".lock"));
153
153
  } catch {
154
154
  return null;
155
155
  }
156
156
  if (!e.length) return null;
157
157
  const t = await Promise.all(e.map(async (e) => ({
158
158
  f: e,
159
- mtime: (await ce(W.join(Be(), e))).mtimeMs
159
+ mtime: (await ce(W.join(Ve(), e))).mtimeMs
160
160
  })));
161
161
  t.sort((e, t) => t.mtime - e.mtime);
162
162
  for (const { f: e } of t) {
163
- const t = W.join(Be(), e), n = await Ve(t);
163
+ const t = W.join(Ve(), e), n = await Be(t);
164
164
  if (n) {
165
165
  if (await He(n)) return n;
166
166
  await ue(t).catch(() => {});
@@ -417,7 +417,7 @@ function st(e) {
417
417
  t.push(`- ${e}**${n.name}**: ${n.value}${o}`);
418
418
  }
419
419
  if (t.push(""), t.push(function(e) {
420
- return e.attended ? "mcp" === e.surface ? "**Attended.** A human has that workbook open. When they are vague — \"fix this\", \"B10 looks wrong\" — they probably mean the workbook in front of them. Reach it through its session, never through the file on disk: what is on disk is stale the moment they have unsaved edits, and writing over it destroys their work with no undo. The session is yours to use — every `run` is one undoable commit — along with `highlight` marks and in-grid `prompt`s." : "**Attended.** A human has that workbook open, and there is no session to reach from the CLI — `--in` opens the file, which is the one thing you must not write back. This is a *read* surface: query, calculate, report what you found, and let them make the change or hand the work to the MCP server." : "**Unattended.** Nobody is watching. The files are yours to open, change and save directly, and nobody will catch a mistake for you — so verify your own work: read back what you wrote, recount what you fixed.";
420
+ return e.attended ? "mcp" === e.surface ? "**Attended.** A human has that workbook open and sees every change the moment it lands. When they are vague — \"fix this\", \"B10 looks wrong\" — they probably mean the workbook in front of them. Reach it through its session, never through the file on disk: what is on disk is stale the moment they have unsaved edits, and the session is where their undo lives. The session is yours to use: each `run` is one commit the user can step through and revert from the agent panel at the top right of their grid, so make the change, say what you changed, and `highlight` where — nothing about it needs a warning. In-grid `prompt`s are yours too." : "**Attended.** A human has that workbook open, and there is no session to reach from the CLI — `--in` opens the file, which is the one thing you must not write back. This is a *read* surface: query, calculate, report what you found, and let them make the change or hand the work to the MCP server." : "**Unattended.** Nobody is watching. The files are yours to open, change and save directly, and nobody will catch a mistake for you — so verify your own work: read back what you wrote, recount what you fixed.";
421
421
  }(e)), e.sessions.length) {
422
422
  t.push(""), t.push("**Sessions**"), t.push("");
423
423
  for (const n of e.sessions) {
@@ -721,7 +721,7 @@ function Wt(e, t) {
721
721
  return Dt(e);
722
722
  }
723
723
  }
724
- function Bt(e, t) {
724
+ function Vt(e, t) {
725
725
  if (t === Lt.Mode.Formula) {
726
726
  const t = e.getFormulaText();
727
727
  if (t) return {
@@ -731,7 +731,7 @@ function Bt(e, t) {
731
731
  }
732
732
  const n = e.getValue();
733
733
  if (t === Lt.Mode.Value || t === Lt.Mode.Formula || Ht(n)) {
734
- const e = Vt(n);
734
+ const e = Bt(n);
735
735
  return e?.match ? e : null;
736
736
  }
737
737
  const o = e.getText({ hideStringPrefix: !0 });
@@ -740,7 +740,7 @@ function Bt(e, t) {
740
740
  display: e.getText()
741
741
  } : null;
742
742
  }
743
- function Vt(e) {
743
+ function Bt(e) {
744
744
  if (null == e) return null;
745
745
  if ("string" == typeof e) return {
746
746
  match: e,
@@ -795,7 +795,7 @@ var Ht = (e) => "object" == typeof e && null !== e && !h.isError(e) && "function
795
795
  "shape",
796
796
  "chart",
797
797
  "name"
798
- ], zt = (e, t) => e <= t + 3 ? e : t, Jt = S.ErrorCheck, Xt = /* @__PURE__ */ new Map([
798
+ ], zt = (e, t) => e <= t + 3 ? e : t, Jt = v.ErrorCheck, Xt = /* @__PURE__ */ new Map([
799
799
  [Jt.InconsistentFormula, "inconsistent formula"],
800
800
  [Jt.OmittedCells, "omits adjacent cells"],
801
801
  [Jt.NumberAsText, "number stored as text"],
@@ -899,7 +899,7 @@ function nn(e, t) {
899
899
  return null === r || null === s ? e : s + r;
900
900
  });
901
901
  }
902
- var on = (e) => String(e + 1), rn = (e) => (R.cellToString({
902
+ var on = (e) => String(e + 1), rn = (e) => (w.cellToString({
903
903
  rowIndex: 0,
904
904
  colIndex: e
905
905
  }) ?? "").replace(/\d+$/, ""), sn = /(?<![A-Za-z0-9_.$])R(\[-?\d+\]|\d+)?C(\[-?\d+\]|\d+)?(?![A-Za-z0-9_(])/g;
@@ -980,7 +980,7 @@ var ln = (e) => {
980
980
  return s !== ln(o.getColor()) && r.push(s ?? "no color"), r.length > 0 ? r.join(" · ") : null;
981
981
  };
982
982
  function fn(e, t, n) {
983
- const o = x(e, t, n);
983
+ const o = C(e, t, n);
984
984
  return o ? {
985
985
  text: o.text,
986
986
  address: o.address
@@ -1090,12 +1090,12 @@ function xn(e, t = []) {
1090
1090
  const r = Math.max(10, ...n.map(([e]) => e.length + 2));
1091
1091
  return n.map(([e, t]) => `${e.padEnd(r)}${t}`);
1092
1092
  }
1093
- var vn = j.Feature;
1093
+ var vn = x.Feature;
1094
1094
  function Cn(e, t) {
1095
1095
  const n = t?.maxSeries ?? 24, o = t?.maxProfileCells ?? 2e4, r = t?.maxCategories ?? 3, s = e.getRowCount(), a = e.getColumnCount();
1096
1096
  if (1 === s && 1 === a) return {
1097
1097
  shape: "cell",
1098
- summary: Bt(e.getCell(), Lt.Mode.Display)?.display ?? "(blank)",
1098
+ summary: Vt(e.getCell(), Lt.Mode.Display)?.display ?? "(blank)",
1099
1099
  series: []
1100
1100
  };
1101
1101
  const i = e.getRange(), l = i.getCoords(), c = s >= a;
@@ -1235,7 +1235,7 @@ function Tn(e) {
1235
1235
  function Nn(e, t) {
1236
1236
  const n = e.getRangeAt(t.rowIndex, t.colIndex).getCell();
1237
1237
  if (n.getType() !== p.String) return null;
1238
- const o = Bt(n, Lt.Mode.Display)?.match;
1238
+ const o = Vt(n, Lt.Mode.Display)?.match;
1239
1239
  return o ? {
1240
1240
  text: o,
1241
1241
  address: n.getAddress()
@@ -1249,7 +1249,7 @@ function Mn(e, t, n) {
1249
1249
  const o = t.getRange().getCoords(), r = e.getCoords(), s = n ? o.colEnd - o.colStart + 1 : o.rowEnd - o.rowStart + 1, a = [];
1250
1250
  for (let t = 0; t < s; t++) {
1251
1251
  const s = n ? e.getRangeAt(r.rowStart, o.colStart + t).getCell() : e.getRangeAt(o.rowStart + t, r.colStart).getCell();
1252
- a.push(Bt(s, Lt.Mode.Display)?.match ?? "");
1252
+ a.push(Vt(s, Lt.Mode.Display)?.match ?? "");
1253
1253
  }
1254
1254
  return a;
1255
1255
  }
@@ -1340,7 +1340,7 @@ function Wn(e, t, n) {
1340
1340
  const s = Array.from(o.getValueCounts()).slice(0, t);
1341
1341
  return `${r} unique (${s.map(([e, t]) => `${e} ${t}`).join(" · ")}${r > s.length ? " · …" : ""})`;
1342
1342
  }
1343
- var Bn = j.Feature, Vn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colStart + 1), Hn = (e, t) => {
1343
+ var Vn = x.Feature, Bn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colStart + 1), Hn = (e, t) => {
1344
1344
  const n = Math.min(e.rowEnd, t.rowEnd) - Math.max(e.rowStart, t.rowStart) + 1;
1345
1345
  if (n <= 0) return 0;
1346
1346
  const o = Math.min(e.colEnd, t.colEnd) - Math.max(e.colStart, t.colStart) + 1;
@@ -1350,7 +1350,7 @@ var Bn = j.Feature, Vn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colS
1350
1350
  return "times" === t || e.styled === e.content ? n : `${n} (+${Un(e.styled - e.content)} blank)`;
1351
1351
  }, zn = (e) => {
1352
1352
  if (0 === e.length) return "";
1353
- const t = R.rangeToString(e[0]);
1353
+ const t = w.rangeToString(e[0]);
1354
1354
  if (1 === e.length) return t;
1355
1355
  const n = e.length - 1;
1356
1356
  return `${t}, +${n} block${1 === n ? "" : "s"}`;
@@ -1462,18 +1462,18 @@ function ro(e) {
1462
1462
  return null != n ? `${t.category} ${n}dp` : t.category;
1463
1463
  }
1464
1464
  var so = {
1465
- [Bn.Font]: Kn,
1466
- [Bn.NumberFormat]: Qn,
1467
- [Bn.Fill]: eo,
1468
- [Bn.Borders]: to,
1469
- [Bn.Alignment]: no
1465
+ [Vn.Font]: Kn,
1466
+ [Vn.NumberFormat]: Qn,
1467
+ [Vn.Fill]: eo,
1468
+ [Vn.Borders]: to,
1469
+ [Vn.Alignment]: no
1470
1470
  }, ao = (e) => e in so;
1471
1471
  function io(e, t, n, o) {
1472
1472
  const r = so[t];
1473
1473
  if (!r) return null;
1474
1474
  const s = e.getEntireCoords(), a = e.getUsedRange()?.getCoords() ?? null, i = [...e.getEntireRange().getRegions(t)];
1475
1475
  if (0 === i.length) return null;
1476
- const l = o?.content ?? (a ? [...e.getEntireRange().getRegions(Bn.Contentful)].map((e) => e.getCoords()) : []), c = (e) => l.reduce((t, n) => t + Hn(e, n), 0), u = (e) => a ? Hn(e, a) : 0, d = (e) => {
1476
+ const l = o?.content ?? (a ? [...e.getEntireRange().getRegions(Vn.Contentful)].map((e) => e.getCoords()) : []), c = (e) => l.reduce((t, n) => t + Hn(e, n), 0), u = (e) => a ? Hn(e, a) : 0, d = (e) => {
1477
1477
  const t = e.getRange().getStyle(), o = [];
1478
1478
  for (const e of r) {
1479
1479
  const r = e.project(t, n);
@@ -1531,10 +1531,10 @@ function io(e, t, n, o) {
1531
1531
  }
1532
1532
  return [...o.values()].map((e) => ({
1533
1533
  ...e,
1534
- blocks: e.blocks.sort((e, t) => Vn(t) - Vn(e))
1534
+ blocks: e.blocks.sort((e, t) => Bn(t) - Bn(e))
1535
1535
  }));
1536
1536
  }, S = [];
1537
- if (t === Bn.NumberFormat) S.push(...function(e, t, n) {
1537
+ if (t === Vn.NumberFormat) S.push(...function(e, t, n) {
1538
1538
  const { top: o, rare: r, more: s } = Xn(e, n), a = [];
1539
1539
  let i = -1;
1540
1540
  for (const e of [...o, ...r]) {
@@ -1611,7 +1611,7 @@ function lo(e, t) {
1611
1611
  label: e.label,
1612
1612
  content: e.cells,
1613
1613
  styled: e.cells,
1614
- blocks: e.blocks.sort((e, t) => Vn(t) - Vn(e))
1614
+ blocks: e.blocks.sort((e, t) => Bn(t) - Bn(e))
1615
1615
  })), i = [...o.entries()].map(([e, t]) => ({
1616
1616
  label: e,
1617
1617
  content: t,
@@ -1654,17 +1654,17 @@ function co(e, t) {
1654
1654
  }
1655
1655
  function uo(e, t) {
1656
1656
  switch (e) {
1657
- case Bn.Font: return function(e) {
1657
+ case Vn.Font: return function(e) {
1658
1658
  const t = e.getFont(), n = [t.getFamily(), `${t.getSize()}pt`], o = ln(t.getColor());
1659
1659
  return o && n.push(o), t.getBold() && n.push("bold"), t.getItalic() && n.push("italic"), n.join(" · ");
1660
1660
  }(t);
1661
- case Bn.NumberFormat: {
1661
+ case Vn.NumberFormat: {
1662
1662
  const e = gn(t);
1663
1663
  return null === e ? null : `${Gn(e)} ${e}`;
1664
1664
  }
1665
- case Bn.Fill: return cn(t);
1666
- case Bn.Borders: return un(t);
1667
- case Bn.Alignment: {
1665
+ case Vn.Fill: return cn(t);
1666
+ case Vn.Borders: return un(t);
1667
+ case Vn.Alignment: {
1668
1668
  const e = t.getAlignment(), n = [];
1669
1669
  return "general" !== e.getHorizontal() && n.push(`h ${e.getHorizontal()}`), "bottom" !== e.getVertical() && n.push(`v ${e.getVertical()}`), "visible" !== e.getOverflow() && n.push(String(e.getOverflow())), e.getIndent() && n.push(`indent ${e.getIndent()}`), e.getRotation() && n.push(`rotation ${e.getRotation()}`), n.length > 0 ? n.join(" · ") : null;
1670
1670
  }
@@ -1696,8 +1696,8 @@ function po(e, t, n, o, r) {
1696
1696
  const s = n.map((e) => {
1697
1697
  const t = e.getCoords();
1698
1698
  o += r ? t.colEnd - t.colStart + 1 : t.rowEnd - t.rowStart + 1;
1699
- const n = r ? R.runToString(t.colStart, t.colEnd, !0) : R.runToString(t.rowStart, t.rowEnd, !1), s = r ? t.rowStart : t.colStart;
1700
- return 0 === s ? n : `${n} (from ${r ? `row ${s + 1}` : `column ${R.runToString(s, s, !0).split(":")[0]}`})`;
1699
+ const n = r ? w.runToString(t.colStart, t.colEnd, !0) : w.runToString(t.rowStart, t.rowEnd, !1), s = r ? t.rowStart : t.colStart;
1700
+ return 0 === s ? n : `${n} (from ${r ? `row ${s + 1}` : `column ${w.runToString(s, s, !0).split(":")[0]}`})`;
1701
1701
  });
1702
1702
  2 * o > a ? i.push(`${"sheet".padEnd(10)}${t || "default"}`) : i.push(`${e.padEnd(10)}${s.join(", ")} ${t || "default"}`);
1703
1703
  }
@@ -1733,14 +1733,14 @@ var fo = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, wo = (e) => {
1733
1733
  }
1734
1734
  return e.borders && t.push("border"), e.alignment && t.push("alignment"), t.length > 0 ? t.join(" · ") : null;
1735
1735
  }, yo = (e) => {
1736
- const t = e.type ?? k.ColorStopType.Num, n = e.value, o = null == n || "" === n ? t : `${t} ${n}`, r = wo(e.color);
1736
+ const t = e.type ?? f.ColorStopType.Num, n = e.value, o = null == n || "" === n ? t : `${t} ${n}`, r = wo(e.color);
1737
1737
  return r ? `${o} ${r}` : o;
1738
1738
  }, bo = (e) => {
1739
1739
  let t = e.type;
1740
- if (e.type === k.ScaleType.DataBar) {
1740
+ if (e.type === f.ScaleType.DataBar) {
1741
1741
  const n = wo(e.color);
1742
1742
  n && (t += ` ${n}`);
1743
- } else e.type === k.ScaleType.IconSet && (e.iconSet && (t += ` ${e.iconSet}`), e.reverse && (t += " reversed"), e.icon?.length && (t += " custom icons"));
1743
+ } else e.type === f.ScaleType.IconSet && (e.iconSet && (t += ` ${e.iconSet}`), e.reverse && (t += " reversed"), e.icon?.length && (t += " custom icons"));
1744
1744
  const n = (e.stops ?? []).map(yo).join(" → ");
1745
1745
  return n ? `${t} · ${n}` : t;
1746
1746
  }, ko = "(no rule)", So = (e) => {
@@ -1759,7 +1759,7 @@ var fo = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, wo = (e) => {
1759
1759
  if (0 === e.length) return null;
1760
1760
  const n = e.slice(0, 3).map(t), o = e.length - n.length;
1761
1761
  return o > 0 ? `${n.join(" | ")} | +${o} more` : n.join(" | ");
1762
- }, Co = j.Feature, Eo = (e) => e.getRange().getStyle(), Ro = (e) => Bt(e.getCell(), Lt.Mode.Display)?.display ?? null;
1762
+ }, Co = x.Feature, Eo = (e) => e.getRange().getStyle(), Ro = (e) => Vt(e.getCell(), Lt.Mode.Display)?.display ?? null;
1763
1763
  function jo(e, t) {
1764
1764
  switch (e) {
1765
1765
  case Co.Formula: return (e) => e.getCell().getFormulaText();
@@ -1876,7 +1876,7 @@ var Mo = (e) => {
1876
1876
  const t = e.getCell().getAnomalies();
1877
1877
  return t.length > 0 ? JSON.stringify(t.map((e) => [e.check, e.evidence])) : null;
1878
1878
  };
1879
- var Fo = j.Feature, _o = [
1879
+ var Fo = x.Feature, _o = [
1880
1880
  Fo.Error,
1881
1881
  Fo.CalcError,
1882
1882
  Fo.Anomalies,
@@ -1895,7 +1895,7 @@ var Fo = j.Feature, _o = [
1895
1895
  Fo.Conditionals,
1896
1896
  Fo.DataValidations
1897
1897
  ], Oo = new Map(Object.entries(Fo).map(([e, t]) => [t, e])), Lo = (e) => Oo.get(e) ?? e;
1898
- var Po = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Do = (e) => R.sheetNameToString(e) ?? "Untitled", Wo = (e) => `wb.getWorksheet(${JSON.stringify(e.getWorksheet().getName())})`, Bo = (e) => ((e) => {
1898
+ var Po = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Do = (e) => w.sheetNameToString(e) ?? "Untitled", Wo = (e) => `wb.getWorksheet(${JSON.stringify(e.getWorksheet().getName())})`, Vo = (e) => ((e) => {
1899
1899
  if (!e.includes("$")) return e;
1900
1900
  let t = "", n = !1;
1901
1901
  for (const o of e) {
@@ -1904,8 +1904,8 @@ var Po = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Do
1904
1904
  t += o;
1905
1905
  }
1906
1906
  return t;
1907
- })(e.getAddress()), Vo = (e) => {
1908
- const t = Bo(e);
1907
+ })(e.getAddress()), Bo = (e) => {
1908
+ const t = Vo(e);
1909
1909
  return t.includes("!") ? t : `${Do(e.getWorksheet().getName())}!${t}`;
1910
1910
  }, Ho = (e) => {
1911
1911
  const t = e.toString();
@@ -1918,19 +1918,19 @@ function Uo(e, t) {
1918
1918
  0 === n.length && e.fact("None"), e.blank();
1919
1919
  }
1920
1920
  var qo = [
1921
- S.Role.Label,
1922
- S.Role.Input,
1923
- S.Role.Link,
1924
- S.Role.Reference,
1925
- S.Role.Computed,
1926
- S.Role.Output
1921
+ v.Role.Label,
1922
+ v.Role.Input,
1923
+ v.Role.Link,
1924
+ v.Role.Reference,
1925
+ v.Role.Computed,
1926
+ v.Role.Output
1927
1927
  ];
1928
1928
  var zo = 30, Jo = 4;
1929
1929
  function Xo(e, t, n) {
1930
1930
  const o = /* @__PURE__ */ new Map();
1931
1931
  let r = 0;
1932
1932
  for (const e of n) for (const t of e.getCell().getAnomalies()) {
1933
- if (t.check !== S.ErrorCheck.ConstantFrequency) continue;
1933
+ if (t.check !== v.ErrorCheck.ConstantFrequency) continue;
1934
1934
  const n = `${t.evidence.kind}:${t.evidence.value}`;
1935
1935
  let s = o.get(n);
1936
1936
  s || o.set(n, s = {
@@ -2150,7 +2150,7 @@ function cr(e) {
2150
2150
  function ur(e, t, n, o) {
2151
2151
  if (0 === n.length) return;
2152
2152
  const r = n.length > 50 ? n.slice(0, 50) : n, s = r.map((e) => ({
2153
- address: Zo(Bo(e.getRanges()), 40),
2153
+ address: Zo(Vo(e.getRanges()), 40),
2154
2154
  rule: o(e)
2155
2155
  }));
2156
2156
  e.h2(`${t} (${n.length})`);
@@ -2206,7 +2206,7 @@ async function hr(e, t) {
2206
2206
  var gr = "#REF!", mr = (e) => {
2207
2207
  const t = e.getContent();
2208
2208
  return "chart" === t.getType() && "function" == typeof t.getSeries ? t : null;
2209
- }, pr = (e, t) => `${Do(e.getName())}!${R.rangeToString(t) ?? ""}`, fr = (e, t) => e ? pr(e.getWorksheet(), e.getCoords()) : t, wr = (e) => e.replace(/\s*[\r\n]+\s*/g, " ⏎ ").trim(), $r = (e, t) => ({
2209
+ }, pr = (e, t) => `${Do(e.getName())}!${w.rangeToString(t) ?? ""}`, fr = (e, t) => e ? pr(e.getWorksheet(), e.getCoords()) : t, wr = (e) => e.replace(/\s*[\r\n]+\s*/g, " ⏎ ").trim(), $r = (e, t) => ({
2210
2210
  colStart: Math.min(e.colStart, t.colStart),
2211
2211
  rowStart: Math.min(e.rowStart, t.rowStart),
2212
2212
  colEnd: Math.max(e.colEnd, t.colEnd),
@@ -2312,7 +2312,7 @@ var Cr = (e) => Sr(e) ?? "", Er = {
2312
2312
  };
2313
2313
  var Ir = (e, t) => e.colStart <= t.colEnd && t.colStart <= e.colEnd && e.rowStart <= t.rowEnd && t.rowStart <= e.rowEnd;
2314
2314
  function Tr(e, t) {
2315
- const n = e.getWorksheet(), o = n.getWorkbook()?.getWorksheets().getItems({ visibility: b.Visibility.VeryHidden }) ?? [n], r = /* @__PURE__ */ new Map();
2315
+ const n = e.getWorksheet(), o = n.getWorkbook()?.getWorksheets().getItems({ visibility: E.Visibility.VeryHidden }) ?? [n], r = /* @__PURE__ */ new Map();
2316
2316
  for (let e = 0; e < (t?.length ?? 0); e++) {
2317
2317
  const n = t.at(e);
2318
2318
  if (n.isINamedRange) continue;
@@ -2449,12 +2449,12 @@ function Wr(e, t) {
2449
2449
  const h = Object.entries(n.locks ?? {}).filter(([, e]) => e).map(([e]) => e);
2450
2450
  h.length && e.fact(`Locks: ${h.join(", ")}`);
2451
2451
  }
2452
- var Br = (e) => {
2453
- const t = Vr(e);
2452
+ var Vr = (e) => {
2453
+ const t = Br(e);
2454
2454
  return !0 === t?.isIShape ? Mr(t.toJSON() ?? {}) : e.getContent().getType();
2455
- }, Vr = (e) => e.getContent(), Hr = (e, t, n) => {
2455
+ }, Br = (e) => e.getContent(), Hr = (e, t, n) => {
2456
2456
  for (const o of t.getItems()) {
2457
- const t = Vr(o), r = [Br(o), t.getName?.() || "(unnamed)"];
2457
+ const t = Br(o), r = [Vr(o), t.getName?.() || "(unnamed)"];
2458
2458
  !0 === t.isIPicture && r.push(t.getResource()?.getName?.() || "(no image)");
2459
2459
  const s = t.getTextFrame?.()?.getText();
2460
2460
  s && r.push(Ar(s, 120, "")), o.isHidden() && r.push("(hidden)"), e.text(`${" ".repeat(n + 2)}${r.join(" · ")}`);
@@ -2464,7 +2464,7 @@ var Br = (e) => {
2464
2464
  };
2465
2465
  var Ur = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, qr = (e) => e.replace(/[\r\n]+/g, " ").trim(), zr = (e) => {
2466
2466
  const t = e.getRange();
2467
- return R.rangeToString(t.getCoords()) ?? t.toString();
2467
+ return w.rangeToString(t.getCoords()) ?? t.toString();
2468
2468
  }, Jr = ({ movable: e, text: t }) => Ar(t, 300, ((e) => `${Wo(e.getRange())}.getRange(${JSON.stringify(zr(e))}).getMovables()`)(e)), Xr = (e) => {
2469
2469
  const t = e.getContent();
2470
2470
  return "function" == typeof t.getTextFrame ? t.getTextFrame()?.getText() ?? "" : null;
@@ -2618,8 +2618,8 @@ function ss(e, t) {
2618
2618
  const d = e.getContent().getDescription();
2619
2619
  d && n.fact(`Alt Text: ${qr(d)}`), n.fact(`Anchor: ${Po(o)}, ${((e) => {
2620
2620
  switch (e) {
2621
- case f.Type.Absolute: return "absolute — stays put when rows or columns move";
2622
- case f.Type.OneCell: return "oneCell — moves with the cells, keeps its size";
2621
+ case R.Type.Absolute: return "absolute — stays put when rows or columns move";
2622
+ case R.Type.OneCell: return "oneCell — moves with the cells, keeps its size";
2623
2623
  default: return "twoCell — moves and resizes with the cells";
2624
2624
  }
2625
2625
  })(e.getAnchorType?.())}`), n.fact(`Bounds: ${((e) => {
@@ -2634,8 +2634,8 @@ function ss(e, t) {
2634
2634
  }
2635
2635
  var as = (e) => "visible" === e.getVisibility(), is = (e, t) => {
2636
2636
  switch (t) {
2637
- case "display": return Bt(e, Lt.Mode.Display);
2638
- case "value": return Bt(e, Lt.Mode.Value);
2637
+ case "display": return Vt(e, Lt.Mode.Display);
2638
+ case "value": return Vt(e, Lt.Mode.Value);
2639
2639
  case "formula": {
2640
2640
  const t = e.getFormulaText();
2641
2641
  return t ? {
@@ -2659,7 +2659,7 @@ var as = (e) => "visible" === e.getVisibility(), is = (e, t) => {
2659
2659
  }
2660
2660
  default: return null;
2661
2661
  }
2662
- }, ls = /* @__PURE__ */ new Map([["hyperlink", j.Feature.Hyperlink], ["numberFormat", j.Feature.NumberFormat]]), cs = (e, t) => t && "" !== t.trim() ? [{
2662
+ }, ls = /* @__PURE__ */ new Map([["hyperlink", x.Feature.Hyperlink], ["numberFormat", x.Feature.NumberFormat]]), cs = (e, t) => t && "" !== t.trim() ? [{
2663
2663
  field: e,
2664
2664
  text: {
2665
2665
  match: t,
@@ -2892,13 +2892,13 @@ var Ss = {
2892
2892
  address: r
2893
2893
  }));
2894
2894
  })(e, t.scope, a), u = n.filter((e) => !ls.has(e)), d = n.filter((e) => ls.has(e)), h = n.includes("display") && n.includes("value"), g = "content" === o || "addresses" === o, m = [], p = [];
2895
- let f = 0, w = 0, $ = 0, y = 0, b = !1;
2896
- const k = (e) => {
2895
+ let f = 0, $ = 0, y = 0, b = 0, k = !1;
2896
+ const S = (e) => {
2897
2897
  const t = e.filter((t, n) => l.test(t.text.match) && e.findIndex((e) => e.field === t.field && e.text.display === t.text.display && l.test(e.text.match)) === n);
2898
2898
  return s ? 0 === t.length && e.length > 0 ? [e[0]] : null : 0 === t.length ? null : "addresses" === o ? t.slice(0, 1) : t;
2899
- }, S = (e, t, n, o, s, a = 1) => {
2900
- if (r > 0 && $ >= r) return b = !0, !1;
2901
- if ($++, "cell" === e ? f += a : w++, g) for (const e of o) m.push({
2899
+ }, x = (e, t, n, o, s, a = 1) => {
2900
+ if (r > 0 && y >= r) return k = !0, !1;
2901
+ if (y++, "cell" === e ? f += a : $++, g) for (const e of o) m.push({
2902
2902
  sheet: t,
2903
2903
  address: n,
2904
2904
  field: e.field,
@@ -2908,9 +2908,9 @@ var Ss = {
2908
2908
  return !0;
2909
2909
  };
2910
2910
  for (const { sheet: e, address: t } of c) {
2911
- if (b) continue;
2911
+ if (k) continue;
2912
2912
  const r = e.getName();
2913
- y++, await e.getCalculation().ready();
2913
+ b++, await e.getCalculation().ready();
2914
2914
  const s = null !== t ? e.getRange(t) : e.getUsedRange(), l = s && i && "content" === o ? fs(i, r, s) : null, c = {
2915
2915
  ...null !== t ? { address: t } : {},
2916
2916
  ...a ? {} : { ignoreHidden: !0 }
@@ -2936,10 +2936,10 @@ var Ss = {
2936
2936
  text: t
2937
2937
  }));
2938
2938
  }
2939
- const i = k(s);
2939
+ const i = S(s);
2940
2940
  if (!i) return;
2941
2941
  const c = l?.resolve(n, o);
2942
- if (!S("cell", r, t.getAddress(), i, c)) return { break: !0 };
2942
+ if (!x("cell", r, t.getAddress(), i, c)) return { break: !0 };
2943
2943
  m++;
2944
2944
  }, { ignoreHidden: !a });
2945
2945
  const f = [...g.values()].map((e) => ({
@@ -2947,23 +2947,23 @@ var Ss = {
2947
2947
  at: e.getRange().getCoords()
2948
2948
  })).sort((e, t) => ps(e.at, t.at));
2949
2949
  for (const { comment: e, at: t } of f) {
2950
- if (b) break;
2951
- const n = k(us(e));
2950
+ if (k) break;
2951
+ const n = S(us(e));
2952
2952
  if (!n) continue;
2953
2953
  const o = l?.resolve(e.getRange().getCell(), {
2954
2954
  rowIndex: t.rowStart,
2955
2955
  colIndex: t.colStart
2956
2956
  });
2957
- S("cell", r, R.rangeToString(t) ?? e.getRange().toString(), n, o) && m++;
2957
+ x("cell", r, w.rangeToString(t) ?? e.getRange().toString(), n, o) && m++;
2958
2958
  }
2959
2959
  for (const e of d) {
2960
- if (b || !s) break;
2960
+ if (k || !s) break;
2961
2961
  const t = [...s.getRegions(ls.get(e), { ignoreHidden: !a })].map((e) => ({
2962
2962
  region: e,
2963
2963
  at: e.getCoords()
2964
2964
  })).sort((e, t) => ps(e.at, t.at));
2965
2965
  for (const { region: n, at: o } of t) {
2966
- const t = n.getCell(), s = is(t, e), a = k(s ? [{
2966
+ const t = n.getCell(), s = is(t, e), a = S(s ? [{
2967
2967
  field: e,
2968
2968
  text: s
2969
2969
  }] : []);
@@ -2972,36 +2972,36 @@ var Ss = {
2972
2972
  rowIndex: o.rowStart,
2973
2973
  colIndex: o.colStart
2974
2974
  }), c = (o.rowEnd - o.rowStart + 1) * (o.colEnd - o.colStart + 1);
2975
- if (!S("cell", r, n.toString(), a, i, c)) break;
2975
+ if (!x("cell", r, n.toString(), a, i, c)) break;
2976
2976
  m += c;
2977
2977
  }
2978
2978
  }
2979
- let w = 0;
2980
- if (!b && (n.includes("shape") || n.includes("chart"))) {
2979
+ let $ = 0;
2980
+ if (!k && (n.includes("shape") || n.includes("chart"))) {
2981
2981
  const t = e.getMovables().getItems(c).filter((e) => "note" !== e.getContent().getType()).filter((e) => a || !e.isHidden()).map((e) => ({
2982
2982
  movable: e,
2983
2983
  at: e.getRange().getCoords()
2984
2984
  })).sort((e, t) => ps(e.at, t.at));
2985
2985
  for (const { movable: e, at: o } of t) {
2986
- const t = k(ds(e, n));
2986
+ const t = S(ds(e, n));
2987
2987
  if (t) {
2988
- if (!S("object", r, R.rangeToString(o) ?? e.getRange().toString(), t)) break;
2989
- w++;
2988
+ if (!x("object", r, w.rangeToString(o) ?? e.getRange().toString(), t)) break;
2989
+ $++;
2990
2990
  }
2991
2991
  }
2992
2992
  }
2993
- (m > 0 || w > 0) && p.push({
2993
+ (m > 0 || $ > 0) && p.push({
2994
2994
  sheet: r,
2995
2995
  cells: m,
2996
- objects: w
2996
+ objects: $
2997
2997
  });
2998
2998
  }
2999
- if (!b && n.includes("name")) {
2999
+ if (!k && n.includes("name")) {
3000
3000
  const n = Boolean(t.scope?.trim()), o = e.getNames().getItems(a ? { includeHidden: !0 } : void 0) ?? [];
3001
3001
  for (const e of o) {
3002
3002
  if (n && !ms(e, c)) continue;
3003
- const t = k(hs(e));
3004
- if (t && !S("object", e.getScope() ?? "", e.getName(), t)) break;
3003
+ const t = S(hs(e));
3004
+ if (t && !x("object", e.getScope() ?? "", e.getName(), t)) break;
3005
3005
  }
3006
3006
  }
3007
3007
  return {
@@ -3010,11 +3010,11 @@ var Ss = {
3010
3010
  scope: t.scope?.trim() || "workbook",
3011
3011
  matches: m,
3012
3012
  cellCount: f,
3013
- objectCount: w,
3013
+ objectCount: $,
3014
3014
  sheets: p,
3015
- sheetsSearched: y,
3015
+ sheetsSearched: b,
3016
3016
  sheetsMatched: p.length,
3017
- truncated: b,
3017
+ truncated: k,
3018
3018
  output: o
3019
3019
  };
3020
3020
  },
@@ -3218,12 +3218,12 @@ function Ds(e, t, n) {
3218
3218
  return i.length > 0 ? i.join("\n") : null;
3219
3219
  }
3220
3220
  var Ws = (e, t, n = `${t}s`) => `${e.toLocaleString("en-US")} ${1 === e ? t : n}`;
3221
- function Bs(e, t) {
3221
+ function Vs(e, t) {
3222
3222
  const n = t ? `${t} · ` : "", o = e.summary ? ` — ${e.summary}` : "", r = e.deprecated ? " (deprecated)" : "";
3223
3223
  return `- ${n}\`${s = e.signature, s.replace(/;$/, "")}\`${r}${o}`;
3224
3224
  var s;
3225
3225
  }
3226
- async function Vs(e) {
3226
+ async function Bs(e) {
3227
3227
  const t = function(e, t) {
3228
3228
  const n = function(e) {
3229
3229
  return e.trim().replace(/^SheetXL\./, "").replace(/\(\)$/, "").replace(/#/g, ".");
@@ -3339,7 +3339,7 @@ var Hs = {
3339
3339
  description: "A type (`ICellRange`), a member (`ICellRange.setValues`), or a word to search for. Omit for the overview. A leading `SheetXL.` is accepted.",
3340
3340
  positional: 0
3341
3341
  }],
3342
- run: (e) => Vs(e?.name),
3342
+ run: (e) => Bs(e?.name),
3343
3343
  render: function(e, t) {
3344
3344
  const n = t?.command ?? "api";
3345
3345
  switch (e.kind) {
@@ -3365,7 +3365,7 @@ var Hs = {
3365
3365
  }
3366
3366
  if (o.members) {
3367
3367
  i.push(""), e.filter && i.push(`${Ws(r.length, "member")} of ${s} matching '${e.filter}':`);
3368
- for (const e of r) i.push(Bs(e));
3368
+ for (const e of r) i.push(Vs(e));
3369
3369
  }
3370
3370
  return o.nested && o.nested.length > 0 && !e.filter && i.push("", `Nested types — \`${t} ${n}.<name>\`: ${o.nested.join(", ")}`), i.push("", o.members ? `Full documentation for one member: \`${t} ${n}.<member>\` · scripting.d.ts:${o.lines[0]}-${o.lines[1]}` : `scripting.d.ts:${o.lines[0]}-${o.lines[1]}`), i.join("\n");
3371
3371
  }(e, n);
@@ -3385,7 +3385,7 @@ var Hs = {
3385
3385
  }
3386
3386
  if (e.members.length > 0) {
3387
3387
  n.push("", "Members:");
3388
- for (const { key: t, member: o } of e.members) n.push(Bs(o, t));
3388
+ for (const { key: t, member: o } of e.members) n.push(Vs(o, t));
3389
3389
  }
3390
3390
  return e.omitted > 0 && n.push("", `…and ${Ws(e.omitted, "more match", "more matches")}; a longer word narrows it.`), n.push("", `\`${t} <Type>\` lists a type's members; \`${t} <Type>.<member>\` prints one in full.`), n.join("\n");
3391
3391
  }(e, n);
@@ -3394,7 +3394,7 @@ var Hs = {
3394
3394
  if (n.key) {
3395
3395
  if (r.push(`\`${n.key}\` has no member \`${o}\`.`), e.nearest.length > 0) {
3396
3396
  r.push("", `Closest on \`${n.key}\`:`);
3397
- for (const t of e.nearest) r.push(Bs(t));
3397
+ for (const t of e.nearest) r.push(Vs(t));
3398
3398
  }
3399
3399
  } else if (r.push(`No type is named \`${n.text}\`.`), e.nearestTypes.length > 0) {
3400
3400
  r.push("", "Nearest:");
@@ -3409,7 +3409,7 @@ var Hs = {
3409
3409
  }(e, n);
3410
3410
  }
3411
3411
  }
3412
- }, Us = j.Feature;
3412
+ }, Us = x.Feature;
3413
3413
  async function qs(e, t, n, o) {
3414
3414
  await zs(e, t, "precedents", n, o), await zs(e, t, "dependents", n, o);
3415
3415
  }
@@ -3555,7 +3555,7 @@ async function zs(e, t, n, o, r) {
3555
3555
  const { address: n, sheet: o } = oa(e);
3556
3556
  return [
3557
3557
  null !== t && o !== t ? `${Do(o)}!${n}` : n,
3558
- e.isSingleCell() ? Bt(e.getCell(), Lt.Mode.Display)?.display ?? "" : `${e.getRowCount()}×${e.getColumnCount()}`,
3558
+ e.isSingleCell() ? Vt(e.getCell(), Lt.Mode.Display)?.display ?? "" : `${e.getRowCount()}×${e.getColumnCount()}`,
3559
3559
  ta(e)
3560
3560
  ].filter(Boolean).join(" ");
3561
3561
  }), o = e.ranges.length - n.length;
@@ -3662,7 +3662,7 @@ function ra(e) {
3662
3662
  return t ? `name → ${t.getAddress()}` : "name";
3663
3663
  }
3664
3664
  if (e.isSingleCell()) {
3665
- const t = e.getCell(), n = Bt(t, Lt.Mode.Display), o = t.getFormulaText(), r = n ? n.display : "(empty)";
3665
+ const t = e.getCell(), n = Vt(t, Lt.Mode.Display), o = t.getFormulaText(), r = n ? n.display : "(empty)";
3666
3666
  return o ? `${r} ${o}` : r;
3667
3667
  }
3668
3668
  const t = `${e.getRowCount()}×${e.getColumnCount()}`, n = [...e.getRegions(Us.Formula)];
@@ -3743,7 +3743,7 @@ function ua(e, t) {
3743
3743
  function da(e) {
3744
3744
  return e.map((e) => `cites ${e.scope}: ${e.reason}`).join("; ");
3745
3745
  }
3746
- var ha = j.Feature, ga = [
3746
+ var ha = x.Feature, ga = [
3747
3747
  ["formatCells", "format cells"],
3748
3748
  ["formatColumns", "format columns"],
3749
3749
  ["formatRows", "format rows"],
@@ -3788,15 +3788,15 @@ var ha = j.Feature, ga = [
3788
3788
  colEnd: Math.max(t.colEnd, e.colEnd)
3789
3789
  } : { ...e };
3790
3790
  }
3791
- return t ? R.rangeToString(t) ?? "" : "";
3791
+ return t ? w.rangeToString(t) ?? "" : "";
3792
3792
  }, ka = (e, t) => `${e} ${t}${1 !== e ? "s" : ""}`;
3793
3793
  function Sa(e) {
3794
3794
  const t = new yn(), n = e.getRanges();
3795
- t.h1(`Unlocked Range — ${e.getName()}`), t.blank(), t.fact(`Ranges: ${Vo(n)}`), t.fact(`Cells: ${n.size}`), t.fact("Password: " + (e.hasPassword() ? e.isUnlocked() ? "set · unlocked for this session" : "set · unlock(password) grants access" : "none"));
3795
+ t.h1(`Unlocked Range — ${e.getName()}`), t.blank(), t.fact(`Ranges: ${Bo(n)}`), t.fact(`Cells: ${n.size}`), t.fact("Password: " + (e.hasPassword() ? e.isUnlocked() ? "set · unlocked for this session" : "set · unlock(password) grants access" : "none"));
3796
3796
  const o = n.getWorksheet().getProtection().isLocked();
3797
3797
  return t.fact("In force: " + (o ? "true — the sheet is protected" : "false — the sheet is not protected, so every cell is editable")), e.getSecurityDescriptor() && t.fact("Security Descriptor: present · not evaluated"), t.toLines().join("\n").trimEnd();
3798
3798
  }
3799
- var xa = j.Feature;
3799
+ var xa = x.Feature;
3800
3800
  async function va(e, t) {
3801
3801
  const n = e.getWorksheet().getRange(e.getCoords());
3802
3802
  e = n.getCell();
@@ -3804,7 +3804,7 @@ async function va(e, t) {
3804
3804
  o.h1(`Cell — ${Do(e.getWorksheet().getName())}!${e.getAddress()}`), o.blank();
3805
3805
  const r = !!e.getFormulaText(), s = e.getType();
3806
3806
  (function(e, t) {
3807
- const n = Bt(t, Lt.Mode.Display), o = Bt(t, Lt.Mode.Value), r = t.getFormulaText(), s = e.toLines().length;
3807
+ const n = Vt(t, Lt.Mode.Display), o = Vt(t, Lt.Mode.Value), r = t.getFormulaText(), s = e.toLines().length;
3808
3808
  if (n || r) {
3809
3809
  if (e.fact(`Type: ${t.getType()}`), n && e.fact(`Display: ${n.display}`), o && o.match !== n?.match) {
3810
3810
  const r = function(e) {
@@ -3840,7 +3840,7 @@ async function va(e, t) {
3840
3840
  return o.join(" · ");
3841
3841
  }(d, t.getCoords())}`);
3842
3842
  const h = dr(t.getWorksheet().getRange(t.getCoords()));
3843
- h.length > 0 && e.fact(`Names: ${h.map((e) => `${e.getName()} (${Bo(e.getRanges())})`).join(" · ")}`);
3843
+ h.length > 0 && e.fact(`Names: ${h.map((e) => `${e.getName()} (${Vo(e.getRanges())})`).join(" · ")}`);
3844
3844
  const g = function(e) {
3845
3845
  return e.getWorksheet().getProtection().isLocked() ? e.isEditAllowed() ? "true — unlocked on a protected sheet" : "false — the sheet is protected and this cell is locked" : null;
3846
3846
  }(t);
@@ -3931,7 +3931,7 @@ async function va(e, t) {
3931
3931
  const t = u >= e.start && u <= e.end, n = e.range.getAddress();
3932
3932
  let o;
3933
3933
  if (null === e.r1c1) o = e.range.isSingleCell() ? function(e) {
3934
- const t = Bt(e, Lt.Mode.Display);
3934
+ const t = Vt(e, Lt.Mode.Display);
3935
3935
  return t ? `${t.display} typed` : "blank";
3936
3936
  }(e.range.getCell()) : e.end - e.start + 1 + " cells, no formula";
3937
3937
  else {
@@ -3948,7 +3948,7 @@ async function va(e, t) {
3948
3948
  }
3949
3949
  e.blank();
3950
3950
  }(o, e, a), function(e, t) {
3951
- const n = t.getAnomalies().filter((e) => e.check !== S.ErrorCheck.ConstantFrequency);
3951
+ const n = t.getAnomalies().filter((e) => e.check !== v.ErrorCheck.ConstantFrequency);
3952
3952
  if (0 !== n.length) {
3953
3953
  e.h2(`Anomalies (${n.length})`);
3954
3954
  for (const o of n) e.text(` ${Kt(o, t)}`);
@@ -4050,7 +4050,7 @@ async function Ia(e, t) {
4050
4050
  let g = 0, m = !1;
4051
4051
  t.forEach((e, t) => {
4052
4052
  if (g >= a) return m = !0, { break: !0 };
4053
- const n = t.getCell(), r = n.getFormulaText(), s = Bt(n, o);
4053
+ const n = t.getCell(), r = n.getFormulaText(), s = Vt(n, o);
4054
4054
  if (!s && !r) return;
4055
4055
  const i = {
4056
4056
  text: (s?.display ?? "").replace(/\|/g, "\\|").replace(/[\r\n]+/g, " "),
@@ -4084,7 +4084,7 @@ async function Ia(e, t) {
4084
4084
  }(n, e, t);
4085
4085
  return function(e, t, n) {
4086
4086
  const o = [];
4087
- for (const e of t.getRegions(j.Feature.Formula)) {
4087
+ for (const e of t.getRegions(x.Feature.Formula)) {
4088
4088
  const t = e.getCell(), r = t.getFormulaText();
4089
4089
  if (r && (o.push({
4090
4090
  address: e.getAddress(),
@@ -4145,16 +4145,16 @@ function Aa(e) {
4145
4145
  }
4146
4146
  function Ma(e) {
4147
4147
  const t = new yn(), n = e.getRanges();
4148
- t.h1(`Data Validation — ${Vo(n)}`), t.blank();
4148
+ t.h1(`Data Validation — ${Bo(n)}`), t.blank();
4149
4149
  const o = e.getCondition();
4150
4150
  t.fact(`Rule: ${o?.toString() || "none — anything is accepted here"}`);
4151
4151
  const r = ((e) => {
4152
- if (e?.getOperator()?.getName() !== $.BuiltInOperatorNames.InSet) return null;
4152
+ if (e?.getOperator()?.getName() !== b.BuiltInOperatorNames.InSet) return null;
4153
4153
  const t = e.getParam();
4154
4154
  if (!t) return null;
4155
4155
  const n = [], o = t.source;
4156
4156
  null != o && n.push("string" == typeof o ? o : o.getExpression());
4157
- const r = (t.items ?? []).map((e) => Vt(e)?.match ?? "").concat(t.additions ?? []);
4157
+ const r = (t.items ?? []).map((e) => Bt(e)?.match ?? "").concat(t.additions ?? []);
4158
4158
  if (r.length > 0) {
4159
4159
  const e = r.slice(0, 20), t = r.length - e.length;
4160
4160
  n.push(t > 0 ? `${e.join(", ")}, +${t} more` : e.join(", "));
@@ -4163,7 +4163,7 @@ function Ma(e) {
4163
4163
  })(o);
4164
4164
  r && t.fact(`Allowed: ${r}`), t.fact("Blanks: " + (e.isIncludeBlanks() ? "allowed" : "rejected"));
4165
4165
  const s = e.getAlertStyle();
4166
- if (t.fact(`Alert: ${s}${s === C.AlertStyle.Stop ? " — the entry is refused" : " — the entry is accepted anyway"}`), e.isShowAlertMessage()) {
4166
+ if (t.fact(`Alert: ${s}${s === j.AlertStyle.Stop ? " — the entry is refused" : " — the entry is accepted anyway"}`), e.isShowAlertMessage()) {
4167
4167
  const n = Fa(e.getAlertTitle(), e.getAlertMessage());
4168
4168
  n && t.fact(`Alert Message: ${n}`);
4169
4169
  }
@@ -4237,16 +4237,16 @@ var Pa = [
4237
4237
  } catch {
4238
4238
  return [];
4239
4239
  }
4240
- }, Ba = (e) => {
4240
+ }, Va = (e) => {
4241
4241
  const t = e.getScope();
4242
4242
  return t ? !0 === t.isIWorksheet ? `sheet '${t.getName()}'` : "workbook" : "global";
4243
- }, Va = (e) => {
4243
+ }, Ba = (e) => {
4244
4244
  const t = ((e) => e.getSource()?.trim() ?? "")(e);
4245
4245
  return {
4246
4246
  module: e,
4247
4247
  name: e.getName(),
4248
4248
  language: e.getLanguage(),
4249
- scope: Ba(e),
4249
+ scope: Va(e),
4250
4250
  body: t,
4251
4251
  lines: 0 === t.length ? 0 : t.split("\n").length,
4252
4252
  runsInExcel: Da(t),
@@ -4256,7 +4256,7 @@ var Pa = [
4256
4256
  };
4257
4257
  function Ha(e, t, n) {
4258
4258
  if (0 === t.length) return;
4259
- const o = t.map(Va), r = o.filter((e) => e.lines > 0);
4259
+ const o = t.map(Ba), r = o.filter((e) => e.lines > 0);
4260
4260
  if (0 === r.length) return e.h2("Code (none)"), e.text(`${o.length} module${1 !== o.length ? "s" : ""}, none with any source.`), void e.blank();
4261
4261
  e.h2(`Code (${r.length} module${1 !== r.length ? "s" : ""})`);
4262
4262
  const s = r.filter((e) => !e.executable);
@@ -4335,16 +4335,16 @@ var za = [
4335
4335
  }, Qa = (e) => Ja.every(([, t], n) => Ga(t(e)) === za[n]), ei = (e, t) => {
4336
4336
  if (!e) return null;
4337
4337
  const n = e.getCoords();
4338
- return t ? R.runToString(n.colStart, n.colEnd, !0) : R.runToString(n.rowStart, n.rowEnd, !1);
4338
+ return t ? w.runToString(n.colStart, n.colEnd, !0) : w.runToString(n.rowStart, n.rowEnd, !1);
4339
4339
  }, ti = (e, t) => {
4340
4340
  if (0 === e.length) return null;
4341
4341
  const n = e.slice(0, 20).map((e) => {
4342
4342
  const n = t ? e.getColumnIndex() : e.getRowIndex();
4343
- return R.runToString(n, n, t).split(":")[0];
4343
+ return w.runToString(n, n, t).split(":")[0];
4344
4344
  }), o = e.length > 20 ? `, …and ${e.length - 20} more` : "";
4345
4345
  return `before ${t ? "columns" : "rows"} ${n.join(", ")}${o}`;
4346
4346
  }, ni = (e) => {
4347
- const t = e.getHeadersFooters(), n = t.getState(), o = w.HeaderFooterState, r = n === o.FirstAndDefault || n === o.FirstOddAndEven, s = n === o.OddAndEven || n === o.FirstOddAndEven, a = [];
4347
+ const t = e.getHeadersFooters(), n = t.getState(), o = S.HeaderFooterState, r = n === o.FirstAndDefault || n === o.FirstOddAndEven, s = n === o.OddAndEven || n === o.FirstOddAndEven, a = [];
4348
4348
  return r && a.push(["first page", t.getFirstPage()]), s ? (a.push(["odd pages", t.getOddPages()]), a.push(["even pages", t.getEvenPages()])) : a.push([r ? "other pages" : "every page", t.getDefaultForAllPages()]), a;
4349
4349
  }, oi = (e, t, n) => {
4350
4350
  const o = [];
@@ -4403,7 +4403,7 @@ var ai = (e, t) => {
4403
4403
  return n && "Object" !== n ? n : t;
4404
4404
  }, li = (e) => {
4405
4405
  try {
4406
- return Vt(e)?.match ?? String(e);
4406
+ return Bt(e)?.match ?? String(e);
4407
4407
  } catch {
4408
4408
  return String(e);
4409
4409
  }
@@ -4418,7 +4418,7 @@ var ui = (e) => {
4418
4418
  }, di = /^\s*=\s*TABLE\s*\(([^()]*)\)\s*$/i;
4419
4419
  function hi(e) {
4420
4420
  const t = [];
4421
- for (const n of e.getEntireRange().getRegions(j.Feature.Formula)) {
4421
+ for (const n of e.getEntireRange().getRegions(x.Feature.Formula)) {
4422
4422
  if (!di.test(n.getCell().getFormulaText() ?? "")) continue;
4423
4423
  const o = n.getCoords();
4424
4424
  for (let n = o.rowStart; n <= o.rowEnd; n++) for (let r = o.colStart; r <= o.colEnd; r++) {
@@ -4471,19 +4471,19 @@ async function fi(e, t) {
4471
4471
  let n = "";
4472
4472
  t && t.getSelectedWorksheet()?.getId() === e.getId() && (n += " (selected)");
4473
4473
  const o = e.getVisibility();
4474
- return o === b.Visibility.Hidden ? n += " (hidden)" : o === b.Visibility.VeryHidden && (n += " (very hidden)"), e.getProtection().isLocked() && (n += " (protected)"), n;
4474
+ return o === E.Visibility.Hidden ? n += " (hidden)" : o === E.Visibility.VeryHidden && (n += " (very hidden)"), e.getProtection().isLocked() && (n += " (protected)"), n;
4475
4475
  }(e)}`), n.text(`Used: ${r ? Po(r) : "empty"}`), n.text(`Selection: ${Po(o)}`);
4476
4476
  const s = cr(e);
4477
4477
  s && n.text(`Outline: ${s}`);
4478
4478
  const a = function(e) {
4479
4479
  const t = e.getPageLayout(), n = [];
4480
- t.getOrientation() !== w.Orientation.Portrait && n.push(t.getOrientation());
4480
+ t.getOrientation() !== S.Orientation.Portrait && n.push(t.getOrientation());
4481
4481
  const o = Ya(t);
4482
4482
  o && n.push(o);
4483
4483
  const r = Za(t);
4484
4484
  r && n.push(r);
4485
4485
  const s = t.getPrintArea();
4486
- s && n.push(`print area ${Bo(s)}`);
4486
+ s && n.push(`print area ${Vo(s)}`);
4487
4487
  const a = ei(t.getPrintTitleRows(), !1);
4488
4488
  a && n.push(`title rows ${a}`);
4489
4489
  const i = ei(t.getPrintTitleColumns(), !0);
@@ -4624,12 +4624,12 @@ function yi(e, t) {
4624
4624
  }
4625
4625
  var bi = (e) => !!e && "object" == typeof e && !0 === e.isIRange, ki = (e) => {
4626
4626
  if (null == e) return { text: "" };
4627
- const t = (Vt(e)?.display ?? "").replace(/[\r\n]+/g, " ");
4627
+ const t = (Bt(e)?.display ?? "").replace(/[\r\n]+/g, " ");
4628
4628
  return "number" == typeof e ? {
4629
4629
  text: t,
4630
4630
  alignment: "right"
4631
4631
  } : { text: t };
4632
- }, Si = j.Feature, xi = [
4632
+ }, Si = x.Feature, xi = [
4633
4633
  [Si.Font, "fonts"],
4634
4634
  [Si.NumberFormat, "formats"],
4635
4635
  [Si.Fill, "fills"],
@@ -4640,7 +4640,7 @@ async function vi(e, t) {
4640
4640
  const n = new yn();
4641
4641
  n.h1(`Workbook — ${e.getName() ?? "Untitled"}`), n.text(`Locale: ${e.getRuntime().getLocale()}`);
4642
4642
  const o = e.getCalculation();
4643
- o.getStatus() === v.Status.Off ? n.text("Calculation: off — formulas have not been evaluated; values are as loaded. wb.getCalculation().calculate() evaluates them") : o.getStatus() === v.Status.Error ? n.text("Calculation: error — the engine failed to start; values are as loaded. wb.getCalculation().start() tries again") : o.getCalculationMode() === v.CalculationMode.Manual && n.text("Calculation: manual — values are as of the last calculation. wb.getCalculation().calculate() refreshes them");
4643
+ o.getStatus() === k.Status.Off ? n.text("Calculation: off — formulas have not been evaluated; values are as loaded. wb.getCalculation().calculate() evaluates them") : o.getStatus() === k.Status.Error ? n.text("Calculation: error — the engine failed to start; values are as loaded. wb.getCalculation().start() tries again") : o.getCalculationMode() === k.CalculationMode.Manual && n.text("Calculation: manual — values are as of the last calculation. wb.getCalculation().calculate() refreshes them");
4644
4644
  const r = ((e) => {
4645
4645
  const t = pa(e);
4646
4646
  if (!t) return null;
@@ -4648,7 +4648,7 @@ async function vi(e, t) {
4648
4648
  return n ? `${n} ${t}` : t;
4649
4649
  })(e.getProtection());
4650
4650
  r && n.text(`Protection: ${r}`), n.blank();
4651
- const s = e.getWorksheets().getItems({ visibility: b.Visibility.VeryHidden }), a = e.getSelectedSheet(), i = e.getStyles().getNormal(), l = [];
4651
+ const s = e.getWorksheets().getItems({ visibility: E.Visibility.VeryHidden }), a = e.getSelectedSheet(), i = e.getStyles().getNormal(), l = [];
4652
4652
  for (const e of s) {
4653
4653
  const t = Ci(e, i);
4654
4654
  l.push({
@@ -4690,7 +4690,7 @@ async function vi(e, t) {
4690
4690
  n.blank();
4691
4691
  }
4692
4692
  u.length < l.length && (n.text(`…and ${l.length - u.length} more sheets · wb.getWorksheets().getItems() lists all`), n.blank());
4693
- const m = e.getSheets({ visibility: b.Visibility.VeryHidden }).filter((e) => e.getKind() !== b.Kind.Worksheet);
4693
+ const m = e.getSheets({ visibility: E.Visibility.VeryHidden }).filter((e) => e.getKind() !== E.Kind.Worksheet);
4694
4694
  if (m.length > 0) {
4695
4695
  n.h2(`Other sheets (${m.length})`), n.blank();
4696
4696
  for (const e of m) n.text(` ${Mi(e, e.getId() === a.getId())}`);
@@ -4791,7 +4791,7 @@ function Ci(e, t) {
4791
4791
  for (const n of l) {
4792
4792
  const o = n.getRowCount() * n.getColumnCount();
4793
4793
  t += o;
4794
- for (const t of n.getCell().getAnomalies()) t.check !== S.ErrorCheck.ConstantFrequency && e.set(t.check, (e.get(t.check) ?? 0) + o);
4794
+ for (const t of n.getCell().getAnomalies()) t.check !== v.ErrorCheck.ConstantFrequency && e.set(t.check, (e.get(t.check) ?? 0) + o);
4795
4795
  }
4796
4796
  r.push({
4797
4797
  label: "anomalies",
@@ -4910,18 +4910,18 @@ function Ti(e) {
4910
4910
  colEnd: Math.max(t.colEnd, e.colEnd)
4911
4911
  } : e;
4912
4912
  }
4913
- return t ? R.rangeToString(t) ?? "" : "";
4913
+ return t ? w.rangeToString(t) ?? "" : "";
4914
4914
  }
4915
4915
  var Ni = (e, t) => `${e} ${t}${1 !== e ? "s" : ""}`;
4916
4916
  function Ai(e, t) {
4917
4917
  const n = e.getVisibility();
4918
4918
  let o = "";
4919
- return t && (o += " (selected)"), n === b.Visibility.Hidden ? o += " (hidden)" : n === b.Visibility.VeryHidden && (o += " (very hidden)"), e.getProtection().isLocked() && (o += " (protected)"), `${Do(e.getName())}${o}`;
4919
+ return t && (o += " (selected)"), n === E.Visibility.Hidden ? o += " (hidden)" : n === E.Visibility.VeryHidden && (o += " (very hidden)"), e.getProtection().isLocked() && (o += " (protected)"), `${Do(e.getName())}${o}`;
4920
4920
  }
4921
4921
  function Mi(e, t) {
4922
- const n = e.getKind(), o = n === b.Kind.Chart ? "chart sheet" : n === b.Kind.Macro ? "Excel 4.0 macro sheet" : "dialog sheet", r = e.getVisibility();
4922
+ const n = e.getKind(), o = n === E.Kind.Chart ? "chart sheet" : n === E.Kind.Macro ? "Excel 4.0 macro sheet" : "dialog sheet", r = e.getVisibility();
4923
4923
  let s = ` (${o})`;
4924
- return t && (s += " (selected)"), r === b.Visibility.Hidden ? s += " (hidden)" : r === b.Visibility.VeryHidden && (s += " (very hidden)"), `${Do(e.getName())}${s}`;
4924
+ return t && (s += " (selected)"), r === E.Visibility.Hidden ? s += " (hidden)" : r === E.Visibility.VeryHidden && (s += " (very hidden)"), `${Do(e.getName())}${s}`;
4925
4925
  }
4926
4926
  var Fi = 6;
4927
4927
  function _i(e, t, n, o, r) {
@@ -4993,7 +4993,7 @@ function _i(e, t, n, o, r) {
4993
4993
  for (const { movable: e, detail: t } of m) {
4994
4994
  const n = e.getRange();
4995
4995
  l.push({
4996
- address: `${Do(n.getWorksheet().getName())}!${R.rangeToString(n.getCoords()) ?? ""}`,
4996
+ address: `${Do(n.getWorksheet().getName())}!${w.rangeToString(n.getCoords()) ?? ""}`,
4997
4997
  size: "chart",
4998
4998
  payload: `${e.getContent().getName?.() || "(unnamed)"} · ${t}`
4999
4999
  });
@@ -5001,13 +5001,13 @@ function _i(e, t, n, o, r) {
5001
5001
  if (0 === a && 0 === i.length) return;
5002
5002
  const p = [];
5003
5003
  a > 0 && p.push(String(a)), i.length > 0 && p.push(`${i.length} in charts`), e.h2(`${t} (${p.join(" · ")})`);
5004
- const f = Math.max(0, ...l.map((e) => e.address.length)), w = Math.max(0, ...l.map((e) => e.size.length));
5005
- for (const t of l) e.text(` ${t.address.padEnd(f)} ${t.size.padEnd(w)} ${t.payload}`.trimEnd());
5006
- const $ = l.length - m.length + g;
5007
- c > $ && e.text(` …and ${c - $} more · getRegions('${o}') on a sheet's used range lists the rest`), i.length > m.length && e.text(` …and ${i.length - m.length} more in charts · a sheet's report lists its charts under Charts`), e.blank();
5004
+ const f = Math.max(0, ...l.map((e) => e.address.length)), $ = Math.max(0, ...l.map((e) => e.size.length));
5005
+ for (const t of l) e.text(` ${t.address.padEnd(f)} ${t.size.padEnd($)} ${t.payload}`.trimEnd());
5006
+ const y = l.length - m.length + g;
5007
+ c > y && e.text(` …and ${c - y} more · getRegions('${o}') on a sheet's used range lists the rest`), i.length > m.length && e.text(` …and ${i.length - m.length} more in charts · a sheet's report lists its charts under Charts`), e.blank();
5008
5008
  }
5009
5009
  function Oi(e) {
5010
- const t = e.getCell(), n = Bt(t, Lt.Mode.Display)?.display ?? "", o = t.getFormulaText();
5010
+ const t = e.getCell(), n = Vt(t, Lt.Mode.Display)?.display ?? "", o = t.getFormulaText();
5011
5011
  if (!o) return n;
5012
5012
  const r = da(ua(t.getFormula()?.getTokens() ?? [], t.getWorksheet().getWorkbook()));
5013
5013
  return [`${n} ${o}`.trim(), r].filter(Boolean).join(" · ");
@@ -5035,7 +5035,7 @@ function Di(e) {
5035
5035
  const r = o[0].replace(/^#+\s*/, ""), s = o.slice(1);
5036
5036
  return s.length <= 2 ? [r, ...s].join(" · ") : `${r} · ${s.length} more lines — return it on its own`;
5037
5037
  }
5038
- var Wi = 20, Bi = [
5038
+ var Wi = 20, Vi = [
5039
5039
  {
5040
5040
  kind: "workbook",
5041
5041
  is: (e) => Li(e, "isIWorkbook"),
@@ -5078,7 +5078,7 @@ var Wi = 20, Bi = [
5078
5078
  render: (e, t) => function(e, t) {
5079
5079
  const n = new yn(), o = e.getItems({ language: null }) ?? [];
5080
5080
  if (n.h1(`Modules — ${o.length} module${1 !== o.length ? "s" : ""}`), n.blank(), 0 === o.length) return n.text("None"), n.toLines().join("\n").trimEnd();
5081
- const r = o.map(Va);
5081
+ const r = o.map(Ba);
5082
5082
  Ha(n, o, t);
5083
5083
  for (const e of r) 0 !== e.lines && (Ua(n, e, (e) => n.h2(e), t), n.blank());
5084
5084
  return n.toLines().join("\n").trimEnd();
@@ -5089,7 +5089,7 @@ var Wi = 20, Bi = [
5089
5089
  is: (e) => Li(e, "isIModule"),
5090
5090
  render: (e, t) => function(e, t) {
5091
5091
  const n = new yn();
5092
- return Ua(n, Va(e), (e) => n.h1(e), t), n.toLines().join("\n").trimEnd();
5092
+ return Ua(n, Ba(e), (e) => n.h1(e), t), n.toLines().join("\n").trimEnd();
5093
5093
  }(e, t)
5094
5094
  },
5095
5095
  {
@@ -5114,7 +5114,7 @@ var Wi = 20, Bi = [
5114
5114
  }
5115
5115
  if ((o = n) && "object" == typeof o && !0 === o.isIRange) return void e.fact(`Value: spills ${n.getRowCount()}×${n.getColumnCount()} — an array result`);
5116
5116
  var o;
5117
- const r = Vt(n);
5117
+ const r = Bt(n);
5118
5118
  e.fact(`Value: ${r ? r.display : "(empty)"}`);
5119
5119
  }(o, e), o.fact(`Status: ${e.getCalculationStatus()}`), e.isValid() || o.fact("Valid: false — the text did not parse as a complete expression");
5120
5120
  const s = _a.filter(([t]) => e[t]()).map(([, e]) => e);
@@ -5239,7 +5239,7 @@ var Wi = 20, Bi = [
5239
5239
  is: (e) => Li(e, "isIConditionalFormat"),
5240
5240
  render: (e) => function(e) {
5241
5241
  const t = new yn(), n = e.getRanges();
5242
- t.h1(`Conditional Format — ${Vo(n)}`), t.blank(), t.fact(`Order: ${e.getIndex() + 1}`);
5242
+ t.h1(`Conditional Format — ${Bo(n)}`), t.blank(), t.fact(`Order: ${e.getIndex() + 1}`);
5243
5243
  const o = e.getScale();
5244
5244
  if (o) t.fact(`Rule: ${bo(o)}`);
5245
5245
  else {
@@ -5288,11 +5288,11 @@ var Wi = 20, Bi = [
5288
5288
  const t = new yn();
5289
5289
  t.h1("Page Layout"), t.blank();
5290
5290
  const n = e.getOrientation();
5291
- t.fact(`Orientation: ${n}${n === w.Orientation.Portrait ? " (default)" : ""}`), t.fact(`Paper: ${Ya(e) ?? "letter (default)"}`), t.fact(`Zoom: ${Za(e) ?? "100% (default)"}`);
5291
+ t.fact(`Orientation: ${n}${n === S.Orientation.Portrait ? " (default)" : ""}`), t.fact(`Paper: ${Ya(e) ?? "letter (default)"}`), t.fact(`Zoom: ${Za(e) ?? "100% (default)"}`);
5292
5292
  const o = Ja.map(([t, n]) => `${t} ${Ga(n(e))}`).join(" · ");
5293
5293
  t.fact(`Margins (inches): ${o}${Qa(e) ? " (default)" : ""}`);
5294
5294
  const r = e.getPrintArea();
5295
- t.fact(`Print area: ${r ? Bo(r) : "none — the used range prints"}`), t.fact(`Title rows: ${ei(e.getPrintTitleRows(), !1) ?? "none"}`), t.fact(`Title columns: ${ei(e.getPrintTitleColumns(), !0) ?? "none"}`);
5295
+ t.fact(`Print area: ${r ? Vo(r) : "none — the used range prints"}`), t.fact(`Title rows: ${ei(e.getPrintTitleRows(), !1) ?? "none"}`), t.fact(`Title columns: ${ei(e.getPrintTitleColumns(), !0) ?? "none"}`);
5296
5296
  const s = e.getHorizontalPageBreaks(), a = e.getVerticalPageBreaks();
5297
5297
  t.fact("Row breaks: " + (s.length > 0 ? `${s.length} · ${ti(s, !1)}` : "none")), t.fact("Column breaks: " + (a.length > 0 ? `${a.length} · ${ti(a, !0)}` : "none"));
5298
5298
  const i = [];
@@ -5300,7 +5300,7 @@ var Wi = 20, Bi = [
5300
5300
  const l = Xa.filter(([, t]) => t(e)).map(([e]) => e);
5301
5301
  l.length > 0 && t.fact(`Also prints: ${l.join(", ")}`);
5302
5302
  const c = e.getFirstPageNumber();
5303
- "" !== c && t.fact(`First page number: ${c}`), e.getPrintOrder() !== w.PrintOrder.DownThenOver && t.fact(`Page order: ${e.getPrintOrder()}`), e.getPrintComments() !== w.PrintComments.NoComments && t.fact(`Notes: ${e.getPrintComments()}`), e.getPrintErrors() !== w.PrintErrorType.AsDisplayed && t.fact(`Errors print as: ${e.getPrintErrors()}`);
5303
+ "" !== c && t.fact(`First page number: ${c}`), e.getPrintOrder() !== S.PrintOrder.DownThenOver && t.fact(`Page order: ${e.getPrintOrder()}`), e.getPrintComments() !== S.PrintComments.NoComments && t.fact(`Notes: ${e.getPrintComments()}`), e.getPrintErrors() !== S.PrintErrorType.AsDisplayed && t.fact(`Errors print as: ${e.getPrintErrors()}`);
5304
5304
  const u = ni(e).flatMap(([e, t]) => {
5305
5305
  const n = [], o = oi(t.getLeftHeader(), t.getCenterHeader(), t.getRightHeader());
5306
5306
  o && n.push(`${e} header: ${o}`);
@@ -5314,7 +5314,7 @@ var Wi = 20, Bi = [
5314
5314
  kind: "stats",
5315
5315
  is: (e) => Li(e, "isIRangeStats"),
5316
5316
  render: (e) => function(e) {
5317
- const t = new yn(), n = e.getCoords(), o = n ? R.rangeToString(n) : null;
5317
+ const t = new yn(), n = e.getCoords(), o = n ? w.rangeToString(n) : null;
5318
5318
  t.h1(o ? `Stats — ${o}` : "Stats");
5319
5319
  const r = e.getTypedCounts();
5320
5320
  t.fact(`Cells: ${e.getSize()}`), t.fact(`Values: ${e.getCount()}`);
@@ -5329,7 +5329,7 @@ var Wi = 20, Bi = [
5329
5329
  for (const [e, n] of t.getValueCounts()) {
5330
5330
  const r = t.getExtent(e);
5331
5331
  o.push({
5332
- label: Vt(e)?.display ?? "",
5332
+ label: Bt(e)?.display ?? "",
5333
5333
  content: n,
5334
5334
  styled: n,
5335
5335
  blocks: r && $i(r) === n ? [r] : []
@@ -5382,9 +5382,9 @@ var Wi = 20, Bi = [
5382
5382
  kind: "regions",
5383
5383
  is: (e) => Li(e, "isICellRegions"),
5384
5384
  render: (e, t) => function(e, t) {
5385
- const n = [...e], o = e.getFeatures(), r = o.join(", "), s = 1 === o.length && o[0] === j.Feature.Contentful, a = e.getRange().getWorksheet().getWorkbook()?.getStyles().getNormal() ?? null, i = new yn();
5385
+ const n = [...e], o = e.getFeatures(), r = o.join(", "), s = 1 === o.length && o[0] === x.Feature.Contentful, a = e.getRange().getWorksheet().getWorkbook()?.getStyles().getNormal() ?? null, i = new yn();
5386
5386
  i.h1(`Regions — ${r} (${n.length})`);
5387
- const l = 1 === o.length && o[0] === j.Feature.Anomalies;
5387
+ const l = 1 === o.length && o[0] === x.Feature.Anomalies;
5388
5388
  return To(i, n, {
5389
5389
  ...t,
5390
5390
  profile: s,
@@ -5452,13 +5452,13 @@ var Wi = 20, Bi = [
5452
5452
  return n.length < e.length && o.push(`…and ${e.length - n.length} more · render one at a time to see them`), o.join("\n\n");
5453
5453
  }
5454
5454
  }
5455
- ], Vi = Bi.map((e) => e.kind), Hi = class extends Error {
5455
+ ], Bi = Vi.map((e) => e.kind), Hi = class extends Error {
5456
5456
  constructor(e) {
5457
5457
  super(e), this.name = "NoRendererError";
5458
5458
  }
5459
5459
  };
5460
5460
  function Ui(e) {
5461
- for (const t of Bi) if (t.is(e)) return t;
5461
+ for (const t of Vi) if (t.is(e)) return t;
5462
5462
  return null;
5463
5463
  }
5464
5464
  async function qi(e, t, n) {
@@ -5469,18 +5469,18 @@ async function qi(e, t, n) {
5469
5469
  for (const t of r) if (e.push(t), e.length >= 1e3) break;
5470
5470
  r = e, o = Ui(r);
5471
5471
  }
5472
- if (!o) throw new Hi(`No markdown renderer for this value. Renderable kinds: ${Vi.join(", ")}.`);
5472
+ if (!o) throw new Hi(`No markdown renderer for this value. Renderable kinds: ${Bi.join(", ")}.`);
5473
5473
  const s = e?.getCalculation() ?? null;
5474
5474
  let a = await o.render(r, n);
5475
5475
  for (let e = 0; e < zi && "calculating" === s?.getCalculationState(); e++) await s.ready(), a = await o.render(r, n);
5476
5476
  return a;
5477
5477
  }
5478
5478
  var zi = 2;
5479
- var Ji = j.Feature;
5479
+ var Ji = x.Feature;
5480
5480
  function Xi(e, t, n, o, r, s) {
5481
5481
  const a = o?.getRanges() ?? null, i = {
5482
5482
  sheet: Do(e.getName()),
5483
- written: n ? Vo(n) : null,
5483
+ written: n ? Bo(n) : null,
5484
5484
  cells: 0,
5485
5485
  formulas: 0,
5486
5486
  values: 0,
@@ -5497,11 +5497,11 @@ function Xi(e, t, n, o, r, s) {
5497
5497
  return {
5498
5498
  kind: t.getKind(),
5499
5499
  axis: r,
5500
- address: a.length > 0 ? Vo(e.getRanges(a)) : null,
5500
+ address: a.length > 0 ? Bo(e.getRanges(a)) : null,
5501
5501
  whole: s
5502
5502
  };
5503
5503
  }(e, t)) : [],
5504
- styles: a ? Vo(a) : null,
5504
+ styles: a ? Bo(a) : null,
5505
5505
  blocks: [],
5506
5506
  blocksMore: 0
5507
5507
  };
@@ -5568,10 +5568,10 @@ function Zi(e, t) {
5568
5568
  const n = e.getRowCount() * e.getColumnCount(), o = n > t, r = [];
5569
5569
  let s = null;
5570
5570
  return e.forEach((e, t) => {
5571
- const n = Bt(t.getCell(), Lt.Mode.Display)?.display ?? "";
5571
+ const n = Vt(t.getCell(), Lt.Mode.Display)?.display ?? "";
5572
5572
  !o || r.length < 3 ? r.push(n) : s = n;
5573
5573
  }), o && null !== s && r.push(s), {
5574
- address: Vo(e.getWorksheet().getRanges(e.getAddress())),
5574
+ address: Bo(e.getWorksheet().getRanges(e.getAddress())),
5575
5575
  formula: e.getCell().getFormulaText() ?? "",
5576
5576
  cells: n,
5577
5577
  values: r,
@@ -5601,15 +5601,15 @@ function Qi(e, t) {
5601
5601
  sheet: e,
5602
5602
  cells: t
5603
5603
  })),
5604
- areas: o.slice(0, s).map((e) => Vo(e.getWorksheet().getRanges(e.getAddress()))),
5604
+ areas: o.slice(0, s).map((e) => Bo(e.getWorksheet().getRanges(e.getAddress()))),
5605
5605
  areasMore: o.length - s
5606
5606
  };
5607
5607
  }
5608
5608
  function el(e, t) {
5609
5609
  const n = /* @__PURE__ */ new Set(), o = /* @__PURE__ */ new Set(), r = /* @__PURE__ */ new Set(), s = /* @__PURE__ */ new Map(), a = (e) => {
5610
5610
  for (const t of dr(e)) n.add(Qo(t));
5611
- for (const t of e.getConditionalFormats()) o.add(Vo(t.getRanges()));
5612
- for (const t of e.getDataValidations()) r.add(Vo(t.getRanges()));
5611
+ for (const t of e.getConditionalFormats()) o.add(Bo(t.getRanges()));
5612
+ for (const t of e.getDataValidations()) r.add(Bo(t.getRanges()));
5613
5613
  };
5614
5614
  for (const n of e) for (let e = 0; e < n.length; e++) {
5615
5615
  const o = n.at(e);
@@ -5712,10 +5712,10 @@ async function il(e, t, n) {
5712
5712
  const h = function(e) {
5713
5713
  const t = /* @__PURE__ */ new Set(), n = [];
5714
5714
  for (const o of e) if (0 !== (o.getCounts([Ji.Error])[Ji.Error] ?? 0)) for (const e of o.getRegions(Ji.Error)) {
5715
- const r = Vo(o.getWorksheet().getRanges(e.getAddress()));
5715
+ const r = Bo(o.getWorksheet().getRanges(e.getAddress()));
5716
5716
  t.has(r) || (t.add(r), n.push({
5717
5717
  address: r,
5718
- error: Bt(e.getCell(), Lt.Mode.Display)?.display ?? "",
5718
+ error: Vt(e.getCell(), Lt.Mode.Display)?.display ?? "",
5719
5719
  cells: e.getRowCount() * e.getColumnCount()
5720
5720
  }));
5721
5721
  }
@@ -6012,7 +6012,7 @@ async function Al(e, t) {
6012
6012
  try {
6013
6013
  const n = "snippet" === await xl(e) ? await Rl(e) : null;
6014
6014
  if ("undefined" === t && !n?.expectsValue) return [];
6015
- const [{ ScriptCompiler: o }, { getScriptingDeclarations: r }] = await Promise.all([import("./assets/DFvs1LVzXKm1N5M2.js"), import("./assets/DsTi7zHk_Xl37bAD.js")]), { diagnostics: s } = await o.compile({
6015
+ const [{ ScriptCompiler: o }, { getScriptingDeclarations: r }] = await Promise.all([import("./assets/Xe7sA_mEwDQpJjcF.js"), import("./assets/CSLLHl-zum7m1CJl.js")]), { diagnostics: s } = await o.compile({
6016
6016
  source: n?.source ?? e,
6017
6017
  ambientTypes: await r(),
6018
6018
  lenient: !0,
@@ -6047,7 +6047,7 @@ var Ml = (e, t) => {
6047
6047
  throw new Error(`Unable to read workbook from '${o.path}' — ${e?.message ?? String(e)}`, { cause: e });
6048
6048
  }
6049
6049
  if (!r) throw new Error(`Unable to read workbook from '${o.path}' — no content.`);
6050
- return new t(e, o.name ?? B(o.path), n, r, { path: o.path });
6050
+ return new t(e, o.name ?? V(o.path), n, r, { path: o.path });
6051
6051
  }
6052
6052
  if ("fork" === n) {
6053
6053
  if (!o.json) throw new Error("origin 'fork' requires source workbook json.");
@@ -6167,7 +6167,7 @@ var Ml = (e, t) => {
6167
6167
  switch (typeof e) {
6168
6168
  case "number":
6169
6169
  case "boolean": return {
6170
- text: Vt(e)?.display ?? String(e),
6170
+ text: Bt(e)?.display ?? String(e),
6171
6171
  rendered: !0
6172
6172
  };
6173
6173
  case "bigint":
@@ -6182,7 +6182,7 @@ var Ml = (e, t) => {
6182
6182
  }
6183
6183
  const t = e;
6184
6184
  if (!0 === t.isFormulaError || !0 === t.isIRichData) return {
6185
- text: Vt(e)?.display ?? "",
6185
+ text: Bt(e)?.display ?? "",
6186
6186
  rendered: !0
6187
6187
  };
6188
6188
  let n;
@@ -6284,7 +6284,7 @@ function Wl(e) {
6284
6284
  ordinal: Number.parseInt(t[2], 10)
6285
6285
  } : null;
6286
6286
  }
6287
- var Bl = class e {
6287
+ var Vl = class e {
6288
6288
  static {
6289
6289
  this.CLOSED_LIMIT = 20;
6290
6290
  }
@@ -6518,7 +6518,7 @@ var Bl = class e {
6518
6518
  }));
6519
6519
  return [...e, ...n];
6520
6520
  }
6521
- }, Vl = class extends Error {
6521
+ }, Bl = class extends Error {
6522
6522
  constructor(e, t, n = []) {
6523
6523
  super(`Screenshot unavailable: ${t}`), this.name = "ScreenshotUnavailableError", this.reason = e, this.tried = n;
6524
6524
  }
@@ -6532,7 +6532,7 @@ var Ul = class e {
6532
6532
  path: e,
6533
6533
  source: "env"
6534
6534
  };
6535
- throw new Vl("not-found", `${Hl} is set to '${e}', which does not exist.`);
6535
+ throw new Bl("not-found", `${Hl} is set to '${e}', which does not exist.`);
6536
6536
  }
6537
6537
  const t = (() => {
6538
6538
  const e = process.env;
@@ -6552,7 +6552,7 @@ var Ul = class e {
6552
6552
  ...t.map((e) => z(e, "Chromium.app", "Contents", "MacOS", "Chromium"))
6553
6553
  ];
6554
6554
  }
6555
- const t = (e.PATH ?? "").split(V).filter(Boolean);
6555
+ const t = (e.PATH ?? "").split(B).filter(Boolean);
6556
6556
  return [
6557
6557
  "google-chrome",
6558
6558
  "google-chrome-stable",
@@ -6566,7 +6566,7 @@ var Ul = class e {
6566
6566
  path: n,
6567
6567
  source: "search"
6568
6568
  };
6569
- throw new Vl("not-found", `No Chrome or Edge found. Install one, or set ${Hl} to a Chromium-family executable.`, t);
6569
+ throw new Bl("not-found", `No Chrome or Edge found. Install one, or set ${Hl} to a Chromium-family executable.`, t);
6570
6570
  }(), o = t?.launchTimeoutMs ?? 15e3;
6571
6571
  (function() {
6572
6572
  const e = D(), t = Date.now();
@@ -6605,7 +6605,7 @@ var Ul = class e {
6605
6605
  windowsHide: !0
6606
6606
  });
6607
6607
  } catch (e) {
6608
- throw Jl(r), new Vl("launch-failed", `${n.path} could not be started: ${e?.message ?? e}`);
6608
+ throw Jl(r), new Bl("launch-failed", `${n.path} could not be started: ${e?.message ?? e}`);
6609
6609
  }
6610
6610
  const a = new e(s, n, r, t?.commandTimeoutMs ?? 3e4);
6611
6611
  try {
@@ -6616,7 +6616,7 @@ var Ul = class e {
6616
6616
  })]).finally(() => clearTimeout(o));
6617
6617
  }(a.send("Browser.getVersion"), o, `did not answer within ${o} ms`)).product, a;
6618
6618
  } catch (e) {
6619
- throw await a.close(), new Vl("launch-failed", `${n.path} ${e?.message ?? e}`);
6619
+ throw await a.close(), new Bl("launch-failed", `${n.path} ${e?.message ?? e}`);
6620
6620
  }
6621
6621
  }
6622
6622
  constructor(e, t, n, o) {
@@ -6722,9 +6722,9 @@ var Gl = class e {
6722
6722
  const e = {
6723
6723
  origin: "http://screenshot.sheetxl.invalid",
6724
6724
  key: null
6725
- }, t = await E.getDetails();
6725
+ }, t = await $.getDetails();
6726
6726
  if (t.isEval() || !t.getRuntimes().includes("browser")) return e;
6727
- const n = await E.getLicenseKey();
6727
+ const n = await $.getLicenseKey();
6728
6728
  if (!n) return e;
6729
6729
  for (const e of t.getDomains()) if (!e.includes("*")) try {
6730
6730
  const t = new URL(e);
@@ -6752,7 +6752,7 @@ var Gl = class e {
6752
6752
  async capture(e, t) {
6753
6753
  if (!Zl(e)) {
6754
6754
  const n = e.getCalculation();
6755
- n.getStatus() === v.Status.Running && await n.whenPendingDone({ timeout: t?.answerTimeout ?? 1e4 });
6755
+ n.getStatus() === k.Status.Running && await n.whenPendingDone({ timeout: t?.answerTimeout ?? 1e4 });
6756
6756
  }
6757
6757
  const n = new Uint8Array(Zl(e) ? e : await A.writeArrayBuffer(e, { format: "sxl" })), o = t?.maxEdge ?? 1600, r = t?.scale ?? 1, s = {
6758
6758
  range: t?.range,
@@ -7016,7 +7016,7 @@ async function ac(e, t = function(e = process.env.SHEETXL_RUN_TIMEOUT) {
7016
7016
  const t = Number(e);
7017
7017
  return !Number.isFinite(t) || t < 0 ? sc : 0 === t ? null : Math.round(1e3 * t);
7018
7018
  }()) {
7019
- const { ScriptCompiler: n, DiagnosticCode: o } = await import("./assets/DFvs1LVzXKm1N5M2.js"), r = await T(), s = null !== t ? {
7019
+ const { ScriptCompiler: n, DiagnosticCode: o } = await import("./assets/Xe7sA_mEwDQpJjcF.js"), r = await T(), s = null !== t ? {
7020
7020
  key: me(),
7021
7021
  timeoutMs: t
7022
7022
  } : void 0, a = async (e) => {
@@ -7206,7 +7206,7 @@ var kc = function(e) {
7206
7206
  if (!t) return lt = null, null;
7207
7207
  const n = /* @__PURE__ */ new Date(), o = `${n.getFullYear()}${String(n.getMonth() + 1).padStart(2, "0")}${String(n.getDate()).padStart(2, "0")}`, r = e.tag ? `${o}-${e.tag}-${process.pid}.jsonl` : `${o}-${process.pid}.jsonl`;
7208
7208
  return lt = W.join(t, r), dt = { transport: e.transport }, lt;
7209
- }({ transport: "mcp" }), Sc = new Bl(async function() {
7209
+ }({ transport: "mcp" }), Sc = new Vl(async function() {
7210
7210
  const e = await Ue();
7211
7211
  return e ? new kt(e.port, e.token) : null;
7212
7212
  });
@@ -7254,7 +7254,7 @@ var xc = process.env.SHEETXL_WORKSPACE ?? process.cwd(), vc = function(e, t, n,
7254
7254
  }(Pl, xc, /* @__PURE__ */ new Date(), kc), Cc = function(e, t) {
7255
7255
  const n = new Yl(), o = /* @__PURE__ */ new Map(), r = new ic(), s = new fe({
7256
7256
  name: "sheetxl-mcp",
7257
- version: "0.8.0-beta.16"
7257
+ version: "0.8.0-beta.17"
7258
7258
  }, {
7259
7259
  instructions: `${pc}\n\n${fc}`,
7260
7260
  capabilities: { tasks: {
@@ -7319,10 +7319,10 @@ var xc = process.env.SHEETXL_WORKSPACE ?? process.cwd(), vc = function(e, t, n,
7319
7319
  }, ...t.content ?? []]);
7320
7320
  }
7321
7321
  const a = await (async () => {
7322
- const e = await E.getEvalState().catch(() => null);
7322
+ const e = await $.getEvalState().catch(() => null);
7323
7323
  if (!e || e === c) return null;
7324
7324
  if (c = e, "grace" !== e && "stopped" !== e) return null;
7325
- const t = (await E.getDetails()).getEvalStopDate()?.toISOString().slice(0, 10);
7325
+ const t = (await $.getDetails()).getEvalStopDate()?.toISOString().slice(0, 10);
7326
7326
  return `⚠ This SheetXL build is past its evaluation period: ${"grace" === e ? `exports (xlsx, csv — every format but .sxl) are refused, and on ${t} it stops calculating and running scripts` : "it no longer calculates, runs scripts or exports"}. Saving as .sxl always works. Tell the user before you edit anything they will need to export. Fix: update — restart this server on the latest release (\`npx -y @sheetxl/mcp@latest\`, or update the SheetXL VS Code extension) — or set a license key (\`SHEETXL_LICENSE_KEY\`).`;
7327
7327
  })();
7328
7328
  return a && (t.content = [{
@@ -7573,7 +7573,7 @@ var xc = process.env.SHEETXL_WORKSPACE ?? process.cwd(), vc = function(e, t, n,
7573
7573
  };
7574
7574
  }({
7575
7575
  surface: "mcp",
7576
- license: () => E.getDetails(),
7576
+ license: () => $.getDetails(),
7577
7577
  serverCount: t ? Ft(t.workspace).filter(_t).length + 1 : void 0,
7578
7578
  sessions: async () => (await e.list()).map((e) => ({
7579
7579
  id: e.id,
@@ -7969,7 +7969,7 @@ var xc = process.env.SHEETXL_WORKSPACE ?? process.cwd(), vc = function(e, t, n,
7969
7969
  return {
7970
7970
  content: [{
7971
7971
  type: "text",
7972
- text: e instanceof Vl ? `${e.message} Every other tool works as before; describe the range from the read tools instead.` : String(e)
7972
+ text: e instanceof Bl ? `${e.message} Every other tool works as before; describe the range from the read tools instead.` : String(e)
7973
7973
  }],
7974
7974
  isError: !0
7975
7975
  };