@fluidframework/id-compressor 3.2.0 → 3.4.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 (102) hide show
  1. package/CHANGELOG.md +15 -0
  2. package/api-report/id-compressor.legacy.beta.api.md +0 -49
  3. package/dist/idCompressor.d.ts +65 -22
  4. package/dist/idCompressor.d.ts.map +1 -1
  5. package/dist/idCompressor.js +401 -60
  6. package/dist/idCompressor.js.map +1 -1
  7. package/dist/index.d.ts +2 -1
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/legacy.d.ts +1 -12
  12. package/dist/packageVersion.d.ts +1 -1
  13. package/dist/packageVersion.js +1 -1
  14. package/dist/packageVersion.js.map +1 -1
  15. package/dist/test/idCompressor.perf.spec.js.map +1 -1
  16. package/dist/test/idCompressor.spec.js.map +1 -1
  17. package/dist/test/idCompressorTestUtilities.d.ts.map +1 -1
  18. package/dist/test/idCompressorTestUtilities.js +8 -3
  19. package/dist/test/idCompressorTestUtilities.js.map +1 -1
  20. package/dist/test/sharding.fuzz.spec.d.ts +6 -0
  21. package/dist/test/sharding.fuzz.spec.d.ts.map +1 -0
  22. package/dist/test/sharding.fuzz.spec.js.map +1 -0
  23. package/dist/test/sharding.spec.d.ts +6 -0
  24. package/dist/test/sharding.spec.d.ts.map +1 -0
  25. package/dist/test/sharding.spec.js.map +1 -0
  26. package/dist/test/snapshots/summary.spec.js.map +1 -1
  27. package/dist/test/types/validateIdCompressorPrevious.generated.js.map +1 -1
  28. package/dist/types/idCompressor.d.ts +205 -20
  29. package/dist/types/idCompressor.d.ts.map +1 -1
  30. package/dist/types/idCompressor.js +15 -0
  31. package/dist/types/idCompressor.js.map +1 -1
  32. package/dist/types/index.d.ts +2 -1
  33. package/dist/types/index.d.ts.map +1 -1
  34. package/dist/types/index.js +3 -0
  35. package/dist/types/index.js.map +1 -1
  36. package/dist/types/persisted-types/0.0.1.d.ts +4 -4
  37. package/dist/types/persisted-types/0.0.1.js.map +1 -1
  38. package/dist/utilities.d.ts +1 -1
  39. package/dist/utilities.js +1 -1
  40. package/dist/utilities.js.map +1 -1
  41. package/lib/idCompressor.d.ts +65 -22
  42. package/lib/idCompressor.d.ts.map +1 -1
  43. package/lib/idCompressor.js +402 -61
  44. package/lib/idCompressor.js.map +1 -1
  45. package/lib/index.d.ts +2 -1
  46. package/lib/index.d.ts.map +1 -1
  47. package/lib/index.js +1 -0
  48. package/lib/index.js.map +1 -1
  49. package/lib/legacy.d.ts +1 -12
  50. package/lib/packageVersion.d.ts +1 -1
  51. package/lib/packageVersion.js +1 -1
  52. package/lib/packageVersion.js.map +1 -1
  53. package/lib/test/idCompressor.perf.spec.js.map +1 -1
  54. package/lib/test/idCompressor.spec.js.map +1 -1
  55. package/lib/test/idCompressorTestUtilities.d.ts.map +1 -1
  56. package/lib/test/idCompressorTestUtilities.js +8 -3
  57. package/lib/test/idCompressorTestUtilities.js.map +1 -1
  58. package/lib/test/sharding.fuzz.spec.d.ts +6 -0
  59. package/lib/test/sharding.fuzz.spec.d.ts.map +1 -0
  60. package/lib/test/sharding.fuzz.spec.js.map +1 -0
  61. package/lib/test/sharding.spec.d.ts +6 -0
  62. package/lib/test/sharding.spec.d.ts.map +1 -0
  63. package/lib/test/sharding.spec.js.map +1 -0
  64. package/lib/test/snapshots/summary.spec.js.map +1 -1
  65. package/lib/test/types/validateIdCompressorPrevious.generated.js.map +1 -1
  66. package/lib/types/idCompressor.d.ts +205 -20
  67. package/lib/types/idCompressor.d.ts.map +1 -1
  68. package/lib/types/idCompressor.js +14 -1
  69. package/lib/types/idCompressor.js.map +1 -1
  70. package/lib/types/index.d.ts +2 -1
  71. package/lib/types/index.d.ts.map +1 -1
  72. package/lib/types/index.js +1 -1
  73. package/lib/types/index.js.map +1 -1
  74. package/lib/types/persisted-types/0.0.1.d.ts +4 -4
  75. package/lib/types/persisted-types/0.0.1.js.map +1 -1
  76. package/lib/utilities.d.ts +1 -1
  77. package/lib/utilities.js +1 -1
  78. package/lib/utilities.js.map +1 -1
  79. package/package.json +8 -8
  80. package/src/idCompressor.ts +550 -78
  81. package/src/index.ts +11 -5
  82. package/src/packageVersion.ts +1 -1
  83. package/src/test/idCompressorTestUtilities.ts +16 -3
  84. package/src/test/snapshots/v2/compressor-with-finalized-range-from-one-client +1 -0
  85. package/src/test/snapshots/v2/compressor-with-finalized-range-from-one-client-client2 +1 -0
  86. package/src/test/snapshots/v2/compressors-with-finalized-ranges-from-two-clients +1 -0
  87. package/src/test/snapshots/v2/compressors-with-finalized-ranges-from-two-clients-client2 +1 -0
  88. package/src/test/snapshots/v2/empty-compressor-summary +1 -0
  89. package/src/test/snapshots/v2/expansion-semantics +1 -0
  90. package/src/test/snapshots/v2/expansion-semantics-client2 +1 -0
  91. package/src/test/snapshots/v3/compressor-with-finalized-range-from-one-client +1 -0
  92. package/src/test/snapshots/v3/compressor-with-finalized-range-from-one-client-client2 +1 -0
  93. package/src/test/snapshots/v3/compressors-with-finalized-ranges-from-two-clients +1 -0
  94. package/src/test/snapshots/v3/compressors-with-finalized-ranges-from-two-clients-client2 +1 -0
  95. package/src/test/snapshots/v3/empty-compressor-summary +1 -0
  96. package/src/test/snapshots/v3/expansion-semantics +1 -0
  97. package/src/test/snapshots/v3/expansion-semantics-client2 +1 -0
  98. package/src/test/types/validateIdCompressorPrevious.generated.ts +1 -109
  99. package/src/types/idCompressor.ts +225 -20
  100. package/src/types/index.ts +13 -1
  101. package/src/types/persisted-types/0.0.1.ts +4 -4
  102. package/src/utilities.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # @fluidframework/id-compressor
2
2
 
3
+ ## 3.4.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 3.3.0
8
+
9
+ ### Minor Changes
10
+
11
+ - Remove legacy direct ID compressor lifecycle APIs ([#27559](https://github.com/microsoft/FluidFramework/pull/27559)) [bee7b1ad621](https://github.com/microsoft/FluidFramework/commit/bee7b1ad621413db8ce9bcb7424dec1ebbfb199f)
12
+
13
+ The legacy-beta entrypoint no longer exports `createIdCompressor`, `deserializeIdCompressor`,
14
+ `serializeIdCompressor`, `createSessionId`, `IdCreationRange`, or the
15
+ `SerializedIdCompressor*` types. These APIs expose Fluid runtime implementation and persistence
16
+ details and are now internal. `IIdCompressor` and its compressed ID types remain available.
17
+
3
18
  ## 3.2.0
4
19
 
5
20
  Dependency updates only.
@@ -4,34 +4,6 @@
4
4
 
5
5
  ```ts
6
6
 
7
- // @beta @legacy
8
- export function createIdCompressor(logger?: ITelemetryBaseLogger): IIdCompressor;
9
-
10
- // @beta @legacy
11
- export function createIdCompressor(sessionId: SessionId, logger?: ITelemetryBaseLogger): IIdCompressor;
12
-
13
- // @beta @legacy
14
- export function createSessionId(): SessionId;
15
-
16
- // @beta @legacy
17
- export function deserializeIdCompressor(serialized: SerializedIdCompressorWithOngoingSession, logger?: ITelemetryLoggerExt): IIdCompressor;
18
-
19
- // @beta @legacy
20
- export function deserializeIdCompressor(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, logger?: ITelemetryLoggerExt): IIdCompressor;
21
-
22
- // @beta @legacy
23
- export interface IdCreationRange {
24
- // (undocumented)
25
- readonly ids?: {
26
- readonly firstGenCount: number;
27
- readonly count: number;
28
- readonly requestedClusterSize: number;
29
- readonly localIdRanges: [genCount: number, count: number][];
30
- };
31
- // (undocumented)
32
- readonly sessionId: SessionId;
33
- }
34
-
35
7
  // @public @sealed
36
8
  export interface IIdCompressor {
37
9
  decompress(id: SessionSpaceCompressedId): StableId;
@@ -50,27 +22,6 @@ export type OpSpaceCompressedId = number & {
50
22
  readonly OpNormalized: "9209432d-a959-4df7-b2ad-767ead4dbcae";
51
23
  };
52
24
 
53
- // @beta @legacy
54
- export type SerializedIdCompressor = string & {
55
- readonly _serializedIdCompressor: "8c73c57c-1cf4-4278-8915-6444cb4f6af5";
56
- };
57
-
58
- // @beta @legacy
59
- export type SerializedIdCompressorWithNoSession = SerializedIdCompressor & {
60
- readonly _noLocalState: "3aa2e1e8-cc28-4ea7-bc1a-a11dc3f26dfb";
61
- };
62
-
63
- // @beta @legacy
64
- export type SerializedIdCompressorWithOngoingSession = SerializedIdCompressor & {
65
- readonly _hasLocalState: "1281acae-6d14-47e7-bc92-71c8ee0819cb";
66
- };
67
-
68
- // @beta @legacy
69
- export function serializeIdCompressor(compressor: IIdCompressor, withSession: true): SerializedIdCompressorWithOngoingSession;
70
-
71
- // @beta @legacy
72
- export function serializeIdCompressor(compressor: IIdCompressor, withSession: false): SerializedIdCompressorWithNoSession;
73
-
74
25
  // @public
75
26
  export type SessionId = StableId & {
76
27
  readonly SessionId: "4498f850-e14e-4be9-8db0-89ec00997e58";
@@ -2,17 +2,25 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
- import type { ITelemetryBaseLogger } from "@fluidframework/core-interfaces";
5
+ import type { ITelemetryBaseLogger, Listenable } from "@fluidframework/core-interfaces";
6
6
  import type { TelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
7
7
  import type { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/legacy";
8
- import { type Index } from "./persistanceUtilities.js";
9
8
  import { Sessions } from "./sessions.js";
10
- import type { IIdCompressor, IIdCompressorCore, IdCreationRange, OpSpaceCompressedId, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession, SessionId, SessionSpaceCompressedId, StableId } from "./types/index.js";
9
+ import type { IIdCompressor, IIdCompressorCore, IdCreationRange, OpSpaceCompressedId, SerializedIdCompressorWithNoSession, SerializedIdCompressorWithOngoingSession, SessionId, SessionSpaceCompressedId, StableId, ShardSynchronizationToken, SerializedIdCompressorShard, ParentShardSynchronizationToken, IdCompressorEvents } from "./types/index.js";
10
+ import { SerializationVersion } from "./types/index.js";
11
11
  /**
12
12
  * See {@link IIdCompressor} and {@link IIdCompressorCore}
13
13
  */
14
14
  export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
15
15
  private readonly logger;
16
+ /**
17
+ * The version this compressor will write out.
18
+ * This applies to both `serialize` and creation range functions.
19
+ * This number also determines what features are available (e.g. sharding support starts at V3).
20
+ */
21
+ private readonly writeVersion;
22
+ private readonly eventEmitter;
23
+ readonly events: Listenable<IdCompressorEvents>;
16
24
  /**
17
25
  * Max allowed initial cluster size.
18
26
  */
@@ -21,9 +29,17 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
21
29
  private readonly localSession;
22
30
  private readonly normalizer;
23
31
  private localGenCount;
32
+ /**
33
+ * The sharding state of this compressor, if it has been sharded or is a shard itself.
34
+ * When defined, this compressor operates in "sharding mode" where:
35
+ * - IDs are generated using stride-based allocation (no eager finals)
36
+ * - The normalizer backfills all IDs in each stride cycle
37
+ * - Normal operation resumes when all children are disposed
38
+ */
39
+ private shardingState?;
24
40
  /**
25
41
  * The gen count to be annotated on the range returned by the next call to `takeNextCreationRange`.
26
- * This is advanced to `generatedIdCount` + 1 each time it is called.
42
+ * This is advanced to `localGenCount` + 1 each time it is called.
27
43
  * On the other hand, when `resetUnfinalizedCreationRange` is called,
28
44
  * this is moved back to the start of the unfinalized range, to ensure those IDs are included in the next range.
29
45
  */
@@ -40,7 +56,13 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
40
56
  private telemetryLocalIdCount;
41
57
  private telemetryEagerFinalIdCount;
42
58
  private ongoingGhostSession?;
43
- constructor(localSessionIdOrDeserialized: SessionId | Sessions, logger: TelemetryLoggerExt | undefined);
59
+ constructor(localSessionIdOrDeserialized: SessionId | Sessions, logger: TelemetryLoggerExt | undefined,
60
+ /**
61
+ * The version this compressor will write out.
62
+ * This applies to both `serialize` and creation range functions.
63
+ * This number also determines what features are available (e.g. sharding support starts at V3).
64
+ */
65
+ writeVersion: SerializationVersion);
44
66
  generateCompressedId(): SessionSpaceCompressedId;
45
67
  generateDocumentUniqueId(): (SessionSpaceCompressedId & OpSpaceCompressedId) | StableId;
46
68
  /**
@@ -48,10 +70,23 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
48
70
  * @param ghostSessionId - The session ID to start the ghost session with.
49
71
  */
50
72
  startGhostSession(ghostSessionId: SessionId): void;
73
+ beginGhostSession(ghostSessionId: SessionId, ghostSessionCallback: () => void): void;
74
+ shard(newShardCount: number): SerializedIdCompressorShard[];
75
+ synchronizeWithShard(syncToken: ShardSynchronizationToken): void;
76
+ getChildShardSyncToken(childToken: ShardSynchronizationToken): ParentShardSynchronizationToken;
77
+ synchronizeWithParent(token: ParentShardSynchronizationToken): void;
51
78
  /**
52
- * {@inheritdoc IIdCompressorCore.beginGhostSession}
79
+ * Adds IDs through the next position in this shard's stride after the given generation count.
53
80
  */
54
- beginGhostSession(ghostSessionId: SessionId, ghostSessionCallback: () => void): void;
81
+ private backfillToNextStridePosition;
82
+ private synchronizeChild;
83
+ disposeShard(): ShardSynchronizationToken | undefined;
84
+ getShardSyncToken(): ShardSynchronizationToken | undefined;
85
+ /**
86
+ * Builds a token describing this shard's current progress.
87
+ * @param disposed - Whether the token also signals disposal (reclamation of this shard's ID space).
88
+ */
89
+ private makeShardToken;
55
90
  private generateNextLocalId;
56
91
  takeNextCreationRange(): IdCreationRange;
57
92
  takeUnfinalizedCreationRange(): IdCreationRange;
@@ -70,47 +105,55 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
70
105
  serialize(withSession: false): SerializedIdCompressorWithNoSession;
71
106
  static deserialize(params: {
72
107
  serialized: SerializedIdCompressorWithOngoingSession;
108
+ requestedWriteVersion: SerializationVersion;
73
109
  logger?: TelemetryLoggerExt | undefined;
74
110
  newSessionId?: never;
75
111
  } | {
76
112
  serialized: SerializedIdCompressorWithNoSession;
77
113
  newSessionId: SessionId;
114
+ requestedWriteVersion: SerializationVersion;
78
115
  logger?: TelemetryLoggerExt | undefined;
79
116
  }): IdCompressor;
80
- static deserialize2_0(index: Index, sessionId: SessionId | undefined, logger: TelemetryLoggerExt | undefined): IdCompressor;
81
117
  equals(other: IdCompressor, includeLocalState: boolean): boolean;
82
118
  }
83
119
  /**
84
120
  * Create a new {@link IIdCompressor}.
85
- *
86
- * @legacy @beta
121
+ * @param writeVersion - The version the compressor will write when serializing. Use SerializationVersion.V2 for base format, or SerializationVersion.V3 for sharding support.
122
+ * @param logger - Optional telemetry logger.
123
+ * @internal
87
124
  */
88
- export declare function createIdCompressor(logger?: ITelemetryBaseLogger): IIdCompressor;
125
+ export declare function createIdCompressor(writeVersion: SerializationVersion, logger?: ITelemetryBaseLogger): IIdCompressor & IIdCompressorCore;
89
126
  /**
90
127
  * Create a new {@link IIdCompressor}.
91
128
  * @param sessionId - The seed ID for the compressor.
92
- *
93
- * @legacy @beta
129
+ * @param writeVersion - The version the compressor will write when serializing. Use SerializationVersion.V2 for base format, or SerializationVersion.V3 for sharding support.
130
+ * @param logger - Optional telemetry logger.
131
+ * @internal
94
132
  */
95
- export declare function createIdCompressor(sessionId: SessionId, logger?: ITelemetryBaseLogger): IIdCompressor;
133
+ export declare function createIdCompressor(sessionId: SessionId, writeVersion: SerializationVersion, logger?: ITelemetryBaseLogger): IIdCompressor & IIdCompressorCore;
96
134
  /**
97
135
  * Deserializes the supplied state into an ID compressor.
98
- *
99
- * @legacy @beta
136
+ * @param serialized - The serialized compressor state with an ongoing session.
137
+ * @param writeVersion - The version the compressor will write when serializing. This determines what features are available (e.g., V3 enables sharding support).
138
+ * @param logger - Optional telemetry logger.
139
+ * @internal
100
140
  */
101
- export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithOngoingSession, logger?: ITelemetryLoggerExt): IIdCompressor;
141
+ export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithOngoingSession, writeVersion: SerializationVersion, logger?: ITelemetryLoggerExt): IIdCompressor & IIdCompressorCore;
102
142
  /**
103
143
  * Deserializes the supplied state into an ID compressor.
104
- *
105
- * @legacy @beta
144
+ * @param serialized - The serialized compressor state without a session.
145
+ * @param newSessionId - The session ID to use for the deserialized compressor.
146
+ * @param writeVersion - The version the compressor will write when serializing. This determines what features are available (e.g., V3 enables sharding support).
147
+ * @param logger - Optional telemetry logger.
148
+ * @internal
106
149
  */
107
- export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, logger?: ITelemetryLoggerExt): IIdCompressor;
150
+ export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, writeVersion: SerializationVersion, logger?: ITelemetryLoggerExt): IIdCompressor & IIdCompressorCore;
108
151
  /**
109
152
  * Serializes an ID compressor.
110
153
  * @param compressor - The compressor to serialize.
111
154
  * @param withSession - If true, the serialized state will include local session
112
155
  * state (for stashing). If false, only finalized state is included (for summaries).
113
- * @legacy @beta
156
+ * @internal
114
157
  */
115
158
  export declare function serializeIdCompressor(compressor: IIdCompressor, withSession: true): SerializedIdCompressorWithOngoingSession;
116
159
  /**
@@ -118,7 +161,7 @@ export declare function serializeIdCompressor(compressor: IIdCompressor, withSes
118
161
  * @param compressor - The compressor to serialize.
119
162
  * @param withSession - If true, the serialized state will include local session
120
163
  * state (for stashing). If false, only finalized state is included (for summaries).
121
- * @legacy @beta
164
+ * @internal
122
165
  */
123
166
  export declare function serializeIdCompressor(compressor: IIdCompressor, withSession: false): SerializedIdCompressorWithNoSession;
124
167
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"idCompressor.d.ts","sourceRoot":"","sources":["../src/idCompressor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"idCompressor.d.ts","sourceRoot":"","sources":["../src/idCompressor.ts"],"names":[],"mappings":"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"}