@fluid-experimental/attributor 2.23.0 → 2.31.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,13 @@
1
1
  # @fluid-experimental/attributor
2
2
 
3
+ ## 2.31.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.30.0
8
+
9
+ Dependency updates only.
10
+
3
11
  ## 2.23.0
4
12
 
5
13
  Dependency updates only.
@@ -16,14 +24,14 @@ Dependency updates only.
16
24
 
17
25
  ### Minor Changes
18
26
 
19
- - The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
27
+ - The ContainerRuntime class has been removed ([#23341](https://github.com/microsoft/FluidFramework/pull/23341)) [61ba06aa98](https://github.com/microsoft/FluidFramework/commit/61ba06aa9881c30ffeeedcaaede9c5a1a0c81abd)
20
28
 
21
- The `ContainerRuntime` class was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331) and has been removed.
22
- Use `IContainerRuntime` to replace type usages and use the free function `loadContainerRuntime` to replace usages of the static method `ContainerRuntime.loadRuntime`.
29
+ The `ContainerRuntime` class was [deprecated in version 2.12.0](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331) and has been removed.
30
+ Use `IContainerRuntime` to replace type usages and use the free function `loadContainerRuntime` to replace usages of the static method `ContainerRuntime.loadRuntime`.
23
31
 
24
- See the [deprecation
25
- announcement](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331)
26
- for more details about how to update existing code.
32
+ See the [deprecation
33
+ announcement](https://github.com/microsoft/FluidFramework/releases/tag/client_v2.12.0#user-content-the-containerruntime-class-is-now-deprecated-23331)
34
+ for more details about how to update existing code.
27
35
 
28
36
  ## 2.13.0
29
37
 
@@ -65,9 +73,9 @@ Dependency updates only.
65
73
 
66
74
  ### Minor Changes
67
75
 
68
- - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
76
+ - Update to TypeScript 5.4 ([#21214](https://github.com/microsoft/FluidFramework/pull/21214)) [0e6256c722](https://github.com/microsoft/FluidFramework/commit/0e6256c722d8bf024f4325bf02547daeeb18bfa6)
69
77
 
70
- Update package implementations to use TypeScript 5.4.5.
78
+ Update package implementations to use TypeScript 5.4.5.
71
79
 
72
80
  ## 2.0.0-rc.4.0.0
73
81
 
@@ -77,24 +85,24 @@ Dependency updates only.
77
85
 
78
86
  ### Major Changes
79
87
 
80
- - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
88
+ - Packages now use package.json "exports" and require modern module resolution [97d68aa06b](https://github.com/microsoft/FluidFramework/commit/97d68aa06bd5c022ecb026655814aea222a062ae)
81
89
 
82
- Fluid Framework packages have been updated to use the [package.json "exports"
83
- field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
84
- TypeScript types and implementation code.
90
+ Fluid Framework packages have been updated to use the [package.json "exports"
91
+ field](https://nodejs.org/docs/latest-v18.x/api/packages.html#exports) to define explicit entry points for both
92
+ TypeScript types and implementation code.
85
93
 
86
- This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
94
+ This means that using Fluid Framework packages require the following TypeScript settings in tsconfig.json:
87
95
 
88
- - `"moduleResolution": "Node16"` with `"module": "Node16"`
89
- - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
96
+ - `"moduleResolution": "Node16"` with `"module": "Node16"`
97
+ - `"moduleResolution": "Bundler"` with `"module": "ESNext"`
90
98
 
91
- We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
92
- for use with modern versions of Node.js _and_ Bundlers.
93
- [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
94
- regarding the module and moduleResolution options.
99
+ We recommend using Node16/Node16 unless absolutely necessary. That will produce transpiled JavaScript that is suitable
100
+ for use with modern versions of Node.js _and_ Bundlers.
101
+ [See the TypeScript documentation](https://www.typescriptlang.org/tsconfig#moduleResolution) for more information
102
+ regarding the module and moduleResolution options.
95
103
 
96
- **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
97
- to distinguish stable APIs from those that are in development.**
104
+ **Node10 moduleResolution is not supported; it does not support Fluid Framework's API structuring pattern that is used
105
+ to distinguish stable APIs from those that are in development.**
98
106
 
99
107
  ## 2.0.0-rc.2.0.0
100
108
 
@@ -104,44 +112,44 @@ Dependency updates only.
104
112
 
105
113
  ### Minor Changes
106
114
 
107
- - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
108
-
109
- The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
110
-
111
- - @fluidframework/gitresources
112
- - @fluidframework/server-kafka-orderer
113
- - @fluidframework/server-lambdas
114
- - @fluidframework/server-lambdas-driver
115
- - @fluidframework/server-local-server
116
- - @fluidframework/server-memory-orderer
117
- - @fluidframework/protocol-base
118
- - @fluidframework/server-routerlicious
119
- - @fluidframework/server-routerlicious-base
120
- - @fluidframework/server-services
121
- - @fluidframework/server-services-client
122
- - @fluidframework/server-services-core
123
- - @fluidframework/server-services-ordering-kafkanode
124
- - @fluidframework/server-services-ordering-rdkafka
125
- - @fluidframework/server-services-ordering-zookeeper
126
- - @fluidframework/server-services-shared
127
- - @fluidframework/server-services-telemetry
128
- - @fluidframework/server-services-utils
129
- - @fluidframework/server-test-utils
130
- - tinylicious
131
-
132
- - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
133
-
134
- The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
135
- changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
115
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
116
+
117
+ The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
118
+
119
+ - @fluidframework/gitresources
120
+ - @fluidframework/server-kafka-orderer
121
+ - @fluidframework/server-lambdas
122
+ - @fluidframework/server-lambdas-driver
123
+ - @fluidframework/server-local-server
124
+ - @fluidframework/server-memory-orderer
125
+ - @fluidframework/protocol-base
126
+ - @fluidframework/server-routerlicious
127
+ - @fluidframework/server-routerlicious-base
128
+ - @fluidframework/server-services
129
+ - @fluidframework/server-services-client
130
+ - @fluidframework/server-services-core
131
+ - @fluidframework/server-services-ordering-kafkanode
132
+ - @fluidframework/server-services-ordering-rdkafka
133
+ - @fluidframework/server-services-ordering-zookeeper
134
+ - @fluidframework/server-services-shared
135
+ - @fluidframework/server-services-telemetry
136
+ - @fluidframework/server-services-utils
137
+ - @fluidframework/server-test-utils
138
+ - tinylicious
139
+
140
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
141
+
142
+ The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
143
+ changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
136
144
 
137
145
  ## 2.0.0-internal.8.0.0
138
146
 
139
147
  ### Major Changes
140
148
 
141
- - container-runtime: Removed `ContainerRuntime.load(...)` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
149
+ - container-runtime: Removed `ContainerRuntime.load(...)` [9a451d4946](https://github.com/microsoft/FluidFramework/commits/9a451d4946b5c51a52e4d1ab5bf51e7b285b0d74)
142
150
 
143
- The static method `ContainerRuntime.load(...)` has been removed. Please migrate all usage of this method to
144
- `ContainerRuntime.loadRuntime(...)`.
151
+ The static method `ContainerRuntime.load(...)` has been removed. Please migrate all usage of this method to
152
+ `ContainerRuntime.loadRuntime(...)`.
145
153
 
146
154
  ## 2.0.0-internal.7.4.0
147
155
 
@@ -163,45 +171,45 @@ Dependency updates only.
163
171
 
164
172
  ### Major Changes
165
173
 
166
- - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
167
-
168
- This included the following changes from the protocol-definitions release:
169
-
170
- - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
171
- submitted by clients to the server and the resulting signals sent from the server to clients.
172
- - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
173
- been added, which will be the typing for signals sent from the client to the server. Both extend a new
174
- ISignalMessageBase interface that contains common members.
175
- - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
176
-
177
- - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
178
-
179
- Dependencies on the following Fluid server package have been updated to version 2.0.1:
180
-
181
- - @fluidframework/gitresources: 2.0.1
182
- - @fluidframework/server-kafka-orderer: 2.0.1
183
- - @fluidframework/server-lambdas: 2.0.1
184
- - @fluidframework/server-lambdas-driver: 2.0.1
185
- - @fluidframework/server-local-server: 2.0.1
186
- - @fluidframework/server-memory-orderer: 2.0.1
187
- - @fluidframework/protocol-base: 2.0.1
188
- - @fluidframework/server-routerlicious: 2.0.1
189
- - @fluidframework/server-routerlicious-base: 2.0.1
190
- - @fluidframework/server-services: 2.0.1
191
- - @fluidframework/server-services-client: 2.0.1
192
- - @fluidframework/server-services-core: 2.0.1
193
- - @fluidframework/server-services-ordering-kafkanode: 2.0.1
194
- - @fluidframework/server-services-ordering-rdkafka: 2.0.1
195
- - @fluidframework/server-services-ordering-zookeeper: 2.0.1
196
- - @fluidframework/server-services-shared: 2.0.1
197
- - @fluidframework/server-services-telemetry: 2.0.1
198
- - @fluidframework/server-services-utils: 2.0.1
199
- - @fluidframework/server-test-utils: 2.0.1
200
- - tinylicious: 2.0.1
201
-
202
- - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
203
-
204
- The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
174
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
175
+
176
+ This included the following changes from the protocol-definitions release:
177
+
178
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
179
+ submitted by clients to the server and the resulting signals sent from the server to clients.
180
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
181
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
182
+ ISignalMessageBase interface that contains common members.
183
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
184
+
185
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
186
+
187
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
188
+
189
+ - @fluidframework/gitresources: 2.0.1
190
+ - @fluidframework/server-kafka-orderer: 2.0.1
191
+ - @fluidframework/server-lambdas: 2.0.1
192
+ - @fluidframework/server-lambdas-driver: 2.0.1
193
+ - @fluidframework/server-local-server: 2.0.1
194
+ - @fluidframework/server-memory-orderer: 2.0.1
195
+ - @fluidframework/protocol-base: 2.0.1
196
+ - @fluidframework/server-routerlicious: 2.0.1
197
+ - @fluidframework/server-routerlicious-base: 2.0.1
198
+ - @fluidframework/server-services: 2.0.1
199
+ - @fluidframework/server-services-client: 2.0.1
200
+ - @fluidframework/server-services-core: 2.0.1
201
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
202
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
203
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
204
+ - @fluidframework/server-services-shared: 2.0.1
205
+ - @fluidframework/server-services-telemetry: 2.0.1
206
+ - @fluidframework/server-services-utils: 2.0.1
207
+ - @fluidframework/server-test-utils: 2.0.1
208
+ - tinylicious: 2.0.1
209
+
210
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
211
+
212
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
205
213
 
206
214
  ## 2.0.0-internal.6.4.0
207
215
 
@@ -223,9 +231,9 @@ Dependency updates only.
223
231
 
224
232
  ### Major Changes
225
233
 
226
- - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
234
+ - Upgraded typescript transpilation target to ES2020 [8abce8cdb4](https://github.com/microsoft/FluidFramework/commits/8abce8cdb4e2832fb6405fb44e393bef03d5648a)
227
235
 
228
- Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
236
+ Upgraded typescript transpilation target to ES2020. This is done in order to decrease the bundle sizes of Fluid Framework packages. This has provided size improvements across the board for ex. Loader, Driver, Runtime etc. Reduced bundle sizes helps to load lesser code in apps and hence also helps to improve the perf.If any app wants to target any older versions of browsers with which this target version is not compatible, then they can use packages like babel to transpile to a older target.
229
237
 
230
238
  ## 2.0.0-internal.5.4.0
231
239
 
@@ -8,7 +8,7 @@ import { FluidObject, IRequest, IResponse } from "@fluidframework/core-interface
8
8
  import type { IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
9
9
  import { IFluidDataStoreRuntimeEvents } from "@fluidframework/datastore-definitions/internal";
10
10
  import { IDocumentMessage, type ISnapshotTree, ISequencedDocumentMessage, IQuorumClients } from "@fluidframework/driver-definitions/internal";
11
- import { IGarbageCollectionData, IFluidDataStoreChannel, IFluidDataStoreContext, IInboundSignalMessage, VisibilityState, type ISummaryTreeWithStats, type ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
11
+ import { IGarbageCollectionData, IFluidDataStoreChannel, IFluidDataStoreContext, IInboundSignalMessage, VisibilityState, type ISummaryTreeWithStats, type ITelemetryContext, type IRuntimeMessageCollection } from "@fluidframework/runtime-definitions/internal";
12
12
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
13
13
  /**
14
14
  * Data store channel for the runtime attributor. This channel is responsible for storing and managing the
@@ -41,9 +41,9 @@ export declare class RuntimeAttributorDataStoreChannel extends TypedEventEmitter
41
41
  */
42
42
  getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
43
43
  /**
44
- * {@inheritdoc IFluidDataStoreChannel.process}
44
+ * {@inheritdoc IFluidDataStoreChannel.processMessages}
45
45
  */
46
- process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
46
+ processMessages(messageCollection: IRuntimeMessageCollection): void;
47
47
  /**
48
48
  * {@inheritdoc IFluidDataStoreChannel.processSignal}
49
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeAttributorDataStoreChannel.d.ts","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeAttributorDataStoreChannel.d.ts","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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"}
@@ -81,9 +81,9 @@ class RuntimeAttributorDataStoreChannel extends client_utils_1.TypedEventEmitter
81
81
  return { gcNodes: {} };
82
82
  }
83
83
  /**
84
- * {@inheritdoc IFluidDataStoreChannel.process}
84
+ * {@inheritdoc IFluidDataStoreChannel.processMessages}
85
85
  */
86
- process(message, local, localOpMetadata) {
86
+ processMessages(messageCollection) {
87
87
  throw new Error("Attributor should not receive messages yet");
88
88
  }
89
89
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeAttributorDataStoreChannel.js","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAAiE;AACjE,6EAA4F;AAG5F,kEAAwF;AACxF,iEAAuE;AAQvE,2EAQsD;AACtD,uEAKkD;AAElD,iEAA2D;AAE3D;;GAEG;AACH,MAAa,iCACZ,SAAQ,gCAA+C;IAGvD,YACiB,gBAAwC,EACxD,QAAiB;QAEjB,KAAK,EAAE,CAAC;QAHQ,qBAAgB,GAAhB,gBAAgB,CAAwB;QAiCjD,cAAS,GAAG,KAAK,CAAC;QAUnB,cAAS,GAAG,IAAI,CAAC;QAGP,qBAAgB,GAAG,IAAI,mBAAQ,EAAQ,CAAC;QA1CxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,wCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,EAAE,GAAG,IAAA,uCAA4B,EAAC;YACtC,MAAM,EAAE,gBAAgB,CAAC,UAAU;YACnC,SAAS,EAAE,YAAY;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,eAAe;gBACnB,gBAAgB,CAAC,WAAW,KAAK,sBAAW,CAAC,QAAQ;oBACpD,CAAC,CAAC,0BAAe,CAAC,cAAc;oBAChC,CAAC,CAAC,0BAAe,CAAC,eAAe,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,UAAU,CAAC;QACnD,CAAC;QACD,iDAAiD;QACjD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,4BAAiB,CACtC,IAAI,CAAC,iBAAiB,EACtB,EAAE,EACF,gBAAgB,CAAC,mBAAmB,CACpC,CAAC;IACH,CAAC;IAED,IAAW,sBAAsB;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAQD,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU,CACtB,YAAwE,EACxE,MAAsB,EACtB,6BAAwD,EACxD,QAAkD;QAElD,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CACtC,YAAY,EACZ,MAAM,EACN,6BAA6B,EAC7B,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;OAEG;IACI,yBAAyB;QAC/B,IAAI,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,UAAU,EAAE,CAAC;YACzD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,cAAc,CAAC;QAEtD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,gBAAoC;QAC3D,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,gBAAoC;QAC1D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,OAAO,CACb,OAAkC,EAClC,KAAc,EACd,eAAwB;QAExB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAA8B,EAAE,KAAc;QAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CACrB,QAAkB,EAClB,UAAoB,EACpB,gBAAoC;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,MAAgB;QACtC,0CAA0C;QAC1C,MAAM,qBAAqB,GAA2B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACtE,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,UAAoB;QAC3C,OAAO;IACR,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAAkB,EAAE,QAAiB;QAC9D,IAAA,8BAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAY,EAAE,OAAgB,EAAE,eAAwB;QACvE,4FAA4F;QAC5F,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,OAAgB;QAC3C,0FAA0F;QAC1F,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,QAAQ,CAAE,IAAY,EAAE,OAAgB,EAAE,eAAwB;QACxE,gFAAgF;QAChF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAOD;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,wGAAwG;QACxG,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,WAAyD;QAC9E,QAAQ,WAAW,EAAE,CAAC;YACrB,KAAK,sBAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,sBAAW,CAAC,SAAS,CAAC;gBAEzC,IAAA,iBAAM,EACL,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,cAAc,EACvD,KAAK,CAAC,iFAAiF,CACvF,CAAC;gBAEF,oFAAoF;gBACpF,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,eAAe,CAAC;gBAEvD,qFAAqF;gBACrF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,sBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3B,IAAA,iBAAM,EACL,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,eAAe,EACxD,KAAK,CAAC,8DAA8D,CACpE,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,sBAAW,CAAC,QAAQ,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,MAAM;YACP,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACT,IAAA,0BAAe,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;IACF,CAAC;CACD;AA7ND,8EA6NC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TypedEventEmitter } from \"@fluid-internal/client-utils\";\nimport { AttachState, IDeltaManager } from \"@fluidframework/container-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport type { IFluidHandleInternal } from \"@fluidframework/core-interfaces/internal\";\nimport { assert, Deferred, unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport { FluidObjectHandle } from \"@fluidframework/datastore/internal\";\nimport { IFluidDataStoreRuntimeEvents } from \"@fluidframework/datastore-definitions/internal\";\nimport {\n\tIDocumentMessage,\n\ttype ISnapshotTree,\n\tISequencedDocumentMessage,\n\tIQuorumClients,\n} from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tIGarbageCollectionData,\n\tIFluidDataStoreChannel,\n\tIFluidDataStoreContext,\n\tIInboundSignalMessage,\n\tVisibilityState,\n\ttype ISummaryTreeWithStats,\n\ttype ITelemetryContext,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tITelemetryLoggerExt,\n\tMonitoringContext,\n\traiseConnectedEvent,\n\tcreateChildMonitoringContext,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { RuntimeAttributor } from \"./runtimeAttributor.js\";\n\n/**\n * Data store channel for the runtime attributor. This channel is responsible for storing and managing the\n */\nexport class RuntimeAttributorDataStoreChannel\n\textends TypedEventEmitter<IFluidDataStoreRuntimeEvents>\n\timplements IFluidDataStoreChannel\n{\n\tpublic constructor(\n\t\tpublic readonly dataStoreContext: IFluidDataStoreContext,\n\t\texisting: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.runtimeAttributor = new RuntimeAttributor();\n\t\tthis.mc = createChildMonitoringContext({\n\t\t\tlogger: dataStoreContext.baseLogger,\n\t\t\tnamespace: \"Attributor\",\n\t\t});\n\t\tthis.attachState = dataStoreContext.attachState;\n\t\tif (existing) {\n\t\t\tthis.visibilityState =\n\t\t\t\tdataStoreContext.attachState === AttachState.Detached\n\t\t\t\t\t? VisibilityState.LocallyVisible\n\t\t\t\t\t: VisibilityState.GloballyVisible;\n\t\t} else {\n\t\t\tthis.visibilityState = VisibilityState.NotVisible;\n\t\t}\n\t\t// If it's existing we know it has been attached.\n\t\tif (existing) {\n\t\t\tthis.deferredAttached.resolve();\n\t\t}\n\t\tthis.entryPoint = new FluidObjectHandle<FluidObject>(\n\t\t\tthis.runtimeAttributor,\n\t\t\t\"\",\n\t\t\tdataStoreContext.IFluidHandleContext,\n\t\t);\n\t}\n\n\tpublic get IFluidDataStoreChannel(): IFluidDataStoreChannel {\n\t\treturn this;\n\t}\n\n\tprivate _disposed = false;\n\tpublic get disposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposed = true;\n\t}\n\n\tprivate readonly runtimeAttributor: RuntimeAttributor;\n\tpublic isEnabled = true;\n\tpublic attachState: AttachState;\n\tpublic visibilityState: VisibilityState;\n\tprivate readonly deferredAttached = new Deferred<void>();\n\tprivate readonly mc: MonitoringContext;\n\tpublic get logger(): ITelemetryLoggerExt {\n\t\treturn this.mc.logger;\n\t}\n\n\tpublic async initialize(\n\t\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tquorum: IQuorumClients,\n\t\tbaseSnapshotForAttributorTree: ISnapshotTree | undefined,\n\t\treadBlob: (id: string) => Promise<ArrayBufferLike>,\n\t): Promise<void> {\n\t\tawait this.runtimeAttributor.initialize(\n\t\t\tdeltaManager,\n\t\t\tquorum,\n\t\t\tbaseSnapshotForAttributorTree,\n\t\t\treadBlob,\n\t\t);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.makeVisibleAndAttachGraph}\n\t */\n\tpublic makeVisibleAndAttachGraph(): void {\n\t\tif (this.visibilityState !== VisibilityState.NotVisible) {\n\t\t\treturn;\n\t\t}\n\t\tthis.visibilityState = VisibilityState.LocallyVisible;\n\n\t\tthis.dataStoreContext.makeLocallyVisible();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachSummary}\n\t */\n\tpublic getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachGCData}\n\t */\n\tpublic getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData {\n\t\treturn { gcNodes: {} };\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.process}\n\t */\n\tpublic process(\n\t\tmessage: ISequencedDocumentMessage,\n\t\tlocal: boolean,\n\t\tlocalOpMetadata: unknown,\n\t): void {\n\t\tthrow new Error(\"Attributor should not receive messages yet\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processSignal}\n\t */\n\tpublic processSignal(message: IInboundSignalMessage, local: boolean): void {\n\t\tthrow new Error(\"Attributor should not receive signals\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.summarize}\n\t */\n\tpublic async summarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats> {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getGCData}\n\t */\n\tpublic async getGCData(fullGC?: boolean): Promise<IGarbageCollectionData> {\n\t\t// Nothing to be GCed from the attributor.\n\t\tconst garbageCollectionData: IGarbageCollectionData = { gcNodes: {} };\n\t\treturn garbageCollectionData;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.updateUsedRoutes}\n\t */\n\tpublic updateUsedRoutes(usedRoutes: string[]): void {\n\t\treturn;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setConnectionState}\n\t */\n\tpublic setConnectionState(connected: boolean, clientId?: string): void {\n\t\traiseConnectedEvent(this.logger, this, connected, clientId);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.reSubmit}\n\t */\n\tpublic reSubmit(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not resubmit anything from the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not resubmit anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.applyStashedOp}\n\t */\n\tpublic async applyStashedOp(content: unknown): Promise<unknown> {\n\t\t// Should not apply stashed ops to the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not apply stashed ops to the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.rollback}\n\t */\n\tpublic rollback?(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not rollback anything from the attributor as it does not send ops yet.\n\t\tthrow new Error(\"Should not rollback anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.entryPoint}\n\t */\n\tpublic readonly entryPoint: IFluidHandleInternal<FluidObject>;\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.request}\n\t */\n\tpublic async request(request: IRequest): Promise<IResponse> {\n\t\t// Should not request anything from the attributor as the attributor does not have any channels further.\n\t\tthrow new Error(\"Should not request anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setAttachState}\n\t */\n\tpublic setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void {\n\t\tswitch (attachState) {\n\t\t\tcase AttachState.Attaching: {\n\t\t\t\tthis.attachState = AttachState.Attaching;\n\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.LocallyVisible,\n\t\t\t\t\t0xa1e /* Data store should be locally visible before it can become globally visible. */,\n\t\t\t\t);\n\n\t\t\t\t// Mark the data store globally visible and make its child channels visible as well.\n\t\t\t\tthis.visibilityState = VisibilityState.GloballyVisible;\n\n\t\t\t\t// This promise resolution will be moved to attached event once we fix the scheduler.\n\t\t\t\tthis.deferredAttached.resolve();\n\t\t\t\tthis.emit(\"attaching\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase AttachState.Attached: {\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.GloballyVisible,\n\t\t\t\t\t0xa1f /* Data store should be globally visible when its attached. */,\n\t\t\t\t);\n\t\t\t\tthis.attachState = AttachState.Attached;\n\t\t\t\tthis.emit(\"attached\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tunreachableCase(attachState, \"unreached\");\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"runtimeAttributorDataStoreChannel.js","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,+DAAiE;AACjE,6EAA4F;AAG5F,kEAAwF;AACxF,iEAAuE;AAQvE,2EASsD;AACtD,uEAKkD;AAElD,iEAA2D;AAE3D;;GAEG;AACH,MAAa,iCACZ,SAAQ,gCAA+C;IAGvD,YACiB,gBAAwC,EACxD,QAAiB;QAEjB,KAAK,EAAE,CAAC;QAHQ,qBAAgB,GAAhB,gBAAgB,CAAwB;QAiCjD,cAAS,GAAG,KAAK,CAAC;QAUnB,cAAS,GAAG,IAAI,CAAC;QAGP,qBAAgB,GAAG,IAAI,mBAAQ,EAAQ,CAAC;QA1CxD,IAAI,CAAC,iBAAiB,GAAG,IAAI,wCAAiB,EAAE,CAAC;QACjD,IAAI,CAAC,EAAE,GAAG,IAAA,uCAA4B,EAAC;YACtC,MAAM,EAAE,gBAAgB,CAAC,UAAU;YACnC,SAAS,EAAE,YAAY;SACvB,CAAC,CAAC;QACH,IAAI,CAAC,WAAW,GAAG,gBAAgB,CAAC,WAAW,CAAC;QAChD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,eAAe;gBACnB,gBAAgB,CAAC,WAAW,KAAK,sBAAW,CAAC,QAAQ;oBACpD,CAAC,CAAC,0BAAe,CAAC,cAAc;oBAChC,CAAC,CAAC,0BAAe,CAAC,eAAe,CAAC;QACrC,CAAC;aAAM,CAAC;YACP,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,UAAU,CAAC;QACnD,CAAC;QACD,iDAAiD;QACjD,IAAI,QAAQ,EAAE,CAAC;YACd,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,UAAU,GAAG,IAAI,4BAAiB,CACtC,IAAI,CAAC,iBAAiB,EACtB,EAAE,EACF,gBAAgB,CAAC,mBAAmB,CACpC,CAAC;IACH,CAAC;IAED,IAAW,sBAAsB;QAChC,OAAO,IAAI,CAAC;IACb,CAAC;IAGD,IAAW,QAAQ;QAClB,OAAO,IAAI,CAAC,SAAS,CAAC;IACvB,CAAC;IAEM,OAAO;QACb,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;IACvB,CAAC;IAQD,IAAW,MAAM;QAChB,OAAO,IAAI,CAAC,EAAE,CAAC,MAAM,CAAC;IACvB,CAAC;IAEM,KAAK,CAAC,UAAU,CACtB,YAAwE,EACxE,MAAsB,EACtB,6BAAwD,EACxD,QAAkD;QAElD,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CACtC,YAAY,EACZ,MAAM,EACN,6BAA6B,EAC7B,QAAQ,CACR,CAAC;IACH,CAAC;IAED;;OAEG;IACI,yBAAyB;QAC/B,IAAI,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,UAAU,EAAE,CAAC;YACzD,OAAO;QACR,CAAC;QACD,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,cAAc,CAAC;QAEtD,IAAI,CAAC,gBAAgB,CAAC,kBAAkB,EAAE,CAAC;IAC5C,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,gBAAoC;QAC3D,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,gBAAoC;QAC1D,OAAO,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACI,eAAe,CAAC,iBAA4C;QAClE,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;IAC/D,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAA8B,EAAE,KAAc;QAClE,MAAM,IAAI,KAAK,CAAC,uCAAuC,CAAC,CAAC;IAC1D,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CACrB,QAAkB,EAClB,UAAoB,EACpB,gBAAoC;QAEpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,CAAC;IACvD,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,SAAS,CAAC,MAAgB;QACtC,0CAA0C;QAC1C,MAAM,qBAAqB,GAA2B,EAAE,OAAO,EAAE,EAAE,EAAE,CAAC;QACtE,OAAO,qBAAqB,CAAC;IAC9B,CAAC;IAED;;OAEG;IACI,gBAAgB,CAAC,UAAoB;QAC3C,OAAO;IACR,CAAC;IAED;;OAEG;IACI,kBAAkB,CAAC,SAAkB,EAAE,QAAiB;QAC9D,IAAA,8BAAmB,EAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,QAAQ,CAAC,CAAC;IAC7D,CAAC;IAED;;OAEG;IACI,QAAQ,CAAC,IAAY,EAAE,OAAgB,EAAE,eAAwB;QACvE,4FAA4F;QAC5F,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAED;;OAEG;IACI,KAAK,CAAC,cAAc,CAAC,OAAgB;QAC3C,0FAA0F;QAC1F,MAAM,IAAI,KAAK,CAAC,gDAAgD,CAAC,CAAC;IACnE,CAAC;IAED;;OAEG;IACI,QAAQ,CAAE,IAAY,EAAE,OAAgB,EAAE,eAAwB;QACxE,gFAAgF;QAChF,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACrE,CAAC;IAOD;;OAEG;IACI,KAAK,CAAC,OAAO,CAAC,OAAiB;QACrC,wGAAwG;QACxG,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IACpE,CAAC;IAED;;OAEG;IACI,cAAc,CAAC,WAAyD;QAC9E,QAAQ,WAAW,EAAE,CAAC;YACrB,KAAK,sBAAW,CAAC,SAAS,CAAC,CAAC,CAAC;gBAC5B,IAAI,CAAC,WAAW,GAAG,sBAAW,CAAC,SAAS,CAAC;gBAEzC,IAAA,iBAAM,EACL,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,cAAc,EACvD,KAAK,CAAC,iFAAiF,CACvF,CAAC;gBAEF,oFAAoF;gBACpF,IAAI,CAAC,eAAe,GAAG,0BAAe,CAAC,eAAe,CAAC;gBAEvD,qFAAqF;gBACrF,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC;gBAChC,IAAI,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;gBACvB,MAAM;YACP,CAAC;YACD,KAAK,sBAAW,CAAC,QAAQ,CAAC,CAAC,CAAC;gBAC3B,IAAA,iBAAM,EACL,IAAI,CAAC,eAAe,KAAK,0BAAe,CAAC,eAAe,EACxD,KAAK,CAAC,8DAA8D,CACpE,CAAC;gBACF,IAAI,CAAC,WAAW,GAAG,sBAAW,CAAC,QAAQ,CAAC;gBACxC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;gBACtB,MAAM;YACP,CAAC;YACD,OAAO,CAAC,CAAC,CAAC;gBACT,IAAA,0BAAe,EAAC,WAAW,EAAE,WAAW,CAAC,CAAC;YAC3C,CAAC;QACF,CAAC;IACF,CAAC;CACD;AAzND,8EAyNC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TypedEventEmitter } from \"@fluid-internal/client-utils\";\nimport { AttachState, IDeltaManager } from \"@fluidframework/container-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport type { IFluidHandleInternal } from \"@fluidframework/core-interfaces/internal\";\nimport { assert, Deferred, unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport { FluidObjectHandle } from \"@fluidframework/datastore/internal\";\nimport { IFluidDataStoreRuntimeEvents } from \"@fluidframework/datastore-definitions/internal\";\nimport {\n\tIDocumentMessage,\n\ttype ISnapshotTree,\n\tISequencedDocumentMessage,\n\tIQuorumClients,\n} from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tIGarbageCollectionData,\n\tIFluidDataStoreChannel,\n\tIFluidDataStoreContext,\n\tIInboundSignalMessage,\n\tVisibilityState,\n\ttype ISummaryTreeWithStats,\n\ttype ITelemetryContext,\n\ttype IRuntimeMessageCollection,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tITelemetryLoggerExt,\n\tMonitoringContext,\n\traiseConnectedEvent,\n\tcreateChildMonitoringContext,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { RuntimeAttributor } from \"./runtimeAttributor.js\";\n\n/**\n * Data store channel for the runtime attributor. This channel is responsible for storing and managing the\n */\nexport class RuntimeAttributorDataStoreChannel\n\textends TypedEventEmitter<IFluidDataStoreRuntimeEvents>\n\timplements IFluidDataStoreChannel\n{\n\tpublic constructor(\n\t\tpublic readonly dataStoreContext: IFluidDataStoreContext,\n\t\texisting: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.runtimeAttributor = new RuntimeAttributor();\n\t\tthis.mc = createChildMonitoringContext({\n\t\t\tlogger: dataStoreContext.baseLogger,\n\t\t\tnamespace: \"Attributor\",\n\t\t});\n\t\tthis.attachState = dataStoreContext.attachState;\n\t\tif (existing) {\n\t\t\tthis.visibilityState =\n\t\t\t\tdataStoreContext.attachState === AttachState.Detached\n\t\t\t\t\t? VisibilityState.LocallyVisible\n\t\t\t\t\t: VisibilityState.GloballyVisible;\n\t\t} else {\n\t\t\tthis.visibilityState = VisibilityState.NotVisible;\n\t\t}\n\t\t// If it's existing we know it has been attached.\n\t\tif (existing) {\n\t\t\tthis.deferredAttached.resolve();\n\t\t}\n\t\tthis.entryPoint = new FluidObjectHandle<FluidObject>(\n\t\t\tthis.runtimeAttributor,\n\t\t\t\"\",\n\t\t\tdataStoreContext.IFluidHandleContext,\n\t\t);\n\t}\n\n\tpublic get IFluidDataStoreChannel(): IFluidDataStoreChannel {\n\t\treturn this;\n\t}\n\n\tprivate _disposed = false;\n\tpublic get disposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposed = true;\n\t}\n\n\tprivate readonly runtimeAttributor: RuntimeAttributor;\n\tpublic isEnabled = true;\n\tpublic attachState: AttachState;\n\tpublic visibilityState: VisibilityState;\n\tprivate readonly deferredAttached = new Deferred<void>();\n\tprivate readonly mc: MonitoringContext;\n\tpublic get logger(): ITelemetryLoggerExt {\n\t\treturn this.mc.logger;\n\t}\n\n\tpublic async initialize(\n\t\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tquorum: IQuorumClients,\n\t\tbaseSnapshotForAttributorTree: ISnapshotTree | undefined,\n\t\treadBlob: (id: string) => Promise<ArrayBufferLike>,\n\t): Promise<void> {\n\t\tawait this.runtimeAttributor.initialize(\n\t\t\tdeltaManager,\n\t\t\tquorum,\n\t\t\tbaseSnapshotForAttributorTree,\n\t\t\treadBlob,\n\t\t);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.makeVisibleAndAttachGraph}\n\t */\n\tpublic makeVisibleAndAttachGraph(): void {\n\t\tif (this.visibilityState !== VisibilityState.NotVisible) {\n\t\t\treturn;\n\t\t}\n\t\tthis.visibilityState = VisibilityState.LocallyVisible;\n\n\t\tthis.dataStoreContext.makeLocallyVisible();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachSummary}\n\t */\n\tpublic getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachGCData}\n\t */\n\tpublic getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData {\n\t\treturn { gcNodes: {} };\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processMessages}\n\t */\n\tpublic processMessages(messageCollection: IRuntimeMessageCollection): void {\n\t\tthrow new Error(\"Attributor should not receive messages yet\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processSignal}\n\t */\n\tpublic processSignal(message: IInboundSignalMessage, local: boolean): void {\n\t\tthrow new Error(\"Attributor should not receive signals\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.summarize}\n\t */\n\tpublic async summarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats> {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getGCData}\n\t */\n\tpublic async getGCData(fullGC?: boolean): Promise<IGarbageCollectionData> {\n\t\t// Nothing to be GCed from the attributor.\n\t\tconst garbageCollectionData: IGarbageCollectionData = { gcNodes: {} };\n\t\treturn garbageCollectionData;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.updateUsedRoutes}\n\t */\n\tpublic updateUsedRoutes(usedRoutes: string[]): void {\n\t\treturn;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setConnectionState}\n\t */\n\tpublic setConnectionState(connected: boolean, clientId?: string): void {\n\t\traiseConnectedEvent(this.logger, this, connected, clientId);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.reSubmit}\n\t */\n\tpublic reSubmit(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not resubmit anything from the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not resubmit anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.applyStashedOp}\n\t */\n\tpublic async applyStashedOp(content: unknown): Promise<unknown> {\n\t\t// Should not apply stashed ops to the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not apply stashed ops to the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.rollback}\n\t */\n\tpublic rollback?(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not rollback anything from the attributor as it does not send ops yet.\n\t\tthrow new Error(\"Should not rollback anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.entryPoint}\n\t */\n\tpublic readonly entryPoint: IFluidHandleInternal<FluidObject>;\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.request}\n\t */\n\tpublic async request(request: IRequest): Promise<IResponse> {\n\t\t// Should not request anything from the attributor as the attributor does not have any channels further.\n\t\tthrow new Error(\"Should not request anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setAttachState}\n\t */\n\tpublic setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void {\n\t\tswitch (attachState) {\n\t\t\tcase AttachState.Attaching: {\n\t\t\t\tthis.attachState = AttachState.Attaching;\n\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.LocallyVisible,\n\t\t\t\t\t0xa1e /* Data store should be locally visible before it can become globally visible. */,\n\t\t\t\t);\n\n\t\t\t\t// Mark the data store globally visible and make its child channels visible as well.\n\t\t\t\tthis.visibilityState = VisibilityState.GloballyVisible;\n\n\t\t\t\t// This promise resolution will be moved to attached event once we fix the scheduler.\n\t\t\t\tthis.deferredAttached.resolve();\n\t\t\t\tthis.emit(\"attaching\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase AttachState.Attached: {\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.GloballyVisible,\n\t\t\t\t\t0xa1f /* Data store should be globally visible when its attached. */,\n\t\t\t\t);\n\t\t\t\tthis.attachState = AttachState.Attached;\n\t\t\t\tthis.emit(\"attached\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tunreachableCase(attachState, \"unreached\");\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -8,7 +8,7 @@ import { FluidObject, IRequest, IResponse } from "@fluidframework/core-interface
8
8
  import type { IFluidHandleInternal } from "@fluidframework/core-interfaces/internal";
9
9
  import { IFluidDataStoreRuntimeEvents } from "@fluidframework/datastore-definitions/internal";
10
10
  import { IDocumentMessage, type ISnapshotTree, ISequencedDocumentMessage, IQuorumClients } from "@fluidframework/driver-definitions/internal";
11
- import { IGarbageCollectionData, IFluidDataStoreChannel, IFluidDataStoreContext, IInboundSignalMessage, VisibilityState, type ISummaryTreeWithStats, type ITelemetryContext } from "@fluidframework/runtime-definitions/internal";
11
+ import { IGarbageCollectionData, IFluidDataStoreChannel, IFluidDataStoreContext, IInboundSignalMessage, VisibilityState, type ISummaryTreeWithStats, type ITelemetryContext, type IRuntimeMessageCollection } from "@fluidframework/runtime-definitions/internal";
12
12
  import { ITelemetryLoggerExt } from "@fluidframework/telemetry-utils/internal";
13
13
  /**
14
14
  * Data store channel for the runtime attributor. This channel is responsible for storing and managing the
@@ -41,9 +41,9 @@ export declare class RuntimeAttributorDataStoreChannel extends TypedEventEmitter
41
41
  */
42
42
  getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
43
43
  /**
44
- * {@inheritdoc IFluidDataStoreChannel.process}
44
+ * {@inheritdoc IFluidDataStoreChannel.processMessages}
45
45
  */
46
- process(message: ISequencedDocumentMessage, local: boolean, localOpMetadata: unknown): void;
46
+ processMessages(messageCollection: IRuntimeMessageCollection): void;
47
47
  /**
48
48
  * {@inheritdoc IFluidDataStoreChannel.processSignal}
49
49
  */
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeAttributorDataStoreChannel.d.ts","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtimeAttributorDataStoreChannel.d.ts","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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"}
@@ -78,9 +78,9 @@ export class RuntimeAttributorDataStoreChannel extends TypedEventEmitter {
78
78
  return { gcNodes: {} };
79
79
  }
80
80
  /**
81
- * {@inheritdoc IFluidDataStoreChannel.process}
81
+ * {@inheritdoc IFluidDataStoreChannel.processMessages}
82
82
  */
83
- process(message, local, localOpMetadata) {
83
+ processMessages(messageCollection) {
84
84
  throw new Error("Attributor should not receive messages yet");
85
85
  }
86
86
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"runtimeAttributorDataStoreChannel.js","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TypedEventEmitter } from \"@fluid-internal/client-utils\";\nimport { AttachState, IDeltaManager } from \"@fluidframework/container-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport type { IFluidHandleInternal } from \"@fluidframework/core-interfaces/internal\";\nimport { assert, Deferred, unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport { FluidObjectHandle } from \"@fluidframework/datastore/internal\";\nimport { IFluidDataStoreRuntimeEvents } from \"@fluidframework/datastore-definitions/internal\";\nimport {\n\tIDocumentMessage,\n\ttype ISnapshotTree,\n\tISequencedDocumentMessage,\n\tIQuorumClients,\n} from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tIGarbageCollectionData,\n\tIFluidDataStoreChannel,\n\tIFluidDataStoreContext,\n\tIInboundSignalMessage,\n\tVisibilityState,\n\ttype ISummaryTreeWithStats,\n\ttype ITelemetryContext,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tITelemetryLoggerExt,\n\tMonitoringContext,\n\traiseConnectedEvent,\n\tcreateChildMonitoringContext,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { RuntimeAttributor } from \"./runtimeAttributor.js\";\n\n/**\n * Data store channel for the runtime attributor. This channel is responsible for storing and managing the\n */\nexport class RuntimeAttributorDataStoreChannel\n\textends TypedEventEmitter<IFluidDataStoreRuntimeEvents>\n\timplements IFluidDataStoreChannel\n{\n\tpublic constructor(\n\t\tpublic readonly dataStoreContext: IFluidDataStoreContext,\n\t\texisting: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.runtimeAttributor = new RuntimeAttributor();\n\t\tthis.mc = createChildMonitoringContext({\n\t\t\tlogger: dataStoreContext.baseLogger,\n\t\t\tnamespace: \"Attributor\",\n\t\t});\n\t\tthis.attachState = dataStoreContext.attachState;\n\t\tif (existing) {\n\t\t\tthis.visibilityState =\n\t\t\t\tdataStoreContext.attachState === AttachState.Detached\n\t\t\t\t\t? VisibilityState.LocallyVisible\n\t\t\t\t\t: VisibilityState.GloballyVisible;\n\t\t} else {\n\t\t\tthis.visibilityState = VisibilityState.NotVisible;\n\t\t}\n\t\t// If it's existing we know it has been attached.\n\t\tif (existing) {\n\t\t\tthis.deferredAttached.resolve();\n\t\t}\n\t\tthis.entryPoint = new FluidObjectHandle<FluidObject>(\n\t\t\tthis.runtimeAttributor,\n\t\t\t\"\",\n\t\t\tdataStoreContext.IFluidHandleContext,\n\t\t);\n\t}\n\n\tpublic get IFluidDataStoreChannel(): IFluidDataStoreChannel {\n\t\treturn this;\n\t}\n\n\tprivate _disposed = false;\n\tpublic get disposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposed = true;\n\t}\n\n\tprivate readonly runtimeAttributor: RuntimeAttributor;\n\tpublic isEnabled = true;\n\tpublic attachState: AttachState;\n\tpublic visibilityState: VisibilityState;\n\tprivate readonly deferredAttached = new Deferred<void>();\n\tprivate readonly mc: MonitoringContext;\n\tpublic get logger(): ITelemetryLoggerExt {\n\t\treturn this.mc.logger;\n\t}\n\n\tpublic async initialize(\n\t\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tquorum: IQuorumClients,\n\t\tbaseSnapshotForAttributorTree: ISnapshotTree | undefined,\n\t\treadBlob: (id: string) => Promise<ArrayBufferLike>,\n\t): Promise<void> {\n\t\tawait this.runtimeAttributor.initialize(\n\t\t\tdeltaManager,\n\t\t\tquorum,\n\t\t\tbaseSnapshotForAttributorTree,\n\t\t\treadBlob,\n\t\t);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.makeVisibleAndAttachGraph}\n\t */\n\tpublic makeVisibleAndAttachGraph(): void {\n\t\tif (this.visibilityState !== VisibilityState.NotVisible) {\n\t\t\treturn;\n\t\t}\n\t\tthis.visibilityState = VisibilityState.LocallyVisible;\n\n\t\tthis.dataStoreContext.makeLocallyVisible();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachSummary}\n\t */\n\tpublic getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachGCData}\n\t */\n\tpublic getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData {\n\t\treturn { gcNodes: {} };\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.process}\n\t */\n\tpublic process(\n\t\tmessage: ISequencedDocumentMessage,\n\t\tlocal: boolean,\n\t\tlocalOpMetadata: unknown,\n\t): void {\n\t\tthrow new Error(\"Attributor should not receive messages yet\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processSignal}\n\t */\n\tpublic processSignal(message: IInboundSignalMessage, local: boolean): void {\n\t\tthrow new Error(\"Attributor should not receive signals\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.summarize}\n\t */\n\tpublic async summarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats> {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getGCData}\n\t */\n\tpublic async getGCData(fullGC?: boolean): Promise<IGarbageCollectionData> {\n\t\t// Nothing to be GCed from the attributor.\n\t\tconst garbageCollectionData: IGarbageCollectionData = { gcNodes: {} };\n\t\treturn garbageCollectionData;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.updateUsedRoutes}\n\t */\n\tpublic updateUsedRoutes(usedRoutes: string[]): void {\n\t\treturn;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setConnectionState}\n\t */\n\tpublic setConnectionState(connected: boolean, clientId?: string): void {\n\t\traiseConnectedEvent(this.logger, this, connected, clientId);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.reSubmit}\n\t */\n\tpublic reSubmit(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not resubmit anything from the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not resubmit anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.applyStashedOp}\n\t */\n\tpublic async applyStashedOp(content: unknown): Promise<unknown> {\n\t\t// Should not apply stashed ops to the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not apply stashed ops to the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.rollback}\n\t */\n\tpublic rollback?(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not rollback anything from the attributor as it does not send ops yet.\n\t\tthrow new Error(\"Should not rollback anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.entryPoint}\n\t */\n\tpublic readonly entryPoint: IFluidHandleInternal<FluidObject>;\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.request}\n\t */\n\tpublic async request(request: IRequest): Promise<IResponse> {\n\t\t// Should not request anything from the attributor as the attributor does not have any channels further.\n\t\tthrow new Error(\"Should not request anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setAttachState}\n\t */\n\tpublic setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void {\n\t\tswitch (attachState) {\n\t\t\tcase AttachState.Attaching: {\n\t\t\t\tthis.attachState = AttachState.Attaching;\n\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.LocallyVisible,\n\t\t\t\t\t0xa1e /* Data store should be locally visible before it can become globally visible. */,\n\t\t\t\t);\n\n\t\t\t\t// Mark the data store globally visible and make its child channels visible as well.\n\t\t\t\tthis.visibilityState = VisibilityState.GloballyVisible;\n\n\t\t\t\t// This promise resolution will be moved to attached event once we fix the scheduler.\n\t\t\t\tthis.deferredAttached.resolve();\n\t\t\t\tthis.emit(\"attaching\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase AttachState.Attached: {\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.GloballyVisible,\n\t\t\t\t\t0xa1f /* Data store should be globally visible when its attached. */,\n\t\t\t\t);\n\t\t\t\tthis.attachState = AttachState.Attached;\n\t\t\t\tthis.emit(\"attached\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tunreachableCase(attachState, \"unreached\");\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
1
+ {"version":3,"file":"runtimeAttributorDataStoreChannel.js","sourceRoot":"","sources":["../src/runtimeAttributorDataStoreChannel.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { TypedEventEmitter } from \"@fluid-internal/client-utils\";\nimport { AttachState, IDeltaManager } from \"@fluidframework/container-definitions/internal\";\nimport { FluidObject, IRequest, IResponse } from \"@fluidframework/core-interfaces\";\nimport type { IFluidHandleInternal } from \"@fluidframework/core-interfaces/internal\";\nimport { assert, Deferred, unreachableCase } from \"@fluidframework/core-utils/internal\";\nimport { FluidObjectHandle } from \"@fluidframework/datastore/internal\";\nimport { IFluidDataStoreRuntimeEvents } from \"@fluidframework/datastore-definitions/internal\";\nimport {\n\tIDocumentMessage,\n\ttype ISnapshotTree,\n\tISequencedDocumentMessage,\n\tIQuorumClients,\n} from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tIGarbageCollectionData,\n\tIFluidDataStoreChannel,\n\tIFluidDataStoreContext,\n\tIInboundSignalMessage,\n\tVisibilityState,\n\ttype ISummaryTreeWithStats,\n\ttype ITelemetryContext,\n\ttype IRuntimeMessageCollection,\n} from \"@fluidframework/runtime-definitions/internal\";\nimport {\n\tITelemetryLoggerExt,\n\tMonitoringContext,\n\traiseConnectedEvent,\n\tcreateChildMonitoringContext,\n} from \"@fluidframework/telemetry-utils/internal\";\n\nimport { RuntimeAttributor } from \"./runtimeAttributor.js\";\n\n/**\n * Data store channel for the runtime attributor. This channel is responsible for storing and managing the\n */\nexport class RuntimeAttributorDataStoreChannel\n\textends TypedEventEmitter<IFluidDataStoreRuntimeEvents>\n\timplements IFluidDataStoreChannel\n{\n\tpublic constructor(\n\t\tpublic readonly dataStoreContext: IFluidDataStoreContext,\n\t\texisting: boolean,\n\t) {\n\t\tsuper();\n\t\tthis.runtimeAttributor = new RuntimeAttributor();\n\t\tthis.mc = createChildMonitoringContext({\n\t\t\tlogger: dataStoreContext.baseLogger,\n\t\t\tnamespace: \"Attributor\",\n\t\t});\n\t\tthis.attachState = dataStoreContext.attachState;\n\t\tif (existing) {\n\t\t\tthis.visibilityState =\n\t\t\t\tdataStoreContext.attachState === AttachState.Detached\n\t\t\t\t\t? VisibilityState.LocallyVisible\n\t\t\t\t\t: VisibilityState.GloballyVisible;\n\t\t} else {\n\t\t\tthis.visibilityState = VisibilityState.NotVisible;\n\t\t}\n\t\t// If it's existing we know it has been attached.\n\t\tif (existing) {\n\t\t\tthis.deferredAttached.resolve();\n\t\t}\n\t\tthis.entryPoint = new FluidObjectHandle<FluidObject>(\n\t\t\tthis.runtimeAttributor,\n\t\t\t\"\",\n\t\t\tdataStoreContext.IFluidHandleContext,\n\t\t);\n\t}\n\n\tpublic get IFluidDataStoreChannel(): IFluidDataStoreChannel {\n\t\treturn this;\n\t}\n\n\tprivate _disposed = false;\n\tpublic get disposed(): boolean {\n\t\treturn this._disposed;\n\t}\n\n\tpublic dispose(): void {\n\t\tthis._disposed = true;\n\t}\n\n\tprivate readonly runtimeAttributor: RuntimeAttributor;\n\tpublic isEnabled = true;\n\tpublic attachState: AttachState;\n\tpublic visibilityState: VisibilityState;\n\tprivate readonly deferredAttached = new Deferred<void>();\n\tprivate readonly mc: MonitoringContext;\n\tpublic get logger(): ITelemetryLoggerExt {\n\t\treturn this.mc.logger;\n\t}\n\n\tpublic async initialize(\n\t\tdeltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>,\n\t\tquorum: IQuorumClients,\n\t\tbaseSnapshotForAttributorTree: ISnapshotTree | undefined,\n\t\treadBlob: (id: string) => Promise<ArrayBufferLike>,\n\t): Promise<void> {\n\t\tawait this.runtimeAttributor.initialize(\n\t\t\tdeltaManager,\n\t\t\tquorum,\n\t\t\tbaseSnapshotForAttributorTree,\n\t\t\treadBlob,\n\t\t);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.makeVisibleAndAttachGraph}\n\t */\n\tpublic makeVisibleAndAttachGraph(): void {\n\t\tif (this.visibilityState !== VisibilityState.NotVisible) {\n\t\t\treturn;\n\t\t}\n\t\tthis.visibilityState = VisibilityState.LocallyVisible;\n\n\t\tthis.dataStoreContext.makeLocallyVisible();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachSummary}\n\t */\n\tpublic getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getAttachGCData}\n\t */\n\tpublic getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData {\n\t\treturn { gcNodes: {} };\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processMessages}\n\t */\n\tpublic processMessages(messageCollection: IRuntimeMessageCollection): void {\n\t\tthrow new Error(\"Attributor should not receive messages yet\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.processSignal}\n\t */\n\tpublic processSignal(message: IInboundSignalMessage, local: boolean): void {\n\t\tthrow new Error(\"Attributor should not receive signals\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.summarize}\n\t */\n\tpublic async summarize(\n\t\tfullTree?: boolean,\n\t\ttrackState?: boolean,\n\t\ttelemetryContext?: ITelemetryContext,\n\t): Promise<ISummaryTreeWithStats> {\n\t\treturn this.runtimeAttributor.summarizeOpAttributor();\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.getGCData}\n\t */\n\tpublic async getGCData(fullGC?: boolean): Promise<IGarbageCollectionData> {\n\t\t// Nothing to be GCed from the attributor.\n\t\tconst garbageCollectionData: IGarbageCollectionData = { gcNodes: {} };\n\t\treturn garbageCollectionData;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.updateUsedRoutes}\n\t */\n\tpublic updateUsedRoutes(usedRoutes: string[]): void {\n\t\treturn;\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setConnectionState}\n\t */\n\tpublic setConnectionState(connected: boolean, clientId?: string): void {\n\t\traiseConnectedEvent(this.logger, this, connected, clientId);\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.reSubmit}\n\t */\n\tpublic reSubmit(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not resubmit anything from the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not resubmit anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.applyStashedOp}\n\t */\n\tpublic async applyStashedOp(content: unknown): Promise<unknown> {\n\t\t// Should not apply stashed ops to the attributor as the attributor does not send ops yet.\n\t\tthrow new Error(\"Should not apply stashed ops to the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.rollback}\n\t */\n\tpublic rollback?(type: string, content: unknown, localOpMetadata: unknown): void {\n\t\t// Should not rollback anything from the attributor as it does not send ops yet.\n\t\tthrow new Error(\"Should not rollback anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.entryPoint}\n\t */\n\tpublic readonly entryPoint: IFluidHandleInternal<FluidObject>;\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.request}\n\t */\n\tpublic async request(request: IRequest): Promise<IResponse> {\n\t\t// Should not request anything from the attributor as the attributor does not have any channels further.\n\t\tthrow new Error(\"Should not request anything from the attributor\");\n\t}\n\n\t/**\n\t * {@inheritdoc IFluidDataStoreChannel.setAttachState}\n\t */\n\tpublic setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void {\n\t\tswitch (attachState) {\n\t\t\tcase AttachState.Attaching: {\n\t\t\t\tthis.attachState = AttachState.Attaching;\n\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.LocallyVisible,\n\t\t\t\t\t0xa1e /* Data store should be locally visible before it can become globally visible. */,\n\t\t\t\t);\n\n\t\t\t\t// Mark the data store globally visible and make its child channels visible as well.\n\t\t\t\tthis.visibilityState = VisibilityState.GloballyVisible;\n\n\t\t\t\t// This promise resolution will be moved to attached event once we fix the scheduler.\n\t\t\t\tthis.deferredAttached.resolve();\n\t\t\t\tthis.emit(\"attaching\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tcase AttachState.Attached: {\n\t\t\t\tassert(\n\t\t\t\t\tthis.visibilityState === VisibilityState.GloballyVisible,\n\t\t\t\t\t0xa1f /* Data store should be globally visible when its attached. */,\n\t\t\t\t);\n\t\t\t\tthis.attachState = AttachState.Attached;\n\t\t\t\tthis.emit(\"attached\");\n\t\t\t\tbreak;\n\t\t\t}\n\t\t\tdefault: {\n\t\t\t\tunreachableCase(attachState, \"unreached\");\n\t\t\t}\n\t\t}\n\t}\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  "toolPackages": [
6
6
  {
7
7
  "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.47.8"
8
+ "packageVersion": "7.50.1"
9
9
  }
10
10
  ]
11
11
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluid-experimental/attributor",
3
- "version": "2.23.0",
3
+ "version": "2.31.0",
4
4
  "description": "Operation attributor",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -49,33 +49,33 @@
49
49
  "temp-directory": "nyc/.nyc_output"
50
50
  },
51
51
  "dependencies": {
52
- "@fluid-internal/client-utils": "~2.23.0",
53
- "@fluidframework/container-definitions": "~2.23.0",
54
- "@fluidframework/container-runtime": "~2.23.0",
55
- "@fluidframework/container-runtime-definitions": "~2.23.0",
56
- "@fluidframework/core-interfaces": "~2.23.0",
57
- "@fluidframework/core-utils": "~2.23.0",
58
- "@fluidframework/datastore": "~2.23.0",
59
- "@fluidframework/datastore-definitions": "~2.23.0",
60
- "@fluidframework/driver-definitions": "~2.23.0",
61
- "@fluidframework/runtime-definitions": "~2.23.0",
62
- "@fluidframework/runtime-utils": "~2.23.0",
63
- "@fluidframework/telemetry-utils": "~2.23.0",
52
+ "@fluid-internal/client-utils": "~2.31.0",
53
+ "@fluidframework/container-definitions": "~2.31.0",
54
+ "@fluidframework/container-runtime": "~2.31.0",
55
+ "@fluidframework/container-runtime-definitions": "~2.31.0",
56
+ "@fluidframework/core-interfaces": "~2.31.0",
57
+ "@fluidframework/core-utils": "~2.31.0",
58
+ "@fluidframework/datastore": "~2.31.0",
59
+ "@fluidframework/datastore-definitions": "~2.31.0",
60
+ "@fluidframework/driver-definitions": "~2.31.0",
61
+ "@fluidframework/runtime-definitions": "~2.31.0",
62
+ "@fluidframework/runtime-utils": "~2.31.0",
63
+ "@fluidframework/telemetry-utils": "~2.31.0",
64
64
  "lz4js": "^0.2.0"
65
65
  },
66
66
  "devDependencies": {
67
67
  "@arethetypeswrong/cli": "^0.17.1",
68
68
  "@biomejs/biome": "~1.9.3",
69
- "@fluid-internal/mocha-test-setup": "~2.23.0",
70
- "@fluid-private/stochastic-test-utils": "~2.23.0",
69
+ "@fluid-internal/mocha-test-setup": "~2.31.0",
70
+ "@fluid-private/stochastic-test-utils": "~2.31.0",
71
71
  "@fluid-tools/build-cli": "^0.54.0",
72
72
  "@fluidframework/build-common": "^2.0.3",
73
73
  "@fluidframework/build-tools": "^0.54.0",
74
74
  "@fluidframework/eslint-config-fluid": "^5.7.3",
75
- "@fluidframework/merge-tree": "~2.23.0",
76
- "@fluidframework/sequence": "~2.23.0",
77
- "@fluidframework/test-runtime-utils": "~2.23.0",
78
- "@microsoft/api-extractor": "7.47.8",
75
+ "@fluidframework/merge-tree": "~2.31.0",
76
+ "@fluidframework/sequence": "~2.31.0",
77
+ "@fluidframework/test-runtime-utils": "~2.31.0",
78
+ "@microsoft/api-extractor": "7.50.1",
79
79
  "@types/mocha": "^10.0.10",
80
80
  "@types/node": "^18.19.0",
81
81
  "c8": "^8.0.1",
@@ -83,10 +83,9 @@
83
83
  "copyfiles": "^2.4.1",
84
84
  "cross-env": "^7.0.3",
85
85
  "eslint": "~8.55.0",
86
- "mocha": "^10.2.0",
86
+ "mocha": "^10.8.2",
87
87
  "mocha-multi-reporters": "^1.5.1",
88
88
  "moment": "^2.21.0",
89
- "prettier": "~3.0.3",
90
89
  "rimraf": "^4.4.0",
91
90
  "typescript": "~5.4.5"
92
91
  },
@@ -111,14 +110,12 @@
111
110
  "check:exports:cjs:index": "api-extractor run --config api-extractor/api-extractor-lint-index.cjs.json",
112
111
  "check:exports:esm:index": "api-extractor run --config api-extractor/api-extractor-lint-index.esm.json",
113
112
  "check:format": "npm run check:biome",
114
- "check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
115
113
  "ci:build:docs": "api-extractor run",
116
114
  "clean": "rimraf --glob dist lib \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp nyc",
117
115
  "eslint": "eslint --format stylish src",
118
116
  "eslint:fix": "eslint --format stylish src --fix --fix-type problem,suggestion,layout",
119
117
  "format": "npm run format:biome",
120
118
  "format:biome": "biome check . --write",
121
- "format:prettier": "prettier --write . --cache --ignore-path ../../../.prettierignore",
122
119
  "lint": "fluid-build . --task lint",
123
120
  "lint:fix": "fluid-build . --task eslint:fix --task format",
124
121
  "test": "npm run test:mocha",
@@ -24,6 +24,7 @@ import {
24
24
  VisibilityState,
25
25
  type ISummaryTreeWithStats,
26
26
  type ITelemetryContext,
27
+ type IRuntimeMessageCollection,
27
28
  } from "@fluidframework/runtime-definitions/internal";
28
29
  import {
29
30
  ITelemetryLoggerExt,
@@ -135,13 +136,9 @@ export class RuntimeAttributorDataStoreChannel
135
136
  }
136
137
 
137
138
  /**
138
- * {@inheritdoc IFluidDataStoreChannel.process}
139
+ * {@inheritdoc IFluidDataStoreChannel.processMessages}
139
140
  */
140
- public process(
141
- message: ISequencedDocumentMessage,
142
- local: boolean,
143
- localOpMetadata: unknown,
144
- ): void {
141
+ public processMessages(messageCollection: IRuntimeMessageCollection): void {
145
142
  throw new Error("Attributor should not receive messages yet");
146
143
  }
147
144
 
@@ -1,8 +0,0 @@
1
- /*!
2
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
- * Licensed under the MIT License.
4
- */
5
-
6
- module.exports = {
7
- ...require("@fluidframework/build-common/prettier.config.cjs"),
8
- };