@sheetxl/mcp 0.8.0-beta.18 → 0.8.0-beta.20

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 (207) hide show
  1. package/assets/{o9G5KuG1VkSazTvI.js → -qQT-DFFz0CqGx5C.js} +373 -373
  2. package/assets/{CNE-erNKNIT7bUb1.js → 4Qlx8FuxoYbVTgNW.js} +27 -27
  3. package/assets/{yBFl0kPv-nwFtG4Z.js → 4Za9gEGCvms62R7k.js} +1 -1
  4. package/assets/{D0-I0aLr6w8IvxFD.js → 8FzS1bgbz4U1QE_m.js} +1 -1
  5. package/assets/{10d0ZbYF23zeF8_1.js → 93ksqLKL1o40anfw.js} +1 -1
  6. package/assets/{BV11qLZKVWxFwVGV.js → B-7inN76S1zUWSAt.js} +1 -1
  7. package/assets/{DjoFujVwGRAxviCF.js → B4ii9PGvnlYkSX2q.js} +2 -2
  8. package/assets/{Bi8ct8GYvMDKHCE3.js → B5UmlawoCVwHHM_e.js} +5 -5
  9. package/assets/{D5nleqRNvTcmN5_9.js → B5yaBbFj2Np9Eh8b.js} +1 -1
  10. package/assets/{F0HGXXl9AizCAcFy.js → B6J8XN1FRN00a_ps.js} +1 -1
  11. package/assets/{DY1x1ZN7ZyE4OR1-.js → BBm3Xjnehvx2fYj8.js} +8 -8
  12. package/assets/{CiKd3BnRjhac2Hik.js → BEq2PSZQN7VV19RQ.js} +1 -1
  13. package/assets/{wZ-GQhOhikv-_3iQ.js → BGQ1GrnQ-X16GU8k.js} +2 -2
  14. package/assets/{BrwNVveK5LvYkoGk.js → BGlx7_eRiv47Hu9C.js} +1 -1
  15. package/assets/{BEtUOCupmeICfGE1.js → BHiZ3GtGCWUWwHqY.js} +3 -3
  16. package/assets/{BOdkvYo03yZ96iZt.js → BItblzoSm0lN3bTV.js} +1 -1
  17. package/assets/{pg7E7B7ouG2qdZve.js → BJYl-kvBtcnMVP8W.js} +1 -1
  18. package/assets/{hvCnPO_Fu7Nqz0rs.js → BKc7zTK6ZIhcD_Wu.js} +1 -1
  19. package/assets/{DmCRCUmmkoRNCS9J.js → BMH_wtFTiRj43c69.js} +2 -2
  20. package/assets/{CL4BYdfIXgFQA8nY.js → BVdH9-49M3APSiPy.js} +1 -1
  21. package/assets/{BsYVa-oRhTLH6wnH.js → BYYbglFmasE5PrS2.js} +1 -1
  22. package/assets/{BgGFX6QJ30T3seyX.js → Bg8EN9R3hbeNfFyU.js} +103 -103
  23. package/assets/{BRQd_GNkeaBTl3Zr.js → BghxJxTwaebNVcIS.js} +1 -1
  24. package/assets/{CnLLwj7OCz4U71wa.js → BieAybaOdneMdvBS.js} +1 -1
  25. package/assets/{Ct8BhGWuqN5yOpUF.js → BkhWR4P1Evw_VP5z.js} +1 -1
  26. package/assets/BmmIukrNOivfENgD.js +199 -0
  27. package/assets/{DbwDQlhCuGoasVUz.js → Bndiqwoh132Upow1.js} +2 -2
  28. package/assets/{CLBxNjtPjuGX1KnU.js → Bp9zuG6P6r9GEb6G.js} +1 -1
  29. package/assets/{Bz5ioWvl-Xl3xspC.js → C0MAjW1vgsw6o0fx.js} +1 -1
  30. package/assets/{CcB4xmoUFWBbSISF.js → C3BZQ5NFwAU_ZdeQ.js} +1 -1
  31. package/assets/{hLMlKg3lU36xZ6G6.js → C46dyA4YSP1-iTSN.js} +1 -1
  32. package/assets/{CkO0JR629W2kcDMd.js → C7oUg84aGjYrJUc6.js} +2 -2
  33. package/assets/{DmUCKxOYIBM6DX64.js → C9JUgNS6CrdgIcW3.js} +1 -1
  34. package/assets/{CGGpkGg85FZsnYHc.js → C9aV1SF8uCWIB4zU.js} +15 -15
  35. package/assets/{B2C5njsdPylyQOCM.js → C9eaFlFi_4GmymzP.js} +40 -40
  36. package/assets/{VcmpHRbBIrw6av3U.js → C9w-KoMwxvouC73F.js} +148 -148
  37. package/assets/{Bi4pI6e3AwTjn-lQ.js → C9wXzrhl0dwqZgJ6.js} +1 -1
  38. package/assets/CCl8x9s8Bujsew7W.js +14 -0
  39. package/assets/{nnqtgWxMIc_Nc-IP.js → CDmri0gcZxpVZfWn.js} +446 -445
  40. package/assets/{CPkGFumcwSKh5zea.js → CDvP9QyhDwdm3MZn.js} +2 -2
  41. package/assets/{Byd5zSRU6LWfL2No.js → CLFe9HgUi_83dE3d.js} +1 -1
  42. package/assets/{CzoexWLhnn08u05j.js → CTGfmocA1WgM0_e0.js} +718 -721
  43. package/assets/{CYUerpa6WB0Hc3fs.js → CUJiePMri5kkpdA7.js} +1 -1
  44. package/assets/{BxizypreLEtLqpIc.js → CW2Ca6tsd0aLTz88.js} +1 -1
  45. package/assets/{EDEUvF-L72a6fMCK.js → CaI562iJKKOoMw8p.js} +1 -1
  46. package/assets/{D2sRTakzE5POMnhF.js → CaOEaghQqXiA1ZzO.js} +122 -122
  47. package/assets/{CPa4og3WQ7BgHrsO.js → CbTKUrroY9PQ6eTu.js} +28 -28
  48. package/assets/{DP-FzazhSKAvylUa.js → CgIHqG1qp9n1Gwm7.js} +285 -285
  49. package/assets/{VL-vwx7Pyw1zqIx9.js → Cheq-qaVWm7EaIlQ.js} +1 -1
  50. package/assets/{D49iRcrfnODORRNC.js → Cirpx81bWi4G2foA.js} +11 -11
  51. package/assets/{B74Ls4nlmyBxWanf.js → Cm2WENwEZ0KMyF--.js} +2 -2
  52. package/assets/{Cv8UXBL7O7h1uMR8.js → CoOIn2wx6je_rMDO.js} +34 -34
  53. package/assets/{CT6kRDlkfvKq8XGZ.js → Co_ZOyp4mKmSfh0A.js} +1 -1
  54. package/assets/{Rpi4k7hMH8wPAIcB.js → CpLTCQemd_cJ4yFu.js} +1663 -1663
  55. package/assets/{Iv_Zbm3pMLOK2uxf.js → CpfpXfCqzZumY4pf.js} +1 -1
  56. package/assets/{r9WSFw3a-_a5hlPm.js → CrRJqUPbvvhnp4p4.js} +3 -7
  57. package/assets/{DI_SAQ7hesioI9TW.js → CrULZhDt8uE-MR2s.js} +1 -1
  58. package/assets/{CDqOifqA400y7KQY.js → CyOyY32LLW-Pj_L7.js} +1 -1
  59. package/assets/{gAg9rL3U8fWUDeEb.js → CyYbUk6pGr3NIBsy.js} +51 -51
  60. package/assets/{Dh2iae-q0IngEeyH.js → D--emvI048MvLsXl.js} +1 -1
  61. package/assets/{DMnhlFBJ2AlVx2_t.js → D4lMEKXi13vhDJbE.js} +1 -1
  62. package/assets/{B-6CmVJvxPNZB9bE.js → DALP-GkmzCJdFIV9.js} +1 -1
  63. package/assets/{DCHjwIx59QhiV2Zx.js → DAVN6N3srI1WMHCN.js} +2 -2
  64. package/assets/{8hZAYFV_v2KmJ_NL.js → DBfBV-tvRxCLgdvs.js} +4 -4
  65. package/assets/{BhHneZZ7gq4dRaEJ.js → DIntlX_ha_wRdxYj.js} +1 -1
  66. package/assets/{XDQBri0_cS5paHej.js → DMDx0fX8tHKH0DdL.js} +2 -2
  67. package/assets/{9rJMq-cyOmajlBEQ.js → DMMw2v0iTuBnUjMI.js} +1 -1
  68. package/assets/{BCeSyFXflYgNP_ES.js → DNwyEanz3LqtOorY.js} +1 -1
  69. package/assets/{BFGVZsstQm2MWi7Y.js → DPUXpIzEs1t-jBiv.js} +1 -1
  70. package/assets/{DKnwIboAj_Sg9aVP.js → DSy6cpdU-KNWsbSj.js} +2 -2
  71. package/assets/{DN4zv4AjDxTsLFsA.js → DTXRsv2Ww7WbIwCb.js} +9352 -9281
  72. package/assets/{Du9_Ajy9KvnwHApK.js → DV_nCOON8Fgq5RBt.js} +2 -2
  73. package/assets/{BFcxaubQp1WMeknL.js → DYRis8fOyk2uIZ-1.js} +4 -4
  74. package/assets/{BQzUK7KiJeJpu-rK.js → DZ2Njh8YgfXcv7EM.js} +1 -1
  75. package/assets/{CMXukie7sxP12H2E.js → Dc2LiflUYpt0nVVk.js} +4 -4
  76. package/assets/{BQ76ntZm9YFicjXj.js → DcwqgbgqPyzQxSsQ.js} +1 -1
  77. package/assets/{DSDlxGN059KmkCxT.js → DjH6ckvISyssOSit.js} +1 -1
  78. package/assets/{NZeFs1MV5h-uMZqJ.js → Dlbgs8csKymbxu7r.js} +1 -1
  79. package/assets/{BwQM6Q6HHQTXznpy.js → DnDTldUjKy0O586y.js} +2 -2
  80. package/assets/{CLsD7YwSKAsliRZy.js → DndzARNYtmumqGnG.js} +1 -1
  81. package/assets/{nPoObUd0MvWI-j0F.js → Drmg3-gF0VJs4Yx3.js} +1 -1
  82. package/assets/{DwOPJ5TXttTx69oF.js → DsSlUklPSAsh9DhW.js} +330 -330
  83. package/assets/{rIReGgfQ90pzLAbU.js → DsWJ-YRyuwDUuSge.js} +1 -1
  84. package/assets/{BQeb2zXfAs5lRoGt.js → Dsjx528shW3GcGpD.js} +3 -3
  85. package/assets/{C_UAskmm-u2Iw9Nl.js → Dv9ZDmKuxn2tQDGb.js} +1 -1
  86. package/assets/{Bqq5Sl5E9ytcPJ3J.js → DvRH46hupHUjkc7a.js} +1 -1
  87. package/assets/{D5wI7O_L6QVNXj5I.js → DwsoGIyPuoQij_vi.js} +1 -1
  88. package/assets/{SCOKwiDu6SYiQrQ0.js → Dx_IFz5FEPKw-HC1.js} +1 -1
  89. package/assets/{CmlxzZYM5hOAAcx5.js → DzLrAy24em5k5en0.js} +3 -3
  90. package/assets/{D1pD8u8nRprUvn-u.js → I7LAF1nLmYqQwt9i.js} +1 -1
  91. package/assets/{CJoWPN_DsFbaGAiE.js → IDq3QQa5uRqjVJx_.js} +1 -1
  92. package/assets/{BSvHkSY0R0EU0gC4.js → LugZP3XHNnoiiTJO.js} +1 -1
  93. package/assets/{CoQFpWEh4CUgcdwe.js → MpvZt7VpFWEINIT6.js} +1 -1
  94. package/assets/{DMGq2icilGiyfBTM.js → NiD8iNE47sjggYTx.js} +1 -1
  95. package/assets/{vXZw1AmMzswOZMiP.js → PMBjuoD2MpG87dao.js} +1 -1
  96. package/assets/{CvkibaXI8SOD22pw.js → TdK2ciXA5BAlGjbR.js} +1 -1
  97. package/assets/{DWK-OKV0MErx-IrU.js → Ti7kMsQ-Eo3lkfIh.js} +6 -6
  98. package/assets/{D2IMjoGcj5oz1Kr7.js → Xkr_4WLwk0ZPaYH2.js} +1 -1
  99. package/assets/{DcjJ_zTfdh6RqmVZ.js → YG5hEr6CzWNmNJQ2.js} +1 -1
  100. package/assets/{MfkAFluI0ZyU0UDV.js → YGYD-116vlZfzPn1.js} +13 -13
  101. package/assets/{BhJ1mH7pUONJScU7.js → Z1zwOeCe-JTLgkxf.js} +47 -47
  102. package/assets/{Dhg0yeTmVfmRV5rK.js → _LMcVYWJksPfGVxz.js} +1 -1
  103. package/assets/{DzEJwSC-_aavYiFd.js → eV0oowKJe44NBnWj.js} +1 -1
  104. package/assets/{DH7Rur7rNOYzv35r.js → eWHWPRWHX6YU8bJU.js} +1 -1
  105. package/assets/{DL3ms6Hf2uEGaMgH.js → hcXZqO-0tG873E-L.js} +2 -2
  106. package/assets/{BM-ax5N1GzF9KkI4.js → klKXcdZmbQmsK2rt.js} +1 -1
  107. package/assets/{CQBFUsemb94zMBo6.js → ltqqdJxoPnLCjhBV.js} +3 -3
  108. package/assets/{BQsLqKWy17wy3znE.js → mYZ9Z5AKCn7zltHw.js} +2 -2
  109. package/assets/{BatIfPAYElNTXVzb.js → nV0eE4R3npcOHLbx.js} +1 -1
  110. package/assets/{BedBCvJP064ZYuO8.js → ndBoGVVjmy3vkff8.js} +2 -2
  111. package/assets/{ARPN5UhoadZC1yqE.js → noAnElnMhF05bfJN.js} +1 -1
  112. package/assets/{CYcb-DojX92VNGzd.js → q57cDvIPcIvWlh5T.js} +3 -3
  113. package/assets/{CWuPUrDsnBxboJ02.js → rtUwIBgECTX9UO_B.js} +108 -108
  114. package/assets/{DafqFM-FGeZJ_fzg.js → swG-DVTsez1uNW8c.js} +1 -1
  115. package/assets/{BDNqot_JWBuVW_pC.js → tCavNu-Tru6yRbec.js} +1 -1
  116. package/assets/{B7GE-6NROw0onnLD.js → u-pSumbU-rgT6eLF.js} +224 -224
  117. package/assets/{BMc-Hsrp_iifxzG_.js → uMoGfJGab8mZX6eN.js} +1 -1
  118. package/assets/{C3PZVWI_SEXYrzVk.js → uoUKT9hTrwZ2INHN.js} +3 -3
  119. package/assets/{CnCtLKkz0bdXIxn2.js → wYvkLI8IeHaWTtAx.js} +92 -92
  120. package/assets/{DlWRvc1pLGPCRMwi.js → yDh_W6M1rvuDhFv1.js} +1 -1
  121. package/index.js +224 -224
  122. package/lib.js +1 -1
  123. package/licenses/dependencies.txt +35 -35
  124. package/package.json +2 -2
  125. package/screenshot-page/assets/{Di8Yn8O-rD9idC2h.js → 1yHlU53ypZZelMPx.js} +1 -1
  126. package/screenshot-page/assets/{Btgo0VFTT0JxuaP3.js → B-8IMo2f1yGNXOyz.js} +86 -90
  127. package/screenshot-page/assets/{NDzpWLUA0pbyI-Rd.js → B9kA0vdaFJi9iRGo.js} +4 -4
  128. package/screenshot-page/assets/{iAWaCU0XkY0ktnNk.js → BLPyKyNun9-SHQBZ.js} +1 -1
  129. package/screenshot-page/assets/BMKiUDjoabO4aG1U.js +1 -0
  130. package/screenshot-page/assets/{C1lrvl0Ad1-NjWKG.js → BOjOE9CEMSzcij2W.js} +2 -2
  131. package/screenshot-page/assets/{DjtXY9uxB3QP6hU3.js → BQ5BNe1adYfpa2OH.js} +1 -1
  132. package/screenshot-page/assets/{B7u12-Sf0HF7g4wI.js → BUO6zT3gqK0uOOa-.js} +1 -1
  133. package/screenshot-page/assets/{5TxlmdZxlCDkawVW.js → BWtLNVUXjY6EBdEt.js} +1 -1
  134. package/screenshot-page/assets/BZpFWPd0PR1kPT-A.js +1 -0
  135. package/screenshot-page/assets/BaCs7lUeZ7NidSkP.js +1 -0
  136. package/screenshot-page/assets/Bf9AN5sYHaxae0vV.js +586 -0
  137. package/screenshot-page/assets/Bh2PQ0zsoGtMKWp1.js +39 -0
  138. package/screenshot-page/assets/BkhZQsVlVHOiKGTJ.js +1 -0
  139. package/screenshot-page/assets/BnPHZ_1rjv6kQgsL.js +1 -0
  140. package/screenshot-page/assets/{DNoZea7QMO9zB6D5.js → BuzI4z8RJGOw8BZD.js} +1 -1
  141. package/screenshot-page/assets/Bzf_upccQ2ho6mX0.js +13 -0
  142. package/screenshot-page/assets/{CM9cBiCjJIY64PWg.js → C0AbuMHcIS9oy4XL.js} +1 -1
  143. package/screenshot-page/assets/{Csjis_Fk8q4mSqdp.js → C4v6Ljs6kwQJu06t.js} +2 -2
  144. package/screenshot-page/assets/C7YRL2bVWHPIwzn_.js +1 -0
  145. package/screenshot-page/assets/{DqXO_Zw1Cp7rAQ04.js → C7mXat-6esc1AmRD.js} +2 -2
  146. package/screenshot-page/assets/{D6WTzLygjgK85siu.js → CFl15-2FAF9f3V7L.js} +2 -2
  147. package/screenshot-page/assets/CImp91jfSuqX0Wz-.js +1 -0
  148. package/screenshot-page/assets/{BMf827t1Ul65MHd5.js → CQukCzhuewMuFOlO.js} +1 -1
  149. package/screenshot-page/assets/{CaiPDssAQqXac5AG.js → CXmrXx6MZ5ApF3co.js} +1 -1
  150. package/screenshot-page/assets/CZq2dMHs2MHHyyBl.js +1 -0
  151. package/screenshot-page/assets/Cv-YUArreXqhafcU.js +2 -0
  152. package/screenshot-page/assets/{DgtqX4DiBgkepVZZ.js → Cx1kZ2u_8JFV2Q8D.js} +1 -1
  153. package/screenshot-page/assets/D23_69pojBfIh4nV.js +5 -0
  154. package/screenshot-page/assets/D2q4M3I5Jmxm85P2.js +1 -0
  155. package/screenshot-page/assets/{BYQZ8o8k3-MDoNat.js → D6Yv5cc1JE7DGd6j.js} +1 -1
  156. package/screenshot-page/assets/D8QsCbSaWCLAYYso.js +1 -0
  157. package/screenshot-page/assets/{F6yLCIlSWZ1lAUEp.js → DC_Hdwa9KL7xKU8u.js} +2 -2
  158. package/screenshot-page/assets/DHtL9Iawmr2Uo5VV.js +2 -0
  159. package/screenshot-page/assets/{Cfs_rQCXBMVhJgat.js → DKWRl8rs3K9jBYtr.js} +1 -1
  160. package/screenshot-page/assets/DMhOGCTy8V0N14gY.js +1 -0
  161. package/screenshot-page/assets/{C6vseMcEu3To1U6k.js → DNYWB6WNZTquqQ9v.js} +3 -3
  162. package/screenshot-page/assets/{Bwk0ScujWaYYqx5G.js → DegZKTNqt1LRnSxY.js} +1 -1
  163. package/screenshot-page/assets/{tPEJNcr51GaPfk3O.js → Dhh1xqujbhLa8WFd.js} +1 -1
  164. package/screenshot-page/assets/{CNFMt4XhKy4tlsUn.js → Dkr-6Z1RJsAp9Xrv.js} +1 -1
  165. package/screenshot-page/assets/DllI8kZZZ5LG0Mjd.js +2 -0
  166. package/screenshot-page/assets/{t4FRkJl27a0itCt6.js → DrcpGT9FLbDzeLeG.js} +2 -2
  167. package/screenshot-page/assets/{D1TqM0Bt65K6svMS.js → FjOiReLnknWbsRRr.js} +19 -19
  168. package/screenshot-page/assets/{C3KvRJ_eXd6xnmlO.js → H_hWDMWfWmjTui7V.js} +1 -1
  169. package/screenshot-page/assets/LCjlxIt1dn3smVjX.js +1 -0
  170. package/screenshot-page/assets/{DGB9wBuDWt0bzTNE.js → RutPv2GFWmeBiWvn.js} +1 -1
  171. package/screenshot-page/assets/{DeyRZ5rprDbRbuf4.js → Tj3B5At0OAN3tDza.js} +1 -1
  172. package/screenshot-page/assets/{CpZHZoz3xpJMDWI0.js → TwKKik-YQENv52LX.js} +1 -1
  173. package/screenshot-page/assets/XiUItCqTNNEApgfa.js +2 -0
  174. package/screenshot-page/assets/XrFpPrRqQNE9AAwH.js +1 -0
  175. package/screenshot-page/assets/mBuOPJeUPXlKwfPZ.js +48 -0
  176. package/screenshot-page/assets/qFyplGXRu7IepHio.js +1 -0
  177. package/screenshot-page/assets/zSnM7GhGzLu1MM_u.js +3 -0
  178. package/screenshot-page/assets/{DtihumgXQ7ETaN0A.js → zvxBjll3jnL0-vNn.js} +2 -2
  179. package/screenshot-page/index.html +11 -11
  180. package/types/scripting-api.json +9329 -9329
  181. package/types/scripting.d.ts +24 -18
  182. package/assets/Del35nO_1HyjItI0.js +0 -199
  183. package/assets/LLdkCOYvtc1-vOsy.js +0 -14
  184. package/screenshot-page/assets/2XWoSsrRz2kognCK.js +0 -1
  185. package/screenshot-page/assets/BCOjWc-VhkuVoCVf.js +0 -1
  186. package/screenshot-page/assets/BqQ2A9WL6mcRxbSt.js +0 -2
  187. package/screenshot-page/assets/Bw4kRw8JKyNRlLE2.js +0 -1
  188. package/screenshot-page/assets/BwF-LAYFu91KqvJ8.js +0 -2
  189. package/screenshot-page/assets/ByehV0cOs5aIySS-.js +0 -13
  190. package/screenshot-page/assets/C0F9BL11dkgzjp7Y.js +0 -1
  191. package/screenshot-page/assets/C3QIYFX-vF_1DVmi.js +0 -586
  192. package/screenshot-page/assets/CafJ2T5GCjkumgLh.js +0 -1
  193. package/screenshot-page/assets/CijzqW2bsxOQdDxl.js +0 -2
  194. package/screenshot-page/assets/D5kEl0N4l6MzdmTG.js +0 -1
  195. package/screenshot-page/assets/D6CzedWHXTesD55R.js +0 -1
  196. package/screenshot-page/assets/D7e00cCBTtcIRmjV.js +0 -1
  197. package/screenshot-page/assets/DTrnAtpccj55fGg5.js +0 -1
  198. package/screenshot-page/assets/DZ2zDgzt-mnhg3Kd.js +0 -1
  199. package/screenshot-page/assets/DaVBDkeZxbXnuyGz.js +0 -42
  200. package/screenshot-page/assets/DgNbqKuVd-Q170VZ.js +0 -2
  201. package/screenshot-page/assets/Dv-4mfeFKIoD5jaY.js +0 -3
  202. package/screenshot-page/assets/HZAIE0lHXXFqlb2v.js +0 -1
  203. package/screenshot-page/assets/Lr2MYBmoCKMLBl_6.js +0 -5
  204. package/screenshot-page/assets/O-S3tcMip6iXUjQF.js +0 -1
  205. package/screenshot-page/assets/eV_6j-vFozPgfcjz.js +0 -1
  206. package/screenshot-page/assets/it1wnIFQtbJ4Dm8N.js +0 -1
  207. package/screenshot-page/assets/mCyh2440vZi8s1uY.js +0 -39
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.18
3
+ * @license @sheetxl/mcp - MCP server exposing SheetXL spreadsheet operations as tools and resources. - v0.8.0-beta.20
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/CDqOifqA400y7KQY.js";
9
- import { o as r } from "./assets/CkO0JR629W2kcDMd.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/CGGpkGg85FZsnYHc.js";
11
- import { d as h, i as g, m, p } from "./assets/r9WSFw3a-_a5hlPm.js";
12
- import { Ar as f, B as w, Bn as $, Gi as y, L as b, On as k, R as S, Wr as x, Xi as v, Xt as C, ii as E, ka as R, o as j } from "./assets/DN4zv4AjDxTsLFsA.js";
13
- import { t as I } from "./assets/DWK-OKV0MErx-IrU.js";
14
- import { D as T, _ as N, g as A, l as M, y as F } from "./assets/DwOPJ5TXttTx69oF.js";
15
- import { t as _ } from "./assets/Bi8ct8GYvMDKHCE3.js";
8
+ import { H as e, K as t, lt as n, z as o } from "./assets/CyOyY32LLW-Pj_L7.js";
9
+ import { o as r } from "./assets/C7oUg84aGjYrJUc6.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/C9aV1SF8uCWIB4zU.js";
11
+ import { f as h, i as g, p as m, u as p } from "./assets/CrRJqUPbvvhnp4p4.js";
12
+ import { At as f, Ka as w, Nr as $, Oa as y, R as b, Wi as k, Xr as S, _a as x, bn as v, do as C, ft as E, mi as R, o as j } from "./assets/DTXRsv2Ww7WbIwCb.js";
13
+ import { t as I } from "./assets/Ti7kMsQ-Eo3lkfIh.js";
14
+ import { A as T, D as N, P as A, f as M, k as F } from "./assets/DsSlUklPSAsh9DhW.js";
15
+ import { t as _ } from "./assets/B5UmlawoCVwHHM_e.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/CYcb-DojX92VNGzd.js")), Ce = t("io:sxlWriter", () => import("./assets/B74Ls4nlmyBxWanf.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/q57cDvIPcIvWlh5T.js")), Ce = t("io:sxlWriter", () => import("./assets/Cm2WENwEZ0KMyF--.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.18",
78
+ version: "0.8.0-beta.20",
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/D49iRcrfnODORRNC.js")), Fe = t("io:csvWriter", () => import("./assets/CQBFUsemb94zMBo6.js")), _e = {
84
+ }, Me = t("io:csvReader", () => import("./assets/Cirpx81bWi4G2foA.js")), Fe = t("io:csvWriter", () => import("./assets/ltqqdJxoPnLCjhBV.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.18",
98
+ version: "0.8.0-beta.20",
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.18",
106
+ version: "0.8.0-beta.20",
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(() => {});
@@ -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,
@@ -760,7 +760,7 @@ function Vt(e) {
760
760
  display: t
761
761
  };
762
762
  }
763
- if (h.isError(e)) {
763
+ if (p.isError(e)) {
764
764
  const t = e.getLabel();
765
765
  return {
766
766
  match: t,
@@ -785,7 +785,7 @@ function Vt(e) {
785
785
  Value: "value",
786
786
  Formula: "formula"
787
787
  };
788
- var Ht = (e) => "object" == typeof e && null !== e && !h.isError(e) && "function" == typeof e.getKind && e.getKind().getName() === C.Type, Ut = (e) => {
788
+ var Ht = (e) => "object" == typeof e && null !== e && !p.isError(e) && "function" == typeof e.getKind && e.getKind().getName() === f.Type, Ut = (e) => {
789
789
  const t = e.getAltText();
790
790
  return t ? `[image: ${e.getSource()} "${t}"]` : `[image: ${e.getSource()}]`;
791
791
  }, qt = [
@@ -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 = R.ErrorCheck, Xt = /* @__PURE__ */ new Map([
798
+ ], zt = (e, t) => e <= t + 3 ? e : t, Jt = $.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"],
@@ -909,7 +909,7 @@ function nn(e, t) {
909
909
  return null === r || null === s ? e : s + r;
910
910
  });
911
911
  }
912
- var on = (e) => String(e + 1), rn = (e) => (k.cellToString({
912
+ var on = (e) => String(e + 1), rn = (e) => (C.cellToString({
913
913
  rowIndex: 0,
914
914
  colIndex: e
915
915
  }) ?? "").replace(/\d+$/, ""), sn = /(?<![A-Za-z0-9_.$])R(\[-?\d+\]|\d+)?C(\[-?\d+\]|\d+)?(?![A-Za-z0-9_(])/g;
@@ -990,7 +990,7 @@ var ln = (e) => {
990
990
  return s !== ln(o.getColor()) && r.push(s ?? "no color"), r.length > 0 ? r.join(" · ") : null;
991
991
  };
992
992
  function fn(e, t, n) {
993
- const o = j(e, t, n);
993
+ const o = S(e, t, n);
994
994
  return o ? {
995
995
  text: o.text,
996
996
  address: o.address
@@ -1100,12 +1100,12 @@ function xn(e, t = []) {
1100
1100
  const r = Math.max(10, ...n.map(([e]) => e.length + 2));
1101
1101
  return n.map(([e, t]) => `${e.padEnd(r)}${t}`);
1102
1102
  }
1103
- var vn = x.Feature;
1103
+ var vn = k.Feature;
1104
1104
  function Cn(e, t) {
1105
1105
  const n = t?.maxSeries ?? 24, o = t?.maxProfileCells ?? 2e4, r = t?.maxCategories ?? 3, s = e.getRowCount(), a = e.getColumnCount();
1106
1106
  if (1 === s && 1 === a) return {
1107
1107
  shape: "cell",
1108
- summary: Bt(e.getCell(), Lt.Mode.Display)?.display ?? "(blank)",
1108
+ summary: Vt(e.getCell(), Lt.Mode.Display)?.display ?? "(blank)",
1109
1109
  series: []
1110
1110
  };
1111
1111
  const i = e.getRange(), l = i.getCoords(), c = s >= a;
@@ -1244,8 +1244,8 @@ function Tn(e) {
1244
1244
  }
1245
1245
  function Nn(e, t) {
1246
1246
  const n = e.getRangeAt(t.rowIndex, t.colIndex).getCell();
1247
- if (n.getType() !== p.String) return null;
1248
- const o = Bt(n, Lt.Mode.Display)?.match;
1247
+ if (n.getType() !== h.String) return null;
1248
+ const o = Vt(n, Lt.Mode.Display)?.match;
1249
1249
  return o ? {
1250
1250
  text: o,
1251
1251
  address: n.getAddress()
@@ -1253,13 +1253,13 @@ function Nn(e, t) {
1253
1253
  }
1254
1254
  function An(e) {
1255
1255
  const t = e.getStats({ onError: "ignore" }), n = t.getCount();
1256
- return n > 0 && (t.getTypedCounts()[p.String] ?? 0) === n;
1256
+ return n > 0 && (t.getTypedCounts()[h.String] ?? 0) === n;
1257
1257
  }
1258
1258
  function Mn(e, t, n) {
1259
1259
  const o = t.getRange().getCoords(), r = e.getCoords(), s = n ? o.colEnd - o.colStart + 1 : o.rowEnd - o.rowStart + 1, a = [];
1260
1260
  for (let t = 0; t < s; t++) {
1261
1261
  const s = n ? e.getRangeAt(r.rowStart, o.colStart + t).getCell() : e.getRangeAt(o.rowStart + t, r.colStart).getCell();
1262
- a.push(Bt(s, Lt.Mode.Display)?.match ?? "");
1262
+ a.push(Vt(s, Lt.Mode.Display)?.match ?? "");
1263
1263
  }
1264
1264
  return a;
1265
1265
  }
@@ -1270,34 +1270,34 @@ function Fn(e, t, n, o) {
1270
1270
  function _n(e, t = 3) {
1271
1271
  const n = e.getStats({ onError: "ignore" }), o = n.getTypedCounts(), r = n.getCount(), s = n.getSize(), a = s - r;
1272
1272
  if (0 === r) return `${s} cells, all blank`;
1273
- const i = e.getCounts([vn.Formula])[vn.Formula] ?? 0, l = On(e), c = o[p.Number] ?? 0, u = o[p.String] ?? 0, d = o[p.Error] ?? 0, h = [String(r)];
1274
- let g = !1;
1273
+ const i = e.getCounts([vn.Formula])[vn.Formula] ?? 0, l = On(e), c = o[h.Number] ?? 0, u = o[h.String] ?? 0, d = o[h.Error] ?? 0, g = [String(r)];
1274
+ let m = !1;
1275
1275
  if (i === r) {
1276
1276
  const t = [...e.getRegions(vn.Formula)];
1277
1277
  if (1 === t.length) {
1278
1278
  const e = t[0].getCell().getFormulaText();
1279
- h.push("formula", e || "(uniform)");
1280
- } else h.push("formula", `${t.length} distinct`);
1281
- } else if (l === r) h.push("date", Pn(n, Ln(e).format));
1279
+ g.push("formula", e || "(uniform)");
1280
+ } else g.push("formula", `${t.length} distinct`);
1281
+ } else if (l === r) g.push("date", Pn(n, Ln(e).format));
1282
1282
  else if (c === r) {
1283
1283
  const t = Ln(e);
1284
- h.push("number", Pn(n, t.format), ...Dn(n, t));
1285
- } else if (u === r) h.push("text", Wn(n, t));
1284
+ g.push("number", Pn(n, t.format), ...Dn(n, t));
1285
+ } else if (u === r) g.push("text", Wn(n, t));
1286
1286
  else {
1287
1287
  const e = [
1288
1288
  c ? `number ${c}` : null,
1289
1289
  u ? `text ${u}` : null,
1290
- o[p.Boolean] ? `boolean ${o[p.Boolean]}` : null,
1290
+ o[h.Boolean] ? `boolean ${o[h.Boolean]}` : null,
1291
1291
  d ? `error ${d}` : null
1292
1292
  ].filter(Boolean);
1293
- h.push("mixed", e.join(" · ")), g = !0;
1293
+ g.push("mixed", e.join(" · ")), m = !0;
1294
1294
  }
1295
- const m = [
1296
- d > 0 && !g ? `error ${d}` : null,
1295
+ const p = [
1296
+ d > 0 && !m ? `error ${d}` : null,
1297
1297
  a > 0 ? `${a} blank` : null,
1298
1298
  i > 0 && i !== r ? `${i} formula` : null
1299
- ].filter(Boolean), f = h.filter(Boolean).join(" ");
1300
- return m.length ? `${f} · ${m.join(" · ")}` : f;
1299
+ ].filter(Boolean), f = g.filter(Boolean).join(" ");
1300
+ return p.length ? `${f} · ${p.join(" · ")}` : f;
1301
1301
  }
1302
1302
  function On(e) {
1303
1303
  let t = 0;
@@ -1306,7 +1306,7 @@ function On(e) {
1306
1306
  }), t;
1307
1307
  }
1308
1308
  function Ln(e) {
1309
- const t = (e) => e.getStats({ onError: "ignore" }).getTypedCounts()[p.Number] ?? 0, n = /* @__PURE__ */ new Map();
1309
+ const t = (e) => e.getStats({ onError: "ignore" }).getTypedCounts()[h.Number] ?? 0, n = /* @__PURE__ */ new Map();
1310
1310
  let o = 0;
1311
1311
  for (const r of e.getRegions(vn.NumberFormat)) {
1312
1312
  const e = r.getRange().getStyle().getNumberFormat(), s = t(r.getRange());
@@ -1350,7 +1350,7 @@ function Wn(e, t, n) {
1350
1350
  const s = Array.from(o.getValueCounts()).slice(0, t);
1351
1351
  return `${r} unique (${s.map(([e, t]) => `${e} ${t}`).join(" · ")}${r > s.length ? " · …" : ""})`;
1352
1352
  }
1353
- var Bn = x.Feature, Vn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colStart + 1), Hn = (e, t) => {
1353
+ var Vn = k.Feature, Bn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colStart + 1), Hn = (e, t) => {
1354
1354
  const n = Math.min(e.rowEnd, t.rowEnd) - Math.max(e.rowStart, t.rowStart) + 1;
1355
1355
  if (n <= 0) return 0;
1356
1356
  const o = Math.min(e.colEnd, t.colEnd) - Math.max(e.colStart, t.colStart) + 1;
@@ -1360,7 +1360,7 @@ var Bn = x.Feature, Vn = (e) => (e.rowEnd - e.rowStart + 1) * (e.colEnd - e.colS
1360
1360
  return "times" === t || e.styled === e.content ? n : `${n} (+${Un(e.styled - e.content)} blank)`;
1361
1361
  }, zn = (e) => {
1362
1362
  if (0 === e.length) return "";
1363
- const t = k.rangeToString(e[0]);
1363
+ const t = C.rangeToString(e[0]);
1364
1364
  if (1 === e.length) return t;
1365
1365
  const n = e.length - 1;
1366
1366
  return `${t}, +${n} block${1 === n ? "" : "s"}`;
@@ -1472,18 +1472,18 @@ function ro(e) {
1472
1472
  return null != n ? `${t.category} ${n}dp` : t.category;
1473
1473
  }
1474
1474
  var so = {
1475
- [Bn.Font]: Kn,
1476
- [Bn.NumberFormat]: Qn,
1477
- [Bn.Fill]: eo,
1478
- [Bn.Borders]: to,
1479
- [Bn.Alignment]: no
1475
+ [Vn.Font]: Kn,
1476
+ [Vn.NumberFormat]: Qn,
1477
+ [Vn.Fill]: eo,
1478
+ [Vn.Borders]: to,
1479
+ [Vn.Alignment]: no
1480
1480
  }, ao = (e) => e in so;
1481
1481
  function io(e, t, n, o) {
1482
1482
  const r = so[t];
1483
1483
  if (!r) return null;
1484
1484
  const s = e.getEntireCoords(), a = e.getUsedRange()?.getCoords() ?? null, i = [...e.getEntireRange().getRegions(t)];
1485
1485
  if (0 === i.length) return null;
1486
- 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) => {
1486
+ 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) => {
1487
1487
  const t = e.getRange().getStyle(), o = [];
1488
1488
  for (const e of r) {
1489
1489
  const r = e.project(t, n);
@@ -1541,10 +1541,10 @@ function io(e, t, n, o) {
1541
1541
  }
1542
1542
  return [...o.values()].map((e) => ({
1543
1543
  ...e,
1544
- blocks: e.blocks.sort((e, t) => Vn(t) - Vn(e))
1544
+ blocks: e.blocks.sort((e, t) => Bn(t) - Bn(e))
1545
1545
  }));
1546
1546
  }, S = [];
1547
- if (t === Bn.NumberFormat) S.push(...function(e, t, n) {
1547
+ if (t === Vn.NumberFormat) S.push(...function(e, t, n) {
1548
1548
  const { top: o, rare: r, more: s } = Xn(e, n), a = [];
1549
1549
  let i = -1;
1550
1550
  for (const e of [...o, ...r]) {
@@ -1621,7 +1621,7 @@ function lo(e, t) {
1621
1621
  label: e.label,
1622
1622
  content: e.cells,
1623
1623
  styled: e.cells,
1624
- blocks: e.blocks.sort((e, t) => Vn(t) - Vn(e))
1624
+ blocks: e.blocks.sort((e, t) => Bn(t) - Bn(e))
1625
1625
  })), i = [...o.entries()].map(([e, t]) => ({
1626
1626
  label: e,
1627
1627
  content: t,
@@ -1664,17 +1664,17 @@ function co(e, t) {
1664
1664
  }
1665
1665
  function uo(e, t) {
1666
1666
  switch (e) {
1667
- case Bn.Font: return function(e) {
1667
+ case Vn.Font: return function(e) {
1668
1668
  const t = e.getFont(), n = [t.getFamily(), `${t.getSize()}pt`], o = ln(t.getColor());
1669
1669
  return o && n.push(o), t.getBold() && n.push("bold"), t.getItalic() && n.push("italic"), n.join(" · ");
1670
1670
  }(t);
1671
- case Bn.NumberFormat: {
1671
+ case Vn.NumberFormat: {
1672
1672
  const e = gn(t);
1673
1673
  return null === e ? null : `${Gn(e)} ${e}`;
1674
1674
  }
1675
- case Bn.Fill: return cn(t);
1676
- case Bn.Borders: return un(t);
1677
- case Bn.Alignment: {
1675
+ case Vn.Fill: return cn(t);
1676
+ case Vn.Borders: return un(t);
1677
+ case Vn.Alignment: {
1678
1678
  const e = t.getAlignment(), n = [];
1679
1679
  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;
1680
1680
  }
@@ -1706,8 +1706,8 @@ function po(e, t, n, o, r) {
1706
1706
  const s = n.map((e) => {
1707
1707
  const t = e.getCoords();
1708
1708
  o += r ? t.colEnd - t.colStart + 1 : t.rowEnd - t.rowStart + 1;
1709
- const n = r ? k.runToString(t.colStart, t.colEnd, !0) : k.runToString(t.rowStart, t.rowEnd, !1), s = r ? t.rowStart : t.colStart;
1710
- return 0 === s ? n : `${n} (from ${r ? `row ${s + 1}` : `column ${k.runToString(s, s, !0).split(":")[0]}`})`;
1709
+ const n = r ? C.runToString(t.colStart, t.colEnd, !0) : C.runToString(t.rowStart, t.rowEnd, !1), s = r ? t.rowStart : t.colStart;
1710
+ return 0 === s ? n : `${n} (from ${r ? `row ${s + 1}` : `column ${C.runToString(s, s, !0).split(":")[0]}`})`;
1711
1711
  });
1712
1712
  2 * o > a ? i.push(`${"sheet".padEnd(10)}${t || "default"}`) : i.push(`${e.padEnd(10)}${s.join(", ")} ${t || "default"}`);
1713
1713
  }
@@ -1771,8 +1771,8 @@ var fo = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, wo = (e) => {
1771
1771
  return o > 0 ? `${n.join(" | ")} | +${o} more` : n.join(" | ");
1772
1772
  }, Co = (e, t) => {
1773
1773
  if (e.isInvalid()) return "#REF!";
1774
- const n = e.getWorksheet(), o = k.rangeToString(e.getCoords(), n.getEntireCoords()) ?? "#REF!";
1775
- return n === t ? o : `${Vo(n.getName())}!${o}`;
1774
+ const n = e.getWorksheet(), o = C.rangeToString(e.getCoords(), n.getEntireCoords()) ?? "#REF!";
1775
+ return n === t ? o : `${Bo(n.getName())}!${o}`;
1776
1776
  }, Eo = (e) => {
1777
1777
  const t = [];
1778
1778
  for (const n of [
@@ -1795,7 +1795,7 @@ var fo = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, wo = (e) => {
1795
1795
  ]]) "group" === n ? t.push(`same ${r}`) : "custom" === n && t.push(`${r} ${o ?? 0}`);
1796
1796
  const n = e.displayEmptyCellsAs ?? "zero";
1797
1797
  return "gap" !== n && t.push(`empty as ${n}`), e.displayHidden && t.push("hidden shown"), e.rightToLeft && t.push("right to left"), e.dateAxis && e.dateRange && t.push(`dates ${e.dateRange}`), t;
1798
- }, Ro = x.Feature, jo = (e) => e.getRange().getStyle(), Io = (e) => Bt(e.getCell(), Lt.Mode.Display)?.display ?? null;
1798
+ }, Ro = k.Feature, jo = (e) => e.getRange().getStyle(), Io = (e) => Vt(e.getCell(), Lt.Mode.Display)?.display ?? null;
1799
1799
  function To(e, t) {
1800
1800
  switch (e) {
1801
1801
  case Ro.Formula: return (e) => e.getCell().getFormulaText();
@@ -1868,17 +1868,17 @@ function To(e, t) {
1868
1868
  return c.length > 0 && l.push(c.join(", ")), l.join(" · ");
1869
1869
  })(e.getRange());
1870
1870
  case Ro.Contentful: return (e) => function(e, t = 3) {
1871
- const n = e.getStats({ onError: "ignore" }), o = n.getTypedCounts(), r = [], s = o[p.Number] ?? 0;
1871
+ const n = e.getStats({ onError: "ignore" }), o = n.getTypedCounts(), r = [], s = o[h.Number] ?? 0;
1872
1872
  if (s > 0) {
1873
1873
  const t = Ln(e), o = [Pn(n, t.format), ...Dn(n, t)].filter(Boolean);
1874
1874
  r.push(`Number: ${s} ${o.join(" ")}`.trimEnd());
1875
1875
  }
1876
- const a = o[p.String] ?? 0;
1876
+ const a = o[h.String] ?? 0;
1877
1877
  if (a > 0) {
1878
1878
  const e = Wn(n, t, (e) => "string" == typeof e);
1879
1879
  r.push(`String: ${a} ${e}`.trimEnd());
1880
1880
  }
1881
- const i = o[p.Boolean] ?? 0;
1881
+ const i = o[h.Boolean] ?? 0;
1882
1882
  if (i > 0) {
1883
1883
  const e = Wn(n, t, (e) => "boolean" == typeof e);
1884
1884
  r.push(`Boolean: ${i} ${e}`.trimEnd());
@@ -1933,7 +1933,7 @@ var _o = (e) => {
1933
1933
  const t = e.getCell().getAnomalies();
1934
1934
  return t.length > 0 ? JSON.stringify(t.map((e) => [e.check, e.evidence])) : null;
1935
1935
  };
1936
- var Oo = x.Feature, Lo = [
1936
+ var Oo = k.Feature, Lo = [
1937
1937
  Oo.Error,
1938
1938
  Oo.CalcError,
1939
1939
  Oo.Anomalies,
@@ -1957,7 +1957,7 @@ var Oo = x.Feature, Lo = [
1957
1957
  Oo.Conditionals,
1958
1958
  Oo.DataValidations
1959
1959
  ]), Do = new Map(Object.entries(Oo).map(([e, t]) => [t, e])), Wo = (e) => Do.get(e) ?? e;
1960
- var Bo = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Vo = (e) => k.sheetNameToString(e) ?? "Untitled", Ho = (e) => `wb.getWorksheet(${JSON.stringify(e.getWorksheet().getName())})`, Uo = (e) => ((e) => {
1960
+ var Vo = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Bo = (e) => C.sheetNameToString(e) ?? "Untitled", Ho = (e) => `wb.getWorksheet(${JSON.stringify(e.getWorksheet().getName())})`, Uo = (e) => ((e) => {
1961
1961
  if (!e.includes("$")) return e;
1962
1962
  let t = "", n = !1;
1963
1963
  for (const o of e) {
@@ -1968,10 +1968,10 @@ var Bo = (e) => `${e.toString()}, ${e.getRowCount()}×${e.getColumnCount()}`, Vo
1968
1968
  return t;
1969
1969
  })(e.getAddress()), qo = (e) => {
1970
1970
  const t = Uo(e);
1971
- return t.includes("!") ? t : `${Vo(e.getWorksheet().getName())}!${t}`;
1971
+ return t.includes("!") ? t : `${Bo(e.getWorksheet().getName())}!${t}`;
1972
1972
  }, zo = (e) => {
1973
1973
  const t = e.toString();
1974
- return `${t.includes("!") ? t : `${Vo(e.getWorksheet().getName())}!${t}`}, ${e.getRowCount()}×${e.getColumnCount()}`;
1974
+ return `${t.includes("!") ? t : `${Bo(e.getWorksheet().getName())}!${t}`}, ${e.getRowCount()}×${e.getColumnCount()}`;
1975
1975
  };
1976
1976
  function Jo(e, t) {
1977
1977
  const n = co(t, [...t.getRegions(Oo.Formula)]), o = t.getStats({ onError: "ignore" }).getCount();
@@ -1980,19 +1980,19 @@ function Jo(e, t) {
1980
1980
  0 === n.length && e.fact("None"), e.blank();
1981
1981
  }
1982
1982
  var Xo = [
1983
- R.Role.Label,
1984
- R.Role.Input,
1985
- R.Role.Link,
1986
- R.Role.Reference,
1987
- R.Role.Computed,
1988
- R.Role.Output
1983
+ $.Role.Label,
1984
+ $.Role.Input,
1985
+ $.Role.Link,
1986
+ $.Role.Reference,
1987
+ $.Role.Computed,
1988
+ $.Role.Output
1989
1989
  ];
1990
1990
  var Ko = 30, Go = 4;
1991
1991
  function Zo(e, t, n) {
1992
1992
  const o = /* @__PURE__ */ new Map();
1993
1993
  let r = 0;
1994
1994
  for (const e of n) for (const t of e.getCell().getAnomalies()) {
1995
- if (t.check !== R.ErrorCheck.ConstantFrequency) continue;
1995
+ if (t.check !== $.ErrorCheck.ConstantFrequency) continue;
1996
1996
  const n = `${t.evidence.kind}:${t.evidence.value}`;
1997
1997
  let s = o.get(n);
1998
1998
  s || o.set(n, s = {
@@ -2013,19 +2013,19 @@ function Zo(e, t, n) {
2013
2013
  }
2014
2014
  var Yo = (e) => [...e.getRegions([Oo.Contentful, Oo.Table])].filter((e) => e.getCell().isContentful()), Qo = (e, t) => `${t} cell${1 !== t ? "s" : ""} · ${e} region${1 !== e ? "s" : ""}`, er = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, tr = (e) => e.isIFormula ? e : null, nr = (e) => {
2015
2015
  const t = e.getScope();
2016
- return t ? `${Vo(t)}!${e.getName()}` : e.getName();
2016
+ return t ? `${Bo(t)}!${e.getName()}` : e.getName();
2017
2017
  }, or = (e) => {
2018
2018
  const t = e.getAddress();
2019
- return t.includes("!") ? t : `${Vo(e.getWorksheet().getName())}!${t}`;
2019
+ return t.includes("!") ? t : `${Bo(e.getWorksheet().getName())}!${t}`;
2020
2020
  };
2021
2021
  async function rr(e) {
2022
2022
  const t = tr(e);
2023
2023
  let n;
2024
2024
  return n = t ? "=" + t.getExpression() : e.getRanges?.()?.getAddress() ?? "", t && await t.isVolatile() && (n += " (volatile)"), n.trim();
2025
2025
  }
2026
- var sr = /* @__PURE__ */ new Set([h.Code.Ref, h.Code.Name]), ar = (e) => {
2027
- const t = e.value, n = "string" == typeof t ? t : t?.error, o = "string" == typeof n ? h.getBuiltInByLabel(n) : void 0;
2028
- return o && sr.has(o.getCode()) ? o.getCode() === h.Code.Name ? "#NAME?" : "#REF!" : null;
2026
+ var sr = /* @__PURE__ */ new Set([p.Code.Ref, p.Code.Name]), ar = (e) => {
2027
+ const t = e.value, n = "string" == typeof t ? t : t?.error, o = "string" == typeof n ? p.getBuiltInByLabel(n) : void 0;
2028
+ return o && sr.has(o.getCode()) ? o.getCode() === p.Code.Name ? "#NAME?" : "#REF!" : null;
2029
2029
  }, ir = /* @__PURE__ */ new Set(), lr = (e) => {
2030
2030
  const t = e.value;
2031
2031
  return "object" == typeof t && t?.name ? t.name : e.text ?? "";
@@ -2268,7 +2268,7 @@ async function pr(e, t) {
2268
2268
  var fr = "#REF!", wr = (e) => {
2269
2269
  const t = e.getContent();
2270
2270
  return "chart" === t.getType() && "function" == typeof t.getSeries ? t : null;
2271
- }, $r = (e, t) => `${Vo(e.getName())}!${k.rangeToString(t) ?? ""}`, yr = (e, t) => e ? $r(e.getWorksheet(), e.getCoords()) : t, br = (e) => e.replace(/\s*[\r\n]+\s*/g, " ⏎ ").trim(), kr = (e, t) => ({
2271
+ }, $r = (e, t) => `${Bo(e.getName())}!${C.rangeToString(t) ?? ""}`, yr = (e, t) => e ? $r(e.getWorksheet(), e.getCoords()) : t, br = (e) => e.replace(/\s*[\r\n]+\s*/g, " ⏎ ").trim(), kr = (e, t) => ({
2272
2272
  colStart: Math.min(e.colStart, t.colStart),
2273
2273
  rowStart: Math.min(e.rowStart, t.rowStart),
2274
2274
  colEnd: Math.max(e.colEnd, t.colEnd),
@@ -2374,7 +2374,7 @@ var jr = (e) => Cr(e) ?? "", Ir = {
2374
2374
  };
2375
2375
  var Ar = (e, t) => e.colStart <= t.colEnd && t.colStart <= e.colEnd && e.rowStart <= t.rowEnd && t.rowStart <= e.rowEnd;
2376
2376
  function Mr(e, t) {
2377
- const n = e.getWorksheet(), o = n.getWorkbook()?.getWorksheets().getItems({ visibility: f.Visibility.VeryHidden }) ?? [n], r = /* @__PURE__ */ new Map();
2377
+ const n = e.getWorksheet(), o = n.getWorkbook()?.getWorksheets().getItems({ visibility: j.Visibility.VeryHidden }) ?? [n], r = /* @__PURE__ */ new Map();
2378
2378
  for (let e = 0; e < (t?.length ?? 0); e++) {
2379
2379
  const n = t.at(e);
2380
2380
  if (n.isINamedRange) continue;
@@ -2446,13 +2446,13 @@ var Fr = (e) => {
2446
2446
  if (!e || e === d.LineEndType.None) return null;
2447
2447
  const o = [t && t !== d.LineEndSize.Medium ? `wide ${t}` : null, n && n !== d.LineEndSize.Medium ? `long ${n}` : null].filter(Boolean);
2448
2448
  return o.length ? `${e} (${o.join(", ")})` : e;
2449
- }, Br = {
2449
+ }, Vr = {
2450
2450
  top: "top",
2451
2451
  center: "middle",
2452
2452
  bottom: "bottom",
2453
2453
  justify: "justified",
2454
2454
  distributed: "distributed"
2455
- }, Vr = (e) => {
2455
+ }, Br = (e) => {
2456
2456
  if ("string" == typeof e) return e;
2457
2457
  const t = e.address ?? e.action ?? "(no address)";
2458
2458
  return e.screenTip ? `${t} — "${e.screenTip}"` : t;
@@ -2474,7 +2474,7 @@ function Hr(e, t) {
2474
2474
  const l = ((e) => {
2475
2475
  if (!e) return null;
2476
2476
  const t = [];
2477
- return e.anchor && t.push(Br[e.anchor] ?? e.anchor), e.anchorCenter && t.push("centered"), "none" === e.wrap && t.push("no wrap"), e.verticalOverflow !== u.Overflow.Visible && e.horizontalOverflow !== u.Overflow.Visible || t.push("text may overflow the shape"), "shape" === e.autoFit && t.push("shape grows to fit text"), "normal" === e.autoFit && t.push("text shrinks to fit" + (void 0 !== e.fontScale ? ` (${e.fontScale}%)` : "")), e.vertical && e.vertical !== u.WritingMode.Horizontal && t.push(`vertical (${e.vertical})`), e.columns && e.columns > 1 && t.push(`${e.columns} columns`), e.warp && t.push(`warped (${e.warp.preset})`), t.length ? t.join(" · ") : null;
2477
+ return e.anchor && t.push(Vr[e.anchor] ?? e.anchor), e.anchorCenter && t.push("centered"), "none" === e.wrap && t.push("no wrap"), e.verticalOverflow !== u.Overflow.Visible && e.horizontalOverflow !== u.Overflow.Visible || t.push("text may overflow the shape"), "shape" === e.autoFit && t.push("shape grows to fit text"), "normal" === e.autoFit && t.push("text shrinks to fit" + (void 0 !== e.fontScale ? ` (${e.fontScale}%)` : "")), e.vertical && e.vertical !== u.WritingMode.Horizontal && t.push(`vertical (${e.vertical})`), e.columns && e.columns > 1 && t.push(`${e.columns} columns`), e.warp && t.push(`warped (${e.warp.preset})`), t.length ? t.join(" · ") : null;
2478
2478
  })(n.text?.body);
2479
2479
  l && e.fact(`Text Layout: ${l}`), n.textLink && e.fact(`Text Link: ${n.textLink} — the text shows this cell's value`), e.fact(`Fill: ${n.fill ? Pr(n.fill, t) : Dr(n, "fill")}`), e.fact(`Line: ${((e, t) => {
2480
2480
  const n = e.stroke, o = Dr(e, "stroke");
@@ -2507,7 +2507,7 @@ function Hr(e, t) {
2507
2507
  }
2508
2508
  return t;
2509
2509
  })(t.getMovable()));
2510
- c && e.fact(`Connected: ${c}`), n.title && e.fact(`Title: ${n.title}`), n.hyperlink && e.fact(`Hyperlink: ${Vr(n.hyperlink)}`), n.hoverHyperlink && e.fact(`Hover Hyperlink: ${Vr(n.hoverHyperlink)}`), n.macro && e.fact(`Macro: ${n.macro}`);
2510
+ c && e.fact(`Connected: ${c}`), n.title && e.fact(`Title: ${n.title}`), n.hyperlink && e.fact(`Hyperlink: ${Br(n.hyperlink)}`), n.hoverHyperlink && e.fact(`Hover Hyperlink: ${Br(n.hoverHyperlink)}`), n.macro && e.fact(`Macro: ${n.macro}`);
2511
2511
  const h = Object.entries(n.locks ?? {}).filter(([, e]) => e).map(([e]) => e);
2512
2512
  h.length && e.fact(`Locks: ${h.join(", ")}`);
2513
2513
  }
@@ -2526,7 +2526,7 @@ var Ur = (e) => {
2526
2526
  };
2527
2527
  var Jr = (e, t) => e.length > t ? `${e.slice(0, t - 1)}…` : e, Xr = (e) => e.replace(/[\r\n]+/g, " ").trim(), Kr = (e) => {
2528
2528
  const t = e.getRange();
2529
- return k.rangeToString(t.getCoords()) ?? t.toString();
2529
+ return C.rangeToString(t.getCoords()) ?? t.toString();
2530
2530
  }, Gr = ({ movable: e, text: t }) => _r(t, 300, ((e) => `${Ho(e.getRange())}.getRange(${JSON.stringify(Kr(e))}).getMovables()`)(e)), Zr = (e) => {
2531
2531
  const t = e.getContent();
2532
2532
  return "function" == typeof t.getTextFrame ? t.getTextFrame()?.getText() ?? "" : null;
@@ -2669,7 +2669,7 @@ function ls(e, t) {
2669
2669
  })(e);
2670
2670
  c && function(e, t) {
2671
2671
  const n = t.toJSON(), o = t.getMovable()?.getMovables()?.getItems() ?? [], r = t.getFill();
2672
- r && e.fact(`Fill: ${Pr(r, null)} — taken by members that use the group's fill`), n.effects && e.fact(`Effects: ${n.effects.length ? n.effects.map((e) => e.type).join(", ") : "none"}`), n.title && e.fact(`Title: ${n.title}`), n.hyperlink && e.fact(`Hyperlink: ${Vr(n.hyperlink)}`), n.hoverHyperlink && e.fact(`Hover Hyperlink: ${Vr(n.hoverHyperlink)}`);
2672
+ r && e.fact(`Fill: ${Pr(r, null)} — taken by members that use the group's fill`), n.effects && e.fact(`Effects: ${n.effects.length ? n.effects.map((e) => e.type).join(", ") : "none"}`), n.title && e.fact(`Title: ${n.title}`), n.hyperlink && e.fact(`Hyperlink: ${Br(n.hyperlink)}`), n.hoverHyperlink && e.fact(`Hover Hyperlink: ${Br(n.hoverHyperlink)}`);
2673
2673
  const s = Object.entries(n.locks ?? {}).filter(([, e]) => e).map(([e]) => e);
2674
2674
  s.length && e.fact(`Locks: ${s.join(", ")}`), e.fact(`Members: ${o.length}, in z-order`);
2675
2675
  const a = t.getMovable()?.getMovables();
@@ -2678,10 +2678,10 @@ function ls(e, t) {
2678
2678
  const u = e.getParent();
2679
2679
  u && n.fact(`Group: ${u.getContent().getName?.() || "(unnamed)"}`);
2680
2680
  const d = e.getContent().getDescription();
2681
- d && n.fact(`Alt Text: ${Xr(d)}`), n.fact(`Anchor: ${Bo(o)}, ${((e) => {
2681
+ d && n.fact(`Alt Text: ${Xr(d)}`), n.fact(`Anchor: ${Vo(o)}, ${((e) => {
2682
2682
  switch (e) {
2683
- case $.Type.Absolute: return "absolute — stays put when rows or columns move";
2684
- case $.Type.OneCell: return "oneCell — moves with the cells, keeps its size";
2683
+ case E.Type.Absolute: return "absolute — stays put when rows or columns move";
2684
+ case E.Type.OneCell: return "oneCell — moves with the cells, keeps its size";
2685
2685
  default: return "twoCell — moves and resizes with the cells";
2686
2686
  }
2687
2687
  })(e.getAnchorType?.())}`), n.fact(`Bounds: ${((e) => {
@@ -2692,12 +2692,12 @@ function ls(e, t) {
2692
2692
  const h = e.getRotation();
2693
2693
  0 !== h && n.fact(`Rotation: ${h}°`);
2694
2694
  const g = e.getFlip(), m = [g.horizontal ? "horizontal" : null, g.vertical ? "vertical" : null].filter(Boolean);
2695
- return m.length && n.fact(`Flip: ${m.join(", ")}`), n.fact(`Z-Order: ${e.getZIndex()}`), n.blank(), n.text(`Sheet: ${Vo(o.getWorksheet().getName())}`), n.toLines().join("\n").trimEnd();
2695
+ return m.length && n.fact(`Flip: ${m.join(", ")}`), n.fact(`Z-Order: ${e.getZIndex()}`), n.blank(), n.text(`Sheet: ${Bo(o.getWorksheet().getName())}`), n.toLines().join("\n").trimEnd();
2696
2696
  }
2697
2697
  var cs = (e) => "visible" === e.getVisibility(), us = (e, t) => {
2698
2698
  switch (t) {
2699
- case "display": return Bt(e, Lt.Mode.Display);
2700
- case "value": return Bt(e, Lt.Mode.Value);
2699
+ case "display": return Vt(e, Lt.Mode.Display);
2700
+ case "value": return Vt(e, Lt.Mode.Value);
2701
2701
  case "formula": {
2702
2702
  const t = e.getFormulaText();
2703
2703
  return t ? {
@@ -2721,7 +2721,7 @@ var cs = (e) => "visible" === e.getVisibility(), us = (e, t) => {
2721
2721
  }
2722
2722
  default: return null;
2723
2723
  }
2724
- }, ds = /* @__PURE__ */ new Map([["hyperlink", x.Feature.Hyperlink], ["numberFormat", x.Feature.NumberFormat]]), hs = (e, t) => t && "" !== t.trim() ? [{
2724
+ }, ds = /* @__PURE__ */ new Map([["hyperlink", k.Feature.Hyperlink], ["numberFormat", k.Feature.NumberFormat]]), hs = (e, t) => t && "" !== t.trim() ? [{
2725
2725
  field: e,
2726
2726
  text: {
2727
2727
  match: t,
@@ -2955,10 +2955,10 @@ var Cs = {
2955
2955
  }));
2956
2956
  })(e, t.scope, a), u = n.filter((e) => !ds.has(e)), d = n.filter((e) => ds.has(e)), h = n.includes("display") && n.includes("value"), g = "content" === o || "addresses" === o, m = [], p = [];
2957
2957
  let f = 0, w = 0, $ = 0, y = 0, b = !1;
2958
- const S = (e) => {
2958
+ const k = (e) => {
2959
2959
  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);
2960
2960
  return s ? 0 === t.length && e.length > 0 ? [e[0]] : null : 0 === t.length ? null : "addresses" === o ? t.slice(0, 1) : t;
2961
- }, x = (e, t, n, o, s, a = 1) => {
2961
+ }, S = (e, t, n, o, s, a = 1) => {
2962
2962
  if (r > 0 && $ >= r) return b = !0, !1;
2963
2963
  if ($++, "cell" === e ? f += a : w++, g) for (const e of o) m.push({
2964
2964
  sheet: t,
@@ -2998,10 +2998,10 @@ var Cs = {
2998
2998
  text: t
2999
2999
  }));
3000
3000
  }
3001
- const i = S(s);
3001
+ const i = k(s);
3002
3002
  if (!i) return;
3003
3003
  const c = l?.resolve(n, o);
3004
- if (!x("cell", r, t.getAddress(), i, c)) return { break: !0 };
3004
+ if (!S("cell", r, t.getAddress(), i, c)) return { break: !0 };
3005
3005
  m++;
3006
3006
  }, { ignoreHidden: !a });
3007
3007
  const f = [...g.values()].map((e) => ({
@@ -3010,13 +3010,13 @@ var Cs = {
3010
3010
  })).sort((e, t) => $s(e.at, t.at));
3011
3011
  for (const { comment: e, at: t } of f) {
3012
3012
  if (b) break;
3013
- const n = S(gs(e));
3013
+ const n = k(gs(e));
3014
3014
  if (!n) continue;
3015
3015
  const o = l?.resolve(e.getRange().getCell(), {
3016
3016
  rowIndex: t.rowStart,
3017
3017
  colIndex: t.colStart
3018
3018
  });
3019
- x("cell", r, k.rangeToString(t) ?? e.getRange().toString(), n, o) && m++;
3019
+ S("cell", r, C.rangeToString(t) ?? e.getRange().toString(), n, o) && m++;
3020
3020
  }
3021
3021
  for (const e of d) {
3022
3022
  if (b || !s) break;
@@ -3025,7 +3025,7 @@ var Cs = {
3025
3025
  at: e.getCoords()
3026
3026
  })).sort((e, t) => $s(e.at, t.at));
3027
3027
  for (const { region: n, at: o } of t) {
3028
- const t = n.getCell(), s = us(t, e), a = S(s ? [{
3028
+ const t = n.getCell(), s = us(t, e), a = k(s ? [{
3029
3029
  field: e,
3030
3030
  text: s
3031
3031
  }] : []);
@@ -3034,7 +3034,7 @@ var Cs = {
3034
3034
  rowIndex: o.rowStart,
3035
3035
  colIndex: o.colStart
3036
3036
  }), c = (o.rowEnd - o.rowStart + 1) * (o.colEnd - o.colStart + 1);
3037
- if (!x("cell", r, n.toString(), a, i, c)) break;
3037
+ if (!S("cell", r, n.toString(), a, i, c)) break;
3038
3038
  m += c;
3039
3039
  }
3040
3040
  }
@@ -3045,9 +3045,9 @@ var Cs = {
3045
3045
  at: e.getRange().getCoords()
3046
3046
  })).sort((e, t) => $s(e.at, t.at));
3047
3047
  for (const { movable: e, at: o } of t) {
3048
- const t = S(ms(e, n));
3048
+ const t = k(ms(e, n));
3049
3049
  if (t) {
3050
- if (!x("object", r, k.rangeToString(o) ?? e.getRange().toString(), t)) break;
3050
+ if (!S("object", r, C.rangeToString(o) ?? e.getRange().toString(), t)) break;
3051
3051
  w++;
3052
3052
  }
3053
3053
  }
@@ -3062,8 +3062,8 @@ var Cs = {
3062
3062
  const n = Boolean(t.scope?.trim()), o = e.getNames().getItems(a ? { includeHidden: !0 } : void 0) ?? [];
3063
3063
  for (const e of o) {
3064
3064
  if (n && !ws(e, c)) continue;
3065
- const t = S(ps(e));
3066
- if (t && !x("object", e.getScope() ?? "", e.getName(), t)) break;
3065
+ const t = k(ps(e));
3066
+ if (t && !S("object", e.getScope() ?? "", e.getName(), t)) break;
3067
3067
  }
3068
3068
  }
3069
3069
  return {
@@ -3238,8 +3238,8 @@ function Ws(e, t) {
3238
3238
  const s = Ms(e, r, (e) => e.name === n[1]);
3239
3239
  return !s || s.members.some(Es) ? t : t.slice(0, n.index) + t.slice(n.index + n[0].length);
3240
3240
  }
3241
- var Bs = (e, t) => `${t ? `${t}.` : ""}${e.signature.replace(/;$/, "")}${e.summary ? ` — ${e.summary}` : ""}`;
3242
- function Vs(e, t, n) {
3241
+ var Vs = (e, t) => `${t ? `${t}.` : ""}${e.signature.replace(/;$/, "")}${e.summary ? ` — ${e.summary}` : ""}`;
3242
+ function Bs(e, t, n) {
3243
3243
  const o = /Property '[\w$]+' does not exist on type '(?:SheetXL\.)?([A-Z][\w$]*(?:\.[A-Z][\w$]*)*)\[\]'/.exec(t);
3244
3244
  if (o) return `\`${o[1]}[]\` is a plain array, not a collection: index it (\`[0]\`), or use \`.length\`, \`.find(…)\`.`;
3245
3245
  const r = /Property '([\w$]+)' does not exist on type '(?:SheetXL\.)?([A-Z][\w$]*(?:\.[A-Z][\w$]*)*)'/.exec(t), s = r ? null : /(?:^|[.\s])([A-Za-z_$][\w$]*) is not a function/.exec(t), a = r?.[1] ?? s?.[1];
@@ -3257,7 +3257,7 @@ function Vs(e, t, n) {
3257
3257
  })).filter((e) => null !== e.score).sort((e, t) => e.score - t.score).slice(0, 3);
3258
3258
  if (s.length > 0) {
3259
3259
  i.push(`Closest on ${l}:`);
3260
- for (const { member: e } of s) i.push(` ${Bs(e)}`);
3260
+ for (const { member: e } of s) i.push(` ${Vs(e)}`);
3261
3261
  }
3262
3262
  i.push(`\`${n} ${l}\` lists all ${o.length} members.`);
3263
3263
  } else if (s) {
@@ -3274,7 +3274,7 @@ function Vs(e, t, n) {
3274
3274
  if (0 === i.length && 0 === n.length) return null;
3275
3275
  if (i.unshift(`No SheetXL member is named '${a}'.`), n.length > 0) {
3276
3276
  i.push("Closest:");
3277
- for (const { owner: e, member: t } of n) i.push(` ${Bs(t, e)}`);
3277
+ for (const { owner: e, member: t } of n) i.push(` ${Vs(t, e)}`);
3278
3278
  }
3279
3279
  }
3280
3280
  return i.length > 0 ? i.join("\n") : null;
@@ -3384,7 +3384,7 @@ async function qs(e) {
3384
3384
  }(e, r > 0 ? n.slice(r + 1) : n);
3385
3385
  }(await M(), e);
3386
3386
  if ("member" === t.kind) try {
3387
- const e = (await N()).split(/\r?\n/);
3387
+ const e = (await F()).split(/\r?\n/);
3388
3388
  t.sources = t.members.map((t) => function(e, t, n) {
3389
3389
  const o = e.slice(t - 1, n), r = Math.min(...o.filter((e) => e.trim()).map((e) => e.length - e.trimStart().length));
3390
3390
  return o.map((e) => e.slice(Number.isFinite(r) ? r : 0)).join("\n");
@@ -3471,7 +3471,7 @@ var zs = {
3471
3471
  }(e, n);
3472
3472
  }
3473
3473
  }
3474
- }, Js = x.Feature;
3474
+ }, Js = k.Feature;
3475
3475
  async function Xs(e, t, n, o) {
3476
3476
  await Ks(e, t, "precedents", n, o), await Ks(e, t, "dependents", n, o);
3477
3477
  }
@@ -3600,7 +3600,7 @@ async function Ks(e, t, n, o, r) {
3600
3600
  detail: r
3601
3601
  };
3602
3602
  }), b = y.filter((e) => !e.isName);
3603
- if (b.length > 0 && b.some((e) => e.sheet !== b[0].sheet)) for (const e of y) e.isName || (e.label = `${e.indent}${Vo(e.sheet)}!${e.label.slice(e.indent.length)}`);
3603
+ if (b.length > 0 && b.some((e) => e.sheet !== b[0].sheet)) for (const e of y) e.isName || (e.label = `${e.indent}${Bo(e.sheet)}!${e.label.slice(e.indent.length)}`);
3604
3604
  const k = [], S = Math.max(...y.map((e) => e.label.length));
3605
3605
  for (const e of y) k.push(` ${e.label.padEnd(S)} ${e.detail}`.trimEnd());
3606
3606
  if (u && k.push(" ↺ circular reference — the chain returns to a cell already on this branch"), $ > 0) {
@@ -3616,8 +3616,8 @@ async function Ks(e, t, n, o, r) {
3616
3616
  const n = e.ranges.slice(0, ta).map((e) => {
3617
3617
  const { address: n, sheet: o } = aa(e);
3618
3618
  return [
3619
- null !== t && o !== t ? `${Vo(o)}!${n}` : n,
3620
- e.isSingleCell() ? Bt(e.getCell(), Lt.Mode.Display)?.display ?? "" : `${e.getRowCount()}×${e.getColumnCount()}`,
3619
+ null !== t && o !== t ? `${Bo(o)}!${n}` : n,
3620
+ e.isSingleCell() ? Vt(e.getCell(), Lt.Mode.Display)?.display ?? "" : `${e.getRowCount()}×${e.getColumnCount()}`,
3621
3621
  ra(e)
3622
3622
  ].filter(Boolean).join(" ");
3623
3623
  }), o = e.ranges.length - n.length;
@@ -3625,7 +3625,7 @@ async function Ks(e, t, n, o, r) {
3625
3625
  }(l.outputs, u)}`), null !== u) {
3626
3626
  const t = [...l.sheets].filter(([e]) => e !== u);
3627
3627
  if (t.length > 0) {
3628
- const n = t.map(([e, t]) => `${Vo(e)} ${t} ${1 === t ? "cell" : "cells"}`);
3628
+ const n = t.map(([e, t]) => `${Bo(e)} ${t} ${1 === t ? "cell" : "cells"}`);
3629
3629
  e.text(` ${"sheets".padEnd(Ys)}${n.join(" · ")}`);
3630
3630
  }
3631
3631
  }
@@ -3686,7 +3686,7 @@ function oa(e, t) {
3686
3686
  function ra(e, t) {
3687
3687
  if (e.isINamedRange || !e.isSingleCell()) return "";
3688
3688
  const n = e.getCell();
3689
- if (n.getType() === p.String) return "";
3689
+ if (n.getType() === h.String) return "";
3690
3690
  const o = n.getCoords(), r = e.getWorksheet(), s = [];
3691
3691
  if (!t || o.rowIndex < t.rowStart || o.rowIndex > t.rowEnd) {
3692
3692
  const e = fn(r, o, "row");
@@ -3724,7 +3724,7 @@ function ia(e) {
3724
3724
  return t ? `name → ${t.getAddress()}` : "name";
3725
3725
  }
3726
3726
  if (e.isSingleCell()) {
3727
- const t = e.getCell(), n = Bt(t, Lt.Mode.Display), o = t.getFormulaText(), r = n ? n.display : "(empty)";
3727
+ const t = e.getCell(), n = Vt(t, Lt.Mode.Display), o = t.getFormulaText(), r = n ? n.display : "(empty)";
3728
3728
  return o ? `${r} ${o}` : r;
3729
3729
  }
3730
3730
  const t = `${e.getRowCount()}×${e.getColumnCount()}`, n = [...e.getRegions(Js.Formula)];
@@ -3805,7 +3805,7 @@ function ga(e, t) {
3805
3805
  function ma(e) {
3806
3806
  return e.map((e) => `cites ${e.scope}: ${e.reason}`).join("; ");
3807
3807
  }
3808
- var pa = x.Feature, fa = [
3808
+ var pa = k.Feature, fa = [
3809
3809
  ["formatCells", "format cells"],
3810
3810
  ["formatColumns", "format columns"],
3811
3811
  ["formatRows", "format rows"],
@@ -3850,7 +3850,7 @@ var pa = x.Feature, fa = [
3850
3850
  colEnd: Math.max(t.colEnd, e.colEnd)
3851
3851
  } : { ...e };
3852
3852
  }
3853
- return t ? k.rangeToString(t) ?? "" : "";
3853
+ return t ? C.rangeToString(t) ?? "" : "";
3854
3854
  }, va = (e, t) => `${e} ${t}${1 !== e ? "s" : ""}`;
3855
3855
  function Ca(e) {
3856
3856
  const t = new yn(), n = e.getRanges();
@@ -3858,15 +3858,15 @@ function Ca(e) {
3858
3858
  const o = n.getWorksheet().getProtection().isLocked();
3859
3859
  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();
3860
3860
  }
3861
- var Ea = x.Feature;
3861
+ var Ea = k.Feature;
3862
3862
  async function Ra(e, t) {
3863
3863
  const n = e.getWorksheet().getRange(e.getCoords());
3864
3864
  e = n.getCell();
3865
3865
  const o = new yn();
3866
- o.h1(`Cell — ${Vo(e.getWorksheet().getName())}!${e.getAddress()}`), o.blank();
3866
+ o.h1(`Cell — ${Bo(e.getWorksheet().getName())}!${e.getAddress()}`), o.blank();
3867
3867
  const r = !!e.getFormulaText(), s = e.getType();
3868
3868
  (function(e, t) {
3869
- const n = Bt(t, Lt.Mode.Display), o = Bt(t, Lt.Mode.Value), r = t.getFormulaText(), s = e.toLines().length;
3869
+ const n = Vt(t, Lt.Mode.Display), o = Vt(t, Lt.Mode.Value), r = t.getFormulaText(), s = e.toLines().length;
3870
3870
  if (n || r) {
3871
3871
  if (e.fact(`Type: ${t.getType()}`), n && e.fact(`Display: ${n.display}`), o && o.match !== n?.match) {
3872
3872
  const r = function(e) {
@@ -3935,7 +3935,7 @@ async function Ra(e, t) {
3935
3935
  w && e.fact(`Style (effective): ${w}`), e.toLines().length > s && e.blank();
3936
3936
  })(o, e);
3937
3937
  const a = function(e, t) {
3938
- if (!t.getFormulaText() && t.getType() === p.Null) return null;
3938
+ if (!t.getFormulaText() && t.getType() === h.Null) return null;
3939
3939
  const n = e.getSurrounding({ contentOnly: !0 });
3940
3940
  return n.isSingleCell() ? null : n;
3941
3941
  }(n, e);
@@ -4000,7 +4000,7 @@ async function Ra(e, t) {
4000
4000
  const t = u >= e.start && u <= e.end, n = e.range.getAddress();
4001
4001
  let o;
4002
4002
  if (null === e.r1c1) o = e.range.isSingleCell() ? function(e) {
4003
- const t = Bt(e, Lt.Mode.Display);
4003
+ const t = Vt(e, Lt.Mode.Display);
4004
4004
  return t ? `${t.display} typed` : "blank";
4005
4005
  }(e.range.getCell()) : e.end - e.start + 1 + " cells, no formula";
4006
4006
  else {
@@ -4017,7 +4017,7 @@ async function Ra(e, t) {
4017
4017
  }
4018
4018
  e.blank();
4019
4019
  }(o, e, a), function(e, t) {
4020
- const n = t.getAnomalies().filter((e) => e.check !== R.ErrorCheck.ConstantFrequency);
4020
+ const n = t.getAnomalies().filter((e) => e.check !== $.ErrorCheck.ConstantFrequency);
4021
4021
  if (0 !== n.length) {
4022
4022
  e.h2(`Anomalies (${n.length})`);
4023
4023
  for (const o of n) e.text(` ${Kt(o, t)}`);
@@ -4027,7 +4027,7 @@ async function Ra(e, t) {
4027
4027
  home: e.getWorksheet(),
4028
4028
  subject: n,
4029
4029
  zeroPrecedents: r,
4030
- zeroDependents: r || s !== p.Null && s !== p.String
4030
+ zeroDependents: r || s !== h.Null && s !== h.String
4031
4031
  }), o.toLines().join("\n").trimEnd();
4032
4032
  }
4033
4033
  var ja = 8, Ia = (e) => ({
@@ -4119,7 +4119,7 @@ async function Aa(e, t) {
4119
4119
  let g = 0, m = !1;
4120
4120
  t.forEach((e, t) => {
4121
4121
  if (g >= a) return m = !0, { break: !0 };
4122
- const n = t.getCell(), r = n.getFormulaText(), s = Bt(n, o);
4122
+ const n = t.getCell(), r = n.getFormulaText(), s = Vt(n, o);
4123
4123
  if (!s && !r) return;
4124
4124
  const i = {
4125
4125
  text: (s?.display ?? "").replace(/\|/g, "\\|").replace(/[\r\n]+/g, " "),
@@ -4143,7 +4143,7 @@ async function Aa(e, t) {
4143
4143
  colStart: w[0],
4144
4144
  colEnd: w[w.length - 1]
4145
4145
  }), y = `${g} cell${1 !== g ? "s" : ""}`, b = $.toString() !== t.toString();
4146
- e.h2(`Values (${b ? `${Bo($)} · ` : ""}${y})`);
4146
+ e.h2(`Values (${b ? `${Vo($)} · ` : ""}${y})`);
4147
4147
  const k = e.beginFrame(w.map((e) => u.at(e - l).getText()));
4148
4148
  for (const e of p) {
4149
4149
  const t = d.get(e);
@@ -4153,7 +4153,7 @@ async function Aa(e, t) {
4153
4153
  }(n, e, t);
4154
4154
  return function(e, t, n) {
4155
4155
  const o = [];
4156
- for (const e of t.getRegions(x.Feature.Formula)) {
4156
+ for (const e of t.getRegions(k.Feature.Formula)) {
4157
4157
  const t = e.getCell(), r = t.getFormulaText();
4158
4158
  if (r && (o.push({
4159
4159
  address: e.getAddress(),
@@ -4218,12 +4218,12 @@ function Oa(e) {
4218
4218
  const o = e.getCondition();
4219
4219
  t.fact(`Rule: ${o?.toString() || "none — anything is accepted here"}`);
4220
4220
  const r = ((e) => {
4221
- if (e?.getOperator()?.getName() !== v.BuiltInOperatorNames.InSet) return null;
4221
+ if (e?.getOperator()?.getName() !== x.BuiltInOperatorNames.InSet) return null;
4222
4222
  const t = e.getParam();
4223
4223
  if (!t) return null;
4224
4224
  const n = [], o = t.source;
4225
4225
  null != o && n.push("string" == typeof o ? o : o.getExpression());
4226
- const r = (t.items ?? []).map((e) => Vt(e)?.match ?? "").concat(t.additions ?? []);
4226
+ const r = (t.items ?? []).map((e) => Bt(e)?.match ?? "").concat(t.additions ?? []);
4227
4227
  if (r.length > 0) {
4228
4228
  const e = r.slice(0, 20), t = r.length - e.length;
4229
4229
  n.push(t > 0 ? `${e.join(", ")}, +${t} more` : e.join(", "));
@@ -4245,7 +4245,7 @@ function Oa(e) {
4245
4245
  var La = (e, t) => {
4246
4246
  const n = [e?.trim(), t?.trim()].filter(Boolean);
4247
4247
  return n.length > 0 ? n.join(" — ") : null;
4248
- }, Pa = [["isReferenceOnly", "reference-only"], ["isVolatile", "volatile"]], Da = (e, t) => e ? ` (${Vo(e)}!${t})` : "";
4248
+ }, Pa = [["isReferenceOnly", "reference-only"], ["isVolatile", "volatile"]], Da = (e, t) => e ? ` (${Bo(e)}!${t})` : "";
4249
4249
  function Wa(e, t, n, o) {
4250
4250
  if ("external" === e) return "another workbook — not resolvable from here";
4251
4251
  if (!n) return "";
@@ -4267,7 +4267,7 @@ function Wa(e, t, n, o) {
4267
4267
  const e = n.getTables().getByName(t) ?? n.getWorkbook()?.getWorksheets().getItems().map((e) => e.getTables().getByName(t)).find(Boolean) ?? null;
4268
4268
  return e ? ((e, t) => {
4269
4269
  const n = e.getWorksheet(), o = e.toString();
4270
- return !n || t && n.getName() === t.getName() || o.includes("!") ? o : `${Vo(n.getName())}!${o}`;
4270
+ return !n || t && n.getName() === t.getName() || o.includes("!") ? o : `${Bo(n.getName())}!${o}`;
4271
4271
  })(e.getRange(), n) : "unknown — evaluates to #NAME?";
4272
4272
  }
4273
4273
  case "column": {
@@ -4280,7 +4280,7 @@ function Wa(e, t, n, o) {
4280
4280
  }
4281
4281
  return "";
4282
4282
  }
4283
- var Ba = [
4283
+ var Va = [
4284
4284
  "Workbook_Open",
4285
4285
  "Auto_Open",
4286
4286
  "Workbook_BeforeClose",
@@ -4293,9 +4293,9 @@ var Ba = [
4293
4293
  "Worksheet_Activate",
4294
4294
  "Worksheet_BeforeDoubleClick",
4295
4295
  "Worksheet_Calculate"
4296
- ], Va = (e) => {
4296
+ ], Ba = (e) => {
4297
4297
  const t = [];
4298
- for (const n of Ba) new RegExp(`(?:Sub|Function)\\s+${n}\\b`, "i").test(e) && t.push(n);
4298
+ for (const n of Va) new RegExp(`(?:Sub|Function)\\s+${n}\\b`, "i").test(e) && t.push(n);
4299
4299
  return t;
4300
4300
  }, Ha = (e) => {
4301
4301
  try {
@@ -4318,7 +4318,7 @@ var Ba = [
4318
4318
  scope: Ua(e),
4319
4319
  body: t,
4320
4320
  lines: 0 === t.length ? 0 : t.split("\n").length,
4321
- runsInExcel: Va(t),
4321
+ runsInExcel: Ba(t),
4322
4322
  runsHere: Ha(e),
4323
4323
  executable: !!e.toJSON().compiled
4324
4324
  };
@@ -4404,16 +4404,16 @@ var Ka = [
4404
4404
  }, ni = (e) => Ga.every(([, t], n) => Qa(t(e)) === Ka[n]), oi = (e, t) => {
4405
4405
  if (!e) return null;
4406
4406
  const n = e.getCoords();
4407
- return t ? k.runToString(n.colStart, n.colEnd, !0) : k.runToString(n.rowStart, n.rowEnd, !1);
4407
+ return t ? C.runToString(n.colStart, n.colEnd, !0) : C.runToString(n.rowStart, n.rowEnd, !1);
4408
4408
  }, ri = (e, t) => {
4409
4409
  if (0 === e.length) return null;
4410
4410
  const n = e.slice(0, 20).map((e) => {
4411
4411
  const n = t ? e.getColumnIndex() : e.getRowIndex();
4412
- return k.runToString(n, n, t).split(":")[0];
4412
+ return C.runToString(n, n, t).split(":")[0];
4413
4413
  }), o = e.length > 20 ? `, …and ${e.length - 20} more` : "";
4414
4414
  return `before ${t ? "columns" : "rows"} ${n.join(", ")}${o}`;
4415
4415
  }, si = (e) => {
4416
- 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 = [];
4416
+ const t = e.getHeadersFooters(), n = t.getState(), o = v.HeaderFooterState, r = n === o.FirstAndDefault || n === o.FirstOddAndEven, s = n === o.OddAndEven || n === o.FirstOddAndEven, a = [];
4417
4417
  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;
4418
4418
  }, ai = (e, t, n) => {
4419
4419
  const o = [];
@@ -4472,7 +4472,7 @@ var ci = (e, t) => {
4472
4472
  return n && "Object" !== n ? n : t;
4473
4473
  }, di = (e) => {
4474
4474
  try {
4475
- return Vt(e)?.match ?? String(e);
4475
+ return Bt(e)?.match ?? String(e);
4476
4476
  } catch {
4477
4477
  return String(e);
4478
4478
  }
@@ -4487,7 +4487,7 @@ var gi = (e) => {
4487
4487
  }, mi = /^\s*=\s*TABLE\s*\(([^()]*)\)\s*$/i;
4488
4488
  function pi(e) {
4489
4489
  const t = [];
4490
- for (const n of e.getEntireRange().getRegions(x.Feature.Formula)) {
4490
+ for (const n of e.getEntireRange().getRegions(k.Feature.Formula)) {
4491
4491
  if (!mi.test(n.getCell().getFormulaText() ?? "")) continue;
4492
4492
  const o = n.getCoords();
4493
4493
  for (let n = o.rowStart; n <= o.rowEnd; n++) for (let r = o.colStart; r <= o.colEnd; r++) {
@@ -4498,7 +4498,7 @@ function pi(e) {
4498
4498
  colEnd: r
4499
4499
  }).getCell(), s = o.getFormulaText() ?? "", a = mi.exec(s);
4500
4500
  if (!a) continue;
4501
- const i = a[1].split(",").map((e) => e.trim()), l = parseInt(i[2] ?? "", 10), c = parseInt(i[3] ?? "", 10), u = h.isError(o.getValue(), h.Code.Spill), d = (u ? null : o.getSpill()) ?? (l > 0 && c > 0 ? e.getRange({
4501
+ const i = a[1].split(",").map((e) => e.trim()), l = parseInt(i[2] ?? "", 10), c = parseInt(i[3] ?? "", 10), u = p.isError(o.getValue(), p.Code.Spill), d = (u ? null : o.getSpill()) ?? (l > 0 && c > 0 ? e.getRange({
4502
4502
  rowStart: n,
4503
4503
  colStart: r,
4504
4504
  rowEnd: n + l - 1,
@@ -4535,18 +4535,18 @@ var fi = (e) => {
4535
4535
  };
4536
4536
  async function yi(e, t) {
4537
4537
  const n = new yn(), o = e.getSelectedRange(), r = e.getUsedRange();
4538
- n.h1(`Sheet — ${Vo(e.getName())}${function(e) {
4538
+ n.h1(`Sheet — ${Bo(e.getName())}${function(e) {
4539
4539
  const t = e.getWorkbook();
4540
4540
  let n = "";
4541
4541
  t && t.getSelectedWorksheet()?.getId() === e.getId() && (n += " (selected)");
4542
4542
  const o = e.getVisibility();
4543
- return o === f.Visibility.Hidden ? n += " (hidden)" : o === f.Visibility.VeryHidden && (n += " (very hidden)"), e.getProtection().isLocked() && (n += " (protected)"), n;
4544
- }(e)}`), n.text(`Used: ${r ? Bo(r) : "empty"}`), n.text(`Selection: ${Bo(o)}`);
4543
+ return o === j.Visibility.Hidden ? n += " (hidden)" : o === j.Visibility.VeryHidden && (n += " (very hidden)"), e.getProtection().isLocked() && (n += " (protected)"), n;
4544
+ }(e)}`), n.text(`Used: ${r ? Vo(r) : "empty"}`), n.text(`Selection: ${Vo(o)}`);
4545
4545
  const s = hr(e);
4546
4546
  s && n.text(`Outline: ${s}`);
4547
4547
  const a = function(e) {
4548
4548
  const t = e.getPageLayout(), n = [];
4549
- t.getOrientation() !== w.Orientation.Portrait && n.push(t.getOrientation());
4549
+ t.getOrientation() !== v.Orientation.Portrait && n.push(t.getOrientation());
4550
4550
  const o = ti(t);
4551
4551
  o && n.push(o);
4552
4552
  const r = ei(t);
@@ -4695,12 +4695,12 @@ function Si(e, t) {
4695
4695
  }
4696
4696
  var xi = (e) => !!e && "object" == typeof e && !0 === e.isIRange, vi = (e) => {
4697
4697
  if (null == e) return { text: "" };
4698
- const t = (Vt(e)?.display ?? "").replace(/[\r\n]+/g, " ");
4698
+ const t = (Bt(e)?.display ?? "").replace(/[\r\n]+/g, " ");
4699
4699
  return "number" == typeof e ? {
4700
4700
  text: t,
4701
4701
  alignment: "right"
4702
4702
  } : { text: t };
4703
- }, Ci = x.Feature, Ei = [
4703
+ }, Ci = k.Feature, Ei = [
4704
4704
  [Ci.Font, "fonts"],
4705
4705
  [Ci.NumberFormat, "formats"],
4706
4706
  [Ci.Fill, "fills"],
@@ -4711,7 +4711,7 @@ async function Ri(e, t) {
4711
4711
  const n = new yn();
4712
4712
  n.h1(`Workbook — ${e.getName() ?? "Untitled"}`), n.text(`Locale: ${e.getRuntime().getLocale()}`);
4713
4713
  const o = e.getCalculation();
4714
- o.getStatus() === S.Status.Off ? n.text("Calculation: off — formulas have not been evaluated; values are as loaded. wb.getCalculation().calculate() evaluates them") : o.getStatus() === S.Status.Error ? n.text("Calculation: error — the engine failed to start; values are as loaded. wb.getCalculation().start() tries again") : o.getCalculationMode() === S.CalculationMode.Manual && n.text("Calculation: manual — values are as of the last calculation. wb.getCalculation().calculate() refreshes them");
4714
+ o.getStatus() === w.Status.Off ? n.text("Calculation: off — formulas have not been evaluated; values are as loaded. wb.getCalculation().calculate() evaluates them") : o.getStatus() === w.Status.Error ? n.text("Calculation: error — the engine failed to start; values are as loaded. wb.getCalculation().start() tries again") : o.getCalculationMode() === w.CalculationMode.Manual && n.text("Calculation: manual — values are as of the last calculation. wb.getCalculation().calculate() refreshes them");
4715
4715
  const r = ((e) => {
4716
4716
  const t = $a(e);
4717
4717
  if (!t) return null;
@@ -4719,7 +4719,7 @@ async function Ri(e, t) {
4719
4719
  return n ? `${n} ${t}` : t;
4720
4720
  })(e.getProtection());
4721
4721
  r && n.text(`Protection: ${r}`), n.blank();
4722
- const s = e.getWorksheets().getItems({ visibility: f.Visibility.VeryHidden }), a = e.getSelectedSheet(), i = e.getStyles().getNormal(), l = [];
4722
+ const s = e.getWorksheets().getItems({ visibility: j.Visibility.VeryHidden }), a = e.getSelectedSheet(), i = e.getStyles().getNormal(), l = [];
4723
4723
  for (const e of s) {
4724
4724
  const t = ji(e, i);
4725
4725
  l.push({
@@ -4737,7 +4737,7 @@ async function Ri(e, t) {
4737
4737
  t ? t.push(e) : c.set(e.formulaSignature, [e]);
4738
4738
  }
4739
4739
  for (const e of c.values()) if (!(e.length < 2)) for (const t of e) {
4740
- const n = e.filter((e) => e !== t).map((e) => Vo(e.sheet.getName()));
4740
+ const n = e.filter((e) => e !== t).map((e) => Bo(e.sheet.getName()));
4741
4741
  t.lines.push({
4742
4742
  label: "twin of",
4743
4743
  extent: n.join(", "),
@@ -4761,7 +4761,7 @@ async function Ri(e, t) {
4761
4761
  n.blank();
4762
4762
  }
4763
4763
  u.length < l.length && (n.text(`…and ${l.length - u.length} more sheets · wb.getWorksheets().getItems() lists all`), n.blank());
4764
- const m = e.getSheets({ visibility: f.Visibility.VeryHidden }).filter((e) => e.getKind() !== f.Kind.Worksheet);
4764
+ const m = e.getSheets({ visibility: j.Visibility.VeryHidden }).filter((e) => e.getKind() !== j.Kind.Worksheet);
4765
4765
  if (m.length > 0) {
4766
4766
  n.h2(`Other sheets (${m.length})`), n.blank();
4767
4767
  for (const e of m) n.text(` ${Oi(e, e.getId() === a.getId())}`);
@@ -4862,7 +4862,7 @@ function ji(e, t) {
4862
4862
  for (const n of l) {
4863
4863
  const o = n.getRowCount() * n.getColumnCount();
4864
4864
  t += o;
4865
- for (const t of n.getCell().getAnomalies()) t.check !== R.ErrorCheck.ConstantFrequency && e.set(t.check, (e.get(t.check) ?? 0) + o);
4865
+ for (const t of n.getCell().getAnomalies()) t.check !== $.ErrorCheck.ConstantFrequency && e.set(t.check, (e.get(t.check) ?? 0) + o);
4866
4866
  }
4867
4867
  r.push({
4868
4868
  label: "anomalies",
@@ -4981,18 +4981,18 @@ function Mi(e) {
4981
4981
  colEnd: Math.max(t.colEnd, e.colEnd)
4982
4982
  } : e;
4983
4983
  }
4984
- return t ? k.rangeToString(t) ?? "" : "";
4984
+ return t ? C.rangeToString(t) ?? "" : "";
4985
4985
  }
4986
4986
  var Fi = (e, t) => `${e} ${t}${1 !== e ? "s" : ""}`;
4987
4987
  function _i(e, t) {
4988
4988
  const n = e.getVisibility();
4989
4989
  let o = "";
4990
- return t && (o += " (selected)"), n === f.Visibility.Hidden ? o += " (hidden)" : n === f.Visibility.VeryHidden && (o += " (very hidden)"), e.getProtection().isLocked() && (o += " (protected)"), `${Vo(e.getName())}${o}`;
4990
+ return t && (o += " (selected)"), n === j.Visibility.Hidden ? o += " (hidden)" : n === j.Visibility.VeryHidden && (o += " (very hidden)"), e.getProtection().isLocked() && (o += " (protected)"), `${Bo(e.getName())}${o}`;
4991
4991
  }
4992
4992
  function Oi(e, t) {
4993
- const n = e.getKind(), o = n === f.Kind.Chart ? "chart sheet" : n === f.Kind.Macro ? "Excel 4.0 macro sheet" : "dialog sheet", r = e.getVisibility();
4993
+ const n = e.getKind(), o = n === j.Kind.Chart ? "chart sheet" : n === j.Kind.Macro ? "Excel 4.0 macro sheet" : "dialog sheet", r = e.getVisibility();
4994
4994
  let s = ` (${o})`;
4995
- return t && (s += " (selected)"), r === f.Visibility.Hidden ? s += " (hidden)" : r === f.Visibility.VeryHidden && (s += " (very hidden)"), `${Vo(e.getName())}${s}`;
4995
+ return t && (s += " (selected)"), r === j.Visibility.Hidden ? s += " (hidden)" : r === j.Visibility.VeryHidden && (s += " (very hidden)"), `${Bo(e.getName())}${s}`;
4996
4996
  }
4997
4997
  var Li = 6;
4998
4998
  function Pi(e, t, n, o, r) {
@@ -5023,7 +5023,7 @@ function Pi(e, t, n, o, r) {
5023
5023
  if (!e.counts?.[o]) continue;
5024
5024
  const t = e.sheet.getUsedRange();
5025
5025
  if (!t) continue;
5026
- const n = Vo(e.sheet.getName());
5026
+ const n = Bo(e.sheet.getName());
5027
5027
  for (const e of t.getRegions(o)) {
5028
5028
  if (s) {
5029
5029
  if (!s(e)) continue;
@@ -5064,7 +5064,7 @@ function Pi(e, t, n, o, r) {
5064
5064
  for (const { movable: e, detail: t } of m) {
5065
5065
  const n = e.getRange();
5066
5066
  l.push({
5067
- address: `${Vo(n.getWorksheet().getName())}!${k.rangeToString(n.getCoords()) ?? ""}`,
5067
+ address: `${Bo(n.getWorksheet().getName())}!${C.rangeToString(n.getCoords()) ?? ""}`,
5068
5068
  size: "chart",
5069
5069
  payload: `${e.getContent().getName?.() || "(unnamed)"} · ${t}`
5070
5070
  });
@@ -5078,12 +5078,12 @@ function Pi(e, t, n, o, r) {
5078
5078
  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();
5079
5079
  }
5080
5080
  function Di(e) {
5081
- const t = e.getCell(), n = Bt(t, Lt.Mode.Display)?.display ?? "", o = t.getFormulaText();
5081
+ const t = e.getCell(), n = Vt(t, Lt.Mode.Display)?.display ?? "", o = t.getFormulaText();
5082
5082
  if (!o) return n;
5083
5083
  const r = ma(ga(t.getFormula()?.getTokens() ?? [], t.getWorksheet().getWorkbook()));
5084
5084
  return [`${n} ${o}`.trim(), r].filter(Boolean).join(" · ");
5085
5085
  }
5086
- var Wi = (e, t) => !!e && "object" == typeof e && !0 === e[t], Bi = {
5086
+ var Wi = (e, t) => !!e && "object" == typeof e && !0 === e[t], Vi = {
5087
5087
  kind: "protectedRanges",
5088
5088
  is: (e) => Wi(e, "isIProtectedRangeCollection"),
5089
5089
  render: (e) => {
@@ -5091,7 +5091,7 @@ var Wi = (e, t) => !!e && "object" == typeof e && !0 === e[t], Bi = {
5091
5091
  return 0 === t.length ? "# Unlocked Ranges (0)\nNone" : t.slice(0, Hi).map(Ca).concat(t.length > Hi ? [`…and ${t.length - Hi} more · render one at a time to see them`] : []).join("\n\n");
5092
5092
  }
5093
5093
  };
5094
- function Vi(e) {
5094
+ function Bi(e) {
5095
5095
  const t = Ji(e);
5096
5096
  if (!t) return null;
5097
5097
  let n;
@@ -5185,7 +5185,7 @@ var Hi = 20, Ui = [
5185
5185
  }
5186
5186
  if ((o = n) && "object" == typeof o && !0 === o.isIRange) return void e.fact(`Value: spills ${n.getRowCount()}×${n.getColumnCount()} — an array result`);
5187
5187
  var o;
5188
- const r = Vt(n);
5188
+ const r = Bt(n);
5189
5189
  e.fact(`Value: ${r ? r.display : "(empty)"}`);
5190
5190
  }(o, e), o.fact(`Status: ${e.getCalculationStatus()}`), e.isValid() || o.fact("Valid: false — the text did not parse as a complete expression");
5191
5191
  const s = Pa.filter(([t]) => e[t]()).map(([, e]) => e);
@@ -5346,7 +5346,7 @@ var Hi = 20, Ui = [
5346
5346
  return t.toLines().join("\n").trimEnd();
5347
5347
  }(e)
5348
5348
  },
5349
- Bi,
5349
+ Vi,
5350
5350
  {
5351
5351
  kind: "protectedRange",
5352
5352
  is: (e) => Wi(e, "isIProtectedRange"),
@@ -5359,7 +5359,7 @@ var Hi = 20, Ui = [
5359
5359
  const t = new yn();
5360
5360
  t.h1("Page Layout"), t.blank();
5361
5361
  const n = e.getOrientation();
5362
- t.fact(`Orientation: ${n}${n === w.Orientation.Portrait ? " (default)" : ""}`), t.fact(`Paper: ${ti(e) ?? "letter (default)"}`), t.fact(`Zoom: ${ei(e) ?? "100% (default)"}`);
5362
+ t.fact(`Orientation: ${n}${n === v.Orientation.Portrait ? " (default)" : ""}`), t.fact(`Paper: ${ti(e) ?? "letter (default)"}`), t.fact(`Zoom: ${ei(e) ?? "100% (default)"}`);
5363
5363
  const o = Ga.map(([t, n]) => `${t} ${Qa(n(e))}`).join(" · ");
5364
5364
  t.fact(`Margins (inches): ${o}${ni(e) ? " (default)" : ""}`);
5365
5365
  const r = e.getPrintArea();
@@ -5371,7 +5371,7 @@ var Hi = 20, Ui = [
5371
5371
  const l = Za.filter(([, t]) => t(e)).map(([e]) => e);
5372
5372
  l.length > 0 && t.fact(`Also prints: ${l.join(", ")}`);
5373
5373
  const c = e.getFirstPageNumber();
5374
- "" !== 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()}`);
5374
+ "" !== c && t.fact(`First page number: ${c}`), e.getPrintOrder() !== v.PrintOrder.DownThenOver && t.fact(`Page order: ${e.getPrintOrder()}`), e.getPrintComments() !== v.PrintComments.NoComments && t.fact(`Notes: ${e.getPrintComments()}`), e.getPrintErrors() !== v.PrintErrorType.AsDisplayed && t.fact(`Errors print as: ${e.getPrintErrors()}`);
5375
5375
  const u = si(e).flatMap(([e, t]) => {
5376
5376
  const n = [], o = ai(t.getLeftHeader(), t.getCenterHeader(), t.getRightHeader());
5377
5377
  o && n.push(`${e} header: ${o}`);
@@ -5385,11 +5385,11 @@ var Hi = 20, Ui = [
5385
5385
  kind: "stats",
5386
5386
  is: (e) => Wi(e, "isIRangeStats"),
5387
5387
  render: (e) => function(e) {
5388
- const t = new yn(), n = e.getCoords(), o = n ? k.rangeToString(n) : null;
5388
+ const t = new yn(), n = e.getCoords(), o = n ? C.rangeToString(n) : null;
5389
5389
  t.h1(o ? `Stats — ${o}` : "Stats");
5390
5390
  const r = e.getTypedCounts();
5391
5391
  t.fact(`Cells: ${e.getSize()}`), t.fact(`Values: ${e.getCount()}`);
5392
- const s = r[p.Error] ?? 0;
5392
+ const s = r[h.Error] ?? 0;
5393
5393
  s > 0 && t.fact(`Errors: ${s}`);
5394
5394
  const a = function(e) {
5395
5395
  const t = e.getFrequencies({ limit: 1e4 }), n = t.getUniqueCount();
@@ -5400,7 +5400,7 @@ var Hi = 20, Ui = [
5400
5400
  for (const [e, n] of t.getValueCounts()) {
5401
5401
  const r = t.getExtent(e);
5402
5402
  o.push({
5403
- label: Vt(e)?.display ?? "",
5403
+ label: Bt(e)?.display ?? "",
5404
5404
  content: n,
5405
5405
  styled: n,
5406
5406
  blocks: r && ki(r) === n ? [r] : []
@@ -5422,7 +5422,7 @@ var Hi = 20, Ui = [
5422
5422
  null != o && t.fact(`${n}: ${Dt(o)}`);
5423
5423
  }
5424
5424
  const l = [];
5425
- for (const [e, t] of Object.entries(r)) e !== p.Null && t && l.push(`${e.charAt(0).toUpperCase()}${e.slice(1)}: ${t}`);
5425
+ for (const [e, t] of Object.entries(r)) e !== h.Null && t && l.push(`${e.charAt(0).toUpperCase()}${e.slice(1)}: ${t}`);
5426
5426
  return l.length > 0 && (t.blank(), t.h2("Type"), t.fact(l)), t.toLines().join("\n").trimEnd();
5427
5427
  }(e)
5428
5428
  },
@@ -5453,9 +5453,9 @@ var Hi = 20, Ui = [
5453
5453
  kind: "regions",
5454
5454
  is: (e) => Wi(e, "isICellRegions"),
5455
5455
  render: (e, t) => function(e, t) {
5456
- 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();
5456
+ const n = [...e], o = e.getFeatures(), r = o.join(", "), s = 1 === o.length && o[0] === k.Feature.Contentful, a = e.getRange().getWorksheet().getWorkbook()?.getStyles().getNormal() ?? null, i = new yn();
5457
5457
  i.h1(`Regions — ${r} (${n.length})`);
5458
- const l = 1 === o.length && o[0] === x.Feature.Anomalies;
5458
+ const l = 1 === o.length && o[0] === k.Feature.Anomalies;
5459
5459
  return Ao(i, n, {
5460
5460
  ...t,
5461
5461
  profile: s,
@@ -5482,8 +5482,8 @@ var Hi = 20, Ui = [
5482
5482
  });
5483
5483
  }
5484
5484
  const a = s.filter((e) => !e.isName), i = a.length > 0 && a.some((e) => e.sheet !== a[0].sheet), l = a.length > 0 ? a[0].sheet : e.getWorksheet()?.getName(), c = new yn(), u = s.length > 0 && !i && !!l;
5485
- if (c.h1(u ? `Ranges — ${Vo(l)} (${n})` : `Ranges (${n})`), 0 === s.length) return c.text("none"), c.toLines().join("\n").trimEnd();
5486
- const d = s.map((e) => i && !e.isName ? `${Vo(e.sheet)}!${e.address}` : e.address), h = Math.max(...d.map((e) => e.length));
5485
+ if (c.h1(u ? `Ranges — ${Bo(l)} (${n})` : `Ranges (${n})`), 0 === s.length) return c.text("none"), c.toLines().join("\n").trimEnd();
5486
+ const d = s.map((e) => i && !e.isName ? `${Bo(e.sheet)}!${e.address}` : e.address), h = Math.max(...d.map((e) => e.length));
5487
5487
  for (let e = 0; e < s.length; e++) c.text(` ${d[e].padEnd(h)} ${s[e].detail}`.trimEnd());
5488
5488
  return r < n && c.text(` …and ${n - r} more · loop the collection in code to see them all`), c.toLines().join("\n").trimEnd();
5489
5489
  }(e, t)
@@ -5503,7 +5503,7 @@ var Hi = 20, Ui = [
5503
5503
  is: (e) => Array.isArray(e) && e.length > 0 && e.every(ii),
5504
5504
  render: (e, t) => li(e, {
5505
5505
  ...t,
5506
- nested: Vi
5506
+ nested: Bi
5507
5507
  })
5508
5508
  },
5509
5509
  {
@@ -5511,7 +5511,7 @@ var Hi = 20, Ui = [
5511
5511
  is: (e) => ii(e),
5512
5512
  render: (e, t) => li(e, {
5513
5513
  ...t,
5514
- nested: Vi
5514
+ nested: Bi
5515
5515
  })
5516
5516
  },
5517
5517
  {
@@ -5547,10 +5547,10 @@ async function Xi(e, t, n) {
5547
5547
  return a;
5548
5548
  }
5549
5549
  var Ki = 2;
5550
- var Gi = x.Feature;
5550
+ var Gi = k.Feature;
5551
5551
  function Zi(e, t, n, o, r, s) {
5552
5552
  const a = o?.getRanges() ?? null, i = {
5553
- sheet: Vo(e.getName()),
5553
+ sheet: Bo(e.getName()),
5554
5554
  written: n ? qo(n) : null,
5555
5555
  cells: 0,
5556
5556
  formulas: 0,
@@ -5639,7 +5639,7 @@ function el(e, t) {
5639
5639
  const n = e.getRowCount() * e.getColumnCount(), o = n > t, r = [];
5640
5640
  let s = null;
5641
5641
  return e.forEach((e, t) => {
5642
- const n = Bt(t.getCell(), Lt.Mode.Display)?.display ?? "";
5642
+ const n = Vt(t.getCell(), Lt.Mode.Display)?.display ?? "";
5643
5643
  !o || r.length < 3 ? r.push(n) : s = n;
5644
5644
  }), o && null !== s && r.push(s), {
5645
5645
  address: qo(e.getWorksheet().getRanges(e.getAddress())),
@@ -5662,7 +5662,7 @@ function nl(e, t) {
5662
5662
  for (const e of o) {
5663
5663
  const t = e.getCounts([Gi.Contentful])[Gi.Contentful] ?? 0;
5664
5664
  r += t;
5665
- const o = Vo(e.getWorksheet().getName());
5665
+ const o = Bo(e.getWorksheet().getName());
5666
5666
  n.set(o, (n.get(o) ?? 0) + t);
5667
5667
  }
5668
5668
  const s = zt(o.length, t);
@@ -5786,7 +5786,7 @@ async function ul(e, t, n) {
5786
5786
  const r = qo(o.getWorksheet().getRanges(e.getAddress()));
5787
5787
  t.has(r) || (t.add(r), n.push({
5788
5788
  address: r,
5789
- error: Bt(e.getCell(), Lt.Mode.Display)?.display ?? "",
5789
+ error: Vt(e.getCell(), Lt.Mode.Display)?.display ?? "",
5790
5790
  cells: e.getRowCount() * e.getColumnCount()
5791
5791
  }));
5792
5792
  }
@@ -6083,7 +6083,7 @@ async function _l(e, t) {
6083
6083
  try {
6084
6084
  const n = "snippet" === await El(e) ? await Tl(e) : null;
6085
6085
  if ("undefined" === t && !n?.expectsValue) return [];
6086
- const [{ ScriptCompiler: o }, { getScriptingDeclarations: r }] = await Promise.all([import("./assets/BQsLqKWy17wy3znE.js"), import("./assets/LLdkCOYvtc1-vOsy.js")]), { diagnostics: s } = await o.compile({
6086
+ const [{ ScriptCompiler: o }, { getScriptingDeclarations: r }] = await Promise.all([import("./assets/mYZ9Z5AKCn7zltHw.js"), import("./assets/CCl8x9s8Bujsew7W.js")]), { diagnostics: s } = await o.compile({
6087
6087
  source: n?.source ?? e,
6088
6088
  ambientTypes: await r(),
6089
6089
  lenient: !0,
@@ -6113,19 +6113,19 @@ var Ol = (e, t) => {
6113
6113
  if (!o.path) throw new Error("origin 'file' requires a 'path'.");
6114
6114
  let r;
6115
6115
  try {
6116
- r = await A.read({ source: o.path });
6116
+ r = await T.read({ source: o.path });
6117
6117
  } catch (e) {
6118
6118
  throw new Error(`Unable to read workbook from '${o.path}' — ${e?.message ?? String(e)}`, { cause: e });
6119
6119
  }
6120
6120
  if (!r) throw new Error(`Unable to read workbook from '${o.path}' — no content.`);
6121
- return new t(e, o.name ?? B(o.path), n, r, { path: o.path });
6121
+ return new t(e, o.name ?? V(o.path), n, r, { path: o.path });
6122
6122
  }
6123
6123
  if ("fork" === n) {
6124
6124
  if (!o.json) throw new Error("origin 'fork' requires source workbook json.");
6125
6125
  const r = o.name ?? (o.sourceName ? `${o.sourceName} (fork)` : "Fork");
6126
- return new t(e, r, n, new F({ json: o.json }), { source: o.source });
6126
+ return new t(e, r, n, new A({ json: o.json }), { source: o.source });
6127
6127
  }
6128
- return new t(e, o.name ?? "Untitled", n, new F());
6128
+ return new t(e, o.name ?? "Untitled", n, new A());
6129
6129
  }
6130
6130
  snapshot() {
6131
6131
  return this.workbook.toJSON();
@@ -6144,7 +6144,7 @@ var Ol = (e, t) => {
6144
6144
  return n(e) === n(t);
6145
6145
  })(o, n);
6146
6146
  s || Ol(o, t.overwrite);
6147
- const a = (s ? await A.write(this.workbook, r) : await A.writeAs(this.workbook, o, r))?.getPath();
6147
+ const a = (s ? await T.write(this.workbook, r) : await T.writeAs(this.workbook, o, r))?.getPath();
6148
6148
  if (!a) throw new Error(`Unable to save to '${o}'.`);
6149
6149
  return this.lineage.path = a, a;
6150
6150
  }
@@ -6238,7 +6238,7 @@ var Ol = (e, t) => {
6238
6238
  switch (typeof e) {
6239
6239
  case "number":
6240
6240
  case "boolean": return {
6241
- text: Vt(e)?.display ?? String(e),
6241
+ text: Bt(e)?.display ?? String(e),
6242
6242
  rendered: !0
6243
6243
  };
6244
6244
  case "bigint":
@@ -6253,7 +6253,7 @@ var Ol = (e, t) => {
6253
6253
  }
6254
6254
  const t = e;
6255
6255
  if (!0 === t.isFormulaError || !0 === t.isIRichData) return {
6256
- text: Vt(e)?.display ?? "",
6256
+ text: Bt(e)?.display ?? "",
6257
6257
  rendered: !0
6258
6258
  };
6259
6259
  let n;
@@ -6336,16 +6336,16 @@ var Ol = (e, t) => {
6336
6336
  async save(e, t = {}) {
6337
6337
  if (!e) throw new Error("An attended session saves to a `path`; the user saves its own file from the grid.");
6338
6338
  Ol(e, t.overwrite);
6339
- const n = new F({ json: await this.snapshot() });
6339
+ const n = new A({ json: await this.snapshot() });
6340
6340
  try {
6341
- await A.write(n, e, { progress: { onWarning: t.onWarning } });
6341
+ await T.write(n, e, { progress: { onWarning: t.onWarning } });
6342
6342
  } finally {
6343
6343
  n.close();
6344
6344
  }
6345
6345
  return e;
6346
6346
  }
6347
- }, Dl = Date.UTC(2020, 0, 1), Wl = /^sbx-([0-9a-z]{7})-(\d+)$/, Bl = `${Math.max(0, Math.floor((Date.now() - Dl) / 1e3)).toString(36).padStart(6, "0").slice(-6)}${Math.floor(36 * Math.random()).toString(36)}`;
6348
- function Vl(e, t) {
6347
+ }, Dl = Date.UTC(2020, 0, 1), Wl = /^sbx-([0-9a-z]{7})-(\d+)$/, Vl = `${Math.max(0, Math.floor((Date.now() - Dl) / 1e3)).toString(36).padStart(6, "0").slice(-6)}${Math.floor(36 * Math.random()).toString(36)}`;
6348
+ function Bl(e, t) {
6349
6349
  return e.path && t.originPath ? e.path === t.originPath : e.name === t.name;
6350
6350
  }
6351
6351
  function Hl(e) {
@@ -6406,7 +6406,7 @@ var Ul = class e {
6406
6406
  if (!t.source) throw new Error("origin 'fork' requires 'source' (the session_id to fork).");
6407
6407
  n = await (await this.resolveForTool(t.source)).snapshot(), o = (await this.list()).find((e) => e.id === t.source)?.name;
6408
6408
  }
6409
- const r = `sbx-${Bl}-${++this.counter}`, s = await Ll.create(r, e, {
6409
+ const r = `sbx-${Vl}-${++this.counter}`, s = await Ll.create(r, e, {
6410
6410
  path: t.path,
6411
6411
  name: t.name,
6412
6412
  json: n,
@@ -6492,7 +6492,7 @@ var Ul = class e {
6492
6492
  });
6493
6493
  continue;
6494
6494
  }
6495
- const t = [...this.closed].reverse().find((t) => "attended" === t.kind && "gone" === t.reason && t.id !== o.id && Vl(t, o) && Date.now() - t.closedAt < e.RELOAD_WINDOW_MS);
6495
+ const t = [...this.closed].reverse().find((t) => "attended" === t.kind && "gone" === t.reason && t.id !== o.id && Bl(t, o) && Date.now() - t.closedAt < e.RELOAD_WINDOW_MS);
6496
6496
  t && (t.reason = "reloaded", t.replacedBy = o.id), n && this.recordEvent({
6497
6497
  kind: "arrived",
6498
6498
  info: o
@@ -6551,7 +6551,7 @@ var Ul = class e {
6551
6551
  }
6552
6552
  const r = Hl(e);
6553
6553
  let s;
6554
- if (r && r.token === Bl) s = r.ordinal <= this.counter ? "That sandbox was created by this server and has since been closed." : "This server never issued that sandbox id.";
6554
+ if (r && r.token === Vl) s = r.ordinal <= this.counter ? "That sandbox was created by this server and has since been closed." : "This server never issued that sandbox id.";
6555
6555
  else if (r) {
6556
6556
  const e = function(e) {
6557
6557
  const t = Number.parseInt(e.slice(0, 6), 36);
@@ -6623,7 +6623,7 @@ var Jl = class e {
6623
6623
  ...t.map((e) => z(e, "Chromium.app", "Contents", "MacOS", "Chromium"))
6624
6624
  ];
6625
6625
  }
6626
- const t = (e.PATH ?? "").split(V).filter(Boolean);
6626
+ const t = (e.PATH ?? "").split(B).filter(Boolean);
6627
6627
  return [
6628
6628
  "google-chrome",
6629
6629
  "google-chrome-stable",
@@ -6793,9 +6793,9 @@ var Ql = class e {
6793
6793
  const e = {
6794
6794
  origin: "http://screenshot.sheetxl.invalid",
6795
6795
  key: null
6796
- }, t = await E.getDetails();
6796
+ }, t = await R.getDetails();
6797
6797
  if (t.isEval() || !t.getRuntimes().includes("browser")) return e;
6798
- const n = await E.getLicenseKey();
6798
+ const n = await R.getLicenseKey();
6799
6799
  if (!n) return e;
6800
6800
  for (const e of t.getDomains()) if (!e.includes("*")) try {
6801
6801
  const t = new URL(e);
@@ -6823,9 +6823,9 @@ var Ql = class e {
6823
6823
  async capture(e, t) {
6824
6824
  if (!ec(e)) {
6825
6825
  const n = e.getCalculation();
6826
- n.getStatus() === S.Status.Running && await n.whenPendingDone({ timeout: t?.answerTimeout ?? 1e4 });
6826
+ n.getStatus() === w.Status.Running && await n.whenPendingDone({ timeout: t?.answerTimeout ?? 1e4 });
6827
6827
  }
6828
- const n = new Uint8Array(ec(e) ? e : await A.writeArrayBuffer(e, { format: "sxl" })), o = t?.maxEdge ?? 1600, r = t?.scale ?? 1, s = {
6828
+ const n = new Uint8Array(ec(e) ? e : await T.writeArrayBuffer(e, { format: "sxl" })), o = t?.maxEdge ?? 1600, r = t?.scale ?? 1, s = {
6829
6829
  range: t?.range,
6830
6830
  headers: t?.headers ?? !0,
6831
6831
  gridlines: t?.gridlines ?? !0
@@ -6988,7 +6988,7 @@ function ac(e, t) {
6988
6988
  }
6989
6989
  function ic(e, t, n, o) {
6990
6990
  const r = (t.diagnostics ?? []).map((t) => {
6991
- const n = oc[t.code] ?? (o?.api ? Vs(o.api, t.message, "api") : null) ?? function(e, t) {
6991
+ const n = oc[t.code] ?? (o?.api ? Bs(o.api, t.message, "api") : null) ?? function(e, t) {
6992
6992
  const n = /\bon type '(?:SheetXL\.)?([A-Z][\w$]*(?:\.[A-Z][\w$]*)*)'/.exec(e)?.[1];
6993
6993
  return n ? `\`${t} ${n}\` lists its members.` : null;
6994
6994
  }(t.message, "api") ?? void 0, r = function(e, t) {
@@ -7028,7 +7028,7 @@ function ic(e, t, n, o) {
7028
7028
  };
7029
7029
  }
7030
7030
  if (!t.ok) {
7031
- const e = t.error?.message ?? String(t.error ?? "Unknown error"), r = (g = t.error, ("ProtectedError" !== g?.name ? null : "`sheet.getProtection()` (`wb.getProtection()` for the workbook) lists what is still allowed; `sheet.getRegions(\"unlock\")` lists the cells that take a write.") ?? (0 === s.length && o?.api ? Vs(o.api, e, "api") : null)), a = [`✗ Compiled but failed at runtime:${h}`, ` ${e}`];
7031
+ const e = t.error?.message ?? String(t.error ?? "Unknown error"), r = (g = t.error, ("ProtectedError" !== g?.name ? null : "`sheet.getProtection()` (`wb.getProtection()` for the workbook) lists what is still allowed; `sheet.getRegions(\"unlock\")` lists the cells that take a write.") ?? (0 === s.length && o?.api ? Bs(o.api, e, "api") : null)), a = [`✗ Compiled but failed at runtime:${h}`, ` ${e}`];
7032
7032
  if (r && a.push(` ↳ ${sc(r)}`), s.length > 0) {
7033
7033
  a.push("\nThe type check found:");
7034
7034
  for (const e of s) ac(a, e);
@@ -7087,7 +7087,7 @@ async function cc(e, t = function(e = process.env.SHEETXL_RUN_TIMEOUT) {
7087
7087
  const t = Number(e);
7088
7088
  return !Number.isFinite(t) || t < 0 ? lc : 0 === t ? null : Math.round(1e3 * t);
7089
7089
  }()) {
7090
- const { ScriptCompiler: n, DiagnosticCode: o } = await import("./assets/BQsLqKWy17wy3znE.js"), r = await T(), s = null !== t ? {
7090
+ const { ScriptCompiler: n, DiagnosticCode: o } = await import("./assets/mYZ9Z5AKCn7zltHw.js"), r = await N(), s = null !== t ? {
7091
7091
  key: me(),
7092
7092
  timeoutMs: t
7093
7093
  } : void 0, a = async (e) => {
@@ -7129,7 +7129,7 @@ var uc = class {
7129
7129
  }
7130
7130
  async capture(e, t) {
7131
7131
  this._active++, this._clearIdle();
7132
- const n = new F({ json: e });
7132
+ const n = new A({ json: e });
7133
7133
  try {
7134
7134
  return await (await this._acquire()).capture(n, t);
7135
7135
  } finally {
@@ -7266,7 +7266,7 @@ function xc(e) {
7266
7266
  const n = void 0 !== e.defaultValue ? ` (default: ${JSON.stringify(e.defaultValue)})` : "";
7267
7267
  return t = t.describe(`${e.description}${n}`), e.required ? t : t.optional();
7268
7268
  }
7269
- await A.install(Pe);
7269
+ await T.install(Pe);
7270
7270
  var vc = function(e) {
7271
7271
  const t = function() {
7272
7272
  const e = process.env.SHEETXL_TOOL_LOG;
@@ -7322,10 +7322,10 @@ var Ec = process.env.SHEETXL_WORKSPACE ?? process.cwd(), Rc = function(e, t, n,
7322
7322
  replaced: a,
7323
7323
  crashedCalls: i
7324
7324
  };
7325
- }(Bl, Ec, /* @__PURE__ */ new Date(), vc), jc = function(e, t) {
7325
+ }(Vl, Ec, /* @__PURE__ */ new Date(), vc), jc = function(e, t) {
7326
7326
  const n = new tc(), o = /* @__PURE__ */ new Map(), r = new uc(), s = new fe({
7327
7327
  name: "sheetxl-mcp",
7328
- version: "0.8.0-beta.18"
7328
+ version: "0.8.0-beta.20"
7329
7329
  }, {
7330
7330
  instructions: `${$c}\n\n${yc}`,
7331
7331
  capabilities: { tasks: {
@@ -7390,10 +7390,10 @@ var Ec = process.env.SHEETXL_WORKSPACE ?? process.cwd(), Rc = function(e, t, n,
7390
7390
  }, ...t.content ?? []]);
7391
7391
  }
7392
7392
  const a = await (async () => {
7393
- const e = await E.getEvalState().catch(() => null);
7393
+ const e = await R.getEvalState().catch(() => null);
7394
7394
  if (!e || e === c) return null;
7395
7395
  if (c = e, "grace" !== e && "stopped" !== e) return null;
7396
- const t = (await E.getDetails()).getEvalStopDate()?.toISOString().slice(0, 10);
7396
+ const t = (await R.getDetails()).getEvalStopDate()?.toISOString().slice(0, 10);
7397
7397
  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\`).`;
7398
7398
  })();
7399
7399
  return a && (t.content = [{
@@ -7644,7 +7644,7 @@ var Ec = process.env.SHEETXL_WORKSPACE ?? process.cwd(), Rc = function(e, t, n,
7644
7644
  };
7645
7645
  }({
7646
7646
  surface: "mcp",
7647
- license: () => E.getDetails(),
7647
+ license: () => R.getDetails(),
7648
7648
  serverCount: t ? Ft(t.workspace).filter(_t).length + 1 : void 0,
7649
7649
  sessions: async () => (await e.list()).map((e) => ({
7650
7650
  id: e.id,