@fluidframework/id-compressor 3.1.0 → 3.3.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 +69 -19
  4. package/dist/idCompressor.d.ts.map +1 -1
  5. package/dist/idCompressor.js +365 -57
  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 +108 -2
  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 +69 -19
  42. package/lib/idCompressor.d.ts.map +1 -1
  43. package/lib/idCompressor.js +365 -57
  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 +108 -2
  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 +42 -9
  80. package/src/idCompressor.ts +497 -73
  81. package/src/index.ts +3 -0
  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 +13 -1
  99. package/src/types/idCompressor.ts +119 -2
  100. package/src/types/index.ts +10 -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.3.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Remove legacy direct ID compressor lifecycle APIs ([#27559](https://github.com/microsoft/FluidFramework/pull/27559)) [bee7b1ad621](https://github.com/microsoft/FluidFramework/commit/bee7b1ad621413db8ce9bcb7424dec1ebbfb199f)
8
+
9
+ The legacy-beta entrypoint no longer exports `createIdCompressor`, `deserializeIdCompressor`,
10
+ `serializeIdCompressor`, `createSessionId`, `IdCreationRange`, or the
11
+ `SerializedIdCompressor*` types. These APIs expose Fluid runtime implementation and persistence
12
+ details and are now internal. `IIdCompressor` and its compressed ID types remain available.
13
+
14
+ ## 3.2.0
15
+
16
+ Dependency updates only.
17
+
3
18
  ## 3.1.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";
@@ -5,14 +5,20 @@
5
5
  import type { ITelemetryBaseLogger } 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 } 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;
16
22
  /**
17
23
  * Max allowed initial cluster size.
18
24
  */
@@ -21,9 +27,17 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
21
27
  private readonly localSession;
22
28
  private readonly normalizer;
23
29
  private localGenCount;
30
+ /**
31
+ * The sharding state of this compressor, if it has been sharded or is a shard itself.
32
+ * When defined, this compressor operates in "sharding mode" where:
33
+ * - IDs are generated using stride-based allocation (no eager finals)
34
+ * - The normalizer backfills all IDs in each stride cycle
35
+ * - Normal operation resumes when all children are disposed
36
+ */
37
+ private shardingState?;
24
38
  /**
25
39
  * 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.
40
+ * This is advanced to `localGenCount` + 1 each time it is called.
27
41
  * On the other hand, when `resetUnfinalizedCreationRange` is called,
28
42
  * this is moved back to the start of the unfinalized range, to ensure those IDs are included in the next range.
29
43
  */
@@ -40,7 +54,13 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
40
54
  private telemetryLocalIdCount;
41
55
  private telemetryEagerFinalIdCount;
42
56
  private ongoingGhostSession?;
43
- constructor(localSessionIdOrDeserialized: SessionId | Sessions, logger: TelemetryLoggerExt | undefined);
57
+ constructor(localSessionIdOrDeserialized: SessionId | Sessions, logger: TelemetryLoggerExt | undefined,
58
+ /**
59
+ * The version this compressor will write out.
60
+ * This applies to both `serialize` and creation range functions.
61
+ * This number also determines what features are available (e.g. sharding support starts at V3).
62
+ */
63
+ writeVersion: SerializationVersion);
44
64
  generateCompressedId(): SessionSpaceCompressedId;
45
65
  generateDocumentUniqueId(): (SessionSpaceCompressedId & OpSpaceCompressedId) | StableId;
46
66
  /**
@@ -52,6 +72,28 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
52
72
  * {@inheritdoc IIdCompressorCore.beginGhostSession}
53
73
  */
54
74
  beginGhostSession(ghostSessionId: SessionId, ghostSessionCallback: () => void): void;
75
+ /**
76
+ * {@inheritdoc IIdCompressorCore.shard}
77
+ */
78
+ shard(newShardCount: number): SerializedIdCompressorWithOngoingSession[];
79
+ /**
80
+ * {@inheritdoc IIdCompressorCore.synchronizeWithShard}
81
+ */
82
+ synchronizeWithShard(syncToken: ShardSynchronizationToken): void;
83
+ private synchronizeChild;
84
+ /**
85
+ * {@inheritdoc IIdCompressorCore.dispose}
86
+ */
87
+ disposeShard(): ShardSynchronizationToken | undefined;
88
+ /**
89
+ * {@inheritdoc IIdCompressorCore.getShardSyncToken}
90
+ */
91
+ getShardSyncToken(): ShardSynchronizationToken | undefined;
92
+ /**
93
+ * Builds a token describing this shard's current progress.
94
+ * @param disposed - Whether the token also signals disposal (reclamation of this shard's ID space).
95
+ */
96
+ private makeShardToken;
55
97
  private generateNextLocalId;
56
98
  takeNextCreationRange(): IdCreationRange;
57
99
  takeUnfinalizedCreationRange(): IdCreationRange;
@@ -70,47 +112,55 @@ export declare class IdCompressor implements IIdCompressor, IIdCompressorCore {
70
112
  serialize(withSession: false): SerializedIdCompressorWithNoSession;
71
113
  static deserialize(params: {
72
114
  serialized: SerializedIdCompressorWithOngoingSession;
115
+ requestedWriteVersion: SerializationVersion;
73
116
  logger?: TelemetryLoggerExt | undefined;
74
117
  newSessionId?: never;
75
118
  } | {
76
119
  serialized: SerializedIdCompressorWithNoSession;
77
120
  newSessionId: SessionId;
121
+ requestedWriteVersion: SerializationVersion;
78
122
  logger?: TelemetryLoggerExt | undefined;
79
123
  }): IdCompressor;
80
- static deserialize2_0(index: Index, sessionId: SessionId | undefined, logger: TelemetryLoggerExt | undefined): IdCompressor;
81
124
  equals(other: IdCompressor, includeLocalState: boolean): boolean;
82
125
  }
83
126
  /**
84
127
  * Create a new {@link IIdCompressor}.
85
- *
86
- * @legacy @beta
128
+ * @param writeVersion - The version the compressor will write when serializing. Use SerializationVersion.V2 for base format, or SerializationVersion.V3 for sharding support.
129
+ * @param logger - Optional telemetry logger.
130
+ * @internal
87
131
  */
88
- export declare function createIdCompressor(logger?: ITelemetryBaseLogger): IIdCompressor;
132
+ export declare function createIdCompressor(writeVersion: SerializationVersion, logger?: ITelemetryBaseLogger): IIdCompressor & IIdCompressorCore;
89
133
  /**
90
134
  * Create a new {@link IIdCompressor}.
91
135
  * @param sessionId - The seed ID for the compressor.
92
- *
93
- * @legacy @beta
136
+ * @param writeVersion - The version the compressor will write when serializing. Use SerializationVersion.V2 for base format, or SerializationVersion.V3 for sharding support.
137
+ * @param logger - Optional telemetry logger.
138
+ * @internal
94
139
  */
95
- export declare function createIdCompressor(sessionId: SessionId, logger?: ITelemetryBaseLogger): IIdCompressor;
140
+ export declare function createIdCompressor(sessionId: SessionId, writeVersion: SerializationVersion, logger?: ITelemetryBaseLogger): IIdCompressor & IIdCompressorCore;
96
141
  /**
97
142
  * Deserializes the supplied state into an ID compressor.
98
- *
99
- * @legacy @beta
143
+ * @param serialized - The serialized compressor state with an ongoing session.
144
+ * @param writeVersion - The version the compressor will write when serializing. This determines what features are available (e.g., V3 enables sharding support).
145
+ * @param logger - Optional telemetry logger.
146
+ * @internal
100
147
  */
101
- export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithOngoingSession, logger?: ITelemetryLoggerExt): IIdCompressor;
148
+ export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithOngoingSession, writeVersion: SerializationVersion, logger?: ITelemetryLoggerExt): IIdCompressor & IIdCompressorCore;
102
149
  /**
103
150
  * Deserializes the supplied state into an ID compressor.
104
- *
105
- * @legacy @beta
151
+ * @param serialized - The serialized compressor state without a session.
152
+ * @param newSessionId - The session ID to use for the deserialized compressor.
153
+ * @param writeVersion - The version the compressor will write when serializing. This determines what features are available (e.g., V3 enables sharding support).
154
+ * @param logger - Optional telemetry logger.
155
+ * @internal
106
156
  */
107
- export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, logger?: ITelemetryLoggerExt): IIdCompressor;
157
+ export declare function deserializeIdCompressor(serialized: SerializedIdCompressorWithNoSession, newSessionId: SessionId, writeVersion: SerializationVersion, logger?: ITelemetryLoggerExt): IIdCompressor & IIdCompressorCore;
108
158
  /**
109
159
  * Serializes an ID compressor.
110
160
  * @param compressor - The compressor to serialize.
111
161
  * @param withSession - If true, the serialized state will include local session
112
162
  * state (for stashing). If false, only finalized state is included (for summaries).
113
- * @legacy @beta
163
+ * @internal
114
164
  */
115
165
  export declare function serializeIdCompressor(compressor: IIdCompressor, withSession: true): SerializedIdCompressorWithOngoingSession;
116
166
  /**
@@ -118,7 +168,7 @@ export declare function serializeIdCompressor(compressor: IIdCompressor, withSes
118
168
  * @param compressor - The compressor to serialize.
119
169
  * @param withSession - If true, the serialized state will include local session
120
170
  * state (for stashing). If false, only finalized state is included (for summaries).
121
- * @legacy @beta
171
+ * @internal
122
172
  */
123
173
  export declare function serializeIdCompressor(compressor: IIdCompressor, withSession: false): SerializedIdCompressorWithNoSession;
124
174
  /**
@@ -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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"}