@sheetxl/mcp 0.0.0-stage → 0.8.0-beta.14

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 (509) hide show
  1. package/LICENSE.md +11 -0
  2. package/README.md +72 -2
  3. package/agent/instructions.md +66 -0
  4. package/assets/2zIY9Xuml4y8NI05.js +596 -0
  5. package/assets/33QTHR3r6ZujxFx8.js +18 -0
  6. package/assets/8vRAQlvTcvMLeio0.js +1131 -0
  7. package/assets/9MRZ5Yc2RBgcqZSp.js +594 -0
  8. package/assets/9dbZwzIWefGss7is.js +52 -0
  9. package/assets/B-1_xSqUFCJ6jNjn.js +9109 -0
  10. package/assets/B-jE7tAMA559MtNt.js +37 -0
  11. package/assets/B5xHa5bjZu5ONrm5.js +638 -0
  12. package/assets/B66aeGYrHLbGpuN9.js +9137 -0
  13. package/assets/B6BP5l2qmeZhqVV7.js +7 -0
  14. package/assets/B6b9ytNrHR-ijcOa.js +30 -0
  15. package/assets/B9QlqO6n3MCBsvoj.js +504 -0
  16. package/assets/B9qiPx_BXxo1jgcx.js +2368 -0
  17. package/assets/B9w1dNK8pNq-Z1P3.js +142 -0
  18. package/assets/BDZ1FGc1zFqO1nK7.js +4036 -0
  19. package/assets/BFwNQZVRnbNt-gRJ.js +2260 -0
  20. package/assets/BMnNvUCJu35tT_aO.js +19 -0
  21. package/assets/BNfBq8Eic3Cl-f6A.js +184 -0
  22. package/assets/BOF64A2D2KKcv_fo.js +15 -0
  23. package/assets/BOcWUnxWSG1d5Ljc.js +447 -0
  24. package/assets/BW8XjynUqlfvuQUV.js +37 -0
  25. package/assets/BWsXOU_jh_cA8m8I.js +12 -0
  26. package/assets/BXC6616BWEWNZ2-D.js +63 -0
  27. package/assets/BYtBi8vLoB41QkV8.js +656 -0
  28. package/assets/B_-VPqfsse8AlCTm.js +81 -0
  29. package/assets/BiAEoWSl8c6jcUnS.js +28 -0
  30. package/assets/BkBCkgPNrFR5N9fo.js +19 -0
  31. package/assets/BmxgDCZk_aMDms4i.js +639 -0
  32. package/assets/BoTScfjgygCozDVi.js +23 -0
  33. package/assets/BwisWvPpXRhyIP4O.js +15 -0
  34. package/assets/ByziR0Anm39Bw0Bc.js +1556 -0
  35. package/assets/C-5LlJ5qhC7Ef0gV.js +12996 -0
  36. package/assets/C-CNmTrzNS-ZlQ8j.js +1760 -0
  37. package/assets/C1rIlmARlinuie5E.js +45 -0
  38. package/assets/C1w8NQeox7_92swz.js +35 -0
  39. package/assets/C2Rgsb69SnMOohGt.js +23 -0
  40. package/assets/C55MTJ_5qW94RElE.js +7514 -0
  41. package/assets/CBNNl8igIyeHY4St.js +780 -0
  42. package/assets/CDGeuGB9CBXeCIm6.js +12 -0
  43. package/assets/CH9M37mRwnS0t9wM.js +104 -0
  44. package/assets/CHHJZPAuM3OjbzF6.js +402 -0
  45. package/assets/CMTDUipnLiOj5pbe.js +610 -0
  46. package/assets/COFze3jkZDQRSij9.js +4437 -0
  47. package/assets/CPDkdp0yI4DwUHGZ.js +119 -0
  48. package/assets/CULV-2mwmqYYpAjM.js +119 -0
  49. package/assets/CVFTQ0OwsUt03r4o.js +146 -0
  50. package/assets/CXM1IYmE-TDInPwr.js +118 -0
  51. package/assets/CcLPa6zB5PH3OG2O.js +10289 -0
  52. package/assets/CdF5MxGnISAZ41oQ.js +359 -0
  53. package/assets/CeDqeFLuUfN8UIGx.js +17 -0
  54. package/assets/CfiVUfpeONJ3rf31.js +28 -0
  55. package/assets/Cfvhcua4c6onouhP.js +14 -0
  56. package/assets/CgjR_TiVOcuxg5tO.js +16 -0
  57. package/assets/CjwzOAnab_dpAqiG.js +144 -0
  58. package/assets/Cm3Q_-DDdnVHRBxr.js +351 -0
  59. package/assets/CpOhY88x6AgVxvTz.js +49 -0
  60. package/assets/CtpcYuBFU6fxsUhs.js +71 -0
  61. package/assets/CutEBbZl8oFbTlXZ.js +171 -0
  62. package/assets/CwJyw5Yxpj4PGh14.js +28 -0
  63. package/assets/CwdOInoJwCxXnhog.js +7 -0
  64. package/assets/D2_T0KSaye0ncjQa.js +6294 -0
  65. package/assets/D2w3KjYuONW1G1kX.js +86 -0
  66. package/assets/D3BAmD-1AfFtHdC6.js +242 -0
  67. package/assets/D81iH5MJJfq2t9FP.js +32 -0
  68. package/assets/D94hlZEaHtGHdN_K.js +202 -0
  69. package/assets/DBFXsbIHDxbMBrzV.js +319 -0
  70. package/assets/DCHsM8bfVisYJFTT.js +1783 -0
  71. package/assets/DIy1659Yv5-fD69E.js +123 -0
  72. package/assets/DK0VM9-qrEXBm8Ud.js +223 -0
  73. package/assets/DPazQ_nZv-sXUwO3.js +45 -0
  74. package/assets/DSSrCrejjpWoszj7.js +33 -0
  75. package/assets/DTlvhtB9hvPdbdxu.js +60493 -0
  76. package/assets/DUUt1z6Y_cpxEpYY.js +24 -0
  77. package/assets/DUYoUViqY5U6uQX3.js +18 -0
  78. package/assets/DUzaW_op2vBTwOOI.js +18 -0
  79. package/assets/DWTpPijG5yeNFR0W.js +14 -0
  80. package/assets/DZRp3_yqPS6Lshho.js +32 -0
  81. package/assets/DZZ5R3msiytVNCqK.js +199 -0
  82. package/assets/Df2IAW-O7Gwl7V1l.js +7 -0
  83. package/assets/Dfd7kvLIFNqu-m-r.js +51 -0
  84. package/assets/Dg7xy50qHwqkYd4g.js +1135 -0
  85. package/assets/DihigEGfNCLR8UPN.js +8 -0
  86. package/assets/DkFK1iu4vqjLZMja.js +3011 -0
  87. package/assets/DkPXpv81Y5teMd-R.js +20 -0
  88. package/assets/Dl87mJoXDkCkzBi7.js +3917 -0
  89. package/assets/DnmjS548g7nY6EUS.js +1860 -0
  90. package/assets/DoIU_ohoCBwTZV9G.js +310 -0
  91. package/assets/Doqy_uDSQTCv6a6X.js +35 -0
  92. package/assets/DpGuA6U12gwyGHEM.js +369 -0
  93. package/assets/DuZ6DXQGttY3Lrhd.js +5220 -0
  94. package/assets/Du_JrYiYGJo5_B9H.js +12 -0
  95. package/assets/DvD_K4M5HgJ4uJ8L.js +7 -0
  96. package/assets/EeSGsbh_r4N-qs4w.js +96 -0
  97. package/assets/GnXTzeDYWWeEf5yV.js +55 -0
  98. package/assets/HKLw8b2xTdu5c1w5.js +63 -0
  99. package/assets/KpCEdfpsHnfkyqjx.js +37 -0
  100. package/assets/OU7gC5JF-lyDOOid.js +27 -0
  101. package/assets/PRSerWiAGYu8MVnd.js +304 -0
  102. package/assets/PmooYGqWqoTxPExF.js +449 -0
  103. package/assets/QXKcNTuZqOauSidr.js +58 -0
  104. package/assets/ThqyayHHaBxzfaAt.js +255 -0
  105. package/assets/TzsPqmpG77I4ewVt.js +173 -0
  106. package/assets/UX2ywz3gr7q-MlHr.js +105 -0
  107. package/assets/W-MzzQHZuRxr8adc.js +2346 -0
  108. package/assets/ZBYHyJs7CQgnnHfR.js +362 -0
  109. package/assets/ZTEO4JX22YIOkrJg.js +8338 -0
  110. package/assets/a7BoASyT8yQZY9hJ.js +22 -0
  111. package/assets/aqguaobnu61szXWM.js +22 -0
  112. package/assets/cdIvC9t9tYtVn4nc.js +405 -0
  113. package/assets/cv7k-VAIJtYeL9k4.js +23 -0
  114. package/assets/ddJqSu7gXUkXjGxZ.js +13 -0
  115. package/assets/eHAVGCUcMAfNjEGt.js +7 -0
  116. package/assets/hRLLK6I6m0uGKWo8.js +32 -0
  117. package/assets/mcFLzsOH35mvmd3C.js +145 -0
  118. package/assets/st-UQngeBG4hwKoy.js +47 -0
  119. package/assets/w8YWSMNTTn45ImnB.js +857 -0
  120. package/assets/yNiBIhsMP9BCWd67.js +28 -0
  121. package/assets/zu-72oKE_gCkrozc.js +540 -0
  122. package/index.js +8070 -0
  123. package/lib.js +7 -0
  124. package/licenses/dependencies.txt +1552 -0
  125. package/package.json +44 -3
  126. package/resources/contents.json +333 -0
  127. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
  128. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
  129. package/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
  130. package/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
  131. package/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
  132. package/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
  133. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
  134. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
  135. package/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
  136. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
  137. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
  138. package/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
  139. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
  140. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
  141. package/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
  142. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
  143. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
  144. package/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
  145. package/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
  146. package/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
  147. package/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
  148. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
  149. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
  150. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
  151. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
  152. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
  153. package/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
  154. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
  155. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
  156. package/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
  157. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
  158. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
  159. package/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
  160. package/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
  161. package/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
  162. package/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
  163. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
  164. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
  165. package/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
  166. package/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
  167. package/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
  168. package/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
  169. package/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
  170. package/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
  171. package/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
  172. package/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
  173. package/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
  174. package/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
  175. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
  176. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
  177. package/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
  178. package/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
  179. package/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
  180. package/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
  181. package/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
  182. package/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
  183. package/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
  184. package/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
  185. package/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
  186. package/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
  187. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
  188. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
  189. package/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
  190. package/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
  191. package/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
  192. package/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
  193. package/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
  194. package/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
  195. package/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
  196. package/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
  197. package/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
  198. package/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
  199. package/resources/fonts/@sheetxl/sdk/contents.json +646 -0
  200. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
  201. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
  202. package/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
  203. package/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
  204. package/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
  205. package/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
  206. package/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
  207. package/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
  208. package/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
  209. package/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
  210. package/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
  211. package/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
  212. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
  213. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
  214. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
  215. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
  216. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
  217. package/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
  218. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
  219. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
  220. package/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
  221. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
  222. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
  223. package/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
  224. package/resources/locales/@sheetxl/formulas/contents.json +9 -0
  225. package/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
  226. package/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
  227. package/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
  228. package/resources/locales/@sheetxl/sdk/contents.json +19 -0
  229. package/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
  230. package/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
  231. package/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
  232. package/screenshot-page/assets/-cpi3yOZYn6GsYN4.js +9 -0
  233. package/screenshot-page/assets/-i_fTASJeu9NdNH_.js +7 -0
  234. package/screenshot-page/assets/04d8koPx6lzeMYRQ.js +39 -0
  235. package/screenshot-page/assets/0MTaPYjKud2Q9QG9.js +1 -0
  236. package/screenshot-page/assets/21oAESJyBGXeHegm.js +2 -0
  237. package/screenshot-page/assets/3Ls_kOvlQseMV8Q0.js +1 -0
  238. package/screenshot-page/assets/4qZpl2QCzneWdmJO.js +1 -0
  239. package/screenshot-page/assets/6IEV7KeOEbBdrthj.js +1 -0
  240. package/screenshot-page/assets/8QrkTrKHDnMBb7q4.js +1 -0
  241. package/screenshot-page/assets/9w0ECZmzGUyk3F_O.js +1 -0
  242. package/screenshot-page/assets/AjS2PipZDIH3BXB2.js +1 -0
  243. package/screenshot-page/assets/B-KIwD5F_5S-NsPg.js +1 -0
  244. package/screenshot-page/assets/B-sAzW5ROrhvMGM4.js +1 -0
  245. package/screenshot-page/assets/B0FQypGas6gbGT_U.js +1 -0
  246. package/screenshot-page/assets/B2IQMVqTZT1rUnib.js +1 -0
  247. package/screenshot-page/assets/B2g3jiFIQ4Qjh5gG.js +1 -0
  248. package/screenshot-page/assets/B4PbXdzBe9BsoZ0e.js +2 -0
  249. package/screenshot-page/assets/B5GO9v4p9L70Xb9i.js +1 -0
  250. package/screenshot-page/assets/B8y_eLNCGnXLEIaE.js +1 -0
  251. package/screenshot-page/assets/BCl5buf87xUgIfEB.js +2 -0
  252. package/screenshot-page/assets/BEuMvXYIa9A1JacY.js +1 -0
  253. package/screenshot-page/assets/BEwl-ucV9Jfr0RoC.js +1 -0
  254. package/screenshot-page/assets/BFaiQZKle44Rhyou.js +1 -0
  255. package/screenshot-page/assets/BHqg55S-4_OoAu3P.js +2 -0
  256. package/screenshot-page/assets/BNgLvS2bLOYKRguv.js +1 -0
  257. package/screenshot-page/assets/BQAN82ftWBiLJT3r.js +1 -0
  258. package/screenshot-page/assets/BQfe-XTIOGeUnD9B.js +1 -0
  259. package/screenshot-page/assets/BQnELVV0uR4T4ItQ.js +1 -0
  260. package/screenshot-page/assets/BRVZJ0OGJg9XJro6.js +1 -0
  261. package/screenshot-page/assets/BRqSWCr2mTVNFquQ.js +1 -0
  262. package/screenshot-page/assets/BTOQaSn9DDyJPUlX.js +1 -0
  263. package/screenshot-page/assets/BUGXf2DEBog16Slb.js +2 -0
  264. package/screenshot-page/assets/BUjI304IvdJnFXH3.js +1 -0
  265. package/screenshot-page/assets/BYRwTzX1q407lHUS.js +2 -0
  266. package/screenshot-page/assets/Baz0SC2AgGyxMX72.js +1 -0
  267. package/screenshot-page/assets/BbP9KThfrodyosvn.js +1 -0
  268. package/screenshot-page/assets/BcOdl17EeFSxnAiq.js +1 -0
  269. package/screenshot-page/assets/BclKeOKIOBjijhsu.js +1 -0
  270. package/screenshot-page/assets/Bf7xq8PyF4ohjMzP.js +2 -0
  271. package/screenshot-page/assets/BimyzECCZl-NESff.js +1 -0
  272. package/screenshot-page/assets/BkLH7JH3A93TXFJi.js +1 -0
  273. package/screenshot-page/assets/BksaQEoZr5OWq-_d.js +3 -0
  274. package/screenshot-page/assets/Bor_tayB4yBfNOH5.js +2 -0
  275. package/screenshot-page/assets/BowRIybLgENunTOT.js +1 -0
  276. package/screenshot-page/assets/Bp7se0JaDGrzfSA_.js +1 -0
  277. package/screenshot-page/assets/Bwql3QifB2cv7Mqp.js +3 -0
  278. package/screenshot-page/assets/Bx61vmiWY0Xvx9qs.js +1 -0
  279. package/screenshot-page/assets/ByY3fmwyDPAyOLdo.js +1 -0
  280. package/screenshot-page/assets/Bz2U7weS0spa8Xbh.js +1 -0
  281. package/screenshot-page/assets/Bz5V1tmiy5gbT9ys.js +1 -0
  282. package/screenshot-page/assets/Bz9v1lgjvbu4QnOs.js +2 -0
  283. package/screenshot-page/assets/C1k_VrZqlpiUigCP.js +1 -0
  284. package/screenshot-page/assets/C2Wh2h27c7FUb8Yk.js +1 -0
  285. package/screenshot-page/assets/C6oLDVnuCS9LGkkH.js +1 -0
  286. package/screenshot-page/assets/C81mK8aZKZAAS-AB.js +1 -0
  287. package/screenshot-page/assets/C9SC-cEIt6gdhZRw.js +1 -0
  288. package/screenshot-page/assets/CE0MnsfMjqV2ICzk.js +57 -0
  289. package/screenshot-page/assets/CE8MCCIiwjOVwBBW.js +1 -0
  290. package/screenshot-page/assets/CFOaI8g7pJuPzsyk.js +1 -0
  291. package/screenshot-page/assets/CG3ynup87FmG-kkX.js +1 -0
  292. package/screenshot-page/assets/CHlWgOAlcRCjVuhg.js +1 -0
  293. package/screenshot-page/assets/CIged53b3hHKxa-o.js +1 -0
  294. package/screenshot-page/assets/CNQczIR5xcE5u5fT.js +1 -0
  295. package/screenshot-page/assets/CSUd8n1H0VBfREnk.js +2 -0
  296. package/screenshot-page/assets/CSlBTkRDITCC8JRB.js +1 -0
  297. package/screenshot-page/assets/CV2jr9hpQOG2OG0C.js +1 -0
  298. package/screenshot-page/assets/CXGgKVbVXjWzE0p6.js +1 -0
  299. package/screenshot-page/assets/CXKCmZ_TRyGaB9Ob.js +1 -0
  300. package/screenshot-page/assets/CXUO3vYip3JPSJ7A.js +1 -0
  301. package/screenshot-page/assets/CXwbGzavyvYgDbWU.js +1 -0
  302. package/screenshot-page/assets/CZf9s6otzzoaBlSs.js +1 -0
  303. package/screenshot-page/assets/CZvwQEeVhBilgKLG.js +1 -0
  304. package/screenshot-page/assets/Ca6nxdhEuLLty3d7.js +2 -0
  305. package/screenshot-page/assets/CbUDukmvDZmVfhJH.js +1 -0
  306. package/screenshot-page/assets/CbXtAM7H-Jg_J0dk.js +1 -0
  307. package/screenshot-page/assets/CctIRGMFmARVi2KT.js +1 -0
  308. package/screenshot-page/assets/Cenh1POxiGMxIQlv.js +1 -0
  309. package/screenshot-page/assets/ChSvXfVMLxZsP9zG.js +8 -0
  310. package/screenshot-page/assets/Ci5NtzhJLll1kxGf.js +10 -0
  311. package/screenshot-page/assets/CjngjJNheGaVRvZp.js +1 -0
  312. package/screenshot-page/assets/ClzdIJrFdInttVJA.js +1 -0
  313. package/screenshot-page/assets/CnPgk3HcIziOcskY.js +10 -0
  314. package/screenshot-page/assets/CnXLpFE_vFrJ5Jbf.js +1 -0
  315. package/screenshot-page/assets/CnZJ44ncMxZ4ivcB.js +586 -0
  316. package/screenshot-page/assets/CpbohdgEaEsVDi9J.js +1 -0
  317. package/screenshot-page/assets/CqR3hGrC956TkCMj.js +20 -0
  318. package/screenshot-page/assets/Cr1tQKUBVKOQl3QC.js +1 -0
  319. package/screenshot-page/assets/Cv8FG9PPBkkPw86e.js +1 -0
  320. package/screenshot-page/assets/CvL9XK3Ht1mP-rGz.js +4 -0
  321. package/screenshot-page/assets/CykecBozGGFl26KA.js +3940 -0
  322. package/screenshot-page/assets/CzTizxHhb-CI_ajE.js +1 -0
  323. package/screenshot-page/assets/CzzEl3lAkZopkwhC.js +1 -0
  324. package/screenshot-page/assets/D-LgRj0s-PAVqY-L.js +1 -0
  325. package/screenshot-page/assets/D-XR1MGhwn7Jqj60.js +1 -0
  326. package/screenshot-page/assets/D47ePD4x1lVazNdl.js +7 -0
  327. package/screenshot-page/assets/D6Jpaz2YkhOfzxDB.js +1 -0
  328. package/screenshot-page/assets/D9zCVZpnJBfNSNO2.js +1 -0
  329. package/screenshot-page/assets/DDQWM8rNYCYzKa9R.js +1 -0
  330. package/screenshot-page/assets/DDpAoGAPzo1c4vl5.js +27 -0
  331. package/screenshot-page/assets/DGXDfjkGZjMRAXPg.js +5 -0
  332. package/screenshot-page/assets/DHa5_U58lSwCnpmG.js +1 -0
  333. package/screenshot-page/assets/DKVB6ddRfDJatYid.js +1 -0
  334. package/screenshot-page/assets/DM9U7u7FQK0jcwh4.js +1 -0
  335. package/screenshot-page/assets/DNDaHmkQrQTaCHhV.js +1 -0
  336. package/screenshot-page/assets/DQ0kGd99-fXxuNYk.js +1 -0
  337. package/screenshot-page/assets/DQWHkaQeNXft9j8b.js +2 -0
  338. package/screenshot-page/assets/DRVfGdmVBvktrZ1t.js +1 -0
  339. package/screenshot-page/assets/DRrM-dY9nM7nDRpV.js +1 -0
  340. package/screenshot-page/assets/DT2x1gO3f2G5NfeB.js +1 -0
  341. package/screenshot-page/assets/DU3FmyUH0RjPIBd-.js +1 -0
  342. package/screenshot-page/assets/DUJzubL4qqOyizfu.js +1 -0
  343. package/screenshot-page/assets/DVueE--eOrZPrqrm.js +1 -0
  344. package/screenshot-page/assets/DWiI5I3RtoKvVT66.js +1 -0
  345. package/screenshot-page/assets/DYJSIlNxrNw8qk-w.js +1 -0
  346. package/screenshot-page/assets/DYRbCudWTaiE_Sjc.js +1 -0
  347. package/screenshot-page/assets/DZDRRw-62D6Zw7qs.js +1 -0
  348. package/screenshot-page/assets/D_H2dlsQ8PJ0r1WD.js +10 -0
  349. package/screenshot-page/assets/DaKZ4-Li_ULIIwnK.js +1 -0
  350. package/screenshot-page/assets/DadZXeaVK5UXSHIi.js +1 -0
  351. package/screenshot-page/assets/Db_VGqQo2G2JgXWW.js +1 -0
  352. package/screenshot-page/assets/DceNHPrRLok2At-X.js +1 -0
  353. package/screenshot-page/assets/DcrVJCyDwGKeil2U.js +1 -0
  354. package/screenshot-page/assets/DeAKjatTVaZ0u_FY.js +1 -0
  355. package/screenshot-page/assets/DmMZ4pd492HPw_3_.js +1 -0
  356. package/screenshot-page/assets/DmbuCapSSCYIa3yk.js +1 -0
  357. package/screenshot-page/assets/Dpepompn_NhpSncR.js +1 -0
  358. package/screenshot-page/assets/DqM1wwsmN1J4MXMm.js +1 -0
  359. package/screenshot-page/assets/DqYhS4mcQfOe96hU.js +1 -0
  360. package/screenshot-page/assets/DsL71n5SxCVjL6Ho.js +2 -0
  361. package/screenshot-page/assets/DyGpT6t96jrvgJes.js +1 -0
  362. package/screenshot-page/assets/DyLWQxXXTw5uwPVy.js +30 -0
  363. package/screenshot-page/assets/DyYVf8O1rhg3YmjW.js +1 -0
  364. package/screenshot-page/assets/DyxJBLjUkeDuu96F.js +1 -0
  365. package/screenshot-page/assets/DzZRUd0p22CBa27b.js +1 -0
  366. package/screenshot-page/assets/HclGiUj8dZXDFmoM.js +1 -0
  367. package/screenshot-page/assets/IRtoU5oVgBWu9rnK.js +2 -0
  368. package/screenshot-page/assets/IfF7Tv-nhz6Ikpn0.js +1 -0
  369. package/screenshot-page/assets/J73KTOmdZGNmnq-z.js +1 -0
  370. package/screenshot-page/assets/J_xJVgE7YlmeU-ZO.js +6 -0
  371. package/screenshot-page/assets/KoxRo2J_cwB_yOd5.js +2 -0
  372. package/screenshot-page/assets/LVtV_IPhPQroHRui.js +1 -0
  373. package/screenshot-page/assets/MNoPOsydrUv1UGU8.js +2 -0
  374. package/screenshot-page/assets/Miyn0clMq0rovRIo.js +1 -0
  375. package/screenshot-page/assets/Rm5Sf5E6t8bk_Y3r.js +1 -0
  376. package/screenshot-page/assets/b3AbgxQkoaCiBi15.js +1 -0
  377. package/screenshot-page/assets/fGlPAximvsxzPzGA.js +1 -0
  378. package/screenshot-page/assets/gG0AFZ45VxS_moMw.js +2 -0
  379. package/screenshot-page/assets/nHThFXCAZFOM_npq.js +1 -0
  380. package/screenshot-page/assets/pRykm05ElquZBk_a.js +1 -0
  381. package/screenshot-page/assets/qm3VY0bH7F7EgSdi.js +2 -0
  382. package/screenshot-page/assets/rPOkVKdPbFpTG6AY.js +1 -0
  383. package/screenshot-page/assets/w3bV7wggRayUYTd-.js +1 -0
  384. package/screenshot-page/assets/zFbb8ESzwR_bE7IQ.js +1 -0
  385. package/screenshot-page/assets/zHHZFbk5RXnrxbOc.js +42 -0
  386. package/screenshot-page/index.html +44 -0
  387. package/screenshot-page/resources/contents.json +333 -0
  388. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.hinted.json +125 -0
  389. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.metrics.json +221 -0
  390. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold-italic.rows.json +8 -0
  391. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.hinted.json +125 -0
  392. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.metrics.json +221 -0
  393. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-bold.rows.json +8 -0
  394. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.hinted.json +125 -0
  395. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.metrics.json +221 -0
  396. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold-italic.rows.json +8 -0
  397. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.hinted.json +125 -0
  398. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.metrics.json +221 -0
  399. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-bold.rows.json +8 -0
  400. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.hinted.json +124 -0
  401. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.metrics.json +221 -0
  402. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-italic.rows.json +8 -0
  403. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.hinted.json +125 -0
  404. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.metrics.json +221 -0
  405. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-display-regular.rows.json +8 -0
  406. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.hinted.json +125 -0
  407. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.metrics.json +221 -0
  408. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-italic.rows.json +8 -0
  409. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.hinted.json +125 -0
  410. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.metrics.json +221 -0
  411. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold-italic.rows.json +8 -0
  412. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.hinted.json +125 -0
  413. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.metrics.json +221 -0
  414. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-bold.rows.json +8 -0
  415. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.hinted.json +125 -0
  416. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.metrics.json +221 -0
  417. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-italic.rows.json +8 -0
  418. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.hinted.json +125 -0
  419. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.metrics.json +221 -0
  420. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-narrow-regular.rows.json +8 -0
  421. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.hinted.json +125 -0
  422. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.metrics.json +221 -0
  423. package/screenshot-page/resources/fonts/@sheetxl/sdk/aptos-regular.rows.json +8 -0
  424. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.hinted.json +125 -0
  425. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.metrics.json +139 -0
  426. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold-italic.rows.json +8 -0
  427. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.hinted.json +125 -0
  428. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.metrics.json +139 -0
  429. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-bold.rows.json +8 -0
  430. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.hinted.json +125 -0
  431. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.metrics.json +139 -0
  432. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-italic.rows.json +8 -0
  433. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.hinted.json +125 -0
  434. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.metrics.json +139 -0
  435. package/screenshot-page/resources/fonts/@sheetxl/sdk/arial-regular.rows.json +8 -0
  436. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.hinted.json +122 -0
  437. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.metrics.json +137 -0
  438. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold-italic.rows.json +8 -0
  439. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.hinted.json +122 -0
  440. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.metrics.json +137 -0
  441. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-bold.rows.json +8 -0
  442. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.hinted.json +121 -0
  443. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.metrics.json +137 -0
  444. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-italic.rows.json +8 -0
  445. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.hinted.json +121 -0
  446. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.metrics.json +137 -0
  447. package/screenshot-page/resources/fonts/@sheetxl/sdk/calibri-regular.rows.json +8 -0
  448. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.hinted.json +105 -0
  449. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.metrics.json +66 -0
  450. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold-italic.rows.json +8 -0
  451. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.hinted.json +108 -0
  452. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.metrics.json +66 -0
  453. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-bold.rows.json +8 -0
  454. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.hinted.json +102 -0
  455. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.metrics.json +66 -0
  456. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-italic.rows.json +8 -0
  457. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.hinted.json +110 -0
  458. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.metrics.json +66 -0
  459. package/screenshot-page/resources/fonts/@sheetxl/sdk/cambria-regular.rows.json +8 -0
  460. package/screenshot-page/resources/fonts/@sheetxl/sdk/contents.json +646 -0
  461. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.hinted.json +11 -0
  462. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.metrics.json +143 -0
  463. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold-italic.rows.json +8 -0
  464. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.hinted.json +11 -0
  465. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.metrics.json +143 -0
  466. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-bold.rows.json +8 -0
  467. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.hinted.json +11 -0
  468. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.metrics.json +143 -0
  469. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-italic.rows.json +8 -0
  470. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.hinted.json +11 -0
  471. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.metrics.json +143 -0
  472. package/screenshot-page/resources/fonts/@sheetxl/sdk/courier-new-regular.rows.json +8 -0
  473. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.hinted.json +125 -0
  474. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.metrics.json +141 -0
  475. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold-italic.rows.json +8 -0
  476. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.hinted.json +125 -0
  477. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.metrics.json +141 -0
  478. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-bold.rows.json +8 -0
  479. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.hinted.json +125 -0
  480. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.metrics.json +143 -0
  481. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-italic.rows.json +8 -0
  482. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.hinted.json +125 -0
  483. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.metrics.json +141 -0
  484. package/screenshot-page/resources/fonts/@sheetxl/sdk/times-new-roman-regular.rows.json +8 -0
  485. package/screenshot-page/resources/locales/@sheetxl/formulas/contents.json +9 -0
  486. package/screenshot-page/resources/locales/@sheetxl/formulas/de/functions.json +298 -0
  487. package/screenshot-page/resources/locales/@sheetxl/formulas-extended/contents.json +9 -0
  488. package/screenshot-page/resources/locales/@sheetxl/formulas-extended/de/functions.json +59 -0
  489. package/screenshot-page/resources/locales/@sheetxl/sdk/contents.json +19 -0
  490. package/screenshot-page/resources/locales/@sheetxl/sdk/de/grammar.json +16 -0
  491. package/screenshot-page/resources/locales/@sheetxl/sdk/de/model.msg.json +710 -0
  492. package/screenshot-page/resources/locales/@sheetxl/sdk/en/model.msg.json +732 -0
  493. package/types/index.d.ts +1 -0
  494. package/types/lib.d.ts +2 -0
  495. package/types/scripting-api.json +10855 -0
  496. package/types/scripting-enums.json +1339 -0
  497. package/types/scripting.d.ts +49295 -0
  498. package/types/src/SessionRegistry.d.ts +630 -0
  499. package/types/src/index.d.ts +3 -0
  500. package/types/src/instances.d.ts +104 -0
  501. package/types/src/lib/Types.d.ts +17 -0
  502. package/types/src/lib/index.d.ts +2 -0
  503. package/types/src/lib/runReport.d.ts +158 -0
  504. package/types/src/lib.d.ts +2 -0
  505. package/types/src/prepareRun.d.ts +56 -0
  506. package/types/src/relay.d.ts +102 -0
  507. package/types/src/screenshot.d.ts +23 -0
  508. package/types/src/server.d.ts +37 -0
  509. package/types/src/taskStore.d.ts +28 -0
@@ -0,0 +1,104 @@
1
+ import { ToolLogRecord } from '@sheetxl/utils-node';
2
+ export interface InstanceRecord {
3
+ /** The instance token, matching the one embedded in this process's sandbox ids. */
4
+ readonly instance: string;
5
+ readonly pid: number;
6
+ /** The process that launched this server — the MCP client session. Absent on older records. */
7
+ readonly ppid?: number;
8
+ /** ISO 8601. */
9
+ readonly startedAt: string;
10
+ readonly workspace: string;
11
+ /** The tool log this process appends to, when logging is on — where its crashed calls are written. */
12
+ readonly logPath?: string;
13
+ }
14
+ export interface InstanceCensus {
15
+ /** The workspace this census was taken for — what {@link liveSiblings} re-asks about. */
16
+ readonly workspace: string;
17
+ /**
18
+ * Other LIVE servers for this workspace AT STARTUP — other client sessions, a duplicate
19
+ * registration ({@link isSameClient}), or a predecessor still exiting when this one started. A
20
+ * snapshot: anything reported later asks {@link liveSiblings} instead.
21
+ */
22
+ readonly siblings: readonly InstanceRecord[];
23
+ /** The most recent dead predecessor for this workspace, if it ran recently enough to matter. */
24
+ readonly replaced: InstanceRecord | null;
25
+ /** The calls {@link replaced} was running when it died — empty when it was not mid-call. */
26
+ readonly crashedCalls: readonly ToolLogRecord[];
27
+ }
28
+ /** `12s` / `4m` / `2h` — an age, for a report that must date itself rather than read as timeless. */
29
+ export declare function ago(from: Date): string;
30
+ /**
31
+ * Record this process and report what it found: live siblings, and the instance it replaced.
32
+ *
33
+ * @remarks
34
+ * **There is deliberately no matching `unregister`.** A record is removed by the NEXT start, not by
35
+ * its own exit, for two reasons: a killed extension host never runs an exit handler — which is
36
+ * exactly the abrupt restart worth reporting — and deleting on a graceful shutdown would erase the
37
+ * evidence that a restart happened at all, making the tidy case the one that reports nothing. Dead
38
+ * records cost one `kill(pid, 0)` each and are pruned here, with their calls markers: a call still
39
+ * marked is written to the dead process's tool log as `crashed`, whatever its workspace.
40
+ *
41
+ * Synchronous: it runs once, before the transport connects.
42
+ *
43
+ * @param logPath The tool log this process appends to, if logging is on.
44
+ */
45
+ export declare function registerInstance(instance: string, workspace: string, startedAt: Date, logPath?: string | null): InstanceCensus;
46
+ /**
47
+ * Marks a call as running until the returned function is called — on its answer, or its failure.
48
+ *
49
+ * @remarks
50
+ * Written synchronously, before the call starts, because a server that runs out of memory dies
51
+ * inside the call: an async write queued at its start is still queued when the process goes. What
52
+ * a successor finds in the marker is the call that never returned ({@link registerInstance}).
53
+ *
54
+ * @param record The call as the tool log would record it, without its outcome.
55
+ */
56
+ export declare function beginCall(record: ToolLogRecord): () => void;
57
+ /**
58
+ * The other servers for `workspace` that are alive NOW.
59
+ *
60
+ * @remarks
61
+ * The startup census cannot answer this for long. A server started while its predecessor is still
62
+ * exiting — the normal shape of a VS Code restart — sees that predecessor as a live sibling, and a
63
+ * snapshot would go on reporting two servers long after it is gone. A sibling started AFTER this one
64
+ * is in no snapshot at all. So a report re-reads the directory, the same way startup does.
65
+ *
66
+ * Read-only: dead records are left for the next start to prune, because to it they are the evidence
67
+ * of a restart (see {@link registerInstance}).
68
+ */
69
+ export declare function liveSiblings(workspace: string): InstanceRecord[];
70
+ /**
71
+ * Whether a sibling was launched by the same client session as this process — a duplicate
72
+ * registration rather than a second chat.
73
+ *
74
+ * @remarks
75
+ * Judged by parent pid. A client that launches the server through a wrapper (`npx`, `cmd /c`) gives
76
+ * each copy its own parent, so a duplicate behind a wrapper reads as two sessions and goes
77
+ * unreported. That is the cheaper mistake: the alternative warned about every second chat, which is
78
+ * the common case and needs no fix. A record without a `ppid` predates it and is not judged.
79
+ */
80
+ export declare function isSameClient(record: InstanceRecord): boolean;
81
+ /**
82
+ * `census` as it stands NOW: siblings re-read with {@link liveSiblings}, and a startup sibling that
83
+ * has since exited counted as the instance this one replaced.
84
+ *
85
+ * @remarks
86
+ * A predecessor still exiting when this server started is a sibling to the startup census, not a
87
+ * replaced instance — startup only reads replacement from a DEAD record. Once it is gone it is
88
+ * exactly the restart the agent needs to hear about, and dropping it from the siblings alone would
89
+ * report nothing at all. Matched on `instance`, not pid: a recycled pid is a different server.
90
+ */
91
+ export declare function recount(census: InstanceCensus): InstanceCensus;
92
+ /**
93
+ * The one-shot notice for the first tool call of this process, or `null` when there is nothing an
94
+ * agent needs to un-believe.
95
+ *
96
+ * @remarks
97
+ * Phrased as *what is now false*, not as *what happened*: an agent resuming a conversation across a
98
+ * restart does not need an event log, it needs to know which of the ids and answers it is holding
99
+ * have stopped being true. It rides a tool RESULT rather than the handshake because a resumed
100
+ * conversation replays as [instructions][old turns][now] — a warning in the instructions sits
101
+ * before the beliefs it is meant to correct, and is read as older than they are.
102
+ */
103
+ export declare function staleStateNotice(census: InstanceCensus, startedAt: Date): string | null;
104
+ //# sourceMappingURL=instances.d.ts.map
@@ -0,0 +1,17 @@
1
+ export interface McpRequestPayload {
2
+ id: string;
3
+ /**
4
+ * The relay command vocabulary (mirrored in the extension's `src/shared/protocol.ts` — edit
5
+ * both). `tool` executes a `TOOLS` descriptor by name; `rangeSelect` is host-initiated only
6
+ * (the `vscode://…/select` deep link) — no MCP tool drives it.
7
+ */
8
+ cmd: 'tool' | 'rangeSelect' | 'run' | 'revert' | 'restore' | 'listCommits' | 'serialize' | 'highlight' | 'prompt';
9
+ args?: Record<string, string>;
10
+ workbookId?: string;
11
+ }
12
+ export interface McpResponsePayload {
13
+ id: string;
14
+ result?: unknown;
15
+ error?: string;
16
+ }
17
+ //# sourceMappingURL=Types.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './Types.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1,158 @@
1
+ import { z } from 'zod';
2
+ import { ScriptingApi } from '@sheetxl/sdk';
3
+ import { RunDelta } from '@sheetxl/query';
4
+ /**
5
+ * A minimal, valid starting-point macro embedded in the `macro_run` tool description so every agent
6
+ * has a correct template to copy. Conventions it demonstrates:
7
+ * - a NAMED `export default` entry (anonymous trips SXL1002),
8
+ * - ONE parameter, the runtime context (`ctx: SheetXL.IScript.ScriptContext`), with the workbook
9
+ * reached through `ctx.wb`. This is the portable signature: the identical entry also runs as a
10
+ * CLI script, where the runner passes its own context. NB: ScriptContext is nested under IScript,
11
+ * so `SheetXL.ScriptContext` is NOT valid.
12
+ * - the SheetXL API is ambient (auto-imported `SheetXL` namespace; no `import` needed),
13
+ * - read via the workbook API, write output via `ctx.log`.
14
+ *
15
+ * The older target-first form (`(workbook: SheetXL.IWorkbook, ctx: …)`) remains valid — a macro may
16
+ * still ask for the selected sheet or range as its first parameter.
17
+ *
18
+ * Covered by a test (`runReport.test.ts`) so this template is guaranteed to compile + run.
19
+ */
20
+ export declare const EXAMPLE_SCRIPT = "/** Reads A1 and logs its value. */\nexport default function main(ctx: SheetXL.IScript.ScriptContext): void {\n const value = ctx.wb.getWorksheet().getRange('A1').getValue();\n ctx.log(`A1 = ${value}`);\n}\n";
21
+ /**
22
+ * One positioned diagnostic in a {@link runOutputShape} report. Offsets from the compiler are
23
+ * resolved to 1-based line/column against the submitted source so the agent can pinpoint the fix.
24
+ */
25
+ export declare const runDiagnosticShape: {
26
+ severity: z.ZodEnum<{
27
+ error: "error";
28
+ warning: "warning";
29
+ }>;
30
+ code: z.ZodString;
31
+ line: z.ZodNumber;
32
+ column: z.ZodNumber;
33
+ message: z.ZodString;
34
+ /** An actionable suggestion the agent can apply to resolve the diagnostic (the MCP "quick fix"). */
35
+ fix: z.ZodOptional<z.ZodString>;
36
+ };
37
+ /**
38
+ * Structured result of `run`. This is the agent's primary write path - it is intentionally
39
+ * machine-parseable AND mirrored in human-readable text. `status` tells the agent how to react:
40
+ * `compile_error` → fix the source and call again; `runtime_error` → the run threw; `ok` → done
41
+ * (use `commitId` with `session_revert`), and its `delta` says what the commit changed.
42
+ */
43
+ export declare const runOutputShape: {
44
+ status: z.ZodEnum<{
45
+ ok: "ok";
46
+ compile_error: "compile_error";
47
+ runtime_error: "runtime_error";
48
+ drift: "drift";
49
+ }>;
50
+ /** How the source ran — decided by the code itself (default export = script), reported so the inference stays observable. */
51
+ form: z.ZodOptional<z.ZodEnum<{
52
+ snippet: "snippet";
53
+ script: "script";
54
+ }>>;
55
+ /** The session the source ran against — echoed so a write to the wrong workbook is visible. */
56
+ sessionId: z.ZodOptional<z.ZodString>;
57
+ commitId: z.ZodOptional<z.ZodString>;
58
+ result: z.ZodOptional<z.ZodUnknown>;
59
+ /** The result rendered as markdown — the final expression of a snippet, or a script's return value. */
60
+ resultMarkdown: z.ZodOptional<z.ZodString>;
61
+ logs: z.ZodOptional<z.ZodString>;
62
+ diagnostics: z.ZodOptional<z.ZodArray<z.ZodObject<{
63
+ severity: z.ZodEnum<{
64
+ error: "error";
65
+ warning: "warning";
66
+ }>;
67
+ code: z.ZodString;
68
+ line: z.ZodNumber;
69
+ column: z.ZodNumber;
70
+ message: z.ZodString;
71
+ fix: z.ZodOptional<z.ZodString>;
72
+ }, z.core.$strip>>>;
73
+ error: z.ZodOptional<z.ZodString>;
74
+ /**
75
+ * What the run's commit changed: written ranges and what they replaced, formulas with their
76
+ * results, dependents, errors, and the names, rules and charts over them (`RunDelta` from
77
+ * `@sheetxl/query`). Present on an `ok` run that wrote cells.
78
+ */
79
+ delta: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodUnknown>>;
80
+ };
81
+ /** A compiler diagnostic as it arrives on `RunResults.diagnostics` (character offset + length). */
82
+ export interface RawDiagnostic {
83
+ severity: 'error' | 'warning';
84
+ code: string;
85
+ start: number;
86
+ message: string;
87
+ }
88
+ /** The subset of `IScript.RunResults` this builder consumes. */
89
+ export interface RunResultLike {
90
+ ok: boolean;
91
+ result?: unknown;
92
+ commitId?: string;
93
+ error?: any;
94
+ /** The error's `name`, from a session that can only send the error as its message. */
95
+ errorName?: string;
96
+ diagnostics?: RawDiagnostic[];
97
+ /**
98
+ * The result rendered as markdown, produced WHERE THE RESULT LIVES — the sandbox session
99
+ * in-process, or the webview for an attended session — because a live SDK object cannot cross a
100
+ * JSON boundary and render afterwards.
101
+ */
102
+ resultMarkdown?: string;
103
+ /**
104
+ * What the run's commit changed, read where the workbook lives once the calculation settled,
105
+ * for the same reason as {@link resultMarkdown}. JSON-safe.
106
+ */
107
+ delta?: RunDelta;
108
+ /** {@link delta} as the report's lines; or, when it could not be read, why. */
109
+ deltaMarkdown?: string;
110
+ }
111
+ /** Context {@link buildRunReport} needs to attribute a run correctly. */
112
+ export interface RunReportOptions {
113
+ /** How the source ran; reported in the text so the inference is observable. */
114
+ form?: 'snippet' | 'script';
115
+ /**
116
+ * The session the run targeted, echoed on every outcome. `resolvedFrom` names the token the
117
+ * caller passed when it was not the id itself.
118
+ */
119
+ session?: {
120
+ id: string;
121
+ resolvedFrom?: string;
122
+ };
123
+ /**
124
+ * The scripting API index. Given, a member the code used and the API does not have is answered
125
+ * with the nearest ones, inline — the lookup the agent would make next.
126
+ */
127
+ api?: ScriptingApi.Index;
128
+ }
129
+ /** A positioned diagnostic in the report (1-based line/column). */
130
+ export interface RunDiagnostic {
131
+ severity: 'error' | 'warning';
132
+ code: string;
133
+ line: number;
134
+ column: number;
135
+ message: string;
136
+ fix?: string;
137
+ }
138
+ export interface RunReport {
139
+ content: {
140
+ type: 'text';
141
+ text: string;
142
+ }[];
143
+ structuredContent: Record<string, unknown>;
144
+ isError?: boolean;
145
+ [key: string]: unknown;
146
+ }
147
+ /** Resolves a character offset into 1-based line/column using the source text. */
148
+ export declare function offsetToLineCol(source: string, offset: number): {
149
+ line: number;
150
+ column: number;
151
+ };
152
+ /**
153
+ * Builds the dual (text + structured) `run` report from a {@link RunResultLike} and the
154
+ * captured logs. The payload order is the contract's: status first, diagnostics and logs in the
155
+ * middle, the result LAST.
156
+ */
157
+ export declare function buildRunReport(source: string, result: RunResultLike, logs: string, options?: RunReportOptions): RunReport;
158
+ //# sourceMappingURL=runReport.d.ts.map
@@ -0,0 +1,2 @@
1
+ export * from './lib/index.ts';
2
+ //# sourceMappingURL=lib.d.ts.map
@@ -0,0 +1,56 @@
1
+ import { IModule } from '@sheetxl/sdk';
2
+ import { Diagnostic } from '@sheetxl/scripting';
3
+ import { Snippet } from '@sheetxl/runner';
4
+ import { RunResultLike } from './lib/runReport';
5
+ /** The environment variable that sets `run`'s time limit, in seconds; `0` turns the limit off. */
6
+ export declare const RUN_TIMEOUT_ENV = "SHEETXL_RUN_TIMEOUT";
7
+ /** `run`'s time limit in ms from `SHEETXL_RUN_TIMEOUT` (seconds), or `null` when it is off. */
8
+ export declare function resolveRunTimeoutMs(value?: string | undefined): number | null;
9
+ /**
10
+ * A source prepared for execution: classified, wrapped when it is a snippet, and compiled.
11
+ *
12
+ * @remarks
13
+ * This is the MCP half of the shared snippet contract (`@sheetxl/runner`'s {@link Snippet}): the
14
+ * CLI hands the same wrapper to its module loader; here it goes through the `ScriptCompiler`,
15
+ * because both session kinds execute a compiled module — a sandbox in-process, an attended session in
16
+ * the webview (whose CSP blocks the compiler).
17
+ */
18
+ export interface PreparedRun {
19
+ /** How the source ran — decided by the code itself (default export = script), never declared. */
20
+ form: Snippet.SourceForm;
21
+ /** The compiled module, or `null` when nothing compiled (see {@link diagnostics}). */
22
+ module: IModule.JSON | null;
23
+ /**
24
+ * This compile's diagnostics, positioned in the SUBMITTED source — the one coordinate system the
25
+ * caller has. A snippet is compiled inside a generated wrapper whose statements are rewritten,
26
+ * so its offsets are translated here, once, rather than handed on for every reader to undo.
27
+ */
28
+ diagnostics: Diagnostic[];
29
+ /**
30
+ * Set only when the snippet ran without implicit await or a result value. Worth surfacing — a
31
+ * snippet quietly returning `undefined` is worse than one that failed.
32
+ */
33
+ warning?: string;
34
+ /**
35
+ * The run's stop-check key (see `RunGuard`), or `undefined` when the time limit is off. The
36
+ * caller aborts with it when the client cancels, and releases it when the run is over.
37
+ */
38
+ runKey?: string;
39
+ }
40
+ /**
41
+ * Classifies, wraps and compiles a `run` source.
42
+ *
43
+ * @remarks
44
+ * A snippet is rewritten exactly once, from its parsed top-level statements: implicit await on each,
45
+ * final expression as the result. A source that does not parse is wrapped verbatim, so the compiler
46
+ * reports the syntax error against the user's own code rather than a transform's guess at it. The
47
+ * compiler is loaded lazily, the first time a run actually happens.
48
+ */
49
+ export declare function prepareRun(source: string, timeoutMs?: number | null): Promise<PreparedRun>;
50
+ /**
51
+ * The type-check findings that explain how a run went wrong, positioned in the submitted source:
52
+ * errors for a run that threw, warnings for a snippet whose answer was `undefined`. Empty for a
53
+ * run with neither symptom, which is never checked.
54
+ */
55
+ export declare function diagnoseOutcome(source: string, result: RunResultLike): Promise<Diagnostic[]>;
56
+ //# sourceMappingURL=prepareRun.d.ts.map
@@ -0,0 +1,102 @@
1
+ import { IWorkbook, IModule } from '@sheetxl/sdk';
2
+ import { ToolLogRecord } from '@sheetxl/utils-node';
3
+ import { CommitEntry, ListCommitsOptions, SessionInfo, RunOutcome, Highlight, HighlightResult, PromptSpec, PromptResult } from './SessionRegistry.ts';
4
+ /**
5
+ * Finds the relay server, or null when no client UI is running → sandboxes only.
6
+ *
7
+ * @remarks
8
+ * Lock discovery itself lives in `@sheetxl/utils-node` (`discoverRelay`), because presence is not an
9
+ * MCP fact: `sheetxl info` reads the same locks to answer attended/unattended without a server
10
+ * in the picture. Two copies of the lock protocol would drift, and the surface that drifted
11
+ * would report "nobody is watching" while somebody was. What stays here is the protocol layered
12
+ * over the endpoint — macros, presence, prompts.
13
+ */
14
+ export declare function findRelay(): Promise<RelayClient | null>;
15
+ /**
16
+ * A prompt that ended because the editor went away, not because the user answered or dismissed it.
17
+ * Its message is written for the agent: what happened and what to do next.
18
+ */
19
+ export declare class EditorClosedError extends Error {
20
+ readonly name = "EditorClosedError";
21
+ }
22
+ /**
23
+ * Whether `err` is the relay being unreachable — Node's `fetch` rejects with a bare `TypeError:
24
+ * fetch failed` and puts the socket error on `cause`.
25
+ */
26
+ export declare function isUnreachable(err: unknown): boolean;
27
+ /**
28
+ * HTTP client for the relay running inside a client UI (the VS Code extension host). The MCP child
29
+ * process has no direct access to UI state, so attended-session operations are forwarded over HTTP to
30
+ * the relay, which owns the webview registry and routes by `workbookId` (or its active workbook).
31
+ */
32
+ export declare class RelayClient {
33
+ private readonly port;
34
+ private readonly token;
35
+ constructor(port: number, token: string);
36
+ /** The endpoint fields, for the discovery helpers in `@sheetxl/utils-node`. */
37
+ private get endpoint();
38
+ /**
39
+ * Execute a `TOOLS` descriptor (grep, …) in the webview that owns the workbook — the only place
40
+ * an attended session's live `IWorkbook` exists. `args` is JSON-encoded because the relay's args
41
+ * are string→string; the webview parses it back and resolves the descriptor by name.
42
+ */
43
+ tool(name: string, args: Record<string, unknown>, workbookId?: string): Promise<string>;
44
+ /**
45
+ * Executes an **already-compiled** macro against an attended workbook. The MCP server compiles on Node
46
+ * (the webview's CSP blocks the compiler) and ships the {@link IModule.JSON} artifact; the webview
47
+ * loads it via a `data:` URL and runs the entry as one transaction.
48
+ */
49
+ run(compiled: IModule.JSON, opts: {
50
+ description?: string;
51
+ originalCommitId?: string;
52
+ args?: Record<string, any>;
53
+ }, workbookId?: string): Promise<RunOutcome>;
54
+ /**
55
+ * Mark ranges in the webview's grid. Declarative — replaces the prior highlight; an empty
56
+ * `ranges` clears it. `ranges` is JSON-encoded because the relay's `args` are string→string.
57
+ *
58
+ * @remarks
59
+ * The webview RESOLVES each address against the live workbook before marking anything, so an
60
+ * unparseable range rejects here (the dispatch throws) instead of failing silently at render
61
+ * time. What comes back is what the grid resolved — sheet-qualified and normalized — and that,
62
+ * not the request, is what the caller is told.
63
+ */
64
+ highlight(highlight: Highlight, workbookId?: string): Promise<HighlightResult>;
65
+ /**
66
+ * Show a grid prompt and resolve when the user answers — the MCP `prompt` task's internal channel.
67
+ * "Show" is a quick acked request (NOT held); the answer is then **polled** from the relay's
68
+ * answer-store. No held connection ⇒ no ~5-min fetch ceiling, so a wait of minutes/hours is fine.
69
+ * The agent meanwhile polls `tasks/get` and the LLM is idle. Terminates on answer, on the workbook
70
+ * closing (`gone`), or a 1h safety cap.
71
+ */
72
+ prompt(spec: PromptSpec, workbookId?: string, opts?: {
73
+ signal?: AbortSignal;
74
+ }): Promise<PromptResult>;
75
+ revert(commitId: string, workbookId?: string): Promise<void>;
76
+ /** The attended session's commit log (newest first), read from the webview's live store. */
77
+ listCommits(opts: ListCommitsOptions, workbookId?: string): Promise<CommitEntry[]>;
78
+ restore(commitId: string, workbookId?: string): Promise<void>;
79
+ /** Asks the webview to serialize its live workbook to JSON (the fork-from-attended path). */
80
+ serialize(workbookId?: string): Promise<IWorkbook.JSON>;
81
+ /**
82
+ * The attended sessions currently open in the client UI, as {@link SessionInfo} for the registry.
83
+ * Attended sessions are owned by a webview (they have a live view) and are opened-from-file today.
84
+ */
85
+ listAttendedSessions(): Promise<SessionInfo[]>;
86
+ /**
87
+ * Mirror one tool-call record into the client UI's live log (VS Code's SheetXL output channel).
88
+ * The record is the same one the JSONL sink would write — see `setToolLogMirror` in
89
+ * `@sheetxl/utils-node`; the UI decides how much of it to show.
90
+ *
91
+ * @remarks
92
+ * Fire-and-forget in both directions: it is not awaited (the call it describes has already
93
+ * finished — tracing must not add latency to it), and a failure is dropped rather than raised. A
94
+ * dead endpoint is normal here: the UI restarts, and this is the one channel that must not care.
95
+ *
96
+ * This is also why the trace covers **sandbox** sessions, which never otherwise touch the relay —
97
+ * a headless session's work was invisible in the UI even while the user watched it happen.
98
+ */
99
+ trace(record: ToolLogRecord): void;
100
+ private dispatch;
101
+ }
102
+ //# sourceMappingURL=relay.d.ts.map
@@ -0,0 +1,23 @@
1
+ import { IWorkbook } from '@sheetxl/sdk';
2
+ import { ScreenshotOptions, ScreenshotResult } from '@sheetxl/screenshot';
3
+ /**
4
+ * One headless browser per server, started on the first screenshot and closed after a minute
5
+ * without one. A browser that exited is replaced on the next call.
6
+ */
7
+ export declare class ScreenshotService {
8
+ private _screenshotter;
9
+ private _idle;
10
+ private _active;
11
+ /**
12
+ * Render a range of a workbook snapshot.
13
+ *
14
+ * @throws {@link ScreenshotUnavailableError} when this machine has no usable browser.
15
+ */
16
+ capture(json: IWorkbook.JSON, options: ScreenshotOptions): Promise<ScreenshotResult>;
17
+ /** Close the browser, if one is running. */
18
+ close(): Promise<void>;
19
+ private _acquire;
20
+ private _armIdle;
21
+ private _clearIdle;
22
+ }
23
+ //# sourceMappingURL=screenshot.d.ts.map
@@ -0,0 +1,37 @@
1
+ import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';
2
+ import { InstanceCensus } from './instances.ts';
3
+ import { PromptResult, PromptSpec, SessionRegistry } from './SessionRegistry.ts';
4
+ /**
5
+ * Normalize the `prompt` tool's two shapes — one question (`message`/`options`/`range`) or several
6
+ * (`questions`) — into one list of questions. Throws, with what to change, when the call is neither
7
+ * or both, or repeats a question id.
8
+ */
9
+ export declare function toPromptSpec(args: {
10
+ message?: string;
11
+ options?: {
12
+ id: string;
13
+ label: string;
14
+ description?: string;
15
+ }[];
16
+ range?: string;
17
+ questions?: {
18
+ id: string;
19
+ header?: string;
20
+ message: string;
21
+ options?: {
22
+ id: string;
23
+ label: string;
24
+ description?: string;
25
+ }[];
26
+ range?: string;
27
+ }[];
28
+ }): PromptSpec;
29
+ /** The agent-facing text for a prompt's outcome. A single `message` question reads as it always has. */
30
+ export declare function describePromptResult(spec: PromptSpec, result: PromptResult, single: boolean): string;
31
+ /**
32
+ * The single MCP server. There is no connected-vs-direct mode: the server owns sandbox sessions
33
+ * in-process and surfaces attended sessions from the relay (via the {@link SessionRegistry}).
34
+ * Every tool routes by `session_id`.
35
+ */
36
+ export declare function createServer(registry: SessionRegistry, census?: InstanceCensus): McpServer;
37
+ //# sourceMappingURL=server.d.ts.map
@@ -0,0 +1,28 @@
1
+ import { InMemoryTaskStore } from '@modelcontextprotocol/sdk/experimental/tasks';
2
+ import { Result, Task } from '@modelcontextprotocol/sdk/types.js';
3
+ /**
4
+ * An {@link InMemoryTaskStore} that surfaces a **failed** task's reason in `statusMessage`.
5
+ *
6
+ * The base store records the error only in the task *result*, so the `Task` object — and thus
7
+ * `tasks/get` and `notifications/tasks/status` — carries no `statusMessage`. Clients then see
8
+ * "failed" with "No additional information". Here we copy the failed result's text into
9
+ * `statusMessage` so the reason for **any** failure (not just one specific path) is legible without
10
+ * a separate `tasks/result` fetch.
11
+ *
12
+ * Implementation note: a terminal task can't be mutated via `updateTaskStatus` (it rejects terminal
13
+ * transitions), and `getTask` returns a copy — so we set the message while the task is still
14
+ * `working` (a no-op status change that records `statusMessage`), then let `super.storeTaskResult`
15
+ * move it to `failed`. `storeTaskResult` does not clear `statusMessage`, so it persists.
16
+ */
17
+ export declare class StatusMessageTaskStore extends InMemoryTaskStore {
18
+ /** Per-task cancellation controllers, fired when a task transitions to `cancelled`. */
19
+ private readonly cancels;
20
+ /**
21
+ * An `AbortSignal` that fires when this task is cancelled (e.g. via `tasks/cancel`). The prompt
22
+ * task's background work waits on it to stop polling and clear the grid. Idempotent per task.
23
+ */
24
+ cancelSignal(taskId: string): AbortSignal;
25
+ storeTaskResult(taskId: string, status: 'completed' | 'failed', result: Result, sessionId?: string): Promise<void>;
26
+ updateTaskStatus(taskId: string, status: Task['status'], statusMessage?: string, sessionId?: string): Promise<void>;
27
+ }
28
+ //# sourceMappingURL=taskStore.d.ts.map