@sheetxl/sdk 0.8.0-beta.1 → 0.8.0-beta.10

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 (564) hide show
  1. package/THIRD-PARTY-NOTICES.md +1 -1
  2. package/browser/esm/{B0HS42a7lga1k1U_.mjs → BEAY9XgKNx-bakXW.mjs} +2 -2
  3. package/browser/esm/BbSmt62FpFIpoVzu.mjs +392 -0
  4. package/browser/esm/BcHmrKHwMMOlzc9_.mjs +357 -0
  5. package/browser/esm/BgcZ-CoTbMfmyDJL.mjs +412 -0
  6. package/browser/esm/Bk7xxbdDpa7-sIwd.mjs +7 -0
  7. package/browser/esm/BqskM7wA8oPfFQue.mjs +20 -0
  8. package/browser/esm/Btg43M1Bf-ENDreu.mjs +540 -0
  9. package/browser/esm/BzLfNyc6OOShIErH.mjs +598 -0
  10. package/browser/esm/C9B0djuUarfNdoj0.mjs +466 -0
  11. package/browser/esm/{uyWBMSIxMlt8n5Z3.mjs → CSx9ed1JOs7K5BXO.mjs} +2 -2
  12. package/browser/esm/CYyv6uGjo10ig5FP.mjs +142 -0
  13. package/browser/esm/CZ5oa92wZEAXebgk.mjs +622 -0
  14. package/browser/esm/CdLZWVcH8cncBUPJ.mjs +849 -0
  15. package/browser/esm/Cgd5BnM3hg9RyUel.mjs +171 -0
  16. package/browser/esm/CjsUGJEQSbGjnH6R.mjs +1001 -0
  17. package/browser/esm/ClB5ix51roQOpZEr.mjs +7402 -0
  18. package/browser/esm/{DlPMeIyxT9tG_WDk.mjs → Cqr3knDsBvoVZ6MN.mjs} +179 -202
  19. package/browser/esm/D4uVlrG0xEFctsSM.mjs +905 -0
  20. package/browser/esm/DOMHmhYzPcLVcpAW.mjs +7 -0
  21. package/browser/esm/DUvUK61b2_4pf4tG.mjs +484 -0
  22. package/browser/esm/De175LygU7ot4nQm.mjs +441 -0
  23. package/browser/esm/DhKkrCVASZ6Isvz6.mjs +527 -0
  24. package/browser/esm/Di58Ji1n--3Mgc_2.mjs +607 -0
  25. package/browser/esm/Dtoyt8q5RyGAlxCp.mjs +1141 -0
  26. package/browser/esm/Y79I7Sm8kjaYexhf.mjs +167 -0
  27. package/browser/esm/index.mjs +1472 -1023
  28. package/browser/esm/o8MFgcVXns987D6_.mjs +400 -0
  29. package/browser/esm/zqJOaweiXE9D8RY1.mjs +66681 -0
  30. package/licenses/dependencies.txt +209 -209
  31. package/node/esm/B6D7sSetrcOWLsKj.mjs +1135 -0
  32. package/node/esm/B9ljpEIZg6wOTzRE.mjs +142 -0
  33. package/node/esm/BH1v-E4Ro3bR7Znw.mjs +962 -0
  34. package/node/esm/BN9j8V9gCExMjVtJ.mjs +540 -0
  35. package/node/esm/{Cku7XiUvw1xrRasi.mjs → Bh4dv6tMjXX3X4nI.mjs} +1 -1
  36. package/node/esm/Bqd62L8KFgdS0Vou.mjs +7 -0
  37. package/node/esm/Bsx9uijd4X_SKV3L.mjs +360 -0
  38. package/node/esm/BtuY37FumvLE7EBo.mjs +629 -0
  39. package/node/esm/C6ZXsNyLXI6zA63X.mjs +402 -0
  40. package/node/esm/CCouEwT37f08qO3V.mjs +7 -0
  41. package/node/esm/CD9wbvufChVYYkrI.mjs +451 -0
  42. package/node/esm/CImNvdz1iP-lUlro.mjs +610 -0
  43. package/node/esm/CT0CN82y0_Qgoryk.mjs +7568 -0
  44. package/node/esm/CUQi5ZtMO02nhG0W.mjs +596 -0
  45. package/node/esm/CUUoseJmFsCf82bb.mjs +28 -0
  46. package/node/esm/CnSQ7MTXAUAyBOoS.mjs +911 -0
  47. package/node/esm/D7MfcID2Wf6l6VpC.mjs +171 -0
  48. package/node/esm/DCplLG93GfTs1vNw.mjs +1860 -0
  49. package/node/esm/DHUADiCmxNQS1ARz.mjs +417 -0
  50. package/node/esm/DMD12JUh7HJw2-jl.mjs +638 -0
  51. package/node/esm/DdFgXl-Ux2cMBTs_.mjs +15 -0
  52. package/node/esm/DefYISWfdZJFx57m.mjs +255 -0
  53. package/node/esm/Ds0d8zXzmgOu3MGx.mjs +403 -0
  54. package/node/esm/MiU4rDOiocmJ-9Ry.mjs +1783 -0
  55. package/node/esm/index.mjs +51616 -39665
  56. package/package.json +15 -16
  57. package/resources/contents.json +64 -0
  58. package/resources/fonts/arial-bold-italic.metrics.json +139 -0
  59. package/resources/fonts/arial-bold.metrics.json +139 -0
  60. package/resources/fonts/arial-italic.metrics.json +139 -0
  61. package/resources/fonts/arial-regular.metrics.json +139 -0
  62. package/resources/fonts/calibri-bold-italic.metrics.json +137 -0
  63. package/resources/fonts/calibri-bold.metrics.json +137 -0
  64. package/resources/fonts/calibri-italic.metrics.json +137 -0
  65. package/resources/fonts/calibri-regular.metrics.json +137 -0
  66. package/resources/fonts/cambria-bold-italic.metrics.json +66 -0
  67. package/resources/fonts/cambria-bold.metrics.json +66 -0
  68. package/resources/fonts/cambria-italic.metrics.json +66 -0
  69. package/resources/fonts/cambria-regular.metrics.json +66 -0
  70. package/resources/fonts/contents.json +126 -0
  71. package/resources/fonts/courier-new-bold-italic.metrics.json +143 -0
  72. package/resources/fonts/courier-new-bold.metrics.json +143 -0
  73. package/resources/fonts/courier-new-italic.metrics.json +143 -0
  74. package/resources/fonts/courier-new-regular.metrics.json +143 -0
  75. package/resources/fonts/times-new-roman-bold-italic.metrics.json +141 -0
  76. package/resources/fonts/times-new-roman-bold.metrics.json +141 -0
  77. package/resources/fonts/times-new-roman-italic.metrics.json +143 -0
  78. package/resources/fonts/times-new-roman-regular.metrics.json +141 -0
  79. package/resources/locales/de/model.msg.json +112 -12
  80. package/resources/locales/en/model.msg.json +119 -13
  81. package/types/scripting-api.json +8048 -0
  82. package/types/scripting-enums.json +277 -110
  83. package/types/scripting.d.ts +13077 -3224
  84. package/types/src/anchored/AbstractAnchored.d.ts +18 -8
  85. package/types/src/anchored/AnchoredMap.d.ts +2 -0
  86. package/types/src/anchored/IAnchoredMap.d.ts +52 -4
  87. package/types/src/autoFill/AutoFill.d.ts +316 -32
  88. package/types/src/autoFill/IAutoFill.d.ts +232 -15
  89. package/types/src/border/{IBorder.d.ts → IBorders.d.ts} +42 -41
  90. package/types/src/border/index.d.ts +1 -1
  91. package/types/src/calculation/Calculation.d.ts +754 -49
  92. package/types/src/calculation/ExternalBookBindings.d.ts +118 -0
  93. package/types/src/calculation/FormulaText.d.ts +82 -0
  94. package/types/src/calculation/ICalculation.d.ts +318 -81
  95. package/types/src/calculation/INamedFormulasCollection.d.ts +5 -8
  96. package/types/src/calculation/NamedFormulaCollection.d.ts +139 -107
  97. package/types/src/calculation/NamedLambdaFunction.d.ts +28 -0
  98. package/types/src/calculation/TokenType.d.ts +9 -0
  99. package/types/src/calculation/Types.d.ts +83 -2
  100. package/types/src/calculation/_CloneBoundary.d.ts +80 -0
  101. package/types/src/calculation/_TableRename.d.ts +13 -0
  102. package/types/src/calculation/compiler/ASTTypes.d.ts +71 -0
  103. package/types/src/calculation/compiler/CompilerUtils.d.ts +135 -44
  104. package/types/src/calculation/compiler/FormulaCompiler.d.ts +29 -4
  105. package/types/src/calculation/compiler/FormulaParser.d.ts +1 -2
  106. package/types/src/calculation/compiler/LiteTransform.d.ts +17 -0
  107. package/types/src/calculation/compiler/ParserUtils.d.ts +26 -1
  108. package/types/src/calculation/compiler/SRParser.d.ts +2 -1
  109. package/types/src/calculation/compiler/Types.d.ts +79 -9
  110. package/types/src/calculation/executor/CalcExecutor.d.ts +312 -33
  111. package/types/src/calculation/executor/CalcExecutorUtils.d.ts +43 -2
  112. package/types/src/calculation/executor/CircularReference.d.ts +2 -0
  113. package/types/src/calculation/formula/Formula.d.ts +58 -21
  114. package/types/src/calculation/formula/FormulaBlock.d.ts +125 -23
  115. package/types/src/calculation/formula/FormulaRecordView.d.ts +79 -0
  116. package/types/src/calculation/formula/FunctionValues.d.ts +10 -0
  117. package/types/src/calculation/formula/IFormulaBlock.d.ts +261 -67
  118. package/types/src/calculation/formula/LambdaValue.d.ts +46 -23
  119. package/types/src/calculation/formula/LazyValue.d.ts +96 -0
  120. package/types/src/calculation/formula/TokenUtils.d.ts +25 -1
  121. package/types/src/calculation/formula/index.d.ts +1 -0
  122. package/types/src/calculation/functions/FunctionDeclarations.d.ts +31 -0
  123. package/types/src/calculation/functions/Operators.d.ts +8 -0
  124. package/types/src/calculation/functions/initializeFunctions.d.ts +15 -2
  125. package/types/src/calculation/grid/CalcGrid.d.ts +407 -158
  126. package/types/src/calculation/grid/CalcGridBackend.d.ts +493 -0
  127. package/types/src/calculation/grid/CalcGridProxy.d.ts +133 -0
  128. package/types/src/calculation/grid/CalcGridUtils.d.ts +62 -12
  129. package/types/src/calculation/grid/FormulaEntry.d.ts +129 -0
  130. package/types/src/calculation/grid/FormulaHost.d.ts +239 -0
  131. package/types/src/calculation/grid/ICalcGrid.d.ts +499 -141
  132. package/types/src/calculation/grid/_CalcRequest.d.ts +289 -0
  133. package/types/src/calculation/grid/index.d.ts +4 -0
  134. package/types/src/calculation/index.d.ts +2 -0
  135. package/types/src/calculation/spatial/ContentfulSpatialValue.d.ts +6 -2
  136. package/types/src/calculation/spatial/FormulaSpatialValue.d.ts +339 -11
  137. package/types/src/calculation/spatial/SpillEntry.d.ts +20 -5
  138. package/types/src/calculation/spatial/TouchedWindows.d.ts +86 -0
  139. package/types/src/calculation/spatial/index.d.ts +1 -0
  140. package/types/src/calculation/state/CalcInputs.d.ts +41 -0
  141. package/types/src/calculation/state/CalcNode.d.ts +141 -30
  142. package/types/src/calculation/state/CalcScope.d.ts +37 -0
  143. package/types/src/calculation/state/CalcState.d.ts +22 -1
  144. package/types/src/calculation/state/CalculationContext.d.ts +50 -3
  145. package/types/src/calculation/state/IContextContainer.d.ts +129 -27
  146. package/types/src/calculation/state/_PendingOverlayGrid.d.ts +163 -0
  147. package/types/src/calculation/state/_ReadObservedGrid.d.ts +74 -8
  148. package/types/src/calculation/state/index.d.ts +1 -0
  149. package/types/src/calculation/symbol/ExternalSheetSymbols.d.ts +80 -0
  150. package/types/src/calculation/symbol/ISymbolRegistry.d.ts +23 -0
  151. package/types/src/calculation/symbol/IndirectSymbolProvider.d.ts +16 -2
  152. package/types/src/calculation/symbol/SheetSymbolProvider.d.ts +63 -3
  153. package/types/src/calculation/symbol/SymbolRegistry.d.ts +20 -0
  154. package/types/src/calculation/symbol/index.d.ts +3 -2
  155. package/types/src/cell/ICell.d.ts +104 -29
  156. package/types/src/cell/ICellHeader.d.ts +24 -2
  157. package/types/src/cell/ICellProtection.d.ts +50 -10
  158. package/types/src/cellRange/ICellRange.d.ts +419 -79
  159. package/types/src/cellRange/ICellRanges.d.ts +23 -21
  160. package/types/src/chart/Chart.d.ts +41 -13
  161. package/types/src/chart/ChartCollection.d.ts +26 -0
  162. package/types/src/chart/IChart.d.ts +166 -12
  163. package/types/src/chart/IChartCollection.d.ts +25 -0
  164. package/types/src/chart/_ChartXml.d.ts +70 -0
  165. package/types/src/chart/index.d.ts +1 -3
  166. package/types/src/collections/ArraysGrid.d.ts +1 -1
  167. package/types/src/collections/IGrid.d.ts +1 -1
  168. package/types/src/collections/ISparseGrid.d.ts +9 -0
  169. package/types/src/collections/ISpatialMap.d.ts +59 -21
  170. package/types/src/collections/ImmutableList.d.ts +28 -0
  171. package/types/src/collections/MixedTypedArrayList.d.ts +168 -108
  172. package/types/src/collections/OverlappingRangeIterator.d.ts +13 -17
  173. package/types/src/collections/RepeatingList.d.ts +7 -0
  174. package/types/src/collections/ScalarGrid.d.ts +50 -0
  175. package/types/src/collections/SparseGrid.d.ts +1 -1
  176. package/types/src/collections/SpatialMap.d.ts +13 -21
  177. package/types/src/collections/Tuple.d.ts +128 -16
  178. package/types/src/collections/_GridUtils.d.ts +19 -6
  179. package/types/src/collections/_RangeSweep.d.ts +97 -0
  180. package/types/src/collections/_SpatialUtils.d.ts +20 -2
  181. package/types/src/collections/index.d.ts +1 -0
  182. package/types/src/color/_BuiltInIndexDefs.d.ts +6 -0
  183. package/types/src/comment/Comment.d.ts +223 -0
  184. package/types/src/comment/CommentCollection.d.ts +40 -0
  185. package/types/src/comment/IComment.d.ts +340 -50
  186. package/types/src/comment/ICommentCollection.d.ts +90 -0
  187. package/types/src/comment/NoteMovable.d.ts +26 -0
  188. package/types/src/comment/_CommentUtils.d.ts +50 -0
  189. package/types/src/comment/_NoteBox.d.ts +50 -0
  190. package/types/src/comment/index.d.ts +1 -0
  191. package/types/src/condition/AnchoredConditional.d.ts +82 -17
  192. package/types/src/condition/BuiltInOperators/AbstractOperator.d.ts +42 -12
  193. package/types/src/condition/BuiltInOperators/AfterEqualToOperator.d.ts +2 -0
  194. package/types/src/condition/BuiltInOperators/AfterOperator.d.ts +2 -0
  195. package/types/src/condition/BuiltInOperators/AndOperator.d.ts +3 -1
  196. package/types/src/condition/BuiltInOperators/AverageOperator.d.ts +2 -0
  197. package/types/src/condition/BuiltInOperators/BeforeEqualToOperator.d.ts +2 -0
  198. package/types/src/condition/BuiltInOperators/BeforeOperator.d.ts +2 -0
  199. package/types/src/condition/BuiltInOperators/BetweenOperator.d.ts +2 -0
  200. package/types/src/condition/BuiltInOperators/ColorOperator.d.ts +4 -0
  201. package/types/src/condition/BuiltInOperators/ContainsOperator.d.ts +2 -0
  202. package/types/src/condition/BuiltInOperators/EndsWithOperator.d.ts +2 -0
  203. package/types/src/condition/BuiltInOperators/EqualToOperator.d.ts +4 -1
  204. package/types/src/condition/BuiltInOperators/ExpressionOperator.d.ts +5 -6
  205. package/types/src/condition/BuiltInOperators/GreaterThanEqualToOperator.d.ts +2 -0
  206. package/types/src/condition/BuiltInOperators/GreaterThanOperator.d.ts +2 -0
  207. package/types/src/condition/BuiltInOperators/IconOperator.d.ts +4 -0
  208. package/types/src/condition/BuiltInOperators/InSetOperator.d.ts +22 -5
  209. package/types/src/condition/BuiltInOperators/LessThanEqualToOperator.d.ts +2 -0
  210. package/types/src/condition/BuiltInOperators/LessThanOperator.d.ts +2 -0
  211. package/types/src/condition/BuiltInOperators/NotOperator.d.ts +2 -0
  212. package/types/src/condition/BuiltInOperators/OrOperator.d.ts +3 -1
  213. package/types/src/condition/BuiltInOperators/StartsWithOperator.d.ts +2 -0
  214. package/types/src/condition/BuiltInOperators/TimePeriodOperator.d.ts +2 -0
  215. package/types/src/condition/BuiltInOperators/TopNOperator.d.ts +6 -0
  216. package/types/src/condition/BuiltinSelectors/BaseSelector.d.ts +21 -6
  217. package/types/src/condition/BuiltinSelectors/DateSelector.d.ts +4 -5
  218. package/types/src/condition/BuiltinSelectors/DisplaySelector.d.ts +20 -0
  219. package/types/src/condition/BuiltinSelectors/TextLengthSelector.d.ts +7 -5
  220. package/types/src/condition/BuiltinSelectors/TimeSelector.d.ts +3 -5
  221. package/types/src/condition/BuiltinSelectors/WholeSelector.d.ts +3 -5
  222. package/types/src/condition/BuiltinSelectors/index.d.ts +12 -6
  223. package/types/src/condition/Condition.d.ts +19 -1
  224. package/types/src/condition/ICondition.d.ts +293 -73
  225. package/types/src/condition/_ConditionFormula.d.ts +152 -0
  226. package/types/src/condition/_ConditionUtils.d.ts +167 -13
  227. package/types/src/conditionalFormat/ConditionalEntry.d.ts +3 -3
  228. package/types/src/conditionalFormat/ConditionalFormat.d.ts +25 -14
  229. package/types/src/conditionalFormat/ConditionalFormatCollection.d.ts +19 -8
  230. package/types/src/conditionalFormat/IConditionalFormat.d.ts +12 -10
  231. package/types/src/conditionalFormat/IConditionalFormatCollection.d.ts +2 -0
  232. package/types/src/dataValidation/DataValidation.d.ts +69 -3
  233. package/types/src/dataValidation/DataValidationCollection.d.ts +20 -9
  234. package/types/src/dataValidation/IDataValidation.d.ts +149 -30
  235. package/types/src/dataValidation/IDataValidationCollection.d.ts +10 -2
  236. package/types/src/date/DateUtils.d.ts +20 -0
  237. package/types/src/date/_DateUtils.d.ts +91 -7
  238. package/types/src/externalBook/ExternalBookCollection.d.ts +145 -12
  239. package/types/src/externalBook/ExternalBookName.d.ts +96 -0
  240. package/types/src/externalBook/IExternalBook.d.ts +170 -18
  241. package/types/src/externalBook/IExternalBookCollection.d.ts +79 -7
  242. package/types/src/externalBook/index.d.ts +1 -0
  243. package/types/src/{lib/file → file}/file.browser.d.ts +22 -8
  244. package/types/src/{lib/file → file}/file.node.d.ts +7 -2
  245. package/types/src/fill/IEffect.d.ts +5 -5
  246. package/types/src/fill/IFill.d.ts +123 -78
  247. package/types/src/fill/IStroke.d.ts +190 -64
  248. package/types/src/fill/RectAlignment.d.ts +20 -0
  249. package/types/src/fill/_Fills.d.ts +187 -0
  250. package/types/src/fill/_Stroke.d.ts +89 -0
  251. package/types/src/fill/index.d.ts +1 -0
  252. package/types/src/filter/IFilter.d.ts +188 -5
  253. package/types/src/font/AdvanceBuilder.d.ts +25 -0
  254. package/types/src/font/AdvanceTable.d.ts +114 -0
  255. package/types/src/font/FontCollection.d.ts +57 -0
  256. package/types/src/font/IFont.d.ts +17 -0
  257. package/types/src/font/IFontCollection.d.ts +120 -22
  258. package/types/src/font/TableFileAdvanceBuilder.d.ts +27 -0
  259. package/types/src/font/_BuiltinFontTables.d.ts +10 -0
  260. package/types/src/font/index.d.ts +4 -1
  261. package/types/src/group/Group.d.ts +136 -0
  262. package/types/src/group/GroupMovableCollection.d.ts +37 -0
  263. package/types/src/group/IGroup.d.ts +129 -0
  264. package/types/src/group/index.d.ts +2 -0
  265. package/types/src/history/IHistory.d.ts +3 -2
  266. package/types/src/hyperlink/IHyperlink.d.ts +13 -0
  267. package/types/src/hyperlink/_Hyperlink.d.ts +5 -1
  268. package/types/src/i18n/LanguagePack.d.ts +12 -4
  269. package/types/src/index.d.ts +5 -0
  270. package/types/src/io/AbstractBackingStore.d.ts +24 -1
  271. package/types/src/io/ArrayBackingStore.d.ts +1 -1
  272. package/types/src/io/EmbeddedPart.d.ts +20 -0
  273. package/types/src/io/IEmbeddedPart.d.ts +63 -0
  274. package/types/src/io/IWorkbookIO.d.ts +185 -18
  275. package/types/src/io/WorkbookIO.d.ts +9 -0
  276. package/types/src/io/WorkbookOrigin.d.ts +20 -11
  277. package/types/src/io/WorkbookOriginProvider.d.ts +46 -0
  278. package/types/src/io/_XmlFragment.d.ts +49 -0
  279. package/types/src/io/index.d.ts +1 -0
  280. package/types/src/license/LicenseDetails.d.ts +1 -0
  281. package/types/src/license/LicenseManager.d.ts +4 -1
  282. package/types/src/license/Types.d.ts +38 -0
  283. package/types/src/license/_Utils.d.ts +22 -0
  284. package/types/src/license/details.d.ts +24 -0
  285. package/types/src/license/license-key.d.ts +49 -2
  286. package/types/src/license/runtime.browser.d.ts +41 -0
  287. package/types/src/{lib/utils/utils.node.d.ts → license/runtime.node.d.ts} +9 -12
  288. package/types/src/listener/IListener.d.ts +12 -7
  289. package/types/src/listener/ListenerEmitter.d.ts +46 -5
  290. package/types/src/model/AbstractModel.d.ts +14 -5
  291. package/types/src/movable/AbstractMovableContent.d.ts +182 -0
  292. package/types/src/movable/CustomElement.d.ts +4 -5
  293. package/types/src/movable/ErrorContent.d.ts +49 -0
  294. package/types/src/movable/FormControl.d.ts +285 -0
  295. package/types/src/movable/GroupMember.d.ts +87 -0
  296. package/types/src/movable/ICustomElement.d.ts +7 -2
  297. package/types/src/movable/IErrorContent.d.ts +23 -0
  298. package/types/src/movable/IFormControl.d.ts +455 -0
  299. package/types/src/movable/IMovable.d.ts +378 -46
  300. package/types/src/movable/IMovableCollection.d.ts +63 -3
  301. package/types/src/movable/Movable.d.ts +149 -49
  302. package/types/src/movable/MovableCollection.d.ts +15 -8
  303. package/types/src/movable/MovableContentRegistry.d.ts +113 -0
  304. package/types/src/movable/_BuiltInContents.d.ts +14 -0
  305. package/types/src/movable/_ContentFactory.d.ts +35 -0
  306. package/types/src/movable/_DrawnBounds.d.ts +37 -0
  307. package/types/src/movable/_InsertableCollection.d.ts +28 -0
  308. package/types/src/movable/_MovableUtils.d.ts +5 -0
  309. package/types/src/movable/_PendingContent.d.ts +25 -0
  310. package/types/src/movable/_PlacementUtils.d.ts +55 -0
  311. package/types/src/movable/_RotatedFrame.d.ts +20 -0
  312. package/types/src/movable/index.d.ts +7 -1
  313. package/types/src/named/AbstractNamed.d.ts +1 -1
  314. package/types/src/named/INamed.d.ts +4 -1
  315. package/types/src/named/INamedCollection.d.ts +26 -0
  316. package/types/src/named/NamedCollection.d.ts +16 -15
  317. package/types/src/numFmt/BuiltInFormats.d.ts +20 -7
  318. package/types/src/numFmt/IFormatEngine.d.ts +2 -0
  319. package/types/src/numFmt/NumfmtFormatEngine.d.ts +2 -0
  320. package/types/src/numFmt/_FormatCell.d.ts +11 -2
  321. package/types/src/numFmt/_NumFmtUtils.d.ts +0 -1
  322. package/types/src/numFmt/vendor/numfmt/_sheetxl.d.ts +6 -0
  323. package/types/src/outline/IOutline.d.ts +186 -0
  324. package/types/src/outline/Outline.d.ts +157 -0
  325. package/types/src/outline/index.d.ts +2 -0
  326. package/types/src/person/IPerson.d.ts +99 -0
  327. package/types/src/person/IPersonCollection.d.ts +51 -0
  328. package/types/src/person/Person.d.ts +32 -0
  329. package/types/src/person/PersonCollection.d.ts +49 -0
  330. package/types/src/person/index.d.ts +4 -0
  331. package/types/src/picture/IPicture.d.ts +33 -3
  332. package/types/src/picture/Picture.d.ts +33 -13
  333. package/types/src/pivot/IPivotTable.d.ts +72 -0
  334. package/types/src/pivot/IPivotTableCollection.d.ts +25 -0
  335. package/types/src/pivot/PivotCache.d.ts +34 -0
  336. package/types/src/pivot/PivotTable.d.ts +61 -0
  337. package/types/src/pivot/PivotTableCollection.d.ts +25 -0
  338. package/types/src/pivot/_PivotXml.d.ts +24 -0
  339. package/types/src/pivot/index.d.ts +6 -0
  340. package/types/src/primitives/CompositeRangeStats.d.ts +2 -0
  341. package/types/src/primitives/Criteria.d.ts +1 -1
  342. package/types/src/primitives/Grouping.d.ts +65 -0
  343. package/types/src/primitives/LambdaBrand.d.ts +26 -0
  344. package/types/src/primitives/PrimitiveUtils.d.ts +56 -19
  345. package/types/src/primitives/Range.d.ts +133 -25
  346. package/types/src/primitives/RangeStats.d.ts +30 -2
  347. package/types/src/primitives/ReferenceRange.d.ts +44 -0
  348. package/types/src/primitives/Runtime.d.ts +15 -2
  349. package/types/src/primitives/environment.browser.d.ts +9 -0
  350. package/types/src/primitives/environment.node.d.ts +10 -0
  351. package/types/src/primitives/stats/AggregateStats.d.ts +49 -15
  352. package/types/src/primitives/stats/Cancellation.d.ts +13 -0
  353. package/types/src/primitives/stats/FrequencyStats.d.ts +10 -1
  354. package/types/src/primitives/stats/LookupIndex.d.ts +46 -0
  355. package/types/src/primitives/stats/Ranked.d.ts +1 -1
  356. package/types/src/primitives/stats/SortedNumbers.d.ts +4 -2
  357. package/types/src/primitives/stats/index.d.ts +1 -0
  358. package/types/src/print/IPrint.d.ts +0 -22
  359. package/types/src/protectedRange/IProtectedRange.d.ts +4 -0
  360. package/types/src/protectedRange/IProtectedRangeCollection.d.ts +2 -0
  361. package/types/src/protectedRange/ProtectedRange.d.ts +1 -4
  362. package/types/src/protectedRange/ProtectedRangeCollection.d.ts +19 -8
  363. package/types/src/protection/DefaultProtection.d.ts +12 -1
  364. package/types/src/protection/IProtection.d.ts +36 -2
  365. package/types/src/reference/ReferenceUtils.d.ts +80 -0
  366. package/types/src/reference/index.d.ts +2 -0
  367. package/types/src/resource/IResource.d.ts +21 -1
  368. package/types/src/resource/IResourceCollection.d.ts +9 -1
  369. package/types/src/resource/ResourceCollection.d.ts +6 -6
  370. package/types/src/scripting/FunctionCollection.d.ts +49 -15
  371. package/types/src/scripting/IFunctionCollection.d.ts +62 -32
  372. package/types/src/scripting/IModule.d.ts +25 -0
  373. package/types/src/scripting/IModuleCollection.d.ts +17 -0
  374. package/types/src/scripting/IScript.d.ts +28 -26
  375. package/types/src/scripting/Module.d.ts +34 -6
  376. package/types/src/scripting/ModuleCollection.d.ts +17 -12
  377. package/types/src/scripting/Runtime.d.ts +15 -0
  378. package/types/src/scripting/Scripts.d.ts +3 -7
  379. package/types/src/scripting/TypedFunction.d.ts +154 -18
  380. package/types/src/scripting/_FunctionIndex.d.ts +8 -3
  381. package/types/src/scripting/_ModuleUtils.d.ts +11 -1
  382. package/types/src/scripting/_ScriptUtils.d.ts +3 -0
  383. package/types/src/scripting/declarations.browser.d.ts +10 -0
  384. package/types/src/scripting/declarations.d.ts +49 -0
  385. package/types/src/scripting/declarations.node.d.ts +9 -0
  386. package/types/src/scripting/index.d.ts +3 -0
  387. package/types/src/selection/IMovableSelection.d.ts +148 -0
  388. package/types/src/selection/IRangeSelection.d.ts +9 -4
  389. package/types/src/selection/MovableSelection.d.ts +48 -0
  390. package/types/src/selection/RangeSelection.d.ts +15 -0
  391. package/types/src/selection/index.d.ts +1 -0
  392. package/types/src/shape/GeometryPreset.d.ts +197 -0
  393. package/types/src/shape/IGeometry.d.ts +380 -0
  394. package/types/src/shape/IShape.d.ts +341 -194
  395. package/types/src/shape/IShapeStyle.d.ts +135 -0
  396. package/types/src/shape/Shape.d.ts +107 -21
  397. package/types/src/shape/ShapeStyleUtils.d.ts +54 -0
  398. package/types/src/shape/_ConnectorFrame.d.ts +32 -0
  399. package/types/src/shape/_ConnectorRoute.d.ts +33 -0
  400. package/types/src/shape/_Connectors.d.ts +108 -0
  401. package/types/src/shape/_Geometry.d.ts +14 -0
  402. package/types/src/shape/_GeometryLoader.d.ts +21 -0
  403. package/types/src/shape/_ShapeStyle.d.ts +70 -0
  404. package/types/src/shape/_builtIn/_BuiltInChunks.d.ts +10 -0
  405. package/types/src/shape/_builtIn/_BuiltInDef.d.ts +9 -0
  406. package/types/src/shape/_builtIn/arrows.d.ts +6 -0
  407. package/types/src/shape/_builtIn/basic.d.ts +6 -0
  408. package/types/src/shape/_builtIn/callouts.d.ts +6 -0
  409. package/types/src/shape/_builtIn/flowchart.d.ts +6 -0
  410. package/types/src/shape/_builtIn/lines.d.ts +6 -0
  411. package/types/src/shape/_builtIn/math.d.ts +6 -0
  412. package/types/src/shape/_builtIn/other.d.ts +6 -0
  413. package/types/src/shape/_builtIn/rectangles.d.ts +6 -0
  414. package/types/src/shape/_builtIn/starsBanners.d.ts +6 -0
  415. package/types/src/shape/geometry/_strokeEnds.d.ts +7 -0
  416. package/types/src/shape/geometry/format.d.ts +3 -0
  417. package/types/src/shape/geometry/geometry.d.ts +85 -0
  418. package/types/src/shape/geometry/guides.d.ts +54 -0
  419. package/types/src/shape/geometry/handles.d.ts +14 -0
  420. package/types/src/shape/geometry/index.d.ts +7 -0
  421. package/types/src/shape/geometry/lineEnds.d.ts +54 -0
  422. package/types/src/shape/geometry/paths.d.ts +35 -0
  423. package/types/src/shape/geometry/segments.d.ts +114 -0
  424. package/types/src/shape/index.d.ts +3 -0
  425. package/types/src/sheet/CellRegion.d.ts +6 -0
  426. package/types/src/sheet/ICellContainerOptions.d.ts +50 -0
  427. package/types/src/sheet/ISheet.d.ts +197 -50
  428. package/types/src/sheet/ISheetCollection.d.ts +2 -5
  429. package/types/src/sheet/NamedCellRange.d.ts +16 -7
  430. package/types/src/sheet/NamedRange.d.ts +8 -0
  431. package/types/src/sheet/Sheet.d.ts +915 -138
  432. package/types/src/sheet/SheetCell.d.ts +92 -32
  433. package/types/src/sheet/SheetCollection.d.ts +19 -8
  434. package/types/src/sheet/SheetRange.d.ts +90 -18
  435. package/types/src/sheet/SheetRanges.d.ts +22 -9
  436. package/types/src/sheet/_CellBuffer.d.ts +214 -0
  437. package/types/src/sheet/_HeldFormula.d.ts +69 -0
  438. package/types/src/sheet/_InvalidSheetRange.d.ts +7 -7
  439. package/types/src/sheet/_ListenerAnchor.d.ts +104 -0
  440. package/types/src/sheet/_RangeStateSweep.d.ts +16 -0
  441. package/types/src/sheet/_ScalarListFactory.d.ts +61 -0
  442. package/types/src/sheet/_SheetAutoFillUtils.d.ts +74 -0
  443. package/types/src/sheet/_SheetAutoFitUtils.d.ts +2 -2
  444. package/types/src/sheet/_SheetEvents.d.ts +43 -0
  445. package/types/src/sheet/_SheetFilterUtils.d.ts +49 -1
  446. package/types/src/sheet/_SheetIntents.d.ts +296 -0
  447. package/types/src/sheet/_SheetMutations.d.ts +182 -62
  448. package/types/src/sheet/_SheetStateReader.d.ts +19 -13
  449. package/types/src/sheet/_SheetStateTypes.d.ts +83 -78
  450. package/types/src/sheet/_SheetUtils.d.ts +39 -22
  451. package/types/src/sheet/_WatchAnchor.d.ts +93 -0
  452. package/types/src/sheet/spatial/HeldFormulaEntry.d.ts +36 -0
  453. package/types/src/sheet/spatial/index.d.ts +1 -0
  454. package/types/src/sheet/style/SheetCellStyle.d.ts +209 -304
  455. package/types/src/sheet/style/SheetDirectStyle.d.ts +30 -19
  456. package/types/src/sheet/style/SheetNamedStyle.d.ts +17 -17
  457. package/types/src/sheet/style/SheetTableStyle.d.ts +5 -5
  458. package/types/src/sheet/style/_Resolvers.d.ts +14 -8
  459. package/types/src/sheet/style/_StyleUtils.d.ts +38 -8
  460. package/types/src/sheetHeader/ISheetHeader.d.ts +94 -53
  461. package/types/src/sheetHeader/SheetCellHeader.d.ts +4 -0
  462. package/types/src/sheetHeader/SheetHeader.d.ts +42 -22
  463. package/types/src/sheetHeader/_HeaderMetrics.d.ts +37 -0
  464. package/types/src/sheetHeader/_HeaderUtils.d.ts +5 -3
  465. package/types/src/sheetProtection/ISheetProtection.d.ts +41 -7
  466. package/types/src/sheetProtection/SheetProtection.d.ts +12 -0
  467. package/types/src/sheetView/ISheetView.d.ts +69 -15
  468. package/types/src/sheetView/SheetView.d.ts +20 -11
  469. package/types/src/slicer/ISlicer.d.ts +304 -17
  470. package/types/src/slicer/ISlicerStyle.d.ts +109 -0
  471. package/types/src/slicer/Slicer.d.ts +128 -13
  472. package/types/src/slicer/SlicerStyle.d.ts +25 -0
  473. package/types/src/slicer/_BuiltInSlicerStyles.d.ts +13 -0
  474. package/types/src/slicer/_SlicerUtils.d.ts +30 -0
  475. package/types/src/slicer/index.d.ts +1 -0
  476. package/types/src/sort/ISort.d.ts +4 -2
  477. package/types/src/string/IStringCollection.d.ts +5 -0
  478. package/types/src/string/StringCollection.d.ts +6 -6
  479. package/types/src/style/{IStyle.d.ts → ICellStyle.d.ts} +72 -52
  480. package/types/src/style/INamedStyleCollection.d.ts +72 -0
  481. package/types/src/style/ISlicerStyleCollection.d.ts +77 -0
  482. package/types/src/style/IStyleCollection.d.ts +91 -60
  483. package/types/src/style/ITableStyleCollection.d.ts +89 -0
  484. package/types/src/style/NamedStyleCollection.d.ts +39 -0
  485. package/types/src/style/SlicerStyleCollection.d.ts +46 -0
  486. package/types/src/style/StyleCollection.d.ts +81 -26
  487. package/types/src/style/TableStyleCollection.d.ts +49 -0
  488. package/types/src/style/_BuiltInStyleDefs.d.ts +6 -6
  489. package/types/src/style/_BuiltInStyleNames.d.ts +2 -2
  490. package/types/src/style/index.d.ts +7 -1
  491. package/types/src/table/AnchoredTable.d.ts +701 -72
  492. package/types/src/table/AutoTable.d.ts +7 -5
  493. package/types/src/table/ITable.d.ts +261 -34
  494. package/types/src/table/ITableCollection.d.ts +12 -0
  495. package/types/src/table/ITableStyle.d.ts +37 -37
  496. package/types/src/table/TableCollection.d.ts +19 -8
  497. package/types/src/table/_FilterField.d.ts +19 -6
  498. package/types/src/table/_NamedTable.d.ts +17 -1
  499. package/types/src/table/_NamedTableSource.d.ts +1 -0
  500. package/types/src/table/_SortField.d.ts +2 -0
  501. package/types/src/table/_TableColumn.d.ts +13 -2
  502. package/types/src/table/_TableMessages.d.ts +1 -0
  503. package/types/src/table/_TableUtils.d.ts +40 -0
  504. package/types/src/text/Bullet.d.ts +4 -0
  505. package/types/src/text/IText.d.ts +182 -0
  506. package/types/src/text/ITextFrame.d.ts +110 -1
  507. package/types/src/text/TextBoxAlignment.d.ts +25 -16
  508. package/types/src/text/TextFrame.d.ts +4 -0
  509. package/types/src/text/TextLine.d.ts +4 -0
  510. package/types/src/text/TextParagraph.d.ts +4 -0
  511. package/types/src/text/TextRotation.d.ts +3 -3
  512. package/types/src/text/TextRun.d.ts +9 -0
  513. package/types/src/text/TextStacked.d.ts +83 -0
  514. package/types/src/text/index.d.ts +1 -0
  515. package/types/src/text/richtext/IRichText.d.ts +36 -0
  516. package/types/src/text/richtext/IStyledFont.d.ts +18 -18
  517. package/types/src/text/richtext/index.d.ts +1 -0
  518. package/types/src/theme/ITheme.d.ts +45 -4
  519. package/types/src/theme/IThemeCollection.d.ts +2 -0
  520. package/types/src/theme/ThemeCollection.d.ts +11 -7
  521. package/types/src/theme/_OfficeFormatScheme.d.ts +3 -0
  522. package/types/src/transaction/ITransaction.d.ts +258 -45
  523. package/types/src/transaction/Transaction.d.ts +101 -11
  524. package/types/src/transaction/TransactionUndoManager.d.ts +4 -1
  525. package/types/src/type/AbstractCollection.d.ts +101 -0
  526. package/types/src/type/ICollection.d.ts +117 -0
  527. package/types/src/type/ITypes.d.ts +9 -7
  528. package/types/src/type/index.d.ts +1 -0
  529. package/types/src/utils/_CSSUtils.d.ts +3 -3
  530. package/types/src/wasm/_sdkWasm.d.ts +7 -0
  531. package/types/src/wasm/index.d.ts +2 -0
  532. package/types/src/wasm/sdkWasm.d.ts +29 -0
  533. package/types/src/workbook/IWorkbook.d.ts +180 -40
  534. package/types/src/workbook/Workbook.d.ts +123 -10
  535. package/types/src/workbook/_WorkbookIntents.d.ts +36 -0
  536. package/types/src/workbookProtection/IWorkbookProtection.d.ts +7 -0
  537. package/types/src/workbookProtection/WorkbookProtection.d.ts +3 -0
  538. package/types/src/workbookView/IWorkbookView.d.ts +12 -0
  539. package/types/src/workbookView/WorkbookView.d.ts +5 -0
  540. package/browser/cjs/B7_pDFYCVzt-3hUs.cjs +0 -1
  541. package/browser/cjs/BatsV2UUraVDCRXm.cjs +0 -57
  542. package/browser/cjs/CUz53T65cRGQRgvv.cjs +0 -33
  543. package/browser/cjs/DU0kYUtdFa3jK-im.cjs +0 -1
  544. package/browser/cjs/Dv3x6zut1ZRUt3IF.cjs +0 -10
  545. package/browser/cjs/Dv4yIPLV98M5zLHa.cjs +0 -1
  546. package/browser/cjs/a0Z-SXs_N71CtqYb.cjs +0 -1
  547. package/browser/cjs/index.cjs +0 -3
  548. package/browser/esm/6JKSOvc5czaQB2Bj.mjs +0 -109
  549. package/browser/esm/BtuJ9AGzeURtAsGo.mjs +0 -51241
  550. package/browser/esm/DGU6sM25u0EWCKl1.mjs +0 -824
  551. package/browser/esm/f2G3QRgEbvFJcoa2.mjs +0 -4436
  552. package/node/esm/-pxdn3M3tc6PLHs7.mjs +0 -114
  553. package/node/esm/0n5bslM9jhO1JnI2.mjs +0 -843
  554. package/types/src/cellRange/_GraphNode.d.ts +0 -38
  555. package/types/src/condition/BuiltinSelectors/ListSelector.d.ts +0 -12
  556. package/types/src/dataValidation/_Utils.d.ts +0 -10
  557. package/types/src/lib/utils/_Utils.d.ts +0 -27
  558. package/types/src/lib/utils/utils.browser.d.ts +0 -33
  559. package/types/src/movable/IGroup.d.ts +0 -30
  560. package/types/src/movable/IMovableSelection.d.ts +0 -49
  561. package/types/src/sheet/listener/RangesListener.d.ts +0 -32
  562. package/types/src/sheet/listener/RangesListenerEntry.d.ts +0 -19
  563. package/types/src/sheet/listener/index.d.ts +0 -3
  564. /package/types/src/{lib/utils → license}/banner.d.ts +0 -0
@@ -22,7 +22,26 @@ export interface ITransaction {
22
22
  *
23
23
  * @param options A final description or options to apply on commit.
24
24
  */
25
- commit<View = any, P = any>(options?: ITransaction.StoreOperationOptions<View, P>): ITransaction;
25
+ commit<P = any>(options?: ITransaction.StoreOperationOptions<P>): ITransaction;
26
+ /**
27
+ * Close the transaction by folding its writes into the commit it opened on, rather than adding
28
+ * a step to the history.
29
+ *
30
+ * @param options A final description or options to apply, as for {@link commit}.
31
+ *
32
+ * @remarks
33
+ * The same fold as {@link IStore.amend}, which names the commit it lands in; this one always
34
+ * lands in the commit this transaction began from. Reach for `IStore.amend` when the writes
35
+ * belong to a commit you can name - what a calculation produced, where a listener registered -
36
+ * and this when they belong to wherever you started: a model folding its own initialization
37
+ * into the load it is happening during.
38
+ *
39
+ * Either way the writes add no undo entry and no audit of their own; they are undone with the
40
+ * commit they land in. On a nested transaction there is nothing to fold into and this is
41
+ * {@link commit}: the writes join the operation that is open, which is already not a step of
42
+ * their own.
43
+ */
44
+ amend<P = any>(options?: ITransaction.StoreOperationOptions<P>): ITransaction;
26
45
  /**
27
46
  * Discard all changes and children transaction changes.
28
47
  */
@@ -35,10 +54,29 @@ export interface ITransaction {
35
54
  * A unique id for this transaction. This will be the same id for all sub transactions.
36
55
  */
37
56
  getId(): string;
57
+ /**
58
+ * Identifies what a rollback of this transaction undoes on its own.
59
+ *
60
+ * @remarks
61
+ * A root's is its id. A nested transaction has one of its own, unless it was begun as a step
62
+ * of the one it is nested in ({@link ITransaction.StoreOperationOptions.savepoint}). It is the
63
+ * key for a copy-on-write structure that is changed in place: a copy taken under one savepoint
64
+ * is not reachable from a state that outlives that savepoint's rollback.
65
+ */
66
+ getSavepointId(): string;
38
67
  /**
39
68
  * Describes the current transaction.
40
69
  */
41
70
  getDescription(): string;
71
+ /**
72
+ * The operation this transaction was begun for ({@link ITransaction.StoreOperationOptions.operation}),
73
+ * or `null` when it was begun without one.
74
+ *
75
+ * @remarks
76
+ * Its own, not its root's: a transaction nested in an operation that did not name one of its
77
+ * own returns `null`. See {@link ICommit.getOperation} for the operation a commit records.
78
+ */
79
+ getOperation(): Readonly<ITransaction.Operation> | null;
42
80
  /**
43
81
  * 0-Based depth of the current transaction. If 0 then it's globally available.
44
82
  */
@@ -62,9 +100,37 @@ export interface ITransaction {
62
100
  */
63
101
  getStates(): Map<string, any>;
64
102
  /**
65
- * Returns the view associated with this transaction.
103
+ * Reads an intent recorded on the root of this transaction.
104
+ *
105
+ * @param key Names the intent. Owned by whoever records it.
106
+ *
107
+ * @see
108
+ * {@link setIntent}
66
109
  */
67
- getView(): Record<string, any> | null;
110
+ getIntent<T = any>(key: string): T | undefined;
111
+ /**
112
+ * Records an intent on the root of this transaction: something to do once the operation
113
+ * completes, rather than a change to the state.
114
+ *
115
+ * @param key Names the intent. Owned by whoever records it.
116
+ * @param value The intent, or a function of the intent currently recorded under `key`.
117
+ *
118
+ * @remarks
119
+ * An intent is data - coords, ids and strings, never a model or a view. It is recorded on
120
+ * the **root**, so every nested transaction of an operation writes the same bag and a batch
121
+ * of N operations resolves one set of intents rather than N. It travels on the commit
122
+ * ({@link ICommit.getIntents}) and so is available again on undo and redo.
123
+ *
124
+ * The store gives a key no meaning and no merge rule beyond last-write-wins. An intent that
125
+ * accumulates - a union of ranges, say - passes a function and merges its own way. The write is
126
+ * kept, so an amend replays it onto the commit it folds into: the accumulating writer runs a
127
+ * second time, handed the TARGET's value, and the union spans both. What this transaction
128
+ * itself holds under the key stays its own contribution, which is what it announces. A writer
129
+ * must therefore produce a new value rather than mutate the one it is handed.
130
+ */
131
+ setIntent<T = any>(key: string, value: T | ((prev: T | undefined) => T)): void;
132
+ /** For runtime type checking. */
133
+ readonly isITransaction: true;
68
134
  }
69
135
  /**
70
136
  * {@inheritDoc ITransaction}
@@ -179,6 +245,13 @@ export declare namespace ITransaction {
179
245
  * It is possible that a batch operation was used to create the commit.
180
246
  */
181
247
  getOperation(): Readonly<Operation>;
248
+ /**
249
+ * The intents recorded on the commit, keyed by name. Empty if it recorded none.
250
+ *
251
+ * @see
252
+ * {@link ITransaction.setIntent}
253
+ */
254
+ getIntents(): Readonly<Record<string, any>>;
182
255
  }
183
256
  /**
184
257
  * When the first transaction this will contain the name of parameters of the input
@@ -197,15 +270,6 @@ export declare namespace ITransaction {
197
270
  params?: PARAMS;
198
271
  }
199
272
  interface RestoreOptions {
200
- /**
201
- * If provided restore will only select if the view matches the id.
202
- *
203
- * @defaultValue undefined - Any view will be selected.
204
- *
205
- * @remarks
206
- * This is used for collaboration.
207
- */
208
- viewId?: string;
209
273
  /**
210
274
  * If true will force the restore even if there are open transactions.
211
275
  *
@@ -257,7 +321,7 @@ export declare namespace ITransaction {
257
321
  * @param stateId The store-issued record id ({@link create}).
258
322
  * @param listener
259
323
  */
260
- addStateListener<STATE = any, VIEW = any>(stateId: string, listener: ITransaction.IStateListener<STATE, VIEW>): IListener.Remove;
324
+ addStateListener<STATE = any>(stateId: string, listener: ITransaction.IStateListener<STATE>): IListener.Remove;
261
325
  /**
262
326
  * Returns the last commits of commits.
263
327
  * @param commitId The commit id to start from.
@@ -294,18 +358,62 @@ export declare namespace ITransaction {
294
358
  */
295
359
  isOpenTransaction(): boolean;
296
360
  /**
297
- * Returns the current view associated with the entire commit.
361
+ * Returns `true` while a {@link restore} or {@link revert} is being delivered to its
362
+ * listeners.
363
+ *
364
+ * @remarks
365
+ * No transaction is open then, but the store is mid-change: a listener that acts on what it
366
+ * hears (a transactional emitter listener, a model re-deriving from the restored snapshot)
367
+ * needs to know that the change it is hearing about is a restore, not an operation.
368
+ */
369
+ isRestoring(): boolean;
370
+ /**
371
+ * Returns `true` while the open operation is an {@link amend} of a commit other than the one
372
+ * the store is at.
298
373
  *
299
374
  * @remarks
300
- * Will return `null` if there is no open transaction.
375
+ * Its writes land in that commit's snapshot alone, and the current state does not change. So
376
+ * anything made inside it that is not versioned by this store - a resource held outside it,
377
+ * once for every snapshot - would exist where the current snapshot has no record of it. Code
378
+ * that makes such a thing asks this first.
301
379
  */
302
- getPendingView(): Record<string, any> | null;
380
+ isAmendingOtherCommit(): boolean;
381
+ /**
382
+ * The root transaction of the operation that is open.
383
+ *
384
+ * @remarks
385
+ * `null` if none is. What it is for is reaching the operation from outside the call that
386
+ * began it - a model asked to record an intent on whatever is open rather than being handed
387
+ * the transaction. Writes made through it join that operation.
388
+ */
389
+ getPendingTransaction(): ITransaction | null;
390
+ /**
391
+ * The innermost open transaction: the one a transaction begun now would nest in.
392
+ *
393
+ * @remarks
394
+ * `null` if none is open. The root of the operation is {@link getPendingTransaction}.
395
+ */
396
+ getCurrentTransaction(): ITransaction | null;
303
397
  /**
304
398
  * Returns the current state associated to a model for the current transaction or globally if there are no open transactions.
305
399
  *
306
400
  * @param stateId The store-issued record id ({@link create}).
307
401
  */
308
402
  getState<STATE = any>(stateId: string): Readonly<STATE>;
403
+ /**
404
+ * Returns the state a record held as of a commit.
405
+ *
406
+ * @param commitId The commit whose snapshot to read.
407
+ * @param stateId The store-issued record id ({@link create}).
408
+ *
409
+ * @remarks
410
+ * The commit's snapshot, not the current state: what a derived write that lands late - a
411
+ * calculation's compile landing in the commit that entered a formula ({@link amend}) - reads
412
+ * so that it sees the inputs as they were when the operation was made, whatever has changed
413
+ * since. `undefined` when the store no longer holds the commit, or the record did not exist
414
+ * at it.
415
+ */
416
+ getStateAt<STATE = any>(commitId: string, stateId: string): Readonly<STATE> | undefined;
309
417
  /**
310
418
  * Returns the version id of a record at the current commit.
311
419
  *
@@ -333,6 +441,36 @@ export declare namespace ITransaction {
333
441
  * their own internal transactions.
334
442
  */
335
443
  doBatch<R>(callback: (commit: ITransaction.ICommit) => R | Promise<R>, options?: ITransaction.StoreOperationOptions, onClose?: ITransaction.CloseCallback): Promise<R> | R;
444
+ /**
445
+ * Fold a set of writes into an existing commit, by id, without a log entry.
446
+ *
447
+ * @param commitId The commit the writes belong to.
448
+ * @param callback Performs the writes, handed the commit they fold into (its intents are
449
+ * what an amend reads). Runs synchronously; whatever it commits joins the target rather than
450
+ * becoming a commit of its own.
451
+ *
452
+ * @remarks
453
+ * An amend is how derived data lands: what a calculation produced for a commit, or a listener
454
+ * registration that must never read as an edit. It is not a step in the history:
455
+ * * it adds no commit and fires no {@link IListeners.onCommitChange} / {@link IListeners.onCommitEnd},
456
+ * so the undo manager never sees it;
457
+ * * it leaves the tip where it is and prunes no redo branch, so it may target a commit the
458
+ * store has been restored to;
459
+ * * its intent writes are replayed onto the target, so an undo of that commit replays them
460
+ * and an accumulating {@link ITransaction.setIntent} writer unions with what the target
461
+ * already held;
462
+ * * state listeners are told what the amend recorded, not what the target holds.
463
+ *
464
+ * The writes read from and land in the named commit's own snapshot, whichever commit the
465
+ * store is at, and later snapshots are not touched: a later commit answers for its own
466
+ * writes. That is the fold for a result computed against a snapshot, a calculation's answer
467
+ * to a request made at that commit. A target that is not the current commit notifies no
468
+ * state listener; the current state did not change. A target the store no longer has folds
469
+ * into the current commit. Called while a transaction is open, the callback runs inside it
470
+ * and its writes land wherever that operation's commit does: an amend cannot re-target an
471
+ * operation in progress.
472
+ */
473
+ amend<R>(commitId: string, callback: (commit: ITransaction.ICommit) => R): R;
336
474
  /**
337
475
  * Create a record, minting its stable state id. The opposite of {@link remove}.
338
476
  *
@@ -370,8 +508,8 @@ export declare namespace ITransaction {
370
508
  */
371
509
  restore(commitId: string, options?: ITransaction.RestoreOptions): ITransaction.ICommit;
372
510
  /**
373
- * Revert is similar to restore in that it moves the state but it applies view
374
- * updates in reverse order.
511
+ * Revert is similar to restore in that it moves the state, but it replays the commit's
512
+ * intents in reverse - an undo lands where the operation began rather than where it ended.
375
513
  *
376
514
  * @param commitId
377
515
  * @param options
@@ -405,12 +543,47 @@ export declare namespace ITransaction {
405
543
  * * A restore/revert will trigger this event.
406
544
  */
407
545
  onCommitEnd?(commit: ITransaction.ICommit): void;
546
+ /**
547
+ * Called after an amend has landed in the commit it targets ({@link IStore.amend},
548
+ * {@link ITransaction.amend}).
549
+ *
550
+ * @param commit The commit that was amended.
551
+ *
552
+ * @remarks
553
+ * The counterpart of {@link onCommitEnd} for a change that is not a commit of its own: the
554
+ * history did not move, but the current snapshot did, and a listener deferring work until
555
+ * the store has settled needs to hear it.
556
+ */
557
+ onAmendEnd?(commit: ITransaction.ICommit): void;
408
558
  /**
409
559
  * Called if the commit changes for any reason.
410
560
  *
411
561
  * @param commit
412
562
  */
413
563
  onCommitChange?(commit: ITransaction.ICommit): void;
564
+ /**
565
+ * Called when the root transaction closes, whether it committed or rolled back.
566
+ *
567
+ * @param commit The commit handle.
568
+ * @param isRollback `true` if the transaction was rolled back.
569
+ * @param isElided `true` if the root wrote nothing and no commit will land.
570
+ *
571
+ * @remarks
572
+ * Called synchronously, once per operation, after the last nested transaction has closed and
573
+ * before the commit reaches the log. This is where an operation's intents
574
+ * ({@link ITransaction.setIntent}) are resolved: no transaction is open, so the work is not
575
+ * part of the commit, and the depth a nested operation ran at cannot make it fire early.
576
+ *
577
+ * A commit that wrote nothing is elided but still closes, so this still fires - and `isElided`
578
+ * is the only warning a listener gets that {@link onCommitEnd} is NOT coming. An amend closes
579
+ * here too, with `isAmend`: the id it closes under never lands, its writes fold into another
580
+ * commit ({@link onAmendEnd}). The three
581
+ * outcomes are distinct and a listener holding work until the operation settles has to tell
582
+ * them apart: a rollback (`isRollback`) discards what the operation announced, a landing
583
+ * commit releases it at {@link onCommitEnd}, and an elided root releases it here, because
584
+ * nothing further will happen.
585
+ */
586
+ onCommitClose?(commit: ITransaction.ICommit, isRollback: boolean, isElided?: boolean, isAmend?: boolean): void;
414
587
  }
415
588
  /**
416
589
  * A source of **durable-commit** notifications: something that announces when a store's committed
@@ -465,30 +638,31 @@ export declare namespace ITransaction {
465
638
  onCommit?(event: ITransaction.ICommitSource.CommitEvent): void;
466
639
  }
467
640
  }
468
- interface IStateListener<STATE = any, VIEW = any> {
641
+ interface IStateListener<STATE = any> {
469
642
  /**
470
643
  * Called synchronously at the beginning of a transaction before a record is changed.
471
644
  *
472
645
  * @remarks
473
646
  * If this throws an exception then all records within the transaction will not
474
- * be applied.
647
+ * be applied. `intents` are the record's so far: what the operation has declared about
648
+ * itself by the time it commits (see {@link ITransaction.setIntent}).
475
649
  */
476
- onBeforeCommitStart?(state: STATE, view: VIEW, commit: ITransaction.ICommit): void;
650
+ onBeforeCommitStart?(state: STATE, commit: ITransaction.ICommit, isRevert: boolean, isRestore: boolean, intents: Readonly<Record<string, any>>): void;
477
651
  /**
478
652
  * Called during a transaction.
479
653
  *
480
654
  * @remarks
481
- * This is when changes should be applied. The view will only be provided if restore is used.
655
+ * This is when changes should be applied.
482
656
  */
483
- onBeforeCommitEnd?(state: STATE, view: VIEW, commit: ITransaction.ICommit): void;
657
+ onBeforeCommitEnd?(state: STATE, commit: ITransaction.ICommit, isRevert: boolean, isRestore: boolean, intents: Readonly<Record<string, any>>): void;
484
658
  /**
485
659
  * Called after the transaction. This is generally used for cleanup or ui notification.
486
660
  */
487
- onAfterStateChange?(state: STATE, view: VIEW, commit: ITransaction.ICommit, isRevert: boolean, isRestore: boolean): void;
661
+ onAfterStateChange?(state: STATE, commit: ITransaction.ICommit, isRevert: boolean, isRestore: boolean, intents: Readonly<Record<string, any>>): void;
488
662
  /**
489
663
  * Called if the restore or revert is called. This is called asynchronously As should only have passive actions.
490
664
  */
491
- onRestoreOrRevert?(state: STATE, view: VIEW, commit: ITransaction.ICommit, isUndo: boolean): void;
665
+ onRestoreOrRevert?(state: STATE, commit: ITransaction.ICommit, isUndo: boolean, isRestore: boolean, intents: Readonly<Record<string, any>>): void;
492
666
  /**
493
667
  * Called when a model is removed from the transaction.
494
668
  */
@@ -504,12 +678,11 @@ export declare namespace ITransaction {
504
678
  * Who authored a commit.
505
679
  *
506
680
  * @remarks
507
- * `user` — an interactive edit in a UI. `agent` — a change driven through the agent tool
508
- * surface (MCP `run`). `macro` — a script the user ran themselves. The author is the
509
- * staleness signal for an agent reading a commit log: commits it did not write mean the
510
- * session moved under it.
681
+ * `user` — an edit the user made, in a UI or by running a script themselves. `agent` — a change
682
+ * driven through the agent tool surface (MCP `run`). The author is the staleness signal for an
683
+ * agent reading a commit log: commits it did not write mean the session moved under it.
511
684
  */
512
- type Author = 'user' | 'agent' | 'macro';
685
+ type Author = 'user' | 'agent';
513
686
  /**
514
687
  * Options for Operations that change the state.
515
688
  */
@@ -526,6 +699,11 @@ export declare namespace ITransaction {
526
699
  * @defaultValue the store's author, else `null` (unattributed)
527
700
  */
528
701
  author?: Author;
702
+ /**
703
+ * Stored with the commit ({@link ICommit.getMeta}) — for what a view of the history wants to know
704
+ * beyond the description, such as the command that made the change.
705
+ */
706
+ meta?: Record<string, string>;
529
707
  /**
530
708
  * If `true` or set then this will select the affect item after the transaction is complete.
531
709
  *
@@ -556,10 +734,53 @@ export declare namespace ITransaction {
556
734
  */
557
735
  expectedCommitId?: string;
558
736
  }
737
+ /**
738
+ * Callbacks a transaction is begun with, called by the store as the transaction and the
739
+ * operation it belongs to settle.
740
+ *
741
+ * @remarks
742
+ * A nested transaction is a savepoint: committing it merges its writes into its parent, where
743
+ * they can still be rolled back with an outer transaction. So the outcome hooks report the
744
+ * OPERATION's outcome - {@link onCommit} once the root lands, {@link onRollback} when this
745
+ * transaction or any one it is nested in rolls back - and only one of them is ever called.
746
+ */
747
+ interface Hooks {
748
+ /**
749
+ * Make the writes the caller holds for this transaction, into it.
750
+ *
751
+ * @remarks
752
+ * The caller holds writes to make them together; the store calls this whenever something
753
+ * needs them made: before another transaction begins inside this one, before this one
754
+ * commits, and before a read of a record the writes change ({@link writes}). A flush writes
755
+ * by beginning transactions inside this one; those do not flush it again.
756
+ */
757
+ flush?(): void;
758
+ /**
759
+ * The records {@link flush} writes: a read of one from the store ({@link IStore.getState})
760
+ * flushes first, so a reader never sees them without the held writes.
761
+ *
762
+ * @remarks
763
+ * Only the records the held writes change - a reader of anything else, including the writer
764
+ * itself deciding what to hold, reads as it would. A read made through a transaction
765
+ * ({@link ITransaction.getState}) sees that transaction and does not flush.
766
+ */
767
+ writes?: readonly string[];
768
+ /**
769
+ * Called once the operation this transaction belongs to has landed.
770
+ *
771
+ * @param commit The root's commit. An operation that wrote nothing is elided but still counts
772
+ * as landed.
773
+ */
774
+ onCommit?(commit: ITransaction.ICommit): void;
775
+ /**
776
+ * Called when this transaction, or any transaction it is nested in, rolls back.
777
+ */
778
+ onRollback?(): void;
779
+ }
559
780
  /**
560
781
  * Options for operations with the store.
561
782
  */
562
- interface StoreOperationOptions<VIEW = any, PARAMS = any> extends OperationOptions {
783
+ interface StoreOperationOptions<PARAMS = any> extends OperationOptions, Hooks {
563
784
  /**
564
785
  * If set to `true`, prevents further transactions from being pushed onto the stack
565
786
  * until the current transaction is complete. Once the current transaction is either
@@ -569,26 +790,18 @@ export declare namespace ITransaction {
569
790
  */
570
791
  preventFurtherTransactions?: boolean;
571
792
  /**
572
- * If set to `true`, The commit will not create a new snapshot but instead merge with the existing.
793
+ * `false` begins a nested transaction as a step of the one it is nested in: it shares that
794
+ * one's {@link ITransaction.getSavepointId}, so structures the two change in place are the
795
+ * same copies. For a transaction that wraps one write. A rollback of it alone does not
796
+ * restore what it changed in place.
573
797
  *
574
- * @defaultValue false
575
- *
576
- * @remarks
577
- * * Ths is used for internal listeners and historical corrections.
578
- * * This is only read for the top transaction.
579
- * * This should generally be avoided as the audits and history are lost.
798
+ * @defaultValue true
580
799
  */
581
- forceAmend?: boolean;
582
- /**
583
- * Stored with the commit.
584
- */
585
- meta?: Record<string, string>;
800
+ savepoint?: boolean;
586
801
  /**
587
802
  * Used to record audit points.
588
803
  */
589
804
  operation?: ITransaction.Operation<PARAMS>;
590
- viewAfter?: VIEW | ((prev: VIEW) => VIEW);
591
- viewBefore?: VIEW | ((prev: VIEW) => VIEW);
592
805
  }
593
806
  }
594
807
  //# sourceMappingURL=ITransaction.d.ts.map
@@ -24,14 +24,15 @@ interface CommitRecord {
24
24
  author?: any;
25
25
  states: Map<string, any>;
26
26
  operation?: ITransaction.Operation<any>;
27
- viewBefore?: Record<string, any> | null;
28
- viewAfter?: Record<string, any> | null;
27
+ intents: Record<string, any>;
28
+ intentWrites: [string, any][];
29
29
  previousId?: string | null;
30
30
  version: number;
31
31
  }
32
32
  interface CommitContainer {
33
33
  record: CommitRecord;
34
34
  commit: ITransaction.ICommit;
35
+ amendOf?: string;
35
36
  }
36
37
  /**
37
38
  * Events are never fired on sub transactions. Only when making changes to the root
@@ -43,7 +44,7 @@ export declare class TransactionStore implements ITransaction.IStore {
43
44
  protected _listenersState: Map<any, Set<ITransaction.IStateListener>>;
44
45
  protected _commits: Map<string, CommitContainer>;
45
46
  protected _transactionStack: AbstractTransaction[];
46
- protected _transactionOpen: boolean;
47
+ protected _restoring: boolean;
47
48
  protected _locked: boolean;
48
49
  protected _isSync: boolean;
49
50
  protected _isTransient: boolean;
@@ -70,6 +71,7 @@ export declare class TransactionStore implements ITransaction.IStore {
70
71
  * branch is never reissued.
71
72
  */
72
73
  protected _versionCounter: number;
74
+ protected _flushOnRead: number;
73
75
  constructor(options?: ITransaction.StoreConstructorOptions);
74
76
  /**
75
77
  * Sets the transaction store to be synchronous or asynchronous.
@@ -86,10 +88,28 @@ export declare class TransactionStore implements ITransaction.IStore {
86
88
  getCommitCount(): number;
87
89
  /** {@inheritDoc ITransaction.IStore.isOpenTransaction} */
88
90
  isOpenTransaction(): boolean;
89
- /** {@inheritDoc ITransaction.IStore.getView} */
90
- getPendingView(): Record<string, any> | null;
91
+ /** {@inheritDoc ITransaction.IStore.isRestoring} */
92
+ isRestoring(): boolean;
93
+ /** {@inheritDoc ITransaction.IStore.isAmendingOtherCommit} */
94
+ isAmendingOtherCommit(): boolean;
95
+ /** {@inheritDoc ITransaction.IStore.getPendingTransaction} */
96
+ getPendingTransaction(): ITransaction | null;
97
+ /** {@inheritDoc ITransaction.IStore.getCurrentTransaction} */
98
+ getCurrentTransaction(): ITransaction | null;
99
+ /** {@inheritDoc ITransaction.IStore.amend} */
100
+ amend<R>(commitId: string, callback: (commit: ITransaction.ICommit) => R): R;
101
+ /**
102
+ * Fold the tip commit into the one before it: its snapshot becomes that commit's, its intents
103
+ * merge in, and it leaves the log. For a store mirroring a history in which the tip's id never
104
+ * landed (an amended or elided root). `false` when there is nothing to fold, or a transaction
105
+ * is open.
106
+ * @internal
107
+ */
108
+ _squashTip(mergeIntents: (into: Record<string, any>, from: Record<string, any>) => Record<string, any>): boolean;
91
109
  /** {@inheritDoc ITransaction.IStore.create} */
92
110
  create<STATE = any>(initial?: Readonly<STATE>): string;
111
+ /** {@inheritDoc ITransaction.IStore.getStateAt} */
112
+ getStateAt<STATE = any>(commitId: string, stateId: string): Readonly<STATE> | undefined;
93
113
  /** {@inheritDoc ITransaction.IStore.getState} */
94
114
  getState<STATE = any>(stateId: string): Readonly<STATE>;
95
115
  /** {@inheritDoc ITransaction.IStore.getCurrentCommit} */
@@ -124,26 +144,88 @@ export declare class TransactionStore implements ITransaction.IStore {
124
144
  /** {@inheritDoc ITransaction.IStore.addListener} */
125
145
  addListener(listener: ITransaction.IListeners): IListener.Remove;
126
146
  /** {@inheritDoc ITransaction.IStore.addStateListener} */
127
- addStateListener<State = any, View = any>(stateId: string, listener: ITransaction.IStateListener<State, View>): IListener.Remove;
147
+ addStateListener<State = any>(stateId: string, listener: ITransaction.IStateListener<State>): IListener.Remove;
128
148
  protected dispatchEvents(dispatcher: () => void, async?: boolean): void | Promise<any>;
129
- protected _commitRecord(container: CommitContainer, states: Map<any, any>, forceAmend: boolean): void;
130
- _notifyStates(event: keyof ITransaction.IStateListener, container: CommitContainer, states: Map<any, any>, view?: Record<string, any> | null, isRevert?: boolean, isRestore?: boolean, async?: boolean): void;
131
- _notify(event: keyof ITransaction.IListeners, commit: ITransaction.ICommit, async?: boolean): void | Promise<any>;
149
+ /**
150
+ * Land a sealed root record: as a new commit, or, when `amendOf` names a commit, folded into
151
+ * that one.
152
+ *
153
+ * @remarks
154
+ * An amend is not a log entry. It writes the states it produced into the current snapshot
155
+ * and folds its intents into the commit it targets, and nothing else moves: no
156
+ * `onCommitChange` / `onCommitEnd`, the tip stays, no redo branch is pruned. State listeners
157
+ * are told what the amend recorded, not what its target holds.
158
+ *
159
+ * A target the store no longer has (trimmed, or on a pruned redo branch) folds into the
160
+ * current commit. A target that is not the current commit takes the amend's intents only:
161
+ * the states were computed against the current snapshot and belong to it.
162
+ */
163
+ protected _commitRecord(container: CommitContainer, states: Map<any, any>, amendOf: string | null): void;
164
+ _notifyStates(event: keyof ITransaction.IStateListener, container: CommitContainer, states: Map<any, any>, isRevert?: boolean, isRestore?: boolean, async?: boolean, source?: CommitContainer): void;
165
+ protected _notifyClose(commit: ITransaction.ICommit, isRollback: boolean, isElided?: boolean, isAmend?: boolean): void;
166
+ _notify(event: Exclude<keyof ITransaction.IListeners, 'onCommitClose'>, commit: ITransaction.ICommit, async?: boolean): void | Promise<any>;
132
167
  }
133
168
  declare abstract class AbstractTransaction implements ITransaction {
134
169
  protected _store: TransactionStore;
135
170
  protected _states: Map<string, any>;
136
171
  protected _description: string;
172
+ protected _operation: Readonly<ITransaction.Operation> | null;
137
173
  protected _meta: Record<string, string>;
138
174
  protected _children: Set<AbstractTransaction>;
139
175
  protected _depth: number;
140
176
  protected _descriptions?: string[];
141
177
  protected _container: CommitContainer;
142
178
  protected _closed: boolean;
179
+ protected _isAmend: boolean;
143
180
  protected _readOnly: boolean;
181
+ protected _hooks: ITransaction.Hooks | null;
182
+ protected _flushing: boolean;
183
+ protected _outcomes: ITransaction.Hooks[] | null;
144
184
  constructor(store: TransactionStore, container: CommitContainer, options: ITransaction.StoreOperationOptions | string | undefined);
145
- /** {@inheritDoc ITransaction.getView} */
146
- getView(): Record<string, any> | null;
185
+ /** @internal Whether a read of some record flushes this transaction. */
186
+ _isFlushedOnRead(): boolean;
187
+ /** @internal Whether a read of `stateId` flushes this transaction. */
188
+ _isFlushedBy(stateId: string): boolean;
189
+ /**
190
+ * Calls the `flush` hook, unless it is running: its writes begin transactions inside this one.
191
+ * @internal
192
+ */
193
+ _flush(): void;
194
+ /**
195
+ * Commits the transactions still open inside this one, then flushes this one: after it, every
196
+ * write of this transaction has been made.
197
+ * @internal
198
+ */
199
+ protected _settle(options?: ITransaction.StoreOperationOptions): void;
200
+ /** @internal A committed child's outcome hooks, now waiting on this transaction's outcome. */
201
+ _adoptOutcomes(child: AbstractTransaction): void;
202
+ /** @internal Tells the outcome hooks waiting on this transaction how the operation ended. */
203
+ protected _notifyOutcome(commit: ITransaction.ICommit | null): void;
204
+ /**
205
+ * The commit this transaction is writing into.
206
+ * @internal
207
+ */
208
+ _getCommit(): ITransaction.ICommit;
209
+ /**
210
+ * Whether this closed without writing anything, so no commit will land.
211
+ *
212
+ * @remarks
213
+ * Only a root can elide, and only `RootTransaction` overrides this — a nested transaction
214
+ * closing says nothing about the operation's outcome.
215
+ * @internal
216
+ */
217
+ _isElided(): boolean;
218
+ /**
219
+ * Name the commit this root folds into when it commits. See `IStore.amend`.
220
+ * @internal
221
+ */
222
+ _setAmendOf(commitId: string): void;
223
+ /** @internal Whether this root closes by folding into another commit: its own id never lands. */
224
+ _isAmendClose(): boolean;
225
+ /** {@inheritDoc ITransaction.getIntent} */
226
+ getIntent<T = any>(key: string): T | undefined;
227
+ /** {@inheritDoc ITransaction.setIntent} */
228
+ setIntent<T = any>(key: string, value: T | ((prev: T | undefined) => T)): void;
147
229
  /** {@inheritDoc ITransaction.getState} */
148
230
  abstract getState<STATE = any>(model: any): STATE;
149
231
  /** {@inheritDoc ITransaction.rollback} */
@@ -152,10 +234,14 @@ declare abstract class AbstractTransaction implements ITransaction {
152
234
  abstract getParent(): ITransaction;
153
235
  /** {@inheritDoc ITransaction.getId} */
154
236
  abstract getId(): string;
237
+ /** {@inheritDoc ITransaction.getSavepointId} */
238
+ abstract getSavepointId(): string;
155
239
  /** {@inheritDoc ITransaction.getDepth} */
156
240
  getDepth(): number;
157
241
  /** {@inheritDoc ITransaction.getDescription} */
158
242
  getDescription(): string;
243
+ /** {@inheritDoc ITransaction.getOperation} */
244
+ getOperation(): Readonly<ITransaction.Operation> | null;
159
245
  /** {@inheritDoc ITransaction.getStates} */
160
246
  getStates(): Map<any, any>;
161
247
  /** {@inheritDoc ITransaction.beginTransaction} */
@@ -167,6 +253,8 @@ declare abstract class AbstractTransaction implements ITransaction {
167
253
  isReadOnly(): boolean;
168
254
  /** {@inheritDoc ITransaction.updateState} */
169
255
  updateState<STATE = any>(stateId: string, state: Readonly<Partial<STATE>> | ((prev: Readonly<STATE>) => Readonly<STATE>)): STATE;
256
+ /** {@inheritDoc ITransaction.amend} */
257
+ amend(options?: ITransaction.StoreOperationOptions): ITransaction;
170
258
  /** {@inheritDoc ITransaction.commit} */
171
259
  commit(options?: ITransaction.StoreOperationOptions): ITransaction;
172
260
  /** {@inheritDoc ITransaction.isClose} */
@@ -179,6 +267,8 @@ declare abstract class AbstractTransaction implements ITransaction {
179
267
  */
180
268
  _purgeState(id: string): void;
181
269
  protected _mergeStates(statesChild: Map<string, any>): Map<string, any> | undefined;
270
+ /** {@inheritDoc ITransaction.isITransaction} */
271
+ get isITransaction(): true;
182
272
  }
183
273
  export {};
184
274
  //# sourceMappingURL=Transaction.d.ts.map
@@ -1,4 +1,4 @@
1
- import { UndoManager } from '@sheetxl/utils';
1
+ import { UndoManager, UndoEntry } from '@sheetxl/utils';
2
2
  import { ITransaction } from '../transaction';
3
3
  /**
4
4
  * An {@link UndoManager} that is a *view over the transaction store's commit log*, not a mirror
@@ -42,6 +42,9 @@ export declare class TransactionUndoManager extends UndoManager {
42
42
  getTopRedoDescription(): string | null;
43
43
  getUndoDescriptions(): readonly string[];
44
44
  getRedoDescriptions(): readonly string[];
45
+ /** Each undo point's commit: its author and the meta recorded with it (the command that made it). */
46
+ getUndoEntries(): readonly UndoEntry[];
47
+ getRedoEntries(): readonly UndoEntry[];
45
48
  /**
46
49
  * The commit log is the stack; arbitrary operations cannot be added.
47
50
  * Perform work through a described transaction instead.