@fluidframework/container-definitions 2.0.2 → 2.1.0-276326
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/api-extractor/api-extractor.legacy.json +4 -0
- package/api-report/container-definitions.beta.api.md +0 -35
- package/api-report/{container-definitions.alpha.api.md → container-definitions.legacy.alpha.api.md} +2 -35
- package/api-report/container-definitions.public.api.md +0 -35
- package/dist/audience.d.ts +1 -0
- package/dist/audience.d.ts.map +1 -1
- package/dist/audience.js.map +1 -1
- package/dist/browserPackage.d.ts +3 -0
- package/dist/browserPackage.d.ts.map +1 -1
- package/dist/browserPackage.js +1 -0
- package/dist/browserPackage.js.map +1 -1
- package/dist/deltas.d.ts +7 -0
- package/dist/deltas.d.ts.map +1 -1
- package/dist/deltas.js.map +1 -1
- package/dist/error.d.ts +3 -0
- package/dist/error.d.ts.map +1 -1
- package/dist/error.js +1 -0
- package/dist/error.js.map +1 -1
- package/dist/fluidModule.d.ts +1 -0
- package/dist/fluidModule.d.ts.map +1 -1
- package/dist/fluidModule.js.map +1 -1
- package/dist/fluidPackage.d.ts +8 -0
- package/dist/fluidPackage.d.ts.map +1 -1
- package/dist/fluidPackage.js +2 -0
- package/dist/fluidPackage.js.map +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/legacy.d.ts +1 -1
- package/dist/loader.d.ts +11 -0
- package/dist/loader.d.ts.map +1 -1
- package/dist/loader.js +1 -0
- package/dist/loader.js.map +1 -1
- package/dist/runtime.d.ts +7 -0
- package/dist/runtime.d.ts.map +1 -1
- package/dist/runtime.js +1 -0
- package/dist/runtime.js.map +1 -1
- package/lib/audience.d.ts +1 -0
- package/lib/audience.d.ts.map +1 -1
- package/lib/audience.js.map +1 -1
- package/lib/browserPackage.d.ts +3 -0
- package/lib/browserPackage.d.ts.map +1 -1
- package/lib/browserPackage.js +1 -0
- package/lib/browserPackage.js.map +1 -1
- package/lib/deltas.d.ts +7 -0
- package/lib/deltas.d.ts.map +1 -1
- package/lib/deltas.js.map +1 -1
- package/lib/error.d.ts +3 -0
- package/lib/error.d.ts.map +1 -1
- package/lib/error.js +1 -0
- package/lib/error.js.map +1 -1
- package/lib/fluidModule.d.ts +1 -0
- package/lib/fluidModule.d.ts.map +1 -1
- package/lib/fluidModule.js.map +1 -1
- package/lib/fluidPackage.d.ts +8 -0
- package/lib/fluidPackage.d.ts.map +1 -1
- package/lib/fluidPackage.js +2 -0
- package/lib/fluidPackage.js.map +1 -1
- package/lib/index.d.ts +1 -9
- package/lib/index.d.ts.map +1 -1
- package/lib/index.js.map +1 -1
- package/lib/legacy.d.ts +1 -1
- package/lib/loader.d.ts +11 -0
- package/lib/loader.d.ts.map +1 -1
- package/lib/loader.js +1 -0
- package/lib/loader.js.map +1 -1
- package/lib/runtime.d.ts +7 -0
- package/lib/runtime.d.ts.map +1 -1
- package/lib/runtime.js +1 -0
- package/lib/runtime.js.map +1 -1
- package/package.json +24 -11
- package/src/audience.ts +1 -0
- package/src/browserPackage.ts +3 -0
- package/src/deltas.ts +7 -0
- package/src/error.ts +3 -0
- package/src/fluidModule.ts +1 -0
- package/src/fluidPackage.ts +8 -0
- package/src/index.ts +0 -8
- package/src/loader.ts +11 -0
- package/src/runtime.ts +7 -0
package/lib/runtime.d.ts
CHANGED
|
@@ -33,6 +33,7 @@ export declare enum AttachState {
|
|
|
33
33
|
/**
|
|
34
34
|
* The IRuntime represents an instantiation of a code package within a Container.
|
|
35
35
|
* Primarily held by the ContainerContext to be able to interact with the running instance of the Container.
|
|
36
|
+
* @legacy
|
|
36
37
|
* @alpha
|
|
37
38
|
*/
|
|
38
39
|
export interface IRuntime extends IDisposable {
|
|
@@ -80,6 +81,7 @@ export interface IRuntime extends IDisposable {
|
|
|
80
81
|
}
|
|
81
82
|
/**
|
|
82
83
|
* Payload type for IContainerContext.submitBatchFn()
|
|
84
|
+
* @legacy
|
|
83
85
|
* @alpha
|
|
84
86
|
*/
|
|
85
87
|
export interface IBatchMessage {
|
|
@@ -95,6 +97,7 @@ export interface IBatchMessage {
|
|
|
95
97
|
*
|
|
96
98
|
* TODO: once `@alpha` tag is removed, `unknown` should be removed from submitSignalFn
|
|
97
99
|
* @see {@link https://dev.azure.com/fluidframework/internal/_workitems/edit/7462}
|
|
100
|
+
* @legacy
|
|
98
101
|
* @alpha
|
|
99
102
|
*/
|
|
100
103
|
export interface IContainerContext {
|
|
@@ -163,10 +166,12 @@ export interface IContainerContext {
|
|
|
163
166
|
readonly snapshotWithContents?: ISnapshot;
|
|
164
167
|
}
|
|
165
168
|
/**
|
|
169
|
+
* @legacy
|
|
166
170
|
* @alpha
|
|
167
171
|
*/
|
|
168
172
|
export declare const IRuntimeFactory: keyof IProvideRuntimeFactory;
|
|
169
173
|
/**
|
|
174
|
+
* @legacy
|
|
170
175
|
* @alpha
|
|
171
176
|
*/
|
|
172
177
|
export interface IProvideRuntimeFactory {
|
|
@@ -177,6 +182,7 @@ export interface IProvideRuntimeFactory {
|
|
|
177
182
|
*
|
|
178
183
|
* Provides the entry point for the ContainerContext to load the proper IRuntime
|
|
179
184
|
* to start up the running instance of the Container.
|
|
185
|
+
* @legacy
|
|
180
186
|
* @alpha
|
|
181
187
|
*/
|
|
182
188
|
export interface IRuntimeFactory extends IProvideRuntimeFactory {
|
|
@@ -191,6 +197,7 @@ export interface IRuntimeFactory extends IProvideRuntimeFactory {
|
|
|
191
197
|
}
|
|
192
198
|
/**
|
|
193
199
|
* Defines list of properties expected for getPendingLocalState
|
|
200
|
+
* @legacy
|
|
194
201
|
* @alpha
|
|
195
202
|
*/
|
|
196
203
|
export interface IGetPendingLocalStateProps {
|
package/lib/runtime.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,WAAW,EACX,oBAAoB,EACpB,MAAM,iCAAiC,CAAC;AACzC,OAAO,KAAK,EACX,cAAc,EACd,cAAc,EACd,YAAY,EACZ,MAAM,oCAAoC,CAAC;AAC5C,OAAO,KAAK,EACX,uBAAuB,EACvB,SAAS,EACT,gBAAgB,EAChB,aAAa,EACb,eAAe,EACf,QAAQ,EACR,WAAW,EACX,yBAAyB,EACzB,MAAM,6CAA6C,CAAC;AAErD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACjD,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAC1D,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAE3C;;;;GAIG;AACH,oBAAY,WAAW;IACtB;;;OAGG;IACH,QAAQ,aAAa;IAErB;;OAEG;IACH,SAAS,cAAc;IAEvB;;;OAGG;IACH,QAAQ,aAAa;CACrB;AAED
|
|
1
|
+
{"version":3,"file":"runtime.d.ts","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"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"}
|
package/lib/runtime.js
CHANGED
package/lib/runtime.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH;;;;GAIG;AACH,MAAM,CAAN,IAAY,WAiBX;AAjBD,WAAY,WAAW;IACtB;;;OAGG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAuB,CAAA;IAEvB;;;OAGG;IACH,oCAAqB,CAAA;AACtB,CAAC,EAjBW,WAAW,KAAX,WAAW,QAiBtB;AAsKD;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiC,iBAAiB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tFluidObject,\n\tIDisposable,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport type {\n\tIClientDetails,\n\tIQuorumClients,\n\tISummaryTree,\n} from \"@fluidframework/driver-definitions\";\nimport type {\n\tIDocumentStorageService,\n\tISnapshot,\n\tIDocumentMessage,\n\tISnapshotTree,\n\tISummaryContent,\n\tIVersion,\n\tMessageType,\n\tISequencedDocumentMessage,\n} from \"@fluidframework/driver-definitions/internal\";\n\nimport type { IAudience } from \"./audience.js\";\nimport type { IDeltaManager } from \"./deltas.js\";\nimport type { ICriticalContainerError } from \"./error.js\";\nimport type { ILoader } from \"./loader.js\";\n\n/**\n * The attachment state of some Fluid data (e.g. a container or data store), denoting whether it is uploaded to the\n * service. The transition from detached to attached state is a one-way transition.\n * @public\n */\nexport enum AttachState {\n\t/**\n\t * In detached state, the data is only present on the local client's machine. It has not yet been uploaded\n\t * to the service.\n\t */\n\tDetached = \"Detached\",\n\n\t/**\n\t * In attaching state, the data has started the upload to the service, but has not yet completed.\n\t */\n\tAttaching = \"Attaching\",\n\n\t/**\n\t * In attached state, the data has completed upload to the service. It can be accessed by other clients after\n\t * reaching attached state.\n\t */\n\tAttached = \"Attached\",\n}\n\n/**\n * The IRuntime represents an instantiation of a code package within a Container.\n * Primarily held by the ContainerContext to be able to interact with the running instance of the Container.\n * @alpha\n */\nexport interface IRuntime extends IDisposable {\n\t/**\n\t * Notifies the runtime of a change in the connection state\n\t */\n\tsetConnectionState(connected: boolean, clientId?: string);\n\n\t/**\n\t * Processes the given op (message)\n\t */\n\tprocess(message: ISequencedDocumentMessage, local: boolean);\n\n\t/**\n\t * Processes the given signal\n\t */\n\t// TODO: use `unknown` instead (API breaking)\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tprocessSignal(message: any, local: boolean);\n\n\t/**\n\t * Create a summary. Used when attaching or serializing a detached container.\n\t *\n\t * @param blobRedirectTable - A table passed during the attach process. While detached, blob upload is supported\n\t * using IDs generated locally. After attach, these IDs cannot be used, so this table maps the old local IDs to the\n\t * new storage IDs so requests can be redirected.\n\t */\n\tcreateSummary(blobRedirectTable?: Map<string, string>): ISummaryTree;\n\n\t/**\n\t * Propagate the container state when container is attaching or attached.\n\t * @param attachState - State of the container.\n\t */\n\tsetAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;\n\n\t/**\n\t * Get pending local state in a serializable format to be given back to a newly loaded container\n\t */\n\tgetPendingLocalState(props?: IGetPendingLocalStateProps): unknown;\n\n\t/**\n\t * Notify runtime that we have processed a saved message, so that it can do async work (applying\n\t * stashed ops) after having processed it.\n\t */\n\tnotifyOpReplay?(message: ISequencedDocumentMessage): Promise<void>;\n\n\t/**\n\t * Exposes the entryPoint for the container runtime.\n\t * Use this as the primary way of getting access to the user-defined logic within the container runtime.\n\t *\n\t * @see {@link IContainer.getEntryPoint}\n\t */\n\tgetEntryPoint(): Promise<FluidObject>;\n}\n\n/**\n * Payload type for IContainerContext.submitBatchFn()\n * @alpha\n */\nexport interface IBatchMessage {\n\tcontents?: string;\n\tmetadata?: Record<string, unknown>;\n\tcompression?: string;\n\treferenceSequenceNumber?: number;\n}\n\n/**\n * IContainerContext is fundamentally just the set of things that an IRuntimeFactory (and IRuntime) will consume from the\n * loader layer. It gets passed into the IRuntimeFactory.instantiateRuntime call. Only include members on this interface\n * if you intend them to be consumed/called from the runtime layer.\n *\n * TODO: once `@alpha` tag is removed, `unknown` should be removed from submitSignalFn\n * @see {@link https://dev.azure.com/fluidframework/internal/_workitems/edit/7462}\n * @alpha\n */\nexport interface IContainerContext {\n\t/**\n\t * Not recommended for general use, is used in some cases to control various runtime behaviors.\n\t *\n\t * @remarks\n\t * Used to be ILoaderOptions, this is staging for eventual removal.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treadonly options: Record<string | number, any>;\n\treadonly clientId: string | undefined;\n\treadonly clientDetails: IClientDetails;\n\treadonly storage: IDocumentStorageService;\n\treadonly connected: boolean;\n\treadonly baseSnapshot: ISnapshotTree | undefined;\n\t/**\n\t * @deprecated Please use submitBatchFn & submitSummaryFn\n\t */\n\treadonly submitFn: (\n\t\ttype: MessageType,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tcontents: any,\n\t\tbatch: boolean,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tappData?: any,\n\t) => number;\n\t/**\n\t * @returns clientSequenceNumber of last message in a batch\n\t */\n\treadonly submitBatchFn: (batch: IBatchMessage[], referenceSequenceNumber?: number) => number;\n\treadonly submitSummaryFn: (\n\t\tsummaryOp: ISummaryContent,\n\t\treferenceSequenceNumber?: number,\n\t) => number;\n\treadonly submitSignalFn: (contents: unknown, targetClientId?: string) => void;\n\treadonly disposeFn?: (error?: ICriticalContainerError) => void;\n\treadonly closeFn: (error?: ICriticalContainerError) => void;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\treadonly quorum: IQuorumClients;\n\treadonly audience: IAudience;\n\treadonly loader: ILoader;\n\t// The logger implementation, which would support tagged events, should be provided by the loader.\n\treadonly taggedLogger: ITelemetryBaseLogger;\n\tpendingLocalState?: unknown;\n\n\t/**\n\t * Ambient services provided with the context\n\t */\n\treadonly scope: FluidObject;\n\n\t/**\n\t * Get an absolute url for a provided container-relative request.\n\t * @param relativeUrl - A relative request within the container\n\t *\n\t * TODO: Optional for backwards compatibility. Make non-optional in version 0.19\n\t */\n\tgetAbsoluteUrl?(relativeUrl: string): Promise<string | undefined>;\n\n\t/**\n\t * Indicates the attachment state of the container to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\tgetLoadedFromVersion(): IVersion | undefined;\n\n\tupdateDirtyContainerState(dirty: boolean): void;\n\n\treadonly supportedFeatures?: ReadonlyMap<string, unknown>;\n\n\t/**\n\t * WARNING: this id is meant for telemetry usages ONLY, not recommended for other consumption\n\t * This id is not supposed to be exposed anywhere else. It is dependant on usage or drivers\n\t * and scenarios which can change in the future.\n\t * @deprecated 2.0.0-internal.5.2.0 - The docId is already logged by the {@link IContainerContext.taggedLogger} for\n\t * telemetry purposes, so this is generally unnecessary for telemetry.\n\t * If the id is needed for other purposes it should be passed to the consumer explicitly.\n\t *\n\t * @privateremarks Tracking in AB#5714\n\t */\n\treadonly id: string;\n\n\t/**\n\t * This contains all parts of a snapshot like blobContents, ops etc.\n\t */\n\treadonly snapshotWithContents?: ISnapshot;\n}\n\n/**\n * @alpha\n */\nexport const IRuntimeFactory: keyof IProvideRuntimeFactory = \"IRuntimeFactory\";\n\n/**\n * @alpha\n */\nexport interface IProvideRuntimeFactory {\n\treadonly IRuntimeFactory: IRuntimeFactory;\n}\n\n/**\n * Exported module definition\n *\n * Provides the entry point for the ContainerContext to load the proper IRuntime\n * to start up the running instance of the Container.\n * @alpha\n */\nexport interface IRuntimeFactory extends IProvideRuntimeFactory {\n\t/**\n\t * Instantiates a new IRuntime for the given IContainerContext to proxy to\n\t * This is the main entry point to the Container's business logic\n\t *\n\t * @param context - container context to be supplied to the runtime\n\t * @param existing - whether to instantiate for the first time or from an existing context\n\t */\n\tinstantiateRuntime(context: IContainerContext, existing: boolean): Promise<IRuntime>;\n}\n\n/**\n * Defines list of properties expected for getPendingLocalState\n * @alpha\n */\nexport interface IGetPendingLocalStateProps {\n\t/**\n\t * Indicates the container will close after getting the pending state. Used internally\n\t * to wait for blobs to be attached to a DDS and collect generated ops before closing.\n\t */\n\treadonly notifyImminentClosure: boolean;\n\n\t/**\n\t * Abort signal to stop waiting for blobs to get attached to a DDS. When triggered,\n\t * only blobs attached will be collected in the pending state.\n\t * Intended to be used in the very rare scenario in which getLocalPendingState go stale due\n\t * to a blob failed to be referenced. Such a blob will be lost but the rest of the state will\n\t * be preserved and collected.\n\t */\n\treadonly stopBlobAttachingSignal?: AbortSignal;\n\n\t/**\n\t * Date to be used as the starting time of a session. This date is updated in case we refresh the\n\t * base snapshot since we won't be referencing ops older than the new snapshot.\n\t */\n\treadonly sessionExpiryTimerStarted?: number;\n\n\t/**\n\t * Snapshot sequence number. It will help the runtime to know which ops should still be stashed.\n\t */\n\treadonly snapshotSequenceNumber?: number;\n}\n"]}
|
|
1
|
+
{"version":3,"file":"runtime.js","sourceRoot":"","sources":["../src/runtime.ts"],"names":[],"mappings":"AAAA;;;GAGG;AA4BH;;;;GAIG;AACH,MAAM,CAAN,IAAY,WAiBX;AAjBD,WAAY,WAAW;IACtB;;;OAGG;IACH,oCAAqB,CAAA;IAErB;;OAEG;IACH,sCAAuB,CAAA;IAEvB;;;OAGG;IACH,oCAAqB,CAAA;AACtB,CAAC,EAjBW,WAAW,KAAX,WAAW,QAiBtB;AAyKD;;;GAGG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiC,iBAAiB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tFluidObject,\n\tIDisposable,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport type {\n\tIClientDetails,\n\tIQuorumClients,\n\tISummaryTree,\n} from \"@fluidframework/driver-definitions\";\nimport type {\n\tIDocumentStorageService,\n\tISnapshot,\n\tIDocumentMessage,\n\tISnapshotTree,\n\tISummaryContent,\n\tIVersion,\n\tMessageType,\n\tISequencedDocumentMessage,\n} from \"@fluidframework/driver-definitions/internal\";\n\nimport type { IAudience } from \"./audience.js\";\nimport type { IDeltaManager } from \"./deltas.js\";\nimport type { ICriticalContainerError } from \"./error.js\";\nimport type { ILoader } from \"./loader.js\";\n\n/**\n * The attachment state of some Fluid data (e.g. a container or data store), denoting whether it is uploaded to the\n * service. The transition from detached to attached state is a one-way transition.\n * @public\n */\nexport enum AttachState {\n\t/**\n\t * In detached state, the data is only present on the local client's machine. It has not yet been uploaded\n\t * to the service.\n\t */\n\tDetached = \"Detached\",\n\n\t/**\n\t * In attaching state, the data has started the upload to the service, but has not yet completed.\n\t */\n\tAttaching = \"Attaching\",\n\n\t/**\n\t * In attached state, the data has completed upload to the service. It can be accessed by other clients after\n\t * reaching attached state.\n\t */\n\tAttached = \"Attached\",\n}\n\n/**\n * The IRuntime represents an instantiation of a code package within a Container.\n * Primarily held by the ContainerContext to be able to interact with the running instance of the Container.\n * @legacy\n * @alpha\n */\nexport interface IRuntime extends IDisposable {\n\t/**\n\t * Notifies the runtime of a change in the connection state\n\t */\n\tsetConnectionState(connected: boolean, clientId?: string);\n\n\t/**\n\t * Processes the given op (message)\n\t */\n\tprocess(message: ISequencedDocumentMessage, local: boolean);\n\n\t/**\n\t * Processes the given signal\n\t */\n\t// TODO: use `unknown` instead (API breaking)\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tprocessSignal(message: any, local: boolean);\n\n\t/**\n\t * Create a summary. Used when attaching or serializing a detached container.\n\t *\n\t * @param blobRedirectTable - A table passed during the attach process. While detached, blob upload is supported\n\t * using IDs generated locally. After attach, these IDs cannot be used, so this table maps the old local IDs to the\n\t * new storage IDs so requests can be redirected.\n\t */\n\tcreateSummary(blobRedirectTable?: Map<string, string>): ISummaryTree;\n\n\t/**\n\t * Propagate the container state when container is attaching or attached.\n\t * @param attachState - State of the container.\n\t */\n\tsetAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;\n\n\t/**\n\t * Get pending local state in a serializable format to be given back to a newly loaded container\n\t */\n\tgetPendingLocalState(props?: IGetPendingLocalStateProps): unknown;\n\n\t/**\n\t * Notify runtime that we have processed a saved message, so that it can do async work (applying\n\t * stashed ops) after having processed it.\n\t */\n\tnotifyOpReplay?(message: ISequencedDocumentMessage): Promise<void>;\n\n\t/**\n\t * Exposes the entryPoint for the container runtime.\n\t * Use this as the primary way of getting access to the user-defined logic within the container runtime.\n\t *\n\t * @see {@link IContainer.getEntryPoint}\n\t */\n\tgetEntryPoint(): Promise<FluidObject>;\n}\n\n/**\n * Payload type for IContainerContext.submitBatchFn()\n * @legacy\n * @alpha\n */\nexport interface IBatchMessage {\n\tcontents?: string;\n\tmetadata?: Record<string, unknown>;\n\tcompression?: string;\n\treferenceSequenceNumber?: number;\n}\n\n/**\n * IContainerContext is fundamentally just the set of things that an IRuntimeFactory (and IRuntime) will consume from the\n * loader layer. It gets passed into the IRuntimeFactory.instantiateRuntime call. Only include members on this interface\n * if you intend them to be consumed/called from the runtime layer.\n *\n * TODO: once `@alpha` tag is removed, `unknown` should be removed from submitSignalFn\n * @see {@link https://dev.azure.com/fluidframework/internal/_workitems/edit/7462}\n * @legacy\n * @alpha\n */\nexport interface IContainerContext {\n\t/**\n\t * Not recommended for general use, is used in some cases to control various runtime behaviors.\n\t *\n\t * @remarks\n\t * Used to be ILoaderOptions, this is staging for eventual removal.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\treadonly options: Record<string | number, any>;\n\treadonly clientId: string | undefined;\n\treadonly clientDetails: IClientDetails;\n\treadonly storage: IDocumentStorageService;\n\treadonly connected: boolean;\n\treadonly baseSnapshot: ISnapshotTree | undefined;\n\t/**\n\t * @deprecated Please use submitBatchFn & submitSummaryFn\n\t */\n\treadonly submitFn: (\n\t\ttype: MessageType,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tcontents: any,\n\t\tbatch: boolean,\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\tappData?: any,\n\t) => number;\n\t/**\n\t * @returns clientSequenceNumber of last message in a batch\n\t */\n\treadonly submitBatchFn: (batch: IBatchMessage[], referenceSequenceNumber?: number) => number;\n\treadonly submitSummaryFn: (\n\t\tsummaryOp: ISummaryContent,\n\t\treferenceSequenceNumber?: number,\n\t) => number;\n\treadonly submitSignalFn: (contents: unknown, targetClientId?: string) => void;\n\treadonly disposeFn?: (error?: ICriticalContainerError) => void;\n\treadonly closeFn: (error?: ICriticalContainerError) => void;\n\treadonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\treadonly quorum: IQuorumClients;\n\treadonly audience: IAudience;\n\treadonly loader: ILoader;\n\t// The logger implementation, which would support tagged events, should be provided by the loader.\n\treadonly taggedLogger: ITelemetryBaseLogger;\n\tpendingLocalState?: unknown;\n\n\t/**\n\t * Ambient services provided with the context\n\t */\n\treadonly scope: FluidObject;\n\n\t/**\n\t * Get an absolute url for a provided container-relative request.\n\t * @param relativeUrl - A relative request within the container\n\t *\n\t * TODO: Optional for backwards compatibility. Make non-optional in version 0.19\n\t */\n\tgetAbsoluteUrl?(relativeUrl: string): Promise<string | undefined>;\n\n\t/**\n\t * Indicates the attachment state of the container to a host service.\n\t */\n\treadonly attachState: AttachState;\n\n\tgetLoadedFromVersion(): IVersion | undefined;\n\n\tupdateDirtyContainerState(dirty: boolean): void;\n\n\treadonly supportedFeatures?: ReadonlyMap<string, unknown>;\n\n\t/**\n\t * WARNING: this id is meant for telemetry usages ONLY, not recommended for other consumption\n\t * This id is not supposed to be exposed anywhere else. It is dependant on usage or drivers\n\t * and scenarios which can change in the future.\n\t * @deprecated 2.0.0-internal.5.2.0 - The docId is already logged by the {@link IContainerContext.taggedLogger} for\n\t * telemetry purposes, so this is generally unnecessary for telemetry.\n\t * If the id is needed for other purposes it should be passed to the consumer explicitly.\n\t *\n\t * @privateremarks Tracking in AB#5714\n\t */\n\treadonly id: string;\n\n\t/**\n\t * This contains all parts of a snapshot like blobContents, ops etc.\n\t */\n\treadonly snapshotWithContents?: ISnapshot;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport const IRuntimeFactory: keyof IProvideRuntimeFactory = \"IRuntimeFactory\";\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IProvideRuntimeFactory {\n\treadonly IRuntimeFactory: IRuntimeFactory;\n}\n\n/**\n * Exported module definition\n *\n * Provides the entry point for the ContainerContext to load the proper IRuntime\n * to start up the running instance of the Container.\n * @legacy\n * @alpha\n */\nexport interface IRuntimeFactory extends IProvideRuntimeFactory {\n\t/**\n\t * Instantiates a new IRuntime for the given IContainerContext to proxy to\n\t * This is the main entry point to the Container's business logic\n\t *\n\t * @param context - container context to be supplied to the runtime\n\t * @param existing - whether to instantiate for the first time or from an existing context\n\t */\n\tinstantiateRuntime(context: IContainerContext, existing: boolean): Promise<IRuntime>;\n}\n\n/**\n * Defines list of properties expected for getPendingLocalState\n * @legacy\n * @alpha\n */\nexport interface IGetPendingLocalStateProps {\n\t/**\n\t * Indicates the container will close after getting the pending state. Used internally\n\t * to wait for blobs to be attached to a DDS and collect generated ops before closing.\n\t */\n\treadonly notifyImminentClosure: boolean;\n\n\t/**\n\t * Abort signal to stop waiting for blobs to get attached to a DDS. When triggered,\n\t * only blobs attached will be collected in the pending state.\n\t * Intended to be used in the very rare scenario in which getLocalPendingState go stale due\n\t * to a blob failed to be referenced. Such a blob will be lost but the rest of the state will\n\t * be preserved and collected.\n\t */\n\treadonly stopBlobAttachingSignal?: AbortSignal;\n\n\t/**\n\t * Date to be used as the starting time of a session. This date is updated in case we refresh the\n\t * base snapshot since we won't be referencing ops older than the new snapshot.\n\t */\n\treadonly sessionExpiryTimerStarted?: number;\n\n\t/**\n\t * Snapshot sequence number. It will help the runtime to know which ops should still be stashed.\n\t */\n\treadonly snapshotSequenceNumber?: number;\n}\n"]}
|
package/package.json
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@fluidframework/container-definitions",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.1.0-276326",
|
|
4
4
|
"description": "Fluid container definitions",
|
|
5
5
|
"homepage": "https://fluidframework.com",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/microsoft/FluidFramework.git",
|
|
9
|
-
"directory": "common/
|
|
9
|
+
"directory": "packages/common/container-definitions"
|
|
10
10
|
},
|
|
11
11
|
"license": "MIT",
|
|
12
12
|
"author": "Microsoft and contributors",
|
|
@@ -47,8 +47,8 @@
|
|
|
47
47
|
"main": "lib/index.js",
|
|
48
48
|
"types": "lib/public.d.ts",
|
|
49
49
|
"dependencies": {
|
|
50
|
-
"@fluidframework/core-interfaces": "
|
|
51
|
-
"@fluidframework/driver-definitions": "
|
|
50
|
+
"@fluidframework/core-interfaces": "2.1.0-276326",
|
|
51
|
+
"@fluidframework/driver-definitions": "2.1.0-276326"
|
|
52
52
|
},
|
|
53
53
|
"devDependencies": {
|
|
54
54
|
"@arethetypeswrong/cli": "^0.15.2",
|
|
@@ -56,7 +56,7 @@
|
|
|
56
56
|
"@fluid-tools/build-cli": "^0.39.0",
|
|
57
57
|
"@fluidframework/build-common": "^2.0.3",
|
|
58
58
|
"@fluidframework/build-tools": "^0.39.0",
|
|
59
|
-
"@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@2.0.0-rc.
|
|
59
|
+
"@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@2.0.0-rc.5.0.0",
|
|
60
60
|
"@fluidframework/eslint-config-fluid": "^5.3.0",
|
|
61
61
|
"@microsoft/api-extractor": "^7.45.1",
|
|
62
62
|
"concurrently": "^8.2.1",
|
|
@@ -68,16 +68,27 @@
|
|
|
68
68
|
"typescript": "~5.4.5"
|
|
69
69
|
},
|
|
70
70
|
"typeValidation": {
|
|
71
|
-
"broken": {
|
|
71
|
+
"broken": {
|
|
72
|
+
"RemovedInterfaceDeclaration_IGenericError": {
|
|
73
|
+
"backCompat": false,
|
|
74
|
+
"forwardCompat": false
|
|
75
|
+
},
|
|
76
|
+
"RemovedInterfaceDeclaration_IUsageError": {
|
|
77
|
+
"backCompat": false,
|
|
78
|
+
"forwardCompat": false
|
|
79
|
+
}
|
|
80
|
+
}
|
|
72
81
|
},
|
|
73
82
|
"scripts": {
|
|
74
83
|
"api": "fluid-build . --task api",
|
|
75
|
-
"api-extractor:commonjs": "flub generate entrypoints --
|
|
76
|
-
"api-extractor:esnext": "flub generate entrypoints --
|
|
84
|
+
"api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
|
|
85
|
+
"api-extractor:esnext": "flub generate entrypoints --outDir ./lib --node10TypeCompat",
|
|
77
86
|
"build": "fluid-build . --task build",
|
|
78
87
|
"build:commonjs": "fluid-build . --task commonjs",
|
|
79
88
|
"build:compile": "fluid-build . --task compile",
|
|
80
|
-
"build:docs": "
|
|
89
|
+
"build:docs": "concurrently \"npm:build:docs:*\"",
|
|
90
|
+
"build:docs:current": "api-extractor run --local",
|
|
91
|
+
"build:docs:legacy": "api-extractor run --local --config api-extractor/api-extractor.legacy.json",
|
|
81
92
|
"build:esnext": "tsc --project ./tsconfig.json",
|
|
82
93
|
"build:test": "npm run build:test:esm && npm run build:test:cjs",
|
|
83
94
|
"build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
|
|
@@ -93,7 +104,9 @@
|
|
|
93
104
|
"check:format": "npm run check:biome",
|
|
94
105
|
"check:prettier": "prettier --check . --cache --ignore-path ../../../.prettierignore",
|
|
95
106
|
"ci:build": "npm run build:compile",
|
|
96
|
-
"ci:build:docs": "
|
|
107
|
+
"ci:build:docs": "concurrently \"npm:ci:build:docs:*\"",
|
|
108
|
+
"ci:build:docs:current": "api-extractor run",
|
|
109
|
+
"ci:build:docs:legacy": "api-extractor run --config api-extractor/api-extractor.legacy.json",
|
|
97
110
|
"ci:test": "echo No test for this package",
|
|
98
111
|
"ci:test:coverage": "echo No test for this package",
|
|
99
112
|
"clean": "rimraf --glob dist lib \"*.d.ts\" \"**/*.tsbuildinfo\" \"**/*.build.log\" _api-extractor-temp",
|
|
@@ -107,7 +120,7 @@
|
|
|
107
120
|
"place:cjs:package-stub": "copyfiles -f ../../../common/build/build-common/src/cjs/package.json ./dist",
|
|
108
121
|
"tsc": "fluid-tsc commonjs --project ./tsconfig.cjs.json && npm run place:cjs:package-stub",
|
|
109
122
|
"tsc:watch": "npm run place:cjs:package-stub && fluid-tsc commonjs --project ./tsconfig.cjs.json --watch",
|
|
110
|
-
"typetests:gen": "flub generate typetests --dir . -v
|
|
123
|
+
"typetests:gen": "flub generate typetests --dir . -v",
|
|
111
124
|
"typetests:prepare": "flub typetests --dir . --reset --previous --normalize"
|
|
112
125
|
}
|
|
113
126
|
}
|
package/src/audience.ts
CHANGED
|
@@ -7,6 +7,7 @@ import type { IEvent, IEventProvider } from "@fluidframework/core-interfaces";
|
|
|
7
7
|
import type { IClient } from "@fluidframework/driver-definitions";
|
|
8
8
|
/**
|
|
9
9
|
* Manages the state and the members for {@link IAudience}
|
|
10
|
+
* @legacy
|
|
10
11
|
* @alpha
|
|
11
12
|
*/
|
|
12
13
|
export interface IAudienceOwner extends IAudience {
|
package/src/browserPackage.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { isFluidPackage } from "./fluidPackage.js";
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* A specific Fluid package environment for browsers
|
|
11
|
+
* @legacy
|
|
11
12
|
* @alpha
|
|
12
13
|
*/
|
|
13
14
|
export interface IFluidBrowserPackageEnvironment extends IFluidPackageEnvironment {
|
|
@@ -32,6 +33,7 @@ export interface IFluidBrowserPackageEnvironment extends IFluidPackageEnvironmen
|
|
|
32
33
|
|
|
33
34
|
/**
|
|
34
35
|
* A Fluid package for specification for browser environments
|
|
36
|
+
* @legacy
|
|
35
37
|
* @alpha
|
|
36
38
|
*/
|
|
37
39
|
export interface IFluidBrowserPackage extends IFluidPackage {
|
|
@@ -53,6 +55,7 @@ export interface IFluidBrowserPackage extends IFluidPackage {
|
|
|
53
55
|
/**
|
|
54
56
|
* Determines if any object is an IFluidBrowserPackage
|
|
55
57
|
* @param maybePkg - The object to check for compatibility with IFluidBrowserPackage
|
|
58
|
+
* @legacy
|
|
56
59
|
* @alpha
|
|
57
60
|
*/
|
|
58
61
|
export const isFluidBrowserPackage = (
|
package/src/deltas.ts
CHANGED
|
@@ -22,6 +22,7 @@ import type {
|
|
|
22
22
|
|
|
23
23
|
/**
|
|
24
24
|
* Contract representing the result of a newly established connection to the server for syncing deltas.
|
|
25
|
+
* @legacy
|
|
25
26
|
* @alpha
|
|
26
27
|
*/
|
|
27
28
|
export interface IConnectionDetails {
|
|
@@ -51,6 +52,7 @@ export interface IConnectionDetails {
|
|
|
51
52
|
/**
|
|
52
53
|
* Contract supporting delivery of outbound messages to the server
|
|
53
54
|
* @sealed
|
|
55
|
+
* @legacy
|
|
54
56
|
* @alpha
|
|
55
57
|
*/
|
|
56
58
|
export interface IDeltaSender {
|
|
@@ -63,6 +65,7 @@ export interface IDeltaSender {
|
|
|
63
65
|
/**
|
|
64
66
|
* Events emitted by {@link IDeltaManager}.
|
|
65
67
|
* @sealed
|
|
68
|
+
* @legacy
|
|
66
69
|
* @alpha
|
|
67
70
|
*/
|
|
68
71
|
export interface IDeltaManagerEvents extends IEvent {
|
|
@@ -147,6 +150,7 @@ export interface IDeltaManagerEvents extends IEvent {
|
|
|
147
150
|
/**
|
|
148
151
|
* Manages the transmission of ops between the runtime and storage.
|
|
149
152
|
* @sealed
|
|
153
|
+
* @legacy
|
|
150
154
|
* @alpha
|
|
151
155
|
*/
|
|
152
156
|
export interface IDeltaManager<T, U>
|
|
@@ -240,6 +244,7 @@ export interface IDeltaManager<T, U>
|
|
|
240
244
|
/**
|
|
241
245
|
* Events emitted by {@link IDeltaQueue}.
|
|
242
246
|
* @sealed
|
|
247
|
+
* @legacy
|
|
243
248
|
* @alpha
|
|
244
249
|
*/
|
|
245
250
|
export interface IDeltaQueueEvents<T> extends IErrorEvent {
|
|
@@ -284,6 +289,7 @@ export interface IDeltaQueueEvents<T> extends IErrorEvent {
|
|
|
284
289
|
/**
|
|
285
290
|
* Queue of ops to be sent to or processed from storage
|
|
286
291
|
* @sealed
|
|
292
|
+
* @legacy
|
|
287
293
|
* @alpha
|
|
288
294
|
*/
|
|
289
295
|
export interface IDeltaQueue<T> extends IEventProvider<IDeltaQueueEvents<T>>, IDisposable {
|
|
@@ -333,6 +339,7 @@ export interface IDeltaQueue<T> extends IEventProvider<IDeltaQueueEvents<T>>, ID
|
|
|
333
339
|
}
|
|
334
340
|
|
|
335
341
|
/**
|
|
342
|
+
* @legacy
|
|
336
343
|
* @alpha
|
|
337
344
|
*/
|
|
338
345
|
export type ReadOnlyInfo =
|
package/src/error.ts
CHANGED
|
@@ -8,6 +8,7 @@ import { FluidErrorTypes } from "@fluidframework/core-interfaces/internal";
|
|
|
8
8
|
|
|
9
9
|
/**
|
|
10
10
|
* Different error types the ClientSession may report out to the Host.
|
|
11
|
+
* @legacy
|
|
11
12
|
* @alpha
|
|
12
13
|
*/
|
|
13
14
|
export const ContainerErrorTypes = {
|
|
@@ -21,6 +22,7 @@ export const ContainerErrorTypes = {
|
|
|
21
22
|
|
|
22
23
|
/**
|
|
23
24
|
* {@inheritDoc (ContainerErrorTypes:variable)}
|
|
25
|
+
* @legacy
|
|
24
26
|
* @alpha
|
|
25
27
|
*/
|
|
26
28
|
export type ContainerErrorTypes =
|
|
@@ -67,6 +69,7 @@ export enum ContainerErrorType {
|
|
|
67
69
|
|
|
68
70
|
/**
|
|
69
71
|
* Represents warnings raised on container.
|
|
72
|
+
* @legacy
|
|
70
73
|
* @alpha
|
|
71
74
|
*/
|
|
72
75
|
export interface ContainerWarning extends IErrorBase {
|
package/src/fluidModule.ts
CHANGED
package/src/fluidPackage.ts
CHANGED
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
|
|
6
6
|
/**
|
|
7
7
|
* Specifies an environment on Fluid property of a IFluidPackage.
|
|
8
|
+
* @legacy
|
|
8
9
|
* @alpha
|
|
9
10
|
*/
|
|
10
11
|
export interface IFluidPackageEnvironment {
|
|
@@ -36,6 +37,7 @@ export interface IFluidPackageEnvironment {
|
|
|
36
37
|
* While compatible with the npm package format it is not necessary that that package is an
|
|
37
38
|
* npm package:
|
|
38
39
|
* {@link https://stackoverflow.com/questions/10065564/add-custom-metadata-or-config-to-package-json-is-it-valid}
|
|
40
|
+
* @legacy
|
|
39
41
|
* @alpha
|
|
40
42
|
*/
|
|
41
43
|
export interface IFluidPackage {
|
|
@@ -64,6 +66,7 @@ export interface IFluidPackage {
|
|
|
64
66
|
/**
|
|
65
67
|
* Check if the package.json defines a Fluid package
|
|
66
68
|
* @param pkg - the package json data to check if it is a Fluid package.
|
|
69
|
+
* @legacy
|
|
67
70
|
* @alpha
|
|
68
71
|
*/
|
|
69
72
|
export const isFluidPackage = (pkg: unknown): pkg is Readonly<IFluidPackage> =>
|
|
@@ -73,6 +76,7 @@ export const isFluidPackage = (pkg: unknown): pkg is Readonly<IFluidPackage> =>
|
|
|
73
76
|
|
|
74
77
|
/**
|
|
75
78
|
* Package manager configuration. Provides a key value mapping of config values
|
|
79
|
+
* @legacy
|
|
76
80
|
* @alpha
|
|
77
81
|
*/
|
|
78
82
|
export interface IFluidCodeDetailsConfig {
|
|
@@ -81,6 +85,7 @@ export interface IFluidCodeDetailsConfig {
|
|
|
81
85
|
|
|
82
86
|
/**
|
|
83
87
|
* Data structure used to describe the code to load on the Fluid document
|
|
88
|
+
* @legacy
|
|
84
89
|
* @alpha
|
|
85
90
|
*/
|
|
86
91
|
export interface IFluidCodeDetails {
|
|
@@ -116,12 +121,14 @@ export const isFluidCodeDetails = (
|
|
|
116
121
|
};
|
|
117
122
|
|
|
118
123
|
/**
|
|
124
|
+
* @legacy
|
|
119
125
|
* @alpha
|
|
120
126
|
*/
|
|
121
127
|
export const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer =
|
|
122
128
|
"IFluidCodeDetailsComparer";
|
|
123
129
|
|
|
124
130
|
/**
|
|
131
|
+
* @legacy
|
|
125
132
|
* @alpha
|
|
126
133
|
*/
|
|
127
134
|
export interface IProvideFluidCodeDetailsComparer {
|
|
@@ -130,6 +137,7 @@ export interface IProvideFluidCodeDetailsComparer {
|
|
|
130
137
|
|
|
131
138
|
/**
|
|
132
139
|
* Provides capability to compare Fluid code details.
|
|
140
|
+
* @legacy
|
|
133
141
|
* @alpha
|
|
134
142
|
*/
|
|
135
143
|
export interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
|
package/src/index.ts
CHANGED
|
@@ -70,16 +70,8 @@ export type {
|
|
|
70
70
|
* @deprecated IErrorBase is being deprecated as a public export is moving to "core-interfaces".
|
|
71
71
|
*/
|
|
72
72
|
IErrorBase,
|
|
73
|
-
/**
|
|
74
|
-
* @deprecated IGenericError is being deprecated as a public export is moving to "core-interfaces".
|
|
75
|
-
*/
|
|
76
|
-
IGenericError,
|
|
77
73
|
/**
|
|
78
74
|
* @deprecated IThrottlingWarning is being deprecated as a public export is moving to "core-interfaces".
|
|
79
75
|
*/
|
|
80
76
|
IThrottlingWarning,
|
|
81
|
-
/**
|
|
82
|
-
* @deprecated IUsageError is being deprecated as a public export is moving to "core-interfaces".
|
|
83
|
-
*/
|
|
84
|
-
IUsageError,
|
|
85
77
|
} from "@fluidframework/core-interfaces/internal";
|
package/src/loader.ts
CHANGED
|
@@ -35,6 +35,7 @@ import type { AttachState } from "./runtime.js";
|
|
|
35
35
|
|
|
36
36
|
/**
|
|
37
37
|
* Encapsulates a module entry point with corresponding code details.
|
|
38
|
+
* @legacy
|
|
38
39
|
* @alpha
|
|
39
40
|
*/
|
|
40
41
|
export interface IFluidModuleWithDetails {
|
|
@@ -55,6 +56,7 @@ export interface IFluidModuleWithDetails {
|
|
|
55
56
|
/**
|
|
56
57
|
* Fluid code loader resolves a code module matching the document schema, i.e. code details, such as
|
|
57
58
|
* a package name and package version range.
|
|
59
|
+
* @legacy
|
|
58
60
|
* @alpha
|
|
59
61
|
*/
|
|
60
62
|
export interface ICodeDetailsLoader extends Partial<IProvideFluidCodeDetailsComparer> {
|
|
@@ -103,6 +105,7 @@ export interface IFluidCodeResolver {
|
|
|
103
105
|
|
|
104
106
|
/**
|
|
105
107
|
* Events emitted by the {@link IContainer} "upwards" to the Loader and Host.
|
|
108
|
+
* @legacy
|
|
106
109
|
* @alpha
|
|
107
110
|
*/
|
|
108
111
|
export interface IContainerEvents extends IEvent {
|
|
@@ -314,6 +317,7 @@ export type ConnectionState =
|
|
|
314
317
|
|
|
315
318
|
/**
|
|
316
319
|
* The Host's view of a Container and its connection to storage
|
|
320
|
+
* @legacy
|
|
317
321
|
* @alpha
|
|
318
322
|
*/
|
|
319
323
|
export interface IContainer extends IEventProvider<IContainerEvents> {
|
|
@@ -525,6 +529,7 @@ export interface IContainer extends IEventProvider<IContainerEvents> {
|
|
|
525
529
|
|
|
526
530
|
/**
|
|
527
531
|
* The Runtime's view of the Loader, used for loading Containers
|
|
532
|
+
* @legacy
|
|
528
533
|
* @alpha
|
|
529
534
|
*/
|
|
530
535
|
export interface ILoader extends Partial<IProvideLoader> {
|
|
@@ -542,6 +547,7 @@ export interface ILoader extends Partial<IProvideLoader> {
|
|
|
542
547
|
|
|
543
548
|
/**
|
|
544
549
|
* The Host's view of the Loader, used for loading Containers
|
|
550
|
+
* @legacy
|
|
545
551
|
* @alpha
|
|
546
552
|
*/
|
|
547
553
|
export interface IHostLoader extends ILoader {
|
|
@@ -572,6 +578,7 @@ export interface IHostLoader extends ILoader {
|
|
|
572
578
|
|
|
573
579
|
/**
|
|
574
580
|
* Options to configure various behaviors of the ILoader.
|
|
581
|
+
* @legacy
|
|
575
582
|
* @alpha
|
|
576
583
|
*/
|
|
577
584
|
// eslint-disable-next-line @typescript-eslint/consistent-type-definitions
|
|
@@ -614,6 +621,7 @@ export type ILoaderOptions = {
|
|
|
614
621
|
|
|
615
622
|
/**
|
|
616
623
|
* Accepted header keys for requests coming to the Loader
|
|
624
|
+
* @legacy
|
|
617
625
|
* @alpha
|
|
618
626
|
*/
|
|
619
627
|
export enum LoaderHeader {
|
|
@@ -646,6 +654,7 @@ export enum LoaderHeader {
|
|
|
646
654
|
}
|
|
647
655
|
|
|
648
656
|
/**
|
|
657
|
+
* @legacy
|
|
649
658
|
* @alpha
|
|
650
659
|
*/
|
|
651
660
|
export interface IContainerLoadMode {
|
|
@@ -707,6 +716,7 @@ export interface ILoaderHeader {
|
|
|
707
716
|
}
|
|
708
717
|
|
|
709
718
|
/**
|
|
719
|
+
* @legacy
|
|
710
720
|
* @alpha
|
|
711
721
|
*/
|
|
712
722
|
export interface IProvideLoader {
|
|
@@ -718,6 +728,7 @@ export interface IProvideLoader {
|
|
|
718
728
|
* in separate property: {@link ISnapshotTreeWithBlobContents.blobsContents}.
|
|
719
729
|
*
|
|
720
730
|
* @remarks This is used as the `ContainerContext`'s base snapshot when attaching.
|
|
731
|
+
* @legacy
|
|
721
732
|
* @alpha
|
|
722
733
|
*/
|
|
723
734
|
export interface ISnapshotTreeWithBlobContents extends ISnapshotTree {
|
package/src/runtime.ts
CHANGED
|
@@ -56,6 +56,7 @@ export enum AttachState {
|
|
|
56
56
|
/**
|
|
57
57
|
* The IRuntime represents an instantiation of a code package within a Container.
|
|
58
58
|
* Primarily held by the ContainerContext to be able to interact with the running instance of the Container.
|
|
59
|
+
* @legacy
|
|
59
60
|
* @alpha
|
|
60
61
|
*/
|
|
61
62
|
export interface IRuntime extends IDisposable {
|
|
@@ -113,6 +114,7 @@ export interface IRuntime extends IDisposable {
|
|
|
113
114
|
|
|
114
115
|
/**
|
|
115
116
|
* Payload type for IContainerContext.submitBatchFn()
|
|
117
|
+
* @legacy
|
|
116
118
|
* @alpha
|
|
117
119
|
*/
|
|
118
120
|
export interface IBatchMessage {
|
|
@@ -129,6 +131,7 @@ export interface IBatchMessage {
|
|
|
129
131
|
*
|
|
130
132
|
* TODO: once `@alpha` tag is removed, `unknown` should be removed from submitSignalFn
|
|
131
133
|
* @see {@link https://dev.azure.com/fluidframework/internal/_workitems/edit/7462}
|
|
134
|
+
* @legacy
|
|
132
135
|
* @alpha
|
|
133
136
|
*/
|
|
134
137
|
export interface IContainerContext {
|
|
@@ -218,11 +221,13 @@ export interface IContainerContext {
|
|
|
218
221
|
}
|
|
219
222
|
|
|
220
223
|
/**
|
|
224
|
+
* @legacy
|
|
221
225
|
* @alpha
|
|
222
226
|
*/
|
|
223
227
|
export const IRuntimeFactory: keyof IProvideRuntimeFactory = "IRuntimeFactory";
|
|
224
228
|
|
|
225
229
|
/**
|
|
230
|
+
* @legacy
|
|
226
231
|
* @alpha
|
|
227
232
|
*/
|
|
228
233
|
export interface IProvideRuntimeFactory {
|
|
@@ -234,6 +239,7 @@ export interface IProvideRuntimeFactory {
|
|
|
234
239
|
*
|
|
235
240
|
* Provides the entry point for the ContainerContext to load the proper IRuntime
|
|
236
241
|
* to start up the running instance of the Container.
|
|
242
|
+
* @legacy
|
|
237
243
|
* @alpha
|
|
238
244
|
*/
|
|
239
245
|
export interface IRuntimeFactory extends IProvideRuntimeFactory {
|
|
@@ -249,6 +255,7 @@ export interface IRuntimeFactory extends IProvideRuntimeFactory {
|
|
|
249
255
|
|
|
250
256
|
/**
|
|
251
257
|
* Defines list of properties expected for getPendingLocalState
|
|
258
|
+
* @legacy
|
|
252
259
|
* @alpha
|
|
253
260
|
*/
|
|
254
261
|
export interface IGetPendingLocalStateProps {
|