Skip to content

Latest commit

 

History

History
480 lines (417 loc) · 16.2 KB

File metadata and controls

480 lines (417 loc) · 16.2 KB

Alpha API Report File for "@fluidframework/runtime-definitions"

Do not edit this file. It is a report generated by API Extractor.

// @beta @legacy
export type AliasResult = "Success" | "Conflict" | "AlreadyAliased";

// @alpha @sealed @legacy
export function asAlpha(base: IContainerRuntimeBase): ContainerRuntimeBaseAlpha;

// @beta @legacy
export interface AttributionInfo {
    timestamp: number;
    user: IUser;
}

// @beta @legacy
export type AttributionKey = OpAttributionKey | DetachedAttributionKey | LocalAttributionKey;

// @beta @sealed @deprecated @legacy
export interface CommitStagedChangesOptionsExperimental {
    squash?: boolean;
}

// @alpha @sealed @legacy
export interface ContainerRuntimeBaseAlpha extends IContainerRuntimeBase {
    enterStagingMode(): StageControlsAlpha;
    readonly inStagingMode: boolean;
}

// @beta @legacy (undocumented)
export type CreateChildSummarizerNodeFn = (summarizeInternal: SummarizeInternalFn, getGCDataFn: (fullGC?: boolean) => Promise<IGarbageCollectionData>,
getBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>) => ISummarizerNodeWithGC;

// @beta @legacy (undocumented)
export type CreateChildSummarizerNodeParam = {
    type: CreateSummarizerNodeSource.FromSummary;
} | {
    type: CreateSummarizerNodeSource.FromAttach;
    sequenceNumber: number;
    snapshot: ITree;
} | {
    type: CreateSummarizerNodeSource.Local;
};

// @beta @legacy (undocumented)
export enum CreateSummarizerNodeSource {
    // (undocumented)
    FromAttach = 1,
    // (undocumented)
    FromSummary = 0,
    // (undocumented)
    Local = 2
}

// @beta @legacy
export interface DetachedAttributionKey {
    id: 0;
    // (undocumented)
    type: "detached";
}

// @beta @legacy
export type FluidDataStoreRegistryEntry = Readonly<Partial<IProvideFluidDataStoreRegistry & IProvideFluidDataStoreFactory>>;

// @beta @legacy
export enum FlushMode {
    // @deprecated
    Immediate = 0,
    TurnBased = 1
}

// @beta @legacy
export interface IAttachMessage {
    id: string;
    snapshot: ITree;
    type: string;
}

// @beta @sealed @legacy
export interface IContainerRuntimeBase extends IEventProvider<IContainerRuntimeBaseEvents> {
    // (undocumented)
    readonly baseLogger: ITelemetryBaseLogger;
    // (undocumented)
    readonly clientDetails: IClientDetails;
    createDataStore(pkg: string | PackagePath, loadingGroupId?: string): Promise<IDataStore>;
    createDetachedDataStore(pkg: Readonly<string[]>, loadingGroupId?: string): IFluidDataStoreContextDetached;
    // (undocumented)
    readonly disposed: boolean;
    generateDocumentUniqueId(): number | string;
    getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
    getAliasedDataStoreEntryPoint(alias: string): Promise<IFluidHandle<FluidObject> | undefined>;
    getAudience(): IAudience;
    getQuorum(): IQuorumClients;
    getSnapshotForLoadingGroupId(loadingGroupIds: string[], pathParts: string[]): Promise<{
        snapshotTree: ISnapshotTree;
        sequenceNumber: number;
    }>;
    orderSequentially(callback: () => void): void;
    submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
    // (undocumented)
    uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandle<ArrayBufferLike>>;
}

// @beta @sealed @legacy (undocumented)
export interface IContainerRuntimeBaseEvents extends IEvent {
    (event: "batchBegin", listener: (op: Omit<ISequencedDocumentMessage, "contents">) => void): any;
    (event: "batchEnd", listener: (error: unknown, op: Omit<ISequencedDocumentMessage, "contents">) => void): any;
    (event: "op", listener: (op: ISequencedDocumentMessage, runtimeMessage?: boolean) => void): any;
    // (undocumented)
    (event: "signal", listener: (message: IInboundSignalMessage, local: boolean) => void): any;
    // (undocumented)
    (event: "dispose", listener: () => void): any;
}

// @beta @sealed @deprecated @legacy
export interface IContainerRuntimeBaseExperimental extends IContainerRuntimeBase {
    enterStagingMode?(): StageControlsExperimental;
    readonly inStagingMode?: boolean;
}

// @beta @legacy
export interface IDataStore {
    readonly entryPoint: IFluidHandleInternal<FluidObject>;
    trySetAlias(alias: string): Promise<AliasResult>;
}

// @beta @legacy
export interface IEnvelope {
    address: string;
    contents: any;
}

// @beta @legacy
export interface IExperimentalIncrementalSummaryContext {
    readonly latestSummarySequenceNumber: number;
    readonly summaryPath: string;
    readonly summarySequenceNumber: number;
}

// @beta @legacy
export interface IFluidDataStoreChannel extends IDisposable {
    // (undocumented)
    applyStashedOp(content: any): Promise<unknown>;
    readonly entryPoint: IFluidHandleInternal<FluidObject>;
    getAttachGCData(telemetryContext?: ITelemetryContext): IGarbageCollectionData;
    getAttachSummary(telemetryContext?: ITelemetryContext): ISummaryTreeWithStats;
    getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
    makeVisibleAndAttachGraph(): void;
    notifyReadOnlyState?(readonly: boolean): void;
    readonly policies?: IFluidDataStorePolicies;
    processMessages(messageCollection: IRuntimeMessageCollection): void;
    processSignal(message: IInboundSignalMessage, local: boolean): void;
    // (undocumented)
    request(request: IRequest): Promise<IResponse>;
    reSubmit(type: string, content: any, localOpMetadata: unknown, squash?: boolean): any;
    rollback?(type: string, content: any, localOpMetadata: unknown): void;
    // (undocumented)
    setAttachState(attachState: AttachState.Attaching | AttachState.Attached): void;
    setConnectionState(connected: boolean, clientId?: string): any;
    summarize(fullTree?: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummaryTreeWithStats>;
    updateUsedRoutes(usedRoutes: string[]): void;
}

// @beta @legacy
export interface IFluidDataStoreContext extends IFluidParentContext {
    // (undocumented)
    readonly baseSnapshot: ISnapshotTree | undefined;
    createChildDataStore?<T extends IFluidDataStoreFactory>(childFactory: T): ReturnType<Exclude<T["createDataStore"], undefined>>;
    // @deprecated (undocumented)
    readonly createProps?: any;
    // @deprecated (undocumented)
    getBaseGCDetails(): Promise<IGarbageCollectionDetailsBase>;
    // (undocumented)
    readonly id: string;
    readonly isLocalDataStore: boolean;
    readonly packagePath: PackagePath;
}

// @beta @legacy (undocumented)
export interface IFluidDataStoreContextDetached extends IFluidDataStoreContext {
    attachRuntime(factory: IProvideFluidDataStoreFactory, dataStoreRuntime: IFluidDataStoreChannel): Promise<IDataStore>;
}

// @beta @legacy (undocumented)
export const IFluidDataStoreFactory: keyof IProvideFluidDataStoreFactory;

// @beta @legacy
export interface IFluidDataStoreFactory extends IProvideFluidDataStoreFactory {
    createDataStore?(context: IFluidDataStoreContext): {
        readonly runtime: IFluidDataStoreChannel;
    };
    instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<IFluidDataStoreChannel>;
    type: string;
}

// @beta @legacy
export interface IFluidDataStorePolicies {
    readonly readonlyInStagingMode: boolean;
}

// @beta @legacy (undocumented)
export const IFluidDataStoreRegistry: keyof IProvideFluidDataStoreRegistry;

// @beta @legacy
export interface IFluidDataStoreRegistry extends IProvideFluidDataStoreRegistry {
    get(name: string): Promise<FluidDataStoreRegistryEntry | undefined>;
    getSync?(name: string): FluidDataStoreRegistryEntry | undefined;
}

// @beta @legacy
export interface IFluidParentContext extends IProvideFluidHandleContext, Partial<IProvideFluidDataStoreRegistry> {
    addedGCOutboundRoute(fromPath: string, toPath: string, messageTimestampMs?: number): void;
    readonly attachState: AttachState;
    // (undocumented)
    readonly baseLogger: ITelemetryBaseLogger;
    // (undocumented)
    readonly clientDetails: IClientDetails;
    // (undocumented)
    readonly clientId: string | undefined;
    // (undocumented)
    readonly connected: boolean;
    // (undocumented)
    readonly containerRuntime: IContainerRuntimeBase;
    // (undocumented)
    deleteChildSummarizerNode(id: string): void;
    // (undocumented)
    readonly deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
    // @deprecated (undocumented)
    readonly gcThrowOnTombstoneUsage: boolean;
    // @deprecated (undocumented)
    readonly gcTombstoneEnforcementAllowed: boolean;
    getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;
    getAudience(): IAudience;
    // (undocumented)
    getCreateChildSummarizerNodeFn(
    id: string,
    createParam: CreateChildSummarizerNodeParam): CreateChildSummarizerNodeFn;
    getQuorum(): IQuorumClients;
    // (undocumented)
    readonly idCompressor?: IIdCompressor;
    readonly isReadOnly?: () => boolean;
    readonly loadingGroupId?: string;
    makeLocallyVisible(): void;
    readonly minVersionForCollab?: MinimumVersionForCollab;
    // (undocumented)
    readonly options: Record<string | number, any>;
    readonly scope: FluidObject;
    setChannelDirty(address: string): void;
    // (undocumented)
    readonly storage: IRuntimeStorageService;
    submitMessage(type: string, content: any, localOpMetadata: unknown): void;
    submitSignal: (type: string, content: unknown, targetClientId?: string) => void;
    // (undocumented)
    uploadBlob(blob: ArrayBufferLike, signal?: AbortSignal): Promise<IFluidHandleInternal<ArrayBufferLike>>;
}

// @beta @legacy
export interface IGarbageCollectionData {
    gcNodes: {
        [id: string]: string[];
    };
}

// @beta @legacy
export interface IGarbageCollectionDetailsBase {
    gcData?: IGarbageCollectionData;
    usedRoutes?: string[];
}

// @beta @legacy
export interface IInboundSignalMessage<TMessage extends TypedMessage = TypedMessage> extends ISignalMessage<TMessage> {
    // (undocumented)
    readonly type: TMessage["type"];
}

// @beta @legacy
export type InboundAttachMessage = Omit<IAttachMessage, "snapshot"> & {
    snapshot: IAttachMessage["snapshot"] | null;
};

// @beta @legacy (undocumented)
export interface IProvideFluidDataStoreFactory {
    // (undocumented)
    readonly IFluidDataStoreFactory: IFluidDataStoreFactory;
}

// @beta @legacy (undocumented)
export interface IProvideFluidDataStoreRegistry {
    // (undocumented)
    readonly IFluidDataStoreRegistry: IFluidDataStoreRegistry;
}

// @beta @sealed @legacy
export interface IRuntimeMessageCollection {
    readonly envelope: ISequencedMessageEnvelope;
    readonly local: boolean;
    readonly messagesContent: readonly IRuntimeMessagesContent[];
}

// @beta @sealed @legacy
export interface IRuntimeMessagesContent {
    readonly clientSequenceNumber: number;
    readonly contents: unknown;
    readonly localOpMetadata: unknown;
}

// @beta @legacy
export interface IRuntimeStorageService {
    // @deprecated (undocumented)
    createBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;
    // @deprecated
    dispose?(error?: Error): void;
    // @deprecated
    readonly disposed?: boolean;
    // @deprecated (undocumented)
    downloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;
    // @deprecated (undocumented)
    getSnapshot?(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;
    // @deprecated (undocumented)
    getSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;
    // @deprecated (undocumented)
    getVersions(versionId: string | null, count: number, scenarioName?: string, fetchSource?: FetchSource): Promise<IVersion[]>;
    // @deprecated (undocumented)
    readonly policies?: IDocumentStorageServicePolicies | undefined;
    readBlob(id: string): Promise<ArrayBufferLike>;
    // @deprecated (undocumented)
    uploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;
}

// @beta @legacy
export type ISequencedMessageEnvelope = Omit<ISequencedDocumentMessage, "contents" | "clientSequenceNumber">;

// @beta @legacy
export interface ISummarizeInternalResult extends ISummarizeResult {
    // (undocumented)
    id: string;
    pathPartsForChildren?: string[];
}

// @beta @legacy
export interface ISummarizeResult {
    // (undocumented)
    stats: ISummaryStats;
    // (undocumented)
    summary: SummaryTree;
}

// @beta @legacy (undocumented)
export interface ISummarizerNode {
    // (undocumented)
    createChild(
    summarizeInternalFn: SummarizeInternalFn,
    id: string,
    createParam: CreateChildSummarizerNodeParam,
    config?: ISummarizerNodeConfig): ISummarizerNode;
    // (undocumented)
    getChild(id: string): ISummarizerNode | undefined;
    invalidate(sequenceNumber: number): void;
    isSummaryInProgress?(): boolean;
    recordChange(op: ISequencedDocumentMessage): void;
    readonly referenceSequenceNumber: number;
    summarize(fullTree: boolean, trackState?: boolean, telemetryContext?: ITelemetryContext): Promise<ISummarizeResult>;
    // @deprecated
    updateBaseSummaryState(snapshot: ISnapshotTree): void;
}

// @beta @legacy (undocumented)
export interface ISummarizerNodeConfig {
    readonly canReuseHandle?: boolean;
}

// @beta @legacy (undocumented)
export interface ISummarizerNodeConfigWithGC extends ISummarizerNodeConfig {
    readonly gcDisabled?: boolean;
}

// @beta @legacy
export interface ISummarizerNodeWithGC extends ISummarizerNode {
    // (undocumented)
    createChild(
    summarizeInternalFn: SummarizeInternalFn,
    id: string,
    createParam: CreateChildSummarizerNodeParam,
    config?: ISummarizerNodeConfigWithGC, getGCDataFn?: (fullGC?: boolean) => Promise<IGarbageCollectionData>,
    getBaseGCDetailsFn?: () => Promise<IGarbageCollectionDetailsBase>): ISummarizerNodeWithGC;
    deleteChild(id: string): void;
    // (undocumented)
    getChild(id: string): ISummarizerNodeWithGC | undefined;
    getGCData(fullGC?: boolean): Promise<IGarbageCollectionData>;
    isReferenced(): boolean;
    updateUsedRoutes(usedRoutes: string[]): void;
}

// @beta @legacy
export interface ISummaryStats {
    // (undocumented)
    blobNodeCount: number;
    // (undocumented)
    handleNodeCount: number;
    // (undocumented)
    totalBlobSize: number;
    // (undocumented)
    treeNodeCount: number;
    // (undocumented)
    unreferencedBlobSize: number;
}

// @beta @legacy
export interface ISummaryTreeWithStats {
    stats: ISummaryStats;
    summary: ISummaryTree;
}

// @beta @legacy
export interface ITelemetryContext {
    set(prefix: string, property: string, value: TelemetryBaseEventPropertyType): void;
    setMultiple(prefix: string, property: string, values: Record<string, TelemetryBaseEventPropertyType>): void;
}

// @beta @legacy
export interface LocalAttributionKey {
    // (undocumented)
    type: "local";
}

// @beta @legacy
export type MinimumVersionForCollab = `${1 | 2}.${bigint}.${bigint}` | `${1 | 2}.${bigint}.${bigint}-${string}`;

// @beta @legacy
export type NamedFluidDataStoreRegistryEntries = Iterable<NamedFluidDataStoreRegistryEntry2>;

// @beta @legacy
export type NamedFluidDataStoreRegistryEntry = [string, Promise<FluidDataStoreRegistryEntry>];

// @beta @legacy
export type NamedFluidDataStoreRegistryEntry2 = [
string,
Promise<FluidDataStoreRegistryEntry> | FluidDataStoreRegistryEntry
];

// @beta @legacy
export interface OpAttributionKey {
    seq: number;
    type: "op";
}

// @beta @legacy
export type PackagePath = readonly string[];

// @alpha @sealed @legacy
export interface StageControlsAlpha {
    readonly commitChanges: () => void;
    readonly discardChanges: () => void;
}

// @beta @sealed @deprecated @legacy
export interface StageControlsExperimental {
    readonly commitChanges: (options?: Partial<CommitStagedChangesOptionsExperimental>) => void;
    readonly discardChanges: () => void;
}

// @beta @legacy (undocumented)
export type SummarizeInternalFn = (fullTree: boolean, trackState: boolean, telemetryContext?: ITelemetryContext, incrementalSummaryContext?: IExperimentalIncrementalSummaryContext) => Promise<ISummarizeInternalResult>;

// @beta @legacy
export const VisibilityState: {
    NotVisible: string;
    LocallyVisible: string;
    GloballyVisible: string;
};

// @beta @legacy (undocumented)
export type VisibilityState = (typeof VisibilityState)[keyof typeof VisibilityState];

// (No @packageDocumentation comment for this package)