@fluidframework/container-runtime 2.0.0-dev-rc.4.0.0.261659 → 2.0.0-dev-rc.5.0.0.263932

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 (178) hide show
  1. package/CHANGELOG.md +46 -0
  2. package/api-report/container-runtime.api.md +62 -22
  3. package/dist/blobManager.d.ts +7 -7
  4. package/dist/blobManager.d.ts.map +1 -1
  5. package/dist/blobManager.js +2 -4
  6. package/dist/blobManager.js.map +1 -1
  7. package/dist/channelCollection.d.ts +6 -4
  8. package/dist/channelCollection.d.ts.map +1 -1
  9. package/dist/channelCollection.js +19 -8
  10. package/dist/channelCollection.js.map +1 -1
  11. package/dist/connectionTelemetry.d.ts +1 -1
  12. package/dist/connectionTelemetry.d.ts.map +1 -1
  13. package/dist/connectionTelemetry.js.map +1 -1
  14. package/dist/containerRuntime.d.ts +5 -8
  15. package/dist/containerRuntime.d.ts.map +1 -1
  16. package/dist/containerRuntime.js +65 -38
  17. package/dist/containerRuntime.js.map +1 -1
  18. package/dist/dataStore.js.map +1 -1
  19. package/dist/dataStoreContext.d.ts +9 -6
  20. package/dist/dataStoreContext.d.ts.map +1 -1
  21. package/dist/dataStoreContext.js +18 -5
  22. package/dist/dataStoreContext.js.map +1 -1
  23. package/dist/{deltaManagerSummarizerProxy.d.ts → deltaManagerProxies.d.ts} +28 -3
  24. package/dist/deltaManagerProxies.d.ts.map +1 -0
  25. package/dist/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +38 -2
  26. package/dist/deltaManagerProxies.js.map +1 -0
  27. package/dist/deltaScheduler.d.ts +1 -1
  28. package/dist/deltaScheduler.d.ts.map +1 -1
  29. package/dist/deltaScheduler.js.map +1 -1
  30. package/dist/index.d.ts +1 -1
  31. package/dist/index.d.ts.map +1 -1
  32. package/dist/index.js.map +1 -1
  33. package/dist/legacy.d.ts +5 -0
  34. package/dist/messageTypes.d.ts +5 -2
  35. package/dist/messageTypes.d.ts.map +1 -1
  36. package/dist/messageTypes.js.map +1 -1
  37. package/dist/opLifecycle/batchManager.d.ts +4 -0
  38. package/dist/opLifecycle/batchManager.d.ts.map +1 -1
  39. package/dist/opLifecycle/batchManager.js.map +1 -1
  40. package/dist/opLifecycle/outbox.d.ts.map +1 -1
  41. package/dist/opLifecycle/outbox.js +5 -4
  42. package/dist/opLifecycle/outbox.js.map +1 -1
  43. package/dist/packageVersion.d.ts +1 -1
  44. package/dist/packageVersion.js +1 -1
  45. package/dist/packageVersion.js.map +1 -1
  46. package/dist/pendingStateManager.d.ts +6 -0
  47. package/dist/pendingStateManager.d.ts.map +1 -1
  48. package/dist/pendingStateManager.js +10 -1
  49. package/dist/pendingStateManager.js.map +1 -1
  50. package/dist/scheduleManager.d.ts +1 -1
  51. package/dist/scheduleManager.d.ts.map +1 -1
  52. package/dist/scheduleManager.js.map +1 -1
  53. package/dist/summary/documentSchema.js +1 -1
  54. package/dist/summary/documentSchema.js.map +1 -1
  55. package/dist/summary/index.d.ts +1 -1
  56. package/dist/summary/index.d.ts.map +1 -1
  57. package/dist/summary/index.js.map +1 -1
  58. package/dist/summary/orderedClientElection.d.ts +1 -1
  59. package/dist/summary/orderedClientElection.d.ts.map +1 -1
  60. package/dist/summary/orderedClientElection.js.map +1 -1
  61. package/dist/summary/runningSummarizer.js +10 -10
  62. package/dist/summary/runningSummarizer.js.map +1 -1
  63. package/dist/summary/summarizerTypes.d.ts +1 -2
  64. package/dist/summary/summarizerTypes.d.ts.map +1 -1
  65. package/dist/summary/summarizerTypes.js.map +1 -1
  66. package/dist/summary/summaryCollection.d.ts +1 -1
  67. package/dist/summary/summaryCollection.d.ts.map +1 -1
  68. package/dist/summary/summaryCollection.js.map +1 -1
  69. package/dist/summary/summaryFormat.d.ts +25 -5
  70. package/dist/summary/summaryFormat.d.ts.map +1 -1
  71. package/dist/summary/summaryFormat.js.map +1 -1
  72. package/dist/summary/summaryGenerator.js +11 -11
  73. package/dist/summary/summaryGenerator.js.map +1 -1
  74. package/dist/summary/summaryManager.js +5 -5
  75. package/dist/summary/summaryManager.js.map +1 -1
  76. package/lib/blobManager.d.ts +7 -7
  77. package/lib/blobManager.d.ts.map +1 -1
  78. package/lib/blobManager.js +3 -5
  79. package/lib/blobManager.js.map +1 -1
  80. package/lib/channelCollection.d.ts +6 -4
  81. package/lib/channelCollection.d.ts.map +1 -1
  82. package/lib/channelCollection.js +20 -9
  83. package/lib/channelCollection.js.map +1 -1
  84. package/lib/connectionTelemetry.d.ts +1 -1
  85. package/lib/connectionTelemetry.d.ts.map +1 -1
  86. package/lib/connectionTelemetry.js.map +1 -1
  87. package/lib/containerRuntime.d.ts +5 -8
  88. package/lib/containerRuntime.d.ts.map +1 -1
  89. package/lib/containerRuntime.js +65 -38
  90. package/lib/containerRuntime.js.map +1 -1
  91. package/lib/dataStore.js.map +1 -1
  92. package/lib/dataStoreContext.d.ts +9 -6
  93. package/lib/dataStoreContext.d.ts.map +1 -1
  94. package/lib/dataStoreContext.js +20 -7
  95. package/lib/dataStoreContext.js.map +1 -1
  96. package/lib/{deltaManagerSummarizerProxy.d.ts → deltaManagerProxies.d.ts} +28 -3
  97. package/lib/deltaManagerProxies.d.ts.map +1 -0
  98. package/lib/{deltaManagerSummarizerProxy.js → deltaManagerProxies.js} +36 -1
  99. package/lib/deltaManagerProxies.js.map +1 -0
  100. package/lib/deltaScheduler.d.ts +1 -1
  101. package/lib/deltaScheduler.d.ts.map +1 -1
  102. package/lib/deltaScheduler.js.map +1 -1
  103. package/lib/index.d.ts +1 -1
  104. package/lib/index.d.ts.map +1 -1
  105. package/lib/index.js.map +1 -1
  106. package/lib/legacy.d.ts +5 -0
  107. package/lib/messageTypes.d.ts +5 -2
  108. package/lib/messageTypes.d.ts.map +1 -1
  109. package/lib/messageTypes.js.map +1 -1
  110. package/lib/opLifecycle/batchManager.d.ts +4 -0
  111. package/lib/opLifecycle/batchManager.d.ts.map +1 -1
  112. package/lib/opLifecycle/batchManager.js.map +1 -1
  113. package/lib/opLifecycle/outbox.d.ts.map +1 -1
  114. package/lib/opLifecycle/outbox.js +5 -4
  115. package/lib/opLifecycle/outbox.js.map +1 -1
  116. package/lib/packageVersion.d.ts +1 -1
  117. package/lib/packageVersion.js +1 -1
  118. package/lib/packageVersion.js.map +1 -1
  119. package/lib/pendingStateManager.d.ts +6 -0
  120. package/lib/pendingStateManager.d.ts.map +1 -1
  121. package/lib/pendingStateManager.js +10 -1
  122. package/lib/pendingStateManager.js.map +1 -1
  123. package/lib/scheduleManager.d.ts +1 -1
  124. package/lib/scheduleManager.d.ts.map +1 -1
  125. package/lib/scheduleManager.js.map +1 -1
  126. package/lib/summary/documentSchema.js +1 -1
  127. package/lib/summary/documentSchema.js.map +1 -1
  128. package/lib/summary/index.d.ts +1 -1
  129. package/lib/summary/index.d.ts.map +1 -1
  130. package/lib/summary/index.js.map +1 -1
  131. package/lib/summary/orderedClientElection.d.ts +1 -1
  132. package/lib/summary/orderedClientElection.d.ts.map +1 -1
  133. package/lib/summary/orderedClientElection.js.map +1 -1
  134. package/lib/summary/runningSummarizer.js +1 -1
  135. package/lib/summary/runningSummarizer.js.map +1 -1
  136. package/lib/summary/summarizerTypes.d.ts +1 -2
  137. package/lib/summary/summarizerTypes.d.ts.map +1 -1
  138. package/lib/summary/summarizerTypes.js.map +1 -1
  139. package/lib/summary/summaryCollection.d.ts +1 -1
  140. package/lib/summary/summaryCollection.d.ts.map +1 -1
  141. package/lib/summary/summaryCollection.js.map +1 -1
  142. package/lib/summary/summaryFormat.d.ts +25 -5
  143. package/lib/summary/summaryFormat.d.ts.map +1 -1
  144. package/lib/summary/summaryFormat.js.map +1 -1
  145. package/lib/summary/summaryGenerator.js +1 -1
  146. package/lib/summary/summaryGenerator.js.map +1 -1
  147. package/lib/summary/summaryManager.js +1 -1
  148. package/lib/summary/summaryManager.js.map +1 -1
  149. package/lib/tsdoc-metadata.json +1 -1
  150. package/package.json +25 -23
  151. package/src/blobManager.ts +11 -10
  152. package/src/channelCollection.ts +29 -13
  153. package/src/connectionTelemetry.ts +1 -1
  154. package/src/containerRuntime.ts +93 -53
  155. package/src/dataStore.ts +2 -2
  156. package/src/dataStoreContext.ts +56 -16
  157. package/src/{deltaManagerSummarizerProxy.ts → deltaManagerProxies.ts} +55 -3
  158. package/src/deltaScheduler.ts +1 -1
  159. package/src/index.ts +5 -0
  160. package/src/messageTypes.ts +4 -2
  161. package/src/opLifecycle/batchManager.ts +5 -0
  162. package/src/opLifecycle/outbox.ts +5 -4
  163. package/src/packageVersion.ts +1 -1
  164. package/src/pendingStateManager.ts +11 -1
  165. package/src/scheduleManager.ts +1 -1
  166. package/src/summary/documentSchema.ts +1 -1
  167. package/src/summary/index.ts +4 -0
  168. package/src/summary/orderedClientElection.ts +1 -1
  169. package/src/summary/runningSummarizer.ts +1 -1
  170. package/src/summary/summarizerTypes.ts +1 -2
  171. package/src/summary/summaryCollection.ts +1 -1
  172. package/src/summary/summaryFormat.ts +30 -4
  173. package/src/summary/summaryGenerator.ts +1 -1
  174. package/src/summary/summaryManager.ts +1 -1
  175. package/dist/deltaManagerSummarizerProxy.d.ts.map +0 -1
  176. package/dist/deltaManagerSummarizerProxy.js.map +0 -1
  177. package/lib/deltaManagerSummarizerProxy.d.ts.map +0 -1
  178. package/lib/deltaManagerSummarizerProxy.js.map +0 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,51 @@
1
1
  # @fluidframework/container-runtime
2
2
 
3
+ ## 2.0.0-rc.4.0.0
4
+
5
+ ### Major Changes
6
+
7
+ - Audience & connection sequencing improvements [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
8
+
9
+ Here are breaking changes in Audience behavior:
10
+
11
+ 1. IAudience no longer implements EventEmmiter. If you used addListener() or removeListener(), please replace with on() & off() respectively.
12
+ 2. IAudience interface implements getSelf() method and "selfChanged" event.
13
+ 3. IContainerContext.audience is no longer optional
14
+ 4. "connected" events are now raised (various API surfaces - IContainer, IContainerRuntime, IFluidDataStoreRuntime, etc.) a bit later in reconnection sequence for "read" connections - only after client receives its own "join" signal and caught up on ops, which makes it symmetrical with "write" connections.
15
+
16
+ - If this change in behavior breaks some scenario, please let us know immediately, but you can revert that behavior using the following feature gates:
17
+ - "Fluid.Container.DisableCatchUpBeforeDeclaringConnected"
18
+ - "Fluid.Container.DisableJoinSignalWait"
19
+
20
+ - container-runtime: Make op grouping On by default [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
21
+
22
+ Op grouping feature reduces number of ops on the wire by grouping all ops in a batch. This allows applications to substantially reduce chances of being throttled by service when sending a lot of ops.
23
+ This feature could be enabled only by applications that have consumed 2.0.0-internal.7.0.2 version and have application version based on it saturated in the marker (to 99.99% or higher). Enabling it too soon will result on old client crashing when processing grouped ops.
24
+
25
+ The feature has been proven in production in Loop app, as it was enabled through feature gates at 100% in PROD.
26
+ All internal applications (Loop, Whiteboard) that send telemetry to our common Kusto tenant are already at or above minimal required version of runtime.
27
+
28
+ If your application does not satisfy these deployment requirements, please disable op grouping via passing IContainerRuntimeOptions.enableGroupedBatching = false when calling ContainerRuntime.load().
29
+
30
+ ### Minor Changes
31
+
32
+ - Type Erase IFluidDataStoreRuntime.deltaManager [96872186d0](https://github.com/microsoft/FluidFramework/commit/96872186d0d0f245c1fece7d19b3743e501679b6)
33
+
34
+ Make IFluidDataStoreRuntime.deltaManager have an opaque type.
35
+ Marks the following types which were reachable from it as alpha:
36
+
37
+ - IConnectionDetails
38
+ - IDeltaSender
39
+ - IDeltaManagerEvents
40
+ - IDeltaManager
41
+ - IDeltaQueueEvents
42
+ - IDeltaQueue
43
+ - ReadOnlyInfo
44
+
45
+ As a temporary workaround, users needing access to the full delta manager API can use the `@alpha` `toDeltaManagerInternal` API to retrieve its members, but should migrate away from requiring access to those APIs.
46
+
47
+ Implementing a custom `IFluidDataStoreRuntime` is not supported: this is now indicated by it being marked with `@sealed`.
48
+
3
49
  ## 2.0.0-rc.3.0.0
4
50
 
5
51
  ### Major Changes
@@ -10,7 +10,8 @@ import { ContainerWarning } from '@fluidframework/container-definitions/internal
10
10
  import { CreateChildSummarizerNodeFn } from '@fluidframework/runtime-definitions/internal';
11
11
  import { CreateChildSummarizerNodeParam } from '@fluidframework/runtime-definitions/internal';
12
12
  import { FluidDataStoreRegistryEntry } from '@fluidframework/runtime-definitions/internal';
13
- import { FluidObject } from '@fluidframework/core-interfaces';
13
+ import { FluidObject } from '@fluidframework/core-interfaces/internal';
14
+ import { FluidObject as FluidObject_2 } from '@fluidframework/core-interfaces';
14
15
  import { FlushMode } from '@fluidframework/runtime-definitions/internal';
15
16
  import { IAudience } from '@fluidframework/container-definitions';
16
17
  import { IClientDetails } from '@fluidframework/protocol-definitions';
@@ -20,20 +21,23 @@ import { IContainerRuntimeBase } from '@fluidframework/runtime-definitions/inter
20
21
  import { IContainerRuntimeEvents } from '@fluidframework/container-runtime-definitions/internal';
21
22
  import { ICriticalContainerError } from '@fluidframework/container-definitions';
22
23
  import { IDataStore } from '@fluidframework/runtime-definitions/internal';
23
- import { IDeltaManager } from '@fluidframework/container-definitions';
24
+ import { IDeltaManager } from '@fluidframework/container-definitions/internal';
24
25
  import { IDisposable } from '@fluidframework/core-interfaces';
25
26
  import { IDocumentMessage } from '@fluidframework/protocol-definitions';
26
27
  import { IDocumentStorageService } from '@fluidframework/driver-definitions/internal';
27
28
  import { IEnvelope } from '@fluidframework/runtime-definitions/internal';
28
29
  import { IEvent } from '@fluidframework/core-interfaces';
30
+ import { IEvent as IEvent_2 } from '@fluidframework/core-interfaces/internal';
29
31
  import { IEventProvider } from '@fluidframework/core-interfaces';
30
32
  import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions/internal';
31
33
  import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions/internal';
32
34
  import { IFluidDataStoreContextDetached } from '@fluidframework/runtime-definitions/internal';
33
35
  import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions/internal';
34
36
  import { IFluidDataStoreRegistry } from '@fluidframework/runtime-definitions/internal';
35
- import { IFluidHandle } from '@fluidframework/core-interfaces';
36
- import { IFluidHandleContext } from '@fluidframework/core-interfaces';
37
+ import { IFluidHandle } from '@fluidframework/core-interfaces/internal';
38
+ import { IFluidHandleContext } from '@fluidframework/core-interfaces/internal';
39
+ import { IFluidHandleContext as IFluidHandleContext_2 } from '@fluidframework/core-interfaces';
40
+ import { IFluidHandleInternal } from '@fluidframework/core-interfaces/internal';
37
41
  import { IFluidParentContext } from '@fluidframework/runtime-definitions/internal';
38
42
  import { IGarbageCollectionData } from '@fluidframework/runtime-definitions';
39
43
  import { IGarbageCollectionDetailsBase } from '@fluidframework/runtime-definitions/internal';
@@ -41,13 +45,16 @@ import { IGetPendingLocalStateProps } from '@fluidframework/container-definition
41
45
  import type { IIdCompressor } from '@fluidframework/id-compressor';
42
46
  import type { IIdCompressorCore } from '@fluidframework/id-compressor/internal';
43
47
  import { IInboundSignalMessage } from '@fluidframework/runtime-definitions';
44
- import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces';
48
+ import { IProvideFluidHandleContext } from '@fluidframework/core-interfaces/internal';
45
49
  import { IQuorumClients } from '@fluidframework/protocol-definitions';
46
- import { IRequest } from '@fluidframework/core-interfaces';
47
- import { IResponse } from '@fluidframework/core-interfaces';
50
+ import { IRequest } from '@fluidframework/core-interfaces/internal';
51
+ import { IRequest as IRequest_2 } from '@fluidframework/core-interfaces';
52
+ import { IResponse } from '@fluidframework/core-interfaces/internal';
53
+ import { IResponse as IResponse_2 } from '@fluidframework/core-interfaces';
48
54
  import { IRuntime } from '@fluidframework/container-definitions/internal';
49
55
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
50
56
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
57
+ import type { ISnapshot } from '@fluidframework/driver-definitions/internal';
51
58
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
52
59
  import { ISummarizeResult } from '@fluidframework/runtime-definitions/internal';
53
60
  import { ISummarizerNodeWithGC } from '@fluidframework/runtime-definitions/internal';
@@ -77,7 +84,7 @@ export const AllowTombstoneRequestHeaderKey = "allowTombstone";
77
84
 
78
85
  // @internal
79
86
  export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
80
- constructor(baseSnapshot: ISnapshotTree | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<FluidObject>);
87
+ constructor(baseSnapshot: ISnapshotTree | ISnapshot | undefined, parentContext: IFluidParentContext, baseLogger: ITelemetryBaseLogger, gcNodeUpdated: (props: IGCNodeUpdatedProps) => void, isDataStoreDeleted: (nodePath: string) => boolean, aliasMap: Map<string, string>, provideEntryPoint: (runtime: ChannelCollection) => Promise<FluidObject_2>);
81
88
  // (undocumented)
82
89
  get aliases(): ReadonlyMap<string, string>;
83
90
  // (undocumented)
@@ -87,7 +94,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
87
94
  // (undocumented)
88
95
  readonly attachOpFiredForDataStore: Set<string>;
89
96
  // (undocumented)
90
- protected readonly baseSnapshot: ISnapshotTree | undefined;
97
+ protected readonly baseSnapshot: ISnapshotTree | ISnapshot | undefined;
91
98
  // (undocumented)
92
99
  readonly containerLoadStats: {
93
100
  readonly containerLoadDataStoreCount: number;
@@ -110,7 +117,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
110
117
  // (undocumented)
111
118
  get disposed(): boolean;
112
119
  // (undocumented)
113
- readonly entryPoint: IFluidHandle<FluidObject>;
120
+ readonly entryPoint: IFluidHandleInternal<FluidObject_2>;
114
121
  getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
115
122
  getDataStoreIfAvailable(id: string, requestHeaderData: RuntimeHeaderData): Promise<IFluidDataStoreContextInternal | undefined>;
116
123
  getDataStorePackagePath(nodePath: string): Promise<readonly string[] | undefined>;
@@ -134,7 +141,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
134
141
  // (undocumented)
135
142
  processSignal(messageArg: IInboundSignalMessage, local: boolean): void;
136
143
  // (undocumented)
137
- request(request: IRequest): Promise<IResponse>;
144
+ request(request: IRequest_2): Promise<IResponse_2>;
138
145
  // (undocumented)
139
146
  reSubmit(type: string, content: any, localOpMetadata: unknown): void;
140
147
  // (undocumented)
@@ -162,7 +169,7 @@ export class ChannelCollection implements IFluidDataStoreChannel, IDisposable {
162
169
 
163
170
  // @internal (undocumented)
164
171
  export class ChannelCollectionFactory<T extends ChannelCollection = ChannelCollection> implements IFluidDataStoreFactory {
165
- constructor(registryEntries: NamedFluidDataStoreRegistryEntries, provideEntryPoint: (runtime: IFluidDataStoreChannel) => Promise<FluidObject>, ctor: (...args: ConstructorParameters<typeof ChannelCollection>) => T);
172
+ constructor(registryEntries: NamedFluidDataStoreRegistryEntries, provideEntryPoint: (runtime: IFluidDataStoreChannel) => Promise<FluidObject_2>, ctor: (...args: ConstructorParameters<typeof ChannelCollection>) => T);
166
173
  // (undocumented)
167
174
  get IFluidDataStoreFactory(): this;
168
175
  // (undocumented)
@@ -353,7 +360,7 @@ export class ContainerRuntime extends TypedEventEmitter<IContainerRuntimeEvents
353
360
  updateTombstonedRoutes(tombstonedRoutes: readonly string[]): void;
354
361
  updateUsedRoutes(usedRoutes: readonly string[]): void;
355
362
  // (undocumented)
356
- uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
363
+ uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
357
364
  }
358
365
 
359
366
  // @internal @deprecated
@@ -439,7 +446,7 @@ export type EnqueueSummarizeResult = (ISummarizeResults & {
439
446
  export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidDataStoreContextEvents> implements IFluidDataStoreContextInternal, IFluidParentContext, IDisposable {
440
447
  constructor(props: IFluidDataStoreContextProps, existing: boolean, isLocalDataStore: boolean, makeLocallyVisibleFn: () => void);
441
448
  // @deprecated (undocumented)
442
- addedGCOutboundReference(srcHandle: IFluidHandle, outboundHandle: IFluidHandle): void;
449
+ addedGCOutboundReference(srcHandle: IFluidHandleInternal, outboundHandle: IFluidHandleInternal): void;
443
450
  addedGCOutboundRoute(fromPath: string, toPath: string): void;
444
451
  // (undocumented)
445
452
  applyStashedOp(contents: any): Promise<unknown>;
@@ -511,7 +518,7 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
511
518
  // (undocumented)
512
519
  get IFluidDataStoreRegistry(): IFluidDataStoreRegistry | undefined;
513
520
  // (undocumented)
514
- get IFluidHandleContext(): IFluidHandleContext;
521
+ get IFluidHandleContext(): IFluidHandleContext_2;
515
522
  protected isInMemoryRoot(): boolean;
516
523
  // (undocumented)
517
524
  get isLoaded(): boolean;
@@ -544,13 +551,13 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
544
551
  // (undocumented)
545
552
  protected registry: IFluidDataStoreRegistry | undefined;
546
553
  // @deprecated (undocumented)
547
- request(request: IRequest): Promise<IResponse>;
554
+ request(request: IRequest_2): Promise<IResponse_2>;
548
555
  // (undocumented)
549
556
  reSubmit(type: string, contents: any, localOpMetadata: unknown): void;
550
557
  // (undocumented)
551
558
  rollback(type: string, contents: any, localOpMetadata: unknown): void;
552
559
  // (undocumented)
553
- readonly scope: FluidObject;
560
+ readonly scope: FluidObject_2;
554
561
  // (undocumented)
555
562
  abstract setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
556
563
  setChannelDirty(address: string): void;
@@ -571,7 +578,7 @@ export abstract class FluidDataStoreContext extends TypedEventEmitter<IFluidData
571
578
  get tombstoned(): boolean;
572
579
  updateUsedRoutes(usedRoutes: string[]): void;
573
580
  // (undocumented)
574
- uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
581
+ uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
575
582
  }
576
583
 
577
584
  // @internal (undocumented)
@@ -784,8 +791,35 @@ export interface IEnqueueSummarizeOptions extends IOnDemandSummarizeOptions {
784
791
  readonly override?: boolean;
785
792
  }
786
793
 
794
+ // @alpha @deprecated (undocumented)
795
+ export interface IFluidDataStoreAttributes0 {
796
+ readonly isRootDataStore?: boolean;
797
+ // (undocumented)
798
+ pkg: string;
799
+ // (undocumented)
800
+ readonly snapshotFormatVersion?: undefined;
801
+ // (undocumented)
802
+ readonly summaryFormatVersion?: undefined;
803
+ }
804
+
805
+ // @alpha @deprecated (undocumented)
806
+ export interface IFluidDataStoreAttributes1 extends OmitAttributesVersions<IFluidDataStoreAttributes0> {
807
+ // (undocumented)
808
+ readonly snapshotFormatVersion: "0.1";
809
+ // (undocumented)
810
+ readonly summaryFormatVersion?: undefined;
811
+ }
812
+
813
+ // @alpha @deprecated (undocumented)
814
+ export interface IFluidDataStoreAttributes2 extends OmitAttributesVersions<IFluidDataStoreAttributes1> {
815
+ readonly disableIsolatedChannels?: true;
816
+ readonly snapshotFormatVersion?: undefined;
817
+ // (undocumented)
818
+ readonly summaryFormatVersion: 2;
819
+ }
820
+
787
821
  // @internal (undocumented)
788
- export interface IFluidDataStoreContextEvents extends IEvent {
822
+ export interface IFluidDataStoreContextEvents extends IEvent_2 {
789
823
  // (undocumented)
790
824
  (event: "attaching" | "attached", listener: () => void): any;
791
825
  }
@@ -818,7 +852,7 @@ export interface IFluidDataStoreContextProps {
818
852
  // (undocumented)
819
853
  readonly pkg?: Readonly<string[]>;
820
854
  // (undocumented)
821
- readonly scope: FluidObject;
855
+ readonly scope: FluidObject_2;
822
856
  // (undocumented)
823
857
  readonly storage: IDocumentStorageService;
824
858
  }
@@ -842,7 +876,7 @@ export interface IGCNodeUpdatedProps {
842
876
  };
843
877
  packagePath?: readonly string[];
844
878
  reason: "Loaded" | "Changed";
845
- request?: IRequest;
879
+ request?: IRequest_2;
846
880
  timestampMs?: number;
847
881
  }
848
882
 
@@ -1191,12 +1225,18 @@ export class LocalFluidDataStoreContextBase extends FluidDataStoreContext {
1191
1225
  // @internal
1192
1226
  export const neverCancelledSummaryToken: ISummaryCancellationToken;
1193
1227
 
1228
+ // @alpha @deprecated (undocumented)
1229
+ export type OmitAttributesVersions<T> = Omit<T, "snapshotFormatVersion" | "summaryFormatVersion">;
1230
+
1194
1231
  // @alpha (undocumented)
1195
1232
  export type OpActionEventListener = (op: ISequencedDocumentMessage) => void;
1196
1233
 
1197
1234
  // @alpha (undocumented)
1198
1235
  export type OpActionEventName = MessageType.Summarize | MessageType.SummaryAck | MessageType.SummaryNack | "default";
1199
1236
 
1237
+ // @alpha @deprecated
1238
+ export type ReadFluidDataStoreAttributes = IFluidDataStoreAttributes0 | IFluidDataStoreAttributes1 | IFluidDataStoreAttributes2;
1239
+
1200
1240
  // @internal
1201
1241
  export interface RecentlyAddedContainerRuntimeMessageDetails {
1202
1242
  compatDetails: IContainerRuntimeMessageCompatDetails;
@@ -1233,7 +1273,7 @@ export type SubmitSummaryResult = IBaseSummarizeResult | IGenerateSummaryTreeRes
1233
1273
  export class Summarizer extends TypedEventEmitter<ISummarizerEvents> implements ISummarizer {
1234
1274
  constructor(
1235
1275
  runtime: ISummarizerRuntime, configurationGetter: () => ISummaryConfiguration,
1236
- internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
1276
+ internalsProvider: ISummarizerInternalsProvider, handleContext: IFluidHandleContext_2, summaryCollection: SummaryCollection, runCoordinatorCreateFn: (runtime: IConnectableRuntime) => Promise<ICancellableSummarizerController>);
1237
1277
  // (undocumented)
1238
1278
  close(): void;
1239
1279
  dispose(): void;
@@ -5,10 +5,11 @@
5
5
  import { TypedEventEmitter } from "@fluid-internal/client-utils";
6
6
  import { ICriticalContainerError } from "@fluidframework/container-definitions";
7
7
  import { IContainerRuntime, IContainerRuntimeEvents } from "@fluidframework/container-runtime-definitions/internal";
8
- import { IFluidHandle, IFluidHandleContext } from "@fluidframework/core-interfaces";
8
+ import { IFluidHandleContext, type IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
9
9
  import { IDocumentStorageService } from "@fluidframework/driver-definitions/internal";
10
10
  import { ISequencedDocumentMessage, ISnapshotTree } from "@fluidframework/protocol-definitions";
11
11
  import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from "@fluidframework/runtime-definitions";
12
+ import { FluidHandleBase } from "@fluidframework/runtime-utils/internal";
12
13
  /**
13
14
  * This class represents blob (long string)
14
15
  * This object is used only when creating (writing) new blob and serialization purposes.
@@ -16,18 +17,17 @@ import { IGarbageCollectionData, ISummaryTreeWithStats, ITelemetryContext } from
16
17
  * DataObject.request() recognizes requests in the form of `/blobs/<id>`
17
18
  * and loads blob.
18
19
  */
19
- export declare class BlobHandle implements IFluidHandle<ArrayBufferLike> {
20
+ export declare class BlobHandle extends FluidHandleBase<ArrayBufferLike> {
20
21
  readonly path: string;
21
22
  readonly routeContext: IFluidHandleContext;
22
- get: () => Promise<any>;
23
+ get: () => Promise<ArrayBufferLike>;
23
24
  private readonly onAttachGraph?;
24
25
  private attached;
25
- get IFluidHandle(): IFluidHandle;
26
26
  get isAttached(): boolean;
27
27
  readonly absolutePath: string;
28
- constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<any>, onAttachGraph?: (() => void) | undefined);
28
+ constructor(path: string, routeContext: IFluidHandleContext, get: () => Promise<ArrayBufferLike>, onAttachGraph?: (() => void) | undefined);
29
29
  attachGraph(): void;
30
- bind(handle: IFluidHandle): void;
30
+ bind(handle: IFluidHandleInternal): void;
31
31
  }
32
32
  /**
33
33
  * Information from a snapshot needed to load BlobManager
@@ -124,7 +124,7 @@ export declare class BlobManager extends TypedEventEmitter<IBlobManagerEvents> {
124
124
  getBlob(blobId: string): Promise<ArrayBufferLike>;
125
125
  private getBlobHandle;
126
126
  private createBlobDetached;
127
- createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
127
+ createBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
128
128
  private uploadBlob;
129
129
  /**
130
130
  * Set up a mapping in the redirect table from fromId to toId. Also, notify the runtime that a reference is added
@@ -1 +1 @@
1
- {"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,iBAAiB,EAAkC,MAAM,8BAA8B,CAAC;AACjG,OAAO,EAAe,uBAAuB,EAAE,MAAM,uCAAuC,CAAC;AAC7F,OAAO,EACN,iBAAiB,EACjB,uBAAuB,EACvB,MAAM,wDAAwD,CAAC;AAChE,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEpF,OAAO,EAAE,uBAAuB,EAAE,MAAM,6CAA6C,CAAC;AAEtF,OAAO,EAEN,yBAAyB,EACzB,aAAa,EACb,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EACN,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,MAAM,qCAAqC,CAAC;AAmB7C;;;;;;GAMG;AACH,qBAAa,UAAW,YAAW,YAAY,CAAC,eAAe,CAAC;aAc9C,IAAI,EAAE,MAAM;aACZ,YAAY,EAAE,mBAAmB;IAC1C,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC;IAC9B,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IAhBhC,OAAO,CAAC,QAAQ,CAAkB;IAElC,IAAW,YAAY,IAAI,YAAY,CAEtC;IAED,IAAW,UAAU,IAAI,OAAO,CAE/B;IAED,SAAgB,YAAY,EAAE,MAAM,CAAC;gBAGpB,IAAI,EAAE,MAAM,EACZ,YAAY,EAAE,mBAAmB,EAC1C,GAAG,EAAE,MAAM,OAAO,CAAC,GAAG,CAAC,EACb,aAAa,CAAC,SAAQ,IAAI,aAAA;IAKrC,WAAW;IAOX,IAAI,CAAC,MAAM,EAAE,YAAY;CAGhC;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;IACf,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC;CACnC;AAID,MAAM,MAAM,mBAAmB,GAAG,IAAI,CACrC,iBAAiB,EACjB,aAAa,GAAG,WAAW,GAAG,QAAQ,GAAG,eAAe,CACxD,GACA,iBAAiB,CAAC,uBAAuB,CAAC,CAAC;AAkB5C,MAAM,WAAW,aAAa;IAC7B,CAAC,EAAE,EAAE,MAAM,GAAG;QACb,IAAI,EAAE,MAAM,CAAC;QACb,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,KAAK,CAAC,EAAE,OAAO,CAAC;KAChB,CAAC;CACF;AAED,MAAM,WAAW,kBAAkB;IAClC,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,MAAM,IAAI,OAAE;CAChD;AAYD,qBAAa,WAAY,SAAQ,iBAAiB,CAAC,kBAAkB,CAAC;IACrE,gBAAuB,QAAQ,YAAY;IAC3C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,qBAAqB,CAAoB;IACjE,OAAO,CAAC,QAAQ,CAAC,EAAE,CAAoB;IAEvC;;;;;;OAMG;IACH,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAkC;IAEhE;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAuC;IAEpE;;;;OAIG;IACH,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAoC;IAEhE;;;;;OAKG;IACH,OAAO,CAAC,QAAQ,CAAC,eAAe,CAA0B;IAE1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAgD;IACjF,OAAO,CAAC,aAAa,CAAkB;IAEvC,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAsB;IACnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAgC;IAG3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAA6B;IAG3D,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAgC;IAC9D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAsB;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAA4C;gBAE/D,KAAK,EAAE;QAClB,QAAQ,CAAC,YAAY,EAAE,mBAAmB,CAAC;QAC3C,QAAQ,EAAE,oBAAoB,CAAC;QAC/B,QAAQ,CAAC,UAAU,EAAE,MAAM,uBAAuB,CAAC;QACnD;;;;;;;;;WASG;QACH,gBAAgB,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;QAGhE,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;QAGnD,QAAQ,CAAC,aAAa,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QACtD,QAAQ,CAAC,OAAO,EAAE,mBAAmB,CAAC;QACtC,YAAY,EAAE,aAAa,GAAG,SAAS,CAAC;QACxC,QAAQ,CAAC,cAAc,EAAE,CAAC,KAAK,CAAC,EAAE,uBAAuB,KAAK,IAAI,CAAC;KACnE;IA8FD,IAAW,gBAAgB,IAAI,OAAO,CAOrC;IAED,IAAW,eAAe,IAAI,OAAO,CAKpC;IAED,OAAO,CAAC,gBAAgB;IAOjB,wBAAwB,IAAI,OAAO;IAG1C;;OAEG;IACU,0BAA0B,IAAI,OAAO,CAAC,IAAI,CAAC;IAkBxD;;;OAGG;IACH,OAAO,KAAK,UAAU,GAerB;IAEY,OAAO,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAqC9D,OAAO,CAAC,aAAa;YAqBP,kBAAkB;IAUnB,UAAU,CACtB,IAAI,EAAE,eAAe,EACrB,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,YAAY,CAAC,eAAe,CAAC,CAAC;YA4C3B,UAAU;IAwCxB;;;OAGG;IACH,OAAO,CAAC,cAAc;IAItB,OAAO,CAAC,sBAAsB;IAS9B,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,eAAe;IA0CvB;;;;OAIG;IACI,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,SAAS;IAiBtD,mBAAmB,CAAC,OAAO,EAAE,yBAAyB,EAAE,KAAK,EAAE,OAAO;IAoD7E;;;;;OAKG;WACiB,IAAI,CACvB,SAAS,EAAE,aAAa,GAAG,SAAS,EACpC,YAAY,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,CAAC,GACvD,OAAO,CAAC,oBAAoB,CAAC;IAehC;;OAEG;IACH,OAAO,CAAC,IAAI;IAgBL,SAAS,CAAC,gBAAgB,CAAC,EAAE,iBAAiB,GAAG,qBAAqB;IA2B7E;;;;;OAKG;IACI,SAAS,CAAC,MAAM,GAAE,OAAe,GAAG,sBAAsB;IAejE;;;;;OAKG;IACI,qBAAqB,CAAC,oBAAoB,EAAE,SAAS,MAAM,EAAE,GAAG,SAAS,MAAM,EAAE;IAKxF;;;;;;;;;;OAUG;IACH,OAAO,CAAC,4BAA4B;IA8CpC;;;;;;;OAOG;IACI,sBAAsB,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE;IAsBjE;;;OAGG;IACH,OAAO,CAAC,oBAAoB;IAqBrB,gBAAgB,CAAC,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC;IAoBrC,wBAAwB,CACpC,uBAAuB,CAAC,EAAE,WAAW,GACnC,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC;CAoErC"}
1
+ {"version":3,"file":"blobManager.d.ts","sourceRoot":"","sources":["../src/blobManager.ts"],"names":[],"mappings":"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"}
@@ -19,14 +19,12 @@ const uuid_1 = require("uuid");
19
19
  * DataObject.request() recognizes requests in the form of `/blobs/<id>`
20
20
  * and loads blob.
21
21
  */
22
- class BlobHandle {
23
- get IFluidHandle() {
24
- return this;
25
- }
22
+ class BlobHandle extends internal_3.FluidHandleBase {
26
23
  get isAttached() {
27
24
  return this.routeContext.isAttached && this.attached;
28
25
  }
29
26
  constructor(path, routeContext, get, onAttachGraph) {
27
+ super();
30
28
  this.path = path;
31
29
  this.routeContext = routeContext;
32
30
  this.get = get;