@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
@@ -23,11 +23,6 @@ export class MetricsTable {
23
23
  * characters measured on demand after [`Self::fill`].
24
24
  */
25
25
  fill_per_em(codepoints: Uint32Array, per_em: Float32Array): void;
26
- /**
27
- * Records Excel's row pitch at every integer ppem from `first_ppem`, from a `.rows.json`;
28
- * `line_pitch` and `wrap` size lines by it from then on. `false` with fewer than two sizes.
29
- */
30
- fill_rows(first_ppem: number, pitches: Uint16Array): boolean;
31
26
  /**
32
27
  * Whether nothing has been recorded.
33
28
  */
@@ -36,10 +31,6 @@ export class MetricsTable {
36
31
  * The number of characters recorded.
37
32
  */
38
33
  len(): number;
39
- /**
40
- * Excel's row height for this face at `px` pixels per em.
41
- */
42
- line_pitch(px: number): number;
43
34
  /**
44
35
  * An empty table for a face with these vertical metrics per em (`usWinAscent / unitsPerEm`,
45
36
  * `usWinDescent / unitsPerEm`): what the host's own table keeps, whether it came from a
@@ -51,48 +42,35 @@ export class MetricsTable {
51
42
  */
52
43
  text_width(text: string, px: number, letter_spacing: number, super_sub: boolean): number;
53
44
  /**
54
- * Wraps `text`; `max_width` and `max_height` of zero or less mean none. Returns the lines
55
- * flat, eight numbers each (`sheetxl_text::wrap::Wrapped::flatten`).
45
+ * Wraps `text` in lines `line_height` px tall, the font's box centered in each; `max_width`
46
+ * and `max_height` of zero or less mean none. Returns the lines flat, eight numbers each
47
+ * (`sheetxl_text::wrap::Wrapped::flatten`).
56
48
  *
57
49
  * Scalars rather than an options object, deliberately: each crosses for free, an object
58
50
  * would be marshalled.
59
51
  */
60
- wrap(text: string, px: number, max_width: number, max_height: number, indent: number, letter_spacing: number, super_sub: boolean): Float32Array;
52
+ wrap(text: string, px: number, line_height: number, max_width: number, max_height: number, indent: number, letter_spacing: number, super_sub: boolean): Float32Array;
61
53
  }
62
54
 
63
- /**
64
- * The alphabetic baseline's offset from the top of a line box of [`line_pitch`] height.
65
- */
66
- export function baseline(ascent: number, descent: number): number;
67
-
68
55
  /**
69
56
  * The number of Unicode scalar values in `text` (not `text.length`, which counts UTF-16 units).
70
57
  */
71
58
  export function char_count(text: string): number;
72
59
 
73
- /**
74
- * Excel's line pitch for a font: `ascent + descent + 2`, in whole pixels.
75
- */
76
- export function line_pitch(ascent: number, descent: number): number;
77
-
78
60
  export type InitInput = RequestInfo | URL | Response | BufferSource | WebAssembly.Module;
79
61
 
80
62
  export interface InitOutput {
81
63
  readonly memory: WebAssembly.Memory;
82
64
  readonly __wbg_metricstable_free: (a: number, b: number) => void;
83
- readonly baseline: (a: number, b: number) => number;
84
65
  readonly char_count: (a: number, b: number) => number;
85
- readonly line_pitch: (a: number, b: number) => number;
86
66
  readonly metricstable_fill: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
87
67
  readonly metricstable_fill_hinting: (a: number, b: number, c: number, d: number, e: number, f: number) => void;
88
68
  readonly metricstable_fill_per_em: (a: number, b: number, c: number, d: number, e: number) => void;
89
- readonly metricstable_fill_rows: (a: number, b: number, c: number, d: number) => number;
90
69
  readonly metricstable_is_empty: (a: number) => number;
91
70
  readonly metricstable_len: (a: number) => number;
92
- readonly metricstable_line_pitch: (a: number, b: number) => number;
93
71
  readonly metricstable_new: (a: number, b: number) => number;
94
72
  readonly metricstable_text_width: (a: number, b: number, c: number, d: number, e: number, f: number) => number;
95
- readonly metricstable_wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number) => void;
73
+ readonly metricstable_wrap: (a: number, b: number, c: number, d: number, e: number, f: number, g: number, h: number, i: number, j: number, k: number) => void;
96
74
  readonly __wbindgen_export: (a: number, b: number) => number;
97
75
  readonly __wbindgen_export2: (a: number, b: number, c: number, d: number) => number;
98
76
  readonly __wbindgen_add_to_stack_pointer: (a: number) => number;
@@ -94,6 +94,14 @@ export declare function stringToCoordsArray(str: string, defaultRange: Readonly<
94
94
  export declare function coordsArrayToStringArray(coords: readonly (Partial<IRange.Coords | IRange.CellCoords> | string)[], defaultRange?: Readonly<IRange.Coords>, toStringRange?: RangeToString, //fixableRangeToString,
95
95
  toStringCell?: CellToString, r1c1?: boolean): string[] | null;
96
96
  export declare function coordsArrayToString(coords: readonly (Partial<IRange.Coords | IRange.CellCoords> | string)[], defaultRange?: Readonly<IRange.Coords>, toStringRange?: RangeToString, toStringCell?: CellToString, r1c1?: boolean): string;
97
+ /**
98
+ * Reads the arguments of `getRange(rowStart, colStart, rowEnd, colEnd)`: zero-based, ends inclusive.
99
+ *
100
+ * @remarks
101
+ * Left out of the declarations on purpose. There is one documented way to say this, the coords
102
+ * object; this is for scripts that guess, which should get the range they meant, or an error.
103
+ */
104
+ export declare function indexesToCoords(args: ArrayLike<unknown>): IRange.Coords;
97
105
  export declare function rangesAddressToRangesCoords<R extends IRange.Coords = IRange.Coords, C extends IRange.CellCoords = IRange.CellCoords>(address: ICellRanges.Address | ICell.Address, defaultRange: Readonly<R>, toRange?: StringToRange, onNoParse?: (coord: Partial<C | R> | string) => readonly R[], allowR1C1?: boolean): R[];
98
106
  /** `Fast` just scans through each character. */
99
107
  export declare function fastStringToCell(address: string, reuse?: IRange.CellCoords): IRange.CellCoords | undefined;
@@ -0,0 +1,3 @@
1
+ /** Whether Excel quotes a sheet name for containing this UTF-16 code unit. Only meaningful above U+007F. */
2
+ export declare function isQuotedSheetNameChar(code: number): boolean;
3
+ //# sourceMappingURL=_SheetNameQuoteChars.d.ts.map
@@ -3,9 +3,9 @@ import { ICell } from '../cell';
3
3
  import { ISpatialMap, ISpatialQuery } from '../collections';
4
4
  import { ICellStyle, IStyleCollection } from '../style';
5
5
  import { IProperties } from '../type';
6
- import { IWorksheet } from './IWorksheet';
7
- import { IgnoredErrors } from './_IgnoredErrors';
8
- import { CellKind } from './_Kinds';
6
+ import { IWorksheet } from '../sheet/IWorksheet';
7
+ import { IgnoredErrors } from '../sheet/_IgnoredErrors';
8
+ import { CellKind } from '../sheet/_Kinds';
9
9
  /**
10
10
  * The findings at a cell, interned per map: equal findings are one object, in rank order, so a
11
11
  * region's payload identity is its content and the fragments of one finding regroup.
@@ -0,0 +1,5 @@
1
+ export declare const ANOMALY_FOCUS_TABLE: Readonly<Record<string, {
2
+ readonly prior: number;
3
+ readonly classes: Readonly<Record<string, number>>;
4
+ }>>;
5
+ //# sourceMappingURL=_FocusTable.d.ts.map
@@ -1,7 +1,7 @@
1
1
  import { IRange } from '@sheetxl/primitives';
2
2
  import { ICalculation } from '../calculation';
3
3
  import { SpatialMap } from '../collections';
4
- import { IWorksheet } from './IWorksheet';
4
+ import { IWorksheet } from '../sheet/IWorksheet';
5
5
  import { AnomalySource, FormulaRegion, RoleSource, _Findings } from './_Anomalies';
6
6
  type Node = ICalculation.FormulaNode;
7
7
  type Rect = IRange.Coords;
@@ -53,6 +53,14 @@ export declare function checkLookupShape(source: AnomalySource, regions: readonl
53
53
  * a converter wrapped as unknown (`_XLUDF.`, `'udf'`).
54
54
  */
55
55
  export declare function checkExternalReference(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
56
+ /**
57
+ * `errorConstant`: a formula that is only an error value — `=#DIV/0!`, `=#REF!`. Nobody types
58
+ * one; it is what a converter leaves when it drops the formula that computed the error. When the
59
+ * block sits against a data table (`=TABLE(…)`) that spills less than the block covers,
60
+ * `dataTable` names the table's anchor and `extent` the rectangle the two cover together: the
61
+ * table's results were replaced by constants.
62
+ */
63
+ export declare function checkErrorConstant(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
56
64
  /** One term of a sum: a reference, added (`1`) or taken away (`-1`). */
57
65
  export interface Leaf {
58
66
  readonly node: Node;
@@ -122,4 +130,4 @@ export interface Resolved {
122
130
  /** Where a cell or range reference lands when its formula sits at `at`; `null` for anything else. @internal */
123
131
  export declare function resolve(node: Node, at: At, own: string): Resolved | null;
124
132
  export {};
125
- //# sourceMappingURL=_AnomalyFormulaChecks.d.ts.map
133
+ //# sourceMappingURL=_FormulaChecks.d.ts.map
@@ -18,4 +18,4 @@ export declare function checkKeyLabelMismatch(source: AnomalySource, regions: re
18
18
  * other sign — `=-'Debt'!C20` where two other links read `='Debt'!D20`, `='Debt'!E20`.
19
19
  */
20
20
  export declare function checkSignVsSiblings(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
21
- //# sourceMappingURL=_AnomalyLabelChecks.d.ts.map
21
+ //# sourceMappingURL=_LabelChecks.d.ts.map
@@ -0,0 +1,35 @@
1
+ import { AnomalySource, FormulaRegion, _Findings } from './_Anomalies';
2
+ /**
3
+ * `literalMatchesInput`: a number typed into a formula that equals a typed number on the sheet no
4
+ * formula reads — `=(-0.595*J19)` with `0.595` in J52, which nothing reads. The reference the
5
+ * literal replaced is what left the input unread, so an unread input is the signal; a literal
6
+ * matching an input something still reads is the formula's own constant.
7
+ *
8
+ * Small counts, calendar periods and powers of ten never fire (`isConventional`). The nearest
9
+ * occurrence is the evidence, with its label when it has one, and `matches`, the places the value
10
+ * is typed, scales the rank down: a value typed all over a data block is a weak witness.
11
+ */
12
+ export declare function checkLiteralMatchesInput(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
13
+ /**
14
+ * `constantFrequency`: every constant a formula types — a number, a string, a boolean — as a
15
+ * finding of its own, with how often the workbook types it. A model's conventions are typed many
16
+ * times (`/365` in every days line, `"Total"` in every lookup); a value typed once, or a unit typed
17
+ * in two rows where the workbook types another in twenty, is the exception to read first. The
18
+ * count is the second pass's: it adds `uses` and `of` and divides the rank by `uses`, so nothing is
19
+ * cut and a convention lists last. A number keys without its sign, so `-0.595` and `0.595` are one
20
+ * constant.
21
+ */
22
+ export declare function checkConstantFrequency(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
23
+ /**
24
+ * `twinBlockDivergence`: twin formulas that differ in a typed number — the formulas on the sheet
25
+ * with the same shape once references, literals and signs are set aside. `($D136/100)` in one
26
+ * tranche where the next has `($D145/10000)`; `*(1/360)` beside `*(1/365)`. Every side of a
27
+ * divergence fires, naming the other side's value and a twin that carries it: two planted rows can
28
+ * outvote the one that is right, and which literal the business meant is the reader's call. The
29
+ * side fewer twins carry ranks higher, by `twins / (twins + its own count)`.
30
+ *
31
+ * Only a unit pair compares (`isUnitPair`). A position whose values are spread with no plurality
32
+ * carries no convention and says nothing.
33
+ */
34
+ export declare function checkTwinBlockDivergence(source: AnomalySource, regions: readonly FormulaRegion[], findings: _Findings): void;
35
+ //# sourceMappingURL=_LiteralChecks.d.ts.map
@@ -0,0 +1,13 @@
1
+ import { AnomalySource, _Findings } from './_Anomalies';
2
+ /**
3
+ * `scaleOutlier`: a typed percent a hundred times or more off the typical value of the sheet's
4
+ * typed percents — `30` in a percent cell where the others are around `0.4`: a 30% rate typed as a
5
+ * whole number, which shows as 3000%. The typical value is the median of the sheet's typed
6
+ * percents; `times`, the power of ten the value is off by, is the evidence, with the median and
7
+ * how many numbers it is taken over.
8
+ *
9
+ * Read for percents only today: a percent has a scale the format states, so a value off it is a
10
+ * unit fact rather than a large line item.
11
+ */
12
+ export declare function checkScaleOutlier(source: AnomalySource, findings: _Findings): void;
13
+ //# sourceMappingURL=_SeriesChecks.d.ts.map
@@ -1,9 +1,10 @@
1
- import { IRange, IRuntime, Scalar } from '@sheetxl/primitives';
1
+ import { IRange, IFormulaContext, IFunction, IRuntime, Scalar } from '@sheetxl/primitives';
2
2
  import { IListener } from '../listener';
3
3
  import { FunctionProvider } from '@sheetxl/scripting';
4
4
  import { AbstractModel, IModel } from '../model';
5
5
  import { ITransaction } from '../transaction';
6
6
  import { IStringCollection } from '../string';
7
+ import { IResourceCollection } from '../resource';
7
8
  import { IFunctionCollection } from '../scripting';
8
9
  import { INamed, INamedCollection } from '../named';
9
10
  import { ICellRange, ICellRanges } from '../cellRange';
@@ -26,7 +27,6 @@ import { INamedFormulasCollection } from './INamedFormulasCollection';
26
27
  export declare class Calculation extends AbstractModel<AbstractModel.State, ICalculation.JSON, ICalculation.IListeners> implements ICalculation {
27
28
  protected _backend: CalcBackend | null;
28
29
  protected _startReplica: CalcBackend.Replica | null;
29
- /** The symbols formulas bind through (DESIGN-CALC-SERVICE §8): the model's, handed to the backend. */
30
30
  protected _symbols: ISymbolRegistry;
31
31
  protected _status: ICalculation.Status;
32
32
  protected _statusTransition: Promise<void> | null;
@@ -44,12 +44,12 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
44
44
  protected _engineModule: typeof import('./engine') | null;
45
45
  protected _planCache: 'off' | 'assert' | 'on' | null;
46
46
  protected _getActiveCell: () => IRange.CellCoords | null;
47
+ protected _startFunctions: (() => Promise<readonly IFunction[]>) | null;
47
48
  protected _getRange: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
48
49
  protected _getRanges: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
49
50
  /** The current handle of every formula host's grid, by grid id. */
50
51
  protected _formulaHosts: Map<string, FormulaHost>;
51
52
  protected _modelStore: ITransaction.IStore | null;
52
- /** The model-side grids, by grid id (DESIGN-CALC-SERVICE §13.23): what a copy lands on, what a start seeds from. */
53
53
  protected readonly _fronts: Map<string, CalcGrid>;
54
54
  /** What each model grid is, for the `create` a start sends for it (its size is read then). */
55
55
  protected readonly _gridSpecs: Map<string, CalcGridSpec>;
@@ -80,6 +80,12 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
80
80
  /** `ready()` calls waiting for work in flight to end: woken on every check. */
81
81
  protected _calculationStateWaiters: (() => void)[] | null;
82
82
  protected _bootFull: boolean;
83
+ /** The full boot pass is the load's own, not one a caller asked for: see {@link _calculateForLoad}. */
84
+ protected _bootFullForLoad: boolean;
85
+ /** Something was edited ahead of the boot pass, so what a cell was saved with may be out of date. */
86
+ protected _bootEdited: boolean;
87
+ /** The next pass is the one a load owes: see `CalcExecutor.ExecuteOptions.load`. */
88
+ protected _passForLoad: boolean;
83
89
  /** Consumer work not yet settled: see {@link waitUntil}. */
84
90
  protected _consumerWork: number;
85
91
  protected _bootExplicit: boolean;
@@ -211,11 +217,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
211
217
  * only inside a calculation. The drain is a safe point, not a synchronization point.
212
218
  */
213
219
  _whenSafe(action: () => Promise<unknown>, priority?: boolean): void;
214
- /**
215
- * Sends a grid request through the channel (DESIGN-CALC-SERVICE §4): applied now on a `Running`
216
- * engine, held in send order while `Starting`, and neither recorded nor sent on an `Off` one -
217
- * the caller's own view is the truth there, and a start is seeded from it.
218
- */
219
220
  protected _sendRequest(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<ICalcGrid.Results>;
220
221
  protected _sendRequestNow(gridId: string, landingId: string | undefined, request: CalcRequest): Promise<CalcResponse>;
221
222
  /** Re-judges every held request: `dead` is what `isDead` answers for it now. */
@@ -241,41 +242,7 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
241
242
  * batch is the engine's answer to what the model already holds.
242
243
  */
243
244
  protected _underOneModelOperation<R>(batch: () => R): R;
244
- /**
245
- * @internal
246
- * Resolves once the engine can compile: at once when `Running`; when the batch has applied the
247
- * seeds, ahead of the boot pass, while `Starting`; and, when `Off`, once something else starts
248
- * it. It never starts the engine itself.
249
- *
250
- * @remarks
251
- * What an owner that registers a formula asynchronously waits on (a condition formula's
252
- * evaluation). Waiting on {@link ready} instead resolves after the boot pass, and the
253
- * registration then costs a pass of its own (design §6.5: a boot owes one).
254
- *
255
- * An `Off` engine stays off (DESIGN-CALC-ON-LOAD: under `calcOnLoad: 'none'` a read starts
256
- * nothing, and a conditional format or data validation evaluating on load is a read). Starting it
257
- * here ran the boot pass, and the pass moved cached values — every volatile, every iterating
258
- * cycle — in a workbook that was only being opened and saved. The waiter is released by the
259
- * start the first mutation (or an explicit calculation) makes, and by {@link close}.
260
- */
261
245
  _whenCanCompile(): Promise<void>;
262
- /**
263
- * The start batch (DESIGN-CALC-SERVICE §6.3), in the order the service owns: service-level
264
- * content first (the names, wired from the priority queue), then the channel in send order
265
- * (every seed and every request made while the engine was coming up), then the owners that
266
- * hold a formula of their own (a host whose grid lost its body writes it again; a watch held for
267
- * the engine registers inside `onReady`), then the one pass the boot owes.
268
- *
269
- * @remarks
270
- * `isLoading()` holds for the whole batch, so a grid seeded here owes its pass rather than
271
- * running one against siblings not yet seeded. The pass itself runs on a task of its own
272
- * ({@link _runBoot}): a consumer whose registration chains through promises resolved here (a
273
- * data validation's, a conditional format's) lands ahead of it, and N of them cost one pass.
274
- *
275
- * A held request lands under the engine's current commit: the snapshot it named has been
276
- * mirrored already, so its writes belong to the tip, and the maps are versioned under that key.
277
- * One whose snapshot the model has undone since is skipped.
278
- */
279
246
  protected _boot(): Promise<void>;
280
247
  /**
281
248
  * Posts the boot pass on a task of its own, and answers the promise `start()`, `ready()` and a
@@ -284,6 +251,13 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
284
251
  protected _scheduleBoot(): Promise<void>;
285
252
  /** The boot pass: what the batch, and the consumers that registered since, owe - once. */
286
253
  protected _runBoot(): Promise<void>;
254
+ /**
255
+ * The full pass a load owes: a file that asks for one, or one whose `calcId` says it needs one.
256
+ * It evaluates what the file holds without reaching for anything outside the workbook, where a
257
+ * full calculation a caller asks for does.
258
+ * @internal
259
+ */
260
+ _calculateForLoad(): Promise<ICalculation.Status>;
287
261
  /**
288
262
  * Posts a microtask drain, if one is not already coming.
289
263
  *
@@ -363,6 +337,14 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
363
337
  * read returns the raw text instead (`use-signs.test.ts`).
364
338
  */
365
339
  protected _drainPending(priorityOnly?: boolean): Promise<void>;
340
+ /** @inheritdoc ICalculation.getPendingCount */
341
+ getPendingCount(): number;
342
+ /** @inheritdoc ICalculation.whenPendingDone */
343
+ whenPendingDone(options?: {
344
+ timeout?: number;
345
+ }): Promise<boolean>;
346
+ /** @inheritdoc ICalculation.cancelAsync */
347
+ cancelAsync(options?: ICalculation.CancelOptions): Promise<ICalculation.Status>;
366
348
  /** @inheritdoc ICalculation.calculate */
367
349
  calculate(options?: ICalculation.CalculateOptions | boolean): Promise<ICalculation.Status>;
368
350
  /**
@@ -372,10 +354,10 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
372
354
  * successful one (the tail simply fell off the end), and two call sites cast the result
373
355
  * to `Status` to satisfy {@link ICalculation.calculate}.
374
356
  */
375
- protected _calculate(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
357
+ protected _calculate(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
376
358
  /** A pass, counted while it runs: what the calculation state reads as a pass in flight. */
377
- protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
378
- protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string): Promise<ICalculation.Status>;
359
+ protected _calculateNow(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
360
+ protected _runCalculation(options?: ICalculation.CalculateOptions, gridId?: string, settle?: boolean): Promise<ICalculation.Status>;
379
361
  /**
380
362
  * The model commit the last pass recalculated for, `null` before the first: what a sheet
381
363
  * realizing the pass's results amends them into.
@@ -434,14 +416,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
434
416
  * @internal
435
417
  */
436
418
  protected _evaluateOver(options: Calculation.EvaluateOverOptions): Promise<IRange>;
437
- /**
438
- * A grid for a model to hold (DESIGN-CALC-SERVICE §13.23): the synchronous half, versioned in
439
- * the model's store, forwarding every verb as a request. The engine's grid is made by the
440
- * grid's first request, `create`, which an `Off` engine drops: a start makes it then, from this
441
- * one. What the engine pushes reaches the owner through the grid's events. It opens empty: the
442
- * owner attaches its listeners, then seeds it.
443
- * @internal
444
- */
445
419
  _createCalcGrid(options: Calculation.CalcGridOptions): CalcGrid;
446
420
  /** What a `create` for a model grid carries: its description. */
447
421
  protected _specOf(front: CalcGrid): CalcGridSpec;
@@ -480,20 +454,6 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
480
454
  protected _heldSheets(): Calculation.SheetList['sheets'];
481
455
  /** One sheet of {@link _heldSheets} by its grid id, or `undefined` for a grid that is no sheet. */
482
456
  protected _heldSheetAt(id: string): Calculation.SheetList['sheets'][number] | undefined;
483
- /**
484
- * The owner's sheet list as it is now: every sheet's grid id and name, in tab order, hidden ones
485
- * included (DESIGN-CALC-SERVICE §8). The owner calls this whenever its list changes - a sheet
486
- * added, deleted, moved, copied or renamed - and before any grid that names a sheet in it
487
- * seeds. Not on a restore: this record is restored with the owner's own, and the engine's
488
- * replica with the engine's store.
489
- *
490
- * @remarks
491
- * Held in the caller's operation (folded into the current commit when none is open) and sent
492
- * to the engine as one `sheets` message: applied at once on a `Running` engine, held in order
493
- * while `Starting`. An `Off` engine is told nothing; its next start seeds the replica from this
494
- * record, and owes a full pass only when a sheet already listed was renamed, moved or removed.
495
- * @internal
496
- */
497
457
  _setSheets(sheets: readonly (readonly [id: string, name: string | null, gridless?: boolean])[]): void;
498
458
  /**
499
459
  * Compiles every loaded name whose text mentions the sheet, ahead of a change a compiled body
@@ -520,13 +480,17 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
520
480
  * @internal
521
481
  */
522
482
  _tableChanged(table: ITable, removed: boolean): void;
523
- /** A name written, as {@link _tableChanged} tells a table. */
524
- protected _nameWritten(written: NamedFormulaCollection.NamesWritten): void;
483
+ /** Names written, as {@link _tableChanged} tells a table: one message for a batch. */
484
+ protected _nameWritten(written: readonly NamedFormulaCollection.NamesWritten[]): void;
485
+ /** {@link _sendSymbolChanges} for one change. */
486
+ protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
525
487
  /**
526
- * One change to a replica, as a message: sent to a `Starting` engine as it is (the channel holds
527
- * it in order), and to a `Running` one only when the replica does not already say so.
488
+ * Changes to a replica, as messages: sent to a `Starting` engine as they are (the channel holds
489
+ * them in order), and to a `Running` one only where the replica does not already say so, as ONE
490
+ * message - the replica is rebuilt and reconciled once per message, over every symbol, so a batch
491
+ * told a symbol at a time costs the square of its size.
528
492
  */
529
- protected _sendSymbolChange<T>(kind: 'tables' | 'names', id: string, entry: T | null, same: (a: T | null | undefined, b: T | null) => boolean): void;
493
+ protected _sendSymbolChanges<T>(kind: 'tables' | 'names', changes: readonly (readonly [string, T | null])[], same: (a: T | null | undefined, b: T | null) => boolean): void;
530
494
  /**
531
495
  * While `Starting`: per kind, the held symbol message a new symbol of that kind joins, and the
532
496
  * ids every message of the start has told. Dropped with the channel - see {@link _sendSymbolChange}.
@@ -561,18 +525,7 @@ export declare class Calculation extends AbstractModel<AbstractModel.State, ICal
561
525
  _replicaNameId(name: string, scope: string | null | undefined): string | undefined;
562
526
  /** See {@link _modelSymbols}. */
563
527
  protected _modelSymbolRegistry: ISymbolRegistry;
564
- /**
565
- * The model's symbol map (DESIGN-CALC-SERVICE §8): what the facade images the engine's records
566
- * against. Sheets answer from the model's live list; the rest from the engine's providers.
567
- * @internal
568
- */
569
528
  _modelSymbols(): ISymbolRegistry;
570
- /**
571
- * What images a grid's records for the model (DESIGN-CALC-SERVICE §8): the model's symbol map,
572
- * the grid as home scope, its bounds and the reader's locale, both read live so a rename or a
573
- * locale switch shows without a recompile.
574
- * @internal
575
- */
576
529
  _imagerFor(gridId: string): FormulaImager;
577
530
  /** Every sheet's grid id in tab order, from the replica. */
578
531
  protected _sheetIds(): readonly string[];
@@ -729,6 +682,8 @@ export declare namespace Calculation {
729
682
  authoredAt: IRange.CellCoords;
730
683
  /** Each cell of the block is its own 1x1 array-entered formula. See {@link ICalculation.EvaluateOptions.arrayFirstCell}. */
731
684
  arrayFirstCell?: boolean;
685
+ /** How long to wait for the cells' async calls. See {@link ICalculation.EvaluateOptions.timeout}. */
686
+ timeout?: number;
732
687
  }
733
688
  /** See {@link Calculation._createFormulaHost}. */
734
689
  interface FormulaHostOptions {
@@ -789,6 +744,15 @@ export declare namespace Calculation {
789
744
  * @see {@link FunctionProvider}
790
745
  */
791
746
  functions?: readonly FunctionProvider[];
747
+ /**
748
+ * Custom functions to register at every start, ahead of the first pass: a workbook's script
749
+ * functions, so a formula calling one calculates on load rather than answering `#NAME?`.
750
+ *
751
+ * @remarks
752
+ * Asked once per start, alongside loading the engine. A function the registry refuses (a
753
+ * built-in's name) is reported and skipped; the start goes on with the rest.
754
+ */
755
+ startFunctions?: () => Promise<readonly IFunction[]>;
792
756
  /**
793
757
  * Returns the active cell — the current selection anchor — with its sheet id as `scope`.
794
758
  * Supplies the default scope for temporary / named-formula resolution, and the default
@@ -831,21 +795,24 @@ export declare namespace Calculation {
831
795
  names?: INamed.JSON[];
832
796
  getRanges?: (address: ICellRanges.Address, options?: ICellRange.GetRangeOptions) => ICellRanges;
833
797
  getRange?: (address: ICellRange.Address, options?: ICellRange.GetRangeOptions) => ICellRange;
834
- /**
835
- * Builds ONE `ICellRanges` graph answer out of cell coords plus defined-name nodes.
836
- *
837
- * @internal
838
- *
839
- * @remarks
840
- * The seam that keeps the layers apart: the calculation layer knows WHICH names belong in a
841
- * precedents/dependents answer, the range layer knows how a name rides in one (an anchored
842
- * `INamedRange` — see DESIGN-NAMED-FORMULAS.md §4). Structural like `getRange`/`getRanges`,
843
- * and like them supplied by the workbook. Without it, graph answers fall back to cells only.
844
- */
845
798
  createGraphRanges?: (cells: readonly IRange.Coords[], names: readonly NamedNodeInfo[]) => ICellRanges | null;
846
799
  getSheetIndex?: (sheetName?: string) => number;
847
800
  getSheetCount?: () => number;
848
801
  strings?: IStringCollection;
802
+ /**
803
+ * The workbook's binary resources (image bytes), for rich values a formula makes.
804
+ */
805
+ resources?: IResourceCollection;
806
+ /**
807
+ * The workbook's fetch, for async functions (`IFormulaContext.IDeferContext.fetch`). Omitted,
808
+ * the global `fetch`.
809
+ */
810
+ fetch?: (input: string, init?: RequestInit) => Promise<Response>;
811
+ /**
812
+ * How async functions read delimited text (`IFormulaContext.IDeferContext.parseText`), as the
813
+ * workbook reads typed entry. Omitted, it rejects.
814
+ */
815
+ parseText?: (text: string, options?: IFormulaContext.IDeferContext.ParseTextOptions) => Promise<Scalar[][]>;
849
816
  /**
850
817
  * Whether to perform iterative calculations when there are circular dependencies.
851
818
  *
@@ -869,10 +836,6 @@ export declare namespace Calculation {
869
836
  /**
870
837
  * Transaction State for Calculation
871
838
  */
872
- /**
873
- * A grid request the channel holds while the engine is `Starting` (DESIGN-CALC-SERVICE §4): the
874
- * request as data, the snapshot it names, and the caller's continuation.
875
- */
876
839
  interface HeldRequest {
877
840
  gridId: string;
878
841
  request: CalcRequest;
@@ -1,5 +1,4 @@
1
1
  import { Scalar } from '@sheetxl/primitives';
2
- import { ICell } from '../cell';
3
2
  import { Tuple } from '../collections';
4
3
  import { IExternalBookCollection } from '../externalBook';
5
4
  import { CalcGridBackend, FormulaHost } from './grid';
@@ -20,32 +19,6 @@ export interface ExternalNamedItem {
20
19
  /** The cached body as written; replaced in place when a refresh changes it. */
21
20
  refersTo: string;
22
21
  }
23
- /**
24
- * What an external book's cache is to the engine: one read-only grid per sheet, and one virtual
25
- * grid per cached defined name — reconciled against the collection on every change.
26
- *
27
- * @remarks
28
- * DESIGN-EXTERNAL-LINKS §5 steps 15 and 16. The measured rule (§6 items 1 and 2) is that an
29
- * external cell the cache does not hold is a BLANK CELL, so a sheet's grid is simply the sparse
30
- * cache loaded at its real coordinates with the ordinary sheet extent: every cell it does not hold
31
- * is already empty, and a whole-column citation walks the cache's used cells like any sheet's.
32
- * A sheet with no cache at all gets an empty grid for the same reason — Excel answers blank there
33
- * too, and the alternative (`#REF!`) is the value damage this phase exists to remove.
34
- *
35
- * Grids are keyed by the `ext:` stable id the sheet symbol binds to, so `container.getGrid(scope)`
36
- * finds them with no change to the executor. A book's removal unregisters its grids WITHOUT the
37
- * `delete()` a dropped sheet gets: a citation keeps the slot's id and computes `#REF!`, and an undo,
38
- * which restores the slot with its id, rebuilds the grids and heals it (see
39
- * `IExternalBook.delete`).
40
- *
41
- * A cached name's body is compiled INSIDE the book (`SheetCtx.book`), so `'Alpha'!$A$1` names the
42
- * book's sheet; a bare reference anchors to the scoping sheet, else the book's first. A name is
43
- * found under exactly the scope it was cached with — Excel flattens a sheet-scoped source name
44
- * into the book's namespace on caching and then answers `#NAME?` to the sheet-qualified citation
45
- * of it (measured 2026-09-11, `externalLinksNames.xlsx` + `probe-external-names-recalc.ps1`:
46
- * `'Data Sheet'!Local` is cached with no `sheetId`, and `'[1]Data Sheet'!Local` rebuilds to
47
- * `#NAME?` with the source absent), so there is no sheet-to-book fallback here.
48
- */
49
22
  export declare class ExternalBookBindings {
50
23
  private readonly _options;
51
24
  /** Every registered name, by the provider's key: `<scopeId>::<lowercase name>`. */
@@ -87,11 +60,11 @@ export declare class ExternalBookBindings {
87
60
  * column-major scalar tuples a `CalcGridBackend` loads.
88
61
  *
89
62
  * @remarks
90
- * `ICell.JSON`'s untyped arm is a bare primitive, and the cache's strings are LITERAL (never a
63
+ * `Scalar.JSON`'s untyped arm is a bare primitive, and the cache's strings are LITERAL (never a
91
64
  * string-table index — the part inlines them, design doc §1). The typed arm carries an error by
92
65
  * code. `null` when the cache holds nothing.
93
66
  */
94
- export declare function cacheToGridTuples(data: Tuple.GridTuple<ICell.JSON> | null | undefined): Tuple.GridTuple<Scalar> | null;
67
+ export declare function cacheToGridTuples(data: Tuple.GridTuple<Scalar.JSON> | null | undefined): Tuple.GridTuple<Scalar> | null;
95
68
  export declare namespace ExternalBookBindings {
96
69
  interface ConstructorOptions {
97
70
  /** The collection to mirror — read fresh on every {@link ExternalBookBindings.sync}. */