@fluidframework/runtime-definitions 2.0.0-rc.1.0.6 → 2.0.0-rc.2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/.eslintrc.cjs +1 -1
  2. package/CHANGELOG.md +75 -0
  3. package/api-extractor-cjs.json +8 -0
  4. package/api-extractor-lint.json +1 -1
  5. package/api-extractor.json +1 -1
  6. package/api-report/runtime-definitions.api.md +98 -112
  7. package/dist/dataStoreContext.d.ts +110 -64
  8. package/dist/dataStoreContext.d.ts.map +1 -1
  9. package/dist/dataStoreContext.js +3 -0
  10. package/dist/dataStoreContext.js.map +1 -1
  11. package/dist/dataStoreFactory.d.ts +1 -1
  12. package/dist/dataStoreFactory.d.ts.map +1 -1
  13. package/dist/dataStoreFactory.js.map +1 -1
  14. package/dist/dataStoreRegistry.d.ts +1 -1
  15. package/dist/dataStoreRegistry.d.ts.map +1 -1
  16. package/dist/dataStoreRegistry.js.map +1 -1
  17. package/dist/{garbageCollection.d.ts → garbageCollectionDefinitions.d.ts} +1 -1
  18. package/dist/garbageCollectionDefinitions.d.ts.map +1 -0
  19. package/dist/{garbageCollection.js → garbageCollectionDefinitions.js} +1 -1
  20. package/dist/garbageCollectionDefinitions.js.map +1 -0
  21. package/dist/index.d.ts +12 -52
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/index.js +20 -27
  24. package/dist/index.js.map +1 -1
  25. package/dist/package.json +3 -0
  26. package/dist/protocol.d.ts +2 -1
  27. package/dist/protocol.d.ts.map +1 -1
  28. package/dist/protocol.js.map +1 -1
  29. package/dist/runtime-definitions-alpha.d.ts +184 -175
  30. package/dist/runtime-definitions-beta.d.ts +35 -57
  31. package/dist/runtime-definitions-public.d.ts +35 -57
  32. package/dist/runtime-definitions-untrimmed.d.ts +185 -175
  33. package/dist/summary.d.ts +15 -20
  34. package/dist/summary.d.ts.map +1 -1
  35. package/dist/summary.js.map +1 -1
  36. package/dist/tsdoc-metadata.json +1 -1
  37. package/lib/attribution.d.ts +71 -0
  38. package/lib/attribution.d.ts.map +1 -0
  39. package/lib/attribution.js +6 -0
  40. package/lib/attribution.js.map +1 -0
  41. package/lib/dataStoreContext.d.ts +469 -0
  42. package/lib/dataStoreContext.d.ts.map +1 -0
  43. package/lib/dataStoreContext.js +67 -0
  44. package/lib/dataStoreContext.js.map +1 -0
  45. package/lib/dataStoreFactory.d.ts +33 -0
  46. package/lib/dataStoreFactory.d.ts.map +1 -0
  47. package/lib/dataStoreFactory.js +9 -0
  48. package/lib/dataStoreFactory.js.map +1 -0
  49. package/lib/dataStoreRegistry.d.ts +41 -0
  50. package/lib/dataStoreRegistry.d.ts.map +1 -0
  51. package/lib/dataStoreRegistry.js +9 -0
  52. package/lib/dataStoreRegistry.js.map +1 -0
  53. package/lib/garbageCollectionDefinitions.d.ts +62 -0
  54. package/lib/garbageCollectionDefinitions.d.ts.map +1 -0
  55. package/lib/garbageCollectionDefinitions.js +35 -0
  56. package/lib/garbageCollectionDefinitions.js.map +1 -0
  57. package/lib/index.d.ts +17 -0
  58. package/lib/index.d.ts.map +1 -0
  59. package/lib/index.js +10 -0
  60. package/lib/index.js.map +1 -0
  61. package/lib/protocol.d.ts +77 -0
  62. package/lib/protocol.d.ts.map +1 -0
  63. package/lib/protocol.js +6 -0
  64. package/lib/protocol.js.map +1 -0
  65. package/lib/runtime-definitions-alpha.d.ts +1025 -0
  66. package/lib/runtime-definitions-beta.d.ts +244 -0
  67. package/lib/runtime-definitions-public.d.ts +244 -0
  68. package/lib/runtime-definitions-untrimmed.d.ts +1106 -0
  69. package/lib/summary.d.ts +322 -0
  70. package/lib/summary.d.ts.map +1 -0
  71. package/lib/summary.js +26 -0
  72. package/lib/summary.js.map +1 -0
  73. package/package.json +111 -34
  74. package/src/dataStoreContext.ts +133 -80
  75. package/src/dataStoreFactory.ts +1 -1
  76. package/src/dataStoreRegistry.ts +1 -1
  77. package/src/index.ts +25 -70
  78. package/src/protocol.ts +2 -1
  79. package/src/summary.ts +18 -20
  80. package/tsconfig.cjs.json +7 -0
  81. package/tsconfig.json +2 -5
  82. package/dist/garbageCollection.d.ts.map +0 -1
  83. package/dist/garbageCollection.js.map +0 -1
  84. /package/src/{garbageCollection.ts → garbageCollectionDefinitions.ts} +0 -0
package/.eslintrc.cjs CHANGED
@@ -7,6 +7,6 @@ module.exports = {
7
7
  parserOptions: {
8
8
  project: ["./tsconfig.json", "./src/test/tsconfig.json"],
9
9
  },
10
- extends: ["@fluidframework/eslint-config-fluid/minimal", "prettier"],
10
+ extends: ["@fluidframework/eslint-config-fluid/minimal-deprecated", "prettier"],
11
11
  plugins: ["deprecation"],
12
12
  };
package/CHANGELOG.md CHANGED
@@ -1,5 +1,80 @@
1
1
  # @fluidframework/runtime-definitions
2
2
 
3
+ ## 2.0.0-rc.2.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - runtime-definitions: ITelemetryContext: Functions `get` and `serialize` are now deprecated ([#19409](https://github.com/microsoft/FluidFramework/issues/19409)) [42696564dd](https://github.com/microsoft/FluidFramework/commits/42696564ddbacfe200d653bdf7a1db18fc253bfb)
8
+
9
+ ITelemetryContext is to be used only for instrumentation, not for attempting to read the values already set by other code.
10
+ This is important because this _public_ interface may soon use FF's _should-be internal_ logging instrumentation types,
11
+ which we reserve the right to expand (to support richer instrumentation).
12
+ In that case, we would not be able to do so in a minor release if they're used as an "out" type
13
+ like the return type for `get`.
14
+
15
+ There is no replacement given in terms of immediate programmatic access to this data.
16
+ The expected use pattern is something like this:
17
+
18
+ - Some code creates a concrete implementation of `ITelemetryContext` and passes it around
19
+ - Callers use the "write" functions on the interface to build up the context
20
+ - The originator uses a function like `serialize` (on the concrete impl, not exposed on the interface any longer)
21
+ and passes the result to a logger
22
+ - The data is inspected along with other logs in whatever telemetry pipeline is used by the application (or Debug Tools, etc)
23
+
24
+ - container-runtime: New feature: ID compression for DataStores & DDSs ([#19859](https://github.com/microsoft/FluidFramework/issues/19859)) [51f0d3db73](https://github.com/microsoft/FluidFramework/commits/51f0d3db737800e1c30ea5e3952d38ff30ffc7da)
25
+
26
+ ### Key changes
27
+
28
+ 1. A new API IContainerRuntimeBase.generateDocumentUniqueId() is exposed. This API will opportunistically generate IDs in short format (non-negative numbers). If it can't achieve that, it will return UUID strings. UUIDs generated will have low entropy in groups and will compress well. It can be leveraged anywhere in container where container unique IDs are required. I.e. any place that uses uuid() and stores data in container is likely candidate to start leveraging this API.
29
+ 2. Data store internal IDs (IDs that are auto generated by FF system) will opportunistically be generated in shorter form. Data stores created in detached container will always have short IDs, data stores created in attached container will opportunistically be short (by using newly added IContainerRuntimeBase.generateDocumentUniqueId() capability)
30
+ 3. Similar DDS names will be opportunistically short (same considerations for detached DDS vs. attached DDS)
31
+
32
+ ### Implementation details
33
+
34
+ 1. Container level ID Compressor can now be enabled with delay. With such setting, only new IContainerRuntimeBase.generateDocumentUniqueId() is exposed (ID Compressor is not exposed in such case, as leveraging any of its other capabilities requires future container sessions to load ID Compressor on container load, for correctness reasons). Once Container establishes connection and any changes are made in container, newly added API will start generating more compact IDs (in most cases).
35
+
36
+ ### Breaking changes
37
+
38
+ 1. DDS names can no longer start with "\_" symbol - this is reserved for FF needs. I've validated that's not an issue for AzureClient (it only creates root object by name, everything else is referred by handle). Our main internal partners almost never use named DDSs (I can find only 4 instances in Loop).
39
+
40
+ ### Backward compatibility considerations
41
+
42
+ 1. Data store internal IDs could collide with earlier used names data stores. Earlier versions of FF framework (before DataStore aliasing feature was added) allowed customers to supply IDs for data stores. And thus, files created with earlier versions of framework could have data store IDs that will be similar to names FF will use for newly created data stores ("A", ... "Z", "a"..."z", "AA", etc.). While such collision is possible, it's very unlikely (almost impossible) if user-provided names were at least 4-5 characters long.
43
+ 2. If application runs to these problems, or wants to reduce risks, consider disabling ID compressor via IContainerRuntimeOptions.enableRuntimeIdCompressor = "off".
44
+
45
+ ### Minor changes
46
+
47
+ 1. IContainerRuntime.createDetachedRootDataStore() is removed. Please use IContainerRuntime.createDetachedDataStore and IDataStore.trySetAlias() instead
48
+ 2. IContainerRuntimeOptions.enableRuntimeIdCompressor has been changes from boolean to tri-state.
49
+
50
+ - driver-definitions: repositoryUrl removed from IDocumentStorageService ([#19522](https://github.com/microsoft/FluidFramework/issues/19522)) [90eb3c9d33](https://github.com/microsoft/FluidFramework/commits/90eb3c9d33d80e24caa1393a50f414c5602f6aa3)
51
+
52
+ The `repositoryUrl` member of `IDocumentStorageService` was unused and always equal to the empty string. It has been removed.
53
+
54
+ - runtime-definitions: FlushMode.Immediate is deprecated ([#19963](https://github.com/microsoft/FluidFramework/issues/19963)) [861500c1e2](https://github.com/microsoft/FluidFramework/commits/861500c1e2bdd3394308bd87007231d70b698be0)
55
+
56
+ `FlushMode.Immediate` is deprecated and will be removed in the next major version. It should not be used. Use
57
+ `FlushMode.TurnBased` instead, which is the default. See
58
+ <https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/opLifecycle#how-batching-works>
59
+ for more information
60
+
61
+ - container-definitions: ILoaderOptions no longer accepts arbitrary key/value pairs ([#19306](https://github.com/microsoft/FluidFramework/issues/19306)) [741926e225](https://github.com/microsoft/FluidFramework/commits/741926e2253a161504ecc6a6451d8f15d7ac4ed6)
62
+
63
+ ILoaderOptions has been narrowed to the specific set of supported loader options, and may no longer be used to pass arbitrary key/value pairs through to the runtime.
64
+
65
+ - runtime-definitions: Deprecated ID compressor related types have been removed. ([#19031](https://github.com/microsoft/FluidFramework/issues/19031)) [de92ef0ac5](https://github.com/microsoft/FluidFramework/commits/de92ef0ac551ad89b00564c78c0091f8ecc33639)
66
+
67
+ This change should be a no-op for consumers, as these types were almost certainly unused and are also available in the
68
+ standalone package id-compressor (see <https://github.com/microsoft/FluidFramework/pull/18749>).
69
+
70
+ - container-definitions: Added containerMetadata prop on IContainer interface ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
71
+
72
+ Added `containerMetadata` prop on IContainer interface.
73
+
74
+ - runtime-definitions: Moved ISignalEnvelope interface to core-interfaces ([#19142](https://github.com/microsoft/FluidFramework/issues/19142)) [d0d77f3516](https://github.com/microsoft/FluidFramework/commits/d0d77f3516d67f3c9faedb47b20dbd4e309c3bc2)
75
+
76
+ The `ISignalEnvelope` interface has been moved to the @fluidframework/core-interfaces package.
77
+
3
78
  ## 2.0.0-rc.1.0.0
4
79
 
5
80
  ### Minor Changes
@@ -0,0 +1,8 @@
1
+ {
2
+ "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
+ "extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
4
+ // CJS is actually secondary; so, no report.
5
+ "apiReport": {
6
+ "enabled": false
7
+ }
8
+ }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-lint.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-lint.esm.primary.json"
4
4
  }
@@ -1,4 +1,4 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.json"
3
+ "extends": "../../../common/build/build-common/api-extractor-base.esm.primary.json"
4
4
  }
@@ -4,42 +4,31 @@
4
4
 
5
5
  ```ts
6
6
 
7
- import { AttachState } from '@fluidframework/container-definitions';
8
- import { FluidObject } from '@fluidframework/core-interfaces';
9
- import { IAudience } from '@fluidframework/container-definitions';
10
- import { IClientDetails } from '@fluidframework/protocol-definitions';
11
- import { IdCompressor } from '@fluidframework/id-compressor';
12
- import { IdCreationRange } from '@fluidframework/id-compressor';
13
- import { IDeltaManager } from '@fluidframework/container-definitions';
14
- import { IDisposable } from '@fluidframework/core-interfaces';
15
- import { IDocumentMessage } from '@fluidframework/protocol-definitions';
16
- import { IDocumentStorageService } from '@fluidframework/driver-definitions';
17
- import { IEvent } from '@fluidframework/core-interfaces';
18
- import { IEventProvider } from '@fluidframework/core-interfaces';
19
- import { IFluidHandle } from '@fluidframework/core-interfaces';
20
- import { IIdCompressor } from '@fluidframework/id-compressor';
21
- import { IIdCompressorCore } from '@fluidframework/id-compressor';
22
- import { ILoaderOptions } from '@fluidframework/container-definitions';
23
- import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
24
- import { IQuorumClients } from '@fluidframework/protocol-definitions';
25
- import { IRequest } from '@fluidframework/core-interfaces';
26
- import { IResponse } from '@fluidframework/core-interfaces';
27
- import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
28
- import { ISignalMessage } from '@fluidframework/protocol-definitions';
29
- import { ISnapshotTree } from '@fluidframework/protocol-definitions';
30
- import { ISummaryTree } from '@fluidframework/protocol-definitions';
31
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
32
- import { ITree } from '@fluidframework/protocol-definitions';
7
+ import type { AttachState } from '@fluidframework/container-definitions';
8
+ import type { FluidObject } from '@fluidframework/core-interfaces';
9
+ import type { IAudience } from '@fluidframework/container-definitions';
10
+ import type { IClientDetails } from '@fluidframework/protocol-definitions';
11
+ import type { IDeltaManager } from '@fluidframework/container-definitions';
12
+ import type { IDisposable } from '@fluidframework/core-interfaces';
13
+ import type { IDocumentMessage } from '@fluidframework/protocol-definitions';
14
+ import type { IDocumentStorageService } from '@fluidframework/driver-definitions';
15
+ import type { IEvent } from '@fluidframework/core-interfaces';
16
+ import type { IEventProvider } from '@fluidframework/core-interfaces';
17
+ import type { IFluidHandle } from '@fluidframework/core-interfaces';
18
+ import type { IIdCompressor } from '@fluidframework/id-compressor';
19
+ import type { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
20
+ import type { IQuorumClients } from '@fluidframework/protocol-definitions';
21
+ import type { IRequest } from '@fluidframework/core-interfaces';
22
+ import type { IResponse } from '@fluidframework/core-interfaces';
23
+ import type { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
24
+ import type { ISignalMessage } from '@fluidframework/protocol-definitions';
25
+ import type { ISnapshotTree } from '@fluidframework/protocol-definitions';
26
+ import type { ISummaryTree } from '@fluidframework/protocol-definitions';
27
+ import type { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
28
+ import type { ITree } from '@fluidframework/protocol-definitions';
33
29
  import type { IUser } from '@fluidframework/protocol-definitions';
34
- import { OpSpaceCompressedId } from '@fluidframework/id-compressor';
35
- import { SerializedIdCompressor } from '@fluidframework/id-compressor';
36
- import { SerializedIdCompressorWithNoSession } from '@fluidframework/id-compressor';
37
- import { SerializedIdCompressorWithOngoingSession } from '@fluidframework/id-compressor';
38
- import { SessionId } from '@fluidframework/id-compressor';
39
- import { SessionSpaceCompressedId } from '@fluidframework/id-compressor';
40
- import { StableId } from '@fluidframework/id-compressor';
41
- import { SummaryTree } from '@fluidframework/protocol-definitions';
42
- import { TelemetryEventPropertyType } from '@fluidframework/core-interfaces';
30
+ import type { SummaryTree } from '@fluidframework/protocol-definitions';
31
+ import type { TelemetryBaseEventPropertyType } from '@fluidframework/core-interfaces';
43
32
 
44
33
  // @alpha
45
34
  export type AliasResult = "Success" | "Conflict" | "AlreadyAliased";
@@ -96,6 +85,7 @@ export type FluidDataStoreRegistryEntry = Readonly<Partial<IProvideFluidDataStor
96
85
 
97
86
  // @alpha
98
87
  export enum FlushMode {
88
+ // @deprecated
99
89
  Immediate = 0,
100
90
  TurnBased = 1
101
91
  }
@@ -131,17 +121,24 @@ export interface IAttachMessage {
131
121
  export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {
132
122
  // (undocumented)
133
123
  readonly clientDetails: IClientDetails;
134
- createDataStore(pkg: string | string[]): Promise<IDataStore>;
124
+ createDataStore(pkg: Readonly<string | string[]>, loadingGroupId?: string): Promise<IDataStore>;
135
125
  // @deprecated (undocumented)
136
- _createDataStoreWithProps(pkg: string | string[], props?: any, id?: string): Promise<IDataStore>;
137
- createDetachedDataStore(pkg: Readonly<string[]>): IFluidDataStoreContextDetached;
126
+ _createDataStoreWithProps(pkg: Readonly<string | string[]>, props?: any, id?: string): Promise<IDataStore>;
127
+ createDetachedDataStore(pkg: Readonly<string[]>, loadingGroupId?: string): IFluidDataStoreContextDetached;
128
+ // (undocumented)
129
+ readonly disposed: boolean;
130
+ generateDocumentUniqueId(): number | string;
138
131
  getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
139
132
  getAudience(): IAudience;
140
133
  getQuorum(): IQuorumClients;
134
+ getSnapshotForLoadingGroupId(loadingGroupIds: string[], pathParts: string[]): Promise<{
135
+ snapshotTree: ISnapshotTree;
136
+ sequenceNumber: number;
137
+ }>;
141
138
  // (undocumented)
142
139
  readonly logger: ITelemetryBaseLogger;
143
140
  orderSequentially(callback: () => void): void;
144
- submitSignal(type: string, content: any): void;
141
+ submitSignal(type: string, content: any, targetClientId?: string): void;
145
142
  // (undocumented)
146
143
  uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
147
144
  }
@@ -156,6 +153,8 @@ export interface IContainerRuntimeBaseEvents extends IEvent {
156
153
  (event: "batchEnd", listener: (error: any, op: ISequencedDocumentMessage) => void): any;
157
154
  // (undocumented)
158
155
  (event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
156
+ // (undocumented)
157
+ (event: "dispose", listener: () => void): any;
159
158
  }
160
159
 
161
160
  // @alpha
@@ -164,10 +163,6 @@ export interface IDataStore {
164
163
  trySetAlias(alias: string): Promise<AliasResult>;
165
164
  }
166
165
 
167
- export { IdCompressor }
168
-
169
- export { IdCreationRange }
170
-
171
166
  // @alpha
172
167
  export interface IEnvelope {
173
168
  address: string;
@@ -185,18 +180,13 @@ export interface IExperimentalIncrementalSummaryContext {
185
180
  export interface IFluidDataStoreChannel extends IDisposable {
186
181
  // (undocumented)
187
182
  applyStashedOp(content: any): Promise<unknown>;
188
- // @deprecated
189
- attachGraph(): void;
190
- readonly attachState: AttachState;
191
183
  readonly entryPoint: IFluidHandle<FluidObject>;
192
184
  getAttachGCData?(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
193
185
  getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
194
186
  getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
195
- // (undocumented)
196
- readonly id: string;
197
187
  makeVisibleAndAttachGraph(): void;
198
- process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
199
- processSignal(message: any, local: boolean): void;
188
+ process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown, addedOutboundReference?: (fromNodePath: string, toNodePath: string) => void): void;
189
+ processSignal(message: IInboundSignalMessage, local: boolean): void;
200
190
  // (undocumented)
201
191
  request(request: IRequest): Promise<IResponse>;
202
192
  reSubmit(type: string, content: any, localOpMetadata: unknown): any;
@@ -204,64 +194,27 @@ export interface IFluidDataStoreChannel extends IDisposable {
204
194
  setConnectionState(connected: boolean, clientId?: string): any;
205
195
  summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
206
196
  updateUsedRoutes(usedRoutes: string[]): void;
207
- // (undocumented)
208
- readonly visibilityState: VisibilityState;
209
197
  }
210
198
 
211
199
  // @alpha
212
- export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreContextEvents>, Partial<IProvideFluidDataStoreRegistry>, IProvideFluidHandleContext {
213
- // @deprecated (undocumented)
214
- addedGCOutboundReference?(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;
200
+ export interface IFluidDataStoreContext extends IEventProvider<IFluidDataStoreContextEvents>, IFluidParentContext {
215
201
  addedGCOutboundRoute?(fromPath: string, toPath: string): void;
216
- readonly attachState: AttachState;
217
202
  // (undocumented)
218
203
  readonly baseSnapshot: ISnapshotTree | undefined;
219
- // (undocumented)
220
- readonly clientDetails: IClientDetails;
221
- // (undocumented)
222
- readonly clientId: string | undefined;
223
- // (undocumented)
224
- readonly connected: boolean;
225
- // (undocumented)
226
- readonly containerRuntime: IContainerRuntimeBase;
227
204
  // @deprecated (undocumented)
228
205
  readonly createProps?: any;
229
- // (undocumented)
230
- readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
231
- ensureNoDataModelChanges<T>(callback: () => T): T;
232
- getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
233
- getAudience(): IAudience;
234
206
  // @deprecated (undocumented)
235
207
  getBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;
236
208
  // (undocumented)
237
- getCreateChildSummarizerNodeFn(
238
- id: string,
239
- createParam: CreateChildSummarizerNodeParam): CreateChildSummarizerNodeFn;
240
- getQuorum(): IQuorumClients;
241
- // (undocumented)
242
209
  readonly id: string;
243
- // (undocumented)
244
- readonly idCompressor?: IIdCompressor;
245
210
  readonly isLocalDataStore: boolean;
246
- // (undocumented)
247
- readonly logger: ITelemetryBaseLogger;
248
- makeLocallyVisible(): void;
249
- // (undocumented)
250
- readonly options: ILoaderOptions;
251
211
  readonly packagePath: readonly string[];
252
- readonly scope: FluidObject;
253
212
  setChannelDirty(address: string): void;
254
- // (undocumented)
255
- readonly storage: IDocumentStorageService;
256
- submitMessage(type: string, content: any, localOpMetadata: unknown): void;
257
- submitSignal(type: string, content: any, targetClientId?: string): void;
258
- // (undocumented)
259
- uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
260
213
  }
261
214
 
262
215
  // @alpha (undocumented)
263
216
  export interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {
264
- attachRuntime(factory: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<void>;
217
+ attachRuntime(factory: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<IDataStore>;
265
218
  }
266
219
 
267
220
  // @alpha (undocumented)
@@ -288,6 +241,56 @@ export interface IFluidDataStoreRegistry extends IProvideFluidDataStoreRegistry
288
241
  get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
289
242
  }
290
243
 
244
+ // @alpha
245
+ export interface IFluidParentContext extends IProvideFluidHandleContext, Partial<IProvideFluidDataStoreRegistry> {
246
+ // @deprecated (undocumented)
247
+ addedGCOutboundReference?(srcHandle: {
248
+ absolutePath: string;
249
+ }, outboundHandle: {
250
+ absolutePath: string;
251
+ }): void;
252
+ readonly attachState: AttachState;
253
+ // (undocumented)
254
+ readonly clientDetails: IClientDetails;
255
+ // (undocumented)
256
+ readonly clientId: string | undefined;
257
+ // (undocumented)
258
+ readonly connected: boolean;
259
+ // (undocumented)
260
+ readonly containerRuntime: IContainerRuntimeBase;
261
+ // (undocumented)
262
+ deleteChildSummarizerNode?(id: string): void;
263
+ // (undocumented)
264
+ readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
265
+ ensureNoDataModelChanges<T>(callback: () => T): T;
266
+ // (undocumented)
267
+ readonly gcThrowOnTombstoneUsage: boolean;
268
+ // (undocumented)
269
+ readonly gcTombstoneEnforcementAllowed: boolean;
270
+ getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
271
+ getAudience(): IAudience;
272
+ // (undocumented)
273
+ getCreateChildSummarizerNodeFn(
274
+ id: string,
275
+ createParam: CreateChildSummarizerNodeParam): CreateChildSummarizerNodeFn;
276
+ getQuorum(): IQuorumClients;
277
+ // (undocumented)
278
+ readonly idCompressor?: IIdCompressor;
279
+ readonly loadingGroupId?: string;
280
+ // (undocumented)
281
+ readonly logger: ITelemetryBaseLogger;
282
+ makeLocallyVisible(): void;
283
+ // (undocumented)
284
+ readonly options: Record<string | number, any>;
285
+ readonly scope: FluidObject;
286
+ // (undocumented)
287
+ readonly storage: IDocumentStorageService;
288
+ submitMessage(type: string, content: any, localOpMetadata: unknown): void;
289
+ submitSignal(type: string, content: any, targetClientId?: string): void;
290
+ // (undocumented)
291
+ uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
292
+ }
293
+
291
294
  // @public
292
295
  export interface IGarbageCollectionData {
293
296
  gcNodes: {
@@ -301,10 +304,6 @@ export interface IGarbageCollectionDetailsBase {
301
304
  usedRoutes?: string[];
302
305
  }
303
306
 
304
- export { IIdCompressor }
305
-
306
- export { IIdCompressorCore }
307
-
308
307
  // @public
309
308
  export interface IInboundSignalMessage extends ISignalMessage {
310
309
  // (undocumented)
@@ -328,7 +327,7 @@ export interface IProvideFluidDataStoreRegistry {
328
327
  readonly IFluidDataStoreRegistry: IFluidDataStoreRegistry;
329
328
  }
330
329
 
331
- // @internal (undocumented)
330
+ // @internal @deprecated (undocumented)
332
331
  export interface ISignalEnvelope {
333
332
  address?: string;
334
333
  clientSignalSequenceNumber: number;
@@ -374,7 +373,6 @@ export interface ISummarizerNode {
374
373
  // @alpha (undocumented)
375
374
  export interface ISummarizerNodeConfig {
376
375
  readonly canReuseHandle?: boolean;
377
- readonly throwOnFailure?: true;
378
376
  }
379
377
 
380
378
  // @alpha (undocumented)
@@ -421,10 +419,12 @@ export interface ISummaryTreeWithStats {
421
419
 
422
420
  // @public
423
421
  export interface ITelemetryContext {
424
- get(prefix: string, property: string): TelemetryEventPropertyType;
422
+ // @deprecated
423
+ get(prefix: string, property: string): TelemetryBaseEventPropertyType;
424
+ // @deprecated
425
425
  serialize(): string;
426
- set(prefix: string, property: string, value: TelemetryEventPropertyType): void;
427
- setMultiple(prefix: string, property: string, values: Record<string, TelemetryEventPropertyType>): void;
426
+ set(prefix: string, property: string, value: TelemetryBaseEventPropertyType): void;
427
+ setMultiple(prefix: string, property: string, values: Record<string, TelemetryBaseEventPropertyType>): void;
428
428
  }
429
429
 
430
430
  // @alpha
@@ -445,20 +445,6 @@ export interface OpAttributionKey {
445
445
  type: "op";
446
446
  }
447
447
 
448
- export { OpSpaceCompressedId }
449
-
450
- export { SerializedIdCompressor }
451
-
452
- export { SerializedIdCompressorWithNoSession }
453
-
454
- export { SerializedIdCompressorWithOngoingSession }
455
-
456
- export { SessionId }
457
-
458
- export { SessionSpaceCompressedId }
459
-
460
- export { StableId }
461
-
462
448
  // @alpha (undocumented)
463
449
  export type SummarizeInternalFn = (fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext) => Promise<ISummarizeInternalResult>;
464
450