@fluidframework/container-runtime-definitions 2.51.0 → 2.52.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 +4 -0
- package/api-report/container-runtime-definitions.legacy.alpha.api.md +1 -1
- package/dist/containerExtension.d.ts +32 -5
- package/dist/containerExtension.d.ts.map +1 -1
- package/dist/containerRuntime.d.ts +3 -3
- package/dist/containerRuntime.d.ts.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/lib/containerExtension.d.ts +32 -5
- package/lib/containerExtension.d.ts.map +1 -1
- package/lib/containerRuntime.d.ts +3 -3
- package/lib/containerRuntime.d.ts.map +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.d.ts.map +1 -1
- package/package.json +9 -9
- package/src/containerExtension.ts +32 -4
- package/src/containerRuntime.ts +5 -3
- package/src/index.ts +1 -0
package/CHANGELOG.md
CHANGED
|
@@ -24,7 +24,7 @@ export interface IContainerRuntime extends IProvideFluidDataStoreRegistry, ICont
|
|
|
24
24
|
// (undocumented)
|
|
25
25
|
readonly scope: FluidObject;
|
|
26
26
|
// (undocumented)
|
|
27
|
-
readonly storage:
|
|
27
|
+
readonly storage: IContainerStorageService;
|
|
28
28
|
}
|
|
29
29
|
|
|
30
30
|
// @alpha @sealed @legacy (undocumented)
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ILayerCompatDetails } from "@fluid-internal/client-utils";
|
|
6
6
|
import type { IAudience } from "@fluidframework/container-definitions/internal";
|
|
7
|
-
import type { BrandedType, InternalUtilityTypes, ITelemetryBaseLogger, JsonDeserialized, JsonSerializable, Listenable, TypedMessage } from "@fluidframework/core-interfaces/internal";
|
|
7
|
+
import type { BrandedType, InternalUtilityTypes, ITelemetryBaseLogger, JsonDeserialized, JsonSerializable, Listenable, OpaqueJsonDeserialized, TypedMessage } from "@fluidframework/core-interfaces/internal";
|
|
8
8
|
import type { IQuorumClients } from "@fluidframework/driver-definitions/internal";
|
|
9
9
|
/**
|
|
10
10
|
* While connected, the id of a client within a session.
|
|
@@ -78,7 +78,7 @@ export declare class UnverifiedBrand<T> extends BrandedType<T> {
|
|
|
78
78
|
*/
|
|
79
79
|
export type RawInboundExtensionMessage<TMessage extends TypedMessage = TypedMessage> = TMessage extends TypedMessage ? InternalUtilityTypes.FlattenIntersection<ExtensionMessage<{
|
|
80
80
|
type: string;
|
|
81
|
-
content:
|
|
81
|
+
content: OpaqueJsonDeserialized<unknown>;
|
|
82
82
|
}> & {
|
|
83
83
|
/**
|
|
84
84
|
* The client ID that submitted the message.
|
|
@@ -94,7 +94,7 @@ export type RawInboundExtensionMessage<TMessage extends TypedMessage = TypedMess
|
|
|
94
94
|
*/
|
|
95
95
|
export type VerifiedInboundExtensionMessage<TMessage extends TypedMessage = TypedMessage> = TMessage extends TypedMessage ? InternalUtilityTypes.FlattenIntersection<ExtensionMessage<{
|
|
96
96
|
type: TMessage["type"];
|
|
97
|
-
content: JsonDeserialized<TMessage["content"]>;
|
|
97
|
+
content: unknown extends TMessage["content"] ? OpaqueJsonDeserialized<unknown> : JsonDeserialized<TMessage["content"]>;
|
|
98
98
|
}> & {
|
|
99
99
|
/**
|
|
100
100
|
* The client ID that submitted the message.
|
|
@@ -148,14 +148,27 @@ export interface ContainerExtension<TRuntimeProperties extends ExtensionRuntimeP
|
|
|
148
148
|
*/
|
|
149
149
|
processSignal?: (addressChain: string[], signalMessage: InboundExtensionMessage<TRuntimeProperties["SignalMessages"]>, local: boolean) => void;
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Join status for container.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
export type JoinedStatus = "disconnected" | "joinedForReading" | "joinedForWriting";
|
|
151
157
|
/**
|
|
152
158
|
* Events emitted by the {@link ExtensionHost}.
|
|
153
159
|
*
|
|
160
|
+
* @remarks
|
|
161
|
+
* With loaders prior to 2.52.0, readonly clients will not get joined status or events.
|
|
162
|
+
* The only events emitted will be "joined" with canWrite = true and "disconnected".
|
|
154
163
|
* @internal
|
|
155
164
|
*/
|
|
156
165
|
export interface ExtensionHostEvents {
|
|
157
166
|
"disconnected": () => void;
|
|
158
|
-
"
|
|
167
|
+
"joined": (props: {
|
|
168
|
+
clientId: ClientConnectionId;
|
|
169
|
+
canWrite: boolean;
|
|
170
|
+
}) => void;
|
|
171
|
+
"connectionTypeChanged": (canWrite: boolean) => void;
|
|
159
172
|
}
|
|
160
173
|
/**
|
|
161
174
|
* Defines the runtime aspects an extension may access.
|
|
@@ -167,7 +180,21 @@ export interface ExtensionHostEvents {
|
|
|
167
180
|
* @internal
|
|
168
181
|
*/
|
|
169
182
|
export interface ExtensionHost<TRuntimeProperties extends ExtensionRuntimeProperties> {
|
|
170
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Gets the current joined status of the container.
|
|
185
|
+
*
|
|
186
|
+
* @remarks
|
|
187
|
+
* Returns one of three possible {@link JoinedStatus} values:
|
|
188
|
+
* - "disconnected": The container is not connected to the service
|
|
189
|
+
* - "joinedForReading": The container has a read-only connection
|
|
190
|
+
* - "joinedForWriting": The container has a write connection
|
|
191
|
+
*
|
|
192
|
+
* Status changes are signaled through :
|
|
193
|
+
* - {@link ExtensionHostEvents.disconnected}: Transitioning to Disconnected state
|
|
194
|
+
* - {@link ExtensionHostEvents.joined}: Transition to Connected state (either for reading or writing)
|
|
195
|
+
* - {@link ExtensionHostEvents.connectionTypeChanged}: When connection type has changed (e.g., write to read)
|
|
196
|
+
*/
|
|
197
|
+
readonly getJoinedStatus: () => JoinedStatus;
|
|
171
198
|
readonly getClientId: () => ClientConnectionId | undefined;
|
|
172
199
|
readonly events: Listenable<ExtensionHostEvents>;
|
|
173
200
|
readonly logger: ITelemetryBaseLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerExtension.d.ts","sourceRoot":"","sources":["../src/containerExtension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,KAAK,EACX,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC3B,QAAQ,SAAS,YAAY,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC/D,IAED,QAAQ,SAAS,YAAY,GAC1B,oBAAoB,CAAC,mBAAmB,CACxC,QAAQ,GAAG;IACV;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC,CACD,GACA,KAAK,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAChF,gBAAgB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAI;IACpC,OAAO;CACP;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAElF,QAAQ,SAAS,YAAY,GAC1B,oBAAoB,CAAC,mBAAmB,CACxC,gBAAgB,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"containerExtension.d.ts","sourceRoot":"","sources":["../src/containerExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import type { AttachState } from "@fluidframework/container-definitions";
|
|
6
|
-
import type { IDeltaManager } from "@fluidframework/container-definitions/internal";
|
|
6
|
+
import type { IContainerStorageService, IDeltaManager } from "@fluidframework/container-definitions/internal";
|
|
7
7
|
import type { FluidObject, IEvent, IEventProvider, IRequest, IResponse } from "@fluidframework/core-interfaces";
|
|
8
8
|
import type { IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
|
|
9
9
|
import type { IClientDetails } from "@fluidframework/driver-definitions";
|
|
10
|
-
import type {
|
|
10
|
+
import type { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
11
11
|
import type { FlushMode, IContainerRuntimeBase, IContainerRuntimeBaseEvents, IProvideFluidDataStoreRegistry } from "@fluidframework/runtime-definitions/internal";
|
|
12
12
|
import type { ContainerExtensionStore } from "./containerExtension.js";
|
|
13
13
|
/**
|
|
@@ -132,7 +132,7 @@ export interface IContainerRuntime extends IProvideFluidDataStoreRegistry, ICont
|
|
|
132
132
|
readonly clientDetails: IClientDetails;
|
|
133
133
|
readonly connected: boolean;
|
|
134
134
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
135
|
-
readonly storage:
|
|
135
|
+
readonly storage: IContainerStorageService;
|
|
136
136
|
readonly flushMode: FlushMode;
|
|
137
137
|
readonly scope: FluidObject;
|
|
138
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export type { ClientConnectionId, ContainerExtensionFactory, ContainerExtensionId, ContainerExtensionStore, ContainerExtension, ExtensionHost, ExtensionHostEvents, ExtensionMessage, ExtensionRuntimeProperties, InboundExtensionMessage, OutboundExtensionMessage, RawInboundExtensionMessage, UnverifiedBrand, VerifiedInboundExtensionMessage, } from "./containerExtension.js";
|
|
5
|
+
export type { ClientConnectionId, ContainerExtensionFactory, ContainerExtensionId, ContainerExtensionStore, ContainerExtension, ExtensionHost, ExtensionHostEvents, ExtensionMessage, ExtensionRuntimeProperties, InboundExtensionMessage, JoinedStatus, OutboundExtensionMessage, RawInboundExtensionMessage, UnverifiedBrand, VerifiedInboundExtensionMessage, } from "./containerExtension.js";
|
|
6
6
|
export type { IContainerRuntime, IContainerRuntimeBaseWithCombinedEvents, IContainerRuntimeEvents, IContainerRuntimeInternal, IContainerRuntimeWithResolveHandle_Deprecated, SummarizerStopReason, ISummarizeEventProps, ISummarizerObservabilityProps, ISummarizerEvents, } from "./containerRuntime.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,iBAAiB,EACjB,uCAAuC,EACvC,uBAAuB,EACvB,yBAAyB,EACzB,6CAA6C,EAC7C,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,iBAAiB,EACjB,uCAAuC,EACvC,uBAAuB,EACvB,yBAAyB,EACzB,6CAA6C,EAC7C,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
*/
|
|
5
5
|
import type { ILayerCompatDetails } from "@fluid-internal/client-utils";
|
|
6
6
|
import type { IAudience } from "@fluidframework/container-definitions/internal";
|
|
7
|
-
import type { BrandedType, InternalUtilityTypes, ITelemetryBaseLogger, JsonDeserialized, JsonSerializable, Listenable, TypedMessage } from "@fluidframework/core-interfaces/internal";
|
|
7
|
+
import type { BrandedType, InternalUtilityTypes, ITelemetryBaseLogger, JsonDeserialized, JsonSerializable, Listenable, OpaqueJsonDeserialized, TypedMessage } from "@fluidframework/core-interfaces/internal";
|
|
8
8
|
import type { IQuorumClients } from "@fluidframework/driver-definitions/internal";
|
|
9
9
|
/**
|
|
10
10
|
* While connected, the id of a client within a session.
|
|
@@ -78,7 +78,7 @@ export declare class UnverifiedBrand<T> extends BrandedType<T> {
|
|
|
78
78
|
*/
|
|
79
79
|
export type RawInboundExtensionMessage<TMessage extends TypedMessage = TypedMessage> = TMessage extends TypedMessage ? InternalUtilityTypes.FlattenIntersection<ExtensionMessage<{
|
|
80
80
|
type: string;
|
|
81
|
-
content:
|
|
81
|
+
content: OpaqueJsonDeserialized<unknown>;
|
|
82
82
|
}> & {
|
|
83
83
|
/**
|
|
84
84
|
* The client ID that submitted the message.
|
|
@@ -94,7 +94,7 @@ export type RawInboundExtensionMessage<TMessage extends TypedMessage = TypedMess
|
|
|
94
94
|
*/
|
|
95
95
|
export type VerifiedInboundExtensionMessage<TMessage extends TypedMessage = TypedMessage> = TMessage extends TypedMessage ? InternalUtilityTypes.FlattenIntersection<ExtensionMessage<{
|
|
96
96
|
type: TMessage["type"];
|
|
97
|
-
content: JsonDeserialized<TMessage["content"]>;
|
|
97
|
+
content: unknown extends TMessage["content"] ? OpaqueJsonDeserialized<unknown> : JsonDeserialized<TMessage["content"]>;
|
|
98
98
|
}> & {
|
|
99
99
|
/**
|
|
100
100
|
* The client ID that submitted the message.
|
|
@@ -148,14 +148,27 @@ export interface ContainerExtension<TRuntimeProperties extends ExtensionRuntimeP
|
|
|
148
148
|
*/
|
|
149
149
|
processSignal?: (addressChain: string[], signalMessage: InboundExtensionMessage<TRuntimeProperties["SignalMessages"]>, local: boolean) => void;
|
|
150
150
|
}
|
|
151
|
+
/**
|
|
152
|
+
* Join status for container.
|
|
153
|
+
*
|
|
154
|
+
* @internal
|
|
155
|
+
*/
|
|
156
|
+
export type JoinedStatus = "disconnected" | "joinedForReading" | "joinedForWriting";
|
|
151
157
|
/**
|
|
152
158
|
* Events emitted by the {@link ExtensionHost}.
|
|
153
159
|
*
|
|
160
|
+
* @remarks
|
|
161
|
+
* With loaders prior to 2.52.0, readonly clients will not get joined status or events.
|
|
162
|
+
* The only events emitted will be "joined" with canWrite = true and "disconnected".
|
|
154
163
|
* @internal
|
|
155
164
|
*/
|
|
156
165
|
export interface ExtensionHostEvents {
|
|
157
166
|
"disconnected": () => void;
|
|
158
|
-
"
|
|
167
|
+
"joined": (props: {
|
|
168
|
+
clientId: ClientConnectionId;
|
|
169
|
+
canWrite: boolean;
|
|
170
|
+
}) => void;
|
|
171
|
+
"connectionTypeChanged": (canWrite: boolean) => void;
|
|
159
172
|
}
|
|
160
173
|
/**
|
|
161
174
|
* Defines the runtime aspects an extension may access.
|
|
@@ -167,7 +180,21 @@ export interface ExtensionHostEvents {
|
|
|
167
180
|
* @internal
|
|
168
181
|
*/
|
|
169
182
|
export interface ExtensionHost<TRuntimeProperties extends ExtensionRuntimeProperties> {
|
|
170
|
-
|
|
183
|
+
/**
|
|
184
|
+
* Gets the current joined status of the container.
|
|
185
|
+
*
|
|
186
|
+
* @remarks
|
|
187
|
+
* Returns one of three possible {@link JoinedStatus} values:
|
|
188
|
+
* - "disconnected": The container is not connected to the service
|
|
189
|
+
* - "joinedForReading": The container has a read-only connection
|
|
190
|
+
* - "joinedForWriting": The container has a write connection
|
|
191
|
+
*
|
|
192
|
+
* Status changes are signaled through :
|
|
193
|
+
* - {@link ExtensionHostEvents.disconnected}: Transitioning to Disconnected state
|
|
194
|
+
* - {@link ExtensionHostEvents.joined}: Transition to Connected state (either for reading or writing)
|
|
195
|
+
* - {@link ExtensionHostEvents.connectionTypeChanged}: When connection type has changed (e.g., write to read)
|
|
196
|
+
*/
|
|
197
|
+
readonly getJoinedStatus: () => JoinedStatus;
|
|
171
198
|
readonly getClientId: () => ClientConnectionId | undefined;
|
|
172
199
|
readonly events: Listenable<ExtensionHostEvents>;
|
|
173
200
|
readonly logger: ITelemetryBaseLogger;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerExtension.d.ts","sourceRoot":"","sources":["../src/containerExtension.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,8BAA8B,CAAC;AACxE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,gDAAgD,CAAC;AAEhF,OAAO,KAAK,EACX,WAAW,EACX,oBAAoB,EACpB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,UAAU,EACV,YAAY,EACZ,MAAM,0CAA0C,CAAC;AAClD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,6CAA6C,CAAC;AAElF;;;;GAIG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AAExC;;;;;;;;GAQG;AACH,MAAM,MAAM,gBAAgB,CAC3B,QAAQ,SAAS,YAAY,GAAG;IAC/B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,gBAAgB,CAAC,OAAO,CAAC,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAC;CAC/D,IAED,QAAQ,SAAS,YAAY,GAC1B,oBAAoB,CAAC,mBAAmB,CACxC,QAAQ,GAAG;IACV;;;OAGG;IACH,cAAc,CAAC,EAAE,kBAAkB,CAAC;CACpC,CACD,GACA,KAAK,CAAC;AAEV;;;;;GAKG;AACH,MAAM,MAAM,wBAAwB,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAChF,gBAAgB,CAAC;IAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,CAAC;IAAC,OAAO,EAAE,gBAAgB,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAA;CAAE,CAAC,CAAC;AAE9F;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AACH,MAAM,CAAC,OAAO,OAAO,eAAe,CAAC,CAAC,CAAE,SAAQ,WAAW,CAAC,CAAC,CAAC;IAC7D,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAI;IACpC,OAAO;CACP;AAED;;;;;GAKG;AACH,MAAM,MAAM,0BAA0B,CAAC,QAAQ,SAAS,YAAY,GAAG,YAAY,IAElF,QAAQ,SAAS,YAAY,GAC1B,oBAAoB,CAAC,mBAAmB,CACxC,gBAAgB,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"containerExtension.d.ts","sourceRoot":"","sources":["../src/containerExtension.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
5
|
import type { AttachState } from "@fluidframework/container-definitions";
|
|
6
|
-
import type { IDeltaManager } from "@fluidframework/container-definitions/internal";
|
|
6
|
+
import type { IContainerStorageService, IDeltaManager } from "@fluidframework/container-definitions/internal";
|
|
7
7
|
import type { FluidObject, IEvent, IEventProvider, IRequest, IResponse } from "@fluidframework/core-interfaces";
|
|
8
8
|
import type { IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
|
|
9
9
|
import type { IClientDetails } from "@fluidframework/driver-definitions";
|
|
10
|
-
import type {
|
|
10
|
+
import type { IDocumentMessage, ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
|
|
11
11
|
import type { FlushMode, IContainerRuntimeBase, IContainerRuntimeBaseEvents, IProvideFluidDataStoreRegistry } from "@fluidframework/runtime-definitions/internal";
|
|
12
12
|
import type { ContainerExtensionStore } from "./containerExtension.js";
|
|
13
13
|
/**
|
|
@@ -132,7 +132,7 @@ export interface IContainerRuntime extends IProvideFluidDataStoreRegistry, ICont
|
|
|
132
132
|
readonly clientDetails: IClientDetails;
|
|
133
133
|
readonly connected: boolean;
|
|
134
134
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
135
|
-
readonly storage:
|
|
135
|
+
readonly storage: IContainerStorageService;
|
|
136
136
|
readonly flushMode: FlushMode;
|
|
137
137
|
readonly scope: FluidObject;
|
|
138
138
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,uCAAuC,CAAC;AACzE,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"containerRuntime.d.ts","sourceRoot":"","sources":["../src/containerRuntime.ts"],"names":[],"mappings":"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"}
|
package/lib/index.d.ts
CHANGED
|
@@ -2,6 +2,6 @@
|
|
|
2
2
|
* Copyright (c) Microsoft Corporation and contributors. All rights reserved.
|
|
3
3
|
* Licensed under the MIT License.
|
|
4
4
|
*/
|
|
5
|
-
export type { ClientConnectionId, ContainerExtensionFactory, ContainerExtensionId, ContainerExtensionStore, ContainerExtension, ExtensionHost, ExtensionHostEvents, ExtensionMessage, ExtensionRuntimeProperties, InboundExtensionMessage, OutboundExtensionMessage, RawInboundExtensionMessage, UnverifiedBrand, VerifiedInboundExtensionMessage, } from "./containerExtension.js";
|
|
5
|
+
export type { ClientConnectionId, ContainerExtensionFactory, ContainerExtensionId, ContainerExtensionStore, ContainerExtension, ExtensionHost, ExtensionHostEvents, ExtensionMessage, ExtensionRuntimeProperties, InboundExtensionMessage, JoinedStatus, OutboundExtensionMessage, RawInboundExtensionMessage, UnverifiedBrand, VerifiedInboundExtensionMessage, } from "./containerExtension.js";
|
|
6
6
|
export type { IContainerRuntime, IContainerRuntimeBaseWithCombinedEvents, IContainerRuntimeEvents, IContainerRuntimeInternal, IContainerRuntimeWithResolveHandle_Deprecated, SummarizerStopReason, ISummarizeEventProps, ISummarizerObservabilityProps, ISummarizerEvents, } from "./containerRuntime.js";
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
package/lib/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,iBAAiB,EACjB,uCAAuC,EACvC,uBAAuB,EACvB,yBAAyB,EACzB,6CAA6C,EAC7C,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,YAAY,EACX,kBAAkB,EAClB,yBAAyB,EACzB,oBAAoB,EACpB,uBAAuB,EACvB,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,0BAA0B,EAC1B,uBAAuB,EACvB,YAAY,EACZ,wBAAwB,EACxB,0BAA0B,EAC1B,eAAe,EACf,+BAA+B,GAC/B,MAAM,yBAAyB,CAAC;AACjC,YAAY,EACX,iBAAiB,EACjB,uCAAuC,EACvC,uBAAuB,EACvB,yBAAyB,EACzB,6CAA6C,EAC7C,oBAAoB,EACpB,oBAAoB,EACpB,6BAA6B,EAC7B,iBAAiB,GACjB,MAAM,uBAAuB,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-runtime-definitions",
|
|
3
|
-
"version": "2.
|
|
3
|
+
"version": "2.52.0",
|
|
4
4
|
"description": "Fluid Runtime definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
@@ -41,19 +41,19 @@
|
|
|
41
41
|
"main": "",
|
|
42
42
|
"types": "lib/public.d.ts",
|
|
43
43
|
"dependencies": {
|
|
44
|
-
"@fluid-internal/client-utils": "~2.
|
|
45
|
-
"@fluidframework/container-definitions": "~2.
|
|
46
|
-
"@fluidframework/core-interfaces": "~2.
|
|
47
|
-
"@fluidframework/driver-definitions": "~2.
|
|
48
|
-
"@fluidframework/runtime-definitions": "~2.
|
|
44
|
+
"@fluid-internal/client-utils": "~2.52.0",
|
|
45
|
+
"@fluidframework/container-definitions": "~2.52.0",
|
|
46
|
+
"@fluidframework/core-interfaces": "~2.52.0",
|
|
47
|
+
"@fluidframework/driver-definitions": "~2.52.0",
|
|
48
|
+
"@fluidframework/runtime-definitions": "~2.52.0"
|
|
49
49
|
},
|
|
50
50
|
"devDependencies": {
|
|
51
51
|
"@arethetypeswrong/cli": "^0.17.1",
|
|
52
52
|
"@biomejs/biome": "~1.9.3",
|
|
53
|
-
"@fluid-tools/build-cli": "^0.
|
|
53
|
+
"@fluid-tools/build-cli": "^0.57.0",
|
|
54
54
|
"@fluidframework/build-common": "^2.0.3",
|
|
55
|
-
"@fluidframework/build-tools": "^0.
|
|
56
|
-
"@fluidframework/container-runtime-definitions-previous": "npm:@fluidframework/container-runtime-definitions@2.
|
|
55
|
+
"@fluidframework/build-tools": "^0.57.0",
|
|
56
|
+
"@fluidframework/container-runtime-definitions-previous": "npm:@fluidframework/container-runtime-definitions@2.51.0",
|
|
57
57
|
"@fluidframework/eslint-config-fluid": "^5.7.4",
|
|
58
58
|
"@microsoft/api-extractor": "7.52.8",
|
|
59
59
|
"concurrently": "^8.2.1",
|
|
@@ -13,6 +13,7 @@ import type {
|
|
|
13
13
|
JsonDeserialized,
|
|
14
14
|
JsonSerializable,
|
|
15
15
|
Listenable,
|
|
16
|
+
OpaqueJsonDeserialized,
|
|
16
17
|
TypedMessage,
|
|
17
18
|
} from "@fluidframework/core-interfaces/internal";
|
|
18
19
|
import type { IQuorumClients } from "@fluidframework/driver-definitions/internal";
|
|
@@ -102,7 +103,7 @@ export type RawInboundExtensionMessage<TMessage extends TypedMessage = TypedMess
|
|
|
102
103
|
? InternalUtilityTypes.FlattenIntersection<
|
|
103
104
|
ExtensionMessage<{
|
|
104
105
|
type: string;
|
|
105
|
-
content:
|
|
106
|
+
content: OpaqueJsonDeserialized<unknown>;
|
|
106
107
|
}> & {
|
|
107
108
|
/**
|
|
108
109
|
* The client ID that submitted the message.
|
|
@@ -127,7 +128,9 @@ export type VerifiedInboundExtensionMessage<TMessage extends TypedMessage = Type
|
|
|
127
128
|
? InternalUtilityTypes.FlattenIntersection<
|
|
128
129
|
ExtensionMessage<{
|
|
129
130
|
type: TMessage["type"];
|
|
130
|
-
content:
|
|
131
|
+
content: unknown extends TMessage["content"]
|
|
132
|
+
? OpaqueJsonDeserialized<unknown>
|
|
133
|
+
: JsonDeserialized<TMessage["content"]>;
|
|
131
134
|
}> & {
|
|
132
135
|
/**
|
|
133
136
|
* The client ID that submitted the message.
|
|
@@ -198,14 +201,25 @@ export interface ContainerExtension<
|
|
|
198
201
|
) => void;
|
|
199
202
|
}
|
|
200
203
|
|
|
204
|
+
/**
|
|
205
|
+
* Join status for container.
|
|
206
|
+
*
|
|
207
|
+
* @internal
|
|
208
|
+
*/
|
|
209
|
+
export type JoinedStatus = "disconnected" | "joinedForReading" | "joinedForWriting";
|
|
210
|
+
|
|
201
211
|
/**
|
|
202
212
|
* Events emitted by the {@link ExtensionHost}.
|
|
203
213
|
*
|
|
214
|
+
* @remarks
|
|
215
|
+
* With loaders prior to 2.52.0, readonly clients will not get joined status or events.
|
|
216
|
+
* The only events emitted will be "joined" with canWrite = true and "disconnected".
|
|
204
217
|
* @internal
|
|
205
218
|
*/
|
|
206
219
|
export interface ExtensionHostEvents {
|
|
207
220
|
"disconnected": () => void;
|
|
208
|
-
"
|
|
221
|
+
"joined": (props: { clientId: ClientConnectionId; canWrite: boolean }) => void;
|
|
222
|
+
"connectionTypeChanged": (canWrite: boolean) => void;
|
|
209
223
|
}
|
|
210
224
|
|
|
211
225
|
/**
|
|
@@ -218,7 +232,21 @@ export interface ExtensionHostEvents {
|
|
|
218
232
|
* @internal
|
|
219
233
|
*/
|
|
220
234
|
export interface ExtensionHost<TRuntimeProperties extends ExtensionRuntimeProperties> {
|
|
221
|
-
|
|
235
|
+
/**
|
|
236
|
+
* Gets the current joined status of the container.
|
|
237
|
+
*
|
|
238
|
+
* @remarks
|
|
239
|
+
* Returns one of three possible {@link JoinedStatus} values:
|
|
240
|
+
* - "disconnected": The container is not connected to the service
|
|
241
|
+
* - "joinedForReading": The container has a read-only connection
|
|
242
|
+
* - "joinedForWriting": The container has a write connection
|
|
243
|
+
*
|
|
244
|
+
* Status changes are signaled through :
|
|
245
|
+
* - {@link ExtensionHostEvents.disconnected}: Transitioning to Disconnected state
|
|
246
|
+
* - {@link ExtensionHostEvents.joined}: Transition to Connected state (either for reading or writing)
|
|
247
|
+
* - {@link ExtensionHostEvents.connectionTypeChanged}: When connection type has changed (e.g., write to read)
|
|
248
|
+
*/
|
|
249
|
+
readonly getJoinedStatus: () => JoinedStatus;
|
|
222
250
|
readonly getClientId: () => ClientConnectionId | undefined;
|
|
223
251
|
|
|
224
252
|
readonly events: Listenable<ExtensionHostEvents>;
|
package/src/containerRuntime.ts
CHANGED
|
@@ -4,7 +4,10 @@
|
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
6
|
import type { AttachState } from "@fluidframework/container-definitions";
|
|
7
|
-
import type {
|
|
7
|
+
import type {
|
|
8
|
+
IContainerStorageService,
|
|
9
|
+
IDeltaManager,
|
|
10
|
+
} from "@fluidframework/container-definitions/internal";
|
|
8
11
|
import type {
|
|
9
12
|
FluidObject,
|
|
10
13
|
IEvent,
|
|
@@ -15,7 +18,6 @@ import type {
|
|
|
15
18
|
import type { IFluidHandleContext } from "@fluidframework/core-interfaces/internal";
|
|
16
19
|
import type { IClientDetails } from "@fluidframework/driver-definitions";
|
|
17
20
|
import type {
|
|
18
|
-
IDocumentStorageService,
|
|
19
21
|
IDocumentMessage,
|
|
20
22
|
ISequencedDocumentMessage,
|
|
21
23
|
} from "@fluidframework/driver-definitions/internal";
|
|
@@ -179,7 +181,7 @@ export interface IContainerRuntime
|
|
|
179
181
|
readonly clientDetails: IClientDetails;
|
|
180
182
|
readonly connected: boolean;
|
|
181
183
|
readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
|
|
182
|
-
readonly storage:
|
|
184
|
+
readonly storage: IContainerStorageService;
|
|
183
185
|
readonly flushMode: FlushMode;
|
|
184
186
|
readonly scope: FluidObject;
|
|
185
187
|
/**
|