diff --git a/CompatibilityCheckpoints.md b/CompatibilityCheckpoints.md index d93b26265611..648543ecea0d 100644 --- a/CompatibilityCheckpoints.md +++ b/CompatibilityCheckpoints.md @@ -28,7 +28,7 @@ checkpoints are designated. | CC-1 | `>=1.4.0 <2.0.0 \| 2.0.0-internal* \| 2.0.0-rc*` | 2024-04-09 | CC-1, CC-2, CC-3, CC-4 | `>=1.4.0 <2.140.0`(estimated)` \| 2.0.0-internal* \| 2.0.0-rc*` | | CC-2 | `>=2.0.0 <2.60.0` | 2024-06-26 | CC-1, CC-2, CC-3, CC-4, CC-5 | `>=1.4.0 <2.180.0`(estimated)` \| 2.0.0-internal* \| 2.0.0-rc*` | | CC-3 | `>=2.60.0 <2.100.0` | 2025-09-02 | CC-1, CC-2, CC-3, CC-4, CC-5, CC-6 | `>=1.4.0 <2.220.0`(estimated)` \| 2.0.0-internal* \| 2.0.0-rc*` | -| CC-4 | `>=2.100.0 <2.140.0` (limit TBD) | ~2026-04-27 | CC-1, CC-2, CC-3, CC-4, CC-5, CC-6, CC-7 | `>=1.4.0 <2.260.0`(estimated)` \| 2.0.0-internal* \| 2.0.0-rc*` | +| CC-4 | `>=2.100.0 <2.140.0` (limit TBD) | 2026-04-28 | CC-1, CC-2, CC-3, CC-4, CC-5, CC-6, CC-7 | `>=1.4.0 <2.260.0`(estimated)` \| 2.0.0-internal* \| 2.0.0-rc*` | | CC-5 (TBD) | `>=2.140.0 <2.180.0` | ~2026-12-07 | CC-2, CC-3, CC-4, CC-5, CC-6, CC-7, CC-8 | `>=2.0.0 <2.300.0`(estimated) | | CC-6 (TBD) | `>=2.180.0 <2.220.0` | ~2027-07-19 | CC-3, CC-4, CC-5, CC-6, CC-7, CC-8, CC-9 | `>=2.70.0 <2.340.0`(estimated) | | CC-7 (TBD) | `>=2.220.0 <2.260.0` | ~2028-02-28 | CC-4, CC-5, CC-6, CC-7, CC-8, CC-9, CC-10 | `>=2.100.0 <2.380.0`(estimated) | diff --git a/CrossClientCompatibilityDevGuide.md b/CrossClientCompatibilityDevGuide.md index 773d9f9216fc..45919fc8f8af 100644 --- a/CrossClientCompatibilityDevGuide.md +++ b/CrossClientCompatibilityDevGuide.md @@ -197,7 +197,12 @@ Designation is the act of officially marking a Fluid Framework release as a new A new checkpoint should be designated no less than 6 months after the previous one. It should also land on a new major or beta boundary (e.g., `3.0.0`, `2.100.0`), so the prior checkpoint's range can extend cleanly to the new boundary. -**To designate a new checkpoint:** update the [Compatibility Checkpoints](./CompatibilityCheckpoints.md) document and include a changeset noting the new boundary so it appears in the release notes. +**To designate a new checkpoint:** + +1. Update the table in [`CompatibilityCheckpoints.md`](./CompatibilityCheckpoints.md). +2. Update `checkpoints` in [`packages/test/test-version-utils/src/checkpoints.ts`](./packages/test/test-version-utils/src/checkpoints.ts). +3. From `packages/test/test-version-utils`, run `pnpm run update-compat-versions` to update the installed versions used by e2e tests. +4. Include a changeset noting the new boundary so it appears in the release notes. ## Tightening Runtime Enforcement @@ -219,9 +224,10 @@ To tighten runtime enforcement: (e.g., `2.x` → `3.x`), also narrow the `MinimumVersionForCollab` type in [compatibilityDefinitions.ts](./packages/runtime/runtime-definitions/src/compatibilityDefinitions.ts) to drop the now-unsupported major from its definition. -3. **Update the e2e test matrix:** The `FullCompat` version matrix is derived - from the currently supported checkpoints — update it so tests only run - against versions within the new window. +3. **Update the e2e test matrix:** The `FullCompat` and cross-client matrices + are derived from the in-repo Compatibility Checkpoints data and follow + whichever checkpoints are currently in the supported window automatically; + see [Designating a New Compatibility Checkpoint](#designating-a-new-compatibility-checkpoint). ## Testing @@ -230,25 +236,22 @@ variations using `describeCompat()` with `"FullCompat"`. The variations test cross-client compatibility scenarios by using one version of the Fluid runtime for creating containers and a different version for loading containers. -**Example:** A test may generate the following variations for cross-client -compatibility scenarios: - -> **Note:** The version labels below (e.g., "N-1 fast train") reflect the current -> test infrastructure naming. These labels will be updated to reflect -> checkpoint-based versioning as part of the checkpoint adoption work. +**Example:** With current build `2.101.0` (N) and in-window prior Compatibility +Checkpoints `2.60.0` (CC-3), `2.0.9` (CC-2), and `1.4.0` (CC-1), a SharedCell +test generates these cross-client variations: ``` -compat cross-client - create with 2.43.0 (N) + load with 2.33.2 (N-1 fast train) +compat cross-client - create with 2.101.0 (N) + load with 2.60.0 (CC-3) ✔ Example test -compat cross-client - create with 2.43.0 (N) + load with 2.23.0 (N-2 fast train) +compat cross-client - create with 2.101.0 (N) + load with 2.0.9 (CC-2) ✔ Example test -compat cross-client - create with 2.43.0 (N) + load with 1.4.0 (N-1 slow train/LTS) +compat cross-client - create with 2.101.0 (N) + load with 1.4.0 (CC-1) ✔ Example test -compat cross-client - create with 2.33.2 (N-1 fast train) + load with 2.43.0 (N) +compat cross-client - create with 2.60.0 (CC-3) + load with 2.101.0 (N) ✔ Example test -compat cross-client - create with 2.23.0 (N-2 fast train) + load with 2.43.0 (N) +compat cross-client - create with 2.0.9 (CC-2) + load with 2.101.0 (N) ✔ Example test -compat cross-client - create with 1.4.0 (N-1 slow train/LTS) + load with 2.43.0 (N) +compat cross-client - create with 1.4.0 (CC-1) + load with 2.101.0 (N) ✔ Example test ``` diff --git a/packages/test/test-version-utils/README.md b/packages/test/test-version-utils/README.md index 91a266eda4a4..2e1015dc2d49 100644 --- a/packages/test/test-version-utils/README.md +++ b/packages/test/test-version-utils/README.md @@ -45,14 +45,11 @@ are generated (empty entries are current versions): In addition to the layer version combinations seen above, this package also provides functions to generate variations intended to test all layers of one version against all layers of another version in tests that feature more than one client. The intention is to simulate scenarios where the client that created a document was using a different version than the client -loading the document. These variations are applied in our cross-client tests where we test the current version against the -most recent **public** release. +loading the document. The matrix pairs the current build against every in-window prior **Compatibility Checkpoint** +(see [`CompatibilityCheckpoints.md`](../../../CompatibilityCheckpoints.md)) in both directions, with each prior +checkpoint resolved to the **earliest minor** in its range (e.g. CC-3 → latest patch of `2.60.x`). -For example, at the time of writing, main is on version `2.0.0-internal.7.3.0` and the latest **public** release is `1.3.7`. -Therefore, we would test the following combinations: - -- Client A is running `2.0.0-internal.7.3.0` across **all** layers and Client B is running `1.3.7` across **all** layers. -- Client A is running `1.3.7` across **all** layers and Client B is running `2.0.0-internal.7.3.0` across **all** layers. +The data driving the matrix lives in [`src/checkpoints.ts`](./src/checkpoints.ts). ### Mocha test setup with layer version combinations @@ -74,8 +71,9 @@ to enable compat testing easily in the future just by changing the compatVersion ### Legacy version defaults and installation -By default, N-1 (public release), N-1 (internal release), N-2 (internal release), and LTS (hard coded) test variants are -generated. The versions can be specified using command line (see below) to run the test against any two versions. This +By default, the cross-client checkpoint matrix described above is generated, a layer-compat permutation against +the most recent prior in-window checkpoint, and a hard-coded "Oldest Compatible Version" (OCV) for Loader / Driver +layer-compat. The versions can be specified using command line (see below) to run the test against any two versions. This package includes a `mocha` global hook that will install legacy packages at the beginning of the package based on the `compatVersion` settings. @@ -148,7 +146,8 @@ default set of legacy versions whether it is necessary or not. ## Updating compat versions -After a Fluid Framework version bump, run from this package's directory: +After a Fluid Framework version bump or after a new compatibility checkpoint is designated, run from this package's +directory: ``` pnpm run update-compat-versions @@ -157,7 +156,8 @@ pnpm run update-compat-versions The script (`scripts/updateCompatVersions.ts`) does the following: 1. Reads the current package version from `src/packageVersion.ts`. -2. Queries the npm registry to resolve N-1, N-2, OCV, cross-client, and full back-compat versions. +2. Maps that version to a checkpoint via [`src/checkpoints.ts`](./src/checkpoints.ts) and queries the npm registry to + resolve every in-window prior checkpoint, plus the full back-compat versions, to exact versions. 3. Writes `compat-workspaces/generated-versions.cjs` with the resolved exact versions. 4. Creates or updates per-version `package.json` files in `compat-workspaces/full/`. 5. Removes version directories that are no longer needed. diff --git a/packages/test/test-version-utils/compat-workspaces/full/2.0.9/package.json b/packages/test/test-version-utils/compat-workspaces/full/2.0.9/package.json new file mode 100644 index 000000000000..5fa94ba0772c --- /dev/null +++ b/packages/test/test-version-utils/compat-workspaces/full/2.0.9/package.json @@ -0,0 +1,33 @@ +{ + "name": "compat-2.0.9", + "version": "1.0.0", + "private": true, + "homepage": "https://fluidframework.com", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/FluidFramework.git", + "directory": "packages/test/test-version-utils/compat-workspaces/full/2.0.9" + }, + "license": "MIT", + "author": "Microsoft and contributors", + "dependencies": { + "@fluid-experimental/sequence-deprecated": "2.0.9", + "@fluidframework/agent-scheduler": "2.0.9", + "@fluidframework/aqueduct": "2.0.9", + "@fluidframework/cell": "2.0.9", + "@fluidframework/container-loader": "2.0.9", + "@fluidframework/container-runtime": "2.0.9", + "@fluidframework/counter": "2.0.9", + "@fluidframework/datastore": "2.0.9", + "@fluidframework/local-driver": "2.0.9", + "@fluidframework/map": "2.0.9", + "@fluidframework/matrix": "2.0.9", + "@fluidframework/odsp-driver": "2.0.9", + "@fluidframework/ordered-collection": "2.0.9", + "@fluidframework/register-collection": "2.0.9", + "@fluidframework/routerlicious-driver": "2.0.9", + "@fluidframework/sequence": "2.0.9", + "@fluidframework/test-utils": "2.0.9", + "@fluidframework/tree": "2.0.9" + } +} diff --git a/packages/test/test-version-utils/compat-workspaces/full/2.60.0/package.json b/packages/test/test-version-utils/compat-workspaces/full/2.60.0/package.json new file mode 100644 index 000000000000..2588d7be4048 --- /dev/null +++ b/packages/test/test-version-utils/compat-workspaces/full/2.60.0/package.json @@ -0,0 +1,33 @@ +{ + "name": "compat-2.60.0", + "version": "1.0.0", + "private": true, + "homepage": "https://fluidframework.com", + "repository": { + "type": "git", + "url": "https://github.com/microsoft/FluidFramework.git", + "directory": "packages/test/test-version-utils/compat-workspaces/full/2.60.0" + }, + "license": "MIT", + "author": "Microsoft and contributors", + "dependencies": { + "@fluid-experimental/sequence-deprecated": "2.60.0", + "@fluidframework/agent-scheduler": "2.60.0", + "@fluidframework/aqueduct": "2.60.0", + "@fluidframework/cell": "2.60.0", + "@fluidframework/container-loader": "2.60.0", + "@fluidframework/container-runtime": "2.60.0", + "@fluidframework/counter": "2.60.0", + "@fluidframework/datastore": "2.60.0", + "@fluidframework/local-driver": "2.60.0", + "@fluidframework/map": "2.60.0", + "@fluidframework/matrix": "2.60.0", + "@fluidframework/odsp-driver": "2.60.0", + "@fluidframework/ordered-collection": "2.60.0", + "@fluidframework/register-collection": "2.60.0", + "@fluidframework/routerlicious-driver": "2.60.0", + "@fluidframework/sequence": "2.60.0", + "@fluidframework/test-utils": "2.60.0", + "@fluidframework/tree": "2.60.0" + } +} diff --git a/packages/test/test-version-utils/compat-workspaces/full/pnpm-lock.yaml b/packages/test/test-version-utils/compat-workspaces/full/pnpm-lock.yaml index 84df092c7490..750ed5cecb42 100644 --- a/packages/test/test-version-utils/compat-workspaces/full/pnpm-lock.yaml +++ b/packages/test/test-version-utils/compat-workspaces/full/pnpm-lock.yaml @@ -377,6 +377,63 @@ importers: specifier: 2.0.0-rc.5.0.8 version: 2.0.0-rc.5.0.8 + 2.0.9: + dependencies: + '@fluid-experimental/sequence-deprecated': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/agent-scheduler': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/aqueduct': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/cell': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/container-loader': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/container-runtime': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/counter': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/datastore': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/local-driver': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/map': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/matrix': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/odsp-driver': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/ordered-collection': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/register-collection': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/routerlicious-driver': + specifier: 2.0.9 + version: 2.0.9(debug@4.4.3) + '@fluidframework/sequence': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/test-utils': + specifier: 2.0.9 + version: 2.0.9 + '@fluidframework/tree': + specifier: 2.0.9 + version: 2.0.9 + 2.13.0: dependencies: '@fluid-experimental/sequence-deprecated': @@ -719,6 +776,63 @@ importers: specifier: 2.53.1 version: 2.53.1 + 2.60.0: + dependencies: + '@fluid-experimental/sequence-deprecated': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/agent-scheduler': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/aqueduct': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/cell': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/container-loader': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/container-runtime': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/counter': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/datastore': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/local-driver': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/map': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/matrix': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/odsp-driver': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/ordered-collection': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/register-collection': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/routerlicious-driver': + specifier: 2.60.0 + version: 2.60.0(debug@4.4.3) + '@fluidframework/sequence': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/test-utils': + specifier: 2.60.0 + version: 2.60.0 + '@fluidframework/tree': + specifier: 2.60.0 + version: 2.60.0 + 2.63.0: dependencies: '@fluid-experimental/sequence-deprecated': @@ -961,6 +1075,9 @@ packages: '@fluid-experimental/sequence-deprecated@2.0.0-rc.5.0.8': resolution: {integrity: sha512-LRXVCUZ36rH6vVBiidnpHGuC4kX9L9FNwLI30SKp4Rn5dgCWrrr06JVormpe4pcwkHEytSii23vrFb6/Ta1rZA==} + '@fluid-experimental/sequence-deprecated@2.0.9': + resolution: {integrity: sha512-7tVc508e+pzyD1DGbLp2bcQSbdYCcEOdqDTxg0pKU2wzV6RPzU03EOWfOuWuVCZV84DXI8A290i1Jk3oc42I/A==} + '@fluid-experimental/sequence-deprecated@2.13.0': resolution: {integrity: sha512-tVpoRVFMWb+iGyLEFZhJQFEGl8mr6pRDbZvS3F0wGPoyGEf1EjR7Q3BQfUcZ9K5CY7oyR/43sxJgqaPwZMYvaw==} @@ -979,6 +1096,9 @@ packages: '@fluid-experimental/sequence-deprecated@2.53.1': resolution: {integrity: sha512-SM4leiY0dAD62dGA+WPdQR+f4a1uu/483I5LxqFNjHSay1iC+Mc/O3NFuT6EN7eMa4iCIwgVyXPtt2gaAsxsiQ==} + '@fluid-experimental/sequence-deprecated@2.60.0': + resolution: {integrity: sha512-f93KqvNZ8kCEA8vR3QZOPsA73FWcuWSVRBipkQ+2aOS+yml2WQ67aQxH6pgB1kup9Z4e32IPoL3fUzJnjcQahw==} + '@fluid-experimental/sequence-deprecated@2.63.0': resolution: {integrity: sha512-itkYpevbQpEsl9EzPQg/ZKajKRZAFB7viOhmLKrXxfrDwJgLxCeSiSC1x4PSy0k/mco5HcqJjEh2e+osOBhyyg==} @@ -1000,6 +1120,9 @@ packages: '@fluid-internal/client-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-Xh9XH/Fi7FnTzQjJ6xL2KrN4SFq/gJT57ggarTy67Q/lDaS2jbbStZuHvn87Pyin3cWZZd62hQ3hjPHIMVJsXA==} + '@fluid-internal/client-utils@2.0.9': + resolution: {integrity: sha512-nFg9iartvv8IftC2ebqTxOnDBq/I5yDQMrci9u7TUcEf2LTsVwZPbCWltYV4yMNT3N9xfXmJCJcdjy/k/gypIA==} + '@fluid-internal/client-utils@2.13.0': resolution: {integrity: sha512-1HnG2I24G7279aTFqxgNdilAcP28Yfn0NJZB7frMZ5OtyWtF25+odAR0vWwMZMvmTwG+7ZdgRtQK0uctYpcNiw==} @@ -1018,6 +1141,9 @@ packages: '@fluid-internal/client-utils@2.53.1': resolution: {integrity: sha512-21QyfNFmAEimPUtA0uIz5ZNIRosksHIz7enNTeO8jaHQCLCB4NpWOCOW6br6Cvn7TKrqL54nErj9NmQj2ihllA==} + '@fluid-internal/client-utils@2.60.0': + resolution: {integrity: sha512-CeitAFYQvbEPpheSkdTEqMNk02nMrZRWJJso+613+AeWUjt2JJV5DwhxHG4qf5UnM4tJSOgL+A8GhPbd/7nnHg==} + '@fluid-internal/client-utils@2.63.0': resolution: {integrity: sha512-/QAkrHGTx1NWsWXh4AQ39/zUWv3k11jZdi1ZpInNBkYNg66OmxelTuYUAt8YAT/2FQj4jlQhcw1mlV6TVcur9g==} @@ -1036,6 +1162,9 @@ packages: '@fluid-internal/test-driver-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-9n1GjiB+17YjoD+Vna4UajD4OTxHLYEs/UuhXribWhupY/C3uqxSuk4OVFiw28gBbzhgIkbdWtvZ0D3AtFsuIw==} + '@fluid-internal/test-driver-definitions@2.0.9': + resolution: {integrity: sha512-JFLeX7qwhNIYCcrRCEmJwcNZnf/xOO0tZe1oT6dYLDMTTBiDD3MJpBTkIJGne8u/YjzDvRb60YKcsHSOVLckaQ==} + '@fluid-internal/test-driver-definitions@2.13.0': resolution: {integrity: sha512-ukMOLVON8eGMC361VNtpeXoDAfQqBCjr16ljUcj1ID1GOAr3PsXExz+XVa6AEEBf1pJfmC46sZUYXzvdmJoMhQ==} @@ -1054,6 +1183,9 @@ packages: '@fluid-internal/test-driver-definitions@2.53.1': resolution: {integrity: sha512-NzKW66uUJOQWQnuWM3Ht4DtQ8hJY8HWVTGeWyzW9zOMeX0W19b5cB2i930fhR/rhodUvN3M1i2MCQFTNJbcdHQ==} + '@fluid-internal/test-driver-definitions@2.60.0': + resolution: {integrity: sha512-TJV5kd5UnLIhrFhUmEeD2SL89+uHWn2SwaN+PIKhQO+PDpsbtFdBrvYdFhfCocUjoMEo0t+KVMllO5lPnTmQow==} + '@fluid-internal/test-driver-definitions@2.63.0': resolution: {integrity: sha512-+XlR2QDDc5trcw8vCEmv3pICLs5jtyHMjXWaIGNEeCWOqejUeOF99oY63064RYQg4i1eZBaex0gDEFQYAnXGNA==} @@ -1087,6 +1219,9 @@ packages: '@fluidframework/agent-scheduler@2.0.0-rc.5.0.8': resolution: {integrity: sha512-Tb8O/iLOLQJhZMGeNsP14Mxe5iUTa9TcD7Y40gnL4JQOPphrPYry3ysuFPaJ71DawM25HhnL/ZIIqn1cdsf/6g==} + '@fluidframework/agent-scheduler@2.0.9': + resolution: {integrity: sha512-7NSg2qf/QAUwbO44+TL9juyRDP/rFWYL26/7tHeaLnyN2zfPxeS8jBlauvG2QwBL6DDCHByhRR8PjJb0xhxLew==} + '@fluidframework/agent-scheduler@2.13.0': resolution: {integrity: sha512-llFIRK1eYxNbIbJ07obFAP5mGhcNvgKWPaosO2/30HZG1RufW4i2V6QZ9Is6LEZGs/KSNxNSPUIxXFmUrnr11w==} @@ -1105,6 +1240,9 @@ packages: '@fluidframework/agent-scheduler@2.53.1': resolution: {integrity: sha512-M1RunKXpMyvzlwYp2NxmG4EJyEBGOxFpoSBPNigr0AWrV8YEHn5DlSJUwMSrTZpC9POO3PddiXEm0WbDGGJc5g==} + '@fluidframework/agent-scheduler@2.60.0': + resolution: {integrity: sha512-Amwq8AsY4ZKQ+JqCrd5yGsY9xUVbS+d/45jXJttd28HuurWV3R3xAioBDcYlADHAtTDNhrbBlcTRcmQMdrcbiw==} + '@fluidframework/agent-scheduler@2.63.0': resolution: {integrity: sha512-6LcwwlcLHXgA/vVQBaai1yTfv1Rrx0U7/Z8VnqpOLw0Gbj5IfsM4PY6JdU2YS8vG+BcNTjgXPwJ1ukdupnuFSA==} @@ -1138,6 +1276,9 @@ packages: '@fluidframework/aqueduct@2.0.0-rc.5.0.8': resolution: {integrity: sha512-NTWKs4iBxs8PcncwKX3Ds6/wKbGnBPPPTwr0B586Eqb7BRy7sYieKS4xNB9QQfzahAuzoG1PCayG/06Oz0mRVw==} + '@fluidframework/aqueduct@2.0.9': + resolution: {integrity: sha512-RYdazZAz9FDhvWjXx/lUc4R1swoj91lGTkGvPLuisGvYxX3q+zbfD+mY4woC6kQvrjQWdSoVNa6gW8bF8x21rA==} + '@fluidframework/aqueduct@2.13.0': resolution: {integrity: sha512-otYAZm1iVfwFin6kMcgtz5hunyB1pKQVSH8V8uHm88MbspAEPxGA+X7QVDuzRxMaOoHT4AdM8uQtcGjD5kpVmw==} @@ -1156,6 +1297,9 @@ packages: '@fluidframework/aqueduct@2.53.1': resolution: {integrity: sha512-wckvXpJZM7DQqwxdUV25C0t9iHJreAxTMEiQSQkC3k+obyhA41EIdydNhtrmgJdfHrZ6auSJktYx1Aukw0xRkw==} + '@fluidframework/aqueduct@2.60.0': + resolution: {integrity: sha512-Nh0pyDRLQY8vU02ay7RQ7CNdhIBZcK3GV+I65hTi/G6wiDL09ofjmmTopnQ+Jpf9+p9UofXc5e+SROvOHtEQGw==} + '@fluidframework/aqueduct@2.63.0': resolution: {integrity: sha512-NCXalkph+w6DymENPCPrqBX3/xNtkxHSlKw+IHYrVoIZEWJttvi3qZx1rlOwGxfJyW5eMU5bDf1umfeD/3SyqQ==} @@ -1192,6 +1336,9 @@ packages: '@fluidframework/cell@2.0.0-rc.5.0.8': resolution: {integrity: sha512-8ZUE6Cy8dWzSk2NMCV/Y4Ad979fY50iLlAcBn8xlP4Vl7h1iDvg0U6XbtlU29WemIthrjUcP11F5DRgBRPNGbA==} + '@fluidframework/cell@2.0.9': + resolution: {integrity: sha512-I7WJeUeB2AtoF3OLvHia8TVyphHXMzGC+mwFA+ywg8Vck81POvlwNr2HO4X1bTsaPODG2NCIcZ+W98qiqhS+PQ==} + '@fluidframework/cell@2.13.0': resolution: {integrity: sha512-+6/mWfvL0+XKOAOM9vS/0ue/yE7Vbi4F6/okD7PEdKx3AswFymdDSkxFy3r3bA9QMIt47gjt/ucTL2mg00G0dQ==} @@ -1210,6 +1357,9 @@ packages: '@fluidframework/cell@2.53.1': resolution: {integrity: sha512-TasxTxkSi62bi0lxvMCk9/HbFMk22FBp7oH88p9vmm8HeCFCM43R8Jo0yxA4SakJLWnDYHfyijKzv/WwFsfe7A==} + '@fluidframework/cell@2.60.0': + resolution: {integrity: sha512-HGZTcac4RcEZ1tC45MqxeR1gCOcHansaF3zrTiyoT6ke8K8ADjSTJPlP3glWEa5fFTy1sQLpvw0dlfEpdKrrQA==} + '@fluidframework/cell@2.63.0': resolution: {integrity: sha512-Zx1FigDMGivFGWNRvzlG2qCkcR/SDk2vER2kjTTrC4Kux33nZDkira7wyrxsYdUrBYHZXeT7pAcDGhxilyFPvA==} @@ -1258,6 +1408,9 @@ packages: '@fluidframework/container-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-y5LRN+VeZYf1m9BpQcnK1v7oGCBZhcZKVR/UbXqTtTZdltzmQAvwqYvHgzHkFaisDjgCKAsbRlG7kKa/osIyHA==} + '@fluidframework/container-definitions@2.0.9': + resolution: {integrity: sha512-H09zhpVKQNCCDsivOYR1RfEOGIwZXhauATONnqV6pctnvWE206Yi1M3F5WsdJE46kVC0RBRmGqhvPlbviEFdsQ==} + '@fluidframework/container-definitions@2.13.0': resolution: {integrity: sha512-E5jfiCopeiZXpYRn85dTYcnwXJdfKAV3IEIKchdqvkeyou3bu+7M4motZysqR9PV79TPEzPIoojplV7f+JTI9g==} @@ -1276,6 +1429,9 @@ packages: '@fluidframework/container-definitions@2.53.1': resolution: {integrity: sha512-ss3ZRTc2OlgnlaK1igHebNMxzkScNzbrfMDFyZO5MgYW49GZ/+O3WKkj8iO+2e6NvgoUOVB763JbODo5v2PTDg==} + '@fluidframework/container-definitions@2.60.0': + resolution: {integrity: sha512-mN5gGodT8NrmavsXSXhhBb8hcPyurZHex6MkBQ2pSveeitMBNA2TksTom+1jPRyQEPUf4ee2zWsaMtxCGY3nRw==} + '@fluidframework/container-definitions@2.63.0': resolution: {integrity: sha512-GTogH8ZxqmNrtxjbPgXApTtc0gwte3Da0tHlQAVjnjtCUyrBZBtRzXj6+La4uZsqIIAphr88k+W6aiqSGw3xLw==} @@ -1309,6 +1465,9 @@ packages: '@fluidframework/container-loader@2.0.0-rc.5.0.8': resolution: {integrity: sha512-S3GUc24EMPABl6Gmk/5eqbrIx5NMgIaoFWDWM3BfGfv9uofGxpOM3OEfOKTXzjX6/7hx87zq3b1V2+SAGmhVcw==} + '@fluidframework/container-loader@2.0.9': + resolution: {integrity: sha512-J7nl8kLeNNFLVJEYWQcqU+BIYuSWZrfywlWQ3m5TVTajLOukfHOMFsXjqh+C+7G1jJoi4YX/aV7qDS9h5BZ2dQ==} + '@fluidframework/container-loader@2.13.0': resolution: {integrity: sha512-W/A9pGlPG02oL6RjOEnbe9Q5yO1OiW/K+CY8D0W9LvSLKd1x+J83u0mz1+1a7L/a6i9SCABeE5uiRuZFDKefsQ==} @@ -1327,6 +1486,9 @@ packages: '@fluidframework/container-loader@2.53.1': resolution: {integrity: sha512-hU4JwKshtCIJ807MIi2bv3NgxI9DK0CW420gPekSCAEddyard99S2vz3c8qJBE6nUNddwDCAU565jw8Ia7AK/g==} + '@fluidframework/container-loader@2.60.0': + resolution: {integrity: sha512-Yqh0nklNMtu2hpJBgb0RBccmbHKJfPPZYxbYMFEpAmWxsshkZzXdg5cbu6ZG1g2pH42IqaKDE8ziD3ChTurEFw==} + '@fluidframework/container-loader@2.63.0': resolution: {integrity: sha512-MApxsYW8n/BAYHeYCy8JZjYiR3vOXMzUUo+DAOltci2UlliqVI3uSg/+fVG+0k/JO95ZnTKiugsioY9qJgltSw==} @@ -1360,6 +1522,9 @@ packages: '@fluidframework/container-runtime-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-0ssV6sf+RQxpakGNT9q+ijsWPXT0tgP5zOGIShIrMYyJO/b3uq1DkxMGXSlK5mr1o6emozoTKh8kNKMqoH3d7w==} + '@fluidframework/container-runtime-definitions@2.0.9': + resolution: {integrity: sha512-2VoaPqrlCLpy2fFLSS/YQn8f7GT+SuA+y2Ag9zaKD/WvksN/klymUVM4D0PHeKGE+0ACRi2aWcomjMMow4Rznw==} + '@fluidframework/container-runtime-definitions@2.13.0': resolution: {integrity: sha512-GF0tzQkYzaVHRKoP9js/K4zgrbqxOHvAwQzvaDVAoT5birclGxLJM2KvDn3Ww2WNuR8CDG3gkLVCs2EPH0LSkw==} @@ -1378,6 +1543,9 @@ packages: '@fluidframework/container-runtime-definitions@2.53.1': resolution: {integrity: sha512-tJi6r1kYFeTjMF5rXiucfpO5pvWq1hUqRnhJulzNKQuAEWNErABuLlb0EwWJLWE5SivqcTO4x+cO9CF7A6UomA==} + '@fluidframework/container-runtime-definitions@2.60.0': + resolution: {integrity: sha512-PIScG79w2SadO1ew8iqhnQp7QEglPvTP5vP8C4ZVGXcsKhCNJB9s20KymBbqWVrtMiXhdugcB1lUZOyFYLCzsg==} + '@fluidframework/container-runtime-definitions@2.63.0': resolution: {integrity: sha512-qJULGLMWDsClUPJTcF5X6z2Fvz/yU6FaD6o02/CLPaA1a+7/6Fll6VCXTvSTe4Ab21922ZAVd/jWTVU1QUIuPQ==} @@ -1417,6 +1585,9 @@ packages: '@fluidframework/container-runtime@2.0.0-rc.5.0.8': resolution: {integrity: sha512-iSpaG1TNqVFiCpZ6D24ayJ0+sixSbS8lZ+E3uNjJ4L1lXMULafz2Ppfaw9Z9b4T9TTWaCnvlSHeOkm3TkKEBrQ==} + '@fluidframework/container-runtime@2.0.9': + resolution: {integrity: sha512-JizT3WHZzs3IuOnA5oAghDJ5o13cKhwD3U45Luvt2EbIADl+wB1W1TEjaKxiMXvty+ciR7oNX2HE1MXv4Ukwpw==} + '@fluidframework/container-runtime@2.13.0': resolution: {integrity: sha512-K+8gbl9MF57DKgg5Uzc8rDyT08y5yXBv08xI4N2IFSZhXnasQLMRaURh9FKIAHVcCWqLOxvpEbeDrGlMuaApIw==} @@ -1435,6 +1606,9 @@ packages: '@fluidframework/container-runtime@2.53.1': resolution: {integrity: sha512-olLgKV8VkvxJGcVQOygxaqt74Flqa3M059GVba/pM0MCJrJr+kpIesVI0rNlyvW0wchJdI4v6uuyAYaTamUv8g==} + '@fluidframework/container-runtime@2.60.0': + resolution: {integrity: sha512-691sK36eW+sroQoPma6NjeTLGr4T5IaD4DHLWzAtvOHYIFyzkI7LybVYcIerAjTguNf8hFoTZGcF1gOnT0VgBg==} + '@fluidframework/container-runtime@2.63.0': resolution: {integrity: sha512-21+KBIH0ONAkBPDDb7e9sv4dFIf6oZpkriRkSQd/GEUOMkrAZTAa9qip6NJSEvqDSucP4Xk8gDuNlgnRRwMdVw==} @@ -1480,6 +1654,9 @@ packages: '@fluidframework/core-interfaces@2.0.0-rc.5.0.8': resolution: {integrity: sha512-CBjy+tT7Xm6Dv8rb01iEqTYRsJd9itmKDbghOCfR+g1VvOeNTXm7x3lN2a9osRuGOSN5KBh9llMv2DdySihcRQ==} + '@fluidframework/core-interfaces@2.0.9': + resolution: {integrity: sha512-42tGoIHWFPNoZbjIu4Vk3okHJICW56WZg09PtZ6NPrQNTguEljANQXM6C0Lx7oaCh+nVmJpdw9xZigLo7ghFhQ==} + '@fluidframework/core-interfaces@2.13.0': resolution: {integrity: sha512-PUorh8Vd4bOArdebDice8HnVUmksb3cpwahoxcpUnVEzqqe6E8cYrl1tZFB+4qtw7Jl/WBSkyIdaeQH8GWgcaA==} @@ -1498,6 +1675,9 @@ packages: '@fluidframework/core-interfaces@2.53.1': resolution: {integrity: sha512-id9bR0gl1zagOS+MULdhGfCNASS0NjqvSQKRC4LA7ZhOJUIIQZ+rB+Feq0GI8nXlVNaYula9uCT5ukViiuCdUg==} + '@fluidframework/core-interfaces@2.60.0': + resolution: {integrity: sha512-8+ccjnDnHbeLjBhYot6AMQTJJk2MgMMGQQNxDkeNlI8Eh7xneY0I5O1l3j3DnhR6r4yggMq/MlbRyhvrPAkeNw==} + '@fluidframework/core-interfaces@2.63.0': resolution: {integrity: sha512-EGoWLDPWJWQfqdUsZGOOZhPTvp0rKbc/AfUjersx7pHwMoCUfhRljfrL5qhKmwwO4WAYiB3eVxkDg56/RdNuGQ==} @@ -1522,6 +1702,9 @@ packages: '@fluidframework/core-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-KkU0UqckhPKZ/z977D4urFKDmYb4mf9LF8nQNrk8TDJeJZvRuJslIJk11QW2sosqkLIV7L+UDAuQ600LPAGL1g==} + '@fluidframework/core-utils@2.0.9': + resolution: {integrity: sha512-Mc0IApbVGHY2AmwBMqhzeQ0JtCSpU23gfJAyCdchIxGy6ZJ+89cyGvLQEbWzFg6M0rh2PfJ9kb0v8Depnktvdw==} + '@fluidframework/core-utils@2.13.0': resolution: {integrity: sha512-8r1cW8a7UT/oCcHZNINBUu2MrlqclJajh21BqOLGjGWn2WdNvI3iWh1F1KKE7WcvYS8RPi9V5/PdvA25tsqt7g==} @@ -1540,6 +1723,9 @@ packages: '@fluidframework/core-utils@2.53.1': resolution: {integrity: sha512-c88Hx1yi9wyIBTXR7ole7/es3L9Dm7w+z0IJYMPm3bQaoJmoqSIhmfG5htWsaej+tnGun+6MCIptPk1PV9qp2A==} + '@fluidframework/core-utils@2.60.0': + resolution: {integrity: sha512-KnjuKPhRru/HpP7mLrjuH/riLO04K4ZakTYi9pJBbLy/H/gd5sLnMNqVe0tF3HPYSrr1sJVxndmj090aE0aLEw==} + '@fluidframework/core-utils@2.63.0': resolution: {integrity: sha512-0OawzGSsICNFCRRQA5XbZyg1kCJiBCUUttAkbefu2zSpOLUoEQrU6QbGuAh4zPZI5m1Hu8TaL0qmWVIXhTKI3w==} @@ -1573,6 +1759,9 @@ packages: '@fluidframework/counter@2.0.0-rc.5.0.8': resolution: {integrity: sha512-WTsOztNq35JrWabF9vqh5nLspJZxSox8RxFswQ5zhINYfarn9vyB9lEu+/1LSGEK5oQTo88Ab/nM7FPZZ+7kew==} + '@fluidframework/counter@2.0.9': + resolution: {integrity: sha512-Jt2yDHPe+IwLduhfh8OX7uQjqR1HrFI8lVd4abFyPRxGeUCO1mSS/WK7hTzqw8Fx7WkyxoT98owqnB5CQdr8Ng==} + '@fluidframework/counter@2.13.0': resolution: {integrity: sha512-YtqkqAX2dsVnKKcWYO4d9Be+zsbyYJLSc2C6mhrOY77SATopDdi9w0TSsjZ6y0GSASpg+xRxsHXQkEQScvah4Q==} @@ -1591,6 +1780,9 @@ packages: '@fluidframework/counter@2.53.1': resolution: {integrity: sha512-i4kHCRyAcyvPJeHbCn5P2rFlMeDIm0DNVUg7Co850EtDWmutxz3/lTcUeJxPTXVDTQBvE3ETagXAUfmiP1hZMw==} + '@fluidframework/counter@2.60.0': + resolution: {integrity: sha512-vk+3+5coimFM0uqpmT6+WSuKYLiKpblVVz2bIF+BGqdBSDRWFAkH4Fcj/kjDUA4kuBkdqz0tNcMBw5coylMPXQ==} + '@fluidframework/counter@2.63.0': resolution: {integrity: sha512-6oCFeTuXPv4bKXGCUU6NIRcsOaluUvzxtFRyM+A9Dj7Ii2Ostuf/Rfxo00vgNq4rHtNXLFh6yZpnP/HVVvrbIg==} @@ -1624,6 +1816,9 @@ packages: '@fluidframework/datastore-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-HAaOlYwCtK3nXxqyjQ9Ldgx+/ScTqXak/s3hkd6RMo4/KB63E2Vtfx2HpD6++0iEiDUjNohyFGw4DqCZf95wBg==} + '@fluidframework/datastore-definitions@2.0.9': + resolution: {integrity: sha512-Jf9JvgLKju8iGY3Up99W4XRpVxHYzk5ZS/b4TomUYZhHNk+hnDoBK8i8rtRcwv4RTbH9b6VtulhvtncBsgn/5w==} + '@fluidframework/datastore-definitions@2.13.0': resolution: {integrity: sha512-2pi7gNu127piWnvPmw5snBjObV4VSoHpuE0NIsuW4vqctrn4h6aqGKpEOSgL9FZM8PndasRskp2mlcVl00Ivaw==} @@ -1642,6 +1837,9 @@ packages: '@fluidframework/datastore-definitions@2.53.1': resolution: {integrity: sha512-zSgpop66JgGcg+TU3I6iCMvTKUvqKzhEHojYUNnZVOO6m2NTlVAg6gae4O3xMNbGjyUQgSgyuH1BpKOb8G+9iw==} + '@fluidframework/datastore-definitions@2.60.0': + resolution: {integrity: sha512-Dy4z9pbgjbvaSwETbwHBSbF6Qdc95lY6RxQ6xUFVYczJZh6e++74jGFPehEM6o7iocFWvRryG8VzDSZ5bBf+7w==} + '@fluidframework/datastore-definitions@2.63.0': resolution: {integrity: sha512-Nmgzx8Ns/YIviD18ogyCWxmsbaBlNWx+DWG4eSzel5Y/4uQvPUqlgWiDmw9LisLo0Gzgzft5dZXTXfjneiN/XQ==} @@ -1684,6 +1882,9 @@ packages: '@fluidframework/datastore@2.0.0-rc.5.0.8': resolution: {integrity: sha512-l7uvRhF+73iBE7u84qZ0iQ56dozDWVQw38oqIfjAc5mV+yrPMjfObiihIeZ9m7WqtXlFxQs6pWcI5KO+phQlsA==} + '@fluidframework/datastore@2.0.9': + resolution: {integrity: sha512-f565ajAjOfnD/skb0Hu4SvRrrod/riBacc6+D88ZoqnrtxfdBz5whoycxFeQ/CZtE7ldgJ/vLBWeyRN290FYXA==} + '@fluidframework/datastore@2.13.0': resolution: {integrity: sha512-HgddKvTdT7+1neDHtnklquQRzjfoxB1bfgY1ZGARgBWW7pojjbF6h9yWlQ9H9aIdBlk0m+3qgo+vpTX1bWcsGA==} @@ -1702,6 +1903,9 @@ packages: '@fluidframework/datastore@2.53.1': resolution: {integrity: sha512-rQQAl/3ZhB/opEct5zlHQMxyC6JY95JEMZoLXlg/fuez6codI34KUrhTKP5VvL+V5Z2VklO977rIfzp4LVejvg==} + '@fluidframework/datastore@2.60.0': + resolution: {integrity: sha512-Q7B1ZfoSy1Rl0GF++/IQ0nOSxrL163z34p/RqAqXmbjLntwocS+3yU/b4mu0iBgzb2gB7kJM6hZc93PHP6t07w==} + '@fluidframework/datastore@2.63.0': resolution: {integrity: sha512-tAa5gKN86Eozyr7U8uxlIBrk6mgLO3rhDIfUsSWL1C5ZSWJDeqfUT+gpNV6923rTvaFeMuLyRYhAanKjE4UzqQ==} @@ -1735,6 +1939,9 @@ packages: '@fluidframework/driver-base@2.0.0-rc.5.0.8': resolution: {integrity: sha512-MExxLUxUVeeUC555knQq8le5OlnrbEJ6H7a1UaTCPvzbn8oouJPmxu/EwzJbkr0QlBqDbZeqYTufw36Oe6mfDw==} + '@fluidframework/driver-base@2.0.9': + resolution: {integrity: sha512-ijSHBl0F1fNKW/VEc0cQW5pxbDEtj3py6sslnjirzsJw/f60EYpsnArGNJE+6X5EHeXbW/cAcHU2KKrfZKv7pQ==} + '@fluidframework/driver-base@2.13.0': resolution: {integrity: sha512-5nHQDikLJHY1SxoBa+pCRL6+sF3/q1DA2+nMFCdKF88/Cn51PNUP4H43c4y7orfhN4QrSIqNSkVHSDtUl0krog==} @@ -1753,6 +1960,9 @@ packages: '@fluidframework/driver-base@2.53.1': resolution: {integrity: sha512-X5iFDJLsS9ukjoyMEpUBofLuQT8UlZ+ZVBrTni70mNdh6pHbdjCvuvkhRAEts/r7hCVY51+4oLs0UiSoCy6Dqw==} + '@fluidframework/driver-base@2.60.0': + resolution: {integrity: sha512-BjjnDHmSEZ+W9ZaXde5+GweGl9Z8xLCrPVnPLrFHQy5VyD8toS6HJAgPASgAyLDEVxPiGTj7Bna4OR+N1m3VfA==} + '@fluidframework/driver-base@2.63.0': resolution: {integrity: sha512-lBEfWmedFs4epnMoGx8xiFAAQnAB4OsVSmiWUX1JhWS4PeCjnRj0S4ma3RRM8scICsa4Ep9HY72m+WoTO7fjfA==} @@ -1786,6 +1996,9 @@ packages: '@fluidframework/driver-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-3HPdCMCXnS8lbcZ0y0GxtWL7jiTop6IKFXKrm4GcxgtMYV7eNZzQCr6RrBqbcFI7TD+gyt0DIVyFyc3XzoKMIQ==} + '@fluidframework/driver-definitions@2.0.9': + resolution: {integrity: sha512-6uWUk9QzjsCpldvCw9rqZdPEorvOPjefsKjCPmGzC2meaEz3/HrEx9e0MYoohmK2eyMq0HbO89Di8vX+SXm9GQ==} + '@fluidframework/driver-definitions@2.13.0': resolution: {integrity: sha512-4R/YluUM929x6j96un2imJGrczPsdDhpfOPEe1ENiAOe0oGTfFBV+3o7uEBei8KD4AbjKuEIma0/dCfO5Z9zug==} @@ -1804,6 +2017,9 @@ packages: '@fluidframework/driver-definitions@2.53.1': resolution: {integrity: sha512-r3p0BbSLL9C3cR/xqzme/7eWveq7drh6UvWOVRhFdZrwv5ZJS9HOhnZtV6eEIvu/w25f8Z4q7PBdRjSbs3Y0hg==} + '@fluidframework/driver-definitions@2.60.0': + resolution: {integrity: sha512-GrFaeewL0EnYQhGX/OicPP7GCtf+zNecIDYfLlUlQKsQu2+tJCE4LA8Xda5AXamJZ/3bGnyeWluwJHS3zsmFMQ==} + '@fluidframework/driver-definitions@2.63.0': resolution: {integrity: sha512-Wu4w/78C6g5ARRQskggKuuECWOAxuV/SdGNTsbWmFl9FbV8qaChKYNKiXcx0CeVsnVE5HphspQHmQpt1lMqkzQ==} @@ -1837,6 +2053,9 @@ packages: '@fluidframework/driver-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-caaNVvEoECaxPxUcrVExVohbsrCeK878OofP3SMuYNcaX08uG6RvpTN1xC6DcwWmGzaT3i0gB7pzMD+KuKcJOQ==} + '@fluidframework/driver-utils@2.0.9': + resolution: {integrity: sha512-CyJV9y+IzUveWNaWNOYlp4VhdSgFlb++0fxXJX6HOgn+qZ8S8SX1DVHgtAWCyTsUXIhrElgpfCc9PmaqhHimjA==} + '@fluidframework/driver-utils@2.13.0': resolution: {integrity: sha512-BxF5OFUzb9AfJWZv2FZBfX8YlforO3GORIJJNuhmDbLbp4B16FUUydP5K8U+JWFZaYRHkiBhR1A2D72QJnjZxw==} @@ -1855,6 +2074,9 @@ packages: '@fluidframework/driver-utils@2.53.1': resolution: {integrity: sha512-rfyD838xkCdRmF5LsOQXmgpPYv6tVybADdrXN84RoLquVjQaTqOkSas/Kr62BtulJfCFQtcbf9ABLVAlTqxjNA==} + '@fluidframework/driver-utils@2.60.0': + resolution: {integrity: sha512-UPOe7pZfz6di84D1rB4CIukMMbs8pb0YNA+Mx8GXqIK/PWwqTv4/byuB68fvEWUHM3weptA92sweyJHhofH1bg==} + '@fluidframework/driver-utils@2.63.0': resolution: {integrity: sha512-5FxnWt5Dsp5c0sF4YcbKiS/5NidvjdZSTwYINiYGt/siRM+0eFyqEHx4ba1ywWIVfqcIX0MURqK8+Y+r4MSZAQ==} @@ -1906,6 +2128,9 @@ packages: '@fluidframework/id-compressor@2.0.0-rc.5.0.8': resolution: {integrity: sha512-DgLMNyzYugnP+dXvW1WmIbDPBzGuvF871sL5PNCIkwAJoJBCtuKZdhj3qlnnGrs11IIPQ/lOy+kx5tGHv5u9cA==} + '@fluidframework/id-compressor@2.0.9': + resolution: {integrity: sha512-gN7TdH+jkLnw+Lrfkp3swad1TpYeYVsd9Vto1ZwRcnAvjDCoHzFJpbhPe2kJZ4oWr6F+SHTGQ2B9DQx8Xt5EYQ==} + '@fluidframework/id-compressor@2.13.0': resolution: {integrity: sha512-Ape+kFFITYmDnX6B9tuZXWmJgYsf4d7lk4AT2Oj0zEqBMxJJOEEpga00LL2Zt2EVWJ5VdUH/MqAowB8SbVgW0g==} @@ -1924,6 +2149,9 @@ packages: '@fluidframework/id-compressor@2.53.1': resolution: {integrity: sha512-IeGv6GuH/dSCoNRZJSX7dy0rvxKQf6UkNR7qoHSqbh+lWiYtka/4Bh52oGWGQTFuO3/uAjoW+CI3zn701fvzng==} + '@fluidframework/id-compressor@2.60.0': + resolution: {integrity: sha512-xFF/Bgs3Z+Ndc/nrhnUXms/pSRP2yKTWdq0eFKjfcheG7yCQaxx3/U5F8k8Zi6D4oc6jEhWunODtG3JJtYXXHw==} + '@fluidframework/id-compressor@2.63.0': resolution: {integrity: sha512-L++y0d64BA2iDFSdTzftBoSfOYwWOsGfoAlkdulvJzoRsDNJqcvsvHYWTiuNU9ipm2BL9/9plfW+jJrmad/C8w==} @@ -1957,6 +2185,9 @@ packages: '@fluidframework/local-driver@2.0.0-rc.5.0.8': resolution: {integrity: sha512-1nsZVU0QC2+2uZo6M01JsHmfV7bOfqss+A4FMzL8vCSaYWII2a9WDqyVphFrz4/rpFDp3/3gdwIHV6jVk+Ujfw==} + '@fluidframework/local-driver@2.0.9': + resolution: {integrity: sha512-grEy8sb2kMt6yFdc/elVXzATuFgOvKy3uFeF2ocLCYbLsEbHOTmTzOKzltmOZb9Ij59tAaDp9jse7rqOvmwuEQ==} + '@fluidframework/local-driver@2.13.0': resolution: {integrity: sha512-+ZjAPFQCNvgT0nx2VD6sxMmmoaBwJd4iLTtaZXotjK1ZVz7kJAporMg8JDL/M7xqQmz7aBIP32gYr1HQv8F4QA==} @@ -1975,6 +2206,9 @@ packages: '@fluidframework/local-driver@2.53.1': resolution: {integrity: sha512-NwtG5TLtDNwv5dKEtJ8CJYhv++FkfPuPlKCtnbIIMAgGqHYqRCb85BvJ6DltTWmzIi7gUdqm6rmyXr1wIUMrkA==} + '@fluidframework/local-driver@2.60.0': + resolution: {integrity: sha512-rgXOFJyuwzXA9/89IUC80ajfI760u42YQT8ZI5d2ADAxMe7Vs40ithS0AEKFSbwE6oYu2MJvlYX8Kx/oogzutw==} + '@fluidframework/local-driver@2.63.0': resolution: {integrity: sha512-Gb9yrslTahpBbdDnJTmZnMG/5hGjnNkhWB8DgHl6ETtwCDmw23Uwl/WFBhPtWVJjamQWVKE0wjYT1na9qCW0Sw==} @@ -2008,6 +2242,9 @@ packages: '@fluidframework/map@2.0.0-rc.5.0.8': resolution: {integrity: sha512-AQm6Xcde6okC62rqHqzeCrK5yVWoj4PjvOxCTxWDzZFVTf5N7rm/QT0s0ID3klnY0Ohc8kSzoWl8T2zeuyFg0w==} + '@fluidframework/map@2.0.9': + resolution: {integrity: sha512-+6sG4ZWGYHJIv8N9fCkHNgR6g1t4pvUKPTk1D7t5uawWKGE1KI0QBXVQA7XHnINbmTcjIobT8t0wHOh9+WQR3g==} + '@fluidframework/map@2.13.0': resolution: {integrity: sha512-LiXT/+r7rN509x1V8G+iiC8xzvh99lfh2vnEXKlNiznvHJOMP7+YUCX3YPB1VZy2FHgWFrAzzhyM/9WU89ER0A==} @@ -2026,6 +2263,9 @@ packages: '@fluidframework/map@2.53.1': resolution: {integrity: sha512-Htvv9eNg9YrjeiWTluyDindeuM7JPD2ni4mRezLDX8Dql5Z8BbmNeJ6Epk2GFCmvJF1D5uXoOGhjoiiWpWU+SA==} + '@fluidframework/map@2.60.0': + resolution: {integrity: sha512-8IAxs6ynG2vFsgN5UZ8VJWEQEOR0LyVqCUWsgNphsJxeTbk0+3LWMj8cZE1pOkjq4vr8S2ur2guIl6lV+rmrcQ==} + '@fluidframework/map@2.63.0': resolution: {integrity: sha512-soBD9IzxfpC2ZEw5IyZ0VFVqPv0/LDH2XF4PzVBmGC/0Y+eFrFNAA8vk6JNQbvkap9p4NO7rZSol+ytBKUg1SA==} @@ -2059,6 +2299,9 @@ packages: '@fluidframework/matrix@2.0.0-rc.5.0.8': resolution: {integrity: sha512-sfzHtct9ZRT7ie9VKCk0LQjZUhPHkminy1aFS6g9WJd/kxTwmys2qVe0wqW3b7tKViUkphMH0Vg41bsdcqfITQ==} + '@fluidframework/matrix@2.0.9': + resolution: {integrity: sha512-G9Bwjo18oQXXxpWkOALHNvlVbhyE4gSzHE4B9Rg5PlFWvkRWBYKjJ48ZD7x1RaCnWK63uO+I0i7Vw7BBjSernQ==} + '@fluidframework/matrix@2.13.0': resolution: {integrity: sha512-2n3ewjzXFD8jcrQFrM3y9tEnv/H1LVO9EhEoN7D8sNwZNxE+3nNTRf1pOxdrrkrcmPUHYoq9CT4feMF72vqy0Q==} @@ -2077,6 +2320,9 @@ packages: '@fluidframework/matrix@2.53.1': resolution: {integrity: sha512-+/hmNmXbWQ2Jjgrt0bfzhbDhpESIVYijY52ZOHHHLe5j9jlkiW7Mz2cct10MNx+EREW7WyFCusxcKjgFuzT41A==} + '@fluidframework/matrix@2.60.0': + resolution: {integrity: sha512-Wrxm/JK/L6opbIXHJSXUSJ62e1fZdsEWPjmsNdOiK6RxECErX0TqTziDvPLlCnY/hiPsc+uXVeCZfVZGLTFtWA==} + '@fluidframework/matrix@2.63.0': resolution: {integrity: sha512-qyQ4r1zGgK+vPq3Nq0W8amfmePa6wn71nd9Tx1T9W6j/RycG5Maew2HqMwyVi6jEbDiuX8txDz6JgGnN0vse5A==} @@ -2110,6 +2356,9 @@ packages: '@fluidframework/merge-tree@2.0.0-rc.5.0.8': resolution: {integrity: sha512-+DHxEb+noOz4CKzcwM49mPSF6BngW4CFYGMIitsPOkJRJCTElmSnOVdJ6eewP9hWcw1SBJ2DFLvD7o/dQ5nYSg==} + '@fluidframework/merge-tree@2.0.9': + resolution: {integrity: sha512-BAUpt7UpUPsrryVMqiA5cPALqLnldDXoykG/s4NOJQs5BLuO88eBoBQXvsXSI9Rh4JTidP0T+7iTZoFfZXImKQ==} + '@fluidframework/merge-tree@2.13.0': resolution: {integrity: sha512-MzGR0hXebEVpFG64hL0h40ua7V8ZTpTbDmNzDqhXlKHW/c5RAcxr6v3jdMNs9S7SQwTVmBMyf+jLDtoPMKJnBg==} @@ -2128,6 +2377,9 @@ packages: '@fluidframework/merge-tree@2.53.1': resolution: {integrity: sha512-IgXJMoYQ+N8odccjc1r3tfgLN+hRIq2HDs6hA8KCSJS2lSPzj4W0D0I9Cs4EBAmGAFL1P9Rq1ITdRzdIGq8uJw==} + '@fluidframework/merge-tree@2.60.0': + resolution: {integrity: sha512-FGnxVecmMCUufM4RjKz5xQ3YTXhy2ndqXA+guoVcCfDoOfH7/idvgTov6Zb0EszVH/A8rGxqA7m6UhQx+5wxRg==} + '@fluidframework/merge-tree@2.63.0': resolution: {integrity: sha512-ttDLD/odQWDPQmzrITdck9CpdaymzqJmRq5jHdaVUvIC6uOBCtbb2dlfuNj4zoAEeL/eD+y9j2ZOmKVg8Ico1A==} @@ -2161,6 +2413,9 @@ packages: '@fluidframework/odsp-doclib-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-zqU/WD29llopBILZiT3Q6MSUrh4vp9EMAHLI5Jc7HxfdKTuYK+TsRIZL4fdv997HSyK7YH6TV1olXHli5zo8yw==} + '@fluidframework/odsp-doclib-utils@2.0.9': + resolution: {integrity: sha512-hYDOTx+zY7kMldAQ40gMv9PzVAWuzAxV9fRUSw45b9X92fPt3LAdi9bY7kXu8ONE/0XSBkNieBJktQC6GrFHJw==} + '@fluidframework/odsp-doclib-utils@2.13.0': resolution: {integrity: sha512-mVYPAGGC2Az7wmTRVgPnpisLwarUdXau84hRW1aR3xoHDGxSsixiD8admYYclUrMt5z85UNJ/s5jqePq+7TJHw==} @@ -2179,6 +2434,9 @@ packages: '@fluidframework/odsp-doclib-utils@2.53.1': resolution: {integrity: sha512-mszg5su+0sj1Kb/dPGvCOuJXf08TZFpU6L0x3OVjFkLAGmPM0X/1ba8xu8bAO4jNJt52w4y7J88KolcusG1hZg==} + '@fluidframework/odsp-doclib-utils@2.60.0': + resolution: {integrity: sha512-vZMUtPzYIdBcBU69JUJRmmT4Q/54LqQ0rrDyTxiHTaw0Ol1EFmZ1YjTu5M9TAN31QDVE1wbyA9qU5O5xMgtgrw==} + '@fluidframework/odsp-doclib-utils@2.63.0': resolution: {integrity: sha512-C5rWlojFHpuEu/a4p2m6NqmbnItZz0011U3U10GCrXlFC/QAgRIDVIcbY5P2kx4I5VEpl2vJrjfH3h5SVSc2iw==} @@ -2212,6 +2470,9 @@ packages: '@fluidframework/odsp-driver-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-T8sRVd8VoLQSpI0K1wOUdbofKpeMzG3mnvK/j7+bRMYjlCi3G6VYJ+6XQiwRGW/BzLBEEmTfiKSAn5N0E0kP/A==} + '@fluidframework/odsp-driver-definitions@2.0.9': + resolution: {integrity: sha512-ar2R/WIHnQ21NR8ZVP7qsrAxtUWZPcS93k8rDWet7uiXdX9Jn1jmvsy2xi5Pfaz4WI94HPbRgrrZrNuZFBGZng==} + '@fluidframework/odsp-driver-definitions@2.13.0': resolution: {integrity: sha512-FA2J+A4lPRuRun3bvij+SUJBhFygeOoWPw3LMYOg4OxnvIzxZq+D3vlQNUdB2DbS1DlNpffaHk3V80HbB+18ww==} @@ -2230,6 +2491,9 @@ packages: '@fluidframework/odsp-driver-definitions@2.53.1': resolution: {integrity: sha512-ckJr9Dtzo+MZobsmMlAbApnIjrjl3AgJnugsquatQpNLi0xTkd3A+Sj5mk8HWzd53eOQ31IzJR9pgPQCCUf+sw==} + '@fluidframework/odsp-driver-definitions@2.60.0': + resolution: {integrity: sha512-O28QNkus+ASyX2aFx9fiaozjMKza638i9CeMmp836AwQvItAY8ETr2LUe+BCZ/I34TjzBvuf3vK88PgesSqDdQ==} + '@fluidframework/odsp-driver-definitions@2.63.0': resolution: {integrity: sha512-mPCX20M9xDdKYhL4Vrt0J1Hd3eX0P0brr1y72l7rWxFud2ft7+JIHCDsAMa66wY3bdPRXYJAiuvoUHsHPeZrxw==} @@ -2263,6 +2527,9 @@ packages: '@fluidframework/odsp-driver@2.0.0-rc.5.0.8': resolution: {integrity: sha512-WCwjfYIn7KVVEsISdcyTmzwfGxaUhtf5G7RAsY3t/bH1LzWZE1IeiBVdYTxs4Pm8zY4I3qT2hbIPrJ5wvAPBVQ==} + '@fluidframework/odsp-driver@2.0.9': + resolution: {integrity: sha512-RS7/KrQvooTzyyKdDMbTujTH39bRz3VYanyQOmS+HgrS30MiXjTMIJaQrVolxTdKMATNp9PWt8fyk3n4Fj8kKA==} + '@fluidframework/odsp-driver@2.13.0': resolution: {integrity: sha512-+HUISS1MDS2MXzHuP23njwjFb3t4xU/SRau77AAxcius+YpaNhJrsodcHc4seXiOAOqEoXtf62zJFs4fGLUAcw==} @@ -2281,6 +2548,9 @@ packages: '@fluidframework/odsp-driver@2.53.1': resolution: {integrity: sha512-+FwQrzzLjX25RaLvkWuOuYhy9yjT8DOSIsI8NGk5i6p+oPfF5Fgiq7CINI16S6SuTr+MVLynv15obvcJhotMSw==} + '@fluidframework/odsp-driver@2.60.0': + resolution: {integrity: sha512-6tv6LYkTbRV18UIlhR20gUY0zaX4DDMxI+kbkGWZnyp0T+AI4O/qTuw06dirJo+4qE9PEfChqnP3WDUlfsJjnA==} + '@fluidframework/odsp-driver@2.63.0': resolution: {integrity: sha512-RU2Gf47qI8vvctHVp9tiG6Pu/2Z4IGBtG3SJs+tP6ofM//A90gmECxrL/qoZfq8bmmWESSJ7DDdcWrG/sjahGQ==} @@ -2314,6 +2584,9 @@ packages: '@fluidframework/ordered-collection@2.0.0-rc.5.0.8': resolution: {integrity: sha512-MGw6W7n3hbM52a8CbfQ7IzJiAbODD5U/2hAGgOmSVfNJSqjVXaauGIim6ZywcInzN2r1ftJ5xymabq3Ss3rv8Q==} + '@fluidframework/ordered-collection@2.0.9': + resolution: {integrity: sha512-6xKpZuPxNgetsaMmuQR9nS5WVzAaKrASlynO6xmHAiPyBOmCd4f1rzUNwMWj3D+1QoBZNY3fh40x31oWQPO7MQ==} + '@fluidframework/ordered-collection@2.13.0': resolution: {integrity: sha512-sYIH/+4R1tQcwjgagd+6JocCFy5vewI/qvIVoBgiZUlxgAOvo26aRgYH0ov5xbuCT18yrzSjMIeDcdMY98ukhQ==} @@ -2332,6 +2605,9 @@ packages: '@fluidframework/ordered-collection@2.53.1': resolution: {integrity: sha512-BJClO5C6qilqPb0efkimo0zYi7ckgiJyiagaVSvH8KKSz4mSBPqHta0jRJfeSkJgyE1g3NzVgkhJ3O/clUVHrQ==} + '@fluidframework/ordered-collection@2.60.0': + resolution: {integrity: sha512-E1w79UHKwfixTlKrysdFJhvcc3karW8h6tI3kGX2EkfhUCUJAGPbb4lmgRdtxDhppT+qmnLaItLElpERZHzpDA==} + '@fluidframework/ordered-collection@2.63.0': resolution: {integrity: sha512-64xDGGGl7FG/OvjPhIcXFs0jV+La6Aq30xKGydwL4pyZxJgVIIuhr/ShS4OBk+CXpIkLKRJTW70avlMjzzfn1Q==} @@ -2401,6 +2677,9 @@ packages: '@fluidframework/register-collection@2.0.0-rc.5.0.8': resolution: {integrity: sha512-G7cKSYvzU1SXprV1VeRFAp2immD7aw02SU/4gsJ91pTeZSJstOxqqNOx//lEpGAMXOstEbFUxsX+k23nHCj5Cw==} + '@fluidframework/register-collection@2.0.9': + resolution: {integrity: sha512-mfSzrcNBLoNKQZox5g4ukzxpWymwEbCt4EyIV4imAQfZnGuSFgn8Eul1aKup3UlbibWnLceBkt0b0+9Wr6S/CQ==} + '@fluidframework/register-collection@2.13.0': resolution: {integrity: sha512-ZT9PfiwWk9vp0W/03pS7AW83BPTUxFH1H05Ey4BdLtLu7KKUhQ0qJeTlwDkdG4iz698hRYSiO+08ka13RZEICQ==} @@ -2419,6 +2698,9 @@ packages: '@fluidframework/register-collection@2.53.1': resolution: {integrity: sha512-65xAkBt/0xHUAmI7UniZ3FrwOKpGaqZlV+VUzFCXg7+XvsIsLW248Wz3MTMHsklzBdYObDeVZm1BgyqvhPrq0g==} + '@fluidframework/register-collection@2.60.0': + resolution: {integrity: sha512-oMqWeGmvu9yl4lmj044/FL+JC99b/W6W/3y88dUIzbiTP0bE2qq4aqB0Vay+zLeIY5mKHZ2CxBDjJHAu1YV6hQ==} + '@fluidframework/register-collection@2.63.0': resolution: {integrity: sha512-yyorfQs7FG8KjRQtV2ydV4AVLgcHiTFc6FvRoNxH0671gbHfDXVFBj6rmxk4nLEJtbwgCUCcNXUA8ioawMXTsg==} @@ -2452,6 +2734,9 @@ packages: '@fluidframework/request-handler@2.0.0-rc.5.0.8': resolution: {integrity: sha512-iZJosPopLBGQl72OsOYroeamXdTjUKYW/uSVchPO6YAJYkNp44gSGltNE5io+6N9dZZ9Ema5zuWgYd+Xj8QNPg==} + '@fluidframework/request-handler@2.0.9': + resolution: {integrity: sha512-WQRk7WN0AaPloz2LY6NxfpcsYKlukbtBwjAuhiccK+dENuCFmXcfI/qFEMieO7MXAk0tZYpS150NIVm7lZbioA==} + '@fluidframework/request-handler@2.13.0': resolution: {integrity: sha512-mCq5GeKp0ve+iORP4XMtjsttCMm9hSZZ3jT0nsV1zHvOCNwRx4z/DQe/Icpp/Kn45e9iU2NZTbcs7hq4zhIPfA==} @@ -2470,6 +2755,9 @@ packages: '@fluidframework/request-handler@2.53.1': resolution: {integrity: sha512-ptOU7gqTc5otPwxCOIuoOYIBYliFO931deJtjQX/HxZ+DhRvf3t7/m6I3/IGq7YfTMXPqIskyG6xxFZTSLZI4w==} + '@fluidframework/request-handler@2.60.0': + resolution: {integrity: sha512-3SA0o8ZOxZXbrPURBW6WBH/IEZJCNAQeVFmZsqPeVzqaGh7B7axVORyNEUPMVZC/pzLiF+4roRnDVqQ8GhKvLA==} + '@fluidframework/request-handler@2.63.0': resolution: {integrity: sha512-YUARzzZlV9phD0traZBlqJd9AspqeVg7GkmhY2LfxUceGzHR5gu4MQK47KfuejrU1JEeTjkKY/ibAhA5OleptA==} @@ -2512,6 +2800,9 @@ packages: '@fluidframework/routerlicious-driver@2.0.0-rc.5.0.8': resolution: {integrity: sha512-r6ensm6KDHXYVsri2kZRX3RlSwlL2+Tyi+ONYSgJLhpkFmaBTOoHyGbwoflRHEF3NXoRkeJg3Hspa9Cr26PglA==} + '@fluidframework/routerlicious-driver@2.0.9': + resolution: {integrity: sha512-IDbhZXr36Pvn86nE9qCpnWHOC/gN9iIedrcW2NAzXowRNPkH7IuBisCvLrSFeca13gjqfOh3RZU9pwGYeuQSAA==} + '@fluidframework/routerlicious-driver@2.13.0': resolution: {integrity: sha512-dQJE/+1rVTjP26PoHtfzJJTjWH9QLAV+7hNF5fs9zA6plAjEAPFc0bC54uAKwfDbT5VBJXveqRv9k4mPXwAMnQ==} @@ -2530,6 +2821,9 @@ packages: '@fluidframework/routerlicious-driver@2.53.1': resolution: {integrity: sha512-nqoIYB3KuPvLE2K49DczvMM96E0GwlbvLGzr0tZmxQG2LMwLDreL58zN6LQgLILmOLFkpEV7AvFnbuEis4mYDQ==} + '@fluidframework/routerlicious-driver@2.60.0': + resolution: {integrity: sha512-uY1jHgVN3i1IOaE3rIja31ze3cFrFmlACYja81MaHXzy25F13geqKv5REEXmEW36KEZ/iZOUXRFCWeQPsGPngA==} + '@fluidframework/routerlicious-driver@2.63.0': resolution: {integrity: sha512-AqMdmjpdTkl9iWVXg0nuRixeZmES3k9incuu7FSygfA5p3vzbAfrQdM6XssBlH3SbeKeuU7YNjJ/wZ9Zn36AuA==} @@ -2563,6 +2857,9 @@ packages: '@fluidframework/runtime-definitions@2.0.0-rc.5.0.8': resolution: {integrity: sha512-8uSSzsZt7OvgblmOdYx3eAXo81y5o+pFmN53wgzV8M18zjjUukRvZe5+r5vIGK+nIebKxbucjV2fRzr5pFEZJg==} + '@fluidframework/runtime-definitions@2.0.9': + resolution: {integrity: sha512-FytgIViTt99iiiswe28XF4BO19GWdFfXriYeHAdixbypybEEvFmorvcX0LFX4F+/qMo6EfoLnU59B3j2ENgMWg==} + '@fluidframework/runtime-definitions@2.13.0': resolution: {integrity: sha512-X46gNWCCxvrtXRdrijBnaNaB11mSgctJj38w2PaEsQrfdL+KE1RKkgr/919yen1RRmJK/xzNvS44AS7Y0b5N0w==} @@ -2581,6 +2878,9 @@ packages: '@fluidframework/runtime-definitions@2.53.1': resolution: {integrity: sha512-LAsEmlVHWaZIQSzJQ9jWv34KNYIt9uKt98iVeUKeTVcXSZD6YX0kMuxO+93i0fAdsVmTotlSKAhfRersHbJ5ZA==} + '@fluidframework/runtime-definitions@2.60.0': + resolution: {integrity: sha512-9TX1GuKy9zYil95hwhWfafVvA6Rn7NxcagZatEYPFNcuMp452ZqokQ/6upTiY8w8u6CgGE+ye/R/l+EsMmUtYg==} + '@fluidframework/runtime-definitions@2.63.0': resolution: {integrity: sha512-sanFH/A5WFTovbkhx0hsI0shvcKSyZ6S3naaiYe4vy4WR7Afs165bADONy0Vucv1CkOx7crFCCenF6G/DzT1bA==} @@ -2614,6 +2914,9 @@ packages: '@fluidframework/runtime-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-Eiz4aoaOfGyrFPyv7M2JNqK4LpOqO61bwt0B8JLUEzcwXvkwFkii/KlvjALCDz1OtEuiP/ejBwdngNRBElhN0w==} + '@fluidframework/runtime-utils@2.0.9': + resolution: {integrity: sha512-DMBSLJYYB32/xErvxybNl8iYCSsqVic5bsU84ErlcgqVzOA2a4CaZlCMDDSh5Z6RLRRlt2YhHqSw1MXcVGZOiA==} + '@fluidframework/runtime-utils@2.13.0': resolution: {integrity: sha512-8e0EeWINuNfy1NwVlwymggIowtO2i6funhyko7ByY9QAJ3q4eHt5f3mTSGXWdH+YB0GrSFHN+hfapXaLOHFRGg==} @@ -2632,6 +2935,9 @@ packages: '@fluidframework/runtime-utils@2.53.1': resolution: {integrity: sha512-n8+zp1MiPThhpsbZwuXIb/GptsK3uexfC9olVD41XltM1rOMeAnqLarWPpbczeCW2MyRYLmam27LhAVE+8bT/g==} + '@fluidframework/runtime-utils@2.60.0': + resolution: {integrity: sha512-bM9ArMEhchp4UARzCjY/j07Wy2DOhnYRcREXTsSQus2eDswC1vuQqTUY+YIbBX43DOv9noS1HSfiOB79Fmb/vA==} + '@fluidframework/runtime-utils@2.63.0': resolution: {integrity: sha512-B8j7QM12G+aV/C9ErDtIDyVA3SWe25xIpRwxHASyIf0yec/RbMTATW9j6A+vpijB/JKJAquwkAEX3Q/yU2ngzQ==} @@ -2665,6 +2971,9 @@ packages: '@fluidframework/sequence@2.0.0-rc.5.0.8': resolution: {integrity: sha512-AwlD8jQ4DxbtHyuU53j4ujT6K4ZT3gJ9ajXv2I+lhbPRR2trXjhRyXN/bXhEdn9anqGzat/3yHchTfVZC0/A1A==} + '@fluidframework/sequence@2.0.9': + resolution: {integrity: sha512-yJpdKaHxVr/TzztCg2E591u0365DbRQzw7Yd3MKwn4ecJNT3ZfNXnVg1QJKTiVqv9L3eOZaEQpsnxpK592QndA==} + '@fluidframework/sequence@2.13.0': resolution: {integrity: sha512-mV/IYX7mhZUfOdpiTDe3hDn5Ln4z8ort1qSjt5s/GCxyeCHS1NaMZDnygHrdiocUoaVi1cYZl1h7wdl3jduLsw==} @@ -2683,6 +2992,9 @@ packages: '@fluidframework/sequence@2.53.1': resolution: {integrity: sha512-t/shmRlr7Jq2DP0QwYYCgJGf9ctilZfun/Kjj+QVne7hEL4snXS6pctCw8eKw3j5QCdv5AfjR5kBDVp2ck4ZpA==} + '@fluidframework/sequence@2.60.0': + resolution: {integrity: sha512-lUykZS/pGeV1gQegDpA5FcgHcc0r7awViYB1V26jD2UbiDLPgZIWeUCZ4PERTxQbmJUdtufrlfJVp9marSzVlw==} + '@fluidframework/sequence@2.63.0': resolution: {integrity: sha512-sGxleapbwBR4AtK8FVpfiJ54ovuSJAvPUjIXa3Bw0ikR5gYmj0l13rYTJg43VzpduJIrNhkxTzqoKyVCMMWrlg==} @@ -2908,6 +3220,9 @@ packages: '@fluidframework/shared-object-base@2.0.0-rc.5.0.8': resolution: {integrity: sha512-NUOlU3iMv/chVOy3/VLPzD0F9MMHkWcx0VupwUjzTjt7FRAMcmnsukmCx8JD7LB+5KOJYqddUX4nehgD8sH52Q==} + '@fluidframework/shared-object-base@2.0.9': + resolution: {integrity: sha512-dQnUnJ79P2mCTCrZdrIgA/KIZiKzzZXVl3uN+WcN3XDJt0MdVXslsmICqf8KhZ7d0FLgtUlGJ4GH7+OfcnVptw==} + '@fluidframework/shared-object-base@2.13.0': resolution: {integrity: sha512-Bf6SJ2mkxIIagIkecWvhly4FXbbLO5Dy9p4S6Wge4cWMy5eP1UrY1Hc81ieK1v3dWnrilK6XQe+7qXxKRAuWzw==} @@ -2926,6 +3241,9 @@ packages: '@fluidframework/shared-object-base@2.53.1': resolution: {integrity: sha512-JBAOxQW3GysRG1tQ91aRI8GUTDgRxowPejpOtBBiw1UtaUaS+paPtINWrbpGP4N8PKn35WFu2k+QbIRFVT1OLg==} + '@fluidframework/shared-object-base@2.60.0': + resolution: {integrity: sha512-9RaruFHJcFBakUwwhmC1quQ4/Uu0z1w6fDdJZ8PZhbInDq6ZYp6Oi5tUzXyKK3k7sm5/rJdugr9Agzv1GG3IRA==} + '@fluidframework/shared-object-base@2.63.0': resolution: {integrity: sha512-HZ6bSboVhp1tZmS3DcpTCI/y1vHa3QO01lH49wJHqtUNVFSjwBuA90kJPIurv+w+k/0ktJ5GfBx7DjmCbpLHIA==} @@ -2959,6 +3277,9 @@ packages: '@fluidframework/synthesize@2.0.0-rc.5.0.8': resolution: {integrity: sha512-2krnlBuwb2+zAA40hKXjOHf+BAeEdWZnQSv0RomFdGVugk0qdW1ZHnJroysLKBq1b/BX5oIETTEgU1R9ZbL6OQ==} + '@fluidframework/synthesize@2.0.9': + resolution: {integrity: sha512-3Ixclhsp+gv/m7nDxNrYV0WrzrKnJe++QkzEOTc7O2pU2Zi1mybfHegY3UoNOpteL6Is7s+9IDoXZMP9RB0VNw==} + '@fluidframework/synthesize@2.13.0': resolution: {integrity: sha512-liTu6wF2IsXE3Py8bHtDEo03B2h95hSsvYv1SgXBmHRBpUUM7CTAlHDlymL9y1x72a8l44Ge9HTpbuQaD2ZYXA==} @@ -2977,6 +3298,9 @@ packages: '@fluidframework/synthesize@2.53.1': resolution: {integrity: sha512-WpGa/R/XyOWLqqtaKLXGgzxTPEada6G8A5H9B4fzmjbyfe0Oqr7fIoRrC0aKpy3mGBnDFdah+GJ/p4XiF9Vdaw==} + '@fluidframework/synthesize@2.60.0': + resolution: {integrity: sha512-KBkX4kOaZKNEwMq69N/RyJhiSK7UiFvQuhzbL/nK3YMehARgFmjwBnYzLM5X5+aQwgbetf1iwJLBifouOi3qbw==} + '@fluidframework/synthesize@2.63.0': resolution: {integrity: sha512-wzoySaRfSnNmKljgvwM8baIYx7+qvG58WGt8AJBDVEBAedsCXN0CtTMbK2pFvyNPVsZ4SPMgk140py6INjZolQ==} @@ -3010,6 +3334,9 @@ packages: '@fluidframework/telemetry-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-6eSdS+sUD2VOunvolN9AVFSfZaRb9BsNdZfRejaGlKLZPaCqFWe1FKsL48KjE6HjACOOeKSTQRq/JuuZcR7FYA==} + '@fluidframework/telemetry-utils@2.0.9': + resolution: {integrity: sha512-Id0jWxYnM4d6iK1il/pjrBCyImWXw8nnM3fu9YO91+9vKj+9NM+l8sYnvMJMtyjjbLzzMppL+RSDGVkI/i9W0A==} + '@fluidframework/telemetry-utils@2.13.0': resolution: {integrity: sha512-AvMSSf30G6DNStf7CL15WzjpFmKJoRqppuATGNXliktm5iLtokxZ2dKNiS8bLa/mB9zV/q0pCHD9Lsngx+zvcg==} @@ -3028,6 +3355,9 @@ packages: '@fluidframework/telemetry-utils@2.53.1': resolution: {integrity: sha512-XbnzCBKsr/hfaVy5Qcs4hhUkNQF9ZIUk81t4zvMko0Mh32+tIdH/ncxi3le4fxazKuLT3yVvVCzXxibzjkUpSA==} + '@fluidframework/telemetry-utils@2.60.0': + resolution: {integrity: sha512-TN1DQUHGUYfAb+f1vjGP5zwDdJv7L9Oy8FOIZXW9fm0K3hcYQ0cE79w3r4r0iQ34ORyUkEaTgnJF2xubc8Mlnw==} + '@fluidframework/telemetry-utils@2.63.0': resolution: {integrity: sha512-jm8/c338lQma5i55bmfpGYisDgeztNTUC2ZSy+oo1j6l6xEwcykSyuh0j0i7uxdiCvaQYdiE7zIMaxP/gOY3wg==} @@ -3091,6 +3421,9 @@ packages: '@fluidframework/test-utils@2.0.0-rc.5.0.8': resolution: {integrity: sha512-tkYpcyvqLpMS/91vI+HTB/dB3IL3+u4Yq3QJkHRLB6tWPCACiE3zG/egvv1jvQRKguF6D+Cdo9n7l3d082co+A==} + '@fluidframework/test-utils@2.0.9': + resolution: {integrity: sha512-l8EOhFLAISj/K2xJ04H8Y1+FiqLi80Z3NwcxtiQ1ExVTxyq762MTJXSdESQrTWeN+tvOEAyjZBTzBdBn8ZGzPQ==} + '@fluidframework/test-utils@2.13.0': resolution: {integrity: sha512-MaZ541H9A4q9oaf2jGqgAA7Ziviq426Ct81X+dlOsesvDdesbUcOeIZP3v1H4BICOUuneu/GoJzZi+siM10HJA==} @@ -3109,6 +3442,9 @@ packages: '@fluidframework/test-utils@2.53.1': resolution: {integrity: sha512-uSiZilYK8Ok3aiBtm/3rWWoP4ckVDcJtLygULOqpxIcYJUTudbMGQVpzG30pBGRL3lnJg7W1QVwiTfst61Xwqw==} + '@fluidframework/test-utils@2.60.0': + resolution: {integrity: sha512-9pkGz2WKfKe9AOF3LSYGio51T7Lfxce7o5/thLC6kL6cMzcGTcYUiS/7cUYYQ2kFkr7+pi31hVP7AyVn/bfPBw==} + '@fluidframework/test-utils@2.63.0': resolution: {integrity: sha512-H/ZO7eQnTdjkllqj7vtunEaMIpRRcMohYWynk5RPHp2AEO0YtgI4MtASd3CtK9Ggpvl4xsP57glEWkdvmJNc0w==} @@ -3121,6 +3457,9 @@ packages: '@fluidframework/test-utils@2.93.0': resolution: {integrity: sha512-EKvt0yQRCnbeH82SHveOmI4T6tSxK/myc3dFLddepxT/OO2F/yViAXmQHL910pmP/4sAjRI5iWmAEt3WH5BGxA==} + '@fluidframework/tree@2.0.9': + resolution: {integrity: sha512-32x/7uvts8BE0ljiwS49gzs+9hXXyiapft9G4VbMh2IH07iyyJpM0l8en5CyvLqYl09CvE6TTbARX+MSm+0rRw==} + '@fluidframework/tree@2.13.0': resolution: {integrity: sha512-s3h6J5QC+jS3Ty2TH3hmg0PLb++TEeN+cVQ2jNEAt9C3FCfy/5OZOs7F9tiLkZNvxGA6NwwZ2E8OlK4KChyi1g==} @@ -3139,6 +3478,9 @@ packages: '@fluidframework/tree@2.53.1': resolution: {integrity: sha512-WntCMRhyyD5I2xYojicI4WPMMv1Sbb7E9oU8XC1MsUT5W/0VB8xedh/jFWuvHHi4Mbub9miSo9fujG7a+LDuew==} + '@fluidframework/tree@2.60.0': + resolution: {integrity: sha512-CKa7FfeqefnLMKzFfWW6ft1m54ErZmuS8RmwRDWqS6WNFAoJFnEvjiFB6sGFVkInQGlq8fTH9uQF+JR/t2KS6w==} + '@fluidframework/tree@2.63.0': resolution: {integrity: sha512-A72gqnv8a2pWZzRNspGkV+vCSMwHb4ltZkt29dTDSp/vuGceR9mbT5R0WIChHtR2jTWM3mK3AGJHfgxsz2/RJA==} @@ -4207,6 +4549,18 @@ snapshots: - debug - supports-color + '@fluid-experimental/sequence-deprecated@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/merge-tree': 2.0.9(debug@4.4.3) + '@fluidframework/sequence': 2.0.9 + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluid-experimental/sequence-deprecated@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -4279,6 +4633,18 @@ snapshots: - debug - supports-color + '@fluid-experimental/sequence-deprecated@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/merge-tree': 2.60.0 + '@fluidframework/sequence': 2.60.0 + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluid-experimental/sequence-deprecated@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -4357,6 +4723,16 @@ snapshots: events_pkg: events@3.3.0 sha.js: 2.4.12 + '@fluid-internal/client-utils@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@types/events_pkg': '@types/events@3.0.3' + base64-js: 1.5.1 + buffer: 6.0.3 + events_pkg: events@3.3.0 + sha.js: 2.4.12 + '@fluid-internal/client-utils@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -4417,6 +4793,16 @@ snapshots: events_pkg: events@3.3.0 sha.js: 2.4.12 + '@fluid-internal/client-utils@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@types/events_pkg': '@types/events@3.0.3' + base64-js: 1.5.1 + buffer: 6.0.3 + events_pkg: events@3.3.0 + sha.js: 2.4.12 + '@fluid-internal/client-utils@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -4468,6 +4854,11 @@ snapshots: '@fluidframework/core-interfaces': 2.0.0-rc.5.0.8 '@fluidframework/driver-definitions': 2.0.0-rc.5.0.8 + '@fluid-internal/test-driver-definitions@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluid-internal/test-driver-definitions@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -4498,6 +4889,11 @@ snapshots: '@fluidframework/core-interfaces': 2.53.1 '@fluidframework/driver-definitions': 2.53.1 + '@fluid-internal/test-driver-definitions@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluid-internal/test-driver-definitions@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -4642,6 +5038,24 @@ snapshots: - debug - supports-color + '@fluidframework/agent-scheduler@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore': 2.0.9(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/map': 2.0.9(debug@4.4.3) + '@fluidframework/register-collection': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/agent-scheduler@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -4750,6 +5164,24 @@ snapshots: - debug - supports-color + '@fluidframework/agent-scheduler@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore': 2.60.0(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/map': 2.60.0(debug@4.4.3) + '@fluidframework/register-collection': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/agent-scheduler@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -4967,6 +5399,26 @@ snapshots: - debug - supports-color + '@fluidframework/aqueduct@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/container-runtime': 2.0.9(debug@4.4.3) + '@fluidframework/container-runtime-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore': 2.0.9(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/map': 2.0.9(debug@4.4.3) + '@fluidframework/request-handler': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/synthesize': 2.0.9 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/aqueduct@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -5093,6 +5545,28 @@ snapshots: - debug - supports-color + '@fluidframework/aqueduct@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/container-runtime': 2.60.0(debug@4.4.3) + '@fluidframework/container-runtime-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore': 2.60.0(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/map': 2.60.0(debug@4.4.3) + '@fluidframework/request-handler': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/synthesize': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + '@fluidframework/tree': 2.60.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/aqueduct@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -5275,6 +5749,19 @@ snapshots: - debug - supports-color + '@fluidframework/cell@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/cell@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -5353,6 +5840,19 @@ snapshots: - debug - supports-color + '@fluidframework/cell@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/cell@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -5485,6 +5985,11 @@ snapshots: '@fluidframework/core-interfaces': 2.0.0-rc.5.0.8 '@fluidframework/driver-definitions': 2.0.0-rc.5.0.8 + '@fluidframework/container-definitions@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/container-definitions@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -5515,6 +6020,11 @@ snapshots: '@fluidframework/core-interfaces': 2.53.1 '@fluidframework/driver-definitions': 2.53.1 + '@fluidframework/container-definitions@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/container-definitions@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -5675,6 +6185,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/container-loader@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + '@types/events_pkg': '@types/events@3.0.3' + '@ungap/structured-clone': 1.3.0 + debug: 4.4.3(supports-color@8.1.1) + double-ended-queue: 2.1.0-0 + events_pkg: events@3.3.0 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + '@fluidframework/container-loader@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -5783,6 +6311,24 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/container-loader@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + '@types/events_pkg': '@types/events@3.0.3' + '@ungap/structured-clone': 1.3.0 + debug: 4.4.3(supports-color@8.1.1) + double-ended-queue: 2.1.0-0 + events_pkg: events@3.3.0 + uuid: 11.1.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/container-loader@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -5918,6 +6464,15 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/container-runtime-definitions@2.0.9': + dependencies: + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + transitivePeerDependencies: + - supports-color + '@fluidframework/container-runtime-definitions@2.13.0': dependencies: '@fluidframework/container-definitions': 2.13.0 @@ -5974,6 +6529,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/container-runtime-definitions@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/container-runtime-definitions@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -6223,6 +6788,28 @@ snapshots: - debug - supports-color + '@fluidframework/container-runtime@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/container-runtime-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore': 2.0.9(debug@4.4.3) + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/id-compressor': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + '@tylerbu/sorted-btree-es6': 1.8.0 + double-ended-queue: 2.1.0-0 + lz4js: 0.2.0 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/container-runtime@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -6358,6 +6945,29 @@ snapshots: - debug - supports-color + '@fluidframework/container-runtime@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/container-runtime-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore': 2.60.0(debug@4.4.3) + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + '@tylerbu/sorted-btree-es6': 1.8.0 + double-ended-queue: 2.1.0-0 + lz4js: 0.2.0 + semver-ts: 1.0.3 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/container-runtime@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -6502,6 +7112,8 @@ snapshots: '@fluidframework/core-interfaces@2.0.0-rc.5.0.8': {} + '@fluidframework/core-interfaces@2.0.9': {} + '@fluidframework/core-interfaces@2.13.0': {} '@fluidframework/core-interfaces@2.23.0': {} @@ -6514,6 +7126,8 @@ snapshots: '@fluidframework/core-interfaces@2.53.1': {} + '@fluidframework/core-interfaces@2.60.0': {} + '@fluidframework/core-interfaces@2.63.0': {} '@fluidframework/core-interfaces@2.74.0': {} @@ -6530,6 +7144,8 @@ snapshots: '@fluidframework/core-utils@2.0.0-rc.5.0.8': {} + '@fluidframework/core-utils@2.0.9': {} + '@fluidframework/core-utils@2.13.0': {} '@fluidframework/core-utils@2.23.0': {} @@ -6542,6 +7158,8 @@ snapshots: '@fluidframework/core-utils@2.53.1': {} + '@fluidframework/core-utils@2.60.0': {} + '@fluidframework/core-utils@2.63.0': {} '@fluidframework/core-utils@2.74.0': {} @@ -6641,6 +7259,19 @@ snapshots: - debug - supports-color + '@fluidframework/counter@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/counter@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -6719,6 +7350,19 @@ snapshots: - debug - supports-color + '@fluidframework/counter@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/counter@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -6834,6 +7478,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/datastore-definitions@2.0.9': + dependencies: + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/id-compressor': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + transitivePeerDependencies: + - supports-color + '@fluidframework/datastore-definitions@2.13.0': dependencies: '@fluidframework/container-definitions': 2.13.0 @@ -6894,6 +7548,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/datastore-definitions@2.60.0': + dependencies: + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/datastore-definitions@2.63.0': dependencies: '@fluidframework/container-definitions': 2.63.0 @@ -7141,6 +7805,24 @@ snapshots: - debug - supports-color + '@fluidframework/datastore@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/id-compressor': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/datastore@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -7249,7 +7931,25 @@ snapshots: - debug - supports-color - '@fluidframework/datastore@2.63.0(debug@4.4.3)': + '@fluidframework/datastore@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + + '@fluidframework/datastore@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 '@fluidframework/container-definitions': 2.63.0 @@ -7405,6 +8105,18 @@ snapshots: - debug - supports-color + '@fluidframework/driver-base@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/driver-base@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -7477,6 +8189,18 @@ snapshots: - debug - supports-color + '@fluidframework/driver-base@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/driver-base@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -7561,6 +8285,10 @@ snapshots: dependencies: '@fluidframework/core-interfaces': 2.0.0-rc.5.0.8 + '@fluidframework/driver-definitions@2.0.9': + dependencies: + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions@2.13.0': dependencies: '@fluidframework/core-interfaces': 2.13.0 @@ -7585,6 +8313,10 @@ snapshots: dependencies: '@fluidframework/core-interfaces': 2.53.1 + '@fluidframework/driver-definitions@2.60.0': + dependencies: + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions@2.63.0': dependencies: '@fluidframework/core-interfaces': 2.63.0 @@ -7716,6 +8448,20 @@ snapshots: - debug - supports-color + '@fluidframework/driver-utils@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + axios: 1.15.0(debug@4.4.3) + lz4js: 0.2.0 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/driver-utils@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -7800,6 +8546,20 @@ snapshots: - debug - supports-color + '@fluidframework/driver-utils@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + axios: 1.15.0(debug@4.4.3) + lz4js: 0.2.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/driver-utils@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -7908,6 +8668,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/id-compressor@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + '@tylerbu/sorted-btree-es6': 1.8.0 + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + '@fluidframework/id-compressor@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -7974,6 +8745,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/id-compressor@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + '@tylerbu/sorted-btree-es6': 1.8.0 + uuid: 11.1.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/id-compressor@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -8191,6 +8973,30 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/local-driver@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-base': 2.0.9(debug@4.4.3) + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/protocol-base': 5.0.0 + '@fluidframework/routerlicious-driver': 2.0.9(debug@4.4.3) + '@fluidframework/server-local-server': 5.0.0 + '@fluidframework/server-services-client': 5.0.0 + '@fluidframework/server-services-core': 5.0.0 + '@fluidframework/server-test-utils': 5.0.0 + '@fluidframework/telemetry-utils': 2.0.9 + jsrsasign: 11.1.2 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/local-driver@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -8335,6 +9141,30 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/local-driver@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-base': 2.60.0(debug@4.4.3) + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/protocol-base': 7.0.0 + '@fluidframework/routerlicious-driver': 2.60.0(debug@4.4.3) + '@fluidframework/server-local-server': 7.0.0 + '@fluidframework/server-services-client': 7.0.0 + '@fluidframework/server-services-core': 7.0.0 + '@fluidframework/server-test-utils': 7.0.0 + '@fluidframework/telemetry-utils': 2.60.0 + jsrsasign: 11.1.2 + uuid: 11.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/local-driver@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -8548,6 +9378,24 @@ snapshots: - debug - supports-color + '@fluidframework/map@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/merge-tree': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + path-browserify: 1.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/map@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -8656,6 +9504,23 @@ snapshots: - debug - supports-color + '@fluidframework/map@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + path-browserify: 1.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/map@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -8860,6 +9725,26 @@ snapshots: - debug - supports-color + '@fluidframework/matrix@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/merge-tree': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + '@tiny-calc/nano': 0.0.0-alpha.5 + double-ended-queue: 2.1.0-0 + tslib: 1.14.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/matrix@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -8980,6 +9865,26 @@ snapshots: - debug - supports-color + '@fluidframework/matrix@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/merge-tree': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + '@tiny-calc/nano': 0.0.0-alpha.5 + double-ended-queue: 2.1.0-0 + tslib: 1.14.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/matrix@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -9172,6 +10077,22 @@ snapshots: - debug - supports-color + '@fluidframework/merge-tree@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/merge-tree@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -9268,6 +10189,22 @@ snapshots: - debug - supports-color + '@fluidframework/merge-tree@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/merge-tree@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -9431,6 +10368,21 @@ snapshots: - encoding - supports-color + '@fluidframework/odsp-doclib-utils@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/odsp-driver-definitions': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + isomorphic-fetch: 3.0.0 + transitivePeerDependencies: + - debug + - encoding + - supports-color + '@fluidframework/odsp-doclib-utils@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -9521,6 +10473,21 @@ snapshots: - encoding - supports-color + '@fluidframework/odsp-doclib-utils@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/odsp-driver-definitions': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + isomorphic-fetch: 3.0.0 + transitivePeerDependencies: + - debug + - encoding + - supports-color + '@fluidframework/odsp-doclib-utils@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -9605,6 +10572,10 @@ snapshots: dependencies: '@fluidframework/driver-definitions': 2.0.0-rc.5.0.8 + '@fluidframework/odsp-driver-definitions@2.0.9': + dependencies: + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/odsp-driver-definitions@2.13.0': dependencies: '@fluidframework/driver-definitions': 2.13.0 @@ -9629,6 +10600,10 @@ snapshots: dependencies: '@fluidframework/driver-definitions': 2.53.1 + '@fluidframework/odsp-driver-definitions@2.60.0': + dependencies: + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/odsp-driver-definitions@2.63.0': dependencies: '@fluidframework/driver-definitions': 2.63.0 @@ -9812,6 +10787,27 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/odsp-driver@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-base': 2.0.9(debug@4.4.3) + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/odsp-doclib-utils': 2.0.9 + '@fluidframework/odsp-driver-definitions': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + node-fetch: 2.7.0 + socket.io-client: 4.8.3 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/odsp-driver@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -9934,6 +10930,26 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/odsp-driver@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-base': 2.60.0(debug@4.4.3) + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/odsp-doclib-utils': 2.60.0(debug@4.4.3) + '@fluidframework/odsp-driver-definitions': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + socket.io-client: 4.7.5 + uuid: 11.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/odsp-driver@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -10114,6 +11130,22 @@ snapshots: - debug - supports-color + '@fluidframework/ordered-collection@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/ordered-collection@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -10210,6 +11242,22 @@ snapshots: - debug - supports-color + '@fluidframework/ordered-collection@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/ordered-collection@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -10437,6 +11485,20 @@ snapshots: - debug - supports-color + '@fluidframework/register-collection@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/register-collection@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -10521,6 +11583,20 @@ snapshots: - debug - supports-color + '@fluidframework/register-collection@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/register-collection@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -10649,6 +11725,17 @@ snapshots: - debug - supports-color + '@fluidframework/request-handler@2.0.9(debug@4.4.3)': + dependencies: + '@fluidframework/container-runtime-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/request-handler@2.13.0(debug@4.4.3)': dependencies: '@fluidframework/container-runtime-definitions': 2.13.0 @@ -10715,6 +11802,17 @@ snapshots: - debug - supports-color + '@fluidframework/request-handler@2.60.0(debug@4.4.3)': + dependencies: + '@fluidframework/container-runtime-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/request-handler@2.63.0(debug@4.4.3)': dependencies: '@fluidframework/container-runtime-definitions': 2.63.0 @@ -11000,6 +12098,27 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/routerlicious-driver@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-base': 2.0.9(debug@4.4.3) + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/server-services-client': 5.0.0 + '@fluidframework/telemetry-utils': 2.0.9 + cross-fetch: 3.2.0 + json-stringify-safe: 5.0.1 + socket.io-client: 4.8.3 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/routerlicious-driver@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -11126,6 +12245,27 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/routerlicious-driver@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-base': 2.60.0(debug@4.4.3) + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/server-services-client': 7.0.0 + '@fluidframework/telemetry-utils': 2.60.0 + cross-fetch: 3.2.0 + json-stringify-safe: 5.0.1 + socket.io-client: 4.7.5 + uuid: 11.1.0 + transitivePeerDependencies: + - bufferutil + - debug + - encoding + - supports-color + - utf-8-validate + '@fluidframework/routerlicious-driver@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -11269,6 +12409,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/runtime-definitions@2.0.9': + dependencies: + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/id-compressor': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + transitivePeerDependencies: + - supports-color + '@fluidframework/runtime-definitions@2.13.0': dependencies: '@fluidframework/container-definitions': 2.13.0 @@ -11329,6 +12479,16 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/runtime-definitions@2.60.0': + dependencies: + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/runtime-definitions@2.63.0': dependencies: '@fluidframework/container-definitions': 2.63.0 @@ -11483,6 +12643,22 @@ snapshots: - debug - supports-color + '@fluidframework/runtime-utils@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/container-runtime-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/telemetry-utils': 2.0.9 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/runtime-utils@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -11580,6 +12756,23 @@ snapshots: - debug - supports-color + '@fluidframework/runtime-utils@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/container-runtime-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/telemetry-utils': 2.60.0 + semver-ts: 1.0.3 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/runtime-utils@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -11770,6 +12963,24 @@ snapshots: - debug - supports-color + '@fluidframework/sequence@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/merge-tree': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + double-ended-queue: 2.1.0-0 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/sequence@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -11878,6 +13089,24 @@ snapshots: - debug - supports-color + '@fluidframework/sequence@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/merge-tree': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + double-ended-queue: 2.1.0-0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/sequence@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -13223,6 +14452,24 @@ snapshots: - debug - supports-color + '@fluidframework/shared-object-base@2.0.9(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/container-runtime': 2.0.9(debug@4.4.3) + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore': 2.0.9(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/shared-object-base@2.13.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -13330,6 +14577,24 @@ snapshots: - debug - supports-color + '@fluidframework/shared-object-base@2.60.0(debug@4.4.3)': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore': 2.60.0(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/shared-object-base@2.63.0(debug@4.4.3)': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -13423,6 +14688,10 @@ snapshots: dependencies: '@fluidframework/core-utils': 2.0.0-rc.5.0.8 + '@fluidframework/synthesize@2.0.9': + dependencies: + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/synthesize@2.13.0': dependencies: '@fluidframework/core-utils': 2.13.0 @@ -13447,6 +14716,10 @@ snapshots: dependencies: '@fluidframework/core-utils': 2.53.1 + '@fluidframework/synthesize@2.60.0': + dependencies: + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/synthesize@2.63.0': dependencies: '@fluidframework/core-utils': 2.63.0 @@ -13539,6 +14812,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/telemetry-utils@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + debug: 4.4.3(supports-color@8.1.1) + uuid: 9.0.1 + transitivePeerDependencies: + - supports-color + '@fluidframework/telemetry-utils@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -13605,6 +14889,17 @@ snapshots: transitivePeerDependencies: - supports-color + '@fluidframework/telemetry-utils@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + debug: 4.4.3(supports-color@8.1.1) + uuid: 11.1.0 + transitivePeerDependencies: + - supports-color + '@fluidframework/telemetry-utils@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 @@ -14034,6 +15329,37 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/test-utils@2.0.9': + dependencies: + '@fluid-internal/test-driver-definitions': 2.0.9 + '@fluidframework/aqueduct': 2.0.9(debug@4.4.3) + '@fluidframework/container-definitions': 2.0.9 + '@fluidframework/container-loader': 2.0.9 + '@fluidframework/container-runtime': 2.0.9(debug@4.4.3) + '@fluidframework/container-runtime-definitions': 2.0.9 + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore': 2.0.9(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/driver-utils': 2.0.9(debug@4.4.3) + '@fluidframework/local-driver': 2.0.9(debug@4.4.3) + '@fluidframework/map': 2.0.9(debug@4.4.3) + '@fluidframework/request-handler': 2.0.9(debug@4.4.3) + '@fluidframework/routerlicious-driver': 2.0.9(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + best-random: 1.0.3 + debug: 4.4.3(supports-color@8.1.1) + mocha: 10.8.2 + uuid: 9.0.1 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@fluidframework/test-utils@2.13.0': dependencies: '@fluid-internal/test-driver-definitions': 2.13.0 @@ -14225,6 +15551,38 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/test-utils@2.60.0': + dependencies: + '@fluid-internal/test-driver-definitions': 2.60.0 + '@fluidframework/container-definitions': 2.60.0 + '@fluidframework/container-loader': 2.60.0 + '@fluidframework/container-runtime': 2.60.0(debug@4.4.3) + '@fluidframework/container-runtime-definitions': 2.60.0 + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore': 2.60.0(debug@4.4.3) + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/driver-utils': 2.60.0(debug@4.4.3) + '@fluidframework/local-driver': 2.60.0(debug@4.4.3) + '@fluidframework/map': 2.60.0(debug@4.4.3) + '@fluidframework/odsp-driver': 2.60.0(debug@4.4.3) + '@fluidframework/request-handler': 2.60.0(debug@4.4.3) + '@fluidframework/routerlicious-driver': 2.60.0(debug@4.4.3) + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + best-random: 1.0.3 + debug: 4.4.3(supports-color@8.1.1) + mocha: 10.8.2 + uuid: 11.1.0 + transitivePeerDependencies: + - bufferutil + - encoding + - supports-color + - utf-8-validate + '@fluidframework/test-utils@2.63.0': dependencies: '@fluid-internal/test-driver-definitions': 2.63.0 @@ -14351,6 +15709,27 @@ snapshots: - supports-color - utf-8-validate + '@fluidframework/tree@2.0.9': + dependencies: + '@fluid-internal/client-utils': 2.0.9 + '@fluidframework/container-runtime': 2.0.9(debug@4.4.3) + '@fluidframework/core-interfaces': 2.0.9 + '@fluidframework/core-utils': 2.0.9 + '@fluidframework/datastore-definitions': 2.0.9 + '@fluidframework/driver-definitions': 2.0.9 + '@fluidframework/id-compressor': 2.0.9 + '@fluidframework/runtime-definitions': 2.0.9 + '@fluidframework/runtime-utils': 2.0.9(debug@4.4.3) + '@fluidframework/shared-object-base': 2.0.9(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.0.9 + '@sinclair/typebox': 0.32.35 + '@tylerbu/sorted-btree-es6': 1.8.0 + '@ungap/structured-clone': 1.3.0 + uuid: 9.0.1 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/tree@2.13.0': dependencies: '@fluid-internal/client-utils': 2.13.0 @@ -14483,6 +15862,28 @@ snapshots: - debug - supports-color + '@fluidframework/tree@2.60.0': + dependencies: + '@fluid-internal/client-utils': 2.60.0 + '@fluidframework/container-runtime': 2.60.0(debug@4.4.3) + '@fluidframework/core-interfaces': 2.60.0 + '@fluidframework/core-utils': 2.60.0 + '@fluidframework/datastore-definitions': 2.60.0 + '@fluidframework/driver-definitions': 2.60.0 + '@fluidframework/id-compressor': 2.60.0 + '@fluidframework/runtime-definitions': 2.60.0 + '@fluidframework/runtime-utils': 2.60.0(debug@4.4.3) + '@fluidframework/shared-object-base': 2.60.0(debug@4.4.3) + '@fluidframework/telemetry-utils': 2.60.0 + '@sinclair/typebox': 0.34.49 + '@tylerbu/sorted-btree-es6': 1.8.0 + '@types/ungap__structured-clone': 1.2.0 + '@ungap/structured-clone': 1.3.0 + uuid: 11.1.0 + transitivePeerDependencies: + - debug + - supports-color + '@fluidframework/tree@2.63.0': dependencies: '@fluid-internal/client-utils': 2.63.0 diff --git a/packages/test/test-version-utils/compat-workspaces/generated-versions.cjs b/packages/test/test-version-utils/compat-workspaces/generated-versions.cjs index 7af5657fab07..3f2f5215b75d 100644 --- a/packages/test/test-version-utils/compat-workspaces/generated-versions.cjs +++ b/packages/test/test-version-utils/compat-workspaces/generated-versions.cjs @@ -13,12 +13,14 @@ module.exports = { "2.83.0", "2.74.0", "2.63.0", + "2.60.0", "2.53.1", "2.43.0", "2.33.2", "2.23.0", "2.13.0", "2.5.0", + "2.0.9", "2.0.0-rc.5.0.8", "2.0.0-rc.4.0.10", "2.0.0-internal.7.0.0", diff --git a/packages/test/test-version-utils/scripts/updateCompatVersions.ts b/packages/test/test-version-utils/scripts/updateCompatVersions.ts index 810e07c2a79f..d5c443e8a49e 100644 --- a/packages/test/test-version-utils/scripts/updateCompatVersions.ts +++ b/packages/test/test-version-utils/scripts/updateCompatVersions.ts @@ -6,13 +6,16 @@ /** * Update script for the compat test workspaces. * - * Run this script after a Fluid Framework version bump as part of the release process: + * Run this script after: + * - A Fluid Framework version bump as part of the release process + * - A new compatibility checkpoint is designated * * pnpm run update-compat-versions * * The script: * 1. Reads the current package version from `src/packageVersion.ts`. - * 2. Queries the npm registry to resolve N-1, N-2, and all full back-compat versions. + * 2. Queries the npm registry to resolve the in-window prior Compatibility Checkpoints + * (see `src/checkpoints.ts`) and all full back-compat versions. * 3. Writes `compat-workspaces/generated-versions.cjs` with the resolved exact versions. * 4. Creates or updates per-version `package.json` files in `compat-workspaces/full/`. * 5. Removes version directories that are no longer needed. @@ -48,6 +51,11 @@ import { numOfInternalMajorsBeforePublic2dot0, oldestCompatibleVersion, } from "../src/compatConfig.js"; +import { + checkpointResolutionRange, + getCurrentCheckpoint, + getInWindowPriorCheckpoints, +} from "../src/checkpoints.js"; // --------------------------------------------------------------------------- // Configuration @@ -109,17 +117,6 @@ function resolveVersionForMinorDelta(pkgVer: string, delta: number): string | un return tryResolveRangeViaRegistry(rangeSpec); } -/** - * Resolves a public-major delta relative to `pkgVer` against the npm registry. - * Unlike {@link resolveVersionForMinorDelta}, this adjusts by public major version - * (e.g. delta -1 from any 2.x resolves to the latest 1.x), used for cross-client - * slow-train compat testing. - */ -function resolveVersionForMajorDelta(pkgVer: string, delta: number): string | undefined { - const rangeSpec = calculateRequestedRange(pkgVer, delta, true /* adjustPublicMajor */); - return tryResolveRangeViaRegistry(rangeSpec); -} - // --------------------------------------------------------------------------- // Workspace file generation // --------------------------------------------------------------------------- @@ -225,46 +222,47 @@ async function main(): Promise { }; console.log(`Current package version: ${pkgVer}`); - // Resolve standard versions - console.log("\nResolving standard versions..."); - const nMinus1 = resolveVersionForMinorDelta(pkgVer, -1); - const nMinus2 = resolveVersionForMinorDelta(pkgVer, -2); - if (nMinus1 === undefined || nMinus2 === undefined) { - throw new Error("Could not resolve N-1 or N-2. Check registry connectivity."); - } - - console.log(` n-1: ${nMinus1}`); - console.log(` n-2: ${nMinus2}`); - console.log(` ocv: ${oldestCompatibleVersion}`); + // Resolve the in-window prior Compatibility Checkpoints that drive the + // cross-client and layer-compat e2e matrices. + console.log("\nResolving in-window compatibility checkpoints..."); + const currentCheckpoint = getCurrentCheckpoint(pkgVer); + console.log( + ` Current: ${currentCheckpoint.name} (opens at ${currentCheckpoint.openingVersion})`, + ); - // seenVersions tracks all resolved versions to avoid duplicates across tiers. - const seenVersions = new Set([nMinus1, nMinus2, oldestCompatibleVersion]); - - // Resolve cross-client "slow train" versions (N-1 and N-2 with adjustPublicMajor=true). - // These are the previous public-major releases used when testing cross-client compat with - // customers that only adopt public majors (e.g. 1.x when current is 2.x). - console.log("\nResolving cross-client slow-train versions..."); - const crossClientVersions: string[] = []; - for (const delta of [-1, -2]) { - const resolved = resolveVersionForMajorDelta(pkgVer, delta); - if (resolved === undefined || !semver.gte(resolved, "1.0.0")) { - console.log(` Slow-train N${delta}: not found or below 1.0.0, skipping`); - continue; - } + const checkpointVersions: string[] = []; + const seenVersions = new Set([oldestCompatibleVersion]); + for (const checkpoint of getInWindowPriorCheckpoints(currentCheckpoint)) { + const range = checkpointResolutionRange(checkpoint); + const resolved = resolveRangeViaRegistry(range); if (seenVersions.has(resolved)) { - console.log(` Slow-train N${delta}: ${resolved} (duplicate, skipping)`); + console.log(` ${checkpoint.name} (${range}): ${resolved} (duplicate, skipping)`); continue; } seenVersions.add(resolved); - crossClientVersions.push(resolved); - console.log(` Slow-train N${delta}: ${resolved}`); + checkpointVersions.push(resolved); + console.log(` ${checkpoint.name} (${range}): ${resolved}`); + } + console.log(` ocv: ${oldestCompatibleVersion}`); + + // Resolve the layer-compat adjacent-minor version (N-1). Used by `defaultVersionsForLayerCompat`, + // which keeps adjacent-minor semantics because Fluid's intra-client layer-compat checks are + // stricter than the cross-client window. + console.log("\nResolving layer-compat (N-1)..."); + const nMinus1 = resolveVersionForMinorDelta(pkgVer, -1); + if (nMinus1 === undefined) { + throw new Error("Could not resolve N-1. Check registry connectivity."); + } + if (!seenVersions.has(nMinus1)) { + seenVersions.add(nMinus1); } + console.log(` N-1: ${nMinus1}`); - // Resolve full back-compat versions (deltas -3 through -(NUM_INTERNAL_MAJORS_BEFORE_PUBLIC_2 - 1)) + // Resolve full back-compat versions (deltas -2 through -(NUM_INTERNAL_MAJORS_BEFORE_PUBLIC_2 - 1)) console.log("\nResolving full back-compat versions..."); const fullAdditional: string[] = []; - for (let delta = -3; delta > -numOfInternalMajorsBeforePublic2dot0; delta--) { + for (let delta = -2; delta > -numOfInternalMajorsBeforePublic2dot0; delta--) { const resolved = resolveVersionForMinorDelta(pkgVer, delta); if (resolved === undefined) { console.warn(` Delta ${delta}: not found, skipping`); @@ -292,9 +290,8 @@ async function main(): Promise { // allVersions is the single set of versions installed in the workspace and recorded in the manifest. const allVersions = new Set([ nMinus1, - nMinus2, + ...checkpointVersions, oldestCompatibleVersion, - ...crossClientVersions, ...explicitVersions, ...fullAdditional, ]); diff --git a/packages/test/test-version-utils/src/checkpoints.ts b/packages/test/test-version-utils/src/checkpoints.ts new file mode 100644 index 000000000000..9992e14e6d0e --- /dev/null +++ b/packages/test/test-version-utils/src/checkpoints.ts @@ -0,0 +1,174 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +/** + * Fluid Framework Compatibility Checkpoints. + * + * For more information, see CrossClientCompatibility.md, CrossClientCompatibilityDevGuide.md, and CompatibilityCheckpoints.md. + */ + +import * as semver from "semver"; + +/** + * Schema for a compatibility checkpoint. + * + * @internal + */ +export interface Checkpoint { + readonly name: string; + readonly index: number; + /** + * Lower bound of the CC range. + */ + readonly openingVersion: string; + /** ISO date (YYYY-MM-DD). */ + readonly earliestDate: string; + /** + * Extra semver range fragments outside the `>=opening matchesRange(version, r))) { + return c; + } + } + const parsed = semver.parse(version); + const sorted = [...checkpoints].sort((a, b) => b.index - a.index); + for (const c of sorted) { + if (semver.gte(version, c.openingVersion)) { + return c; + } + // A prerelease whose `major.minor.patch` equals a checkpoint's opening + // version belongs to that checkpoint — `2.100.0-rc.0` is the + // release-candidate of CC-4, not the tail end of CC-3, even though + // `semver.gte("2.100.0-rc.0", "2.100.0")` is `false`. + if (parsed !== null && parsed.prerelease.length > 0) { + const opening = semver.parse(c.openingVersion); + if ( + opening !== null && + parsed.major === opening.major && + parsed.minor === opening.minor && + parsed.patch === opening.patch + ) { + return c; + } + } + } + // Throw if we reach here. Should be unreachable in practice since only versions before 1.4.0 would not match any checkpoint. + throw new Error(`Version "${version}" is not associated with any checkpoint.`); +} + +/** + * Returns the prior in-window checkpoints relative to `current` from newest + * to oldest. May return fewer than `windowRadius` entries when `current` + * is near the start of the checkpoint list (e.g., `current === CC-1` returns + * `[]`). + * + * @internal + */ +export function getInWindowPriorCheckpoints(current: Checkpoint): Checkpoint[] { + const result: Checkpoint[] = []; + for (let i = 1; i <= windowRadius; i++) { + const target = checkpoints.find((c) => c.index === current.index - i); + if (target) { + result.push(target); + } + } + return result; +} + +/** + * Returns the semver range used to resolve a checkpoint to a single version. + * We use tilde to get the latest patch for the earliest minor of a given checkpoint. + * + * @internal + */ +export function checkpointResolutionRange(checkpoint: Checkpoint): string { + return `~${checkpoint.openingVersion}`; +} + +/** + * Returns `true` iff `version` matches `range`. The wildcard-suffix form + * (e.g., `2.0.0-internal*`) is handled before falling through to + * `semver.satisfies`, because `semver.validRange("2.0.0-internal*")` silently + * coerces to `"2.0.0-internal"` (dropping the trailing `*`) which would not + * match any prerelease version like `2.0.0-internal.7.3.0`. Throws on a + * malformed entry rather than silently returning `false`, so authoring + * mistakes in `additionalRanges` fail loudly at the first call site. + */ +function matchesRange(version: string, range: string): boolean { + if (range.endsWith("*")) { + const prefix = range.slice(0, -1); + return version.startsWith(prefix); + } + if (semver.validRange(range)) { + return semver.satisfies(version, range, { includePrerelease: true }); + } + throw new Error(`Invalid additionalRanges entry: "${range}"`); +} diff --git a/packages/test/test-version-utils/src/compatConfig.ts b/packages/test/test-version-utils/src/compatConfig.ts index a9bc2ef23ed0..f1dfda3a03f5 100644 --- a/packages/test/test-version-utils/src/compatConfig.ts +++ b/packages/test/test-version-utils/src/compatConfig.ts @@ -12,6 +12,11 @@ import { codeVersion, testBaseVersion, } from "./baseVersion.js"; +import { + checkpointResolutionRange, + getCurrentCheckpoint, + getInWindowPriorCheckpoints, +} from "./checkpoints.js"; import { CompatKind, compatKind, @@ -74,14 +79,6 @@ const defaultVersionsForLayerCompat = { oldestCompatibleVersion: [oldestCompatibleVersion], }; -/** - * The default versions to be used for generating configurations for cross-client compat testing. - */ -const defaultVersionsForCrossClientCompat = { - // N, N-1, and N-2 for cross-client compat - currentVersionDeltas: [0, -1, -2], -}; - // This indicates the number of versions above 2.0.0.internal.1.y.z that we want to support for back compat. // Currently we only want to support 2.0.0.internal.3.y.z. and above const defaultNumOfDriverVersionsAboveV2Int1 = 2; @@ -318,24 +315,9 @@ function genCompatConfig(versionDetails: { }; } /** - * Generates the cross-client compat config permutations. - * This will resolve to one permutation where `CompatConfig.createVersion` is set to the current version and - * `CompatConfig.loadVersion` is set to the delta version. Then, a second permutation where `CompatConfig.createVersion` - * is set to the delta version and `CompatConfig.loadVersion` is set to the current version. - * The delta versions will be: - * - N-1 and N-2, for "fast train" customers (i.e. \>=2.10.0 \<2.20.0, \>=2.20.0 \<2.30.0, etc.) - * - N-1 and N-2, for "slow train" customers (i.e. ^1.0.0, ^2.0.0, etc.) - * - * @remarks - * Fast/slow trains refer to the different velocities that customers adopt new releases. - * Fast train customers integrate most minor releases quickly and saturate on a roughly 2-month - * cadence. This currently aligns with our regular schedule for .10 minor releases (i.e. 2.10.0, - * 2.20.0, etc.). Note that this may change in the future, and we will have to adjust our strategy accordingly. - * Slow train customers mainly integrate public major releases and may take much longer to saturate - * on any given release. Ideally, the slow train releases would also be on a regular time-based cadence, but - * public major releases are not currently on a fixed schedule. This may change in the future. - * We want to be able to test cross-client compat for both types of customers, so we generate permutations for - * N/N-1 and N/N-2 for both fast and slow trains. + * Generates the cross-client compat config permutations. The current version is paired + * against every in-window prior Compatibility Checkpoint. + * See `./checkpoints.ts` and `CompatibilityCheckpoints.md` for details on the policy. * * @internal */ @@ -346,31 +328,11 @@ export const genCrossClientCompatConfig = (): CompatConfig[] => { // The key is the version and the value is a string describing the delta from the current version. // We will not add any versions below 1.0.0 (only >1.0.0 is supported by our cross-client compat policy). const deltaVersions: Map = new Map(); - - // N-1 and N-2 for "fast train" releases - defaultVersionsForCrossClientCompat.currentVersionDeltas - .filter((delta) => delta !== 0) // skip current build - .forEach((delta) => { - const v = getRequestedVersion(pkgVersion, delta, false /* adjustMajorPublic */); - if (semver.gte(v, "1.0.0")) { - deltaVersions.set(v, `N${delta} fast train`); - } - }); - - // N-1 and N-2 for "slow train" releases - // Note: We add these in a separate for loop to maintain the order of tests (minor, then major) - defaultVersionsForCrossClientCompat.currentVersionDeltas - .filter((delta) => delta !== 0) // skip current build - .forEach((delta) => { - const v = getRequestedVersion(pkgVersion, delta, true /* adjustMajorPublic */); - if (semver.gte(v, "1.0.0")) { - if (deltaVersions.has(v)) { - deltaVersions.set(v, `${deltaVersions.get(v)}/N${delta} slow train`); - } else { - deltaVersions.set(v, `N${delta} slow train`); - } - } - }); + const current = getCurrentCheckpoint(pkgVersion); + for (const c of getInWindowPriorCheckpoints(current)) { + const v = resolveVersion(checkpointResolutionRange(c), true); + deltaVersions.set(v, c.name); + } // Build all combos of (current version, prior version) & (prior version, current version) const configs: CompatConfig[] = []; diff --git a/packages/test/test-version-utils/src/test/checkpoints.spec.ts b/packages/test/test-version-utils/src/test/checkpoints.spec.ts new file mode 100644 index 000000000000..0474eaadf4a4 --- /dev/null +++ b/packages/test/test-version-utils/src/test/checkpoints.spec.ts @@ -0,0 +1,86 @@ +/*! + * Copyright (c) Microsoft Corporation and contributors. All rights reserved. + * Licensed under the MIT License. + */ + +import { strict as assert } from "assert"; + +import { + checkpoints, + getCurrentCheckpoint, + getInWindowPriorCheckpoints, +} from "../checkpoints.js"; + +describe("checkpoints", () => { + describe("getCurrentCheckpoint", () => { + it("maps an exact opening version to its checkpoint", () => { + assert.strictEqual(getCurrentCheckpoint("1.4.0").name, "CC-1"); + assert.strictEqual(getCurrentCheckpoint("2.0.0").name, "CC-2"); + assert.strictEqual(getCurrentCheckpoint("2.60.0").name, "CC-3"); + assert.strictEqual(getCurrentCheckpoint("2.100.0").name, "CC-4"); + }); + + it("maps a version between two openings to the lower checkpoint", () => { + assert.strictEqual(getCurrentCheckpoint("1.4.5").name, "CC-1"); + assert.strictEqual(getCurrentCheckpoint("2.0.9").name, "CC-2"); + assert.strictEqual(getCurrentCheckpoint("2.59.0").name, "CC-2"); + assert.strictEqual(getCurrentCheckpoint("2.99.0").name, "CC-3"); + assert.strictEqual(getCurrentCheckpoint("2.101.0").name, "CC-4"); + }); + + it("maps `2.0.0-internal*` and `2.0.0-rc*` to CC-1 via additionalRanges", () => { + assert.strictEqual(getCurrentCheckpoint("2.0.0-internal.1.0.0").name, "CC-1"); + assert.strictEqual(getCurrentCheckpoint("2.0.0-internal.7.3.0").name, "CC-1"); + assert.strictEqual(getCurrentCheckpoint("2.0.0-rc.1.0.0").name, "CC-1"); + assert.strictEqual(getCurrentCheckpoint("2.0.0-rc.5.0.8").name, "CC-1"); + }); + + it("maps a prerelease at an opening MMP to that checkpoint (boundary)", () => { + assert.strictEqual(getCurrentCheckpoint("2.100.0-rc.0").name, "CC-4"); + assert.strictEqual(getCurrentCheckpoint("2.100.0-12345-test").name, "CC-4"); + assert.strictEqual(getCurrentCheckpoint("2.60.0-rc.0").name, "CC-3"); + assert.strictEqual(getCurrentCheckpoint("1.4.0-beta.1").name, "CC-1"); + }); + + it("throws for versions below the earliest checkpoint", () => { + assert.throws(() => getCurrentCheckpoint("1.3.99")); + assert.throws(() => getCurrentCheckpoint("1.0.0")); + assert.throws(() => getCurrentCheckpoint("0.59.0")); + assert.throws(() => getCurrentCheckpoint("0.0.0-110039-test")); + }); + + it("throws for invalid semver", () => { + assert.throws(() => getCurrentCheckpoint("")); + assert.throws(() => getCurrentCheckpoint("not-a-version")); + assert.throws(() => getCurrentCheckpoint("2")); + }); + }); + + describe("getInWindowPriorCheckpoints", () => { + it("returns up to windowRadius prior checkpoints, newest first", () => { + const cc4 = checkpoints.find((c) => c.name === "CC-4"); + assert(cc4 !== undefined, "CC-4 expected in checkpoints"); + const priors = getInWindowPriorCheckpoints(cc4); + assert.deepStrictEqual( + priors.map((c) => c.name), + ["CC-3", "CC-2", "CC-1"], + ); + }); + + it("returns fewer than windowRadius entries near the start of the list", () => { + const cc1 = checkpoints.find((c) => c.name === "CC-1"); + const cc2 = checkpoints.find((c) => c.name === "CC-2"); + const cc3 = checkpoints.find((c) => c.name === "CC-3"); + assert(cc1 !== undefined && cc2 !== undefined && cc3 !== undefined); + assert.deepStrictEqual(getInWindowPriorCheckpoints(cc1), []); + assert.deepStrictEqual( + getInWindowPriorCheckpoints(cc2).map((c) => c.name), + ["CC-1"], + ); + assert.deepStrictEqual( + getInWindowPriorCheckpoints(cc3).map((c) => c.name), + ["CC-2", "CC-1"], + ); + }); + }); +});