@sheetxl/sdk 0.8.0-beta.12 → 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 (292) hide show
  1. package/THIRD-PARTY-NOTICES.md +172 -0
  2. package/browser/esm/{CBYMTDzMf1Vh7pkw.mjs → 3t4S9eda2I6jFad0.mjs} +1 -1
  3. package/browser/esm/{Bg5Di9GLNAkbqQ1P.mjs → AXlD9K1gCwPU4gCO.mjs} +1926 -1298
  4. package/browser/esm/{w6Jea0TiclPrYZ2M.mjs → B1aH_qa-czVyEVHd.mjs} +509 -509
  5. package/browser/esm/{DZiivy0NmO1Vnyzk.mjs → BEDfJP2tcuRy2Y2E.mjs} +2 -2
  6. package/browser/esm/{BdCJNawfifyPupCP.mjs → BLYl-afJe_3std8i.mjs} +1 -1
  7. package/browser/esm/{D2RZh0O9neOsyLAE.mjs → BPPMKyMn65i1a1mE.mjs} +69 -48
  8. package/browser/esm/{yuhcOYw6SHQ-RCm3.mjs → BSXQAXwZdJKYTO4P.mjs} +30 -30
  9. package/browser/esm/{-Jx-jNHmtIQQfLvK.mjs → BVqIknGhQCLUB_7Q.mjs} +1 -1
  10. package/browser/esm/{fXWUMDhZ5yMSO629.mjs → BWoz4kQdA5KKJfl6.mjs} +1 -1
  11. package/browser/esm/{DwwR3O2sEZApPSTF.mjs → Bdcd3QOzsc0aVMjN.mjs} +3 -3
  12. package/browser/esm/{2mIwPy2D2JUX-9wx.mjs → BpwULQPKbb4R9Jew.mjs} +2 -2
  13. package/browser/esm/{CwOPLXU3-9ZHGyOT.mjs → C7hpfT-sX2lyLS-D.mjs} +1 -1
  14. package/browser/esm/{BIHrHjRGWVlJglcp.mjs → CImFKFaYToUH-bSE.mjs} +2 -2
  15. package/browser/esm/{BTFBedJMRWGvZyCE.mjs → CM_X1zZYzEUPaNJL.mjs} +1 -1
  16. package/browser/esm/CPIWV3Enlh_BF2TY.mjs +19 -0
  17. package/browser/esm/{CndRBvVfQUJIYRRj.mjs → ChYgQL-8qIDFmX31.mjs} +50 -50
  18. package/browser/esm/{BudSIfXBAsTxvu-K.mjs → CtC__ALh4I8PKIln.mjs} +10071 -9246
  19. package/browser/esm/{qO-ujUrgq6H3TQix.mjs → Cy8uYCggktF83278.mjs} +1 -1
  20. package/browser/esm/D2NFcBM4xsv0JJ1q.mjs +184 -0
  21. package/browser/esm/{D9xNz46kAfXMZzp4.mjs → D39XcmtPXVtMN4yF.mjs} +2 -2
  22. package/browser/esm/{CdEO8CEee6lEhabA.mjs → DBvu0tdSf-5vol4e.mjs} +2 -2
  23. package/browser/esm/{Tah7cnFb_HNZdLtj.mjs → DIfAk63CvaOZ3QKi.mjs} +3 -3
  24. package/browser/esm/{B3wf5vZCsWfWsDbj.mjs → D_XMi4_5iO2rkET5.mjs} +1 -1
  25. package/browser/esm/{DgrAuRD2qr2DvFeJ.mjs → Dh84MDs-OhdCPCIg.mjs} +44 -44
  26. package/browser/esm/{DPhGQLNGmDZwODwJ.mjs → Dhw5XEJYFrkYjdU2.mjs} +94 -94
  27. package/browser/esm/{Cxjxk0ncRKx80I-w.mjs → DiXeQjc0WJGLSVEo.mjs} +1 -1
  28. package/browser/esm/DnR0xY7_iE3TmMcg.mjs +348 -0
  29. package/browser/esm/{DK899HhWX1HINMC1.mjs → DnqwX3-2NfGBaXXl.mjs} +25 -25
  30. package/browser/esm/{D64dM68B1pKYFzdP.mjs → DonQz2Tc3k9lNT8E.mjs} +2 -2
  31. package/browser/esm/{Bt8_m94tBdks209L.mjs → DvvqmUQ9Z0NFm1-4.mjs} +1 -1
  32. package/browser/esm/{BnC4-27Igwb8oDf2.mjs → Ln4gsmhqH1LyoANj.mjs} +44 -43
  33. package/browser/esm/{CUzYuYTTGsChC_kZ.mjs → MuNBN02MyZ558c_K.mjs} +2052 -1583
  34. package/browser/esm/{CRkYR-siY2C994KV.mjs → SwLp-iElwDjfcJtv.mjs} +1 -1
  35. package/browser/esm/{C9u8FUewte5ugUjH.mjs → UMQTbO0zNmBpzW1V.mjs} +725 -716
  36. package/browser/esm/aRXqxIzjuSLwawMh.mjs +18 -0
  37. package/browser/esm/index.mjs +482 -440
  38. package/browser/esm/{hCQJcmIzPDxDEv2q.mjs → oSCy1X5CJ1iYtGDp.mjs} +2 -2
  39. package/browser/esm/{DobHLF6VjHr7Xi40.mjs → qCqzZW74-fhaIG2V.mjs} +1 -1
  40. package/browser/esm/{CNdjyofiRu6CYOrr.mjs → r_EZapMBdyS4gUd-.mjs} +50 -48
  41. package/browser/esm/yuF8SbWfjBfrxcq5.mjs +367 -0
  42. package/licenses/dependencies.txt +71 -1
  43. package/node/esm/99miMotf3dOuG5Jk.mjs +372 -0
  44. package/node/esm/{-TA0MneBDKdGhsib.mjs → B3hBxzqJ2_hUylNr.mjs} +3329 -2852
  45. package/node/esm/{BNXLOEddJ6O9gYws.mjs → B5VmOC0jO9Zbh9Mq.mjs} +2 -2
  46. package/node/esm/{DhS6yWjrrSNIJMsn.mjs → B6jhx5pHPs2W5GE7.mjs} +234 -225
  47. package/node/esm/{DUTmDHbFbhLDT4F3.mjs → BCjHRVU8tC5lYypg.mjs} +1 -1
  48. package/node/esm/BEBt5fo__rvT2q_u.mjs +310 -0
  49. package/node/esm/{icn2nX5Z8e_3mNAv.mjs → BELc5aQ_pFPgbiso.mjs} +1 -1
  50. package/node/esm/{DrCf6ITcBhVOFpRj.mjs → BEdxa3I4VOiCsvy7.mjs} +7 -7
  51. package/node/esm/{D3ptRKzASqBut1DE.mjs → BLPrFp_jKGYgWPX1.mjs} +2 -2
  52. package/node/esm/{BskP3b8vUoIOGLY6.mjs → BSVttk12GXNfKZ9k.mjs} +2 -2
  53. package/node/esm/{D4ROK9UwDpS6jO3Z.mjs → BXg-D8Rc_iyB8p7X.mjs} +1 -1
  54. package/node/esm/{DV5CU37aEbFbWFL0.mjs → BfEdeOg4iYXaYTlh.mjs} +1 -1
  55. package/node/esm/BuyAYLI4s33-vmgG.mjs +18 -0
  56. package/node/esm/{C_xf5Bz30VqiJjXn.mjs → C-5JLSNof0FhkuFd.mjs} +1 -1
  57. package/node/esm/{eimUGjiIP-b8HiM6.mjs → C3S4hF1vn0NyJPPd.mjs} +52 -52
  58. package/node/esm/{BL2iiEoqxDEV2Xrg.mjs → CI8UIWR01z9QDlzH.mjs} +3348 -2610
  59. package/node/esm/{pYtP7wPyS96NQyXS.mjs → CPsGyt3vnOdLTShj.mjs} +25 -25
  60. package/node/esm/{CG-qBU5BAaVz7e-P.mjs → Ccocd9DTvOnlOE9D.mjs} +1 -1
  61. package/node/esm/{C14-R6tifRh7pc0p.mjs → CdSTmD2ZvG9NesNR.mjs} +1 -1
  62. package/node/esm/{Q_S1g46ZOTrdhTae.mjs → Crn6dnSQQRCQAnQ-.mjs} +1 -1
  63. package/node/esm/{DdoiuKg9BKubtF1V.mjs → Cyeq1rDslIqF1LKz.mjs} +1 -1
  64. package/node/esm/{Ci_zLYmCD7e-C79O.mjs → D30rC6AWaGGf3CaC.mjs} +1 -1
  65. package/node/esm/D4Y1WJgjiFEgbWrW.mjs +115 -0
  66. package/node/esm/{Vocy-I9dKzZMr0Ct.mjs → DLdXl0O0TXuyqLU4.mjs} +10898 -10685
  67. package/node/esm/{D8hO07ToAibIuniw.mjs → DbPUG2DcQ3T_QhcJ.mjs} +138 -136
  68. package/node/esm/{lGJ42sHqg5if2bba.mjs → DeFE8QfuCeGw-mvd.mjs} +458 -458
  69. package/node/esm/{CiIymQN6aJCul62g.mjs → DiCMnYA2bttmrX3q.mjs} +9 -9
  70. package/node/esm/{DhTya_mhmN53vskv.mjs → Dlk2ZYExFgQ0xE2H.mjs} +1 -1
  71. package/node/esm/{Btw4148Ot8ifhNc1.mjs → I-FZojIFWluC6X-j.mjs} +1 -1
  72. package/node/esm/{C99zzq8DImQXi4BQ.mjs → Lj98EH6coGdKUzuS.mjs} +10 -10
  73. package/node/esm/{B-HUPAcqvK0eeeCz.mjs → NA-8urR7T1NCwrgD.mjs} +38 -37
  74. package/node/esm/{DxazKtROyaI51dWl.mjs → YpOpRyciqQLIY1-G.mjs} +1 -1
  75. package/node/esm/{CkRYLed8Mmn3giNg.mjs → b3XnssSr9lmvAC2N.mjs} +2 -2
  76. package/node/esm/clgEkmEwfB28nkz2.mjs +351 -0
  77. package/node/esm/index.mjs +584 -540
  78. package/node/esm/{CRt3vXe6YmXzqk3H.mjs → pF2vCOTmrxPAB41Q.mjs} +102 -102
  79. package/node/esm/{CBuEu5Jk-LfaDy-H.mjs → uLrulyR7IXq0SF4j.mjs} +44 -44
  80. package/node/esm/{C_aL7CGS1lrNn1Ng.mjs → xRGObcoaGDnAZFnj.mjs} +1 -1
  81. package/package.json +10 -7
  82. package/resources/contents.json +108 -0
  83. package/resources/fonts/aptos-bold-italic.hinted.json +125 -0
  84. package/resources/fonts/aptos-bold-italic.metrics.json +221 -0
  85. package/resources/fonts/aptos-bold-italic.rows.json +8 -0
  86. package/resources/fonts/aptos-bold.hinted.json +125 -0
  87. package/resources/fonts/aptos-bold.metrics.json +221 -0
  88. package/resources/fonts/aptos-bold.rows.json +8 -0
  89. package/resources/fonts/aptos-display-bold-italic.hinted.json +125 -0
  90. package/resources/fonts/aptos-display-bold-italic.metrics.json +221 -0
  91. package/resources/fonts/aptos-display-bold-italic.rows.json +8 -0
  92. package/resources/fonts/aptos-display-bold.hinted.json +125 -0
  93. package/resources/fonts/aptos-display-bold.metrics.json +221 -0
  94. package/resources/fonts/aptos-display-bold.rows.json +8 -0
  95. package/resources/fonts/aptos-display-italic.hinted.json +124 -0
  96. package/resources/fonts/aptos-display-italic.metrics.json +221 -0
  97. package/resources/fonts/aptos-display-italic.rows.json +8 -0
  98. package/resources/fonts/aptos-display-regular.hinted.json +125 -0
  99. package/resources/fonts/aptos-display-regular.metrics.json +221 -0
  100. package/resources/fonts/aptos-display-regular.rows.json +8 -0
  101. package/resources/fonts/aptos-italic.hinted.json +125 -0
  102. package/resources/fonts/aptos-italic.metrics.json +221 -0
  103. package/resources/fonts/aptos-italic.rows.json +8 -0
  104. package/resources/fonts/aptos-narrow-bold-italic.hinted.json +125 -0
  105. package/resources/fonts/aptos-narrow-bold-italic.metrics.json +221 -0
  106. package/resources/fonts/aptos-narrow-bold-italic.rows.json +8 -0
  107. package/resources/fonts/aptos-narrow-bold.hinted.json +125 -0
  108. package/resources/fonts/aptos-narrow-bold.metrics.json +221 -0
  109. package/resources/fonts/aptos-narrow-bold.rows.json +8 -0
  110. package/resources/fonts/aptos-narrow-italic.hinted.json +125 -0
  111. package/resources/fonts/aptos-narrow-italic.metrics.json +221 -0
  112. package/resources/fonts/aptos-narrow-italic.rows.json +8 -0
  113. package/resources/fonts/aptos-narrow-regular.hinted.json +125 -0
  114. package/resources/fonts/aptos-narrow-regular.metrics.json +221 -0
  115. package/resources/fonts/aptos-narrow-regular.rows.json +8 -0
  116. package/resources/fonts/aptos-regular.hinted.json +125 -0
  117. package/resources/fonts/aptos-regular.metrics.json +221 -0
  118. package/resources/fonts/aptos-regular.rows.json +8 -0
  119. package/resources/fonts/arial-bold-italic.rows.json +0 -1
  120. package/resources/fonts/arial-bold.rows.json +0 -1
  121. package/resources/fonts/arial-italic.rows.json +0 -1
  122. package/resources/fonts/arial-regular.rows.json +0 -1
  123. package/resources/fonts/calibri-bold-italic.rows.json +0 -1
  124. package/resources/fonts/calibri-bold.rows.json +0 -1
  125. package/resources/fonts/calibri-italic.rows.json +0 -1
  126. package/resources/fonts/calibri-regular.rows.json +0 -1
  127. package/resources/fonts/cambria-bold-italic.rows.json +0 -1
  128. package/resources/fonts/cambria-bold.rows.json +0 -1
  129. package/resources/fonts/cambria-italic.rows.json +0 -1
  130. package/resources/fonts/cambria-regular.rows.json +0 -1
  131. package/resources/fonts/contents.json +240 -0
  132. package/resources/fonts/courier-new-bold-italic.rows.json +0 -1
  133. package/resources/fonts/courier-new-bold.rows.json +0 -1
  134. package/resources/fonts/courier-new-italic.rows.json +0 -1
  135. package/resources/fonts/courier-new-regular.rows.json +0 -1
  136. package/resources/fonts/times-new-roman-bold-italic.rows.json +0 -1
  137. package/resources/fonts/times-new-roman-bold.rows.json +0 -1
  138. package/resources/fonts/times-new-roman-italic.rows.json +0 -1
  139. package/resources/fonts/times-new-roman-regular.rows.json +0 -1
  140. package/resources/locales/de/model.msg.json +4 -0
  141. package/resources/locales/en/model.msg.json +4 -0
  142. package/types/scripting-api.json +9339 -9320
  143. package/types/scripting.d.ts +322 -200
  144. package/types/src/.generated/wasm/sdk.d.ts +5 -27
  145. package/types/src/address/AddressUtils.d.ts +8 -0
  146. package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
  147. package/types/src/anomalies/_FocusTable.d.ts +0 -6
  148. package/types/src/calculation/Calculation.d.ts +20 -95
  149. package/types/src/calculation/ExternalBookBindings.d.ts +0 -26
  150. package/types/src/calculation/NamedFormulaCollection.d.ts +6 -2
  151. package/types/src/calculation/TokenType.d.ts +0 -10
  152. package/types/src/calculation/_CloneBoundary.d.ts +0 -24
  153. package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
  154. package/types/src/calculation/compiler/ASTTypes.d.ts +0 -13
  155. package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
  156. package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
  157. package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
  158. package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
  159. package/types/src/calculation/compiler/Types.d.ts +0 -52
  160. package/types/src/calculation/engine/CalcBackend.d.ts +15 -157
  161. package/types/src/calculation/engine/index.d.ts +0 -8
  162. package/types/src/calculation/executor/CalcExecutor.d.ts +13 -130
  163. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +30 -11
  164. package/types/src/calculation/executor/CircularReference.d.ts +0 -17
  165. package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
  166. package/types/src/calculation/executor/_WhatIf.d.ts +0 -19
  167. package/types/src/calculation/formula/FormulaBlock.d.ts +0 -28
  168. package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
  169. package/types/src/calculation/formula/IFormulaBlock.d.ts +0 -12
  170. package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
  171. package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
  172. package/types/src/calculation/grid/CalcGrid.d.ts +5 -59
  173. package/types/src/calculation/grid/CalcGridBackend.d.ts +8 -9
  174. package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -13
  175. package/types/src/calculation/grid/CalcGridUtils.d.ts +18 -22
  176. package/types/src/calculation/grid/ICalcGrid.d.ts +13 -98
  177. package/types/src/calculation/grid/_CalcRequest.d.ts +1 -29
  178. package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
  179. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +52 -82
  180. package/types/src/calculation/spatial/SpillEntry.d.ts +10 -7
  181. package/types/src/calculation/state/CalcScope.d.ts +0 -9
  182. package/types/src/calculation/state/CalcState.d.ts +0 -12
  183. package/types/src/calculation/state/CalculationContext.d.ts +4 -37
  184. package/types/src/calculation/state/DeferredCalls.d.ts +11 -64
  185. package/types/src/calculation/state/IContextContainer.d.ts +4 -60
  186. package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
  187. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +46 -33
  188. package/types/src/calculation/state/_WhatIfLayer.d.ts +0 -14
  189. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
  190. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
  191. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
  192. package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
  193. package/types/src/calculation/toolkit/index.d.ts +0 -8
  194. package/types/src/cell/ICell.d.ts +14 -28
  195. package/types/src/cellRange/ICellRange.d.ts +22 -11
  196. package/types/src/chart/Chart.d.ts +0 -16
  197. package/types/src/chart/_ChartParts.d.ts +0 -39
  198. package/types/src/chart/_ChartSource.d.ts +0 -14
  199. package/types/src/chart/createChart.d.ts +1 -1
  200. package/types/src/chart/kinds/ChartKind.d.ts +4 -4
  201. package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
  202. package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
  203. package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
  204. package/types/src/chart/math/BoxStats.d.ts +0 -8
  205. package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
  206. package/types/src/chart/math/Histogram.d.ts +0 -17
  207. package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
  208. package/types/src/chart/math/Treemap.d.ts +0 -15
  209. package/types/src/chart/math/Trendlines.d.ts +0 -8
  210. package/types/src/chart/math/UnitCalcs.d.ts +0 -22
  211. package/types/src/chart/model/_Edits.d.ts +0 -33
  212. package/types/src/chart/model/_Grouping.d.ts +0 -25
  213. package/types/src/chart/model/_Inference.d.ts +0 -18
  214. package/types/src/chart/model/_NewChart.d.ts +0 -41
  215. package/types/src/chart/model/_OfPie.d.ts +0 -7
  216. package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
  217. package/types/src/chart/resolve/_Resolve.d.ts +0 -19
  218. package/types/src/chart/resolve/_ResolvedChart.d.ts +0 -6
  219. package/types/src/collections/_GridUtils.d.ts +0 -10
  220. package/types/src/comment/_NoteBox.d.ts +0 -15
  221. package/types/src/condition/AnchoredConditional.d.ts +1 -23
  222. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
  223. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
  224. package/types/src/condition/ICondition.d.ts +2 -2
  225. package/types/src/condition/_ConditionUtils.d.ts +0 -38
  226. package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
  227. package/types/src/externalBook/ExternalBookName.d.ts +2 -3
  228. package/types/src/externalBook/IExternalBook.d.ts +13 -14
  229. package/types/src/fetch/IFetcher.d.ts +2 -1
  230. package/types/src/fetch/_WorkbookFetch.d.ts +1 -1
  231. package/types/src/font/AdvanceTable.d.ts +16 -42
  232. package/types/src/font/IFont.d.ts +32 -9
  233. package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
  234. package/types/src/font/_FontUtils.d.ts +0 -8
  235. package/types/src/font/_StandIns.d.ts +33 -0
  236. package/types/src/io/IWorkbookIO.d.ts +3 -3
  237. package/types/src/io/WorkbookOrigin.d.ts +2 -2
  238. package/types/src/license/LicenseManager.d.ts +2 -1
  239. package/types/src/license/_Utils.d.ts +4 -3
  240. package/types/src/license/details.d.ts +3 -1
  241. package/types/src/license/keys.d.ts +6 -0
  242. package/types/src/license/license-key.d.ts +15 -33
  243. package/types/src/license/token.d.ts +55 -0
  244. package/types/src/picture/IPicture.d.ts +45 -0
  245. package/types/src/picture/Picture.d.ts +12 -0
  246. package/types/src/pivot/PivotTable.d.ts +0 -7
  247. package/types/src/primitives/AsyncValue.d.ts +0 -12
  248. package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
  249. package/types/src/primitives/Range.d.ts +0 -60
  250. package/types/src/primitives/ScalarCollation.d.ts +0 -106
  251. package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
  252. package/types/src/print/PageLayout.d.ts +0 -6
  253. package/types/src/reference/ReferenceUtils.d.ts +4 -2
  254. package/types/src/richData/RichDataRegistry.d.ts +6 -0
  255. package/types/src/scripting/TypedFunction.d.ts +0 -109
  256. package/types/src/scripting/enumManifest.browser.d.ts +7 -2
  257. package/types/src/sheet/IWorksheet.d.ts +2 -5
  258. package/types/src/sheet/NamedCellRange.d.ts +0 -21
  259. package/types/src/sheet/SheetCell.d.ts +8 -2
  260. package/types/src/sheet/Worksheet.d.ts +7 -48
  261. package/types/src/sheet/_DelimitedText.d.ts +13 -0
  262. package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
  263. package/types/src/sheet/_ScalarListFactory.d.ts +0 -19
  264. package/types/src/sheet/_SheetCoords.d.ts +0 -7
  265. package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
  266. package/types/src/sheet/_SheetStateReader.d.ts +0 -10
  267. package/types/src/sheet/_SheetStateTypes.d.ts +0 -3
  268. package/types/src/sheet/_SheetUtils.d.ts +1 -1
  269. package/types/src/sheet/style/_RowLine.d.ts +32 -0
  270. package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
  271. package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
  272. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
  273. package/types/src/style/ICellStyle.d.ts +4 -0
  274. package/types/src/table/AnchoredTable.d.ts +0 -147
  275. package/types/src/text/TextFrame.d.ts +4 -1
  276. package/types/src/text/TextStacked.d.ts +0 -24
  277. package/types/src/text/TextWrapper.d.ts +3 -5
  278. package/types/src/text/_LineBox.d.ts +24 -0
  279. package/types/src/text/_TextUtils.d.ts +5 -2
  280. package/types/src/text/_TextWrapperFallback.d.ts +2 -1
  281. package/types/src/wasm/sdkWasm.d.ts +1 -1
  282. package/types/src/workbook/Workbook.d.ts +0 -10
  283. package/browser/esm/2WuhYrIpYmOR5H73.mjs +0 -698
  284. package/browser/esm/CTe2qfmIUEad6FJv.mjs +0 -199
  285. package/browser/esm/CfRqiPDg6RBTg1EN.mjs +0 -367
  286. package/browser/esm/DVroRnhi-5IDXNgM.mjs +0 -210
  287. package/browser/esm/DwZCT7DZiiXoTweg.mjs +0 -14
  288. package/node/esm/BSvOluusoDM4z_dx.mjs +0 -811
  289. package/node/esm/CPI58duc0j0a-HpJ.mjs +0 -115
  290. package/node/esm/DggQ23jKMpwhENfa.mjs +0 -372
  291. package/node/esm/Dn1M7YWi25DeeYUb.mjs +0 -210
  292. package/node/esm/ZXPFcsT2zrALCZux.mjs +0 -289
@@ -1,10 +1,6 @@
1
1
  import { IRange, Scalar } from '@sheetxl/primitives';
2
2
  import { CalcNode, IContextContainer } from '../state';
3
3
  import { WhatIfLayer } from '../state/_WhatIfLayer';
4
- /**
5
- * A what-if data table as its `TABLE` formula states it (DESIGN-DATA-TABLES §1): the results'
6
- * top-left cell and size, and the input cells, all on one grid.
7
- */
8
4
  export interface WhatIfTable {
9
5
  gridId: string;
10
6
  /** The top-left result cell: where the `TABLE` formula sits. */
@@ -30,21 +26,6 @@ export interface WhatIfHost {
30
26
  }
31
27
  /** The rectangles of a table's edge: the formula cells, then the axes. All on the table's grid. */
32
28
  export declare function whatIfEdge(table: WhatIfTable): IRange.Coords[];
33
- /**
34
- * The affected set S of a table (DESIGN-DATA-TABLES §4.3): every node downstream of an input
35
- * that is upstream of a formula cell or an axis cell, in an order that evaluates a node after
36
- * the nodes it reads. Widened to the whole downstream closure when a member reads through a
37
- * dynamic reference, whose edges the index cannot bound.
38
- *
39
- * A `TABLE` node is never a member, this table's own included: another table's results are read as
40
- * they stand, not re-run under this table's substitutions, as Excel reads them (design §2.2 T6).
41
- * That also keeps the walk from passing through a table's own edges, which would reach the table.
42
- */
43
29
  export declare function whatIfAffectedSet(container: IContextContainer, table: WhatIfTable): CalcNode[];
44
- /**
45
- * A table's results under the what-if protocol of DESIGN-DATA-TABLES §2.2, evaluating `affected`
46
- * (from {@link whatIfAffectedSet}) under each substitution. The layers are the host's; nothing is
47
- * restored, the caller drops them.
48
- */
49
30
  export declare function runWhatIf(host: WhatIfHost, table: WhatIfTable, affected: readonly CalcNode[]): Scalar[][];
50
31
  //# sourceMappingURL=_WhatIf.d.ts.map
@@ -176,36 +176,8 @@ export declare class FormulaBlock implements IFormulaBlock {
176
176
  * shared named-body block at every level, and only a copy keeps an outer activation's captured
177
177
  * environment intact underneath it. See `LambdaValue`.
178
178
  */
179
- /**
180
- * Fills the shared argument buffer for a call that has at least one LAZY argument, deciding per
181
- * call whether to defer at all.
182
- *
183
- * @remarks
184
- * The engine declines whenever an eager argument is a CONTAINER, because the call is then about
185
- * to LIFT: the body runs once per element and different elements may select different arms, so
186
- * every arm is needed. Excel abandons laziness there too — `=IF(B1:B3>0,1,A1+1)` in A1 IS a
187
- * circular reference where the scalar-condition form is not (measured, `probe-lazy-args.ps1`).
188
- *
189
- * A declined argument is evaluated ONCE, here, and handed over as the VALUE rather than as a
190
- * filled handle: the lift SAMPLES an arm per element (`IF(A1:A5>2,A1:A5,0)` answers element by
191
- * element), and only the marshaller can sample it. The handle it hands the body is rebuilt there,
192
- * around the sampled member. So the arm is evaluated once and indexed, never re-evaluated.
193
- *
194
- * Deferring evaluates nothing, so nothing can re-enter `_reuseArgs` while it is being filled.
195
- * The decline path does evaluate, and takes a private array for exactly that reason.
196
- */
197
179
  protected _fillLazyArgs(argsIndexed: ASTNode[], argsLength: number, regs: any[], frame: ReadonlyMap<number, any> | null, row: number, column: number, depth: number): void;
198
180
  protected _createLambdaValue(node: FunctionNode, regs: any[], frame: ReadonlyMap<number, any> | null, row: number, column: number): LambdaValue;
199
- /**
200
- * The callee verdicts + apply for a `Call` node (design §3.4, §1.1):
201
- *
202
- * - a lambda value → arity check, bind, evaluate the body;
203
- * - a function value (eta `SUM`) → dispatch to the function itself;
204
- * - a reference that is not a lambda → `#REF!` (Excel resolved it and failed to CALL it);
205
- * - any other value → `#VALUE!` (a failed coercion, same class as `="a"+1`).
206
- *
207
- * All three error rows are MEASURED (probe-lambda-call.ps1).
208
- */
209
181
  protected _applyCallee(callee: any, node: ASTNode, regs: any[]): any;
210
182
  /**
211
183
  * Apply over VALUES — the marshalled-callable twin of {@link _applyCallee}'s lambda branch
@@ -4,11 +4,6 @@ import { ICalculation } from '../ICalculation';
4
4
  import { ReferenceCoords, StructuredReference } from '../Types';
5
5
  import { CompilerLocale } from '../compiler/CompilerLocale';
6
6
  import { FormulaRecord, IFormulaBlockView } from './IFormulaBlock';
7
- /**
8
- * What imaging a {@link FormulaRecord} needs beside the record (DESIGN-CALC-SERVICE §8): the
9
- * symbol map to resolve its stable ids against, the grid the formula sits on, and the reader's
10
- * locale. The facade supplies the model's own map; the engine never images for it.
11
- */
12
7
  export interface FormulaImager {
13
8
  /** Stable ids to display names. */
14
9
  readonly symbols: ISymbolRegistry;
@@ -24,16 +19,6 @@ export interface FormulaImager {
24
19
  */
25
20
  resolveTableReference?(reference: StructuredReference, row: number): IRange.FixableCoords | FormulaError.Known;
26
21
  }
27
- /**
28
- * A block as the model reads it: the engine's record imaged against the reader's own symbols
29
- * (DESIGN-CALC-SERVICE §8).
30
- *
31
- * @remarks
32
- * What the facade hands the model for every block the engine vends. The record is plain data and
33
- * crosses the channel; the imager is the facade's and never does. Text is the same function of
34
- * (tokens, symbols, anchor, locale) the compiled block images by - only where it runs differs -
35
- * so what a sheet reads is what the engine would image, by the model's names.
36
- */
37
22
  export declare class FormulaRecordView implements IFormulaBlockView {
38
23
  /** The block as data: what this view images. */
39
24
  readonly record: FormulaRecord;
@@ -1,18 +1,6 @@
1
1
  import { IRange, FormulaError } from '@sheetxl/primitives';
2
2
  import { ICalculation } from '../ICalculation';
3
3
  import { ReferenceCoords, SetReferenceOptions, PrecedentTemplate, StructuredReference } from '../Types';
4
- /**
5
- * A compiled formula as data (DESIGN-CALC-SERVICE §8): what the engine vends for a block, and all
6
- * the facade needs to image a read view of it for the model (`FormulaRecordView`). Plain data, so
7
- * it survives `structuredClone`; the syntax tree never crosses.
8
- *
9
- * @remarks
10
- * The tokens carry stable ids in their values - a sheet's, a name's, a table's - and cell
11
- * coordinates relative to the block's top-left, so one record serves every cell of the block. Text
12
- * is imaged from them against the reader's own symbol map ({@link FormulaImager}), which is what
13
- * makes a held copy rename-proof: nothing in the record names a sheet by its name. The model
14
- * never sees one: it holds the view.
15
- */
16
4
  export interface FormulaRecord {
17
5
  /** The block's tokens, stable ids in their values, references relative to the block's top-left. */
18
6
  readonly tokens: readonly ICalculation.FormulaToken[];
@@ -172,20 +172,5 @@ export declare const OMITTED: unique symbol;
172
172
  * to convert, so it cannot leak (plan risk 2).
173
173
  */
174
174
  export declare const readFrameValue: (value: any) => any;
175
- /**
176
- * The recursion budget apply enforces via `CalcScope.depth`.
177
- *
178
- * @remarks
179
- * DESKTOP measured (probe-lambda-eval block A, 2026-08-21): its cap sits between 5,000 and 100,000, and the error at it IS `#NUM!` — the
180
- * error Microsoft's own LAMBDA documentation names for runaway recursion.
181
- *
182
- * 512 rather than Online's 1000: each apply level costs a dozen JS frames, and past ~1000 levels a
183
- * BROWSER stack dies first — not as a catchable `RangeError` at the recursion site, but as
184
- * arbitrary near-exhaustion failures deep inside the engine (a regex compile inside the number
185
- * parser was the observed one), which inner catch sites convert to `#VALUE!` values. The budget
186
- * has to keep the engine comfortably inside every platform's stack; raising it toward the measured
187
- * desktop number needs the lazy-`IF` (Conditional) carve-out first, since eager `IF` makes every
188
- * terminating recursion burn to this cap before unwinding.
189
- */
190
175
  export declare const MAX_LAMBDA_DEPTH = 512;
191
176
  //# sourceMappingURL=LambdaValue.d.ts.map
@@ -21,14 +21,7 @@ export declare function absoluteReferences(references: readonly ReferenceCoords[
21
21
  * When `symbols` is absent (no registry was used at compile time) the tokens
22
22
  * already hold display names and are returned as-is.
23
23
  */
24
- export declare function resolveTokenSymbols(tokens: ICalculation.FormulaToken[], symbols: ISymbolRegistry | null | undefined, canonical?: boolean,
25
- /**
26
- * Re-image for a READER rather than for storage. Only an external book reads differently: stored
27
- * it is `[n]Sheet1` (a position), displayed it is the book's own spelling, and the book half is
28
- * split into its own {@link TokenType.ExternalReference} token so an editor can color or elide it
29
- * (DESIGN-EXTERNAL-LINKS §4B).
30
- */
31
- display?: boolean,
24
+ export declare function resolveTokenSymbols(tokens: ICalculation.FormulaToken[], symbols: ISymbolRegistry | null | undefined, canonical?: boolean, display?: boolean,
32
25
  /**
33
26
  * The formula's cell (`scope` is its sheet's name or id), for display only. A single-column
34
27
  * reference to the table holding it (`Table1[Qty]`, `Table1[@Qty]`) drops the table name, as Excel
@@ -12,27 +12,6 @@ import { NamedReference } from '../Types';
12
12
  import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
13
13
  import { ICalcGrid } from './ICalcGrid';
14
14
  import { FormulaEntry } from './FormulaEntry';
15
- /**
16
- * The grid as the model holds it (DESIGN-CALC-SERVICE §13.23, §13.24): the synchronous half of
17
- * every implementation, in front of a backend that answers late or not at all.
18
- *
19
- * @remarks
20
- * Owns what a cell holds - the formulas as the model wrote them, text per run; the values, both
21
- * the literals it entered and the answers the engine vended; and the indexes over them (the
22
- * contentful summary, the array extents, the error values, the calc status) - versioned in the
23
- * model's own transaction store, so an undo restores them with everything else the operation
24
- * wrote. Each formula entry carries the view of the compiled block the backend vends for it.
25
- * Every write lands here first, in the caller's transaction, and is then forwarded to the backend
26
- * as the same verb; what the backend answers with is folded into the snapshot the request named
27
- * and every later one, where what the request was made against is still there, and dropped where
28
- * something newer wrote ({@link _adopt}, {@link _applyValueVend}). So an undo lands on maps that
29
- * already carry the engine's answer for them, with no round trip.
30
- *
31
- * The backend is an {@link ICalcGrid.Backend}: the in-process engine grid, a message-passing
32
- * proxy under a worker, and nothing at all is what an `Off` engine amounts to (the channel
33
- * records nothing, so the text here is the whole truth until a start seeds the engine from it).
34
- * The same code in every case; only the delegate differs.
35
- */
36
15
  export declare class CalcGrid implements ICalcGrid {
37
16
  protected readonly _backend: ICalcGrid.Backend;
38
17
  protected readonly _calculation: ICalculation | null;
@@ -134,6 +113,8 @@ export declare class CalcGrid implements ICalcGrid {
134
113
  getContentful(transaction?: ITransaction | null): ISpatialMap<ContentfulSpatialValue>;
135
114
  /** {@inheritDoc ICalcGrid.getSpills} */
136
115
  getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
116
+ /** {@inheritDoc ICalcGrid.getBlockedSpills} */
117
+ getBlockedSpills(): ISpatialQuery<SpillEntry>;
137
118
  /** {@inheritDoc ICalcGrid.getPending} */
138
119
  getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
139
120
  /** {@inheritDoc ICalcGrid.getCalcErrors} */
@@ -279,15 +260,6 @@ export declare class CalcGrid implements ICalcGrid {
279
260
  * @internal
280
261
  */
281
262
  _seedContent(): ICalcGrid.JSON | null;
282
- /**
283
- * This grid's content as its calc JSON (DESIGN-CALC-SERVICE §6.6): the same record a save
284
- * writes, and what a start opens the backend from. The formulas, the array extents, the
285
- * volatile regions, the rows and columns the owner hides and - with `includeData` - the values
286
- * are all this grid's own; a volatile region is kept only where a formula still sits.
287
- *
288
- * A pending entry is written as its own text; a compiled one images its block where it sits.
289
- * @internal
290
- */
291
263
  _content(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
292
264
  /** The array extents a load carries, as spill entries. */
293
265
  protected _spillsFromJSON(formulaArray: readonly IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[]): ISpatialMap.Entry<SpillEntry>[];
@@ -347,37 +319,12 @@ export declare class CalcGrid implements ICalcGrid {
347
319
  * first; the record lists every block.
348
320
  */
349
321
  protected _adopt(results: ICalcGrid.Results, vended?: readonly VendSnapshot[]): void;
350
- /**
351
- * Land the value half of a record - values, spills, errors, pending and circular marks - in the
352
- * snapshots it answers for, by ownership (DESIGN-CALC-SERVICE §13.18).
353
- *
354
- * @remarks
355
- * Every item has one owner, and a snapshot's formula map says which: a cell holding a formula
356
- * entry is the engine's, one holding none is the model's, a spill cell is the engine's through
357
- * its anchor. So an item lands in a snapshot where that snapshot's map holds, over the item,
358
- * what the requested snapshot's map held: the requested snapshot itself everywhere, a later one
359
- * wherever nothing newer wrote. An item that a later write cut into is split at the ownership
360
- * boundary when its payload is per cell (a value run, a pending or error mark, which the maps
361
- * merge across neighbors) and left whole when it is one thing (a spill extent, a cycle). A full
362
- * record clears an engine-owned map, keeping what a later snapshot owns.
363
- *
364
- * The maps are the snapshots' own instances, shared by reference until a write clones them, so
365
- * each distinct instance is written once, settled for every snapshot that holds it. In-process
366
- * the list is the requested snapshot alone and this is one write, as it always was. Nothing
367
- * here goes through the caller's transaction: these are the backend's answers, regenerated by
368
- * any pass.
369
- */
370
322
  protected _applyValueVend(results: ICalcGrid.Results, snapshots: readonly VendSnapshot[]): void;
371
323
  /** {@inheritDoc ICalcGrid.close} */
372
324
  close(): void;
373
325
  get [Symbol.toStringTag](): string;
374
326
  }
375
327
  export declare namespace CalcGrid {
376
- /**
377
- * Everything the grid holds for the model, versioned in the model's own store
378
- * (DESIGN-CALC-SERVICE §13.23, §13.24): what the model wrote and what the backend answered
379
- * with, one record per commit, so an undo restores them with the operation that wrote them.
380
- */
381
328
  interface State {
382
329
  /** The formulas as the model wrote them, one entry per run, with the backend's view where it has vended one. */
383
330
  formulaSpatial: ISpatialMap<FormulaEntry>;
@@ -387,6 +334,8 @@ export declare namespace CalcGrid {
387
334
  contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
388
335
  /** The array extents: what the file said, what an array entry wrote, what the engine vended. */
389
336
  spillSpatial: ISpatialMap<SpillEntry>;
337
+ /** See {@link ICalcGrid.getBlockedSpills}. */
338
+ blockedSpillSpatial: ISpatialMap<SpillEntry>;
390
339
  /**
391
340
  * The volatile regions the file listed: what an `Off` save writes back and a seed carries,
392
341
  * kept where a formula still sits under them. What the engine knows once it is up it answers
@@ -397,10 +346,6 @@ export declare namespace CalcGrid {
397
346
  calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
398
347
  /** Engine FAILURES by cell, as a message. Not error values - those are in the values. */
399
348
  calcErrorsSpatial: ISpatialMap<string>;
400
- /**
401
- * Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
402
- * Maintained from the executor's deltas, like {@link calcStatusSpatial}.
403
- */
404
349
  circularSpatial: ISpatialMap<CircularEntry>;
405
350
  /**
406
351
  * Error VALUES by cell, as the WRITE path knows them: fresh for what the model entered and
@@ -435,6 +380,7 @@ export declare namespace CalcGrid {
435
380
  values: ISparseGrid<Scalar>;
436
381
  contentful: ISpatialMap<ContentfulSpatialValue>;
437
382
  spills: ISpatialMap<SpillEntry>;
383
+ blockedSpills: ISpatialMap<SpillEntry>;
438
384
  calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
439
385
  calcErrors: ISpatialMap<string>;
440
386
  circulars: ISpatialMap<CircularEntry>;
@@ -9,9 +9,6 @@ import { ICalculation } from '../ICalculation';
9
9
  import { ICalcGrid } from './ICalcGrid';
10
10
  import { GridRequest, CalcResponse } from './_CalcRequest';
11
11
  import { CalcGridProxy } from './CalcGridProxy';
12
- /**
13
- * ICalcGrid implementation
14
- */
15
12
  export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.Backend {
16
13
  /**
17
14
  * This is MOSTLY set by the user but spills also contribute.
@@ -75,11 +72,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
75
72
  * time, so the oldest are dropped past a few.
76
73
  */
77
74
  protected _snapshots: Map<string, CalcGridSnapshot> | null;
78
- /**
79
- * The owner's callback for a record the engine pushed - a pass's results, a seed's. The one
80
- * place the response half of the boundary is crossed on the way out (DESIGN-CALC-SERVICE §11); every site
81
- * that pushes calls this rather than `_options.onCalculated`.
82
- */
83
75
  protected _onCalculated: (response: CalcResponse) => void;
84
76
  constructor(options?: CalcGridBackend.ConstructorOptions);
85
77
  /**
@@ -321,7 +313,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
321
313
  /** What a `setReferenceMode` request does: refused for a reference that is not to cells. */
322
314
  protected _setReferenceModeNow(row: number, column: number, index: number, side: ICalculation.ReferenceSide, mode?: number): CalcResponse;
323
315
  /** What an `isVolatile` request answers. */
324
- protected _isVolatileNow(row: number, column: number): boolean;
316
+ _isVolatileNow(row: number, column: number): boolean;
325
317
  protected _formulaAt(row: number, column: number): ISpatialMap.Entry<FormulaSpatialValue> | null;
326
318
  /**
327
319
  * Create non error spill entries for move/copy.
@@ -357,6 +349,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
357
349
  * vend for the pass that follows.
358
350
  */
359
351
  _setInputsNow(values: Tuple.Region<Scalar> | null, formulas: readonly ISpatialMap.Entry<string>[] | null, deleteRange?: IRange.Coords, options?: ICalcGrid.SetInputsOptions): IRange.Coords[];
352
+ _rederivePrecedentsNow(blocks: ISpatialMap.Entry<FormulaSpatialValue>[]): void;
360
353
  /**
361
354
  * Joins each block just written with an equal block beside it, so a formula written under a run
362
355
  * of it, or between two runs, extends the run rather than starting a block of its own.
@@ -399,6 +392,12 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
399
392
  * external book's cached values) is loaded this way; a model's goes through {@link seed}.
400
393
  */
401
394
  _seedNow(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): CalcResponse;
395
+ /**
396
+ * Whether `coords` is the anchor of a spill saved with its result: a result's first cell can be
397
+ * blank, which leaves no value at the anchor, and the spill's other cells are what say it ran. An
398
+ * extent with nothing in it is a writer that does not calculate, and is still owed its evaluation.
399
+ */
400
+ protected _isSavedSpill(coords: IRange.Coords): boolean;
402
401
  /** What a `toJSON` request answers: the grid's content as the engine holds it now. */
403
402
  protected _toJSONNow(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
404
403
  }
@@ -8,15 +8,6 @@ import { NamedReference } from '../Types';
8
8
  import { ICalculation } from '../ICalculation';
9
9
  import { ICalcGrid } from './ICalcGrid';
10
10
  import { CalcRequest } from './_CalcRequest';
11
- /**
12
- * A grid's verbs as requests (DESIGN-CALC-SERVICE §4, §13.23): each one a message through the
13
- * service's channel, addressed by the grid's id. What the model's grid forwards to - it never
14
- * holds the engine's grid, which an `Off` engine does not have.
15
- *
16
- * @remarks
17
- * The engine's own grid answers the same verbs through the same channel, so its engine-side
18
- * tests can drive it directly; it adds what only the engine holds.
19
- */
20
11
  export declare class CalcGridProxy implements ICalcGrid.Backend {
21
12
  protected readonly _gridId: string;
22
13
  protected readonly _sendRequest: CalcGridProxy.ConstructorOptions['send'];
@@ -29,10 +20,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
29
20
  * engine lands at the root's close). `undefined` for a request naming no snapshot.
30
21
  */
31
22
  protected _landingId(options: ICalcGrid.RequestOptions | undefined): string | undefined;
32
- /**
33
- * Sends a request through the service's channel (DESIGN-CALC-SERVICE §4): applied now on a
34
- * `Running` engine, held in order while it is `Starting`, not recorded on an `Off` one.
35
- */
36
23
  protected _send(landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
37
24
  /** @inheritdoc ICalcGrid.getId */
38
25
  getId(): string;
@@ -62,7 +62,8 @@ export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coord
62
62
  export declare function applyContentful(cycleId: number, removes: readonly IRange.Coords[] | null | undefined, inserts: ISpatialMap.Entry[] | null | undefined, contentfulSpatial: ISpatialMap<ContentfulSpatialValue>, spillSpatial: ISpatialMap<SpillEntry>, values: ISparseGrid<Scalar>, addDirty?: (colStart: number, rowStart: number, colEnd: number, rowEnd: number) => void, notifyValuesSpatial?: ISpatialMap, notifySpills?: (insert: ISpatialMap.Entry<SpillEntry>, remove: ISpatialMap.Entry<SpillEntry>) => void, notifyCalcStatus?: ISpatialMap<ICalcGrid.CalcStatus | false>, errorSpatial?: ISpatialMap<string>, // notifyErrorSpatial,
63
63
  isColumn?: boolean, notifyCalc?: boolean, // should notify. this is to differentiate between user set values and calc set values
64
64
  circularSpatial?: ISpatialMap<CircularEntry>, // the circular index: a written cell leaves it, like errorSpatial
65
- calcStatusSpatial?: ISpatialMap<ICalcGrid.CalcStatus>): IRange.Coords | null;
65
+ calcStatusSpatial?: ISpatialMap<ICalcGrid.CalcStatus>, // the pending index: a written cell leaves it now, not at the next pass's end
66
+ blockedSpillSpatial?: ISpatialMap<SpillEntry>): IRange.Coords | null;
66
67
  /**
67
68
  * Creates a map from tuples
68
69
  *
@@ -122,6 +123,12 @@ export interface PrecedentFormulaUpdates {
122
123
  * evaluate, but until then no precedent leads the dirty sweep to them.
123
124
  */
124
125
  dynamicDependents?: ISpatialMap.Entry<FormulaSpatialValue>[];
126
+ /**
127
+ * {@link movePrecedents}: the replacement formulas a cut changed only by moving an EDGE of their
128
+ * reference. They still read only the cut's own sheet, and a contracted one may no longer reach
129
+ * anything the cut touched, so the caller marks them dirty itself.
130
+ */
131
+ edged?: ISpatialMap.Entry<FormulaSpatialValue>[];
125
132
  }
126
133
  /**
127
134
  * Splits precedents at the insertion boundary.
@@ -156,23 +163,7 @@ export declare function splitPrecedentsInsert(precedents: ISpatialMap3D<Preceden
156
163
  * INVARIANT: All resulting formula entries must have logically identical formulas.
157
164
  */
158
165
  export declare function splitPrecedentsDelete(precedents: ISpatialMap3D<PrecedentSpatialValue>, coords: IRange.Coords): PrecedentFormulaUpdates | null;
159
- /**
160
- * Splits precedents at the cut boundary to isolate the moveable sub-block.
161
- *
162
- * @remarks
163
- * For move operations: isolates the sub-block of formula cells whose natural bounds
164
- * are fully enclosed by the move coords. The inner piece will be moved; outer pieces stay.
165
- *
166
- * Natural bounds = the precedent size for a single formula cell.
167
- * A formula cell at block-relative offset `r` has natural row range:
168
- * `[P.rowStart + r, P.rowStart + r + nh - 1]`
169
- * where `nh = (P.rowEnd - P.rowStart) - (F.rowEnd - F.rowStart) + 1`.
170
- *
171
- * Excel rule: only move if the natural bounds fit entirely within the cut rect.
172
- *
173
- * INVARIANT: All resulting formula entries must have logically identical formulas.
174
- */
175
- export declare function splitPrecedentsMove(precedents: ISpatialMap3D<PrecedentSpatialValue>, coords: IRange.Coords): PrecedentFormulaUpdates | null;
166
+ export declare function splitPrecedentsMove(precedents: ISpatialMap3D<PrecedentSpatialValue>, from: IRange.Coords, to: IRange.Coords): PrecedentFormulaUpdates | null;
176
167
  /**
177
168
  * This shifts precedents that cross an intersection boundary.
178
169
  *
@@ -194,13 +185,18 @@ export declare function shiftPrecedents(getPrecedentSpatial: () => ISpatialMap3D
194
185
  * whose precedent points INTO the moved region.
195
186
  *
196
187
  * @remarks
197
- * Pre-condition: splitPrecedentsCut has already been applied so no precedent straddles the boundary.
198
- * After split, each precedent is either fully inside or fully outside the `from` region.
188
+ * Pre-condition: {@link splitPrecedentsMove} has already been applied so no precedent straddles the
189
+ * boundary. After split, each precedent is either fully inside or fully outside the `from` region,
190
+ * or takes one EDGE cut the same way in every cell.
199
191
  *
200
192
  * For a move (cut+paste), the data moves rigidly from `from` to `to`.
201
- * Both edges of the precedent shift by the same delta — a uniform translation.
193
+ * Both edges of an enclosed precedent shift by the same delta — a uniform translation. A precedent
194
+ * whose edge the cut took has that edge moved first ({@link edgeMoveReferenceAxis}); those formulas
195
+ * are also answered in `edged` when nothing of theirs translated, because they still read only
196
+ * the cut's own sheet.
202
197
  *
203
- * Formulas inside the move range are skipped (they move with their data).
198
+ * Formulas inside the move range are skipped (they move with their data), and so are those inside
199
+ * `to`, which are the moved ones.
204
200
  */
205
201
  export declare function movePrecedents(precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>, getDynamicPrecedents: () => Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>, from: IRange.Coords, to: IRange.Coords): PrecedentFormulaUpdates | null;
206
202
  /**
@@ -11,28 +11,6 @@ import { FormulaEntry } from './FormulaEntry';
11
11
  import { ContentfulSpatialValue, SpillEntry, CircularEntry } from '../spatial';
12
12
  import { NamedReference, NamedNodeInfo } from '../Types';
13
13
  import { ICalculation } from '../ICalculation';
14
- /**
15
- * The CalcGridBackend holds input and outputs of in a 2D space to a scope (usually a sheet).
16
- *
17
- * @remarks
18
- * If inputValues are externally managed then formulas update must also be provided.
19
- *
20
- * Every mutation is ASYNCHRONOUS and resolves with an {@link ICalcGrid.Results}: the blocks the
21
- * engine compiled or re-imaged for the write ({@link ICalcGrid.Results.formulaInserts}) and the
22
- * coords it removed ({@link ICalcGrid.Results.formulaRemoves}). Nothing about the grid is readable
23
- * synchronously after a write; a caller keeps its own formula text and patches it from the
24
- * resolution. A request names the snapshot it was made at ({@link ICalcGrid.RequestOptions.commitId})
25
- * and the resolution echoes it ({@link ICalcGrid.Results.commitId}): its coords mean addresses in
26
- * THAT snapshot, whatever the caller has done since. A rewrite the engine makes to a grid nobody
27
- * called - a cross-sheet reference turned `#REF!` by a delete on another sheet - reaches that grid
28
- * through its own `onCalculated`, the way values do, naming the last snapshot the engine applied.
29
- *
30
- * Every request goes through the service's channel (DESIGN-CALC-SERVICE §4, §7.2). On a `Running`
31
- * engine it is applied at once; while the engine is `Starting` it is held, as data, and applied
32
- * in send order once the engine is up, behind the seed the grid was opened from; on an `Off`
33
- * engine it is not recorded at all and resolves with nothing: the caller's own view is the truth
34
- * there, and a later start is seeded from it. An `Off` engine is never started by a request.
35
- */
36
14
  export interface ICalcGrid {
37
15
  /**
38
16
  * Set a group of cells and formula ranges.
@@ -74,28 +52,7 @@ export interface ICalcGrid {
74
52
  * This allows for incremental dirty updates.
75
53
  */
76
54
  markDirtyRegions(coords: IRange.Coords[]): void;
77
- /**
78
- * The key of this grid's record in the model's store (DESIGN-CALC-SERVICE §13.23): what the
79
- * grid holds, versioned beside the sheet's own record so that an undo restores both together.
80
- *
81
- * @remarks
82
- * For a cell buffer to name among the records its held writes go to, so that a read of the
83
- * grid through the store makes those writes first. The reads themselves take the transaction
84
- * to answer for; nothing reads the record by this key.
85
- */
86
55
  getStateId(): string;
87
- /**
88
- * The values as the model holds them: the literals it entered and the answers the engine
89
- * vended, one map (DESIGN-CALC-SERVICE §13.24).
90
- *
91
- * @remarks
92
- * The whole grid, not a narrowed read surface: the sheet reads values on its hottest paths and
93
- * sparse grids are heading for buffer-backed runs, which closes the boundary a narrower type
94
- * would have bought. Answered from the grid's own store record - never the backend's working
95
- * copy, which is on the far side of the boundary and can be behind.
96
- * @param transaction Read the record as this transaction sees it, its held writes not yet
97
- * made; the current record when omitted.
98
- */
99
56
  getValues(transaction?: ITransaction | null): ISparseGrid<Scalar>;
100
57
  /**
101
58
  * The contentful index: which cells hold a value, summarized per run. Derived from
@@ -110,6 +67,11 @@ export interface ICalcGrid {
110
67
  * made; the current record when omitted.
111
68
  */
112
69
  getSpills(transaction?: ITransaction | null): ISpatialMap<SpillEntry>;
70
+ /**
71
+ * The blocked spills, each at the extent it would take, for showing that region. A blocked spill
72
+ * occupies none of it: its anchor holds the `#SPILL!`, so nothing that reads cells needs this.
73
+ */
74
+ getBlockedSpills(): ISpatialQuery<SpillEntry>;
113
75
  /**
114
76
  * The cells the engine has not answered for yet - an async function in flight, a pass still
115
77
  * running.
@@ -124,11 +86,6 @@ export interface ICalcGrid {
124
86
  * made; the current record when omitted.
125
87
  */
126
88
  getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
127
- /**
128
- * Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
129
- * @param transaction Read the record as this transaction sees it, its held writes not yet
130
- * made; the current record when omitted.
131
- */
132
89
  getCirculars(transaction?: ITransaction | null): ISpatialMap<CircularEntry>;
133
90
  /**
134
91
  * Error VALUES (`#DIV/0!`, `#N/A`, ...) by cell: the `Error` scalar kind, entered or computed.
@@ -351,24 +308,6 @@ export interface ICalcGrid {
351
308
  * @param options See {@link ICalcGrid.RequestOptions}.
352
309
  */
353
310
  setFiltered(filtered: boolean, options?: ICalcGrid.RequestOptions): void;
354
- /**
355
- * Opens the grid from a seed: a statement of its whole content (DESIGN-CALC-SERVICE §6).
356
- *
357
- * @param json The content, the same record a save writes.
358
- * @param options {@link ICalcGrid.SeedOptions}
359
- *
360
- * @remarks
361
- * Replaces everything the grid held, so opening twice equals opening once. A seed is a request
362
- * like any other: applied at once on a `Running` engine, held in order while the engine is
363
- * `Starting`, not recorded on an `Off` one (the owner keeps the content and hands it over again
364
- * when the service is started). Its results are a full pass's - `isFull`, every block it
365
- * compiled and every array extent it read - and reach the owner through `onCalculated` as it is
366
- * applied, in order with every other record the grid pushes; the promise resolves after that.
367
- *
368
- * A seed trusts the values it carries as a load does. One handed over at `start()` by an owner
369
- * the engine has not been following - a sheet written to while `Off` - asks for a full pass
370
- * instead ({@link ICalcGrid.SeedOptions.full}).
371
- */
372
311
  seed(json: ICalcGrid.JSON, options?: ICalcGrid.SeedOptions): Promise<ICalcGrid.Results>;
373
312
  /**
374
313
  * Returns a JSON representation of the calcGrid.
@@ -405,12 +344,7 @@ export interface ICalcGrid {
405
344
  * {@link ICalcGrid}
406
345
  */
407
346
  export declare namespace ICalcGrid {
408
- /**
409
- * What the model's grid forwards to (DESIGN-CALC-SERVICE §13.23): every verb and every read
410
- * the engine answers, and nothing the model holds for itself. The in-process engine grid is
411
- * one; a message-passing proxy under a worker is another.
412
- */
413
- type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getCalcStatus' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
347
+ type Backend = Omit<ICalcGrid, 'getStateId' | 'getEntireCoords' | 'getFormulaAt' | 'getFormulas' | 'getValues' | 'getContentful' | 'getSpills' | 'getBlockedSpills' | 'getCalcStatus' | 'getCalcErrors' | 'getCirculars' | 'getErrorValues' | 'getValuesEpoch' | 'getVolatileRegions' | 'getRangeStats'> & {
414
348
  /** Write a body as authored; the engine anchors it (see {@link ICalcGrid.BodyOptions}). */
415
349
  setBody(options: ICalcGrid.BodyOptions): Promise<ICalcGrid.Results>;
416
350
  /** {@link ICalcGrid.evaluateAt} coerced to one scalar, as a defined name's `evaluate()` is. */
@@ -437,8 +371,11 @@ export declare namespace ICalcGrid {
437
371
  authoredAt: IRange.CellCoords;
438
372
  /** The sheet grid a bare reference in the expression resolves against. */
439
373
  scopeGridId: string;
440
- /** Re-derive the formulas that mention this grid's name once the body is in: a defined name's. */
441
- recompile?: boolean;
374
+ /**
375
+ * Re-derive the formulas that mention this grid's name once the body is in: a defined name's.
376
+ * `'load'` when the body is the one the file holds, so a formula loaded with it keeps its value.
377
+ */
378
+ recompile?: boolean | 'load';
442
379
  /**
443
380
  * Applied ahead of the other requests a start holds: a defined name must be bound before any
444
381
  * formula that mentions it is examined.
@@ -516,7 +453,8 @@ export declare namespace ICalcGrid {
516
453
  valueRemoves?: IRange.Coords[];
517
454
  /**
518
455
  * Contains any spills that were inserted. The value is the
519
- * {@link ITypes.FormulaArrayKind | kind} of the block that produced it.
456
+ * {@link ITypes.FormulaArrayKind | kind} of the block that produced it. An `error` is at the
457
+ * extent it would take, as it is in {@link spillRemoves}.
520
458
  */
521
459
  spillInserts?: ISpatialMap.Entry<ITypes.FormulaArrayKind>[];
522
460
  /**
@@ -559,18 +497,6 @@ export declare namespace ICalcGrid {
559
497
  * These are guaranteed to not overlap.
560
498
  */
561
499
  circularUpdates?: ISpatialMap.Entry<CircularEntry | null>[];
562
- /**
563
- * Blocks the engine compiled or re-imaged, at the coords they cover, as the read views the
564
- * model holds: the vend of the formula half. Every site that mints a block reports it here -
565
- * a write, a value splitting a block, a shift, a cross-sheet `#REF!`, a copy, a fill, a
566
- * reference edit, the legacy `@` wrap on load.
567
- *
568
- * @remarks
569
- * Applied in order after {@link formulaRemoves}. On {@link isFull} every block on the grid is
570
- * listed, so a caller that dropped its blocks on the full pass has them all back. What
571
- * crosses is the block as data; the view is imaged from it on the model's side of the
572
- * channel, against the model's own symbols (DESIGN-CALC-SERVICE §8).
573
- */
574
500
  formulaInserts?: ISpatialMap.Entry<IFormulaBlockView>[];
575
501
  /**
576
502
  * Coords whose formulas the engine removed: cleared, replaced, or moved away by a shift.
@@ -628,17 +554,6 @@ export declare namespace ICalcGrid {
628
554
  circularSpatial: ISpatialMap<CircularEntry>;
629
555
  contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
630
556
  notifyValues: ISpatialMap;
631
- /**
632
- * Reports a region whose answer changed without a write to the grid: a blank region the pass
633
- * shares one answer for on the block instead of writing (PLAN-WATCHES-BLANK-AWARE §4c).
634
- *
635
- * @remarks
636
- * Accumulated as bounds, not as a region index. Only `Results.bounds` learns of this - there
637
- * are no values to vend - and that is one rectangle over every notify source, so the union is
638
- * the whole of what a caller can observe.
639
- *
640
- * `coords` is read, never kept, and its scope is ignored.
641
- */
642
557
  notifyBlank(coords: IRange.Coords): void;
643
558
  notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
644
559
  notifySpillsRemove: IRange.Coords[];