ooxml-core 0.2.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 (586) hide show
  1. package/LICENSE +202 -0
  2. package/NOTICE +3 -0
  3. package/README.md +125 -0
  4. package/THIRD-PARTY-LICENSES +26 -0
  5. package/dist/collab/assets.d.ts +42 -0
  6. package/dist/collab/assets.d.ts.map +1 -0
  7. package/dist/collab/awareness.d.ts +65 -0
  8. package/dist/collab/awareness.d.ts.map +1 -0
  9. package/dist/collab/binding.d.ts +36 -0
  10. package/dist/collab/binding.d.ts.map +1 -0
  11. package/dist/collab/codec.d.ts +37 -0
  12. package/dist/collab/codec.d.ts.map +1 -0
  13. package/dist/collab/emitter.d.ts +11 -0
  14. package/dist/collab/emitter.d.ts.map +1 -0
  15. package/dist/collab/external-provider.d.ts +50 -0
  16. package/dist/collab/external-provider.d.ts.map +1 -0
  17. package/dist/collab/identity.d.ts +48 -0
  18. package/dist/collab/identity.d.ts.map +1 -0
  19. package/dist/collab/index.cjs +1328 -0
  20. package/dist/collab/index.d.ts +18 -0
  21. package/dist/collab/index.d.ts.map +1 -0
  22. package/dist/collab/index.mjs +1225 -0
  23. package/dist/collab/lifecycle.d.ts +62 -0
  24. package/dist/collab/lifecycle.d.ts.map +1 -0
  25. package/dist/collab/memory-transport.d.ts +19 -0
  26. package/dist/collab/memory-transport.d.ts.map +1 -0
  27. package/dist/collab/ordering.d.ts +53 -0
  28. package/dist/collab/ordering.d.ts.map +1 -0
  29. package/dist/collab/policy.d.ts +39 -0
  30. package/dist/collab/policy.d.ts.map +1 -0
  31. package/dist/collab/presence.d.ts +61 -0
  32. package/dist/collab/presence.d.ts.map +1 -0
  33. package/dist/collab/provider.d.ts +55 -0
  34. package/dist/collab/provider.d.ts.map +1 -0
  35. package/dist/collab/session.d.ts +70 -0
  36. package/dist/collab/session.d.ts.map +1 -0
  37. package/dist/collab/transport-provider.d.ts +13 -0
  38. package/dist/collab/transport-provider.d.ts.map +1 -0
  39. package/dist/collab/validation.d.ts +38 -0
  40. package/dist/collab/validation.d.ts.map +1 -0
  41. package/dist/collab/websocket-transport.d.ts +33 -0
  42. package/dist/collab/websocket-transport.d.ts.map +1 -0
  43. package/dist/color/color-linear.d.ts +5 -0
  44. package/dist/color/color-linear.d.ts.map +1 -0
  45. package/dist/color/color-primitives.d.ts +183 -0
  46. package/dist/color/color-primitives.d.ts.map +1 -0
  47. package/dist/color/index.cjs +177 -0
  48. package/dist/color/index.d.ts +3 -0
  49. package/dist/color/index.d.ts.map +1 -0
  50. package/dist/color/index.mjs +161 -0
  51. package/dist/diagram/attributes.d.ts +12 -0
  52. package/dist/diagram/attributes.d.ts.map +1 -0
  53. package/dist/diagram/data-model.d.ts +18 -0
  54. package/dist/diagram/data-model.d.ts.map +1 -0
  55. package/dist/diagram/definitions.d.ts +14 -0
  56. package/dist/diagram/definitions.d.ts.map +1 -0
  57. package/dist/diagram/dom.d.ts +15 -0
  58. package/dist/diagram/dom.d.ts.map +1 -0
  59. package/dist/diagram/drawing-color.d.ts +28 -0
  60. package/dist/diagram/drawing-color.d.ts.map +1 -0
  61. package/dist/diagram/drawing-fill.d.ts +9 -0
  62. package/dist/diagram/drawing-fill.d.ts.map +1 -0
  63. package/dist/diagram/drawing-geometry.d.ts +23 -0
  64. package/dist/diagram/drawing-geometry.d.ts.map +1 -0
  65. package/dist/diagram/drawing-text.d.ts +5 -0
  66. package/dist/diagram/drawing-text.d.ts.map +1 -0
  67. package/dist/diagram/drawing.d.ts +7 -0
  68. package/dist/diagram/drawing.d.ts.map +1 -0
  69. package/dist/diagram/index.cjs +1193 -0
  70. package/dist/diagram/index.d.ts +14 -0
  71. package/dist/diagram/index.d.ts.map +1 -0
  72. package/dist/diagram/index.mjs +1161 -0
  73. package/dist/diagram/layout-category.d.ts +8 -0
  74. package/dist/diagram/layout-category.d.ts.map +1 -0
  75. package/dist/diagram/load.d.ts +36 -0
  76. package/dist/diagram/load.d.ts.map +1 -0
  77. package/dist/diagram/relationships.d.ts +35 -0
  78. package/dist/diagram/relationships.d.ts.map +1 -0
  79. package/dist/diagram/types.d.ts +306 -0
  80. package/dist/diagram/types.d.ts.map +1 -0
  81. package/dist/docx/block-parser.d.ts +13 -0
  82. package/dist/docx/block-parser.d.ts.map +1 -0
  83. package/dist/docx/bookmarks.d.ts +18 -0
  84. package/dist/docx/bookmarks.d.ts.map +1 -0
  85. package/dist/docx/breaks.d.ts +11 -0
  86. package/dist/docx/breaks.d.ts.map +1 -0
  87. package/dist/docx/character-styles.d.ts +4 -0
  88. package/dist/docx/character-styles.d.ts.map +1 -0
  89. package/dist/docx/comment-spans.d.ts +19 -0
  90. package/dist/docx/comment-spans.d.ts.map +1 -0
  91. package/dist/docx/comments.d.ts +4 -0
  92. package/dist/docx/comments.d.ts.map +1 -0
  93. package/dist/docx/core-properties.d.ts +18 -0
  94. package/dist/docx/core-properties.d.ts.map +1 -0
  95. package/dist/docx/default-styles.d.ts +8 -0
  96. package/dist/docx/default-styles.d.ts.map +1 -0
  97. package/dist/docx/defined-props.d.ts +9 -0
  98. package/dist/docx/defined-props.d.ts.map +1 -0
  99. package/dist/docx/diagram-document.d.ts +9 -0
  100. package/dist/docx/diagram-document.d.ts.map +1 -0
  101. package/dist/docx/diagram-theme.d.ts +8 -0
  102. package/dist/docx/diagram-theme.d.ts.map +1 -0
  103. package/dist/docx/diagram.d.ts +89 -0
  104. package/dist/docx/diagram.d.ts.map +1 -0
  105. package/dist/docx/docpr-ids.d.ts +14 -0
  106. package/dist/docx/docpr-ids.d.ts.map +1 -0
  107. package/dist/docx/document-parts.d.ts +18 -0
  108. package/dist/docx/document-parts.d.ts.map +1 -0
  109. package/dist/docx/drawing.d.ts +13 -0
  110. package/dist/docx/drawing.d.ts.map +1 -0
  111. package/dist/docx/element-order.d.ts +13 -0
  112. package/dist/docx/element-order.d.ts.map +1 -0
  113. package/dist/docx/embedded.cjs +7646 -0
  114. package/dist/docx/embedded.d.ts +5 -0
  115. package/dist/docx/embedded.d.ts.map +1 -0
  116. package/dist/docx/embedded.mjs +7639 -0
  117. package/dist/docx/expect-defined.d.ts +3 -0
  118. package/dist/docx/expect-defined.d.ts.map +1 -0
  119. package/dist/docx/field-date.d.ts +10 -0
  120. package/dist/docx/field-date.d.ts.map +1 -0
  121. package/dist/docx/field-runs.d.ts +10 -0
  122. package/dist/docx/field-runs.d.ts.map +1 -0
  123. package/dist/docx/generated/wml-simple-types.d.ts +298 -0
  124. package/dist/docx/generated/wml-simple-types.d.ts.map +1 -0
  125. package/dist/docx/heading-list-kinds.d.ts +10 -0
  126. package/dist/docx/heading-list-kinds.d.ts.map +1 -0
  127. package/dist/docx/highlight.d.ts +5 -0
  128. package/dist/docx/highlight.d.ts.map +1 -0
  129. package/dist/docx/hyperlink.d.ts +8 -0
  130. package/dist/docx/hyperlink.d.ts.map +1 -0
  131. package/dist/docx/index.cjs +9784 -0
  132. package/dist/docx/index.d.ts +40 -0
  133. package/dist/docx/index.d.ts.map +1 -0
  134. package/dist/docx/index.mjs +9456 -0
  135. package/dist/docx/inline-model.d.ts +68 -0
  136. package/dist/docx/inline-model.d.ts.map +1 -0
  137. package/dist/docx/language.d.ts +3 -0
  138. package/dist/docx/language.d.ts.map +1 -0
  139. package/dist/docx/layout/adapt-drop-cap.d.ts +10 -0
  140. package/dist/docx/layout/adapt-drop-cap.d.ts.map +1 -0
  141. package/dist/docx/layout/adapt-floats.d.ts +8 -0
  142. package/dist/docx/layout/adapt-floats.d.ts.map +1 -0
  143. package/dist/docx/layout/adapt-notes.d.ts +13 -0
  144. package/dist/docx/layout/adapt-notes.d.ts.map +1 -0
  145. package/dist/docx/layout/adapt-paragraph-box.d.ts +12 -0
  146. package/dist/docx/layout/adapt-paragraph-box.d.ts.map +1 -0
  147. package/dist/docx/layout/adapt-table.d.ts +12 -0
  148. package/dist/docx/layout/adapt-table.d.ts.map +1 -0
  149. package/dist/docx/layout/adapter.d.ts +5 -0
  150. package/dist/docx/layout/adapter.d.ts.map +1 -0
  151. package/dist/docx/layout/floats.d.ts +20 -0
  152. package/dist/docx/layout/floats.d.ts.map +1 -0
  153. package/dist/docx/layout/flow-paragraph.d.ts +26 -0
  154. package/dist/docx/layout/flow-paragraph.d.ts.map +1 -0
  155. package/dist/docx/layout/flow-table.d.ts +12 -0
  156. package/dist/docx/layout/flow-table.d.ts.map +1 -0
  157. package/dist/docx/layout/fonts.d.ts +3 -0
  158. package/dist/docx/layout/fonts.d.ts.map +1 -0
  159. package/dist/docx/layout/index.cjs +2537 -0
  160. package/dist/docx/layout/index.d.ts +20 -0
  161. package/dist/docx/layout/index.d.ts.map +1 -0
  162. package/dist/docx/layout/index.mjs +2503 -0
  163. package/dist/docx/layout/input.d.ts +206 -0
  164. package/dist/docx/layout/input.d.ts.map +1 -0
  165. package/dist/docx/layout/keep-rules.d.ts +24 -0
  166. package/dist/docx/layout/keep-rules.d.ts.map +1 -0
  167. package/dist/docx/layout/layout.d.ts +9 -0
  168. package/dist/docx/layout/layout.d.ts.map +1 -0
  169. package/dist/docx/layout/ligatures.d.ts +4 -0
  170. package/dist/docx/layout/ligatures.d.ts.map +1 -0
  171. package/dist/docx/layout/line-metrics.d.ts +21 -0
  172. package/dist/docx/layout/line-metrics.d.ts.map +1 -0
  173. package/dist/docx/layout/measure.d.ts +34 -0
  174. package/dist/docx/layout/measure.d.ts.map +1 -0
  175. package/dist/docx/layout/page-cursor.d.ts +45 -0
  176. package/dist/docx/layout/page-cursor.d.ts.map +1 -0
  177. package/dist/docx/layout/page-flow.d.ts +7 -0
  178. package/dist/docx/layout/page-flow.d.ts.map +1 -0
  179. package/dist/docx/layout/paragraph-fragments.d.ts +6 -0
  180. package/dist/docx/layout/paragraph-fragments.d.ts.map +1 -0
  181. package/dist/docx/layout/paragraph-layout.d.ts +37 -0
  182. package/dist/docx/layout/paragraph-layout.d.ts.map +1 -0
  183. package/dist/docx/layout/paragraph-tokens.d.ts +27 -0
  184. package/dist/docx/layout/paragraph-tokens.d.ts.map +1 -0
  185. package/dist/docx/layout/result.d.ts +139 -0
  186. package/dist/docx/layout/result.d.ts.map +1 -0
  187. package/dist/docx/layout/tab-stops.d.ts +14 -0
  188. package/dist/docx/layout/tab-stops.d.ts.map +1 -0
  189. package/dist/docx/layout/table-layout.d.ts +30 -0
  190. package/dist/docx/layout/table-layout.d.ts.map +1 -0
  191. package/dist/docx/layout/test-helpers.d.ts +3 -0
  192. package/dist/docx/layout/test-helpers.d.ts.map +1 -0
  193. package/dist/docx/layout/text-breaks.d.ts +56 -0
  194. package/dist/docx/layout/text-breaks.d.ts.map +1 -0
  195. package/dist/docx/layout/units.d.ts +17 -0
  196. package/dist/docx/layout/units.d.ts.map +1 -0
  197. package/dist/docx/layout/wrap.d.ts +22 -0
  198. package/dist/docx/layout/wrap.d.ts.map +1 -0
  199. package/dist/docx/ligatures.d.ts +9 -0
  200. package/dist/docx/ligatures.d.ts.map +1 -0
  201. package/dist/docx/load/detect.d.ts +6 -0
  202. package/dist/docx/load/detect.d.ts.map +1 -0
  203. package/dist/docx/load/index.cjs +8869 -0
  204. package/dist/docx/load/index.d.ts +3 -0
  205. package/dist/docx/load/index.d.ts.map +1 -0
  206. package/dist/docx/load/index.mjs +8860 -0
  207. package/dist/docx/load/legacy-doc.d.ts +7 -0
  208. package/dist/docx/load/legacy-doc.d.ts.map +1 -0
  209. package/dist/docx/model-paragraph.d.ts +100 -0
  210. package/dist/docx/model-paragraph.d.ts.map +1 -0
  211. package/dist/docx/model-run.d.ts +110 -0
  212. package/dist/docx/model-run.d.ts.map +1 -0
  213. package/dist/docx/model.d.ts +114 -0
  214. package/dist/docx/model.d.ts.map +1 -0
  215. package/dist/docx/notes.d.ts +9 -0
  216. package/dist/docx/notes.d.ts.map +1 -0
  217. package/dist/docx/numbering-editing.d.ts +30 -0
  218. package/dist/docx/numbering-editing.d.ts.map +1 -0
  219. package/dist/docx/numbering-format.d.ts +17 -0
  220. package/dist/docx/numbering-format.d.ts.map +1 -0
  221. package/dist/docx/numbering-model.d.ts +73 -0
  222. package/dist/docx/numbering-model.d.ts.map +1 -0
  223. package/dist/docx/numbering-package.d.ts +12 -0
  224. package/dist/docx/numbering-package.d.ts.map +1 -0
  225. package/dist/docx/numbering-parse.d.ts +8 -0
  226. package/dist/docx/numbering-parse.d.ts.map +1 -0
  227. package/dist/docx/numbering-parts.d.ts +4 -0
  228. package/dist/docx/numbering-parts.d.ts.map +1 -0
  229. package/dist/docx/numbering-text.d.ts +20 -0
  230. package/dist/docx/numbering-text.d.ts.map +1 -0
  231. package/dist/docx/numbering-write.d.ts +5 -0
  232. package/dist/docx/numbering-write.d.ts.map +1 -0
  233. package/dist/docx/package-parts.d.ts +4 -0
  234. package/dist/docx/package-parts.d.ts.map +1 -0
  235. package/dist/docx/page-background.d.ts +9 -0
  236. package/dist/docx/page-background.d.ts.map +1 -0
  237. package/dist/docx/page-borders.d.ts +9 -0
  238. package/dist/docx/page-borders.d.ts.map +1 -0
  239. package/dist/docx/paragraph-alignment.d.ts +21 -0
  240. package/dist/docx/paragraph-alignment.d.ts.map +1 -0
  241. package/dist/docx/paragraph-styles.d.ts +15 -0
  242. package/dist/docx/paragraph-styles.d.ts.map +1 -0
  243. package/dist/docx/parse-diagnostics.d.ts +10 -0
  244. package/dist/docx/parse-diagnostics.d.ts.map +1 -0
  245. package/dist/docx/parse-revisions.d.ts +36 -0
  246. package/dist/docx/parse-revisions.d.ts.map +1 -0
  247. package/dist/docx/parse-table.d.ts +5 -0
  248. package/dist/docx/parse-table.d.ts.map +1 -0
  249. package/dist/docx/parse-warnings.d.ts +9 -0
  250. package/dist/docx/parse-warnings.d.ts.map +1 -0
  251. package/dist/docx/parse.d.ts +13 -0
  252. package/dist/docx/parse.d.ts.map +1 -0
  253. package/dist/docx/part-relationships.d.ts +12 -0
  254. package/dist/docx/part-relationships.d.ts.map +1 -0
  255. package/dist/docx/relationship-allocator.d.ts +32 -0
  256. package/dist/docx/relationship-allocator.d.ts.map +1 -0
  257. package/dist/docx/relationships.d.ts +3 -0
  258. package/dist/docx/relationships.d.ts.map +1 -0
  259. package/dist/docx/resolve-table.d.ts +8 -0
  260. package/dist/docx/resolve-table.d.ts.map +1 -0
  261. package/dist/docx/revision-commands.d.ts +27 -0
  262. package/dist/docx/revision-commands.d.ts.map +1 -0
  263. package/dist/docx/revision-ids.d.ts +10 -0
  264. package/dist/docx/revision-ids.d.ts.map +1 -0
  265. package/dist/docx/run-formatting.d.ts +16 -0
  266. package/dist/docx/run-formatting.d.ts.map +1 -0
  267. package/dist/docx/run-properties.d.ts +5 -0
  268. package/dist/docx/run-properties.d.ts.map +1 -0
  269. package/dist/docx/run-style-model.d.ts +21 -0
  270. package/dist/docx/run-style-model.d.ts.map +1 -0
  271. package/dist/docx/save.d.ts +5 -0
  272. package/dist/docx/save.d.ts.map +1 -0
  273. package/dist/docx/section-model.d.ts +97 -0
  274. package/dist/docx/section-model.d.ts.map +1 -0
  275. package/dist/docx/sections.d.ts +18 -0
  276. package/dist/docx/sections.d.ts.map +1 -0
  277. package/dist/docx/settings.d.ts +11 -0
  278. package/dist/docx/settings.d.ts.map +1 -0
  279. package/dist/docx/simple-types.d.ts +37 -0
  280. package/dist/docx/simple-types.d.ts.map +1 -0
  281. package/dist/docx/style-numbering-package.d.ts +11 -0
  282. package/dist/docx/style-numbering-package.d.ts.map +1 -0
  283. package/dist/docx/tab-stops.d.ts +8 -0
  284. package/dist/docx/tab-stops.d.ts.map +1 -0
  285. package/dist/docx/table-borders.d.ts +15 -0
  286. package/dist/docx/table-borders.d.ts.map +1 -0
  287. package/dist/docx/table-cell-write.d.ts +12 -0
  288. package/dist/docx/table-cell-write.d.ts.map +1 -0
  289. package/dist/docx/table-defaults.d.ts +20 -0
  290. package/dist/docx/table-defaults.d.ts.map +1 -0
  291. package/dist/docx/table-model.d.ts +101 -0
  292. package/dist/docx/table-model.d.ts.map +1 -0
  293. package/dist/docx/table-of-contents.d.ts +67 -0
  294. package/dist/docx/table-of-contents.d.ts.map +1 -0
  295. package/dist/docx/table-of-figures.d.ts +10 -0
  296. package/dist/docx/table-of-figures.d.ts.map +1 -0
  297. package/dist/docx/table-styles.d.ts +4 -0
  298. package/dist/docx/table-styles.d.ts.map +1 -0
  299. package/dist/docx/table-visuals.d.ts +22 -0
  300. package/dist/docx/table-visuals.d.ts.map +1 -0
  301. package/dist/docx/test-support/access.d.ts +14 -0
  302. package/dist/docx/test-support/access.d.ts.map +1 -0
  303. package/dist/docx/test-support/heading-numbering-fixture.d.ts +5 -0
  304. package/dist/docx/test-support/heading-numbering-fixture.d.ts.map +1 -0
  305. package/dist/docx/test-support/restart-fixture.d.ts +17 -0
  306. package/dist/docx/test-support/restart-fixture.d.ts.map +1 -0
  307. package/dist/docx/test-support/schema-validation.d.ts +24 -0
  308. package/dist/docx/test-support/schema-validation.d.ts.map +1 -0
  309. package/dist/docx/theme-color.d.ts +16 -0
  310. package/dist/docx/theme-color.d.ts.map +1 -0
  311. package/dist/docx/theme-model.d.ts +31 -0
  312. package/dist/docx/theme-model.d.ts.map +1 -0
  313. package/dist/docx/theme.d.ts +6 -0
  314. package/dist/docx/theme.d.ts.map +1 -0
  315. package/dist/docx/underline.d.ts +5 -0
  316. package/dist/docx/underline.d.ts.map +1 -0
  317. package/dist/docx/units.d.ts +2 -0
  318. package/dist/docx/units.d.ts.map +1 -0
  319. package/dist/docx/validate-issues.d.ts +40 -0
  320. package/dist/docx/validate-issues.d.ts.map +1 -0
  321. package/dist/docx/validate-model.d.ts +8 -0
  322. package/dist/docx/validate-model.d.ts.map +1 -0
  323. package/dist/docx/validate-paragraph.d.ts +10 -0
  324. package/dist/docx/validate-paragraph.d.ts.map +1 -0
  325. package/dist/docx/validate-structure.d.ts +10 -0
  326. package/dist/docx/validate-structure.d.ts.map +1 -0
  327. package/dist/docx/watermark.d.ts +14 -0
  328. package/dist/docx/watermark.d.ts.map +1 -0
  329. package/dist/docx/write-comments.d.ts +12 -0
  330. package/dist/docx/write-comments.d.ts.map +1 -0
  331. package/dist/docx/write-drawing.d.ts +12 -0
  332. package/dist/docx/write-drawing.d.ts.map +1 -0
  333. package/dist/docx/write-header-footer.d.ts +21 -0
  334. package/dist/docx/write-header-footer.d.ts.map +1 -0
  335. package/dist/docx/write-inline.d.ts +23 -0
  336. package/dist/docx/write-inline.d.ts.map +1 -0
  337. package/dist/docx/write-notes.d.ts +5 -0
  338. package/dist/docx/write-notes.d.ts.map +1 -0
  339. package/dist/docx/write-paragraph-decoration.d.ts +5 -0
  340. package/dist/docx/write-paragraph-decoration.d.ts.map +1 -0
  341. package/dist/docx/write-paragraph-properties.d.ts +4 -0
  342. package/dist/docx/write-paragraph-properties.d.ts.map +1 -0
  343. package/dist/docx/write-paragraph.d.ts +8 -0
  344. package/dist/docx/write-paragraph.d.ts.map +1 -0
  345. package/dist/docx/write-ranges.d.ts +42 -0
  346. package/dist/docx/write-ranges.d.ts.map +1 -0
  347. package/dist/docx/write-revisions.d.ts +10 -0
  348. package/dist/docx/write-revisions.d.ts.map +1 -0
  349. package/dist/docx/write-run-extra.d.ts +5 -0
  350. package/dist/docx/write-run-extra.d.ts.map +1 -0
  351. package/dist/docx/write-run-validation.d.ts +4 -0
  352. package/dist/docx/write-run-validation.d.ts.map +1 -0
  353. package/dist/docx/write-run.d.ts +7 -0
  354. package/dist/docx/write-run.d.ts.map +1 -0
  355. package/dist/docx/write-sections.d.ts +10 -0
  356. package/dist/docx/write-sections.d.ts.map +1 -0
  357. package/dist/docx/write-table-properties.d.ts +13 -0
  358. package/dist/docx/write-table-properties.d.ts.map +1 -0
  359. package/dist/docx/write-table.d.ts +9 -0
  360. package/dist/docx/write-table.d.ts.map +1 -0
  361. package/dist/docx/write-text-box.d.ts +15 -0
  362. package/dist/docx/write-text-box.d.ts.map +1 -0
  363. package/dist/docx/write.d.ts +25 -0
  364. package/dist/docx/write.d.ts.map +1 -0
  365. package/dist/docx/xml.d.ts +14 -0
  366. package/dist/docx/xml.d.ts.map +1 -0
  367. package/dist/docx/zip-parts.d.ts +5 -0
  368. package/dist/docx/zip-parts.d.ts.map +1 -0
  369. package/dist/geometry/adjustment-aware-shapes.d.ts +63 -0
  370. package/dist/geometry/adjustment-aware-shapes.d.ts.map +1 -0
  371. package/dist/geometry/callout-geometry.d.ts +65 -0
  372. package/dist/geometry/callout-geometry.d.ts.map +1 -0
  373. package/dist/geometry/cloud-bezier-paths.d.ts +55 -0
  374. package/dist/geometry/cloud-bezier-paths.d.ts.map +1 -0
  375. package/dist/geometry/com-avlst-ground-truth.d.ts +48 -0
  376. package/dist/geometry/com-avlst-ground-truth.d.ts.map +1 -0
  377. package/dist/geometry/connector-elbow-geometry.d.ts +41 -0
  378. package/dist/geometry/connector-elbow-geometry.d.ts.map +1 -0
  379. package/dist/geometry/guide-formula-api.d.ts +55 -0
  380. package/dist/geometry/guide-formula-api.d.ts.map +1 -0
  381. package/dist/geometry/guide-formula-eval.d.ts +85 -0
  382. package/dist/geometry/guide-formula-eval.d.ts.map +1 -0
  383. package/dist/geometry/index.cjs +15031 -0
  384. package/dist/geometry/index.d.ts +80 -0
  385. package/dist/geometry/index.d.ts.map +1 -0
  386. package/dist/geometry/index.mjs +14897 -0
  387. package/dist/geometry/indexed.d.ts +6 -0
  388. package/dist/geometry/indexed.d.ts.map +1 -0
  389. package/dist/geometry/preset-clip-paths-core.d.ts +20 -0
  390. package/dist/geometry/preset-clip-paths-core.d.ts.map +1 -0
  391. package/dist/geometry/preset-clip-paths-extended.d.ts +19 -0
  392. package/dist/geometry/preset-clip-paths-extended.d.ts.map +1 -0
  393. package/dist/geometry/preset-connection-sites-action-buttons.d.ts +14 -0
  394. package/dist/geometry/preset-connection-sites-action-buttons.d.ts.map +1 -0
  395. package/dist/geometry/preset-connection-sites-arrows-curved.d.ts +12 -0
  396. package/dist/geometry/preset-connection-sites-arrows-curved.d.ts.map +1 -0
  397. package/dist/geometry/preset-connection-sites-arrows-misc.d.ts +13 -0
  398. package/dist/geometry/preset-connection-sites-arrows-misc.d.ts.map +1 -0
  399. package/dist/geometry/preset-connection-sites-arrows.d.ts +13 -0
  400. package/dist/geometry/preset-connection-sites-arrows.d.ts.map +1 -0
  401. package/dist/geometry/preset-connection-sites-basic-a.d.ts +12 -0
  402. package/dist/geometry/preset-connection-sites-basic-a.d.ts.map +1 -0
  403. package/dist/geometry/preset-connection-sites-basic-b.d.ts +12 -0
  404. package/dist/geometry/preset-connection-sites-basic-b.d.ts.map +1 -0
  405. package/dist/geometry/preset-connection-sites-braces.d.ts +12 -0
  406. package/dist/geometry/preset-connection-sites-braces.d.ts.map +1 -0
  407. package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts +14 -0
  408. package/dist/geometry/preset-connection-sites-callouts-arrow.d.ts.map +1 -0
  409. package/dist/geometry/preset-connection-sites-callouts-basic.d.ts +12 -0
  410. package/dist/geometry/preset-connection-sites-callouts-basic.d.ts.map +1 -0
  411. package/dist/geometry/preset-connection-sites-circular-arrow.d.ts +14 -0
  412. package/dist/geometry/preset-connection-sites-circular-arrow.d.ts.map +1 -0
  413. package/dist/geometry/preset-connection-sites-flowchart.d.ts +19 -0
  414. package/dist/geometry/preset-connection-sites-flowchart.d.ts.map +1 -0
  415. package/dist/geometry/preset-connection-sites-gear9.d.ts +12 -0
  416. package/dist/geometry/preset-connection-sites-gear9.d.ts.map +1 -0
  417. package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts +12 -0
  418. package/dist/geometry/preset-connection-sites-left-circular-arrow.d.ts.map +1 -0
  419. package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts +13 -0
  420. package/dist/geometry/preset-connection-sites-left-right-circular-arrow.d.ts.map +1 -0
  421. package/dist/geometry/preset-connection-sites-math.d.ts +12 -0
  422. package/dist/geometry/preset-connection-sites-math.d.ts.map +1 -0
  423. package/dist/geometry/preset-connection-sites-misc.d.ts +14 -0
  424. package/dist/geometry/preset-connection-sites-misc.d.ts.map +1 -0
  425. package/dist/geometry/preset-connection-sites-polygons.d.ts +12 -0
  426. package/dist/geometry/preset-connection-sites-polygons.d.ts.map +1 -0
  427. package/dist/geometry/preset-connection-sites-quads.d.ts +14 -0
  428. package/dist/geometry/preset-connection-sites-quads.d.ts.map +1 -0
  429. package/dist/geometry/preset-connection-sites-rects.d.ts +14 -0
  430. package/dist/geometry/preset-connection-sites-rects.d.ts.map +1 -0
  431. package/dist/geometry/preset-connection-sites-ribbons.d.ts +12 -0
  432. package/dist/geometry/preset-connection-sites-ribbons.d.ts.map +1 -0
  433. package/dist/geometry/preset-connection-sites-stars.d.ts +13 -0
  434. package/dist/geometry/preset-connection-sites-stars.d.ts.map +1 -0
  435. package/dist/geometry/preset-connection-sites-table.d.ts +23 -0
  436. package/dist/geometry/preset-connection-sites-table.d.ts.map +1 -0
  437. package/dist/geometry/preset-connection-sites-tabs.d.ts +11 -0
  438. package/dist/geometry/preset-connection-sites-tabs.d.ts.map +1 -0
  439. package/dist/geometry/preset-connection-sites-types.d.ts +52 -0
  440. package/dist/geometry/preset-connection-sites-types.d.ts.map +1 -0
  441. package/dist/geometry/preset-geometry-names.d.ts +53 -0
  442. package/dist/geometry/preset-geometry-names.d.ts.map +1 -0
  443. package/dist/geometry/preset-shape-clip-paths.d.ts +13 -0
  444. package/dist/geometry/preset-shape-clip-paths.d.ts.map +1 -0
  445. package/dist/geometry/preset-shape-definitions-action-buttons.d.ts +45 -0
  446. package/dist/geometry/preset-shape-definitions-action-buttons.d.ts.map +1 -0
  447. package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts +55 -0
  448. package/dist/geometry/preset-shape-definitions-arrow-callouts.d.ts.map +1 -0
  449. package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts +45 -0
  450. package/dist/geometry/preset-shape-definitions-arrows-refined.d.ts.map +1 -0
  451. package/dist/geometry/preset-shape-definitions-arrows.d.ts +52 -0
  452. package/dist/geometry/preset-shape-definitions-arrows.d.ts.map +1 -0
  453. package/dist/geometry/preset-shape-definitions-chart-marks.d.ts +23 -0
  454. package/dist/geometry/preset-shape-definitions-chart-marks.d.ts.map +1 -0
  455. package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts +28 -0
  456. package/dist/geometry/preset-shape-definitions-cloud-callout.d.ts.map +1 -0
  457. package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts +37 -0
  458. package/dist/geometry/preset-shape-definitions-connectors-brackets.d.ts.map +1 -0
  459. package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts +43 -0
  460. package/dist/geometry/preset-shape-definitions-curved-arrows-connectors.d.ts.map +1 -0
  461. package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts +30 -0
  462. package/dist/geometry/preset-shape-definitions-curved-arrows-exact.d.ts.map +1 -0
  463. package/dist/geometry/preset-shape-definitions-flowchart.d.ts +29 -0
  464. package/dist/geometry/preset-shape-definitions-flowchart.d.ts.map +1 -0
  465. package/dist/geometry/preset-shape-definitions-gear6.d.ts +38 -0
  466. package/dist/geometry/preset-shape-definitions-gear6.d.ts.map +1 -0
  467. package/dist/geometry/preset-shape-definitions-gear9.d.ts +24 -0
  468. package/dist/geometry/preset-shape-definitions-gear9.d.ts.map +1 -0
  469. package/dist/geometry/preset-shape-definitions-misc.d.ts +38 -0
  470. package/dist/geometry/preset-shape-definitions-misc.d.ts.map +1 -0
  471. package/dist/geometry/preset-shape-definitions-rects-snips.d.ts +28 -0
  472. package/dist/geometry/preset-shape-definitions-rects-snips.d.ts.map +1 -0
  473. package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts +45 -0
  474. package/dist/geometry/preset-shape-definitions-scrolls-accent-callouts.d.ts.map +1 -0
  475. package/dist/geometry/preset-shape-definitions-table.d.ts +121 -0
  476. package/dist/geometry/preset-shape-definitions-table.d.ts.map +1 -0
  477. package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts +48 -0
  478. package/dist/geometry/preset-shape-definitions-tabs-decorations.d.ts.map +1 -0
  479. package/dist/geometry/preset-shape-definitions.d.ts +28 -0
  480. package/dist/geometry/preset-shape-definitions.d.ts.map +1 -0
  481. package/dist/geometry/preset-shape-paths.d.ts +13 -0
  482. package/dist/geometry/preset-shape-paths.d.ts.map +1 -0
  483. package/dist/geometry/preset-shape-types.d.ts +33 -0
  484. package/dist/geometry/preset-shape-types.d.ts.map +1 -0
  485. package/dist/geometry/preset-text-rect-action-buttons.d.ts +13 -0
  486. package/dist/geometry/preset-text-rect-action-buttons.d.ts.map +1 -0
  487. package/dist/geometry/preset-text-rect-arrows.d.ts +3 -0
  488. package/dist/geometry/preset-text-rect-arrows.d.ts.map +1 -0
  489. package/dist/geometry/preset-text-rect-braces.d.ts +3 -0
  490. package/dist/geometry/preset-text-rect-braces.d.ts.map +1 -0
  491. package/dist/geometry/preset-text-rect-callouts.d.ts +3 -0
  492. package/dist/geometry/preset-text-rect-callouts.d.ts.map +1 -0
  493. package/dist/geometry/preset-text-rect-circular-arrows.d.ts +3 -0
  494. package/dist/geometry/preset-text-rect-circular-arrows.d.ts.map +1 -0
  495. package/dist/geometry/preset-text-rect-flowchart.d.ts +3 -0
  496. package/dist/geometry/preset-text-rect-flowchart.d.ts.map +1 -0
  497. package/dist/geometry/preset-text-rect-misc-a.d.ts +3 -0
  498. package/dist/geometry/preset-text-rect-misc-a.d.ts.map +1 -0
  499. package/dist/geometry/preset-text-rect-misc-b.d.ts +3 -0
  500. package/dist/geometry/preset-text-rect-misc-b.d.ts.map +1 -0
  501. package/dist/geometry/preset-text-rect-polygons.d.ts +3 -0
  502. package/dist/geometry/preset-text-rect-polygons.d.ts.map +1 -0
  503. package/dist/geometry/preset-text-rect-quads.d.ts +3 -0
  504. package/dist/geometry/preset-text-rect-quads.d.ts.map +1 -0
  505. package/dist/geometry/preset-text-rect-ribbons.d.ts +3 -0
  506. package/dist/geometry/preset-text-rect-ribbons.d.ts.map +1 -0
  507. package/dist/geometry/preset-text-rect-stars.d.ts +3 -0
  508. package/dist/geometry/preset-text-rect-stars.d.ts.map +1 -0
  509. package/dist/geometry/preset-text-rect-table.d.ts +20 -0
  510. package/dist/geometry/preset-text-rect-table.d.ts.map +1 -0
  511. package/dist/geometry/preset-text-rect-tabs.d.ts +3 -0
  512. package/dist/geometry/preset-text-rect-tabs.d.ts.map +1 -0
  513. package/dist/geometry/preset-text-rect-types.d.ts +46 -0
  514. package/dist/geometry/preset-text-rect-types.d.ts.map +1 -0
  515. package/dist/geometry/shape-boolean-clipping.d.ts +70 -0
  516. package/dist/geometry/shape-boolean-clipping.d.ts.map +1 -0
  517. package/dist/geometry/shape-boolean-ops.d.ts +142 -0
  518. package/dist/geometry/shape-boolean-ops.d.ts.map +1 -0
  519. package/dist/geometry/shape-boolean-svg.d.ts +31 -0
  520. package/dist/geometry/shape-boolean-svg.d.ts.map +1 -0
  521. package/dist/geometry/shape-boolean-types.d.ts +91 -0
  522. package/dist/geometry/shape-boolean-types.d.ts.map +1 -0
  523. package/dist/geometry/shape-boolean-union.d.ts +79 -0
  524. package/dist/geometry/shape-boolean-union.d.ts.map +1 -0
  525. package/dist/geometry/shape-boolean.d.ts +22 -0
  526. package/dist/geometry/shape-boolean.d.ts.map +1 -0
  527. package/dist/geometry/shape-definitions-extended.d.ts +18 -0
  528. package/dist/geometry/shape-definitions-extended.d.ts.map +1 -0
  529. package/dist/geometry/shape-definitions-primary.d.ts +19 -0
  530. package/dist/geometry/shape-definitions-primary.d.ts.map +1 -0
  531. package/dist/index.cjs +16618 -0
  532. package/dist/index.d.ts +7 -0
  533. package/dist/index.d.ts.map +1 -0
  534. package/dist/index.mjs +16611 -0
  535. package/dist/opc/content-types.d.ts +14 -0
  536. package/dist/opc/content-types.d.ts.map +1 -0
  537. package/dist/opc/index.cjs +228 -0
  538. package/dist/opc/index.d.ts +6 -0
  539. package/dist/opc/index.d.ts.map +1 -0
  540. package/dist/opc/index.mjs +212 -0
  541. package/dist/opc/package.d.ts +14 -0
  542. package/dist/opc/package.d.ts.map +1 -0
  543. package/dist/opc/relationship-types.d.ts +34 -0
  544. package/dist/opc/relationship-types.d.ts.map +1 -0
  545. package/dist/opc/relationships.d.ts +29 -0
  546. package/dist/opc/relationships.d.ts.map +1 -0
  547. package/dist/opc/safe-href.d.ts +3 -0
  548. package/dist/opc/safe-href.d.ts.map +1 -0
  549. package/dist/pptx/chunks/index-CojJtI77.d.ts +9627 -0
  550. package/dist/pptx/chunks/index-CojJtI77.d.ts.map +1 -0
  551. package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts +220 -0
  552. package/dist/pptx/chunks/signature-inspection-status-Bh2oap7B.d.ts.map +1 -0
  553. package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts +11122 -0
  554. package/dist/pptx/chunks/text-operations-IlJiffp7.d.ts.map +1 -0
  555. package/dist/pptx/cli/index.cjs +138457 -0
  556. package/dist/pptx/cli/index.d.ts +139 -0
  557. package/dist/pptx/cli/index.d.ts.map +1 -0
  558. package/dist/pptx/cli/index.mjs +138424 -0
  559. package/dist/pptx/converter/index.cjs +32084 -0
  560. package/dist/pptx/converter/index.d.ts +2 -0
  561. package/dist/pptx/converter/index.mjs +32060 -0
  562. package/dist/pptx/index.cjs +172307 -0
  563. package/dist/pptx/index.d.ts +9692 -0
  564. package/dist/pptx/index.d.ts.map +1 -0
  565. package/dist/pptx/index.mjs +171623 -0
  566. package/dist/pptx/signature-node/index.cjs +1299 -0
  567. package/dist/pptx/signature-node/index.d.ts +172 -0
  568. package/dist/pptx/signature-node/index.d.ts.map +1 -0
  569. package/dist/pptx/signature-node/index.mjs +1236 -0
  570. package/dist/units/constants.d.ts +13 -0
  571. package/dist/units/constants.d.ts.map +1 -0
  572. package/dist/units/index.cjs +76 -0
  573. package/dist/units/index.d.ts +3 -0
  574. package/dist/units/index.d.ts.map +1 -0
  575. package/dist/units/index.mjs +45 -0
  576. package/dist/units/units.d.ts +52 -0
  577. package/dist/units/units.d.ts.map +1 -0
  578. package/dist/xml/index.cjs +98 -0
  579. package/dist/xml/index.d.ts +3 -0
  580. package/dist/xml/index.d.ts.map +1 -0
  581. package/dist/xml/index.mjs +85 -0
  582. package/dist/xml/namespaces.d.ts +47 -0
  583. package/dist/xml/namespaces.d.ts.map +1 -0
  584. package/dist/xml/xml.d.ts +31 -0
  585. package/dist/xml/xml.d.ts.map +1 -0
  586. package/package.json +192 -0
@@ -0,0 +1,62 @@
1
+ import { type AwarenessStatesLike } from './awareness.js';
2
+ /** `postMessage` payload an embedding page can send into a frame to make it leave its room first. */
3
+ export declare const COLLAB_LEAVE_MESSAGE = "ooxml-core:collab-leave";
4
+ /** BroadcastChannel shared by every session in the browser. */
5
+ export declare const DEPARTURE_CHANNEL = "ooxml-core:collab-departures";
6
+ /** Names used by pptx-viewer before the extraction; pass them to stay wire-compatible. */
7
+ export declare const LEGACY_PPTX_LEAVE_MESSAGE = "pptx-viewer:collab-leave";
8
+ export declare const LEGACY_PPTX_DEPARTURE_CHANNEL = "pptx-viewer:collab-departures";
9
+ export interface TeardownEventLike {
10
+ readonly persisted?: boolean;
11
+ readonly data?: unknown;
12
+ }
13
+ export type TeardownListener = (event: TeardownEventLike) => void;
14
+ export interface TeardownWindowLike {
15
+ addEventListener: (type: string, listener: TeardownListener) => void;
16
+ removeEventListener: (type: string, listener: TeardownListener) => void;
17
+ }
18
+ export interface TeardownOptions {
19
+ /** Clear local awareness and destroy the transport. Called at most once per departure. */
20
+ leave: () => void;
21
+ /** Re-establish the session after a bfcache restore; also opts into leaving on persisted pagehide. */
22
+ rejoin?: () => void;
23
+ /** Borrowed sessions wait for `pagehide`, since `beforeunload` may be cancelled. */
24
+ leaveOnBeforeUnload?: boolean | (() => boolean);
25
+ /** Window to listen on; defaults to the ambient `window` when present. */
26
+ target?: TeardownWindowLike;
27
+ /** The leave `postMessage` payload type; defaults to {@link COLLAB_LEAVE_MESSAGE}. */
28
+ leaveMessage?: string;
29
+ }
30
+ /**
31
+ * Register `pagehide`, `beforeunload`, `pageshow` and `message` listeners that make the local peer
32
+ * leave its room when the document goes away (tab close, navigation, or an embedder detaching the
33
+ * frame, which fires `pagehide` but never `beforeunload`). Returns a disposer; a no-op outside a
34
+ * browser.
35
+ */
36
+ export declare function registerTeardown(options: TeardownOptions): () => void;
37
+ export interface DepartureNotice {
38
+ channel: string;
39
+ roomId: string;
40
+ clientId: number;
41
+ }
42
+ export interface DepartureChannelLike {
43
+ postMessage: (message: DepartureNotice) => void;
44
+ close: () => void;
45
+ onmessage: ((event: {
46
+ data: unknown;
47
+ }) => void) | null;
48
+ }
49
+ export type DepartureChannelFactory = (name: string) => DepartureChannelLike;
50
+ export interface DepartureChannel {
51
+ /** Announce that this client is leaving. Synchronous on purpose (usable from `pagehide`). */
52
+ announce: () => void;
53
+ dispose: () => void;
54
+ }
55
+ /**
56
+ * Same-browser departure channel: peers announcing their exit are dropped from `awareness` at once
57
+ * instead of lingering as ghosts until the awareness timeout (y-webrtc broadcasts removals one
58
+ * microtask too late for a document being destroyed). Cross-device peers still rely on the
59
+ * transport. A no-op where `BroadcastChannel` is unavailable.
60
+ */
61
+ export declare function createDepartureChannel(roomId: string, awareness: AwarenessStatesLike, factory?: DepartureChannelFactory, channelName?: string): DepartureChannel;
62
+ //# sourceMappingURL=lifecycle.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle.d.ts","sourceRoot":"","sources":["../../src/collab/lifecycle.ts"],"names":[],"mappings":"AAMA,OAAO,EAAE,KAAK,mBAAmB,EAAgC,MAAM,gBAAgB,CAAC;AAExF,qGAAqG;AACrG,eAAO,MAAM,oBAAoB,4BAA4B,CAAC;AAC9D,+DAA+D;AAC/D,eAAO,MAAM,iBAAiB,iCAAiC,CAAC;AAChE,0FAA0F;AAC1F,eAAO,MAAM,yBAAyB,6BAA6B,CAAC;AACpE,eAAO,MAAM,6BAA6B,kCAAkC,CAAC;AAE7E,MAAM,WAAW,iBAAiB;IACjC,QAAQ,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC;IAC7B,QAAQ,CAAC,IAAI,CAAC,EAAE,OAAO,CAAC;CACxB;AACD,MAAM,MAAM,gBAAgB,GAAG,CAAC,KAAK,EAAE,iBAAiB,KAAK,IAAI,CAAC;AAClE,MAAM,WAAW,kBAAkB;IAClC,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;IACrE,mBAAmB,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,gBAAgB,KAAK,IAAI,CAAC;CACxE;AAED,MAAM,WAAW,eAAe;IAC/B,0FAA0F;IAC1F,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,sGAAsG;IACtG,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;IACpB,oFAAoF;IACpF,mBAAmB,CAAC,EAAE,OAAO,GAAG,CAAC,MAAM,OAAO,CAAC,CAAC;IAChD,0EAA0E;IAC1E,MAAM,CAAC,EAAE,kBAAkB,CAAC;IAC5B,sFAAsF;IACtF,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AASD;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,eAAe,GAAG,MAAM,IAAI,CA0CrE;AAED,MAAM,WAAW,eAAe;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CACjB;AACD,MAAM,WAAW,oBAAoB;IACpC,WAAW,EAAE,CAAC,OAAO,EAAE,eAAe,KAAK,IAAI,CAAC;IAChD,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACvD;AACD,MAAM,MAAM,uBAAuB,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,oBAAoB,CAAC;AAE7E,MAAM,WAAW,gBAAgB;IAChC,6FAA6F;IAC7F,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,EAAE,MAAM,IAAI,CAAC;CACpB;AAOD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CACrC,MAAM,EAAE,MAAM,EACd,SAAS,EAAE,mBAAmB,EAC9B,OAAO,CAAC,EAAE,uBAAuB,EACjC,WAAW,GAAE,MAA0B,GACrC,gBAAgB,CAyBlB"}
@@ -0,0 +1,19 @@
1
+ import type { Transport } from './provider.js';
2
+ export interface MemoryTransport extends Transport {
3
+ /** Whether this endpoint is currently attached to its room. */
4
+ readonly connected: boolean;
5
+ }
6
+ export interface MemoryHub {
7
+ /** Create an endpoint for `roomId`; it hears the other endpoints of the same room. */
8
+ createTransport: (roomId: string) => MemoryTransport;
9
+ /** Number of connected endpoints in a room. */
10
+ size: (roomId: string) => number;
11
+ }
12
+ export interface MemoryHubOptions {
13
+ /** Deliver through `queueMicrotask` instead of synchronously. */
14
+ async?: boolean;
15
+ /** Return false to drop a message (simulate loss); receives raw bytes and the sender index. */
16
+ filter?: (data: Uint8Array, from: number) => boolean;
17
+ }
18
+ export declare function createMemoryHub(options?: MemoryHubOptions): MemoryHub;
19
+ //# sourceMappingURL=memory-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"memory-transport.d.ts","sourceRoot":"","sources":["../../src/collab/memory-transport.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAC;AAElE,MAAM,WAAW,eAAgB,SAAQ,SAAS;IACjD,+DAA+D;IAC/D,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACzB,sFAAsF;IACtF,eAAe,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,eAAe,CAAC;IACrD,+CAA+C;IAC/C,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC;CACjC;AAED,MAAM,WAAW,gBAAgB;IAChC,iEAAiE;IACjE,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,+FAA+F;IAC/F,MAAM,CAAC,EAAE,CAAC,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CACrD;AAOD,wBAAgB,eAAe,CAAC,OAAO,GAAE,gBAAqB,GAAG,SAAS,CAoDzE"}
@@ -0,0 +1,53 @@
1
+ export type OrderingStatus = 'apply' | 'duplicate' | 'stale' | 'out-of-order' | 'invalid';
2
+ /**
3
+ * Compare a message's base version with the receiver's current version. Authority-ordered streams
4
+ * must be applied strictly in order: older is `stale` (already seen), newer is `out-of-order`
5
+ * (a gap: the receiver must fetch the missing versions first).
6
+ */
7
+ export declare function classifyVersion(messageVersion: number, currentVersion: number): 'apply' | 'stale' | 'out-of-order' | 'invalid';
8
+ /** A Map that forgets its oldest entries beyond `limit`, keeping memory bounded in long sessions. */
9
+ export declare class BoundedMap<K, V> {
10
+ private readonly limit;
11
+ private readonly entries;
12
+ constructor(limit: number);
13
+ get size(): number;
14
+ get(key: K): V | undefined;
15
+ has(key: K): boolean;
16
+ set(key: K, value: V): void;
17
+ delete(key: K): boolean;
18
+ clear(): void;
19
+ }
20
+ /**
21
+ * Idempotency cache for request/ack protocols: a retried message with the same id and the same
22
+ * content is a `duplicate` (replay the earlier result), the same id with different content is
23
+ * `reused` (a client bug or an attack), anything else is `fresh`.
24
+ */
25
+ export declare class IdempotencyCache<V = undefined> {
26
+ private readonly seen;
27
+ constructor(limit?: number);
28
+ check(clientId: string, messageId: string, fingerprint: string): {
29
+ status: 'fresh';
30
+ } | {
31
+ status: 'duplicate';
32
+ value: V;
33
+ } | {
34
+ status: 'reused';
35
+ };
36
+ remember(clientId: string, messageId: string, fingerprint: string, value: V): void;
37
+ }
38
+ /**
39
+ * Per-peer monotonic sequence tracker for transient streams such as presence: a lower sequence is
40
+ * `stale`, an equal one is a `duplicate` of the same content or `invalid` when the content differs
41
+ * (sequence reuse), and a higher one is accepted and remembered.
42
+ */
43
+ export declare class SequenceTracker {
44
+ private readonly last;
45
+ constructor(limit?: number);
46
+ /** Classify without recording; call {@link commit} once the message was actually applied. */
47
+ classify(peerId: string, sequence: number, fingerprint: string): OrderingStatus;
48
+ commit(peerId: string, sequence: number, fingerprint: string): void;
49
+ forget(peerId: string): void;
50
+ }
51
+ /** Recursively freeze a JSON-like value so a retained envelope cannot be mutated by a transport. */
52
+ export declare function freezeDeep<T>(value: T): T;
53
+ //# sourceMappingURL=ordering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ordering.d.ts","sourceRoot":"","sources":["../../src/collab/ordering.ts"],"names":[],"mappings":"AAOA,MAAM,MAAM,cAAc,GAAG,OAAO,GAAG,WAAW,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAAC;AAE1F;;;;GAIG;AACH,wBAAgB,eAAe,CAC9B,cAAc,EAAE,MAAM,EACtB,cAAc,EAAE,MAAM,GACpB,OAAO,GAAG,OAAO,GAAG,cAAc,GAAG,SAAS,CAKhD;AAED,qGAAqG;AACrG,qBAAa,UAAU,CAAC,CAAC,EAAE,CAAC;IAEf,OAAO,CAAC,QAAQ,CAAC,KAAK;IADlC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAmB;gBACd,KAAK,EAAE,MAAM;IAG1C,IAAI,IAAI,IAAI,MAAM,CAEjB;IACD,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,GAAG,SAAS;IAG1B,GAAG,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAGpB,GAAG,CAAC,GAAG,EAAE,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;IAQ3B,MAAM,CAAC,GAAG,EAAE,CAAC,GAAG,OAAO;IAGvB,KAAK,IAAI,IAAI;CAGb;AAED;;;;GAIG;AACH,qBAAa,gBAAgB,CAAC,CAAC,GAAG,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAwD;gBACjE,KAAK,SAAQ;IAGzB,KAAK,CACJ,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,MAAM,GACjB;QAAE,MAAM,EAAE,OAAO,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,WAAW,CAAC;QAAC,KAAK,EAAE,CAAC,CAAA;KAAE,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE;IAOjF,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC,GAAG,IAAI;CAGlF;AAED;;;;GAIG;AACH,qBAAa,eAAe;IAC3B,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAgE;gBACzE,KAAK,SAAM;IAGvB,6FAA6F;IAC7F,QAAQ,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,cAAc;IAO/E,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,IAAI;IAGnE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI;CAG5B;AAED,oGAAoG;AACpG,wBAAgB,UAAU,CAAC,CAAC,EAAE,KAAK,EAAE,CAAC,GAAG,CAAC,CAMzC"}
@@ -0,0 +1,39 @@
1
+ import type { CollaborationRole } from './identity.js';
2
+ /**
3
+ * Grace period (ms) before the first local write when the provider has not signalled initial sync.
4
+ * WebSocket providers emit `synced` reliably; WebRTC only syncs once a peer is present, so a lone
5
+ * fresh-room peer seeds the document after this delay. Gating the first write prevents a late
6
+ * joiner's bootstrap document from merging into a room whose real content has not arrived.
7
+ */
8
+ export declare const INITIAL_SYNC_GRACE_MS = 3000;
9
+ export interface SyncGate {
10
+ isOpen: () => boolean;
11
+ /** (Re)start the grace timer that opens the gate without a sync event. */
12
+ arm: () => void;
13
+ /** Open now (the provider confirmed its initial sync). Idempotent. */
14
+ open: () => void;
15
+ /** Close and cancel the grace timer (teardown). */
16
+ reset: () => void;
17
+ }
18
+ /** First-write gate. `onOpen` fires once per session (until `reset`). */
19
+ export declare function createSyncGate(onOpen: () => void, graceMs?: number): SyncGate;
20
+ /**
21
+ * Why a content load ran: `bootstrap` (the document the host mounted the viewer with, or a session
22
+ * restore; nobody chose it during the session) or `user` (File > Open, a drop, a host API call).
23
+ */
24
+ export type LoadOrigin = 'bootstrap' | 'user';
25
+ /**
26
+ * Whether the room's content should replace the document that just loaded. Only a bootstrap load
27
+ * into a non-empty room loses: opening a file is an act of authorship and is published instead.
28
+ * An unknown origin defaults to `user`, which keeps the document rather than dropping it.
29
+ */
30
+ export declare function shouldRoomReplaceLoad(origin: LoadOrigin | undefined, roomIsNonEmpty: boolean): boolean;
31
+ /**
32
+ * Broadcast sessions have one presenter (`owner`). Auto-follow is one-way: only a local `viewer` is
33
+ * pulled along to the owner's location; collaborators and the owner navigate freely.
34
+ */
35
+ export declare function shouldAutoFollowBroadcaster(input: {
36
+ localRole: CollaborationRole | undefined;
37
+ broadcasterRole: CollaborationRole | undefined;
38
+ }): boolean;
39
+ //# sourceMappingURL=policy.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"policy.d.ts","sourceRoot":"","sources":["../../src/collab/policy.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,eAAe,CAAC;AAEvD;;;;;GAKG;AACH,eAAO,MAAM,qBAAqB,OAAQ,CAAC;AAE3C,MAAM,WAAW,QAAQ;IACxB,MAAM,EAAE,MAAM,OAAO,CAAC;IACtB,0EAA0E;IAC1E,GAAG,EAAE,MAAM,IAAI,CAAC;IAChB,sEAAsE;IACtE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,mDAAmD;IACnD,KAAK,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,yEAAyE;AACzE,wBAAgB,cAAc,CAC7B,MAAM,EAAE,MAAM,IAAI,EAClB,OAAO,GAAE,MAA8B,GACrC,QAAQ,CAyBV;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,WAAW,GAAG,MAAM,CAAC;AAE9C;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,MAAM,EAAE,UAAU,GAAG,SAAS,EAC9B,cAAc,EAAE,OAAO,GACrB,OAAO,CAET;AAED;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE;IAClD,SAAS,EAAE,iBAAiB,GAAG,SAAS,CAAC;IACzC,eAAe,EAAE,iBAAiB,GAAG,SAAS,CAAC;CAC/C,GAAG,OAAO,CAEV"}
@@ -0,0 +1,61 @@
1
+ import { type CollaborationRole } from './identity.js';
2
+ /** The awareness field every client publishes its presence under. */
3
+ export declare const PRESENCE_FIELD = "presence";
4
+ /** Presence entries older than this (ms) are dropped as stale. */
5
+ export declare const STALE_PRESENCE_MS = 30000;
6
+ /** Heartbeat interval (ms): re-publish presence so peers do not time us out. */
7
+ export declare const PRESENCE_HEARTBEAT_MS = 10000;
8
+ /** Minimum interval (ms) between outgoing presence broadcasts. */
9
+ export declare const BROADCAST_THROTTLE_MS = 50;
10
+ /** Identity fields fixed for the lifetime of a session. */
11
+ export interface PresenceIdentity {
12
+ userName: string;
13
+ userColor: string;
14
+ userAvatar?: string | undefined;
15
+ role?: CollaborationRole | undefined;
16
+ }
17
+ /** A sanitised remote collaborator: identity plus product specific payload `T`. */
18
+ export type RemotePresence<T extends object = object> = PresenceIdentity & {
19
+ clientId: number;
20
+ lastUpdated: string;
21
+ } & T;
22
+ /** Sanitise the identity part of a raw awareness presence entry. */
23
+ export declare function sanitizeIdentity(raw: Record<string, unknown>): PresenceIdentity;
24
+ /** True when `lastUpdated` is parseable and within `staleMs` of `now`. */
25
+ export declare function isPresenceFresh(lastUpdated: string, now?: number, staleMs?: number): boolean;
26
+ export interface DerivePresenceOptions {
27
+ now?: number;
28
+ staleMs?: number;
29
+ }
30
+ /**
31
+ * Derive the remote presence list from an awareness state map: skips the local client and entries
32
+ * without a `presence` object, sanitises identity, lets `sanitizePayload` validate the product
33
+ * payload (return `null` to drop the entry), and drops stale entries.
34
+ */
35
+ export declare function derivePresence<T extends object>(states: ReadonlyMap<number, Record<string, unknown>>, localClientId: number | undefined, sanitizePayload: (raw: Record<string, unknown>) => T | null, options?: DerivePresenceOptions): RemotePresence<T>[];
36
+ /** Cursor position in unscaled canvas pixels plus the active page (slide) and selection. */
37
+ export interface CanvasPayload {
38
+ activeSlideIndex: number;
39
+ cursorX: number;
40
+ cursorY: number;
41
+ selectedElementId?: string | undefined;
42
+ }
43
+ export type CanvasPresence = RemotePresence<CanvasPayload>;
44
+ /** Sanitise the canvas payload, clamping the cursor to the canvas bounds plus a small margin. */
45
+ export declare function sanitizeCanvasPayload(raw: Record<string, unknown>, canvasWidth: number, canvasHeight: number): CanvasPayload;
46
+ /** `derivePresence` specialised to the canvas payload. */
47
+ export declare function deriveCanvasPresence(states: ReadonlyMap<number, Record<string, unknown>>, localClientId: number | undefined, canvasWidth: number, canvasHeight: number, options?: DerivePresenceOptions): CanvasPresence[];
48
+ /** A remote collaborator's cursor, render ready. */
49
+ export interface RemoteCursor {
50
+ clientId: number | string;
51
+ userName: string;
52
+ color: string;
53
+ x: number;
54
+ y: number;
55
+ selectionIds?: string[];
56
+ }
57
+ /** Project canvas presence to cursors, optionally only those on `activeSlideIndex`. */
58
+ export declare function presenceToCursors(presence: readonly CanvasPresence[], activeSlideIndex?: number): RemoteCursor[];
59
+ /** Coerce an unknown awareness value into a string-id array, dropping non-strings. */
60
+ export declare function asSelectionIds(value: unknown): string[];
61
+ //# sourceMappingURL=presence.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"presence.d.ts","sourceRoot":"","sources":["../../src/collab/presence.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,55 @@
1
+ import type * as Y from 'yjs';
2
+ import type { Awareness } from 'y-protocols/awareness';
3
+ /** Connection lifecycle shared by every provider. */
4
+ export type ConnectionStatus = 'disconnected' | 'connecting' | 'connected' | 'error';
5
+ /** Maximum time (ms) to wait for an initial connection before giving up. */
6
+ export declare const CONNECTION_TIMEOUT_MS = 30000;
7
+ /** Callbacks a transport invokes; supplied by the provider on every `connect`. */
8
+ export interface TransportHandlers {
9
+ /** The channel is usable (also after every automatic reconnect). */
10
+ open: () => void;
11
+ /** The channel closed; the transport may reconnect and call `open` again. */
12
+ close: (reason?: string) => void;
13
+ /** A binary message arrived. */
14
+ message: (data: Uint8Array) => void;
15
+ /** A non-fatal failure (refused socket, mixed content, send error). */
16
+ error: (error: Error) => void;
17
+ /**
18
+ * Mesh transports only: another peer joined the room. The provider answers with a sync handshake
19
+ * and its awareness so the newcomer learns our state (star transports get that from the server).
20
+ */
21
+ peer?: () => void;
22
+ }
23
+ /** A bidirectional, ordered-enough byte channel. Reconnect policy belongs to the transport. */
24
+ export interface Transport {
25
+ connect: (handlers: TransportHandlers) => void;
26
+ /** Send to the room. Silently dropped while closed; the provider re-syncs on the next `open`. */
27
+ send: (data: Uint8Array) => void;
28
+ /** Close and stop any reconnect attempts. */
29
+ disconnect: () => void;
30
+ }
31
+ export interface ProviderEvents {
32
+ status: ConnectionStatus;
33
+ /** True once the initial state exchange completed for the current connection. */
34
+ synced: boolean;
35
+ /** A rejected inbound message, a transport failure. The provider keeps running. */
36
+ error: Error;
37
+ }
38
+ /** Everything a session needs from a sync backend. */
39
+ export interface SyncProvider {
40
+ readonly status: ConnectionStatus;
41
+ readonly synced: boolean;
42
+ connect: () => void;
43
+ disconnect: () => void;
44
+ /** Release every listener and timer; the provider cannot be reused. */
45
+ destroy: () => void;
46
+ on: <K extends keyof ProviderEvents>(event: K, listener: (payload: ProviderEvents[K]) => void) => () => void;
47
+ }
48
+ export interface ProviderContext {
49
+ doc: Y.Doc;
50
+ awareness: Awareness;
51
+ roomId: string;
52
+ }
53
+ /** Factory a session calls once with the document and awareness it owns. */
54
+ export type ProviderFactory = (context: ProviderContext) => SyncProvider;
55
+ //# sourceMappingURL=provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider.d.ts","sourceRoot":"","sources":["../../src/collab/provider.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,KAAK,CAAC,MAAM,KAAK,CAAC;AAC9B,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAEvD,qDAAqD;AACrD,MAAM,MAAM,gBAAgB,GAAG,cAAc,GAAG,YAAY,GAAG,WAAW,GAAG,OAAO,CAAC;AAErF,4EAA4E;AAC5E,eAAO,MAAM,qBAAqB,QAAS,CAAC;AAE5C,kFAAkF;AAClF,MAAM,WAAW,iBAAiB;IACjC,oEAAoE;IACpE,IAAI,EAAE,MAAM,IAAI,CAAC;IACjB,6EAA6E;IAC7E,KAAK,EAAE,CAAC,MAAM,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACjC,gCAAgC;IAChC,OAAO,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACpC,uEAAuE;IACvE,KAAK,EAAE,CAAC,KAAK,EAAE,KAAK,KAAK,IAAI,CAAC;IAC9B;;;OAGG;IACH,IAAI,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAED,+FAA+F;AAC/F,MAAM,WAAW,SAAS;IACzB,OAAO,EAAE,CAAC,QAAQ,EAAE,iBAAiB,KAAK,IAAI,CAAC;IAC/C,iGAAiG;IACjG,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,6CAA6C;IAC7C,UAAU,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,MAAM,WAAW,cAAc;IAC9B,MAAM,EAAE,gBAAgB,CAAC;IACzB,iFAAiF;IACjF,MAAM,EAAE,OAAO,CAAC;IAChB,mFAAmF;IACnF,KAAK,EAAE,KAAK,CAAC;CACb;AAED,sDAAsD;AACtD,MAAM,WAAW,YAAY;IAC5B,QAAQ,CAAC,MAAM,EAAE,gBAAgB,CAAC;IAClC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IACzB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,uEAAuE;IACvE,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,EAAE,EAAE,CAAC,CAAC,SAAS,MAAM,cAAc,EAClC,KAAK,EAAE,CAAC,EACR,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,IAAI,KAC1C,MAAM,IAAI,CAAC;CAChB;AAED,MAAM,WAAW,eAAe;IAC/B,GAAG,EAAE,CAAC,CAAC,GAAG,CAAC;IACX,SAAS,EAAE,SAAS,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,4EAA4E;AAC5E,MAAM,MAAM,eAAe,GAAG,CAAC,OAAO,EAAE,eAAe,KAAK,YAAY,CAAC"}
@@ -0,0 +1,70 @@
1
+ import { Awareness } from 'y-protocols/awareness';
2
+ import * as Y from 'yjs';
3
+ import { type CollaborationRole } from './identity.js';
4
+ import { type TeardownOptions } from './lifecycle.js';
5
+ import { type SyncGate } from './policy.js';
6
+ import { type PresenceIdentity, type RemotePresence } from './presence.js';
7
+ import { type ConnectionStatus, type ProviderFactory, type SyncProvider } from './provider.js';
8
+ export interface SessionOptions<P extends object = object> {
9
+ roomId: string;
10
+ provider: ProviderFactory;
11
+ user: {
12
+ name: string;
13
+ /** Defaults to a stable palette colour derived from the client id. */
14
+ color?: string;
15
+ avatar?: string;
16
+ role?: CollaborationRole;
17
+ };
18
+ /** Bring your own document (for example one a viewer already populated). */
19
+ doc?: Y.Doc;
20
+ /** The local "where am I" payload published with the identity. */
21
+ initialPresence?: P;
22
+ /** Validate a remote payload; return `null` to hide that peer. Defaults to accepting `{}`. */
23
+ sanitizePayload?: (raw: Record<string, unknown>) => P | null;
24
+ /** Start connecting immediately. Default true. */
25
+ autoConnect?: boolean;
26
+ connectionTimeoutMs?: number;
27
+ /** Fallback gate opening for transports that never signal sync (mesh). Default 3 s. */
28
+ syncGraceMs?: number;
29
+ /** Called once when local writes become allowed; seed the document here. */
30
+ onReady?: (state: {
31
+ synced: boolean;
32
+ }) => void;
33
+ /** Register pagehide/beforeunload leave handling and the same-browser departure channel. */
34
+ teardown?: boolean | Pick<TeardownOptions, 'target' | 'leaveOnBeforeUnload' | 'leaveMessage'>;
35
+ /** Heartbeat (ms) that republishes presence and ages out stale peers. Default 10 s; 0 disables. */
36
+ heartbeatMs?: number;
37
+ }
38
+ export interface SessionEvents<P extends object> {
39
+ status: ConnectionStatus;
40
+ synced: boolean;
41
+ /** The remote presence list changed (join, leave, move, staleness). */
42
+ peers: RemotePresence<P>[];
43
+ /** Local writes just became allowed (once per connection epoch). */
44
+ ready: undefined;
45
+ error: Error;
46
+ }
47
+ export interface CollabSession<P extends object = object> {
48
+ readonly roomId: string;
49
+ readonly doc: Y.Doc;
50
+ readonly awareness: Awareness;
51
+ readonly clientId: number;
52
+ readonly role: CollaborationRole | undefined;
53
+ readonly identity: PresenceIdentity;
54
+ readonly gate: SyncGate;
55
+ readonly provider: SyncProvider;
56
+ readonly status: ConnectionStatus;
57
+ readonly synced: boolean;
58
+ /** Writes are allowed: the gate opened (synced, or the grace period passed), not a viewer, not destroyed. */
59
+ canWrite: () => boolean;
60
+ peers: () => RemotePresence<P>[];
61
+ /** Merge a patch into the published local presence payload (throttled). */
62
+ updatePresence: (patch: Partial<P>) => void;
63
+ on: <K extends keyof SessionEvents<P>>(event: K, listener: (payload: SessionEvents<P>[K]) => void) => () => void;
64
+ connect: () => void;
65
+ disconnect: () => void;
66
+ /** Leave the room and release everything; a session created with `doc` leaves that doc alive. */
67
+ destroy: () => void;
68
+ }
69
+ export declare function createCollabSession<P extends object = object>(options: SessionOptions<P>): CollabSession<P>;
70
+ //# sourceMappingURL=session.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../../src/collab/session.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,13 @@
1
+ import type { ProviderContext, SyncProvider, Transport } from './provider.js';
2
+ export declare const MESSAGE_SYNC = 0;
3
+ export declare const MESSAGE_AWARENESS = 1;
4
+ export declare const MESSAGE_QUERY_AWARENESS = 3;
5
+ export interface TransportProviderOptions {
6
+ transport: Transport;
7
+ /** Reject inbound messages larger than this. Default 32 MiB. */
8
+ maxMessageBytes?: number;
9
+ }
10
+ /** Create the provider factory for a session: `provider: transportProvider({ transport })`. */
11
+ export declare function transportProvider(options: TransportProviderOptions): (context: ProviderContext) => SyncProvider;
12
+ export declare function createTransportProvider({ doc, awareness }: ProviderContext, { transport, maxMessageBytes }: TransportProviderOptions): SyncProvider;
13
+ //# sourceMappingURL=transport-provider.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"transport-provider.d.ts","sourceRoot":"","sources":["../../src/collab/transport-provider.ts"],"names":[],"mappings":"AAYA,OAAO,KAAK,EAEX,eAAe,EAEf,YAAY,EACZ,SAAS,EACT,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,YAAY,IAAI,CAAC;AAC9B,eAAO,MAAM,iBAAiB,IAAI,CAAC;AACnC,eAAO,MAAM,uBAAuB,IAAI,CAAC;AAKzC,MAAM,WAAW,wBAAwB;IACxC,SAAS,EAAE,SAAS,CAAC;IACrB,gEAAgE;IAChE,eAAe,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,+FAA+F;AAC/F,wBAAgB,iBAAiB,CAChC,OAAO,EAAE,wBAAwB,GAC/B,CAAC,OAAO,EAAE,eAAe,KAAK,YAAY,CAE5C;AAED,wBAAgB,uBAAuB,CACtC,EAAE,GAAG,EAAE,SAAS,EAAE,EAAE,eAAe,EACnC,EAAE,SAAS,EAAE,eAAkC,EAAE,EAAE,wBAAwB,GACzE,YAAY,CA8Kd"}
@@ -0,0 +1,38 @@
1
+ /** Fallback cursor/label colour when none is supplied or it fails validation. */
2
+ export declare const DEFAULT_COLOR = "#4c8bf5";
3
+ /** True when `roomId` is a safe 1-128 char alphanumeric/`-`/`_` token. */
4
+ export declare function isValidRoomId(roomId: unknown): roomId is string;
5
+ /** Return `roomId` when valid, throw otherwise. */
6
+ export declare function validateRoomId(roomId: string): string;
7
+ /** True for a non-empty string of at most `max` characters (session, client and batch ids). */
8
+ export declare function isValidId(value: unknown, max?: number): value is string;
9
+ /** True for a non-negative safe integer (versions, sequence numbers, offsets). */
10
+ export declare function isNonNegativeSafeInteger(value: unknown): value is number;
11
+ /**
12
+ * Remove HTML tags in a single linear pass with no regex backtracking. Tracking open/closed tag
13
+ * state while walking the string means nested or overlapping `<`/`>` sequences (`<scr<script>ipt>`)
14
+ * can never leave a live tag behind, and there is no polynomial ReDoS on many unmatched `<`.
15
+ */
16
+ export declare function stripHtmlTags(text: string): string;
17
+ /** Strip HTML tags, trim, and clamp to 64 characters; falls back to `fallback`. */
18
+ export declare function sanitizeUserName(name: unknown, fallback?: string): string;
19
+ /**
20
+ * Strict profile-name check for hosts that prefer rejection over repair: 1 to 80 printable
21
+ * characters. Returns the trimmed name or throws.
22
+ */
23
+ export declare function validateDisplayName(name: string): string;
24
+ /** Validate a 6-digit hex colour; returns `fallback` when invalid. */
25
+ export declare function sanitizeColor(color: unknown, fallback?: string): string;
26
+ /** Allow only http(s)/data: avatar URLs; otherwise `undefined`. */
27
+ export declare function sanitizeAvatarUrl(url: unknown): string | undefined;
28
+ /** Coerce to a non-negative integer index (slide, page, sheet). */
29
+ export declare function sanitizeIndex(value: unknown): number;
30
+ /** Clamp a coordinate to `[min - margin, max + margin]`; non-finite input becomes 0. */
31
+ export declare function clampCoordinate(value: unknown, min: number, max: number, margin?: number): number;
32
+ /**
33
+ * True when connecting to `serverUrl` would be blocked as mixed content: an insecure `ws://` socket
34
+ * opened from a secure `https:` page. Loopback hosts are exempt. `pageProtocol` defaults to the
35
+ * ambient `location.protocol` when there is one (no DOM types are required).
36
+ */
37
+ export declare function isMixedContentBlocked(serverUrl: string, pageProtocol?: string | undefined): boolean;
38
+ //# sourceMappingURL=validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/collab/validation.ts"],"names":[],"mappings":"AAMA,iFAAiF;AACjF,eAAO,MAAM,aAAa,YAAY,CAAC;AAQvC,0EAA0E;AAC1E,wBAAgB,aAAa,CAAC,MAAM,EAAE,OAAO,GAAG,MAAM,IAAI,MAAM,CAE/D;AAED,mDAAmD;AACnD,wBAAgB,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAOrD;AAED,+FAA+F;AAC/F,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,SAAM,GAAG,KAAK,IAAI,MAAM,CAEpE;AAED,kFAAkF;AAClF,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExE;AAED;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CASlD;AAED,mFAAmF;AACnF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,SAAc,GAAG,MAAM,CAI9E;AAED;;;GAGG;AACH,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAKxD;AAED,sEAAsE;AACtE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,GAAE,MAAsB,GAAG,MAAM,CAEtF;AAED,mEAAmE;AACnE,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,CASlE;AAED,mEAAmE;AACnE,wBAAgB,aAAa,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAGpD;AAED,wFAAwF;AACxF,wBAAgB,eAAe,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,EAAE,MAAM,SAAK,GAAG,MAAM,CAG7F;AAID;;;;GAIG;AACH,wBAAgB,qBAAqB,CACpC,SAAS,EAAE,MAAM,EACjB,YAAY,GAAE,MAAM,GAAG,SACZ,GACT,OAAO,CAST"}
@@ -0,0 +1,33 @@
1
+ import type { Transport } from './provider.js';
2
+ /** The structural slice of `WebSocket` this transport uses. */
3
+ export interface WebSocketLike {
4
+ binaryType: string;
5
+ readyState: number;
6
+ send: (data: Uint8Array) => void;
7
+ close: () => void;
8
+ onopen: ((event: unknown) => void) | null;
9
+ onclose: ((event: {
10
+ reason?: string;
11
+ }) => void) | null;
12
+ onerror: ((event: unknown) => void) | null;
13
+ onmessage: ((event: {
14
+ data: unknown;
15
+ }) => void) | null;
16
+ }
17
+ export type WebSocketConstructor = new (url: string) => WebSocketLike;
18
+ export interface WebSocketTransportOptions {
19
+ /** Full URL including the room, for example `wss://host/room-id` (see {@link roomUrl}). */
20
+ url: string;
21
+ WebSocket?: WebSocketConstructor;
22
+ /** First reconnect delay in ms; doubles up to `maxDelayMs`. Default 250. */
23
+ baseDelayMs?: number;
24
+ maxDelayMs?: number;
25
+ /** Give up after this many consecutive failed attempts. Default unlimited. */
26
+ maxRetries?: number;
27
+ /** Page protocol for the mixed-content check; defaults to the ambient location. */
28
+ pageProtocol?: string | undefined;
29
+ }
30
+ /** Join a server base URL and a validated room id: `roomUrl('wss://h/collab', 'r1')`. */
31
+ export declare function roomUrl(server: string, roomId: string): string;
32
+ export declare function createWebSocketTransport(options: WebSocketTransportOptions): Transport;
33
+ //# sourceMappingURL=websocket-transport.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-transport.d.ts","sourceRoot":"","sources":["../../src/collab/websocket-transport.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,SAAS,EAAqB,MAAM,eAAe,CAAC;AAGlE,+DAA+D;AAC/D,MAAM,WAAW,aAAa;IAC7B,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,CAAC,IAAI,EAAE,UAAU,KAAK,IAAI,CAAC;IACjC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,MAAM,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC1C,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,MAAM,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IACvD,OAAO,EAAE,CAAC,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;IAC3C,SAAS,EAAE,CAAC,CAAC,KAAK,EAAE;QAAE,IAAI,EAAE,OAAO,CAAA;KAAE,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC;CACvD;AACD,MAAM,MAAM,oBAAoB,GAAG,KAAK,GAAG,EAAE,MAAM,KAAK,aAAa,CAAC;AAEtE,MAAM,WAAW,yBAAyB;IACzC,2FAA2F;IAC3F,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,oBAAoB,CAAC;IACjC,4EAA4E;IAC5E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,8EAA8E;IAC9E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mFAAmF;IACnF,YAAY,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CAClC;AAID,yFAAyF;AACzF,wBAAgB,OAAO,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,wBAAwB,CAAC,OAAO,EAAE,yBAAyB,GAAG,SAAS,CAuEtF"}
@@ -0,0 +1,5 @@
1
+ /** An sRGB channel (0-255) as linear light (0-1). */
2
+ export declare function srgb255ToLinear(channel: number): number;
3
+ /** A linear-light channel (0-1) as an sRGB channel (0-255, unrounded). */
4
+ export declare function linearToSrgb255(linear: number): number;
5
+ //# sourceMappingURL=color-linear.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"color-linear.d.ts","sourceRoot":"","sources":["../../src/color/color-linear.ts"],"names":[],"mappings":"AAUA,qDAAqD;AACrD,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,CAGvD;AAED,0EAA0E;AAC1E,wBAAgB,eAAe,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAGtD"}