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

Interface Alerts Description
ContainerWarning Represents warnings raised on container.
IAudience Audience represents all clients connected to the op stream, both read-only and read/write.
ICodeAllowList Code AllowListing Interface
ICodeDetailsLoader Fluid code loader resolves a code module matching the document schema, i.e. code details, such as a package name and package version range.
ICodeLoader Deprecated Code loading interface
IConnectionDetails Contract representing the result of a newly established connection to the server for syncing deltas
IContainer The 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.

IContainerEvents Events emitted by the Container "upwards" to the Loader and Host
IContainerLoadMode
IDeltaHandlerStrategy Interface used to define a strategy for handling incoming delta messages
IDeltaManager Manages the transmission of ops between the runtime and storage.
IDeltaManagerEvents Events emitted by the Delta Manager
IDeltaQueue Queue of ops to be sent to or processed from storage
IDeltaQueueEvents Events emitted by a Delta Queue
IDeltaSender Contract supporting delivery of outbound messages to the server
IErrorBase Base interface for all errors and warnings at container level
IFluidBrowserPackage A Fluid package for specification for browser environments
IFluidBrowserPackageEnvironment A specific Fluid package environment for browsers
IFluidCodeDetails Data structure used to describe the code to load on the Fluid document
IFluidCodeDetailsComparer Provides capability to compare Fluid code details.
IFluidCodeDetailsConfig Package manager configuration. Provides a key value mapping of config values
IFluidCodeResolver Fluid 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
IFluidModuleWithDetails Encapsulates a module entry point with corresponding code details.
IFluidPackage Fluid-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
IFluidPackageEnvironment Specifies an environment on Fluid property of a IFluidPackage
IFluidTokenProvider
IGenericError Generic wrapper for an unrecognized/uncategorized error object
IHostLoader The Host's view of the Loader, used for loading Containers
ILoader The Runtime's view of the Loader, used for loading Containers
ILoaderHeader Set of Request Headers that the Loader understands and may inspect or modify
IPendingLocalState Deprecated
IProvideFluidCodeDetailsComparer
IProvideFluidTokenProvider
IProvideLoader
IProvideRuntimeFactory
IResolvedFluidCodeDetails The interface returned from a IFluidCodeResolver which represents IFluidCodeDetails that have been resolved and are ready to load
IRuntime The 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.

ISnapshotTreeWithBlobContents This 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.
IThrottlingWarning Warning emitted when requests to storage are being throttled
IUsageError Error indicating an API is being used improperly resulting in an invalid operation.

Enumerations

Enum Description
AttachState The 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
ContainerErrorType Different error types the Container may report out to the Host
LoaderHeader Accepted header keys for requests coming to the Loader

Types

TypeAlias Description
ConnectionState Type defining the different states of connectivity a container can be in
ICriticalContainerError Represents errors raised on container.
ILoaderOptions
ReadOnlyInfo

Variables

Variable Type Description
IFluidCodeDetailsComparer keyof IProvideFluidCodeDetailsComparer
IFluidTokenProvider keyof IProvideFluidTokenProvider
IRuntimeFactory keyof 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

Namespace Description
ConnectionState Namespace 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>