@sheetxl/sdk 0.8.0-beta.11 → 0.8.0-beta.13

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 (349) hide show
  1. package/THIRD-PARTY-NOTICES.md +172 -0
  2. package/browser/esm/{BMyDRQ716j79h_bH.mjs → -GEhXGMfNcWmHPby.mjs} +6 -6
  3. package/browser/esm/{B7aUIvgUjncMMD_i.mjs → 9WXf_BTKjW1cQisZ.mjs} +95 -94
  4. package/browser/esm/{PcHFjNzQsE54POri.mjs → B2SgIPPBX0wjzuq8.mjs} +1 -1
  5. package/browser/esm/{DEiPS3Dr-s4fPbVZ.mjs → BC2RwlNwCdRywkoD.mjs} +1 -1
  6. package/browser/esm/{BpgskG1Er_lGQ_yS.mjs → BEqhm9xAUPiHUCFv.mjs} +1 -1
  7. package/browser/esm/BHgqi7KNrl7Vjr0W.mjs +348 -0
  8. package/browser/esm/{BkBhLS0l6z8sxI6D.mjs → BJKH0tDRx2FeSWvt.mjs} +2 -2
  9. package/browser/esm/{CU3DmJ-YnVVrC1_k.mjs → BTgWtqdQoh2cB6DL.mjs} +1 -1
  10. package/browser/esm/{Dyq_ivuHvlXLwPCl.mjs → BVshV1iY3bcUH9_E.mjs} +1135 -1129
  11. package/browser/esm/{BFagR2JeWs74iAG3.mjs → BYQ63XU7JzB4_itX.mjs} +1 -1
  12. package/browser/esm/{DvAaxH6z_tGvrRzl.mjs → Bax5aOzQkbHKXW_X.mjs} +239 -230
  13. package/browser/esm/{DLLE0FZNsKxbBzRn.mjs → BiDGKhtzV6yIy66o.mjs} +45 -45
  14. package/browser/esm/BmYrWK5OmHRtgyqM.mjs +367 -0
  15. package/browser/esm/{ClPfI4lODvCece29.mjs → BoAlHgjPQ6mxb_oO.mjs} +74 -74
  16. package/browser/esm/{BoV6zPBnfqCBCqZ7.mjs → C0mjTq8lhrX3HiPa.mjs} +4328 -3166
  17. package/browser/esm/{nvU0ClAbf0g94YBK.mjs → C5j0IdwtYkWlOftv.mjs} +604 -596
  18. package/browser/esm/{DWNzqw7DUKwoxjri.mjs → CL84-iL2QeKlLzo5.mjs} +2 -2
  19. package/browser/esm/{Ctjb0SsxV4K4MMqG.mjs → CLkBe-6n-pStQhnz.mjs} +2 -2
  20. package/{node/esm/CZICGK_ss0HoGHCP.mjs → browser/esm/CPzfhTPX2Y4dHX2p.mjs} +2 -2
  21. package/browser/esm/{Dlmig06rIo7cInRk.mjs → CSJuIjYUOE387FIP.mjs} +1 -1
  22. package/browser/esm/{BjkCiv5Jz6WYKZeu.mjs → Cdw0mGuoV3IU2LhR.mjs} +2 -2
  23. package/browser/esm/Ced5uyofOWHuL_Jy.mjs +114 -0
  24. package/browser/esm/{CkxWugaJFjDGZNZ-.mjs → Ci_LJ4S_GvYX0STI.mjs} +1 -1
  25. package/browser/esm/{zlLuW405RSguy4Kn.mjs → CwygVKP_RXmne5Ot.mjs} +47 -47
  26. package/browser/esm/{C4MqfLn9Dm-l3OIk.mjs → D-mfK0noQrM2jZLT.mjs} +1 -1
  27. package/browser/esm/{BnG31I6Oj_HEtSPS.mjs → D9SH_8v3FYCnxOFK.mjs} +1 -1
  28. package/browser/esm/{BVDiOXGMc5_FMGfy.mjs → DPD8fop6az9HZNiK.mjs} +2 -2
  29. package/browser/esm/DW-MmlgMH87l-_cw.mjs +302 -0
  30. package/browser/esm/{CaB7J-xgfKO2uAkG.mjs → DctIlUsO78-OU2ht.mjs} +2 -2
  31. package/browser/esm/DdcKkVb4jM6Y_epY.mjs +184 -0
  32. package/browser/esm/{CHU6iu_WGlm7fLET.mjs → DfKzE0IY0TjaEIxG.mjs} +1 -1
  33. package/browser/esm/{C2VbEI_XVAoseAwa.mjs → DkloMquaR1pbZCER.mjs} +44 -43
  34. package/browser/esm/{C16ycKja6zG0crV_.mjs → Dz86-De57bv2VYIi.mjs} +19447 -16481
  35. package/browser/esm/{BtvLTTfSBdAKplVG.mjs → HApSgmV2FXRRwQac.mjs} +1 -1
  36. package/browser/esm/{CQYjO777cmAznUzK.mjs → IbVAQU4YqtFqLwYk.mjs} +1 -1
  37. package/browser/esm/index.mjs +823 -644
  38. package/browser/esm/mHQ95RAfxHzcUN2r.mjs +18 -0
  39. package/browser/esm/pm00uZZu_H3gxHFx.mjs +117 -0
  40. package/browser/esm/{CV5EGEjG5_-CPpP0.mjs → quEvwgrEuOb0h3q-.mjs} +1926 -1298
  41. package/browser/esm/{ClbvFbFzFzXLBKNN.mjs → zZngLMg6mg6nnNGX.mjs} +66 -66
  42. package/licenses/dependencies.txt +71 -1
  43. package/node/esm/{BqiexuA89caYnAPz.mjs → -K4Cek-bTUItkB_8.mjs} +1 -1
  44. package/node/esm/-b8yNV4v9qiq8EMY.mjs +117 -0
  45. package/node/esm/{D8zEN-6ZdDqDvTxM.mjs → 1V-m67YHbxmg3xk2.mjs} +74 -74
  46. package/node/esm/{D_t5AUxSm7_icjzq.mjs → 4ROAfJC1mokmqubv.mjs} +1 -1
  47. package/node/esm/B89et7t3uRmtxk4v.mjs +115 -0
  48. package/node/esm/BKBkCBNGhMU0nQdY.mjs +372 -0
  49. package/node/esm/{OVfaSb506tNSIvbv.mjs → BQ2XqExomMceAjfe.mjs} +20822 -18373
  50. package/node/esm/{2Kihw_-5lVTEnwMa.mjs → Bfg7qjCXCwXbzW3K.mjs} +1 -1
  51. package/node/esm/{D1TKBVmoKGAXf37B.mjs → BtMeAB_dqJnOfzJM.mjs} +2 -2
  52. package/node/esm/{D6e2z7eZpxOJXHc7.mjs → Byc_bxU_MdjYtt0x.mjs} +1 -1
  53. package/node/esm/{CNCNJNg890KdgkWh.mjs → Bzrl292TNCK3Cpid.mjs} +1 -1
  54. package/node/esm/{De2IONBxQhz-Qbyh.mjs → C0P9zspoypRAj7yv.mjs} +1 -1
  55. package/node/esm/{CzXT00vrQa1_gvW9.mjs → C9gpMN3galHGZyoK.mjs} +1 -1
  56. package/node/esm/CKCG2peOkTq0gIIW.mjs +310 -0
  57. package/node/esm/{DUTskXCXref-IJnI.mjs → CWBS90g3Hz-kQDkY.mjs} +46 -46
  58. package/node/esm/{BIwObuhTJYf0jpUa.mjs → CoGSVnn-hNMtTEus.mjs} +2 -2
  59. package/node/esm/{CwePQwTILHHjGDkZ.mjs → CzrLqStvrcPE2-hb.mjs} +194 -185
  60. package/node/esm/{CCN5vD410obwdz38.mjs → D16EdlZG1hX5WUUK.mjs} +96 -95
  61. package/node/esm/{CDHdgJXH2vS71WMc.mjs → D1mDga2K5sjs8y07.mjs} +1 -1
  62. package/node/esm/{cGwrLA1RCE-WhJ7w.mjs → D2jtztjE6c23RKvZ.mjs} +1 -1
  63. package/node/esm/{Bbf1Pm9Gk7YpLTvg.mjs → D9nRcWsYk3M82iD8.mjs} +1 -1
  64. package/node/esm/{yavzZOiZW_EjG9lE.mjs → DALYzTxZ9Ur9C69Q.mjs} +1 -1
  65. package/node/esm/{DkwIPzKc3UwdUIfM.mjs → DF0nL7s01dp7n0Bx.mjs} +10 -10
  66. package/node/esm/{DNRhGK-8Tr9xcRyc.mjs → DO5ldLqhTvIfPXLW.mjs} +3348 -2610
  67. package/node/esm/DQz8J8ci7EJdqbuB.mjs +351 -0
  68. package/node/esm/{BIRq1kT7lLRzns9t.mjs → DR2OQTKqqyIkZnse.mjs} +2 -2
  69. package/node/esm/{857CIBgQgGpnqrXk.mjs → DSTLPBgpsGW6qP9e.mjs} +73 -73
  70. package/node/esm/{CGp6VZL-gZa9Uezx.mjs → DiXp7KSOZUSWXaZ5.mjs} +1 -1
  71. package/node/esm/{CZiqiay42tFTrLI4.mjs → DwvXHsycOQR219c7.mjs} +1 -1
  72. package/node/esm/{B21JjOLghRoDOrkx.mjs → Hc6B04OyVzHx2F5I.mjs} +38 -37
  73. package/node/esm/{Ct3h15sCus4Tgt6M.mjs → NkPNHsq2T3DXg76x.mjs} +561 -553
  74. package/node/esm/{B084DssTcdBheTp_.mjs → Nl_IIkO1jbk0s9i-.mjs} +4552 -3373
  75. package/node/esm/{D2KBymQJd1XhpeQD.mjs → OQT5lGqq8a4r5xNa.mjs} +1 -1
  76. package/node/esm/OTaaFGhF-k_iwobp.mjs +18 -0
  77. package/node/esm/{CdJHUJSBRHZoryPe.mjs → Z1elC_roIu7LhceZ.mjs} +53 -53
  78. package/{browser/esm/D5np__Jb1euAyaLw.mjs → node/esm/e3F3OVXCxLJrSukW.mjs} +2 -2
  79. package/node/esm/index.mjs +806 -625
  80. package/node/esm/{mFiBSM7XgBHV9AY7.mjs → suOBVUz-pca6ilJH.mjs} +1607 -1601
  81. package/package.json +8 -6
  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 +12 -2
  141. package/resources/locales/en/model.msg.json +13 -2
  142. package/types/scripting-api.json +10638 -10446
  143. package/types/scripting-enums.json +20 -1
  144. package/types/scripting.d.ts +1536 -477
  145. package/types/src/.generated/wasm/sdk.d.ts +5 -27
  146. package/types/src/address/AddressUtils.d.ts +8 -0
  147. package/types/src/address/_SheetNameQuoteChars.d.ts +3 -0
  148. package/types/src/{sheet → anomalies}/_Anomalies.d.ts +3 -3
  149. package/types/src/anomalies/_FocusTable.d.ts +5 -0
  150. package/types/src/{sheet/_AnomalyFormulaChecks.d.ts → anomalies/_FormulaChecks.d.ts} +10 -2
  151. package/types/src/{sheet/_AnomalyLabelChecks.d.ts → anomalies/_LabelChecks.d.ts} +1 -1
  152. package/types/src/anomalies/_LiteralChecks.d.ts +35 -0
  153. package/types/src/anomalies/_SeriesChecks.d.ts +13 -0
  154. package/types/src/calculation/Calculation.d.ts +61 -98
  155. package/types/src/calculation/ExternalBookBindings.d.ts +2 -29
  156. package/types/src/calculation/ICalculation.d.ts +96 -9
  157. package/types/src/calculation/NamedFormulaCollection.d.ts +110 -10
  158. package/types/src/calculation/TokenType.d.ts +0 -10
  159. package/types/src/calculation/_CloneBoundary.d.ts +0 -24
  160. package/types/src/calculation/_FormulaToolkit.d.ts +0 -5
  161. package/types/src/calculation/compiler/ASTTypes.d.ts +6 -15
  162. package/types/src/calculation/compiler/CompilerUtils.d.ts +0 -227
  163. package/types/src/calculation/compiler/FormulaLexer.d.ts +0 -8
  164. package/types/src/calculation/compiler/FormulaParser.d.ts +0 -61
  165. package/types/src/calculation/compiler/ParserUtils.d.ts +0 -24
  166. package/types/src/calculation/compiler/Types.d.ts +1 -45
  167. package/types/src/calculation/engine/CalcBackend.d.ts +83 -127
  168. package/types/src/calculation/engine/index.d.ts +0 -8
  169. package/types/src/calculation/executor/CalcExecutor.d.ts +50 -116
  170. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +47 -12
  171. package/types/src/calculation/executor/CircularReference.d.ts +0 -17
  172. package/types/src/calculation/executor/_BlockOrder.d.ts +29 -0
  173. package/types/src/calculation/executor/_WhatIf.d.ts +31 -0
  174. package/types/src/calculation/formula/FormulaBlock.d.ts +4 -31
  175. package/types/src/calculation/formula/FormulaRecordView.d.ts +0 -15
  176. package/types/src/calculation/formula/IFormulaBlock.d.ts +5 -12
  177. package/types/src/calculation/formula/LambdaValue.d.ts +0 -15
  178. package/types/src/calculation/formula/TokenUtils.d.ts +1 -8
  179. package/types/src/calculation/functions/_DataTableFunction.d.ts +14 -0
  180. package/types/src/calculation/grid/CalcGrid.d.ts +8 -64
  181. package/types/src/calculation/grid/CalcGridBackend.d.ts +12 -35
  182. package/types/src/calculation/grid/CalcGridProxy.d.ts +0 -15
  183. package/types/src/calculation/grid/CalcGridUtils.d.ts +21 -23
  184. package/types/src/calculation/grid/ICalcGrid.d.ts +28 -109
  185. package/types/src/calculation/grid/_CalcRequest.d.ts +17 -33
  186. package/types/src/calculation/spatial/CircularEntry.d.ts +0 -10
  187. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +54 -82
  188. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -3
  189. package/types/src/calculation/state/CalcNode.d.ts +0 -1
  190. package/types/src/calculation/state/CalcScope.d.ts +29 -9
  191. package/types/src/calculation/state/CalcState.d.ts +19 -9
  192. package/types/src/calculation/state/CalculationContext.d.ts +32 -38
  193. package/types/src/calculation/state/DeferredCalls.d.ts +207 -0
  194. package/types/src/calculation/state/IContextContainer.d.ts +19 -55
  195. package/types/src/calculation/state/_KeepBlanks.d.ts +5 -0
  196. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +52 -33
  197. package/types/src/calculation/state/_WhatIfLayer.d.ts +77 -0
  198. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +0 -42
  199. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +0 -6
  200. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +0 -12
  201. package/types/src/calculation/symbol/SymbolRegistry.d.ts +0 -9
  202. package/types/src/calculation/toolkit/index.d.ts +0 -8
  203. package/types/src/cell/ICell.d.ts +59 -54
  204. package/types/src/cellControl/CellControl.d.ts +67 -0
  205. package/types/src/cellControl/CellControlCollection.d.ts +29 -0
  206. package/types/src/cellControl/CellControlRegistry.d.ts +47 -0
  207. package/types/src/cellControl/ICellControl.d.ts +99 -0
  208. package/types/src/cellControl/ICellControlCollection.d.ts +67 -0
  209. package/types/src/cellControl/index.d.ts +4 -0
  210. package/types/src/cellRange/ICellRange.d.ts +226 -67
  211. package/types/src/cellRange/ICellRanges.d.ts +4 -3
  212. package/types/src/chart/Chart.d.ts +0 -16
  213. package/types/src/chart/_ChartParts.d.ts +0 -39
  214. package/types/src/chart/_ChartSource.d.ts +0 -14
  215. package/types/src/chart/createChart.d.ts +1 -1
  216. package/types/src/chart/kinds/ChartKind.d.ts +4 -4
  217. package/types/src/chart/kinds/_Placeholder.d.ts +0 -1
  218. package/types/src/chart/layout/ChartLayout.d.ts +5 -1
  219. package/types/src/chart/layout/TextMeasurer.d.ts +0 -20
  220. package/types/src/chart/layout/_LayoutUtils.d.ts +0 -16
  221. package/types/src/chart/math/BoxStats.d.ts +0 -8
  222. package/types/src/chart/math/DateUnitCalcs.d.ts +0 -10
  223. package/types/src/chart/math/Histogram.d.ts +0 -17
  224. package/types/src/chart/math/OrdUnitCalcs.d.ts +0 -53
  225. package/types/src/chart/math/Treemap.d.ts +0 -15
  226. package/types/src/chart/math/Trendlines.d.ts +0 -8
  227. package/types/src/chart/math/UnitCalcs.d.ts +0 -22
  228. package/types/src/chart/model/_Edits.d.ts +0 -33
  229. package/types/src/chart/model/_Grouping.d.ts +0 -25
  230. package/types/src/chart/model/_Inference.d.ts +0 -18
  231. package/types/src/chart/model/_NewChart.d.ts +0 -41
  232. package/types/src/chart/model/_OfPie.d.ts +0 -7
  233. package/types/src/chart/resolve/_LegacyStyles.d.ts +0 -20
  234. package/types/src/chart/resolve/_Resolve.d.ts +3 -12
  235. package/types/src/chart/resolve/_ResolvedChart.d.ts +5 -8
  236. package/types/src/collections/ISparseGrid.d.ts +11 -2
  237. package/types/src/collections/MixedTypedArrayList.d.ts +8 -2
  238. package/types/src/collections/SparseGrid.d.ts +3 -8
  239. package/types/src/collections/_GridUtils.d.ts +0 -10
  240. package/types/src/comment/_NoteBox.d.ts +0 -15
  241. package/types/src/condition/AnchoredConditional.d.ts +3 -25
  242. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +0 -49
  243. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +0 -10
  244. package/types/src/condition/ICondition.d.ts +2 -2
  245. package/types/src/condition/_ConditionUtils.d.ts +0 -38
  246. package/types/src/externalBook/ExternalBookCollection.d.ts +0 -15
  247. package/types/src/externalBook/ExternalBookName.d.ts +2 -3
  248. package/types/src/externalBook/IExternalBook.d.ts +16 -18
  249. package/types/src/fetch/Fetcher.d.ts +15 -0
  250. package/types/src/fetch/IFetcher.d.ts +48 -0
  251. package/types/src/fetch/_WorkbookFetch.d.ts +43 -0
  252. package/types/src/fetch/index.d.ts +3 -0
  253. package/types/src/fill/PaintUtils.d.ts +3 -1
  254. package/types/src/font/AdvanceTable.d.ts +16 -42
  255. package/types/src/font/IFont.d.ts +32 -9
  256. package/types/src/font/TableFileAdvanceBuilder.d.ts +6 -3
  257. package/types/src/font/_FontUtils.d.ts +0 -8
  258. package/types/src/font/_StandIns.d.ts +33 -0
  259. package/types/src/hyperlink/IHyperlink.d.ts +10 -0
  260. package/types/src/hyperlink/_Hyperlink.d.ts +4 -1
  261. package/types/src/index.d.ts +2 -1
  262. package/types/src/io/IWorkbookIO.d.ts +3 -3
  263. package/types/src/io/WorkbookOrigin.d.ts +2 -2
  264. package/types/src/license/LicenseManager.d.ts +2 -1
  265. package/types/src/license/_Utils.d.ts +4 -3
  266. package/types/src/license/details.d.ts +3 -1
  267. package/types/src/license/keys.d.ts +6 -0
  268. package/types/src/license/license-key.d.ts +15 -33
  269. package/types/src/license/token.d.ts +55 -0
  270. package/types/src/named/INamedCollection.d.ts +36 -0
  271. package/types/src/named/NamedCollection.d.ts +18 -0
  272. package/types/src/picture/IPicture.d.ts +45 -0
  273. package/types/src/picture/Picture.d.ts +12 -0
  274. package/types/src/pivot/PivotTable.d.ts +0 -7
  275. package/types/src/primitives/AsyncValue.d.ts +46 -0
  276. package/types/src/primitives/PrimitiveUtils.d.ts +1 -110
  277. package/types/src/primitives/Range.d.ts +0 -60
  278. package/types/src/primitives/ScalarCollation.d.ts +0 -106
  279. package/types/src/primitives/stats/AggregateStats.d.ts +0 -19
  280. package/types/src/print/PageLayout.d.ts +0 -6
  281. package/types/src/reference/ReferenceUtils.d.ts +4 -2
  282. package/types/src/resource/IResource.d.ts +9 -0
  283. package/types/src/resource/IResourceCollection.d.ts +4 -0
  284. package/types/src/resource/Resource.d.ts +2 -0
  285. package/types/src/resource/_AddResource.d.ts +13 -0
  286. package/types/src/richData/CellImage.d.ts +95 -0
  287. package/types/src/richData/Hyperlink.d.ts +49 -0
  288. package/types/src/richData/IRichDataCollection.d.ts +76 -0
  289. package/types/src/richData/IRichDataKind.d.ts +55 -11
  290. package/types/src/richData/RichArray.d.ts +42 -0
  291. package/types/src/richData/RichDataCollection.d.ts +23 -0
  292. package/types/src/richData/RichDataRegistry.d.ts +52 -14
  293. package/types/src/richData/RichDataValues.d.ts +20 -0
  294. package/types/src/richData/RichRecord.d.ts +68 -0
  295. package/types/src/richData/RichText.d.ts +5 -5
  296. package/types/src/richData/index.d.ts +6 -0
  297. package/types/src/scripting/FunctionArguments.d.ts +17 -1
  298. package/types/src/scripting/FunctionCollection.d.ts +8 -0
  299. package/types/src/scripting/Scripts.d.ts +10 -0
  300. package/types/src/scripting/TypedFunction.d.ts +2 -109
  301. package/types/src/sheet/ICellContainerOptions.d.ts +6 -0
  302. package/types/src/sheet/IWorksheet.d.ts +26 -22
  303. package/types/src/sheet/NamedCellRange.d.ts +0 -21
  304. package/types/src/sheet/SheetCell.d.ts +25 -3
  305. package/types/src/sheet/SheetRange.d.ts +8 -2
  306. package/types/src/sheet/SheetRanges.d.ts +2 -2
  307. package/types/src/sheet/Worksheet.d.ts +117 -104
  308. package/types/src/sheet/_DelimitedText.d.ts +13 -0
  309. package/types/src/sheet/_IgnoredErrors.d.ts +0 -12
  310. package/types/src/sheet/_ListenerAnchor.d.ts +7 -1
  311. package/types/src/sheet/_ScalarListFactory.d.ts +46 -17
  312. package/types/src/sheet/_SheetCoords.d.ts +0 -7
  313. package/types/src/sheet/_SheetFilterUtils.d.ts +0 -8
  314. package/types/src/sheet/_SheetMutations.d.ts +4 -1
  315. package/types/src/sheet/_SheetStateReader.d.ts +0 -10
  316. package/types/src/sheet/_SheetStateTypes.d.ts +23 -14
  317. package/types/src/sheet/_SheetUtils.d.ts +1 -1
  318. package/types/src/sheet/style/_RowLine.d.ts +32 -0
  319. package/types/src/sheet/style/_StyleUtils.d.ts +6 -14
  320. package/types/src/sheetView/_SheetViewUtils.d.ts +0 -1
  321. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +0 -5
  322. package/types/src/style/ICellStyle.d.ts +4 -0
  323. package/types/src/table/AnchoredTable.d.ts +0 -147
  324. package/types/src/text/TextFrame.d.ts +4 -1
  325. package/types/src/text/TextStacked.d.ts +0 -24
  326. package/types/src/text/TextWrapper.d.ts +3 -5
  327. package/types/src/text/_LineBox.d.ts +24 -0
  328. package/types/src/text/_TextUtils.d.ts +5 -2
  329. package/types/src/text/_TextWrapperFallback.d.ts +2 -1
  330. package/types/src/wasm/sdkWasm.d.ts +1 -1
  331. package/types/src/workbook/IWorkbook.d.ts +40 -1
  332. package/types/src/workbook/Workbook.d.ts +25 -13
  333. package/types/src/workbook/WorkbookRanges.d.ts +1 -1
  334. package/browser/esm/BGOFfpxr2jPIdqmV.mjs +0 -40
  335. package/browser/esm/BLoUBId2xZpXAK_H.mjs +0 -698
  336. package/browser/esm/C5E6zSGAALWf61n4.mjs +0 -199
  337. package/browser/esm/S2dNNx1a5ydRnARM.mjs +0 -367
  338. package/browser/esm/f1IoRb7tEb0QmCSt.mjs +0 -110
  339. package/browser/esm/gssVX_FH1XFN-twD.mjs +0 -210
  340. package/node/esm/BrCKGFRsX_ezFJ4B.mjs +0 -811
  341. package/node/esm/DOU54VsOjG-m-NyQ.mjs +0 -210
  342. package/node/esm/Db0v7zXNnyjBIjjI.mjs +0 -372
  343. package/node/esm/Df1bL6VFvrqIdSLB.mjs +0 -40
  344. package/node/esm/DrTZbfemSLq2mseG.mjs +0 -111
  345. package/types/src/dataTable/DataTable.d.ts +0 -67
  346. package/types/src/dataTable/DataTableCollection.d.ts +0 -19
  347. package/types/src/dataTable/IDataTable.d.ts +0 -99
  348. package/types/src/dataTable/IDataTableCollection.d.ts +0 -18
  349. package/types/src/dataTable/index.d.ts +0 -6
@@ -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,8 +113,10 @@ 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
- getPending(transaction?: ITransaction | null): ISpatialMap<boolean>;
119
+ getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
139
120
  /** {@inheritDoc ICalcGrid.getCalcErrors} */
140
121
  getCalcErrors(transaction?: ITransaction | null): ISpatialMap<string>;
141
122
  /** {@inheritDoc ICalcGrid.getCirculars} */
@@ -233,8 +214,6 @@ export declare class CalcGrid implements ICalcGrid {
233
214
  _demand(rects: readonly IRange.Coords[]): void;
234
215
  /** {@inheritDoc ICalcGrid.getGraphNeighborsAt} */
235
216
  getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
236
- /** {@inheritDoc ICalcGrid.Backend.getNameGraph} @internal */
237
- _getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
238
217
  /** {@inheritDoc ICalcGrid.evaluateAt} */
239
218
  evaluateAt(row: number, column: number, options?: number | ICalculation.EvaluateOptions): Promise<Scalar | IRange>;
240
219
  /** `true` once closed: its state is gone. @internal */
@@ -281,15 +260,6 @@ export declare class CalcGrid implements ICalcGrid {
281
260
  * @internal
282
261
  */
283
262
  _seedContent(): ICalcGrid.JSON | null;
284
- /**
285
- * This grid's content as its calc JSON (DESIGN-CALC-SERVICE §6.6): the same record a save
286
- * writes, and what a start opens the backend from. The formulas, the array extents, the
287
- * volatile regions, the rows and columns the owner hides and - with `includeData` - the values
288
- * are all this grid's own; a volatile region is kept only where a formula still sits.
289
- *
290
- * A pending entry is written as its own text; a compiled one images its block where it sits.
291
- * @internal
292
- */
293
263
  _content(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
294
264
  /** The array extents a load carries, as spill entries. */
295
265
  protected _spillsFromJSON(formulaArray: readonly IRange.JSONReferenceTuple<ITypes.FormulaArrayKind>[]): ISpatialMap.Entry<SpillEntry>[];
@@ -349,37 +319,12 @@ export declare class CalcGrid implements ICalcGrid {
349
319
  * first; the record lists every block.
350
320
  */
351
321
  protected _adopt(results: ICalcGrid.Results, vended?: readonly VendSnapshot[]): void;
352
- /**
353
- * Land the value half of a record - values, spills, errors, pending and circular marks - in the
354
- * snapshots it answers for, by ownership (DESIGN-CALC-SERVICE §13.18).
355
- *
356
- * @remarks
357
- * Every item has one owner, and a snapshot's formula map says which: a cell holding a formula
358
- * entry is the engine's, one holding none is the model's, a spill cell is the engine's through
359
- * its anchor. So an item lands in a snapshot where that snapshot's map holds, over the item,
360
- * what the requested snapshot's map held: the requested snapshot itself everywhere, a later one
361
- * wherever nothing newer wrote. An item that a later write cut into is split at the ownership
362
- * boundary when its payload is per cell (a value run, a pending or error mark, which the maps
363
- * merge across neighbors) and left whole when it is one thing (a spill extent, a cycle). A full
364
- * record clears an engine-owned map, keeping what a later snapshot owns.
365
- *
366
- * The maps are the snapshots' own instances, shared by reference until a write clones them, so
367
- * each distinct instance is written once, settled for every snapshot that holds it. In-process
368
- * the list is the requested snapshot alone and this is one write, as it always was. Nothing
369
- * here goes through the caller's transaction: these are the backend's answers, regenerated by
370
- * any pass.
371
- */
372
322
  protected _applyValueVend(results: ICalcGrid.Results, snapshots: readonly VendSnapshot[]): void;
373
323
  /** {@inheritDoc ICalcGrid.close} */
374
324
  close(): void;
375
325
  get [Symbol.toStringTag](): string;
376
326
  }
377
327
  export declare namespace CalcGrid {
378
- /**
379
- * Everything the grid holds for the model, versioned in the model's own store
380
- * (DESIGN-CALC-SERVICE §13.23, §13.24): what the model wrote and what the backend answered
381
- * with, one record per commit, so an undo restores them with the operation that wrote them.
382
- */
383
328
  interface State {
384
329
  /** The formulas as the model wrote them, one entry per run, with the backend's view where it has vended one. */
385
330
  formulaSpatial: ISpatialMap<FormulaEntry>;
@@ -389,6 +334,8 @@ export declare namespace CalcGrid {
389
334
  contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
390
335
  /** The array extents: what the file said, what an array entry wrote, what the engine vended. */
391
336
  spillSpatial: ISpatialMap<SpillEntry>;
337
+ /** See {@link ICalcGrid.getBlockedSpills}. */
338
+ blockedSpillSpatial: ISpatialMap<SpillEntry>;
392
339
  /**
393
340
  * The volatile regions the file listed: what an `Off` save writes back and a seed carries,
394
341
  * kept where a formula still sits under them. What the engine knows once it is up it answers
@@ -396,13 +343,9 @@ export declare namespace CalcGrid {
396
343
  */
397
344
  volatile: IRange.Address[] | null;
398
345
  /** Cells the engine has not answered for yet. */
399
- pendingSpatial: ISpatialMap<boolean>;
346
+ calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
400
347
  /** Engine FAILURES by cell, as a message. Not error values - those are in the values. */
401
348
  calcErrorsSpatial: ISpatialMap<string>;
402
- /**
403
- * Cells in a reference cycle or downstream of one, by cycle (DESIGN-CIRCULAR-CALC.md §7.2).
404
- * Maintained from the executor's deltas, like {@link pendingSpatial}.
405
- */
406
349
  circularSpatial: ISpatialMap<CircularEntry>;
407
350
  /**
408
351
  * Error VALUES by cell, as the WRITE path knows them: fresh for what the model entered and
@@ -437,7 +380,8 @@ export declare namespace CalcGrid {
437
380
  values: ISparseGrid<Scalar>;
438
381
  contentful: ISpatialMap<ContentfulSpatialValue>;
439
382
  spills: ISpatialMap<SpillEntry>;
440
- pending: ISpatialMap<boolean>;
383
+ blockedSpills: ISpatialMap<SpillEntry>;
384
+ calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
441
385
  calcErrors: ISpatialMap<string>;
442
386
  circulars: ISpatialMap<CircularEntry>;
443
387
  errorValues: ISpatialMap<boolean>;
@@ -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.
@@ -20,7 +17,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
20
17
  _values: ISparseGrid<Scalar>;
21
18
  _spillSpatial: ISpatialMap<SpillEntry>;
22
19
  _errorSpatial: ISpatialMap<string>;
23
- _pendingSpatial: ISpatialMap<boolean>;
20
+ _calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
24
21
  _circularSpatial: ISpatialMap<CircularEntry>;
25
22
  _contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
26
23
  _notifyValues: ISpatialMap;
@@ -29,7 +26,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
29
26
  _notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
30
27
  _notifySpillsRemove: IRange.Coords[];
31
28
  _notifyFormats: ISpatialMap;
32
- _notifyPending: ISpatialMap<boolean>;
29
+ _notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
33
30
  _notifyCircular: ISpatialMap<CircularEntry | false>;
34
31
  /**
35
32
  * Regions of this grid whose formula blocks were minted, re-imaged or removed since the last
@@ -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 (plan step 6); 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
  /**
@@ -307,29 +299,6 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
307
299
  * inspected; a name mentioned upstream is that cell's precedent. Engine primitive.
308
300
  */
309
301
  getNamedReferencesAt(coords: IRange.Coords): string[];
310
- /**
311
- * What a `graph` request asking about this grid's defined name answers: the name's precedents
312
- * or dependents, cells scoped by grid and names as nodes - ONE answer, as a cell's is.
313
- *
314
- * @remarks
315
- * The PRECEDENTS: the cell half is the ordinary precedent graph - a body is a real formula here,
316
- * and its references registered precedent ranges like any cell's. The name half is the body's
317
- * `getNamedIds`: apply-at-eval means a name the body reads has no precedent edge, so the symbol
318
- * list is the only carrier - one hop for `direct`, the downward closure (cycle-guarded) for the
319
- * deep form, each member contributing its own grid's cell walk. The deep form does not take the
320
- * symbol hop from UPSTREAM CELLS (`X = A1*2`, `A1 = SomeName`: `A1` is listed and `SomeName`'s
321
- * inputs are not) - that hop is `A1`'s, one step of a tree walk.
322
- *
323
- * The DEPENDENTS: two graphs meet, and the walk changes vehicles between them. The symbol edge -
324
- * which formulas mention this name - is not in the precedent spatial at all; it is the nameId
325
- * list each compiled block carries (`container.getNamedDependents`). The cell edge is the
326
- * precedent graph, which carries everything downstream of those blocks: `direct` is one hop of
327
- * the first; the deep form takes it, then hands each landing block to its grid. A block on a
328
- * grid that is no sheet is another NAME reading this one: a node, and the deep walk passes
329
- * THROUGH it on the symbol closure (`getNamedDependentNames`), or `Base`'s dependents would stop
330
- * at `Plus1`. This name is listed only when a true cycle leads back to it.
331
- */
332
- protected _nameGraphNow(kind: 'precedents' | 'dependents', direct: boolean): ICalcGrid.GraphNeighbors;
333
302
  /** The blank region of the body this grid holds, as data: see {@link ICalcGrid.Results.blankRegion}. */
334
303
  protected _blankRegion(): ICalcGrid.BlankRegion | null;
335
304
  /** The compiled block at a cell, or `null`. Engine-side: the model reads the vended view. */
@@ -338,12 +307,13 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
338
307
  getReferencesAt(row: number, column: number): ReferenceCoords[];
339
308
  /** What an `evaluate` request answers: the formula at the cell, evaluated now; `null` where there is none. */
340
309
  protected _evaluateNow(row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
310
+ protected _evaluateBlockNow(block: IFormulaBlock, row: number, column: number, evalIndex?: number, coerce?: 'scalar'): Scalar | IRange | Promise<Scalar | IRange> | null;
341
311
  /** What a `setReference` request does: the rewrite, and the write of the formula it makes. */
342
312
  protected _setReferenceNow(row: number, column: number, index: number, precedent: IRange.FixableCoords | IRange.FixableCellCoords | NamedReference | FormulaError.Ref): CalcResponse;
343
313
  /** What a `setReferenceMode` request does: refused for a reference that is not to cells. */
344
314
  protected _setReferenceModeNow(row: number, column: number, index: number, side: ICalculation.ReferenceSide, mode?: number): CalcResponse;
345
315
  /** What an `isVolatile` request answers. */
346
- protected _isVolatileNow(row: number, column: number): boolean;
316
+ _isVolatileNow(row: number, column: number): boolean;
347
317
  protected _formulaAt(row: number, column: number): ISpatialMap.Entry<FormulaSpatialValue> | null;
348
318
  /**
349
319
  * Create non error spill entries for move/copy.
@@ -379,6 +349,7 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
379
349
  * vend for the pass that follows.
380
350
  */
381
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;
382
353
  /**
383
354
  * Joins each block just written with an equal block beside it, so a formula written under a run
384
355
  * of it, or between two runs, extends the run rather than starting a block of its own.
@@ -421,6 +392,12 @@ export declare class CalcGridBackend extends CalcGridProxy implements ICalcGrid.
421
392
  * external book's cached values) is loaded this way; a model's goes through {@link seed}.
422
393
  */
423
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;
424
401
  /** What a `toJSON` request answers: the grid's content as the engine holds it now. */
425
402
  protected _toJSONNow(options?: ICalcGrid.ToJSONOptions): ICalcGrid.JSON | null;
426
403
  }
@@ -497,7 +474,7 @@ export interface CalcGridMaps {
497
474
  contentful: ISpatialMap<ContentfulSpatialValue>;
498
475
  spills: ISpatialMap<SpillEntry>;
499
476
  errors: ISpatialMap<string>;
500
- pending: ISpatialMap<boolean>;
477
+ calcStatus: ISpatialMap<ICalcGrid.CalcStatus>;
501
478
  circular: ISpatialMap<CircularEntry>;
502
479
  /** The size a `resize` gave, or `null` for the one the grid was made with. */
503
480
  entireCoords?: IRange.Coords | null;
@@ -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;
@@ -96,8 +83,6 @@ export declare class CalcGridProxy implements ICalcGrid.Backend {
96
83
  * A question: an engine that holds no grid (`Off`) answers with nothing.
97
84
  */
98
85
  getGraphNeighborsAt(coords: IRange.Coords, kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
99
- /** {@inheritDoc ICalcGrid.Backend.getNameGraph} */
100
- getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
101
86
  /**
102
87
  * {@inheritDoc ICalcGrid.isVolatileAt}
103
88
  *
@@ -1,6 +1,7 @@
1
1
  import { IRange, Scalar } from '@sheetxl/primitives';
2
2
  import { Tuple, ISparseGrid, ISpatialMap, ISpatialMap3D } from '../../collections';
3
3
  import { CalcNode } from '../state';
4
+ import { ICalcGrid } from './ICalcGrid';
4
5
  import { ContentfulSpatialValue, FormulaSpatialValue, SpillEntry, PrecedentSpatialValue, CircularEntry, PrecedentKind } from '../spatial';
5
6
  import { ReferenceCoords } from '../Types';
6
7
  export declare function anchorCompareValues(a: ISpatialMap.Entry<FormulaSpatialValue>, removing: ISpatialMap.Entry<FormulaSpatialValue>): boolean;
@@ -58,9 +59,11 @@ export declare function clearErrorIndex(errorSpatial: ISpatialMap<string>, coord
58
59
  * @remarks
59
60
  * This code will inline spill errors but spill results are handled in calculations.
60
61
  */
61
- 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, notifyPending?: ISpatialMap<boolean>, errorSpatial?: ISpatialMap<string>, // notifyErrorSpatial,
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,
62
63
  isColumn?: boolean, notifyCalc?: boolean, // should notify. this is to differentiate between user set values and calc set values
63
- circularSpatial?: ISpatialMap<CircularEntry>): IRange.Coords | null;
64
+ circularSpatial?: ISpatialMap<CircularEntry>, // the circular index: a written cell leaves it, like errorSpatial
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;
64
67
  /**
65
68
  * Creates a map from tuples
66
69
  *
@@ -120,6 +123,12 @@ export interface PrecedentFormulaUpdates {
120
123
  * evaluate, but until then no precedent leads the dirty sweep to them.
121
124
  */
122
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>[];
123
132
  }
124
133
  /**
125
134
  * Splits precedents at the insertion boundary.
@@ -154,23 +163,7 @@ export declare function splitPrecedentsInsert(precedents: ISpatialMap3D<Preceden
154
163
  * INVARIANT: All resulting formula entries must have logically identical formulas.
155
164
  */
156
165
  export declare function splitPrecedentsDelete(precedents: ISpatialMap3D<PrecedentSpatialValue>, coords: IRange.Coords): PrecedentFormulaUpdates | null;
157
- /**
158
- * Splits precedents at the cut boundary to isolate the moveable sub-block.
159
- *
160
- * @remarks
161
- * For move operations: isolates the sub-block of formula cells whose natural bounds
162
- * are fully enclosed by the move coords. The inner piece will be moved; outer pieces stay.
163
- *
164
- * Natural bounds = the precedent size for a single formula cell.
165
- * A formula cell at block-relative offset `r` has natural row range:
166
- * `[P.rowStart + r, P.rowStart + r + nh - 1]`
167
- * where `nh = (P.rowEnd - P.rowStart) - (F.rowEnd - F.rowStart) + 1`.
168
- *
169
- * Excel rule: only move if the natural bounds fit entirely within the cut rect.
170
- *
171
- * INVARIANT: All resulting formula entries must have logically identical formulas.
172
- */
173
- 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;
174
167
  /**
175
168
  * This shifts precedents that cross an intersection boundary.
176
169
  *
@@ -192,13 +185,18 @@ export declare function shiftPrecedents(getPrecedentSpatial: () => ISpatialMap3D
192
185
  * whose precedent points INTO the moved region.
193
186
  *
194
187
  * @remarks
195
- * Pre-condition: splitPrecedentsCut has already been applied so no precedent straddles the boundary.
196
- * 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.
197
191
  *
198
192
  * For a move (cut+paste), the data moves rigidly from `from` to `to`.
199
- * 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.
200
197
  *
201
- * 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.
202
200
  */
203
201
  export declare function movePrecedents(precedentSpatial: ISpatialMap3D<PrecedentSpatialValue>, getDynamicPrecedents: () => Map<FormulaSpatialValue, ISpatialMap.Entry<PrecedentSpatialValue>[]>, from: IRange.Coords, to: IRange.Coords): PrecedentFormulaUpdates | null;
204
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,13 +67,18 @@ 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.
116
78
  * @param transaction Read the record as this transaction sees it, its held writes not yet
117
79
  * made; the current record when omitted.
118
80
  */
119
- getPending(transaction?: ITransaction | null): ISpatialMap<boolean>;
81
+ getCalcStatus(transaction?: ITransaction | null): ISpatialMap<ICalcGrid.CalcStatus>;
120
82
  /**
121
83
  * Engine FAILURES by cell (a formula that could not be evaluated), as a message. Not error
122
84
  * VALUES - those are {@link getErrorValues}.
@@ -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' | 'getPending' | '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. */
@@ -422,12 +356,6 @@ export declare namespace ICalcGrid {
422
356
  * last set; see `CalcGridBackend.getDemanded`. Evaluated by the next pass.
423
357
  */
424
358
  demand(rects: readonly IRange.Coords[]): void;
425
- /**
426
- * The graph around the defined name whose body this grid holds - its precedents or
427
- * dependents, cells in calc currency and names - as {@link ICalcGrid.getGraphNeighborsAt}
428
- * answers for cells.
429
- */
430
- getNameGraph(kind: 'precedents' | 'dependents', direct: boolean): Promise<ICalcGrid.GraphNeighbors>;
431
359
  };
432
360
  /**
433
361
  * A body written as it was authored, for a grid that holds one (a name's, a watch's): the engine
@@ -443,8 +371,11 @@ export declare namespace ICalcGrid {
443
371
  authoredAt: IRange.CellCoords;
444
372
  /** The sheet grid a bare reference in the expression resolves against. */
445
373
  scopeGridId: string;
446
- /** Re-derive the formulas that mention this grid's name once the body is in: a defined name's. */
447
- 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';
448
379
  /**
449
380
  * Applied ahead of the other requests a start holds: a defined name must be bound before any
450
381
  * formula that mentions it is examined.
@@ -522,7 +453,8 @@ export declare namespace ICalcGrid {
522
453
  valueRemoves?: IRange.Coords[];
523
454
  /**
524
455
  * Contains any spills that were inserted. The value is the
525
- * {@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}.
526
458
  */
527
459
  spillInserts?: ISpatialMap.Entry<ITypes.FormulaArrayKind>[];
528
460
  /**
@@ -556,7 +488,7 @@ export declare namespace ICalcGrid {
556
488
  * @remarks
557
489
  * These are guaranteed to not overlap.
558
490
  */
559
- pendingUpdates?: ISpatialMap.Entry<boolean>[];
491
+ calcStatusUpdates?: ISpatialMap.Entry<ICalcGrid.CalcStatus | false>[];
560
492
  /**
561
493
  * Cells that entered or left a reference cycle (or the set downstream of one). A `null`
562
494
  * value is a removal.
@@ -565,18 +497,6 @@ export declare namespace ICalcGrid {
565
497
  * These are guaranteed to not overlap.
566
498
  */
567
499
  circularUpdates?: ISpatialMap.Entry<CircularEntry | null>[];
568
- /**
569
- * Blocks the engine compiled or re-imaged, at the coords they cover, as the read views the
570
- * model holds: the vend of the formula half. Every site that mints a block reports it here -
571
- * a write, a value splitting a block, a shift, a cross-sheet `#REF!`, a copy, a fill, a
572
- * reference edit, the legacy `@` wrap on load.
573
- *
574
- * @remarks
575
- * Applied in order after {@link formulaRemoves}. On {@link isFull} every block on the grid is
576
- * listed, so a caller that dropped its blocks on the full pass has them all back. What
577
- * crosses is the block as data; the view is imaged from it on the model's side of the
578
- * channel, against the model's own symbols (DESIGN-CALC-SERVICE §8).
579
- */
580
500
  formulaInserts?: ISpatialMap.Entry<IFormulaBlockView>[];
581
501
  /**
582
502
  * Coords whose formulas the engine removed: cleared, replaced, or moved away by a shift.
@@ -609,6 +529,16 @@ export declare namespace ICalcGrid {
609
529
  /** For a paged region, the tiles this pass evaluated. */
610
530
  readonly evaluated?: readonly IRange.Coords[];
611
531
  }
532
+ /**
533
+ * Why a cell is in the calc-status index: its own function asked for a result that has not
534
+ * arrived (`Working`), or it was calculated from such a value and is calculated again when it
535
+ * arrives (`Waiting`). A removal travels as `false` in a delta.
536
+ */
537
+ const CalcStatus: {
538
+ readonly Working: 1;
539
+ readonly Waiting: 2;
540
+ };
541
+ type CalcStatus = typeof CalcStatus[keyof typeof CalcStatus];
612
542
  /**
613
543
  * Returns from `ICalcGrid.beginUpdates()`.
614
544
  *
@@ -620,28 +550,17 @@ export declare namespace ICalcGrid {
620
550
  values: ISparseGrid<Scalar>;
621
551
  spillSpatial: ISpatialMap<SpillEntry>;
622
552
  errorSpatial: ISpatialMap<string>;
623
- pendingSpatial: ISpatialMap<boolean>;
553
+ calcStatusSpatial: ISpatialMap<ICalcGrid.CalcStatus>;
624
554
  circularSpatial: ISpatialMap<CircularEntry>;
625
555
  contentfulSpatial: ISpatialMap<ContentfulSpatialValue>;
626
556
  notifyValues: ISpatialMap;
627
- /**
628
- * Reports a region whose answer changed without a write to the grid: a blank region the pass
629
- * shares one answer for on the block instead of writing (PLAN-WATCHES-BLANK-AWARE §4c).
630
- *
631
- * @remarks
632
- * Accumulated as bounds, not as a region index. Only `Results.bounds` learns of this - there
633
- * are no values to vend - and that is one rectangle over every notify source, so the union is
634
- * the whole of what a caller can observe.
635
- *
636
- * `coords` is read, never kept, and its scope is ignored.
637
- */
638
557
  notifyBlank(coords: IRange.Coords): void;
639
558
  notifySpillsInsert: ISpatialMap.Entry<SpillEntry>[];
640
559
  notifySpillsRemove: IRange.Coords[];
641
560
  notifyFormats: ISpatialMap;
642
- notifyPending: ISpatialMap<boolean>;
561
+ notifyCalcStatus: ISpatialMap<ICalcGrid.CalcStatus | false>;
643
562
  notifyCircular: ISpatialMap<CircularEntry | false>;
644
- pendingConflating: ISpatialMap.IConflatingEntries<boolean> | null;
563
+ calcStatusConflating: ISpatialMap.IConflatingEntries<ICalcGrid.CalcStatus | false> | null;
645
564
  circularConflating: ISpatialMap.IConflatingEntries<CircularEntry | false> | null;
646
565
  errorRemovesConflating: ISpatialMap.IConflatingEntries<null> | null;
647
566
  errorInsertsConflating: ISpatialMap.IConflatingEntries<string> | null;