Skip to main content

@fluidframework/runtime-definitions Package

Interfaces

InterfaceAlertsModifiersDescription
AttributionInfoLegacyAttribution information associated with a change.
ContainerRuntimeBaseAlphaLegacysealedAlpha interface for container runtime base supporting staging mode.
DetachedAttributionKeyLegacyAttributionKey associated with content that was inserted while the container was in a detached state.
IAttachMessageLegacyMessage send by client attaching local data structure. Contains snapshot of data structure which is the current state of this data structure.
IContainerRuntimeBaseLegacysealedA reduced set of functionality of IContainerRuntime that a data store context/data store runtime will need.
IContainerRuntimeBaseEventsLegacysealed
IDataStoreLegacy

Exposes some functionality/features of a data store:

  • Handle to the data store's entryPoint
  • Fluid router for the data store
  • Can be assigned an alias
IEnvelopeLegacyAn envelope wraps the contents with the intended target
IExperimentalIncrementalSummaryContextLegacyCan be deleted/changed at any time Contains the necessary information to allow DDSes to do incremental summaries
IFluidDataStoreChannelLegacy

Minimal interface a data store runtime needs to provide for IFluidDataStoreContext to bind to control.

Functionality include attach, snapshot, op/signal processing, request routes, expose an entryPoint, and connection state notifications

IFluidDataStoreContextLegacyExtension to IFluidParentContext specifically for IDataStores.
IFluidDataStoreContextDetachedLegacy
IFluidDataStoreFactoryLegacy

The IFluidDataStoreFactory interface is responsible for creating data stores. A data store is a component that manages a specific set of data and its operations. It encapsulates the logic for data management, synchronization, and interaction with other components within a Fluid container.

Data stores are fundamental building blocks in the Fluid Framework. They are used to store and manage state, handle operations, and provide APIs for interacting with the data. Each data store type is associated with a unique identifier (its type member) and is typically provided to consumers through a data store registry.

The factory is responsible for creating new instances of data stores and loading existing ones. The factory ensures that the data store is correctly initialized.

IFluidDataStorePoliciesLegacyThese policies can be set by the author of the data store via its data store runtime to influence behaviors.
IFluidDataStoreRegistryLegacyAn association of identifiers to data store registry entries, where the entries can be used to create data stores.
IFluidParentContextLegacyContext for an IDataStore like object.
IGarbageCollectionDataLegacyGarbage collection data returned by nodes in a Container. Used for running GC in the Container.
IGarbageCollectionDetailsBaseLegacyGC details provided to each node during creation.
IInboundSignalMessageLegacyRepresents ISignalMessage with its type.
IProvideFluidDataStoreFactoryLegacy
IProvideFluidDataStoreRegistryLegacy
IRuntimeMessageCollectionLegacysealedA collection of messages that are processed by the runtime.
IRuntimeMessagesContentLegacysealedThese are the contents of a runtime message as it is processed throughout the stack.
IRuntimeStorageServiceLegacyInterface to provide access to snapshot blobs to DataStore layer.
ISummarizeInternalResultLegacyContains the same data as ISummaryResult but in order to avoid naming collisions, the data store summaries are wrapped around an array of labels identified by pathPartsForChildren.
ISummarizeResultLegacyRepresents a summary at a current sequence number.
ISummarizerNodeLegacy
ISummarizerNodeConfigLegacy
ISummarizerNodeConfigWithGCLegacy
ISummarizerNodeWithGCLegacy

Extends the functionality of ISummarizerNode to support garbage collection. It adds / updates the following APIs:

usedRoutes: The routes in this node that are currently in use.

getGCData: A new API that can be used to get the garbage collection data for this node.

summarize: Added a trackState flag which indicates whether the summarizer node should track the state of the summary or not.

createChild: Added the following params:

  • getGCDataFn: This gets the GC data from the caller. This must be provided in order for getGCData to work.
  • getInitialGCDetailsFn: This gets the initial GC details from the caller.

deleteChild: Deletes a child node.

isReferenced: This tells whether this node is referenced in the document or not.

updateUsedRoutes: Used to notify this node of routes that are currently in use in it.

ISummaryStatsLegacyContains the aggregation data from a Tree/Subtree.
ISummaryTreeWithStatsLegacyRepresents the summary tree for a node along with the statistics for that tree. For example, for a given data store, it contains the data for data store along with a subtree for each of its DDS. Any component that implements IChannelContext, IFluidDataStoreChannel or extends SharedObject will be taking part of the summarization process.
ITelemetryContextLegacyContains telemetry data relevant to summarization workflows. This object is expected to be modified directly by various summarize methods.
LocalAttributionKeyLegacyAttributionKey associated with content that has been made locally but not yet acked by the server.
OpAttributionKeyLegacyAttributionKey representing a reference to some op in the op stream. Content associated with this key aligns with content modified by that op.
StageControlsAlphaLegacysealed

Controls for managing staged changes in alpha staging mode.

Provides methods to either commit or discard changes made while in staging mode.

Enumerations

EnumAlertsDescription
CreateSummarizerNodeSourceLegacy
FlushModeLegacyRuntime flush mode handling

Types

TypeAliasAlertsDescription
AliasResultLegacy

Encapsulates the return codes of the aliasing API.

'Success' - the datastore has been successfully aliased. It can now be used.

'Conflict' - there is already a datastore bound to the provided alias. To acquire it's entry point, use the IContainerRuntime.getAliasedDataStoreEntryPoint function. The current datastore should be discarded and will be garbage collected. The current datastore cannot be aliased to a different value.

'AlreadyAliased' - the datastore has already been previously bound to another alias name.

AttributionKeyLegacyCan be indexed into the ContainerRuntime in order to retrieve AttributionInfo.
CreateChildSummarizerNodeFnLegacy
CreateChildSummarizerNodeParamLegacy
FluidDataStoreRegistryEntryLegacyA single registry entry that may be used to create data stores It has to have either factory or registry, or both.
InboundAttachMessageLegacyThis type should be used when reading an incoming attach op, but it should not be used when creating a new attach op. Older versions of attach messages could have null snapshots, so this gives correct typings for writing backward compatible code.
ISequencedMessageEnvelopeLegacyThis is the message type that is used within the runtime when processing a sequenced message. It is the same as ISequencedDocumentMessage, but without the contents and clientSequenceNumbers which are sent separately. The contents are modified at multiple layers in the stack so having it separate doesn't require packing and unpacking the entire message.
MinimumVersionForCollabLegacyOldest version of Fluid Framework client packages to support collaborating with.
NamedFluidDataStoreRegistryEntriesLegacyAn iterable identifier/registry entry pair list
NamedFluidDataStoreRegistryEntryLegacyAn associated pair of an identifier and registry entry. Registry entries may be dynamically loaded.
NamedFluidDataStoreRegistryEntry2LegacyAn associated pair of an identifier and registry entry. Registry entries may be dynamically loaded.
PackagePathLegacyA path which selects a IFluidDataStoreFactory within a hierarchial registry.
SummarizeInternalFnLegacy
VisibilityStateLegacy

Functions

FunctionAlertsModifiersReturn TypeDescription
asLegacyAlpha(base)LegacysealedContainerRuntimeBaseAlphaConverts types to their alpha counterparts to expose alpha functionality.

Variables

VariableAlertsModifiersTypeDescription
IFluidDataStoreFactoryLegacyreadonlykeyof IProvideFluidDataStoreFactory
IFluidDataStoreRegistryLegacyreadonlykeyof IProvideFluidDataStoreRegistry
VisibilityStateLegacyreadonly{ NotVisible: string; LocallyVisible: string; GloballyVisible: string; }This tells the visibility state of a Fluid object. It basically tracks whether the object is not visible, visible locally within the container only or visible globally to all clients.

Function Details

asLegacyAlpha

Converts types to their alpha counterparts to expose alpha functionality.

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/runtime-definitions/legacy.

For more information about our API support guarantees, see here.

Sealed

This type is "sealed," meaning that code outside of the library defining it should not implement or extend it. Future versions of this type may add members or make typing of readonly members more specific.

Signature

/** @sealed */
export declare function asLegacyAlpha(base: IContainerRuntimeBase): ContainerRuntimeBaseAlpha;

Parameters

ParameterTypeDescription
baseIContainerRuntimeBase

Returns

Return type: ContainerRuntimeBaseAlpha

Variable Details

IFluidDataStoreFactory

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/runtime-definitions/legacy.

For more information about our API support guarantees, see here.

Signature

IFluidDataStoreFactory: keyof IProvideFluidDataStoreFactory

Type: keyof IProvideFluidDataStoreFactory

IFluidDataStoreRegistry

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/runtime-definitions/legacy.

For more information about our API support guarantees, see here.

Signature

IFluidDataStoreRegistry: keyof IProvideFluidDataStoreRegistry

Type: keyof IProvideFluidDataStoreRegistry

VisibilityState

This tells the visibility state of a Fluid object. It basically tracks whether the object is not visible, visible locally within the container only or visible globally to all clients.

This API is provided for existing users, but is not recommended for new users.

To use, import via @fluidframework/runtime-definitions/legacy.

For more information about our API support guarantees, see here.

Signature

VisibilityState: {
NotVisible: string;
LocallyVisible: string;
GloballyVisible: string;
}

Type: { NotVisible: string; LocallyVisible: string; GloballyVisible: string; }