ooxml-core 1.12.2 → 1.14.0

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 (682) hide show
  1. package/dist/PptxHandler-5YP75BPO.cjs +12 -0
  2. package/dist/PptxHandler-GT5Q66TG.mjs +3 -0
  3. package/dist/{PptxHandler-FIN6XDTI.mjs → PptxHandler-KNBFECUE.mjs} +3 -3
  4. package/dist/PresentationBuilder-5DCCFHWJ.mjs +7 -0
  5. package/dist/PresentationBuilder-CVM6LJ7L.mjs +3 -0
  6. package/dist/PresentationBuilder-II7C4A3R.cjs +20 -0
  7. package/dist/automation/docx.d.ts +18 -0
  8. package/dist/automation/docx.d.ts.map +1 -1
  9. package/dist/automation/index.cjs +22549 -8585
  10. package/dist/automation/index.d.ts +1 -0
  11. package/dist/automation/index.d.ts.map +1 -1
  12. package/dist/automation/index.mjs +22546 -8586
  13. package/dist/automation/node.cjs +66 -6
  14. package/dist/automation/node.d.ts +10 -0
  15. package/dist/automation/node.d.ts.map +1 -1
  16. package/dist/automation/node.mjs +67 -7
  17. package/dist/automation/outline.d.ts +29 -0
  18. package/dist/automation/outline.d.ts.map +1 -0
  19. package/dist/automation/xlsx.d.ts +21 -0
  20. package/dist/automation/xlsx.d.ts.map +1 -1
  21. package/dist/chart/auto-title.d.ts +31 -0
  22. package/dist/chart/auto-title.d.ts.map +1 -0
  23. package/dist/chart/axis-format.d.ts +13 -0
  24. package/dist/chart/axis-format.d.ts.map +1 -0
  25. package/dist/chart/bubble-radius.d.ts +30 -0
  26. package/dist/chart/bubble-radius.d.ts.map +1 -0
  27. package/dist/chart/error-bar-amount.d.ts +22 -0
  28. package/dist/chart/error-bar-amount.d.ts.map +1 -0
  29. package/dist/chart/hierarchy.d.ts +69 -0
  30. package/dist/chart/hierarchy.d.ts.map +1 -0
  31. package/dist/chart/index.cjs +2377 -527
  32. package/dist/chart/index.d.ts +12 -0
  33. package/dist/chart/index.d.ts.map +1 -1
  34. package/dist/chart/index.mjs +2338 -528
  35. package/dist/chart/model-analysis.d.ts +66 -0
  36. package/dist/chart/model-analysis.d.ts.map +1 -0
  37. package/dist/chart/model-series.d.ts +5 -0
  38. package/dist/chart/model-series.d.ts.map +1 -1
  39. package/dist/chart/number-format-pattern.d.ts +35 -0
  40. package/dist/chart/number-format-pattern.d.ts.map +1 -0
  41. package/dist/chart/number-format.d.ts +21 -0
  42. package/dist/chart/number-format.d.ts.map +1 -0
  43. package/dist/chart/parse-analysis.d.ts +13 -0
  44. package/dist/chart/parse-analysis.d.ts.map +1 -0
  45. package/dist/chart/parse-series.d.ts +1 -1
  46. package/dist/chart/parse-series.d.ts.map +1 -1
  47. package/dist/chart/parse-util.d.ts +2 -0
  48. package/dist/chart/parse-util.d.ts.map +1 -1
  49. package/dist/chart/render/chart-svg-analysis.d.ts +7 -0
  50. package/dist/chart/render/chart-svg-analysis.d.ts.map +1 -0
  51. package/dist/chart/render/chart-svg-bars.d.ts +5 -0
  52. package/dist/chart/render/chart-svg-bars.d.ts.map +1 -1
  53. package/dist/chart/render/chart-svg-cartesian.d.ts +7 -2
  54. package/dist/chart/render/chart-svg-cartesian.d.ts.map +1 -1
  55. package/dist/chart/render/chart-svg-hierarchy.d.ts +5 -0
  56. package/dist/chart/render/chart-svg-hierarchy.d.ts.map +1 -0
  57. package/dist/chart/render/chart-svg-plots.d.ts +5 -0
  58. package/dist/chart/render/chart-svg-plots.d.ts.map +1 -0
  59. package/dist/chart/render/chart-svg-stock.d.ts +4 -0
  60. package/dist/chart/render/chart-svg-stock.d.ts.map +1 -0
  61. package/dist/chart/render/chart-svg-waterfall.d.ts +4 -0
  62. package/dist/chart/render/chart-svg-waterfall.d.ts.map +1 -0
  63. package/dist/chart/render/chart-svg-xy.d.ts +4 -0
  64. package/dist/chart/render/chart-svg-xy.d.ts.map +1 -0
  65. package/dist/chart/render/chart-svg.d.ts +1 -1
  66. package/dist/chart/render/chart-svg.d.ts.map +1 -1
  67. package/dist/chart/render/chart-value-axis.d.ts +6 -1
  68. package/dist/chart/render/chart-value-axis.d.ts.map +1 -1
  69. package/dist/chart/render/chart-view-analysis.d.ts +30 -0
  70. package/dist/chart/render/chart-view-analysis.d.ts.map +1 -0
  71. package/dist/chart/render/chart-view-ex.d.ts +24 -0
  72. package/dist/chart/render/chart-view-ex.d.ts.map +1 -0
  73. package/dist/chart/render/chart-view-families.d.ts +10 -0
  74. package/dist/chart/render/chart-view-families.d.ts.map +1 -0
  75. package/dist/chart/render/chart-view-series.d.ts +36 -0
  76. package/dist/chart/render/chart-view-series.d.ts.map +1 -0
  77. package/dist/chart/render/chart-view-stock.d.ts +23 -0
  78. package/dist/chart/render/chart-view-stock.d.ts.map +1 -0
  79. package/dist/chart/render/chart-view.d.ts +49 -18
  80. package/dist/chart/render/chart-view.d.ts.map +1 -1
  81. package/dist/chart/render/index.d.ts +2 -0
  82. package/dist/chart/render/index.d.ts.map +1 -1
  83. package/dist/chart/render/render-space.d.ts +6 -1
  84. package/dist/chart/render/render-space.d.ts.map +1 -1
  85. package/dist/chart/render/summary-analysis.d.ts +11 -0
  86. package/dist/chart/render/summary-analysis.d.ts.map +1 -0
  87. package/dist/chart/render/summary-from-chartex.d.ts +11 -0
  88. package/dist/chart/render/summary-from-chartex.d.ts.map +1 -0
  89. package/dist/chart/render/summary-from-space.d.ts.map +1 -1
  90. package/dist/chart/render/summary.d.ts +86 -3
  91. package/dist/chart/render/summary.d.ts.map +1 -1
  92. package/dist/chart/stock-candles.d.ts +72 -0
  93. package/dist/chart/stock-candles.d.ts.map +1 -0
  94. package/dist/chart/style-palette.d.ts +29 -0
  95. package/dist/chart/style-palette.d.ts.map +1 -0
  96. package/dist/chart/sunburst-arcs.d.ts +41 -0
  97. package/dist/chart/sunburst-arcs.d.ts.map +1 -0
  98. package/dist/chart/trendline-fit.d.ts +39 -0
  99. package/dist/chart/trendline-fit.d.ts.map +1 -0
  100. package/dist/chart/waterfall.d.ts +31 -0
  101. package/dist/chart/waterfall.d.ts.map +1 -0
  102. package/dist/chart/write-analysis.d.ts +12 -0
  103. package/dist/chart/write-analysis.d.ts.map +1 -0
  104. package/dist/chart/write-series.d.ts.map +1 -1
  105. package/dist/{chunk-G5PQKHCG.mjs → chunk-2D4IFQ5M.mjs} +1 -1
  106. package/dist/{chunk-UAY26XOI.mjs → chunk-2EBMHIGJ.mjs} +1303 -994
  107. package/dist/{chunk-TVE6UIJF.mjs → chunk-4WZLFUUA.mjs} +54 -13
  108. package/dist/{chunk-H2FRDUNV.mjs → chunk-54ASP65T.mjs} +868 -585
  109. package/dist/chunk-M4XLF4R7.mjs +387 -0
  110. package/dist/{chunk-O6NIA4NG.mjs → chunk-ORH32TO3.mjs} +5798 -5742
  111. package/dist/{chunk-B2JBBAEQ.mjs → chunk-TNNXOW2O.mjs} +1 -1
  112. package/dist/{chunk-IT3U6QD6.cjs → chunk-TQE7FFNT.cjs} +6754 -6695
  113. package/dist/{chunk-7QZGRB3T.cjs → chunk-X7MGZQ6C.cjs} +1321 -995
  114. package/dist/{chunk-6DELVMYB.mjs → chunk-XGXIS4PN.mjs} +12316 -12260
  115. package/dist/crypto/decrypt.d.ts +17 -3
  116. package/dist/crypto/decrypt.d.ts.map +1 -1
  117. package/dist/crypto/encryption-info.d.ts.map +1 -1
  118. package/dist/crypto/index.cjs +252 -78
  119. package/dist/crypto/index.d.ts +19 -4
  120. package/dist/crypto/index.d.ts.map +1 -1
  121. package/dist/crypto/index.mjs +252 -79
  122. package/dist/crypto/key-derivation.d.ts +2 -3
  123. package/dist/crypto/key-derivation.d.ts.map +1 -1
  124. package/dist/crypto/validate.d.ts +22 -0
  125. package/dist/crypto/validate.d.ts.map +1 -0
  126. package/dist/diagram/engine/layout-def-parse.d.ts.map +1 -1
  127. package/dist/diagram/engine/pres-tree.d.ts.map +1 -1
  128. package/dist/diagram/index.cjs +102 -52
  129. package/dist/diagram/index.mjs +102 -52
  130. package/dist/digest/index.cjs +23 -11
  131. package/dist/digest/index.d.ts +2 -1
  132. package/dist/digest/index.d.ts.map +1 -1
  133. package/dist/digest/index.mjs +21 -12
  134. package/dist/digest/password-hash.d.ts +19 -5
  135. package/dist/digest/password-hash.d.ts.map +1 -1
  136. package/dist/digest/timing-safe.d.ts +7 -0
  137. package/dist/digest/timing-safe.d.ts.map +1 -0
  138. package/dist/docx/block-parser.d.ts.map +1 -1
  139. package/dist/docx/chart-paint.d.ts.map +1 -1
  140. package/dist/docx/chart.d.ts +10 -2
  141. package/dist/docx/chart.d.ts.map +1 -1
  142. package/dist/docx/content-control-edit.d.ts +26 -0
  143. package/dist/docx/content-control-edit.d.ts.map +1 -0
  144. package/dist/docx/content-control-model.d.ts +51 -0
  145. package/dist/docx/content-control-model.d.ts.map +1 -0
  146. package/dist/docx/content-control.d.ts +9 -0
  147. package/dist/docx/content-control.d.ts.map +1 -0
  148. package/dist/docx/default-styles.d.ts.map +1 -1
  149. package/dist/docx/drawing.d.ts.map +1 -1
  150. package/dist/docx/embedded.cjs +9932 -935
  151. package/dist/docx/embedded.mjs +9932 -935
  152. package/dist/docx/equation.d.ts +7 -3
  153. package/dist/docx/equation.d.ts.map +1 -1
  154. package/dist/docx/index.cjs +14117 -1513
  155. package/dist/docx/index.d.ts +6 -0
  156. package/dist/docx/index.d.ts.map +1 -1
  157. package/dist/docx/index.mjs +14093 -1514
  158. package/dist/docx/inline-model.d.ts +3 -0
  159. package/dist/docx/inline-model.d.ts.map +1 -1
  160. package/dist/docx/layout/adapt-floats.d.ts +3 -3
  161. package/dist/docx/layout/adapt-floats.d.ts.map +1 -1
  162. package/dist/docx/layout/adapter.d.ts.map +1 -1
  163. package/dist/docx/layout/equation-object.d.ts +7 -0
  164. package/dist/docx/layout/equation-object.d.ts.map +1 -0
  165. package/dist/docx/layout/floats.d.ts +8 -0
  166. package/dist/docx/layout/floats.d.ts.map +1 -1
  167. package/dist/docx/layout/incremental-layout.d.ts +39 -0
  168. package/dist/docx/layout/incremental-layout.d.ts.map +1 -0
  169. package/dist/docx/layout/index.cjs +14177 -1707
  170. package/dist/docx/layout/index.d.ts +2 -2
  171. package/dist/docx/layout/index.d.ts.map +1 -1
  172. package/dist/docx/layout/index.mjs +14176 -1708
  173. package/dist/docx/layout/input.d.ts +4 -0
  174. package/dist/docx/layout/input.d.ts.map +1 -1
  175. package/dist/docx/layout/layout-session.d.ts +13 -2
  176. package/dist/docx/layout/layout-session.d.ts.map +1 -1
  177. package/dist/docx/layout/layout.d.ts +1 -1
  178. package/dist/docx/layout/layout.d.ts.map +1 -1
  179. package/dist/docx/layout/line-metrics.d.ts.map +1 -1
  180. package/dist/docx/layout/page-cursor.d.ts +1 -1
  181. package/dist/docx/layout/page-cursor.d.ts.map +1 -1
  182. package/dist/docx/layout/page-fields.d.ts +3 -1
  183. package/dist/docx/layout/page-fields.d.ts.map +1 -1
  184. package/dist/docx/layout/result.d.ts +14 -1
  185. package/dist/docx/layout/result.d.ts.map +1 -1
  186. package/dist/docx/layout/section-flow.d.ts +11 -1
  187. package/dist/docx/layout/section-flow.d.ts.map +1 -1
  188. package/dist/docx/ligatures.d.ts +2 -0
  189. package/dist/docx/ligatures.d.ts.map +1 -1
  190. package/dist/docx/load/index.cjs +12709 -3590
  191. package/dist/docx/load/index.mjs +12709 -3590
  192. package/dist/docx/model-paragraph.d.ts +3 -0
  193. package/dist/docx/model-paragraph.d.ts.map +1 -1
  194. package/dist/docx/model-run.d.ts +3 -0
  195. package/dist/docx/model-run.d.ts.map +1 -1
  196. package/dist/docx/model.d.ts +3 -0
  197. package/dist/docx/model.d.ts.map +1 -1
  198. package/dist/docx/numbering-parse.d.ts.map +1 -1
  199. package/dist/docx/numbering-text.d.ts.map +1 -1
  200. package/dist/docx/package-limits.d.ts +6 -0
  201. package/dist/docx/package-limits.d.ts.map +1 -0
  202. package/dist/docx/parse-content-control.d.ts +28 -0
  203. package/dist/docx/parse-content-control.d.ts.map +1 -0
  204. package/dist/docx/parse-table.d.ts.map +1 -1
  205. package/dist/docx/parse.d.ts.map +1 -1
  206. package/dist/docx/save.d.ts.map +1 -1
  207. package/dist/docx/shape-model.d.ts +31 -0
  208. package/dist/docx/shape-model.d.ts.map +1 -0
  209. package/dist/docx/shape-palette.d.ts +19 -0
  210. package/dist/docx/shape-palette.d.ts.map +1 -0
  211. package/dist/docx/shape-parse.d.ts +16 -0
  212. package/dist/docx/shape-parse.d.ts.map +1 -0
  213. package/dist/docx/shape-svg.d.ts +20 -0
  214. package/dist/docx/shape-svg.d.ts.map +1 -0
  215. package/dist/docx/table-model.d.ts +4 -0
  216. package/dist/docx/table-model.d.ts.map +1 -1
  217. package/dist/docx/ui/content-control-commands.d.ts +37 -0
  218. package/dist/docx/ui/content-control-commands.d.ts.map +1 -0
  219. package/dist/docx/ui/content-control-guard.d.ts +8 -0
  220. package/dist/docx/ui/content-control-guard.d.ts.map +1 -0
  221. package/dist/docx/ui/content-control-spans.d.ts +19 -0
  222. package/dist/docx/ui/content-control-spans.d.ts.map +1 -0
  223. package/dist/docx/ui/index.cjs +3132 -506
  224. package/dist/docx/ui/index.d.ts +3 -0
  225. package/dist/docx/ui/index.d.ts.map +1 -1
  226. package/dist/docx/ui/index.mjs +3117 -507
  227. package/dist/docx/ui/inline-content-schema.d.ts.map +1 -1
  228. package/dist/docx/ui/paragraph-attributes.d.ts.map +1 -1
  229. package/dist/docx/ui/ribbon-action-ids.d.ts +1 -1
  230. package/dist/docx/ui/ribbon-action-ids.d.ts.map +1 -1
  231. package/dist/docx/ui/run-adapter.d.ts.map +1 -1
  232. package/dist/docx/ui/run-compare.d.ts.map +1 -1
  233. package/dist/docx/ui/run-mark-properties.d.ts.map +1 -1
  234. package/dist/docx/ui/run-marks.d.ts.map +1 -1
  235. package/dist/docx/ui/schema-marks.d.ts +16 -1
  236. package/dist/docx/ui/schema-marks.d.ts.map +1 -1
  237. package/dist/docx/ui/table-structure-guard.d.ts.map +1 -1
  238. package/dist/docx/write-block-placement.d.ts +9 -0
  239. package/dist/docx/write-block-placement.d.ts.map +1 -0
  240. package/dist/docx/write-content-control.d.ts +12 -0
  241. package/dist/docx/write-content-control.d.ts.map +1 -0
  242. package/dist/docx/write-drawing.d.ts +2 -0
  243. package/dist/docx/write-drawing.d.ts.map +1 -1
  244. package/dist/docx/write-inline.d.ts.map +1 -1
  245. package/dist/docx/write-paragraph.d.ts.map +1 -1
  246. package/dist/docx/write-shape.d.ts +16 -0
  247. package/dist/docx/write-shape.d.ts.map +1 -0
  248. package/dist/docx/write-table.d.ts.map +1 -1
  249. package/dist/docx/write.d.ts.map +1 -1
  250. package/dist/drawingml/index.cjs +24 -0
  251. package/dist/drawingml/index.mjs +24 -0
  252. package/dist/geometry/index.cjs +63 -48
  253. package/dist/geometry/index.mjs +63 -48
  254. package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -1
  255. package/dist/i18n/index.cjs +266 -0
  256. package/dist/i18n/index.d.ts +1 -0
  257. package/dist/i18n/index.d.ts.map +1 -1
  258. package/dist/i18n/index.mjs +265 -1
  259. package/dist/i18n/option-strings.d.ts +17 -0
  260. package/dist/i18n/option-strings.d.ts.map +1 -0
  261. package/dist/index.cjs +4558 -1579
  262. package/dist/index.mjs +4558 -1579
  263. package/dist/math/equation-gallery.d.ts +10 -0
  264. package/dist/math/equation-gallery.d.ts.map +1 -0
  265. package/dist/math/index.cjs +777 -139
  266. package/dist/math/index.d.ts +3 -0
  267. package/dist/math/index.d.ts.map +1 -1
  268. package/dist/math/index.mjs +772 -140
  269. package/dist/math/latex-omml-siblings.d.ts.map +1 -1
  270. package/dist/math/latex-to-omml.d.ts.map +1 -1
  271. package/dist/math/omml-box-grouped.d.ts +9 -0
  272. package/dist/math/omml-box-grouped.d.ts.map +1 -0
  273. package/dist/math/omml-box-layout.d.ts +15 -0
  274. package/dist/math/omml-box-layout.d.ts.map +1 -0
  275. package/dist/math/omml-box-structures.d.ts +7 -0
  276. package/dist/math/omml-box-structures.d.ts.map +1 -0
  277. package/dist/math/omml-box.d.ts +85 -0
  278. package/dist/math/omml-box.d.ts.map +1 -0
  279. package/dist/math/omml-dom.d.ts.map +1 -1
  280. package/dist/math/omml-mathml-converters.d.ts.map +1 -1
  281. package/dist/math/omml-svg.d.ts +14 -0
  282. package/dist/math/omml-svg.d.ts.map +1 -0
  283. package/dist/math/omml-to-xml.d.ts +10 -0
  284. package/dist/math/omml-to-xml.d.ts.map +1 -0
  285. package/dist/opc/embedded-packages.d.ts.map +1 -1
  286. package/dist/opc/index.cjs +257 -22
  287. package/dist/opc/index.d.ts +1 -0
  288. package/dist/opc/index.d.ts.map +1 -1
  289. package/dist/opc/index.mjs +251 -23
  290. package/dist/opc/package.d.ts.map +1 -1
  291. package/dist/opc/signature/detection.d.ts +22 -6
  292. package/dist/opc/signature/detection.d.ts.map +1 -1
  293. package/dist/opc/signature/index.d.ts +1 -1
  294. package/dist/opc/signature/index.d.ts.map +1 -1
  295. package/dist/opc/signature/xml-utils.d.ts.map +1 -1
  296. package/dist/opc/zip-limits.d.ts +52 -0
  297. package/dist/opc/zip-limits.d.ts.map +1 -0
  298. package/dist/pptx/automation/index.cjs +1848 -1320
  299. package/dist/pptx/automation/index.d.ts +4 -4
  300. package/dist/pptx/automation/index.mjs +6 -6
  301. package/dist/pptx/chunks/{elements-DmbzOhFu.d.ts → elements-tK7xnWeS.d.ts} +20 -9
  302. package/dist/pptx/chunks/elements-tK7xnWeS.d.ts.map +1 -0
  303. package/dist/pptx/chunks/{index-Cija6Dih.d.ts → index-BSpNQuvz.d.ts} +30 -5
  304. package/dist/pptx/chunks/{index-Cija6Dih.d.ts.map → index-BSpNQuvz.d.ts.map} +1 -1
  305. package/dist/pptx/chunks/{index-BmvOxbsh.d.ts → index-DS9Y4Ne3.d.ts} +25 -9
  306. package/dist/pptx/chunks/index-DS9Y4Ne3.d.ts.map +1 -0
  307. package/dist/pptx/chunks/inspection-status-DjiWd_Aa.d.ts.map +1 -1
  308. package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts → text-operations-BdD_UQ11.d.ts} +2 -2
  309. package/dist/pptx/chunks/{text-operations-sXxhsKDd.d.ts.map → text-operations-BdD_UQ11.d.ts.map} +1 -1
  310. package/dist/pptx/cli/index.cjs +1795 -1275
  311. package/dist/pptx/cli/index.d.ts +1 -1
  312. package/dist/pptx/cli/index.mjs +5 -5
  313. package/dist/pptx/converter/index.cjs +80 -54
  314. package/dist/pptx/converter/index.d.ts +1 -1
  315. package/dist/pptx/converter/index.mjs +3 -3
  316. package/dist/pptx/editor/render/find-replace.cjs +14 -14
  317. package/dist/pptx/editor/render/find-replace.d.ts +2 -2
  318. package/dist/pptx/editor/render/find-replace.mjs +1 -1
  319. package/dist/pptx/editor/render/slide-operations.cjs +8 -8
  320. package/dist/pptx/editor/render/slide-operations.mjs +2 -2
  321. package/dist/pptx/editor/render/text-runs-style-patch.d.ts +1 -1
  322. package/dist/pptx/editor/render/text-style-scope.d.ts +1 -1
  323. package/dist/pptx/index.cjs +1117 -351
  324. package/dist/pptx/index.d.ts +5 -5
  325. package/dist/pptx/index.mjs +6 -6
  326. package/dist/pptx/signature-node/index.cjs +342 -65
  327. package/dist/pptx/signature-node/index.d.ts +12 -1
  328. package/dist/pptx/signature-node/index.d.ts.map +1 -1
  329. package/dist/pptx/signature-node/index.mjs +112 -52
  330. package/dist/teams/activity-feed.d.ts +19 -0
  331. package/dist/teams/activity-feed.d.ts.map +1 -0
  332. package/dist/teams/activity-state.d.ts +12 -0
  333. package/dist/teams/activity-state.d.ts.map +1 -0
  334. package/dist/teams/activity.d.ts +52 -0
  335. package/dist/teams/activity.d.ts.map +1 -0
  336. package/dist/teams/calendar.d.ts +57 -0
  337. package/dist/teams/calendar.d.ts.map +1 -0
  338. package/dist/teams/chat-actions.d.ts +20 -0
  339. package/dist/teams/chat-actions.d.ts.map +1 -0
  340. package/dist/teams/chat-rooms.d.ts +42 -0
  341. package/dist/teams/chat-rooms.d.ts.map +1 -0
  342. package/dist/teams/chat-view.d.ts +56 -0
  343. package/dist/teams/chat-view.d.ts.map +1 -0
  344. package/dist/teams/chat.d.ts +25 -3
  345. package/dist/teams/chat.d.ts.map +1 -1
  346. package/dist/teams/chats.d.ts +52 -0
  347. package/dist/teams/chats.d.ts.map +1 -0
  348. package/dist/teams/ics-timezone.d.ts +17 -0
  349. package/dist/teams/ics-timezone.d.ts.map +1 -0
  350. package/dist/teams/ics.d.ts +20 -0
  351. package/dist/teams/ics.d.ts.map +1 -0
  352. package/dist/teams/index.cjs +12462 -7011
  353. package/dist/teams/index.d.ts +25 -0
  354. package/dist/teams/index.d.ts.map +1 -1
  355. package/dist/teams/index.mjs +12349 -7012
  356. package/dist/teams/meeting-actions.d.ts +31 -0
  357. package/dist/teams/meeting-actions.d.ts.map +1 -0
  358. package/dist/teams/meeting-exceptions.d.ts +28 -0
  359. package/dist/teams/meeting-exceptions.d.ts.map +1 -0
  360. package/dist/teams/meeting-reminders.d.ts +13 -0
  361. package/dist/teams/meeting-reminders.d.ts.map +1 -0
  362. package/dist/teams/meetings.d.ts +71 -0
  363. package/dist/teams/meetings.d.ts.map +1 -0
  364. package/dist/teams/mention-text.d.ts +11 -0
  365. package/dist/teams/mention-text.d.ts.map +1 -0
  366. package/dist/teams/mentions.d.ts +68 -0
  367. package/dist/teams/mentions.d.ts.map +1 -0
  368. package/dist/teams/model.d.ts +7 -0
  369. package/dist/teams/model.d.ts.map +1 -1
  370. package/dist/teams/notifications.d.ts +21 -0
  371. package/dist/teams/notifications.d.ts.map +1 -0
  372. package/dist/teams/pins.d.ts +22 -0
  373. package/dist/teams/pins.d.ts.map +1 -0
  374. package/dist/teams/presence-controller.d.ts +39 -0
  375. package/dist/teams/presence-controller.d.ts.map +1 -0
  376. package/dist/teams/presence.d.ts +55 -0
  377. package/dist/teams/presence.d.ts.map +1 -0
  378. package/dist/teams/recurrence.d.ts +18 -0
  379. package/dist/teams/recurrence.d.ts.map +1 -0
  380. package/dist/teams/roster.d.ts +12 -0
  381. package/dist/teams/roster.d.ts.map +1 -0
  382. package/dist/teams/server-config.d.ts +23 -2
  383. package/dist/teams/server-config.d.ts.map +1 -1
  384. package/dist/teams/server-session.d.ts +19 -0
  385. package/dist/teams/server-session.d.ts.map +1 -0
  386. package/dist/teams/shared-chat.d.ts +83 -0
  387. package/dist/teams/shared-chat.d.ts.map +1 -0
  388. package/dist/teams/store.d.ts +79 -5
  389. package/dist/teams/store.d.ts.map +1 -1
  390. package/dist/teams/sync-transport.d.ts +12 -0
  391. package/dist/teams/sync-transport.d.ts.map +1 -0
  392. package/dist/teams/time-zone.d.ts +32 -0
  393. package/dist/teams/time-zone.d.ts.map +1 -0
  394. package/dist/teams/view.d.ts +8 -0
  395. package/dist/teams/view.d.ts.map +1 -1
  396. package/dist/teams/workspace.d.ts +23 -4
  397. package/dist/teams/workspace.d.ts.map +1 -1
  398. package/dist/visio/edit-connector-follow.d.ts +15 -0
  399. package/dist/visio/edit-connector-follow.d.ts.map +1 -0
  400. package/dist/visio/edit-connector-obstacles.d.ts +9 -3
  401. package/dist/visio/edit-connector-obstacles.d.ts.map +1 -1
  402. package/dist/visio/edit-connector-reroute.d.ts.map +1 -1
  403. package/dist/visio/edit-connector.d.ts.map +1 -1
  404. package/dist/visio/edit-master-add.d.ts +37 -0
  405. package/dist/visio/edit-master-add.d.ts.map +1 -0
  406. package/dist/visio/edit-master-drop.d.ts +6 -0
  407. package/dist/visio/edit-master-drop.d.ts.map +1 -1
  408. package/dist/visio/edit-recalculate-index.d.ts +5 -0
  409. package/dist/visio/edit-recalculate-index.d.ts.map +1 -1
  410. package/dist/visio/edit-recalculate-values.d.ts.map +1 -1
  411. package/dist/visio/edit-stencil-connector-layout.d.ts +2 -0
  412. package/dist/visio/edit-stencil-connector-layout.d.ts.map +1 -1
  413. package/dist/visio/edit-stencil-connector.d.ts +1 -0
  414. package/dist/visio/edit-stencil-connector.d.ts.map +1 -1
  415. package/dist/visio/edit-stencil-import.d.ts +10 -0
  416. package/dist/visio/edit-stencil-import.d.ts.map +1 -0
  417. package/dist/visio/edit-stencil-line.d.ts +29 -0
  418. package/dist/visio/edit-stencil-line.d.ts.map +1 -0
  419. package/dist/visio/edit-stencil-master.d.ts +3 -8
  420. package/dist/visio/edit-stencil-master.d.ts.map +1 -1
  421. package/dist/visio/edit.d.ts.map +1 -1
  422. package/dist/visio/formula-evaluate.d.ts.map +1 -1
  423. package/dist/visio/formula-math-functions.d.ts +11 -0
  424. package/dist/visio/formula-math-functions.d.ts.map +1 -0
  425. package/dist/visio/formula-text-functions.d.ts +23 -0
  426. package/dist/visio/formula-text-functions.d.ts.map +1 -0
  427. package/dist/visio/formula.d.ts.map +1 -1
  428. package/dist/visio/index.cjs +2552 -1833
  429. package/dist/visio/index.d.ts +1 -0
  430. package/dist/visio/index.d.ts.map +1 -1
  431. package/dist/visio/index.mjs +2552 -1834
  432. package/dist/visio/parser.d.ts +6 -0
  433. package/dist/visio/parser.d.ts.map +1 -1
  434. package/dist/visio/stencil-file.d.ts +14 -0
  435. package/dist/visio/stencil-file.d.ts.map +1 -0
  436. package/dist/visio/ui/index.cjs +2398 -1679
  437. package/dist/visio/ui/index.mjs +2398 -1680
  438. package/dist/visio/ui/master-drop.d.ts +10 -0
  439. package/dist/visio/ui/master-drop.d.ts.map +1 -1
  440. package/dist/xlsx/edit/cell-values.d.ts.map +1 -1
  441. package/dist/xlsx/edit/clipboard-html-parse.d.ts +4 -0
  442. package/dist/xlsx/edit/clipboard-html-parse.d.ts.map +1 -1
  443. package/dist/xlsx/edit/data-table.d.ts +38 -0
  444. package/dist/xlsx/edit/data-table.d.ts.map +1 -0
  445. package/dist/xlsx/edit/drawings.d.ts.map +1 -1
  446. package/dist/xlsx/edit/goal-seek.d.ts +30 -0
  447. package/dist/xlsx/edit/goal-seek.d.ts.map +1 -0
  448. package/dist/xlsx/edit/goal-solver.d.ts +20 -0
  449. package/dist/xlsx/edit/goal-solver.d.ts.map +1 -0
  450. package/dist/xlsx/edit/history.d.ts +1 -1
  451. package/dist/xlsx/edit/history.d.ts.map +1 -1
  452. package/dist/xlsx/edit/index.d.ts +5 -0
  453. package/dist/xlsx/edit/index.d.ts.map +1 -1
  454. package/dist/xlsx/edit/input-text.d.ts.map +1 -1
  455. package/dist/xlsx/edit/pivots.d.ts +2 -1
  456. package/dist/xlsx/edit/pivots.d.ts.map +1 -1
  457. package/dist/xlsx/edit/scenarios.d.ts +41 -0
  458. package/dist/xlsx/edit/scenarios.d.ts.map +1 -0
  459. package/dist/xlsx/edit/session.d.ts.map +1 -1
  460. package/dist/xlsx/edit/slicers.d.ts +34 -0
  461. package/dist/xlsx/edit/slicers.d.ts.map +1 -0
  462. package/dist/xlsx/edit/table-edits.d.ts.map +1 -1
  463. package/dist/xlsx/edit/timelines.d.ts +26 -0
  464. package/dist/xlsx/edit/timelines.d.ts.map +1 -0
  465. package/dist/xlsx/edit/types.d.ts +39 -0
  466. package/dist/xlsx/edit/types.d.ts.map +1 -1
  467. package/dist/xlsx/formula/context.d.ts +13 -0
  468. package/dist/xlsx/formula/context.d.ts.map +1 -1
  469. package/dist/xlsx/formula/engine.d.ts.map +1 -1
  470. package/dist/xlsx/formula/evaluator.d.ts.map +1 -1
  471. package/dist/xlsx/formula/functions/amordegrc.d.ts +6 -0
  472. package/dist/xlsx/formula/functions/amordegrc.d.ts.map +1 -0
  473. package/dist/xlsx/formula/functions/bahttext.d.ts +4 -0
  474. package/dist/xlsx/formula/functions/bahttext.d.ts.map +1 -0
  475. package/dist/xlsx/formula/functions/bessel.d.ts +7 -0
  476. package/dist/xlsx/formula/functions/bessel.d.ts.map +1 -0
  477. package/dist/xlsx/formula/functions/bonds.d.ts +3 -0
  478. package/dist/xlsx/formula/functions/bonds.d.ts.map +1 -1
  479. package/dist/xlsx/formula/functions/engineering.d.ts.map +1 -1
  480. package/dist/xlsx/formula/functions/financial.d.ts.map +1 -1
  481. package/dist/xlsx/formula/functions/getpivotdata.d.ts +2 -0
  482. package/dist/xlsx/formula/functions/getpivotdata.d.ts.map +1 -0
  483. package/dist/xlsx/formula/functions/groupby.d.ts +3 -0
  484. package/dist/xlsx/formula/functions/groupby.d.ts.map +1 -0
  485. package/dist/xlsx/formula/functions/helpers.d.ts +3 -2
  486. package/dist/xlsx/formula/functions/helpers.d.ts.map +1 -1
  487. package/dist/xlsx/formula/functions/logical.d.ts.map +1 -1
  488. package/dist/xlsx/formula/functions/modern.d.ts +3 -0
  489. package/dist/xlsx/formula/functions/modern.d.ts.map +1 -0
  490. package/dist/xlsx/formula/functions/odd-securities.d.ts +3 -0
  491. package/dist/xlsx/formula/functions/odd-securities.d.ts.map +1 -0
  492. package/dist/xlsx/formula/functions/registry.d.ts.map +1 -1
  493. package/dist/xlsx/formula/functions/text-regex.d.ts +8 -0
  494. package/dist/xlsx/formula/functions/text-regex.d.ts.map +1 -1
  495. package/dist/xlsx/formula/functions/text.d.ts.map +1 -1
  496. package/dist/xlsx/formula/functions/wildcard.d.ts +8 -0
  497. package/dist/xlsx/formula/functions/wildcard.d.ts.map +1 -0
  498. package/dist/xlsx/formula/values.d.ts +11 -0
  499. package/dist/xlsx/formula/values.d.ts.map +1 -1
  500. package/dist/xlsx/index.cjs +11696 -4994
  501. package/dist/xlsx/index.d.ts +1 -0
  502. package/dist/xlsx/index.d.ts.map +1 -1
  503. package/dist/xlsx/index.mjs +11612 -4994
  504. package/dist/xlsx/layout/chart-view.d.ts.map +1 -1
  505. package/dist/xlsx/layout/header-footer-edit.d.ts +16 -0
  506. package/dist/xlsx/layout/header-footer-edit.d.ts.map +1 -0
  507. package/dist/xlsx/layout/index.d.ts +3 -0
  508. package/dist/xlsx/layout/index.d.ts.map +1 -1
  509. package/dist/xlsx/layout/page-break-view.d.ts +39 -0
  510. package/dist/xlsx/layout/page-break-view.d.ts.map +1 -0
  511. package/dist/xlsx/layout/page-view.d.ts +69 -0
  512. package/dist/xlsx/layout/page-view.d.ts.map +1 -0
  513. package/dist/xlsx/layout/ref-evaluator.d.ts.map +1 -1
  514. package/dist/xlsx/load/index.cjs +5718 -2191
  515. package/dist/xlsx/load/index.mjs +5717 -2190
  516. package/dist/xlsx/model-pivots.d.ts +88 -2
  517. package/dist/xlsx/model-pivots.d.ts.map +1 -1
  518. package/dist/xlsx/model-slicers.d.ts +146 -0
  519. package/dist/xlsx/model-slicers.d.ts.map +1 -0
  520. package/dist/xlsx/model-whatif.d.ts +51 -0
  521. package/dist/xlsx/model-whatif.d.ts.map +1 -0
  522. package/dist/xlsx/model.d.ts +26 -1
  523. package/dist/xlsx/model.d.ts.map +1 -1
  524. package/dist/xlsx/pivot/admission.d.ts.map +1 -1
  525. package/dist/xlsx/pivot/aggregate.d.ts +15 -6
  526. package/dist/xlsx/pivot/aggregate.d.ts.map +1 -1
  527. package/dist/xlsx/pivot/axes.d.ts +6 -0
  528. package/dist/xlsx/pivot/axes.d.ts.map +1 -0
  529. package/dist/xlsx/pivot/cache-xml.d.ts.map +1 -1
  530. package/dist/xlsx/pivot/columns.d.ts +48 -0
  531. package/dist/xlsx/pivot/columns.d.ts.map +1 -0
  532. package/dist/xlsx/pivot/data.d.ts +9 -3
  533. package/dist/xlsx/pivot/data.d.ts.map +1 -1
  534. package/dist/xlsx/pivot/date-axes.d.ts +12 -0
  535. package/dist/xlsx/pivot/date-axes.d.ts.map +1 -0
  536. package/dist/xlsx/pivot/date-group-read.d.ts +11 -0
  537. package/dist/xlsx/pivot/date-group-read.d.ts.map +1 -0
  538. package/dist/xlsx/pivot/date-groups.d.ts +60 -0
  539. package/dist/xlsx/pivot/date-groups.d.ts.map +1 -0
  540. package/dist/xlsx/pivot/date-read.d.ts +10 -0
  541. package/dist/xlsx/pivot/date-read.d.ts.map +1 -0
  542. package/dist/xlsx/pivot/dates.d.ts +17 -0
  543. package/dist/xlsx/pivot/dates.d.ts.map +1 -0
  544. package/dist/xlsx/pivot/group-read.d.ts +9 -0
  545. package/dist/xlsx/pivot/group-read.d.ts.map +1 -0
  546. package/dist/xlsx/pivot/groups.d.ts +31 -0
  547. package/dist/xlsx/pivot/groups.d.ts.map +1 -0
  548. package/dist/xlsx/pivot/hierarchy.d.ts +4 -1
  549. package/dist/xlsx/pivot/hierarchy.d.ts.map +1 -1
  550. package/dist/xlsx/pivot/index.d.ts +7 -0
  551. package/dist/xlsx/pivot/index.d.ts.map +1 -1
  552. package/dist/xlsx/pivot/item-filters-read.d.ts +7 -0
  553. package/dist/xlsx/pivot/item-filters-read.d.ts.map +1 -0
  554. package/dist/xlsx/pivot/item-filters.d.ts +23 -0
  555. package/dist/xlsx/pivot/item-filters.d.ts.map +1 -0
  556. package/dist/xlsx/pivot/measures.d.ts +6 -4
  557. package/dist/xlsx/pivot/measures.d.ts.map +1 -1
  558. package/dist/xlsx/pivot/nested.d.ts +8 -0
  559. package/dist/xlsx/pivot/nested.d.ts.map +1 -0
  560. package/dist/xlsx/pivot/page-filter-admission.d.ts.map +1 -1
  561. package/dist/xlsx/pivot/page-filter.d.ts.map +1 -1
  562. package/dist/xlsx/pivot/read.d.ts +2 -1
  563. package/dist/xlsx/pivot/read.d.ts.map +1 -1
  564. package/dist/xlsx/pivot/subtotal-read.d.ts +9 -0
  565. package/dist/xlsx/pivot/subtotal-read.d.ts.map +1 -0
  566. package/dist/xlsx/pivot/subtotals.d.ts +23 -0
  567. package/dist/xlsx/pivot/subtotals.d.ts.map +1 -0
  568. package/dist/xlsx/pivot/table-xml.d.ts +1 -1
  569. package/dist/xlsx/pivot/table-xml.d.ts.map +1 -1
  570. package/dist/xlsx/pivot/values-axis.d.ts +2 -2
  571. package/dist/xlsx/pivot/values-axis.d.ts.map +1 -1
  572. package/dist/xlsx/read/chart-ex.d.ts +9 -0
  573. package/dist/xlsx/read/chart-ex.d.ts.map +1 -0
  574. package/dist/xlsx/read/chart.d.ts.map +1 -1
  575. package/dist/xlsx/read/drawing.d.ts.map +1 -1
  576. package/dist/xlsx/read/load.d.ts.map +1 -1
  577. package/dist/xlsx/read/package.d.ts +2 -1
  578. package/dist/xlsx/read/package.d.ts.map +1 -1
  579. package/dist/xlsx/read/scenarios.d.ts +4 -0
  580. package/dist/xlsx/read/scenarios.d.ts.map +1 -0
  581. package/dist/xlsx/read/sheet-data.d.ts.map +1 -1
  582. package/dist/xlsx/read/sheet-props.d.ts.map +1 -1
  583. package/dist/xlsx/read/tables.d.ts +3 -0
  584. package/dist/xlsx/read/tables.d.ts.map +1 -1
  585. package/dist/xlsx/read/worksheet.d.ts.map +1 -1
  586. package/dist/xlsx/slicer/book.d.ts +16 -0
  587. package/dist/xlsx/slicer/book.d.ts.map +1 -0
  588. package/dist/xlsx/slicer/frame.d.ts +14 -0
  589. package/dist/xlsx/slicer/frame.d.ts.map +1 -0
  590. package/dist/xlsx/slicer/index.d.ts +10 -0
  591. package/dist/xlsx/slicer/index.d.ts.map +1 -0
  592. package/dist/xlsx/slicer/items.d.ts +30 -0
  593. package/dist/xlsx/slicer/items.d.ts.map +1 -0
  594. package/dist/xlsx/slicer/layout.d.ts +67 -0
  595. package/dist/xlsx/slicer/layout.d.ts.map +1 -0
  596. package/dist/xlsx/slicer/read-slicers.d.ts +11 -0
  597. package/dist/xlsx/slicer/read-slicers.d.ts.map +1 -0
  598. package/dist/xlsx/slicer/read-timelines.d.ts +5 -0
  599. package/dist/xlsx/slicer/read-timelines.d.ts.map +1 -0
  600. package/dist/xlsx/slicer/read.d.ts +26 -0
  601. package/dist/xlsx/slicer/read.d.ts.map +1 -0
  602. package/dist/xlsx/slicer/select.d.ts +10 -0
  603. package/dist/xlsx/slicer/select.d.ts.map +1 -0
  604. package/dist/xlsx/slicer/styles.d.ts +36 -0
  605. package/dist/xlsx/slicer/styles.d.ts.map +1 -0
  606. package/dist/xlsx/slicer/table-filter.d.ts +28 -0
  607. package/dist/xlsx/slicer/table-filter.d.ts.map +1 -0
  608. package/dist/xlsx/slicer/timeline-periods.d.ts +35 -0
  609. package/dist/xlsx/slicer/timeline-periods.d.ts.map +1 -0
  610. package/dist/xlsx/slicer/timeline-view.d.ts +60 -0
  611. package/dist/xlsx/slicer/timeline-view.d.ts.map +1 -0
  612. package/dist/xlsx/slicer/write-plan.d.ts +31 -0
  613. package/dist/xlsx/slicer/write-plan.d.ts.map +1 -0
  614. package/dist/xlsx/slicer/write-timeline.d.ts +7 -0
  615. package/dist/xlsx/slicer/write-timeline.d.ts.map +1 -0
  616. package/dist/xlsx/slicer/write-xml.d.ts +17 -0
  617. package/dist/xlsx/slicer/write-xml.d.ts.map +1 -0
  618. package/dist/xlsx/ui/commands/i18n/index.d.ts.map +1 -1
  619. package/dist/xlsx/ui/commands/i18n/pivots.d.ts.map +1 -1
  620. package/dist/xlsx/ui/commands/i18n/print-layout.d.ts.map +1 -1
  621. package/dist/xlsx/ui/commands/i18n/slicers.d.ts +3 -0
  622. package/dist/xlsx/ui/commands/i18n/slicers.d.ts.map +1 -0
  623. package/dist/xlsx/ui/commands/i18n/what-if.d.ts +3 -0
  624. package/dist/xlsx/ui/commands/i18n/what-if.d.ts.map +1 -0
  625. package/dist/xlsx/ui/commands/icons.d.ts.map +1 -1
  626. package/dist/xlsx/ui/commands/slicers.d.ts +37 -0
  627. package/dist/xlsx/ui/commands/slicers.d.ts.map +1 -0
  628. package/dist/xlsx/ui/commands/what-if.d.ts +4 -0
  629. package/dist/xlsx/ui/commands/what-if.d.ts.map +1 -0
  630. package/dist/xlsx/ui/commands.d.ts +2 -0
  631. package/dist/xlsx/ui/commands.d.ts.map +1 -1
  632. package/dist/xlsx/ui/index.cjs +6999 -3052
  633. package/dist/xlsx/ui/index.d.ts +2 -0
  634. package/dist/xlsx/ui/index.d.ts.map +1 -1
  635. package/dist/xlsx/ui/index.mjs +6994 -3053
  636. package/dist/xlsx/ui/locales/de/index.d.ts.map +1 -1
  637. package/dist/xlsx/ui/locales/de/options.d.ts +2 -0
  638. package/dist/xlsx/ui/locales/de/options.d.ts.map +1 -0
  639. package/dist/xlsx/ui/locales/de/shell.d.ts.map +1 -1
  640. package/dist/xlsx/ui/locales/en/index.d.ts.map +1 -1
  641. package/dist/xlsx/ui/locales/en/options.d.ts +2 -0
  642. package/dist/xlsx/ui/locales/en/options.d.ts.map +1 -0
  643. package/dist/xlsx/ui/locales/en/shell.d.ts.map +1 -1
  644. package/dist/xlsx/ui/locales/es/index.d.ts.map +1 -1
  645. package/dist/xlsx/ui/locales/es/options.d.ts +2 -0
  646. package/dist/xlsx/ui/locales/es/options.d.ts.map +1 -0
  647. package/dist/xlsx/ui/locales/es/shell.d.ts.map +1 -1
  648. package/dist/xlsx/ui/locales/fr/index.d.ts.map +1 -1
  649. package/dist/xlsx/ui/locales/fr/options.d.ts +2 -0
  650. package/dist/xlsx/ui/locales/fr/options.d.ts.map +1 -0
  651. package/dist/xlsx/ui/locales/fr/shell.d.ts.map +1 -1
  652. package/dist/xlsx/ui/locales/zh-CN/index.d.ts.map +1 -1
  653. package/dist/xlsx/ui/locales/zh-CN/options.d.ts +2 -0
  654. package/dist/xlsx/ui/locales/zh-CN/options.d.ts.map +1 -0
  655. package/dist/xlsx/ui/locales/zh-CN/shell.d.ts.map +1 -1
  656. package/dist/xlsx/ui/ribbon/tabs/review-view.d.ts.map +1 -1
  657. package/dist/xlsx/write/carried-refs.d.ts.map +1 -1
  658. package/dist/xlsx/write/drawing.d.ts.map +1 -1
  659. package/dist/xlsx/write/package-writer.d.ts +2 -0
  660. package/dist/xlsx/write/package-writer.d.ts.map +1 -1
  661. package/dist/xlsx/write/save.d.ts.map +1 -1
  662. package/dist/xlsx/write/scenarios.d.ts +4 -0
  663. package/dist/xlsx/write/scenarios.d.ts.map +1 -0
  664. package/dist/xlsx/write/sheet-data.d.ts.map +1 -1
  665. package/dist/xlsx/write/sheet-parts.d.ts +1 -0
  666. package/dist/xlsx/write/sheet-parts.d.ts.map +1 -1
  667. package/dist/xlsx/write/sheet-props.d.ts.map +1 -1
  668. package/dist/xlsx/write/table-patch.d.ts.map +1 -1
  669. package/dist/xlsx/write/tables.d.ts.map +1 -1
  670. package/dist/xlsx/write/worksheet.d.ts.map +1 -1
  671. package/dist/xml/index.cjs +28 -0
  672. package/dist/xml/index.mjs +27 -1
  673. package/dist/xml/namespaces.d.ts +2 -0
  674. package/dist/xml/namespaces.d.ts.map +1 -1
  675. package/dist/xml/xml.d.ts +15 -0
  676. package/dist/xml/xml.d.ts.map +1 -1
  677. package/package.json +1 -1
  678. package/dist/PptxHandler-RWTOUCLC.mjs +0 -3
  679. package/dist/PptxHandler-UU4ZCT6H.cjs +0 -12
  680. package/dist/chunk-KBIJI6P5.mjs +0 -166
  681. package/dist/pptx/chunks/elements-DmbzOhFu.d.ts.map +0 -1
  682. package/dist/pptx/chunks/index-BmvOxbsh.d.ts.map +0 -1
@@ -1,5 +1,5 @@
1
- import { XMLDSIG_NS, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, OPC_RELATIONSHIP_TRANSFORM, SUPPORTED_XML_CANON_TRANSFORMS, DIGEST_ALGORITHM_TO_HASH, resolveReferenceUriToPart, PPTX_VIEWER_MANIFEST_NS, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, extractAllTagText, extractFirstTagText, extractTagAttribute, computeDetailStatus, computeVerificationStatus, DIGITAL_SIGNATURE_REL_TYPE, normalizePartPath, escapeXmlAttr, escapeXmlText, isValidBase64 } from '../../chunk-KBIJI6P5.mjs';
2
- export { DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, OPC_RELATIONSHIP_TRANSFORM, PPTX_VIEWER_MANIFEST_NS, SUPPORTED_XML_CANON_TRANSFORMS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeVerificationStatus, escapeXmlAttr, escapeXmlText, extractAllTagText, extractFirstTagText, extractTagAttribute, isValidBase64, normalizePartPath, resolveReferenceUriToPart } from '../../chunk-KBIJI6P5.mjs';
1
+ import { XMLDSIG_NS, ENTERPRISE_TRUST_ROOTS_PEM_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, OPC_RELATIONSHIP_TRANSFORM, SUPPORTED_XML_CANON_TRANSFORMS, DIGEST_ALGORITHM_TO_HASH, resolveReferenceUriToPart, PPTX_VIEWER_MANIFEST_NS, openPptxZip, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, extractAllTagText, extractFirstTagText, extractTagAttribute, computeDetailStatus, computeVerificationStatus, DIGITAL_SIGNATURE_REL_TYPE, normalizePartPath, escapeXmlAttr, escapeXmlText, isValidBase64 } from '../../chunk-M4XLF4R7.mjs';
2
+ export { DIGEST_ALGORITHM_TO_HASH, DIGEST_ALGORITHM_TO_WEB_CRYPTO, DIGITAL_SIGNATURE_ORIGIN_REL_TYPE, DIGITAL_SIGNATURE_REL_TYPE, ENTERPRISE_FAIL_ON_REVOCATION_UNKNOWN_ENV, ENTERPRISE_REQUIRE_REVOCATION_ENV, ENTERPRISE_REQUIRE_TIMESTAMP_ENV, ENTERPRISE_TRUST_ROOTS_FILE_ENV, ENTERPRISE_TRUST_ROOTS_PEM_ENV, OPC_RELATIONSHIP_TRANSFORM, PPTX_VIEWER_MANIFEST_NS, SUPPORTED_XML_CANON_TRANSFORMS, XMLDSIG_NS, XML_TRANSFORM_ENVELOPED_SIGNATURE, computeDetailStatus, computeDigestBase64 as computeDigestBase64WebCrypto, computeVerificationStatus, escapeXmlAttr, escapeXmlText, extractAllTagText, extractFirstTagText, extractTagAttribute, isValidBase64, normalizePartPath, resolveReferenceUriToPart } from '../../chunk-M4XLF4R7.mjs';
3
3
  import '../../chunk-7P6ASYW6.mjs';
4
4
  import { DOMParser, XMLSerializer } from '@xmldom/xmldom';
5
5
  import { SignedXml } from 'xml-crypto';
@@ -7,10 +7,9 @@ import crypto2 from 'crypto';
7
7
  import path from 'path';
8
8
  import tls from 'tls';
9
9
  import forge3 from 'node-forge';
10
- import http from 'http';
11
- import https from 'https';
10
+ import dns from 'dns';
11
+ import net from 'net';
12
12
  import fs from 'fs/promises';
13
- import JSZip from 'jszip';
14
13
 
15
14
  function getNodeLocalName(node) {
16
15
  if (node.localName) {
@@ -345,6 +344,108 @@ function loadSigningMaterialFromBuffer(certificateBuffer, certificatePath, certi
345
344
  function pemCertificateToBase64(pem) {
346
345
  return pem.replace(/-----BEGIN CERTIFICATE-----/g, "").replace(/-----END CERTIFICATE-----/g, "").replace(/\s+/g, "").trim();
347
346
  }
347
+ var OCSP_TIMEOUT_MS = 1e4;
348
+ var OCSP_MAX_RESPONSE_BYTES = 1024 * 1024;
349
+ function isPrivateIpv4(ip) {
350
+ const p = ip.split(".").map(Number);
351
+ const [a = 0, b = 0] = p;
352
+ return a === 0 || a === 10 || a === 127 || a === 169 && b === 254 || a === 172 && b >= 16 && b <= 31 || a === 192 && b === 168 || a === 100 && b >= 64 && b <= 127;
353
+ }
354
+ function isPrivateAddress(address) {
355
+ const ip = address.replace(/^\[|\]$/g, "").split("%")[0] ?? "";
356
+ if (net.isIPv4(ip)) {
357
+ return isPrivateIpv4(ip);
358
+ }
359
+ if (!net.isIPv6(ip)) {
360
+ return true;
361
+ }
362
+ const lower = ip.toLowerCase();
363
+ const mapped = /^::ffff:(\d+\.\d+\.\d+\.\d+)$/.exec(lower);
364
+ if (mapped?.[1]) {
365
+ return isPrivateIpv4(mapped[1]);
366
+ }
367
+ const hex = /^::ffff:([0-9a-f]{1,4}):([0-9a-f]{1,4})$/.exec(lower);
368
+ if (hex?.[1] && hex[2]) {
369
+ const hi = Number.parseInt(hex[1], 16);
370
+ const lo = Number.parseInt(hex[2], 16);
371
+ return isPrivateIpv4(`${hi >> 8}.${hi & 255}.${lo >> 8}.${lo & 255}`);
372
+ }
373
+ if (lower === "::" || lower === "::1") {
374
+ return true;
375
+ }
376
+ const first = Number.parseInt(lower.split(":")[0] || "0", 16);
377
+ return (first & 65024) === 64512 || (first & 65472) === 65152;
378
+ }
379
+ async function assertPublicHost(hostname) {
380
+ const host = hostname.replace(/^\[|\]$/g, "");
381
+ const addresses = net.isIP(host) ? [host] : (await dns.promises.lookup(host, { all: true })).map((entry) => entry.address);
382
+ if (addresses.length === 0) {
383
+ throw new Error("Responder host did not resolve");
384
+ }
385
+ for (const address of addresses) {
386
+ if (isPrivateAddress(address)) {
387
+ throw new Error("Responder host resolves to a private network address");
388
+ }
389
+ }
390
+ }
391
+ async function readCapped(response, controller) {
392
+ const declared = Number(response.headers.get("content-length") ?? 0);
393
+ if (declared > OCSP_MAX_RESPONSE_BYTES) {
394
+ controller.abort();
395
+ throw new Error("Response too large");
396
+ }
397
+ if (!response.body) {
398
+ return Buffer.alloc(0);
399
+ }
400
+ const reader = response.body.getReader();
401
+ const chunks = [];
402
+ let total = 0;
403
+ for (; ; ) {
404
+ const { done, value } = await reader.read();
405
+ if (done) break;
406
+ total += value.byteLength;
407
+ if (total > OCSP_MAX_RESPONSE_BYTES) {
408
+ controller.abort();
409
+ await reader.cancel().catch(() => void 0);
410
+ throw new Error("Response too large");
411
+ }
412
+ chunks.push(Buffer.from(value));
413
+ }
414
+ return Buffer.concat(chunks);
415
+ }
416
+ async function httpPost(url, body, contentType, options = {}) {
417
+ let parsed;
418
+ try {
419
+ parsed = new URL(url);
420
+ } catch {
421
+ throw new Error("Invalid URL");
422
+ }
423
+ if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
424
+ throw new Error("Unsupported protocol");
425
+ }
426
+ if (!options.allowPrivateNetwork) {
427
+ await assertPublicHost(parsed.hostname);
428
+ }
429
+ const controller = new AbortController();
430
+ const timer = setTimeout(() => controller.abort(), OCSP_TIMEOUT_MS);
431
+ try {
432
+ const response = await fetch(parsed, {
433
+ method: "POST",
434
+ headers: { "Content-Type": contentType },
435
+ body: new Uint8Array(body),
436
+ redirect: "manual",
437
+ signal: controller.signal
438
+ });
439
+ if (response.status >= 300 && response.status < 400) {
440
+ throw new Error("Redirects are not followed");
441
+ }
442
+ return await readCapped(response, controller);
443
+ } finally {
444
+ clearTimeout(timer);
445
+ }
446
+ }
447
+
448
+ // pptx/signature-node/ocsp.ts
348
449
  function asn1Child2(node, index) {
349
450
  return Array.isArray(node.value) ? node.value[index] : void 0;
350
451
  }
@@ -370,49 +471,6 @@ function extractOcspUrls(certPem) {
370
471
  return [];
371
472
  }
372
473
  }
373
- var HTTP_TIMEOUT_MS = 1e4;
374
- function httpPost(url, body, contentType) {
375
- return new Promise((resolve, reject) => {
376
- let parsed;
377
- try {
378
- parsed = new URL(url);
379
- } catch {
380
- reject(new Error("Invalid URL"));
381
- return;
382
- }
383
- if (parsed.protocol !== "http:" && parsed.protocol !== "https:") {
384
- reject(new Error("Unsupported protocol"));
385
- return;
386
- }
387
- const transport = parsed.protocol === "https:" ? https : http;
388
- const req = transport.request(
389
- {
390
- hostname: parsed.hostname,
391
- port: parsed.port || void 0,
392
- path: parsed.pathname + parsed.search,
393
- method: "POST",
394
- headers: {
395
- "Content-Type": contentType,
396
- "Content-Length": body.length
397
- },
398
- timeout: HTTP_TIMEOUT_MS
399
- },
400
- (res) => {
401
- const chunks = [];
402
- res.on("data", (chunk) => chunks.push(chunk));
403
- res.on("end", () => resolve(Buffer.concat(chunks)));
404
- res.on("error", reject);
405
- }
406
- );
407
- req.on("error", reject);
408
- req.on("timeout", () => {
409
- req.destroy();
410
- reject(new Error("Timeout"));
411
- });
412
- req.write(body);
413
- req.end();
414
- });
415
- }
416
474
  var SHA1_OID = "1.3.14.3.2.26";
417
475
  function buildOcspRequestDer(leafPem, issuerPem) {
418
476
  try {
@@ -519,7 +577,7 @@ function parseOcspResponseStatus(data) {
519
577
  return "error";
520
578
  }
521
579
  }
522
- async function evaluateCertificateRevocation(leafCertPem, issuerCertPem) {
580
+ async function evaluateCertificateRevocation(leafCertPem, issuerCertPem, options = {}) {
523
581
  const ocspUrls = extractOcspUrls(leafCertPem);
524
582
  const checkedOcspUrls = [];
525
583
  const checkedCrlUrls = [];
@@ -529,7 +587,7 @@ async function evaluateCertificateRevocation(leafCertPem, issuerCertPem) {
529
587
  for (const url of ocspUrls) {
530
588
  checkedOcspUrls.push(url);
531
589
  try {
532
- const resp = await httpPost(url, reqDer, "application/ocsp-request");
590
+ const resp = await httpPost(url, reqDer, "application/ocsp-request", options);
533
591
  const status = parseOcspResponseStatus(resp);
534
592
  if (status === "good" || status === "revoked") {
535
593
  return { status, checkedOcspUrls, checkedCrlUrls };
@@ -860,9 +918,11 @@ async function buildReferenceChecksFromPptxViewerManifest(zip, signatureXml) {
860
918
  }
861
919
  return checks;
862
920
  }
921
+
922
+ // pptx/signature-node/inspection.ts
863
923
  async function inspectPptxDigitalSignatures(data) {
864
924
  try {
865
- const zip = await JSZip.loadAsync(Buffer.from(data));
925
+ const zip = await openPptxZip(Buffer.from(data));
866
926
  const signaturePaths = Object.keys(zip.files).filter(
867
927
  (entryPath) => entryPath.startsWith("_xmlsignatures/") && entryPath.endsWith(".xml")
868
928
  );
@@ -1061,7 +1121,7 @@ async function signPptxWithCertificate(data, certificateBuffer, options) {
1061
1121
  options.certificatePath,
1062
1122
  options.certificatePassword
1063
1123
  );
1064
- const zip = await JSZip.loadAsync(Buffer.from(data));
1124
+ const zip = await openPptxZip(Buffer.from(data));
1065
1125
  for (const entryPath of Object.keys(zip.files)) {
1066
1126
  if (entryPath.startsWith("_xmlsignatures/")) {
1067
1127
  zip.remove(entryPath);
@@ -0,0 +1,19 @@
1
+ import { type ActivityInput, type ActivityItem } from './activity.js';
2
+ import { createNotificationSettings } from './notifications.js';
3
+ import type { PresenceStatus } from './presence.js';
4
+ import type { StorageLike } from './store.js';
5
+ export interface ActivityFeed {
6
+ /** Re-derive the feed; items that appeared since the last call are queued for `drain`. */
7
+ update: (input: Omit<ActivityInput, 'isRead'>, status: PresenceStatus) => ActivityFeedView;
8
+ /** The new, unread items that settings and presence allow to be announced. Clears the queue. */
9
+ drain: () => ActivityItem[];
10
+ markRead: (id: string, read?: boolean) => boolean;
11
+ markAllRead: () => boolean;
12
+ readonly settings: ReturnType<typeof createNotificationSettings>;
13
+ }
14
+ export interface ActivityFeedView {
15
+ items: ActivityItem[];
16
+ unread: number;
17
+ }
18
+ export declare function createActivityFeed(storage: StorageLike | undefined, keyBase: string): ActivityFeed;
19
+ //# sourceMappingURL=activity-feed.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-feed.d.ts","sourceRoot":"","sources":["../../teams/activity-feed.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,KAAK,aAAa,EAAE,KAAK,YAAY,EAAkB,MAAM,YAAY,CAAC;AAEnF,OAAO,EAAE,0BAA0B,EAAgB,MAAM,iBAAiB,CAAC;AAC3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACjD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAE3C,MAAM,WAAW,YAAY;IAC5B,0FAA0F;IAC1F,MAAM,EAAE,CAAC,KAAK,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,EAAE,MAAM,EAAE,cAAc,KAAK,gBAAgB,CAAC;IAC3F,gGAAgG;IAChG,KAAK,EAAE,MAAM,YAAY,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,KAAK,OAAO,CAAC;IAClD,WAAW,EAAE,MAAM,OAAO,CAAC;IAC3B,QAAQ,CAAC,QAAQ,EAAE,UAAU,CAAC,OAAO,0BAA0B,CAAC,CAAC;CACjE;AAED,MAAM,WAAW,gBAAgB;IAChC,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CACjC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,OAAO,EAAE,MAAM,GACb,YAAY,CAkCd"}
@@ -0,0 +1,12 @@
1
+ import type { StorageLike } from './store.js';
2
+ export interface ActivityReadState {
3
+ isRead: (id: string, ts: number) => boolean;
4
+ /** Mark one item read (or unread). Returns whether anything changed. */
5
+ mark: (id: string, ts: number, read: boolean) => boolean;
6
+ /** Everything up to `upTo` is read; overrides below it are dropped. */
7
+ markAll: (upTo: number) => boolean;
8
+ /** The watermark: items at or before it are read unless overridden. */
9
+ readAt: () => number;
10
+ }
11
+ export declare function createActivityReadState(storage: StorageLike | undefined, key: string, now?: () => number): ActivityReadState;
12
+ //# sourceMappingURL=activity-state.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity-state.d.ts","sourceRoot":"","sources":["../../teams/activity-state.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAK3C,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,wEAAwE;IACxE,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,KAAK,OAAO,CAAC;IACzD,uEAAuE;IACvE,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,uEAAuE;IACvE,MAAM,EAAE,MAAM,MAAM,CAAC;CACrB;AAQD,wBAAgB,uBAAuB,CACtC,OAAO,EAAE,WAAW,GAAG,SAAS,EAChC,GAAG,EAAE,MAAM,EACX,GAAG,GAAE,MAAM,MAAiB,GAC1B,iBAAiB,CAoEnB"}
@@ -0,0 +1,52 @@
1
+ import type { Channel, Message } from './model.js';
2
+ import type { PinnedMessage } from './pins.js';
3
+ export type ActivityKind = 'mention' | 'reply' | 'reaction' | 'pin' | 'meeting';
4
+ export interface ActivityItem {
5
+ /** Stable across recomputation, so read state and notifications can refer to it. */
6
+ id: string;
7
+ kind: ActivityKind;
8
+ channelId: string;
9
+ channelName: string;
10
+ /** The message to scroll to: the mentioning or replying message, or the one reacted to or pinned. */
11
+ messageId: string;
12
+ /** The thread root of that message (itself when it is a post). */
13
+ rootId: string;
14
+ actorId: string;
15
+ actorName: string;
16
+ ts: number;
17
+ /** A one-line excerpt of the message. */
18
+ preview: string;
19
+ /** The emoji, for reactions. */
20
+ emoji?: string;
21
+ /** The conversation is a private chat rather than a channel. */
22
+ chat?: boolean;
23
+ read: boolean;
24
+ }
25
+ export interface ReactionLike {
26
+ messageId: string;
27
+ emoji: string;
28
+ userId: string;
29
+ ts: number;
30
+ }
31
+ export interface ActivityInput {
32
+ selfId: string;
33
+ channels: readonly Channel[];
34
+ messagesOf: (channelId: string) => Message[];
35
+ reactions: readonly ReactionLike[];
36
+ pinsOf: (channelId: string) => PinnedMessage[];
37
+ /** Whether the person follows the thread rooted at this message. */
38
+ isFollowed?: (channelId: string, rootId: string) => boolean;
39
+ /** Read state; items are unread when omitted. */
40
+ isRead?: (id: string, ts: number) => boolean;
41
+ }
42
+ export declare const MAX_ACTIVITY_ITEMS = 200;
43
+ export declare const activityPreview: (message: Pick<Message, 'text' | 'attachments' | 'mentions'>) => string;
44
+ /** Newest first. Your own actions never appear; deleted messages and archived channels are skipped. */
45
+ export declare function deriveActivity(input: ActivityInput): ActivityItem[];
46
+ export type ActivityFilter = 'all' | 'unread' | 'mentions' | 'replies' | 'reactions';
47
+ export declare const ACTIVITY_FILTERS: readonly ActivityFilter[];
48
+ /** The items a feed filter shows (Unread, Mentions, Replies and Reactions as in Teams). */
49
+ export declare function filterActivity(items: readonly ActivityItem[], filter: ActivityFilter): ActivityItem[];
50
+ /** The line a feed row shows, like Teams: who did what. */
51
+ export declare function describeActivity(item: ActivityItem): string;
52
+ //# sourceMappingURL=activity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"activity.d.ts","sourceRoot":"","sources":["../../teams/activity.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAGhD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AAG5C,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,OAAO,GAAG,UAAU,GAAG,KAAK,GAAG,SAAS,CAAC;AAEhF,MAAM,WAAW,YAAY;IAC5B,oFAAoF;IACpF,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,YAAY,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,qGAAqG;IACrG,SAAS,EAAE,MAAM,CAAC;IAClB,kEAAkE;IAClE,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,yCAAyC;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,OAAO,CAAC;CACd;AAED,MAAM,WAAW,YAAY;IAC5B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,aAAa;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,SAAS,OAAO,EAAE,CAAC;IAC7B,UAAU,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC7C,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,EAAE,CAAC;IAC/C,oEAAoE;IACpE,UAAU,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,iDAAiD;IACjD,MAAM,CAAC,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAC7C;AAED,eAAO,MAAM,kBAAkB,MAAM,CAAC;AAGtC,eAAO,MAAM,eAAe,YAClB,IAAI,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa,GAAG,UAAU,CAAC,KACzD,MAIF,CAAC;AAEF,uGAAuG;AACvG,wBAAgB,cAAc,CAAC,KAAK,EAAE,aAAa,GAAG,YAAY,EAAE,CAgFnE;AAED,MAAM,MAAM,cAAc,GAAG,KAAK,GAAG,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;AAErF,eAAO,MAAM,gBAAgB,EAAE,SAAS,cAAc,EAMrD,CAAC;AAEF,2FAA2F;AAC3F,wBAAgB,cAAc,CAC7B,KAAK,EAAE,SAAS,YAAY,EAAE,EAC9B,MAAM,EAAE,cAAc,GACpB,YAAY,EAAE,CAMhB;AAED,2DAA2D;AAC3D,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,MAAM,CAc3D"}
@@ -0,0 +1,57 @@
1
+ import type { Meeting } from './meetings.js';
2
+ export interface Occurrence {
3
+ /** `<meeting id>@<start>`: stable per occurrence, what reminders remember. */
4
+ key: string;
5
+ meetingId: string;
6
+ start: number;
7
+ end: number;
8
+ /** 0 for the first occurrence. */
9
+ index: number;
10
+ /** The start this occurrence had in the series (iCalendar RECURRENCE-ID), when it repeats. */
11
+ recurrenceId?: number;
12
+ /** This occurrence was changed on its own; the overrides below are set for what changed. */
13
+ changed?: boolean;
14
+ title?: string;
15
+ description?: string;
16
+ }
17
+ /**
18
+ * Occurrences that overlap `[from, to)`, in start order. Cancelled meetings have none; a repeat
19
+ * stops at its end (count or date), skips cancelled occurrences and applies changed ones.
20
+ */
21
+ export declare function occurrencesBetween(meeting: Meeting, from: number, to: number): Occurrence[];
22
+ /** The occurrence that starts exactly at `start` (as shown), or null. */
23
+ export declare const occurrenceAt: (meeting: Meeting, start: number) => Occurrence | null;
24
+ export type CalendarMode = 'workweek' | 'week' | 'day';
25
+ export interface CalendarDay {
26
+ /** UTC instant of local midnight. */
27
+ start: number;
28
+ /** UTC instant of the next local midnight. */
29
+ end: number;
30
+ /** 0 = Sunday. */
31
+ weekday: number;
32
+ day: number;
33
+ month: number;
34
+ year: number;
35
+ }
36
+ /** The days a view shows around `anchor`: Monday to Friday, Monday to Sunday, or just that day. */
37
+ export declare function viewDays(anchor: number, mode: CalendarMode, zone: string): CalendarDay[];
38
+ /** Previous (-1) or next (1) period: a day for the day view, a week otherwise. */
39
+ export declare function shiftAnchor(anchor: number, mode: CalendarMode, direction: -1 | 1, zone: string): number;
40
+ export interface PlacedOccurrence {
41
+ occurrence: Occurrence;
42
+ /** Minutes after local midnight, clipped to the day. */
43
+ startMinute: number;
44
+ endMinute: number;
45
+ /** The side-by-side column and how many columns the overlapping group has. */
46
+ column: number;
47
+ columns: number;
48
+ }
49
+ /** Position occurrences in one day's column; overlapping ones share the width. */
50
+ export declare function layoutDay(occurrences: readonly Occurrence[], day: Pick<CalendarDay, 'start' | 'end'>, zone: string): PlacedOccurrence[];
51
+ export declare const REMINDER_LEAD_MS: number;
52
+ /** Occurrences that start within `lead` of `now` (and have not started). */
53
+ export declare function remindersDue(meetings: readonly Meeting[], now: number, lead?: number): {
54
+ meeting: Meeting;
55
+ occurrence: Occurrence;
56
+ }[];
57
+ //# sourceMappingURL=calendar.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"calendar.d.ts","sourceRoot":"","sources":["../../teams/calendar.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,YAAY,CAAC;AAI1C,MAAM,WAAW,UAAU;IAC1B,8EAA8E;IAC9E,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,kCAAkC;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,8FAA8F;IAC9F,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4FAA4F;IAC5F,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;CACrB;AAID;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,UAAU,EAAE,CAiC3F;AAED,yEAAyE;AACzE,eAAO,MAAM,YAAY,YAAa,OAAO,SAAS,MAAM,KAAG,UAAU,GAAG,IACS,CAAC;AAEtF,MAAM,MAAM,YAAY,GAAG,UAAU,GAAG,MAAM,GAAG,KAAK,CAAC;AAEvD,MAAM,WAAW,WAAW;IAC3B,qCAAqC;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,8CAA8C;IAC9C,GAAG,EAAE,MAAM,CAAC;IACZ,kBAAkB;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACb;AAcD,mGAAmG;AACnG,wBAAgB,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,GAAG,WAAW,EAAE,CAOxF;AAED,kFAAkF;AAClF,wBAAgB,WAAW,CAC1B,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,YAAY,EAClB,SAAS,EAAE,CAAC,CAAC,GAAG,CAAC,EACjB,IAAI,EAAE,MAAM,GACV,MAAM,CAER;AAED,MAAM,WAAW,gBAAgB;IAChC,UAAU,EAAE,UAAU,CAAC;IACvB,wDAAwD;IACxD,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;CAChB;AAED,kFAAkF;AAClF,wBAAgB,SAAS,CACxB,WAAW,EAAE,SAAS,UAAU,EAAE,EAClC,GAAG,EAAE,IAAI,CAAC,WAAW,EAAE,OAAO,GAAG,KAAK,CAAC,EACvC,IAAI,EAAE,MAAM,GACV,gBAAgB,EAAE,CA4BpB;AAED,eAAO,MAAM,gBAAgB,QAAgB,CAAC;AAE9C,4EAA4E;AAC5E,wBAAgB,YAAY,CAC3B,QAAQ,EAAE,SAAS,OAAO,EAAE,EAC5B,GAAG,EAAE,MAAM,EACX,IAAI,GAAE,MAAyB,GAC7B;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,UAAU,EAAE,UAAU,CAAA;CAAE,EAAE,CAOhD"}
@@ -0,0 +1,20 @@
1
+ import type { TeamsWorkspace } from './workspace.js';
2
+ export interface ChatActions {
3
+ /** Open (creating if needed) the 1:1 chat with a person and select it. Returns the chat id. */
4
+ openDirectChat: (userId: string) => string | null;
5
+ /** A group of you and the people listed (at least one), optionally named. Selects it. */
6
+ createGroupChat: (userIds: readonly string[], name?: string) => string | null;
7
+ renameChat: (chatId: string, name: string) => boolean;
8
+ addToChat: (chatId: string, userIds: readonly string[]) => boolean;
9
+ removeFromChat: (chatId: string, userId: string) => boolean;
10
+ /** Leave a group chat. 1:1 chats cannot be left. */
11
+ leaveChat: (chatId: string) => boolean;
12
+ }
13
+ export interface ChatActionDeps {
14
+ ws: TeamsWorkspace;
15
+ select: (id: string) => void;
16
+ notice: (text: string) => void;
17
+ refresh: () => void;
18
+ }
19
+ export declare function createChatActions({ ws, select, notice, refresh }: ChatActionDeps): ChatActions;
20
+ //# sourceMappingURL=chat-actions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-actions.d.ts","sourceRoot":"","sources":["../../teams/chat-actions.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,WAAW,WAAW;IAC3B,+FAA+F;IAC/F,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAClD,yFAAyF;IACzF,eAAe,EAAE,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,CAAC,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAC;IAC9E,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,MAAM,EAAE,KAAK,OAAO,CAAC;IACnE,cAAc,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5D,oDAAoD;IACpD,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CACvC;AAED,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,cAAc,CAAC;IACnB,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAC7B,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/B,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,iBAAiB,CAAC,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,cAAc,GAAG,WAAW,CAmD9F"}
@@ -0,0 +1,42 @@
1
+ import * as Y from 'yjs';
2
+ import type { ChatStore, ChatUser } from './chat.js';
3
+ import { type ChatInfo, type ChatMember } from './chats.js';
4
+ /** The members map inside a chat document; the reference server reads it to admit sockets. */
5
+ export declare const CHAT_MEMBERS_MAP = "teams:chat-members";
6
+ export interface ChatRoomHandle {
7
+ destroy: () => void;
8
+ }
9
+ export interface ChatRoomsOptions {
10
+ /** The workspace document (holds the directory) and the channel store built on it. */
11
+ doc: Y.Doc;
12
+ base: ChatStore;
13
+ user: ChatUser;
14
+ /**
15
+ * Start syncing a chat's own document. Called once per chat the person belongs to, with a
16
+ * document the caller may seed from storage. Return a handle that stops the sync.
17
+ */
18
+ openRoom: (chat: ChatInfo, doc: Y.Doc) => ChatRoomHandle;
19
+ /** A document for a chat, for example restored from a local snapshot. */
20
+ createDoc?: (chat: ChatInfo) => Y.Doc;
21
+ }
22
+ export interface ChatRooms extends ChatStore {
23
+ /** The chats the person belongs to, in creation order. */
24
+ chats: () => ChatInfo[];
25
+ chat: (id: string) => ChatInfo | null;
26
+ /** The 1:1 chat with someone, created when missing. */
27
+ openDirect: (other: ChatMember) => ChatInfo | null;
28
+ createGroup: (input: {
29
+ others: readonly ChatMember[];
30
+ name?: string;
31
+ id?: string;
32
+ meetingId?: string;
33
+ }) => ChatInfo | null;
34
+ renameChat: (id: string, name: string) => boolean;
35
+ addPeople: (id: string, people: readonly ChatMember[]) => ChatMember[];
36
+ removePerson: (id: string, userId: string) => boolean;
37
+ leaveChat: (id: string) => boolean;
38
+ /** Whether a message id is a chat the person belongs to. */
39
+ isChat: (id: string) => boolean;
40
+ }
41
+ export declare function createChatRooms(options: ChatRoomsOptions): ChatRooms;
42
+ //# sourceMappingURL=chat-rooms.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-rooms.d.ts","sourceRoot":"","sources":["../../teams/chat-rooms.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AACzB,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAElD,OAAO,EAEN,KAAK,QAAQ,EACb,KAAK,UAAU,EAIf,MAAM,SAAS,CAAC;AAKjB,8FAA8F;AAC9F,eAAO,MAAM,gBAAgB,uBAAuB,CAAC;AAErD,MAAM,WAAW,cAAc;IAC9B,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,MAAM,WAAW,gBAAgB;IAChC,sFAAsF;IACtF,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,IAAI,EAAE,SAAS,CAAC;IAChB,IAAI,EAAE,QAAQ,CAAC;IACf;;;OAGG;IACH,QAAQ,EAAE,CAAC,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,KAAK,cAAc,CAAC;IACzD,yEAAyE;IACzE,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,CAAC,CAAC,GAAG,CAAC;CACtC;AAED,MAAM,WAAW,SAAU,SAAQ,SAAS;IAC3C,0DAA0D;IAC1D,KAAK,EAAE,MAAM,QAAQ,EAAE,CAAC;IACxB,IAAI,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IACtC,uDAAuD;IACvD,UAAU,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,GAAG,IAAI,CAAC;IACnD,WAAW,EAAE,CAAC,KAAK,EAAE;QACpB,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,KAAK,QAAQ,GAAG,IAAI,CAAC;IACtB,UAAU,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAClD,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC;IACvE,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;IACtD,SAAS,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;IACnC,4DAA4D;IAC5D,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC;CAChC;AAYD,wBAAgB,eAAe,CAAC,OAAO,EAAE,gBAAgB,GAAG,SAAS,CA2NpE"}
@@ -0,0 +1,56 @@
1
+ import { type ChatInfo, type ChatKind } from './chats.js';
2
+ import type { Message } from './model.js';
3
+ import { type PresenceStatus } from './presence.js';
4
+ import type { RosterEntry } from './roster.js';
5
+ import { type PeerLike } from './view.js';
6
+ export interface ChatMemberView {
7
+ id: string;
8
+ name: string;
9
+ self: boolean;
10
+ availability: PresenceStatus;
11
+ }
12
+ export interface ChatLastMessage {
13
+ authorName: string;
14
+ text: string;
15
+ ts: number;
16
+ mine: boolean;
17
+ system: boolean;
18
+ }
19
+ export interface ChatView {
20
+ id: string;
21
+ kind: ChatKind;
22
+ title: string;
23
+ /** A group's own name, empty for a 1:1 chat or an unnamed group. */
24
+ name: string;
25
+ members: ChatMemberView[];
26
+ unread: number;
27
+ lastMessage: ChatLastMessage | null;
28
+ /** Last activity (last message, else creation); the list is sorted by it. */
29
+ ts: number;
30
+ meetingId?: string;
31
+ /** Someone is in this chat's call right now. */
32
+ live: boolean;
33
+ /** 1:1 chats cannot be left; groups can. */
34
+ canLeave: boolean;
35
+ }
36
+ export interface ContactView {
37
+ id: string;
38
+ name: string;
39
+ availability: PresenceStatus;
40
+ }
41
+ export declare function memberPresence(userId: string, selfId: string, selfStatus: PresenceStatus, peers: readonly PeerLike[]): PresenceStatus;
42
+ /** Chats the person belongs to, newest activity first. Unread = others' messages after the marker. */
43
+ export declare function chatViews(input: {
44
+ chats: readonly ChatInfo[];
45
+ messagesOf: (chatId: string) => Message[];
46
+ selfId: string;
47
+ selfStatus: PresenceStatus;
48
+ lastRead: Record<string, number>;
49
+ peers: readonly PeerLike[];
50
+ workspaceId: string;
51
+ selectedId: string;
52
+ inCallRoom?: string;
53
+ }): ChatView[];
54
+ /** Everybody on the roster except you, with presence, online people first. */
55
+ export declare function contactViews(roster: readonly RosterEntry[], selfId: string, peers: readonly PeerLike[]): ContactView[];
56
+ //# sourceMappingURL=chat-view.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chat-view.d.ts","sourceRoot":"","sources":["../../teams/chat-view.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,KAAK,QAAQ,EAAE,KAAK,QAAQ,EAAa,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,KAAK,cAAc,EAAkB,MAAM,YAAY,CAAC;AACjE,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAC5C,OAAO,EAAE,KAAK,QAAQ,EAAc,MAAM,QAAQ,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,OAAO,CAAC;IACd,YAAY,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,eAAe;IAC/B,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,oEAAoE;IACpE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,cAAc,EAAE,CAAC;IAC1B,MAAM,EAAE,MAAM,CAAC;IACf,WAAW,EAAE,eAAe,GAAG,IAAI,CAAC;IACpC,6EAA6E;IAC7E,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gDAAgD;IAChD,IAAI,EAAE,OAAO,CAAC;IACd,4CAA4C;IAC5C,QAAQ,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,cAAc,CAAC;CAC7B;AAED,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,cAAc,EAC1B,KAAK,EAAE,SAAS,QAAQ,EAAE,GACxB,cAAc,CAIhB;AAED,sGAAsG;AACtG,wBAAgB,SAAS,CAAC,KAAK,EAAE;IAChC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC3B,UAAU,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC1C,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,cAAc,CAAC;IAC3B,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,EAAE,SAAS,QAAQ,EAAE,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;CACpB,GAAG,QAAQ,EAAE,CAuCb;AAED,8EAA8E;AAC9E,wBAAgB,YAAY,CAC3B,MAAM,EAAE,SAAS,WAAW,EAAE,EAC9B,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,SAAS,QAAQ,EAAE,GACxB,WAAW,EAAE,CAUf"}
@@ -1,10 +1,18 @@
1
1
  import * as Y from 'yjs';
2
+ import { type MentionTarget } from './mentions.js';
3
+ import { type PinnedMessage } from './pins.js';
2
4
  import type { ChannelTab } from './tabs.js';
3
5
  import { type Attachment, type Channel, type ChannelKind, type Message } from './model.js';
4
6
  export interface ChatUser {
5
7
  id: string;
6
8
  name: string;
7
9
  }
10
+ export interface ReactionEvent {
11
+ messageId: string;
12
+ emoji: string;
13
+ userId: string;
14
+ ts: number;
15
+ }
8
16
  export interface ChatStore {
9
17
  channels: () => Channel[];
10
18
  createChannel: (input: {
@@ -20,15 +28,29 @@ export interface ChatStore {
20
28
  text: string;
21
29
  replyTo?: string;
22
30
  attachments?: Attachment[];
31
+ /** Who may be mentioned; the `@name` runs of the text that match are stored as mentions. */
32
+ mentions?: readonly MentionTarget[];
33
+ /** Mark the row as an app notice (members added or removed). */
34
+ system?: boolean;
35
+ /** Announce a scheduled meeting with a card (the text is the fallback for old clients). */
36
+ meetingId?: string;
23
37
  }) => Message | null;
24
38
  /** Idempotent root creation. Concurrent peers use one stable message id; existing rows survive. */
25
39
  ensureTabConversation: (tab: ChannelTab) => Message | null;
26
40
  /** Only the author can edit. Returns whether the edit applied. */
27
- edit: (channelId: string, messageId: string, text: string) => boolean;
41
+ edit: (channelId: string, messageId: string, text: string, mentions?: readonly MentionTarget[]) => boolean;
28
42
  /** Soft delete (the row stays so threads keep their shape). Only the author can delete. */
29
43
  remove: (channelId: string, messageId: string) => boolean;
30
- react: (messageId: string, emoji: string) => void;
31
- unreact: (messageId: string, emoji: string) => void;
44
+ /** Pin a live message of the channel; any member may. Returns whether it applied. */
45
+ pin: (channelId: string, messageId: string) => boolean;
46
+ unpin: (channelId: string, messageId: string) => boolean;
47
+ /** Pinned messages of a channel, most recently pinned first. */
48
+ pinned: (channelId: string) => PinnedMessage[];
49
+ /** Every live reaction with the time it was added (0 for rows written by older clients). */
50
+ reactionEvents: () => ReactionEvent[];
51
+ /** `channelId` routes to a private chat's own document; channels ignore it. */
52
+ react: (messageId: string, emoji: string, channelId?: string) => void;
53
+ unreact: (messageId: string, emoji: string, channelId?: string) => void;
32
54
  /** Fires after any channel, message or reaction change (local or remote), coalesced per tick. */
33
55
  observe: (listener: () => void) => () => void;
34
56
  destroy: () => void;
@@ -1 +1 @@
1
- {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../teams/chat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACN,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,OAAO,EAMZ,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;KACZ,KAAK,OAAO,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC3C,iFAAiF;IACjF,IAAI,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,UAAU,EAAE,CAAA;KAAE,KACjE,OAAO,GAAG,IAAI,CAAC;IACpB,mGAAmG;IACnG,qBAAqB,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;IAC3D,kEAAkE;IAClE,IAAI,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IACtE,2FAA2F;IAC3F,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACpD,iGAAiG;IACjG,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAwDD,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CA8IrE"}
1
+ {"version":3,"file":"chat.d.ts","sourceRoot":"","sources":["../../teams/chat.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAGzB,OAAO,EAAgB,KAAK,aAAa,EAAqC,MAAM,YAAY,CAAC;AACjG,OAAO,EAAE,KAAK,aAAa,EAAkB,MAAM,QAAQ,CAAC;AAE5D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACzC,OAAO,EACN,KAAK,UAAU,EACf,KAAK,OAAO,EACZ,KAAK,WAAW,EAChB,KAAK,OAAO,EAMZ,MAAM,SAAS,CAAC;AAOjB,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,aAAa;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;CACX;AAED,MAAM,WAAW,SAAS;IACzB,QAAQ,EAAE,MAAM,OAAO,EAAE,CAAC;IAC1B,aAAa,EAAE,CAAC,KAAK,EAAE;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,IAAI,CAAC,EAAE,WAAW,CAAC;QACnB,EAAE,CAAC,EAAE,MAAM,CAAC;KACZ,KAAK,OAAO,GAAG,IAAI,CAAC;IACrB,cAAc,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAChE,QAAQ,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,EAAE,CAAC;IAC3C,iFAAiF;IACjF,IAAI,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE;QACN,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,WAAW,CAAC,EAAE,UAAU,EAAE,CAAC;QAC3B,4FAA4F;QAC5F,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,CAAC;QACpC,gEAAgE;QAChE,MAAM,CAAC,EAAE,OAAO,CAAC;QACjB,2FAA2F;QAC3F,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,KACG,OAAO,GAAG,IAAI,CAAC;IACpB,mGAAmG;IACnG,qBAAqB,EAAE,CAAC,GAAG,EAAE,UAAU,KAAK,OAAO,GAAG,IAAI,CAAC;IAC3D,kEAAkE;IAClE,IAAI,EAAE,CACL,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,QAAQ,CAAC,EAAE,SAAS,aAAa,EAAE,KAC/B,OAAO,CAAC;IACb,2FAA2F;IAC3F,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IAC1D,qFAAqF;IACrF,GAAG,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACvD,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC;IACzD,gEAAgE;IAChE,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,aAAa,EAAE,CAAC;IAC/C,4FAA4F;IAC5F,cAAc,EAAE,MAAM,aAAa,EAAE,CAAC;IACtC,+EAA+E;IAC/E,KAAK,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACtE,OAAO,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACxE,iGAAiG;IACjG,OAAO,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,KAAK,MAAM,IAAI,CAAC;IAC9C,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAkED,wBAAgB,eAAe,CAAC,GAAG,EAAE,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,GAAG,SAAS,CA+KrE"}
@@ -0,0 +1,52 @@
1
+ import * as Y from 'yjs';
2
+ export type ChatKind = 'direct' | 'group';
3
+ export interface ChatMember {
4
+ id: string;
5
+ name: string;
6
+ }
7
+ export interface ChatInfo {
8
+ id: string;
9
+ kind: ChatKind;
10
+ /** The group's name; empty for 1:1 chats and unnamed groups. */
11
+ name: string;
12
+ members: ChatMember[];
13
+ createdAt: number;
14
+ createdBy: string;
15
+ /** Set when the chat belongs to a scheduled meeting. */
16
+ meetingId?: string;
17
+ }
18
+ export declare const MAX_CHAT_MEMBERS = 50;
19
+ /** Ids the server can carry in a query string; people with other ids cannot be chatted with. */
20
+ export declare const isChatUserId: (id: unknown) => id is string;
21
+ /** Two 32-bit FNV-1a hashes as 16 hex digits: a stable short name, not a security measure. */
22
+ export declare function shortHash(value: string): string;
23
+ /** The same chat for the same two people, whoever opens it first. */
24
+ export declare const directChatId: (a: string, b: string) => string;
25
+ /** The sync room of a chat. At most 128 characters, whatever the workspace id. */
26
+ export declare const chatRoomId: (workspaceId: string, chatId: string) => string;
27
+ export declare function sanitizeMembers(raw: unknown): ChatMember[];
28
+ /** What the list shows: the group name, or the other people's names. */
29
+ export declare function chatTitle(chat: Pick<ChatInfo, 'kind' | 'name' | 'members'>, selfId: string): string;
30
+ export declare const isChatMember: (chat: Pick<ChatInfo, 'members'>, userId: string) => boolean;
31
+ export interface ChatDirectory {
32
+ /** Every chat the directory lists (the caller filters to its own). */
33
+ list: () => ChatInfo[];
34
+ get: (id: string) => ChatInfo | null;
35
+ /** Idempotent: the 1:1 chat with `other`, created when missing. Null for yourself or bad ids. */
36
+ ensureDirect: (other: ChatMember) => ChatInfo | null;
37
+ /** A group of you and `others` (at least one). Idempotent for a given `id`. */
38
+ createGroup: (input: {
39
+ others: readonly ChatMember[];
40
+ name?: string;
41
+ id?: string;
42
+ meetingId?: string;
43
+ }) => ChatInfo | null;
44
+ /** Members only, groups only. */
45
+ rename: (id: string, name: string) => boolean;
46
+ /** Members only, groups only. Returns the people actually added. */
47
+ add: (id: string, people: readonly ChatMember[]) => ChatMember[];
48
+ /** A member removes someone (or leaves with their own id). Groups only; a group keeps one member. */
49
+ remove: (id: string, userId: string) => boolean;
50
+ }
51
+ export declare function createChatDirectory(doc: Y.Doc, user: ChatMember, now?: () => number): ChatDirectory;
52
+ //# sourceMappingURL=chats.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chats.d.ts","sourceRoot":"","sources":["../../teams/chats.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,CAAC,MAAM,KAAK,CAAC;AAIzB,MAAM,MAAM,QAAQ,GAAG,QAAQ,GAAG,OAAO,CAAC;AAE1C,MAAM,WAAW,UAAU;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,QAAQ;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,QAAQ,CAAC;IACf,gEAAgE;IAChE,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,UAAU,EAAE,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,eAAO,MAAM,gBAAgB,KAAK,CAAC;AAKnC,gGAAgG;AAChG,eAAO,MAAM,YAAY,OAAQ,OAAO,KAAG,EAAE,IAAI,MACJ,CAAC;AAE9C,8FAA8F;AAC9F,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAS/C;AAED,qEAAqE;AACrE,eAAO,MAAM,YAAY,MAAO,MAAM,KAAK,MAAM,KAAG,MACR,CAAC;AAE7C,kFAAkF;AAClF,eAAO,MAAM,UAAU,gBAAiB,MAAM,UAAU,MAAM,KAAG,MACR,CAAC;AAE1D,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,UAAU,EAAE,CAa1D;AAED,wEAAwE;AACxE,wBAAgB,SAAS,CACxB,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAAC,EACjD,MAAM,EAAE,MAAM,GACZ,MAAM,CAKR;AAED,eAAO,MAAM,YAAY,SAAU,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,UAAU,MAAM,KAAG,OACrC,CAAC;AAoB3C,MAAM,WAAW,aAAa;IAC7B,sEAAsE;IACtE,IAAI,EAAE,MAAM,QAAQ,EAAE,CAAC;IACvB,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,QAAQ,GAAG,IAAI,CAAC;IACrC,iGAAiG;IACjG,YAAY,EAAE,CAAC,KAAK,EAAE,UAAU,KAAK,QAAQ,GAAG,IAAI,CAAC;IACrD,+EAA+E;IAC/E,WAAW,EAAE,CAAC,KAAK,EAAE;QACpB,MAAM,EAAE,SAAS,UAAU,EAAE,CAAC;QAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,EAAE,CAAC,EAAE,MAAM,CAAC;QACZ,SAAS,CAAC,EAAE,MAAM,CAAC;KACnB,KAAK,QAAQ,GAAG,IAAI,CAAC;IACtB,iCAAiC;IACjC,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC9C,oEAAoE;IACpE,GAAG,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,SAAS,UAAU,EAAE,KAAK,UAAU,EAAE,CAAC;IACjE,qGAAqG;IACrG,MAAM,EAAE,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC;CAChD;AAED,wBAAgB,mBAAmB,CAClC,GAAG,EAAE,CAAC,CAAC,GAAG,EACV,IAAI,EAAE,UAAU,EAChB,GAAG,GAAE,MAAM,MAAiB,GAC1B,aAAa,CA8Ef"}