@fluidframework/sequence 2.0.0-rc.2.0.2 → 2.0.0-rc.3.0.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 (313) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +1 -1
  3. package/api-report/sequence.api.md +32 -32
  4. package/beta.d.ts +11 -0
  5. package/dist/{localValues.d.ts → IntervalCollectionValues.d.ts} +13 -12
  6. package/dist/IntervalCollectionValues.d.ts.map +1 -0
  7. package/dist/{localValues.js → IntervalCollectionValues.js} +6 -6
  8. package/dist/IntervalCollectionValues.js.map +1 -0
  9. package/dist/beta.d.ts +12 -0
  10. package/dist/index.d.ts +2 -2
  11. package/dist/index.d.ts.map +1 -1
  12. package/dist/index.js +10 -10
  13. package/dist/index.js.map +1 -1
  14. package/dist/intervalCollection.d.ts +10 -10
  15. package/dist/intervalCollection.d.ts.map +1 -1
  16. package/dist/intervalCollection.js +103 -99
  17. package/dist/intervalCollection.js.map +1 -1
  18. package/dist/{defaultMap.d.ts → intervalCollectionMap.d.ts} +11 -44
  19. package/dist/intervalCollectionMap.d.ts.map +1 -0
  20. package/dist/{defaultMap.js → intervalCollectionMap.js} +15 -70
  21. package/dist/intervalCollectionMap.js.map +1 -0
  22. package/dist/{defaultMapInterfaces.d.ts → intervalCollectionMapInterfaces.d.ts} +17 -16
  23. package/dist/intervalCollectionMapInterfaces.d.ts.map +1 -0
  24. package/dist/{defaultMapInterfaces.js → intervalCollectionMapInterfaces.js} +1 -1
  25. package/dist/intervalCollectionMapInterfaces.js.map +1 -0
  26. package/dist/intervalIndex/endpointInRangeIndex.d.ts +1 -1
  27. package/dist/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  28. package/dist/intervalIndex/endpointInRangeIndex.js +3 -3
  29. package/dist/intervalIndex/endpointInRangeIndex.js.map +1 -1
  30. package/dist/intervalIndex/endpointIndex.d.ts +1 -1
  31. package/dist/intervalIndex/endpointIndex.d.ts.map +1 -1
  32. package/dist/intervalIndex/endpointIndex.js +3 -3
  33. package/dist/intervalIndex/endpointIndex.js.map +1 -1
  34. package/dist/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  35. package/dist/intervalIndex/idIntervalIndex.js +3 -3
  36. package/dist/intervalIndex/idIntervalIndex.js.map +1 -1
  37. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts +3 -3
  38. package/dist/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  39. package/dist/intervalIndex/overlappingIntervalsIndex.js +2 -3
  40. package/dist/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  41. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  42. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js +6 -6
  43. package/dist/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  44. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  45. package/dist/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  46. package/dist/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  47. package/dist/intervalIndex/startpointInRangeIndex.d.ts +1 -1
  48. package/dist/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  49. package/dist/intervalIndex/startpointInRangeIndex.js +3 -3
  50. package/dist/intervalIndex/startpointInRangeIndex.js.map +1 -1
  51. package/dist/intervalTree.d.ts +1 -1
  52. package/dist/intervalTree.d.ts.map +1 -1
  53. package/dist/intervalTree.js +2 -2
  54. package/dist/intervalTree.js.map +1 -1
  55. package/dist/intervals/interval.d.ts +1 -1
  56. package/dist/intervals/interval.d.ts.map +1 -1
  57. package/dist/intervals/interval.js +10 -10
  58. package/dist/intervals/interval.js.map +1 -1
  59. package/dist/intervals/intervalUtils.d.ts +1 -1
  60. package/dist/intervals/intervalUtils.d.ts.map +1 -1
  61. package/dist/intervals/intervalUtils.js +5 -5
  62. package/dist/intervals/intervalUtils.js.map +1 -1
  63. package/dist/intervals/sequenceInterval.d.ts +1 -1
  64. package/dist/intervals/sequenceInterval.d.ts.map +1 -1
  65. package/dist/intervals/sequenceInterval.js +34 -34
  66. package/dist/intervals/sequenceInterval.js.map +1 -1
  67. package/dist/legacy.d.ts +61 -0
  68. package/dist/packageVersion.d.ts +1 -1
  69. package/dist/packageVersion.js +1 -1
  70. package/dist/packageVersion.js.map +1 -1
  71. package/dist/public.d.ts +12 -0
  72. package/dist/revertibles.d.ts +2 -2
  73. package/dist/revertibles.d.ts.map +1 -1
  74. package/dist/revertibles.js +34 -34
  75. package/dist/revertibles.js.map +1 -1
  76. package/dist/sequence.d.ts +7 -6
  77. package/dist/sequence.d.ts.map +1 -1
  78. package/dist/sequence.js +34 -34
  79. package/dist/sequence.js.map +1 -1
  80. package/dist/sequenceDeltaEvent.d.ts +1 -1
  81. package/dist/sequenceDeltaEvent.d.ts.map +1 -1
  82. package/dist/sequenceDeltaEvent.js +4 -4
  83. package/dist/sequenceDeltaEvent.js.map +1 -1
  84. package/dist/sequenceFactory.d.ts +1 -1
  85. package/dist/sequenceFactory.d.ts.map +1 -1
  86. package/dist/sequenceFactory.js +3 -3
  87. package/dist/sequenceFactory.js.map +1 -1
  88. package/dist/sharedIntervalCollection.d.ts +4 -3
  89. package/dist/sharedIntervalCollection.d.ts.map +1 -1
  90. package/dist/sharedIntervalCollection.js +5 -5
  91. package/dist/sharedIntervalCollection.js.map +1 -1
  92. package/dist/sharedSequence.d.ts +3 -2
  93. package/dist/sharedSequence.d.ts.map +1 -1
  94. package/dist/sharedSequence.js +4 -4
  95. package/dist/sharedSequence.js.map +1 -1
  96. package/dist/sharedString.d.ts +2 -2
  97. package/dist/sharedString.d.ts.map +1 -1
  98. package/dist/sharedString.js +9 -9
  99. package/dist/sharedString.js.map +1 -1
  100. package/internal.d.ts +11 -0
  101. package/legacy.d.ts +11 -0
  102. package/lib/{localValues.d.ts → IntervalCollectionValues.d.ts} +13 -12
  103. package/lib/IntervalCollectionValues.d.ts.map +1 -0
  104. package/lib/{localValues.js → IntervalCollectionValues.js} +3 -3
  105. package/lib/IntervalCollectionValues.js.map +1 -0
  106. package/lib/beta.d.ts +12 -0
  107. package/lib/index.d.ts +2 -2
  108. package/lib/index.d.ts.map +1 -1
  109. package/lib/index.js +1 -1
  110. package/lib/index.js.map +1 -1
  111. package/lib/intervalCollection.d.ts +10 -10
  112. package/lib/intervalCollection.d.ts.map +1 -1
  113. package/lib/intervalCollection.js +8 -4
  114. package/lib/intervalCollection.js.map +1 -1
  115. package/lib/{defaultMap.d.ts → intervalCollectionMap.d.ts} +11 -44
  116. package/lib/intervalCollectionMap.d.ts.map +1 -0
  117. package/lib/{defaultMap.js → intervalCollectionMap.js} +8 -63
  118. package/lib/intervalCollectionMap.js.map +1 -0
  119. package/lib/{defaultMapInterfaces.d.ts → intervalCollectionMapInterfaces.d.ts} +17 -16
  120. package/lib/intervalCollectionMapInterfaces.d.ts.map +1 -0
  121. package/lib/{defaultMapInterfaces.js → intervalCollectionMapInterfaces.js} +1 -1
  122. package/lib/intervalCollectionMapInterfaces.js.map +1 -0
  123. package/lib/intervalIndex/endpointInRangeIndex.d.ts +1 -1
  124. package/lib/intervalIndex/endpointInRangeIndex.d.ts.map +1 -1
  125. package/lib/intervalIndex/endpointInRangeIndex.js +1 -1
  126. package/lib/intervalIndex/endpointInRangeIndex.js.map +1 -1
  127. package/lib/intervalIndex/endpointIndex.d.ts +1 -1
  128. package/lib/intervalIndex/endpointIndex.d.ts.map +1 -1
  129. package/lib/intervalIndex/endpointIndex.js +1 -1
  130. package/lib/intervalIndex/endpointIndex.js.map +1 -1
  131. package/lib/intervalIndex/idIntervalIndex.d.ts.map +1 -1
  132. package/lib/intervalIndex/idIntervalIndex.js +1 -1
  133. package/lib/intervalIndex/idIntervalIndex.js.map +1 -1
  134. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts +3 -3
  135. package/lib/intervalIndex/overlappingIntervalsIndex.d.ts.map +1 -1
  136. package/lib/intervalIndex/overlappingIntervalsIndex.js +2 -3
  137. package/lib/intervalIndex/overlappingIntervalsIndex.js.map +1 -1
  138. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.d.ts.map +1 -1
  139. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js +2 -2
  140. package/lib/intervalIndex/overlappingSequenceIntervalsIndex.js.map +1 -1
  141. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts +1 -1
  142. package/lib/intervalIndex/sequenceIntervalIndexes.d.ts.map +1 -1
  143. package/lib/intervalIndex/sequenceIntervalIndexes.js.map +1 -1
  144. package/lib/intervalIndex/startpointInRangeIndex.d.ts +1 -1
  145. package/lib/intervalIndex/startpointInRangeIndex.d.ts.map +1 -1
  146. package/lib/intervalIndex/startpointInRangeIndex.js +1 -1
  147. package/lib/intervalIndex/startpointInRangeIndex.js.map +1 -1
  148. package/lib/intervalTree.d.ts +1 -1
  149. package/lib/intervalTree.d.ts.map +1 -1
  150. package/lib/intervalTree.js +1 -1
  151. package/lib/intervalTree.js.map +1 -1
  152. package/lib/intervals/interval.d.ts +1 -1
  153. package/lib/intervals/interval.d.ts.map +1 -1
  154. package/lib/intervals/interval.js +3 -3
  155. package/lib/intervals/interval.js.map +1 -1
  156. package/lib/intervals/intervalUtils.d.ts +1 -1
  157. package/lib/intervals/intervalUtils.d.ts.map +1 -1
  158. package/lib/intervals/intervalUtils.js +1 -1
  159. package/lib/intervals/intervalUtils.js.map +1 -1
  160. package/lib/intervals/sequenceInterval.d.ts +1 -1
  161. package/lib/intervals/sequenceInterval.d.ts.map +1 -1
  162. package/lib/intervals/sequenceInterval.js +3 -3
  163. package/lib/intervals/sequenceInterval.js.map +1 -1
  164. package/lib/legacy.d.ts +61 -0
  165. package/lib/packageVersion.d.ts +1 -1
  166. package/lib/packageVersion.js +1 -1
  167. package/lib/packageVersion.js.map +1 -1
  168. package/lib/public.d.ts +12 -0
  169. package/lib/revertibles.d.ts +2 -2
  170. package/lib/revertibles.d.ts.map +1 -1
  171. package/lib/revertibles.js +3 -4
  172. package/lib/revertibles.js.map +1 -1
  173. package/lib/sequence.d.ts +7 -6
  174. package/lib/sequence.d.ts.map +1 -1
  175. package/lib/sequence.js +11 -12
  176. package/lib/sequence.js.map +1 -1
  177. package/lib/sequenceDeltaEvent.d.ts +1 -1
  178. package/lib/sequenceDeltaEvent.d.ts.map +1 -1
  179. package/lib/sequenceDeltaEvent.js +3 -4
  180. package/lib/sequenceDeltaEvent.js.map +1 -1
  181. package/lib/sequenceFactory.d.ts +1 -1
  182. package/lib/sequenceFactory.d.ts.map +1 -1
  183. package/lib/sequenceFactory.js +1 -1
  184. package/lib/sequenceFactory.js.map +1 -1
  185. package/lib/sharedIntervalCollection.d.ts +4 -3
  186. package/lib/sharedIntervalCollection.d.ts.map +1 -1
  187. package/lib/sharedIntervalCollection.js +4 -4
  188. package/lib/sharedIntervalCollection.js.map +1 -1
  189. package/lib/sharedSequence.d.ts +3 -2
  190. package/lib/sharedSequence.d.ts.map +1 -1
  191. package/lib/sharedSequence.js +2 -2
  192. package/lib/sharedSequence.js.map +1 -1
  193. package/lib/sharedString.d.ts +2 -2
  194. package/lib/sharedString.d.ts.map +1 -1
  195. package/lib/sharedString.js +1 -1
  196. package/lib/sharedString.js.map +1 -1
  197. package/package.json +41 -58
  198. package/src/{localValues.ts → IntervalCollectionValues.ts} +26 -18
  199. package/src/index.ts +2 -2
  200. package/src/intervalCollection.ts +46 -47
  201. package/src/{defaultMap.ts → intervalCollectionMap.ts} +42 -105
  202. package/src/{defaultMapInterfaces.ts → intervalCollectionMapInterfaces.ts} +26 -16
  203. package/src/intervalIndex/endpointInRangeIndex.ts +4 -1
  204. package/src/intervalIndex/endpointIndex.ts +4 -1
  205. package/src/intervalIndex/idIntervalIndex.ts +4 -2
  206. package/src/intervalIndex/overlappingIntervalsIndex.ts +8 -5
  207. package/src/intervalIndex/overlappingSequenceIntervalsIndex.ts +6 -3
  208. package/src/intervalIndex/sequenceIntervalIndexes.ts +3 -1
  209. package/src/intervalIndex/startpointInRangeIndex.ts +4 -1
  210. package/src/intervalTree.ts +4 -3
  211. package/src/intervals/interval.ts +6 -3
  212. package/src/intervals/intervalUtils.ts +4 -2
  213. package/src/intervals/sequenceInterval.ts +5 -3
  214. package/src/packageVersion.ts +1 -1
  215. package/src/revertibles.ts +10 -10
  216. package/src/sequence.ts +24 -31
  217. package/src/sequenceDeltaEvent.ts +3 -4
  218. package/src/sequenceFactory.ts +4 -3
  219. package/src/sharedIntervalCollection.ts +12 -18
  220. package/src/sharedSequence.ts +9 -6
  221. package/src/sharedString.ts +4 -3
  222. package/api-extractor-cjs.json +0 -8
  223. package/dist/defaultMap.d.ts.map +0 -1
  224. package/dist/defaultMap.js.map +0 -1
  225. package/dist/defaultMapInterfaces.d.ts.map +0 -1
  226. package/dist/defaultMapInterfaces.js.map +0 -1
  227. package/dist/localValues.d.ts.map +0 -1
  228. package/dist/localValues.js.map +0 -1
  229. package/dist/sequence-alpha.d.ts +0 -1432
  230. package/dist/sequence-beta.d.ts +0 -246
  231. package/dist/sequence-public.d.ts +0 -246
  232. package/dist/sequence-untrimmed.d.ts +0 -1820
  233. package/lib/defaultMap.d.ts.map +0 -1
  234. package/lib/defaultMap.js.map +0 -1
  235. package/lib/defaultMapInterfaces.d.ts.map +0 -1
  236. package/lib/defaultMapInterfaces.js.map +0 -1
  237. package/lib/localValues.d.ts.map +0 -1
  238. package/lib/localValues.js.map +0 -1
  239. package/lib/sequence-alpha.d.ts +0 -1432
  240. package/lib/sequence-beta.d.ts +0 -246
  241. package/lib/sequence-public.d.ts +0 -246
  242. package/lib/sequence-untrimmed.d.ts +0 -1820
  243. package/lib/test/collections.intervalTree.js +0 -73
  244. package/lib/test/collections.intervalTree.js.map +0 -1
  245. package/lib/test/createSnapshotFiles.js +0 -15
  246. package/lib/test/createSnapshotFiles.js.map +0 -1
  247. package/lib/test/dirname.cjs +0 -16
  248. package/lib/test/dirname.cjs.map +0 -1
  249. package/lib/test/endpointInRangeIndex.spec.js +0 -182
  250. package/lib/test/endpointInRangeIndex.spec.js.map +0 -1
  251. package/lib/test/fuzz/fuzzUtils.js +0 -250
  252. package/lib/test/fuzz/fuzzUtils.js.map +0 -1
  253. package/lib/test/fuzz/intervalCollection.fuzz.spec.js +0 -200
  254. package/lib/test/fuzz/intervalCollection.fuzz.spec.js.map +0 -1
  255. package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js +0 -129
  256. package/lib/test/fuzz/intervalRevertibles.fuzz.spec.js.map +0 -1
  257. package/lib/test/fuzz/sharedString.fuzz.spec.js +0 -91
  258. package/lib/test/fuzz/sharedString.fuzz.spec.js.map +0 -1
  259. package/lib/test/generateSharedStrings.js +0 -138
  260. package/lib/test/generateSharedStrings.js.map +0 -1
  261. package/lib/test/intervalCollection.detached.spec.js +0 -126
  262. package/lib/test/intervalCollection.detached.spec.js.map +0 -1
  263. package/lib/test/intervalCollection.events.spec.js +0 -491
  264. package/lib/test/intervalCollection.events.spec.js.map +0 -1
  265. package/lib/test/intervalCollection.perf.spec.js +0 -88
  266. package/lib/test/intervalCollection.perf.spec.js.map +0 -1
  267. package/lib/test/intervalCollection.snapshot.spec.js +0 -171
  268. package/lib/test/intervalCollection.snapshot.spec.js.map +0 -1
  269. package/lib/test/intervalCollection.spec.js +0 -1660
  270. package/lib/test/intervalCollection.spec.js.map +0 -1
  271. package/lib/test/intervalIndexTestUtils.js +0 -49
  272. package/lib/test/intervalIndexTestUtils.js.map +0 -1
  273. package/lib/test/intervalRebasing.spec.js +0 -589
  274. package/lib/test/intervalRebasing.spec.js.map +0 -1
  275. package/lib/test/intervalStashedOps.spec.js +0 -142
  276. package/lib/test/intervalStashedOps.spec.js.map +0 -1
  277. package/lib/test/intervalTestUtils.js +0 -81
  278. package/lib/test/intervalTestUtils.js.map +0 -1
  279. package/lib/test/marshalling.spec.js +0 -55
  280. package/lib/test/marshalling.spec.js.map +0 -1
  281. package/lib/test/memory/sharedSequence.spec.js +0 -82
  282. package/lib/test/memory/sharedSequence.spec.js.map +0 -1
  283. package/lib/test/memory/sharedString.spec.js +0 -134
  284. package/lib/test/memory/sharedString.spec.js.map +0 -1
  285. package/lib/test/overlappingSequenceIntervalsIndex.spec.js +0 -348
  286. package/lib/test/overlappingSequenceIntervalsIndex.spec.js.map +0 -1
  287. package/lib/test/partialLoad.spec.js +0 -211
  288. package/lib/test/partialLoad.spec.js.map +0 -1
  289. package/lib/test/rebasing.spec.js +0 -81
  290. package/lib/test/rebasing.spec.js.map +0 -1
  291. package/lib/test/reentrancy.spec.js +0 -174
  292. package/lib/test/reentrancy.spec.js.map +0 -1
  293. package/lib/test/revertibles.spec.js +0 -971
  294. package/lib/test/revertibles.spec.js.map +0 -1
  295. package/lib/test/sequenceDeltaEvent.spec.js +0 -2144
  296. package/lib/test/sequenceDeltaEvent.spec.js.map +0 -1
  297. package/lib/test/sharedIntervalCollection.spec.js +0 -159
  298. package/lib/test/sharedIntervalCollection.spec.js.map +0 -1
  299. package/lib/test/sharedString.spec.js +0 -532
  300. package/lib/test/sharedString.spec.js.map +0 -1
  301. package/lib/test/snapshotEmptyProps.spec.js +0 -45
  302. package/lib/test/snapshotEmptyProps.spec.js.map +0 -1
  303. package/lib/test/snapshotVersion.spec.js +0 -149
  304. package/lib/test/snapshotVersion.spec.js.map +0 -1
  305. package/lib/test/startpointInRangeIndex.spec.js +0 -182
  306. package/lib/test/startpointInRangeIndex.spec.js.map +0 -1
  307. package/lib/test/subSequence.spec.js +0 -92
  308. package/lib/test/subSequence.spec.js.map +0 -1
  309. package/lib/test/types/validateSequencePrevious.generated.js +0 -162
  310. package/lib/test/types/validateSequencePrevious.generated.js.map +0 -1
  311. package/lib/test/v1IntervalCollectionHelpers.js +0 -93
  312. package/lib/test/v1IntervalCollectionHelpers.js.map +0 -1
  313. /package/{dist → lib}/tsdoc-metadata.json +0 -0
@@ -8,12 +8,12 @@ exports.intervalLocatorFromEndpoint = exports.IntervalCollection = exports.makeO
8
8
  /* eslint-disable no-bitwise */
9
9
  /* eslint-disable import/no-deprecated */
10
10
  const client_utils_1 = require("@fluid-internal/client-utils");
11
- const core_utils_1 = require("@fluidframework/core-utils");
12
- const merge_tree_1 = require("@fluidframework/merge-tree");
13
- const telemetry_utils_1 = require("@fluidframework/telemetry-utils");
11
+ const internal_1 = require("@fluidframework/core-utils/internal");
12
+ const internal_2 = require("@fluidframework/merge-tree/internal");
13
+ const internal_3 = require("@fluidframework/telemetry-utils/internal");
14
14
  const uuid_1 = require("uuid");
15
- const index_js_1 = require("./intervals/index.js");
16
- const index_js_2 = require("./intervalIndex/index.js");
15
+ const index_js_1 = require("./intervalIndex/index.js");
16
+ const index_js_2 = require("./intervals/index.js");
17
17
  /**
18
18
  * Defines a side relative to a character in a sequence.
19
19
  *
@@ -27,8 +27,8 @@ var Side;
27
27
  })(Side || (exports.Side = Side = {}));
28
28
  exports.reservedIntervalIdKey = "intervalId";
29
29
  function sidesFromStickiness(stickiness) {
30
- const startSide = (stickiness & index_js_1.IntervalStickiness.START) !== 0 ? Side.After : Side.Before;
31
- const endSide = (stickiness & index_js_1.IntervalStickiness.END) !== 0 ? Side.Before : Side.After;
30
+ const startSide = (stickiness & index_js_2.IntervalStickiness.START) !== 0 ? Side.After : Side.Before;
31
+ const endSide = (stickiness & index_js_2.IntervalStickiness.END) !== 0 ? Side.Before : Side.After;
32
32
  return { startSide, endSide };
33
33
  }
34
34
  exports.sidesFromStickiness = sidesFromStickiness;
@@ -37,14 +37,14 @@ exports.sidesFromStickiness = sidesFromStickiness;
37
37
  * of this compression is unspecified and subject to change
38
38
  */
39
39
  function decompressInterval(interval, label) {
40
- const stickiness = interval[5] ?? index_js_1.IntervalStickiness.END;
40
+ const stickiness = interval[5] ?? index_js_2.IntervalStickiness.END;
41
41
  const { startSide, endSide } = sidesFromStickiness(stickiness);
42
42
  return {
43
43
  start: interval[0],
44
44
  end: interval[1],
45
45
  sequenceNumber: interval[2],
46
46
  intervalType: interval[3],
47
- properties: { ...interval[4], [merge_tree_1.reservedRangeLabelsKey]: [label] },
47
+ properties: { ...interval[4], [internal_2.reservedRangeLabelsKey]: [label] },
48
48
  stickiness,
49
49
  startSide,
50
50
  endSide,
@@ -63,9 +63,9 @@ function compressInterval(interval) {
63
63
  intervalType,
64
64
  // remove the `referenceRangeLabels` property as it is already stored
65
65
  // in the `label` field of the summary
66
- { ...properties, [merge_tree_1.reservedRangeLabelsKey]: undefined },
66
+ { ...properties, [internal_2.reservedRangeLabelsKey]: undefined },
67
67
  ];
68
- if (interval.stickiness !== undefined && interval.stickiness !== index_js_1.IntervalStickiness.END) {
68
+ if (interval.stickiness !== undefined && interval.stickiness !== index_js_2.IntervalStickiness.END) {
69
69
  // reassignment to make it easier for typescript to reason about types
70
70
  base = [...base, interval.stickiness];
71
71
  }
@@ -95,19 +95,19 @@ function toOptionalSequencePlace(pos, side) {
95
95
  }
96
96
  exports.toOptionalSequencePlace = toOptionalSequencePlace;
97
97
  function computeStickinessFromSide(startPos = -1, startSide = Side.Before, endPos = -1, endSide = Side.Before) {
98
- let stickiness = index_js_1.IntervalStickiness.NONE;
98
+ let stickiness = index_js_2.IntervalStickiness.NONE;
99
99
  if (startSide === Side.After || startPos === "start") {
100
- stickiness |= index_js_1.IntervalStickiness.START;
100
+ stickiness |= index_js_2.IntervalStickiness.START;
101
101
  }
102
102
  if (endSide === Side.Before || endPos === "end") {
103
- stickiness |= index_js_1.IntervalStickiness.END;
103
+ stickiness |= index_js_2.IntervalStickiness.END;
104
104
  }
105
105
  return stickiness;
106
106
  }
107
107
  exports.computeStickinessFromSide = computeStickinessFromSide;
108
108
  function createIntervalIndex() {
109
109
  const helpers = {
110
- create: index_js_1.createInterval,
110
+ create: index_js_2.createInterval,
111
111
  };
112
112
  const lc = new LocalIntervalCollection(undefined, "", helpers, {});
113
113
  return lc;
@@ -122,9 +122,9 @@ class LocalIntervalCollection {
122
122
  this.helpers = helpers;
123
123
  this.options = options;
124
124
  this.onPositionChange = onPositionChange;
125
- this.overlappingIntervalsIndex = new index_js_2.OverlappingIntervalsIndex(client, helpers);
126
- this.idIntervalIndex = (0, index_js_2.createIdIntervalIndex)();
127
- this.endIntervalIndex = new index_js_2.EndpointIndex(client, helpers);
125
+ this.overlappingIntervalsIndex = new index_js_1.OverlappingIntervalsIndex(client, helpers);
126
+ this.idIntervalIndex = (0, index_js_1.createIdIntervalIndex)();
127
+ this.endIntervalIndex = new index_js_1.EndpointIndex(client, helpers);
128
128
  this.indexes = new Set([
129
129
  this.overlappingIntervalsIndex,
130
130
  this.idIntervalIndex,
@@ -153,7 +153,7 @@ class LocalIntervalCollection {
153
153
  const newProps = {
154
154
  [exports.reservedIntervalIdKey]: id,
155
155
  };
156
- serializedInterval.properties = (0, merge_tree_1.addProperties)(serializedInterval.properties, newProps);
156
+ serializedInterval.properties = (0, internal_2.addProperties)(serializedInterval.properties, newProps);
157
157
  }
158
158
  // Make the ID immutable for safety's sake.
159
159
  Object.defineProperty(serializedInterval.properties, exports.reservedIntervalIdKey, {
@@ -186,15 +186,15 @@ class LocalIntervalCollection {
186
186
  const interval = this.createInterval(start, end, intervalType, op);
187
187
  if (interval) {
188
188
  if (!interval.properties) {
189
- interval.properties = (0, merge_tree_1.createMap)();
189
+ interval.properties = (0, internal_2.createMap)();
190
190
  }
191
191
  if (props) {
192
192
  // This check is intended to prevent scenarios where a random interval is created and then
193
193
  // inserted into a collection. The aim is to ensure that the collection is created first
194
194
  // then the user can create/add intervals based on the collection
195
- if (props[merge_tree_1.reservedRangeLabelsKey] !== undefined &&
196
- props[merge_tree_1.reservedRangeLabelsKey][0] !== this.label) {
197
- throw new telemetry_utils_1.LoggingError("Adding an interval that belongs to another interval collection is not permitted");
195
+ if (props[internal_2.reservedRangeLabelsKey] !== undefined &&
196
+ props[internal_2.reservedRangeLabelsKey][0] !== this.label) {
197
+ throw new internal_3.LoggingError("Adding an interval that belongs to another interval collection is not permitted");
198
198
  }
199
199
  interval.addProperties(props);
200
200
  }
@@ -204,7 +204,7 @@ class LocalIntervalCollection {
204
204
  return interval;
205
205
  }
206
206
  linkEndpointsToInterval(interval) {
207
- if (interval instanceof index_js_1.SequenceInterval) {
207
+ if (interval instanceof index_js_2.SequenceInterval) {
208
208
  interval.start.addProperties({ interval });
209
209
  interval.end.addProperties({ interval });
210
210
  }
@@ -243,9 +243,9 @@ class LocalIntervalCollection {
243
243
  // either, so this must be special-cased.
244
244
  return ref;
245
245
  }
246
- return this.client.createLocalReferencePosition(segment, ref.getOffset(), merge_tree_1.ReferenceType.Transient, ref.properties, ref.slidingPreference, ref.canSlideToEndpoint);
246
+ return this.client.createLocalReferencePosition(segment, ref.getOffset(), internal_2.ReferenceType.Transient, ref.properties, ref.slidingPreference, ref.canSlideToEndpoint);
247
247
  };
248
- if (interval instanceof index_js_1.SequenceInterval) {
248
+ if (interval instanceof index_js_2.SequenceInterval) {
249
249
  let previousInterval;
250
250
  let pendingChanges = 0;
251
251
  interval.addPositionChangeListeners(() => {
@@ -258,7 +258,7 @@ class LocalIntervalCollection {
258
258
  this.removeIntervalFromIndexes(interval);
259
259
  }
260
260
  }, () => {
261
- (0, core_utils_1.assert)(previousInterval !== undefined, 0x3fa /* Invalid interleaving of before/after slide */);
261
+ (0, internal_1.assert)(previousInterval !== undefined, 0x3fa /* Invalid interleaving of before/after slide */);
262
262
  pendingChanges--;
263
263
  if (pendingChanges === 0) {
264
264
  this.addIntervalToIndexes(interval);
@@ -269,7 +269,7 @@ class LocalIntervalCollection {
269
269
  }
270
270
  }
271
271
  removeIntervalListeners(interval) {
272
- if (interval instanceof index_js_1.SequenceInterval) {
272
+ if (interval instanceof index_js_2.SequenceInterval) {
273
273
  interval.removePositionChangeListeners();
274
274
  }
275
275
  }
@@ -278,7 +278,7 @@ exports.LocalIntervalCollection = LocalIntervalCollection;
278
278
  LocalIntervalCollection.legacyIdPrefix = "legacy";
279
279
  class SequenceIntervalCollectionFactory {
280
280
  load(emitter, raw = [], options) {
281
- return new IntervalCollection(index_js_1.sequenceIntervalHelpers, true, emitter, raw, options);
281
+ return new IntervalCollection(index_js_2.sequenceIntervalHelpers, true, emitter, raw, options);
282
282
  }
283
283
  store(value) {
284
284
  return value.serializeInternal();
@@ -302,7 +302,7 @@ SequenceIntervalCollectionValueType._ops = makeOpsMap();
302
302
  class IntervalCollectionFactory {
303
303
  load(emitter, raw = [], options) {
304
304
  const helpers = {
305
- create: index_js_1.createInterval,
305
+ create: index_js_2.createInterval,
306
306
  };
307
307
  const collection = new IntervalCollection(helpers, false, emitter, raw, options);
308
308
  collection.attachGraph(undefined, "");
@@ -339,7 +339,7 @@ function makeOpsMap() {
339
339
  };
340
340
  return new Map([
341
341
  [
342
- index_js_1.IntervalOpType.ADD,
342
+ index_js_2.IntervalOpType.ADD,
343
343
  {
344
344
  process: (collection, params, local, op, localOpMetadata) => {
345
345
  // if params is undefined, the interval was deleted during
@@ -347,17 +347,17 @@ function makeOpsMap() {
347
347
  if (!params) {
348
348
  return;
349
349
  }
350
- (0, core_utils_1.assert)(op !== undefined, 0x3fb /* op should exist here */);
350
+ (0, internal_1.assert)(op !== undefined, 0x3fb /* op should exist here */);
351
351
  collection.ackAdd(params, local, op, localOpMetadata);
352
352
  },
353
353
  rebase,
354
354
  },
355
355
  ],
356
356
  [
357
- index_js_1.IntervalOpType.DELETE,
357
+ index_js_2.IntervalOpType.DELETE,
358
358
  {
359
359
  process: (collection, params, local, op) => {
360
- (0, core_utils_1.assert)(op !== undefined, 0x3fc /* op should exist here */);
360
+ (0, internal_1.assert)(op !== undefined, 0x3fc /* op should exist here */);
361
361
  collection.ackDelete(params, local, op);
362
362
  },
363
363
  rebase: (collection, op, localOpMetadata) => {
@@ -367,7 +367,7 @@ function makeOpsMap() {
367
367
  },
368
368
  ],
369
369
  [
370
- index_js_1.IntervalOpType.CHANGE,
370
+ index_js_2.IntervalOpType.CHANGE,
371
371
  {
372
372
  process: (collection, params, local, op, localOpMetadata) => {
373
373
  // if params is undefined, the interval was deleted during
@@ -375,7 +375,7 @@ function makeOpsMap() {
375
375
  if (!params) {
376
376
  return;
377
377
  }
378
- (0, core_utils_1.assert)(op !== undefined, 0x3fd /* op should exist here */);
378
+ (0, internal_1.assert)(op !== undefined, 0x3fd /* op should exist here */);
379
379
  collection.ackChange(params, local, op, localOpMetadata);
380
380
  },
381
381
  rebase,
@@ -429,7 +429,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
429
429
  */
430
430
  attachIndex(index) {
431
431
  if (!this.attached) {
432
- throw new telemetry_utils_1.LoggingError("The local interval collection must exist");
432
+ throw new internal_3.LoggingError("The local interval collection must exist");
433
433
  }
434
434
  for (const interval of this) {
435
435
  index.add(interval);
@@ -441,7 +441,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
441
441
  */
442
442
  detachIndex(index) {
443
443
  if (!this.attached) {
444
- throw new telemetry_utils_1.LoggingError("The local interval collection must exist");
444
+ throw new internal_3.LoggingError("The local interval collection must exist");
445
445
  }
446
446
  // Avoid removing intervals if the index does not exist
447
447
  if (!this.localCollection?.removeIndex(index)) {
@@ -454,7 +454,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
454
454
  }
455
455
  rebasePositionWithSegmentSlide(pos, seqNumberFrom, localSeq) {
456
456
  if (!this.client) {
457
- throw new telemetry_utils_1.LoggingError("mergeTree client must exist");
457
+ throw new internal_3.LoggingError("mergeTree client must exist");
458
458
  }
459
459
  if (pos === "start" || pos === "end") {
460
460
  return pos;
@@ -465,19 +465,19 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
465
465
  clientId: this.client.getLongClientId(clientId),
466
466
  }, localSeq);
467
467
  // if segment is undefined, it slid off the string
468
- (0, core_utils_1.assert)(segment !== undefined, 0x54e /* No segment found */);
469
- const segoff = (0, merge_tree_1.getSlideToSegoff)({ segment, offset }, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint) ?? segment;
468
+ (0, internal_1.assert)(segment !== undefined, 0x54e /* No segment found */);
469
+ const segoff = (0, internal_2.getSlideToSegoff)({ segment, offset }, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint) ?? segment;
470
470
  // case happens when rebasing op, but concurrently entire string has been deleted
471
471
  if (segoff.segment === undefined || segoff.offset === undefined) {
472
- return merge_tree_1.DetachedReferencePosition;
472
+ return internal_2.DetachedReferencePosition;
473
473
  }
474
- (0, core_utils_1.assert)(offset !== undefined && 0 <= offset && offset < segment.cachedLength, 0x54f /* Invalid offset */);
474
+ (0, internal_1.assert)(offset !== undefined && 0 <= offset && offset < segment.cachedLength, 0x54f /* Invalid offset */);
475
475
  return this.client.findReconnectionPosition(segoff.segment, localSeq) + segoff.offset;
476
476
  }
477
477
  computeRebasedPositions(localSeq) {
478
- (0, core_utils_1.assert)(this.client !== undefined, 0x550 /* Client should be defined when computing rebased position */);
478
+ (0, internal_1.assert)(this.client !== undefined, 0x550 /* Client should be defined when computing rebased position */);
479
479
  const original = this.localSeqToSerializedInterval.get(localSeq);
480
- (0, core_utils_1.assert)(original !== undefined, 0x551 /* Failed to store pending serialized interval info for this localSeq. */);
480
+ (0, internal_1.assert)(original !== undefined, 0x551 /* Failed to store pending serialized interval info for this localSeq. */);
481
481
  const rebased = { ...original };
482
482
  const { start, end, sequenceNumber } = original;
483
483
  if (start !== undefined) {
@@ -490,10 +490,10 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
490
490
  }
491
491
  attachGraph(client, label) {
492
492
  if (this.attached) {
493
- throw new telemetry_utils_1.LoggingError("Only supports one Sequence attach");
493
+ throw new internal_3.LoggingError("Only supports one Sequence attach");
494
494
  }
495
495
  if (client === undefined && this.requiresClient) {
496
- throw new telemetry_utils_1.LoggingError("Client required for this collection");
496
+ throw new internal_3.LoggingError("Client required for this collection");
497
497
  }
498
498
  // Instantiate the local interval collection based on the saved intervals
499
499
  this.client = client;
@@ -539,11 +539,11 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
539
539
  // is restored as single-endpoint changes re-use previous references.
540
540
  let startRefType;
541
541
  let endRefType;
542
- if (previousInterval instanceof index_js_1.SequenceInterval) {
542
+ if (previousInterval instanceof index_js_2.SequenceInterval) {
543
543
  startRefType = previousInterval.start.refType;
544
544
  endRefType = previousInterval.end.refType;
545
- previousInterval.start.refType = merge_tree_1.ReferenceType.Transient;
546
- previousInterval.end.refType = merge_tree_1.ReferenceType.Transient;
545
+ previousInterval.start.refType = internal_2.ReferenceType.Transient;
546
+ previousInterval.end.refType = internal_2.ReferenceType.Transient;
547
547
  this.emit("changeInterval", interval, previousInterval, local, op, slide);
548
548
  this.emit("changed", interval, undefined, previousInterval ?? undefined, local, slide);
549
549
  previousInterval.start.refType = startRefType;
@@ -559,14 +559,14 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
559
559
  */
560
560
  getIntervalById(id) {
561
561
  if (!this.localCollection) {
562
- throw new telemetry_utils_1.LoggingError("attach must be called before accessing intervals");
562
+ throw new internal_3.LoggingError("attach must be called before accessing intervals");
563
563
  }
564
564
  return this.localCollection.idIntervalIndex.getIntervalById(id);
565
565
  }
566
566
  assertStickinessEnabled(start, end) {
567
567
  if (!(typeof start === "number" && typeof end === "number") &&
568
568
  !this.options.intervalStickinessEnabled) {
569
- throw new telemetry_utils_1.UsageError("attempted to set interval stickiness without enabling `intervalStickinessEnabled` feature flag");
569
+ throw new internal_3.UsageError("attempted to set interval stickiness without enabling `intervalStickinessEnabled` feature flag");
570
570
  }
571
571
  }
572
572
  /**
@@ -574,25 +574,25 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
574
574
  */
575
575
  add({ start, end, props, }) {
576
576
  if (!this.localCollection) {
577
- throw new telemetry_utils_1.LoggingError("attach must be called prior to adding intervals");
577
+ throw new internal_3.LoggingError("attach must be called prior to adding intervals");
578
578
  }
579
579
  const { startSide, endSide, startPos, endPos } = endpointPosAndSide(start, end);
580
- (0, core_utils_1.assert)(startPos !== undefined &&
580
+ (0, internal_1.assert)(startPos !== undefined &&
581
581
  endPos !== undefined &&
582
582
  startSide !== undefined &&
583
583
  endSide !== undefined, 0x793 /* start and end cannot be undefined because they were not passed in as undefined */);
584
584
  const stickiness = computeStickinessFromSide(startPos, startSide, endPos, endSide);
585
585
  this.assertStickinessEnabled(start, end);
586
- const interval = this.localCollection.addInterval(toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), index_js_1.IntervalType.SlideOnRemove, props);
586
+ const interval = this.localCollection.addInterval(toSequencePlace(startPos, startSide), toSequencePlace(endPos, endSide), index_js_2.IntervalType.SlideOnRemove, props);
587
587
  if (interval) {
588
- if (!this.isCollaborating && interval instanceof index_js_1.SequenceInterval) {
588
+ if (!this.isCollaborating && interval instanceof index_js_2.SequenceInterval) {
589
589
  setSlideOnRemove(interval.start);
590
590
  setSlideOnRemove(interval.end);
591
591
  }
592
592
  const serializedInterval = {
593
593
  start: startPos,
594
594
  end: endPos,
595
- intervalType: index_js_1.IntervalType.SlideOnRemove,
595
+ intervalType: index_js_2.IntervalType.SlideOnRemove,
596
596
  properties: interval.properties,
597
597
  sequenceNumber: this.client?.getCurrentSeq() ?? 0,
598
598
  stickiness,
@@ -611,7 +611,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
611
611
  }
612
612
  deleteExistingInterval(interval, local, op) {
613
613
  if (!this.localCollection) {
614
- throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
614
+ throw new internal_3.LoggingError("Attach must be called before accessing intervals");
615
615
  }
616
616
  // The given interval is known to exist in the collection.
617
617
  this.localCollection.removeExistingInterval(interval);
@@ -635,7 +635,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
635
635
  */
636
636
  removeIntervalById(id) {
637
637
  if (!this.localCollection) {
638
- throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
638
+ throw new internal_3.LoggingError("Attach must be called before accessing intervals");
639
639
  }
640
640
  const interval = this.localCollection.idIntervalIndex.getIntervalById(id);
641
641
  if (interval) {
@@ -648,31 +648,31 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
648
648
  */
649
649
  change(id, { start, end, props }) {
650
650
  if (!this.localCollection) {
651
- throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
651
+ throw new internal_3.LoggingError("Attach must be called before accessing intervals");
652
652
  }
653
653
  // Force id to be a string.
654
654
  if (typeof id !== "string") {
655
- throw new telemetry_utils_1.UsageError("Change API requires an ID that is a string");
655
+ throw new internal_3.UsageError("Change API requires an ID that is a string");
656
656
  }
657
657
  // Ensure that both start and end are defined or both are undefined.
658
658
  if ((start === undefined) !== (end === undefined)) {
659
- throw new telemetry_utils_1.UsageError("Change API requires both start and end to be defined or undefined");
659
+ throw new internal_3.UsageError("Change API requires both start and end to be defined or undefined");
660
660
  }
661
661
  // prevent the overwriting of an interval label, it should remain unchanged
662
662
  // once it has been inserted into the collection.
663
- if (props?.[merge_tree_1.reservedRangeLabelsKey] !== undefined) {
664
- throw new telemetry_utils_1.UsageError("The label property should not be modified once inserted to the collection");
663
+ if (props?.[internal_2.reservedRangeLabelsKey] !== undefined) {
664
+ throw new internal_3.UsageError("The label property should not be modified once inserted to the collection");
665
665
  }
666
666
  const interval = this.getIntervalById(id);
667
667
  if (interval) {
668
668
  let deltaProps;
669
669
  let newInterval;
670
670
  if (props !== undefined) {
671
- deltaProps = interval.addProperties(props, true, this.isCollaborating ? merge_tree_1.UnassignedSequenceNumber : merge_tree_1.UniversalSequenceNumber);
671
+ deltaProps = interval.addProperties(props, true, this.isCollaborating ? internal_2.UnassignedSequenceNumber : internal_2.UniversalSequenceNumber);
672
672
  }
673
673
  if (start !== undefined && end !== undefined) {
674
674
  newInterval = this.localCollection.changeInterval(interval, start, end);
675
- if (!this.isCollaborating && newInterval instanceof index_js_1.SequenceInterval) {
675
+ if (!this.isCollaborating && newInterval instanceof index_js_2.SequenceInterval) {
676
676
  setSlideOnRemove(newInterval.start);
677
677
  setSlideOnRemove(newInterval.end);
678
678
  }
@@ -702,6 +702,10 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
702
702
  if (newInterval) {
703
703
  this.addPendingChange(id, serializedInterval);
704
704
  this.emitChange(newInterval, interval, true, false);
705
+ if (interval instanceof index_js_2.SequenceInterval) {
706
+ this.client?.removeLocalReferencePosition(interval.start);
707
+ this.client?.removeLocalReferencePosition(interval.end);
708
+ }
705
709
  }
706
710
  return newInterval;
707
711
  }
@@ -749,7 +753,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
749
753
  }
750
754
  if (pendingChange?.start !== serializedInterval.start ||
751
755
  pendingChange?.end !== serializedInterval.end) {
752
- throw new telemetry_utils_1.LoggingError("Mismatch in pending changes");
756
+ throw new internal_3.LoggingError("Mismatch in pending changes");
753
757
  }
754
758
  }
755
759
  }
@@ -763,10 +767,10 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
763
767
  }
764
768
  ackChange(serializedInterval, local, op, localOpMetadata) {
765
769
  if (!this.localCollection) {
766
- throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
770
+ throw new internal_3.LoggingError("Attach must be called before accessing intervals");
767
771
  }
768
772
  if (local) {
769
- (0, core_utils_1.assert)(localOpMetadata !== undefined, 0x552 /* op metadata should be defined for local op */);
773
+ (0, internal_1.assert)(localOpMetadata !== undefined, 0x552 /* op metadata should be defined for local op */);
770
774
  this.localSeqToSerializedInterval.delete(localOpMetadata?.localSeq);
771
775
  // This is an ack from the server. Remove the pending change.
772
776
  this.removePendingChange(serializedInterval);
@@ -775,7 +779,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
775
779
  // This API cannot change the ID, and writing to the ID property will result in an exception. So we
776
780
  // strip it out of the properties here.
777
781
  const { [exports.reservedIntervalIdKey]: id, ...newProps } = serializedInterval.properties ?? {};
778
- (0, core_utils_1.assert)(id !== undefined, 0x3fe /* id must exist on the interval */);
782
+ (0, internal_1.assert)(id !== undefined, 0x3fe /* id must exist on the interval */);
779
783
  const interval = this.getIntervalById(id);
780
784
  if (!interval) {
781
785
  // The interval has been removed locally; no-op.
@@ -784,7 +788,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
784
788
  if (local) {
785
789
  // Let the propertyManager prune its pending change-properties set.
786
790
  interval.propertyManager?.ackPendingProperties({
787
- type: merge_tree_1.MergeTreeDeltaType.ANNOTATE,
791
+ type: internal_2.MergeTreeDeltaType.ANNOTATE,
788
792
  props: serializedInterval.properties ?? {},
789
793
  });
790
794
  this.ackInterval(interval, op);
@@ -849,7 +853,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
849
853
  return serializedInterval;
850
854
  }
851
855
  if (!this.attached) {
852
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
856
+ throw new internal_3.LoggingError("attachSequence must be called");
853
857
  }
854
858
  const { intervalType, properties, stickiness, startSide, endSide } = serializedInterval;
855
859
  const { start: startRebased, end: endRebased } = this.localSeqToRebasedInterval.get(localSeq) ?? this.computeRebasedPositions(localSeq);
@@ -872,8 +876,8 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
872
876
  this.addPendingChange(intervalId, rebased);
873
877
  }
874
878
  // if the interval slid off the string, rebase the op to be a noop and delete the interval.
875
- if (startRebased === merge_tree_1.DetachedReferencePosition ||
876
- endRebased === merge_tree_1.DetachedReferencePosition) {
879
+ if (startRebased === internal_2.DetachedReferencePosition ||
880
+ endRebased === internal_2.DetachedReferencePosition) {
877
881
  if (localInterval) {
878
882
  this.localCollection?.removeExistingInterval(localInterval);
879
883
  }
@@ -881,7 +885,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
881
885
  }
882
886
  if (localInterval !== undefined) {
883
887
  // we know we must be using `SequenceInterval` because `this.client` exists
884
- (0, core_utils_1.assert)(localInterval instanceof index_js_1.SequenceInterval, 0x3a0 /* localInterval must be `SequenceInterval` when used with client */);
888
+ (0, internal_1.assert)(localInterval instanceof index_js_2.SequenceInterval, 0x3a0 /* localInterval must be `SequenceInterval` when used with client */);
885
889
  // The rebased op may place this interval's endpoints on different segments. Calling `changeInterval` here
886
890
  // updates the local client's state to be consistent with the emitted op.
887
891
  this.localCollection?.changeInterval(localInterval, toOptionalSequencePlace(startRebased, startSide ?? Side.Before), toOptionalSequencePlace(endRebased, endSide ?? Side.Before), undefined, localSeq);
@@ -890,13 +894,13 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
890
894
  }
891
895
  getSlideToSegment(lref) {
892
896
  if (!this.client) {
893
- throw new telemetry_utils_1.LoggingError("client does not exist");
897
+ throw new internal_3.LoggingError("client does not exist");
894
898
  }
895
899
  const segoff = { segment: lref.getSegment(), offset: lref.getOffset() };
896
900
  if (segoff.segment?.localRefs?.has(lref) !== true) {
897
901
  return undefined;
898
902
  }
899
- const newSegoff = (0, merge_tree_1.getSlideToSegoff)(segoff, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint);
903
+ const newSegoff = (0, internal_2.getSlideToSegoff)(segoff, undefined, this.options.mergeTreeReferencesCanSlideToEndpoint);
900
904
  const value = segoff.segment === newSegoff.segment && segoff.offset === newSegoff.offset
901
905
  ? undefined
902
906
  : newSegoff;
@@ -904,11 +908,11 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
904
908
  }
905
909
  ackInterval(interval, op) {
906
910
  // Only SequenceIntervals need potential sliding
907
- if (!(interval instanceof index_js_1.SequenceInterval)) {
911
+ if (!(interval instanceof index_js_2.SequenceInterval)) {
908
912
  return;
909
913
  }
910
- if (!(0, merge_tree_1.refTypeIncludesFlag)(interval.start, merge_tree_1.ReferenceType.StayOnRemove) &&
911
- !(0, merge_tree_1.refTypeIncludesFlag)(interval.end, merge_tree_1.ReferenceType.StayOnRemove)) {
914
+ if (!(0, internal_2.refTypeIncludesFlag)(interval.start, internal_2.ReferenceType.StayOnRemove) &&
915
+ !(0, internal_2.refTypeIncludesFlag)(interval.end, internal_2.ReferenceType.StayOnRemove)) {
912
916
  return;
913
917
  }
914
918
  const newStart = this.getSlideToSegment(interval.start);
@@ -926,7 +930,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
926
930
  const needsEndUpdate = newEnd !== undefined && !hasPendingEndChange;
927
931
  if (needsStartUpdate || needsEndUpdate) {
928
932
  if (!this.localCollection) {
929
- throw new telemetry_utils_1.LoggingError("Attach must be called before accessing intervals");
933
+ throw new internal_3.LoggingError("Attach must be called before accessing intervals");
930
934
  }
931
935
  // `interval`'s endpoints will get modified in-place, so clone it prior to doing so for event emission.
932
936
  const oldInterval = interval.clone();
@@ -935,32 +939,32 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
935
939
  // This ensures that the correct listeners are added to the LocalReferencePosition.
936
940
  this.localCollection.removeExistingInterval(interval);
937
941
  if (!this.client) {
938
- throw new telemetry_utils_1.LoggingError("client does not exist");
942
+ throw new internal_3.LoggingError("client does not exist");
939
943
  }
940
944
  if (needsStartUpdate) {
941
945
  const props = interval.start.properties;
942
- interval.start = (0, index_js_1.createPositionReferenceFromSegoff)(this.client, newStart, interval.start.refType, op, undefined, undefined, (0, index_js_1.startReferenceSlidingPreference)(interval.stickiness), (0, index_js_1.startReferenceSlidingPreference)(interval.stickiness) ===
943
- merge_tree_1.SlidingPreference.BACKWARD);
946
+ interval.start = (0, index_js_2.createPositionReferenceFromSegoff)(this.client, newStart, interval.start.refType, op, undefined, undefined, (0, index_js_2.startReferenceSlidingPreference)(interval.stickiness), (0, index_js_2.startReferenceSlidingPreference)(interval.stickiness) ===
947
+ internal_2.SlidingPreference.BACKWARD);
944
948
  if (props) {
945
949
  interval.start.addProperties(props);
946
950
  }
947
951
  const oldSeg = oldInterval.start.getSegment();
948
952
  // remove and rebuild start interval as transient for event
949
953
  this.client.removeLocalReferencePosition(oldInterval.start);
950
- oldInterval.start.refType = merge_tree_1.ReferenceType.Transient;
954
+ oldInterval.start.refType = internal_2.ReferenceType.Transient;
951
955
  oldSeg?.localRefs?.addLocalRef(oldInterval.start, oldInterval.start.getOffset());
952
956
  }
953
957
  if (needsEndUpdate) {
954
958
  const props = interval.end.properties;
955
- interval.end = (0, index_js_1.createPositionReferenceFromSegoff)(this.client, newEnd, interval.end.refType, op, undefined, undefined, (0, index_js_1.endReferenceSlidingPreference)(interval.stickiness), (0, index_js_1.endReferenceSlidingPreference)(interval.stickiness) ===
956
- merge_tree_1.SlidingPreference.FORWARD);
959
+ interval.end = (0, index_js_2.createPositionReferenceFromSegoff)(this.client, newEnd, interval.end.refType, op, undefined, undefined, (0, index_js_2.endReferenceSlidingPreference)(interval.stickiness), (0, index_js_2.endReferenceSlidingPreference)(interval.stickiness) ===
960
+ internal_2.SlidingPreference.FORWARD);
957
961
  if (props) {
958
962
  interval.end.addProperties(props);
959
963
  }
960
964
  // remove and rebuild end interval as transient for event
961
965
  const oldSeg = oldInterval.end.getSegment();
962
966
  this.client.removeLocalReferencePosition(oldInterval.end);
963
- oldInterval.end.refType = merge_tree_1.ReferenceType.Transient;
967
+ oldInterval.end.refType = internal_2.ReferenceType.Transient;
964
968
  oldSeg?.localRefs?.addLocalRef(oldInterval.end, oldInterval.end.getOffset());
965
969
  }
966
970
  this.localCollection.add(interval);
@@ -969,7 +973,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
969
973
  }
970
974
  ackAdd(serializedInterval, local, op, localOpMetadata) {
971
975
  if (local) {
972
- (0, core_utils_1.assert)(localOpMetadata !== undefined, 0x553 /* op metadata should be defined for local op */);
976
+ (0, internal_1.assert)(localOpMetadata !== undefined, 0x553 /* op metadata should be defined for local op */);
973
977
  this.localSeqToSerializedInterval.delete(localOpMetadata.localSeq);
974
978
  const id = serializedInterval.properties?.[exports.reservedIntervalIdKey];
975
979
  const localInterval = this.getIntervalById(id);
@@ -979,7 +983,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
979
983
  return;
980
984
  }
981
985
  if (!this.localCollection) {
982
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
986
+ throw new internal_3.LoggingError("attachSequence must be called");
983
987
  }
984
988
  this.localCollection.ensureSerializedId(serializedInterval);
985
989
  const interval = this.localCollection.addInterval(toSequencePlace(serializedInterval.start, serializedInterval.startSide ?? Side.Before), toSequencePlace(serializedInterval.end, serializedInterval.endSide ?? Side.Before), serializedInterval.intervalType, serializedInterval.properties, op);
@@ -999,7 +1003,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
999
1003
  return;
1000
1004
  }
1001
1005
  if (!this.localCollection) {
1002
- throw new telemetry_utils_1.LoggingError("attach must be called prior to deleting intervals");
1006
+ throw new internal_3.LoggingError("attach must be called prior to deleting intervals");
1003
1007
  }
1004
1008
  const id = this.localCollection.ensureSerializedId(serializedInterval);
1005
1009
  const interval = this.localCollection.idIntervalIndex.getIntervalById(id);
@@ -1009,7 +1013,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1009
1013
  }
1010
1014
  serializeInternal() {
1011
1015
  if (!this.localCollection) {
1012
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
1016
+ throw new internal_3.LoggingError("attachSequence must be called");
1013
1017
  }
1014
1018
  return this.localCollection.serialize();
1015
1019
  }
@@ -1062,7 +1066,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1062
1066
  */
1063
1067
  findOverlappingIntervals(startPosition, endPosition) {
1064
1068
  if (!this.localCollection) {
1065
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
1069
+ throw new internal_3.LoggingError("attachSequence must be called");
1066
1070
  }
1067
1071
  return this.localCollection.overlappingIntervalsIndex.findOverlappingIntervals(startPosition, endPosition);
1068
1072
  }
@@ -1071,7 +1075,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1071
1075
  */
1072
1076
  map(fn) {
1073
1077
  if (!this.localCollection) {
1074
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
1078
+ throw new internal_3.LoggingError("attachSequence must be called");
1075
1079
  }
1076
1080
  for (const interval of this.localCollection.idIntervalIndex) {
1077
1081
  fn(interval);
@@ -1082,7 +1086,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1082
1086
  */
1083
1087
  previousInterval(pos) {
1084
1088
  if (!this.localCollection) {
1085
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
1089
+ throw new internal_3.LoggingError("attachSequence must be called");
1086
1090
  }
1087
1091
  return this.localCollection.endIntervalIndex.previousInterval(pos);
1088
1092
  }
@@ -1091,7 +1095,7 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1091
1095
  */
1092
1096
  nextInterval(pos) {
1093
1097
  if (!this.localCollection) {
1094
- throw new telemetry_utils_1.LoggingError("attachSequence must be called");
1098
+ throw new internal_3.LoggingError("attachSequence must be called");
1095
1099
  }
1096
1100
  return this.localCollection.endIntervalIndex.nextInterval(pos);
1097
1101
  }
@@ -1099,8 +1103,8 @@ class IntervalCollection extends client_utils_1.TypedEventEmitter {
1099
1103
  exports.IntervalCollection = IntervalCollection;
1100
1104
  function setSlideOnRemove(lref) {
1101
1105
  let refType = lref.refType;
1102
- refType = refType & ~merge_tree_1.ReferenceType.StayOnRemove;
1103
- refType = refType | merge_tree_1.ReferenceType.SlideOnRemove;
1106
+ refType = refType & ~internal_2.ReferenceType.StayOnRemove;
1107
+ refType = refType | internal_2.ReferenceType.SlideOnRemove;
1104
1108
  lref.refType = refType;
1105
1109
  }
1106
1110
  /**
@@ -1111,7 +1115,7 @@ function setSlideOnRemove(lref) {
1111
1115
  * @internal
1112
1116
  */
1113
1117
  function intervalLocatorFromEndpoint(potentialEndpoint) {
1114
- const { interval, [merge_tree_1.reservedRangeLabelsKey]: collectionNameArray } = potentialEndpoint.properties ?? {};
1118
+ const { interval, [internal_2.reservedRangeLabelsKey]: collectionNameArray } = potentialEndpoint.properties ?? {};
1115
1119
  return interval && collectionNameArray?.length === 1
1116
1120
  ? { label: collectionNameArray[0], interval }
1117
1121
  : undefined;