Skip to main content
Version: v1

@fluidframework/container-definitions Package

This package contains the interfaces and types concerning the Loader and loading the Container.

Interfaces

InterfaceAlertsDescription
ContainerWarningRepresents warnings raised on container.
IAudienceAudience represents all clients connected to the op stream, both read-only and read/write.
ICodeAllowListCode AllowListing Interface
ICodeDetailsLoaderFluid code loader resolves a code module matching the document schema, i.e. code details, such as a package name and package version range.
ICodeLoaderDeprecatedCode loading interface
IConnectionDetailsContract representing the result of a newly established connection to the server for syncing deltas
IContainerThe Host's view of the Container and its connection to storage
IContainerContext

The ContainerContext is a proxy standing between the Container and the Container's IRuntime. This allows the Container to terminate the connection to the IRuntime.

Specifically, there is an event on Container, onContextChanged, which mean a new code proposal has been loaded, so the old IRuntime is no longer valid, as its ContainerContext has been revoked, and the Container has created a new ContainerContext.

IContainerEventsEvents emitted by the Container "upwards" to the Loader and Host
IContainerLoadMode
IDeltaHandlerStrategyInterface used to define a strategy for handling incoming delta messages
IDeltaManagerManages the transmission of ops between the runtime and storage.
IDeltaManagerEventsEvents emitted by the Delta Manager
IDeltaQueueQueue of ops to be sent to or processed from storage
IDeltaQueueEventsEvents emitted by a Delta Queue
IDeltaSenderContract supporting delivery of outbound messages to the server
IErrorBaseBase interface for all errors and warnings at container level
IFluidBrowserPackageA Fluid package for specification for browser environments
IFluidBrowserPackageEnvironmentA specific Fluid package environment for browsers
IFluidCodeDetailsData structure used to describe the code to load on the Fluid document
IFluidCodeDetailsComparerProvides capability to compare Fluid code details.
IFluidCodeDetailsConfigPackage manager configuration. Provides a key value mapping of config values
IFluidCodeResolverFluid code resolvers take a Fluid code details, and resolve the full Fluid package including absolute urls for the browser file entries. The Fluid code resolver is coupled to a specific cdn and knows how to resolve the code detail for loading from that cdn. This include resolving to the most recent version of package that supports the provided code details.
IFluidModule
IFluidModuleWithDetailsEncapsulates a module entry point with corresponding code details.
IFluidPackageFluid-specific properties expected on a package to be loaded by the code loader. While compatible with the npm package format it is not necessary that that package is an npm package: https://stackoverflow.com/questions/10065564/add-custom-metadata-or-config-to-package-json-is-it-valid
IFluidPackageEnvironmentSpecifies an environment on Fluid property of a IFluidPackage
IFluidTokenProvider
IGenericErrorGeneric wrapper for an unrecognized/uncategorized error object
IHostLoaderThe Host's view of the Loader, used for loading Containers
ILoaderThe Runtime's view of the Loader, used for loading Containers
ILoaderHeaderSet of Request Headers that the Loader understands and may inspect or modify
IPendingLocalStateDeprecated
IProvideFluidCodeDetailsComparer
IProvideFluidTokenProvider
IProvideLoader
IProvideRuntimeFactory
IResolvedFluidCodeDetailsThe interface returned from a IFluidCodeResolver which represents IFluidCodeDetails that have been resolved and are ready to load
IRuntimeThe IRuntime represents an instantiation of a code package within a Container. Primarily held by the ContainerContext to be able to interact with the running instance of the Container.
IRuntimeFactory

Exported module definition

Provides the entry point for the ContainerContext to load the proper IRuntime to start up the running instance of the Container.

ISnapshotTreeWithBlobContentsThis is used when we rehydrate a container from the snapshot. Here we put the blob contents in separate property: blobContents. This is used as the ContainerContext's base snapshot when attaching.
IThrottlingWarningWarning emitted when requests to storage are being throttled
IUsageErrorError indicating an API is being used improperly resulting in an invalid operation.

Enumerations

EnumDescription
AttachStateThe attachment state of some Fluid data (e.g. a container or data store), denoting whether it is uploaded to the service. The transition from detached to attached state is a one-way transition.
BindState
ContainerErrorTypeDifferent error types the Container may report out to the Host
LoaderHeaderAccepted header keys for requests coming to the Loader

Types

TypeAliasDescription
ConnectionStateType defining the different states of connectivity a container can be in
ICriticalContainerErrorRepresents errors raised on container.
ILoaderOptions
ReadOnlyInfo

Variables

VariableTypeDescription
IFluidCodeDetailsComparerkeyof IProvideFluidCodeDetailsComparer
IFluidTokenProviderkeyof IProvideFluidTokenProvider
IRuntimeFactorykeyof IProvideRuntimeFactory
isFluidBrowserPackage(maybePkg: any) => maybePkg is Readonly<IFluidBrowserPackage>Determines if any object is an IFluidBrowserPackage
isFluidCodeDetails(details: unknown) => details is Readonly<IFluidCodeDetails>
isFluidPackage(pkg: any) => pkg is Readonly<IFluidPackage>Check if the package.json defines a Fluid package

Namespaces

NamespaceDescription
ConnectionStateNamespace for the different connection states a container can be in PLEASE NOTE: The sequence of the numerical values does no correspond to the typical connection state progression

Variable Details

IFluidCodeDetailsComparer

Signature

IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer

Type: keyof IProvideFluidCodeDetailsComparer

IFluidTokenProvider

Signature

IFluidTokenProvider: keyof IProvideFluidTokenProvider

Type: keyof IProvideFluidTokenProvider

IRuntimeFactory

Signature

IRuntimeFactory: keyof IProvideRuntimeFactory

Type: keyof IProvideRuntimeFactory

isFluidBrowserPackage

Determines if any object is an IFluidBrowserPackage

Signature

isFluidBrowserPackage: (maybePkg: any) => maybePkg is Readonly<IFluidBrowserPackage>

Type: (maybePkg: any) => maybePkg is Readonly<IFluidBrowserPackage>

isFluidCodeDetails

Signature

isFluidCodeDetails: (details: unknown) => details is Readonly<IFluidCodeDetails>

Type: (details: unknown) => details is Readonly<IFluidCodeDetails>

isFluidPackage

Check if the package.json defines a Fluid package

Signature

isFluidPackage: (pkg: any) => pkg is Readonly<IFluidPackage>

Type: (pkg: any) => pkg is Readonly<IFluidPackage>