@fluidframework/container-definitions 1.1.0 → 1.2.0

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.
@@ -7,10 +7,18 @@ import { EventEmitter } from "events";
7
7
  import { IClient } from "@fluidframework/protocol-definitions";
8
8
  /**
9
9
  * Audience represents all clients connected to the op stream, both read-only and read/write.
10
+ *
11
+ * See {@link https://nodejs.org/api/events.html#class-eventemitter | here} for an overview of the `EventEmitter`
12
+ * class.
10
13
  */
11
14
  export interface IAudience extends EventEmitter {
15
+ /**
16
+ * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.
17
+ */
12
18
  on(event: "addMember" | "removeMember", listener: (clientId: string, client: IClient) => void): this;
13
- /** List all clients connected to the op stream, keyed off their clientId */
19
+ /**
20
+ * List all clients connected to the op stream, keyed off their clientId
21
+ */
14
22
  getMembers(): Map<string, IClient>;
15
23
  /**
16
24
  * Get details about the connected client with the specified clientId,
@@ -1 +1 @@
1
- {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAE3C,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAErG,4EAA4E;IAC5E,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpD"}
1
+ {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC3C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAErG;;OAEG;IACH,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"audience.js","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { EventEmitter } from \"events\";\nimport { IClient } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Audience represents all clients connected to the op stream, both read-only and read/write.\n */\nexport interface IAudience extends EventEmitter {\n\n on(event: \"addMember\" | \"removeMember\", listener: (clientId: string, client: IClient) => void): this;\n\n /** List all clients connected to the op stream, keyed off their clientId */\n getMembers(): Map<string, IClient>;\n\n /**\n * Get details about the connected client with the specified clientId,\n * or undefined if the specified client isn't connected\n */\n getMember(clientId: string): IClient | undefined;\n}\n"]}
1
+ {"version":3,"file":"audience.js","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { EventEmitter } from \"events\";\nimport { IClient } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Audience represents all clients connected to the op stream, both read-only and read/write.\n *\n * See {@link https://nodejs.org/api/events.html#class-eventemitter | here} for an overview of the `EventEmitter`\n * class.\n */\nexport interface IAudience extends EventEmitter {\n /**\n * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.\n */\n on(event: \"addMember\" | \"removeMember\", listener: (clientId: string, client: IClient) => void): this;\n\n /**\n * List all clients connected to the op stream, keyed off their clientId\n */\n getMembers(): Map<string, IClient>;\n\n /**\n * Get details about the connected client with the specified clientId,\n * or undefined if the specified client isn't connected\n */\n getMember(clientId: string): IClient | undefined;\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -2,6 +2,11 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ /**
6
+ * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.
7
+ *
8
+ * @packageDocumentation
9
+ */
5
10
  export * from "./audience";
6
11
  export * from "./browserPackage";
7
12
  export * from "./deltas";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -1,4 +1,8 @@
1
1
  "use strict";
2
+ /*!
3
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
4
+ * Licensed under the MIT License.
5
+ */
2
6
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
7
  if (k2 === undefined) k2 = k;
4
8
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -10,9 +14,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
11
15
  };
12
16
  Object.defineProperty(exports, "__esModule", { value: true });
13
- /*!
14
- * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
15
- * Licensed under the MIT License.
17
+ /**
18
+ * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.
19
+ *
20
+ * @packageDocumentation
16
21
  */
17
22
  __exportStar(require("./audience"), exports);
18
23
  __exportStar(require("./browserPackage"), exports);
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA;;;GAGG;AACH,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nexport * from \"./audience\";\nexport * from \"./browserPackage\";\nexport * from \"./deltas\";\nexport * from \"./error\";\nexport * from \"./loader\";\nexport * from \"./fluidModule\";\nexport * from \"./fluidPackage\";\nexport * from \"./runtime\";\nexport * from \"./tokenProvider\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;AAEH;;;;GAIG;AAEH,6CAA2B;AAC3B,mDAAiC;AACjC,2CAAyB;AACzB,0CAAwB;AACxB,2CAAyB;AACzB,gDAA8B;AAC9B,iDAA+B;AAC/B,4CAA0B;AAC1B,kDAAgC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.\n *\n * @packageDocumentation\n */\n\nexport * from \"./audience\";\nexport * from \"./browserPackage\";\nexport * from \"./deltas\";\nexport * from \"./error\";\nexport * from \"./loader\";\nexport * from \"./fluidModule\";\nexport * from \"./fluidPackage\";\nexport * from \"./runtime\";\nexport * from \"./tokenProvider\";\n"]}
package/dist/loader.d.ts CHANGED
@@ -122,7 +122,7 @@ export declare namespace ConnectionState {
122
122
  */
123
123
  type CatchingUp = 1;
124
124
  /**
125
- * @see ConnectionState.CatchingUp, which is the new name for this state.
125
+ * See ConnectionState.CatchingUp, which is the new name for this state.
126
126
  * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.
127
127
  */
128
128
  type Connecting = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwXH;;GAEG;AACH,IAAY,YAsBX;AAtBD,WAAY,YAAY;IACpB;;OAEG;IACH,qCAAqB,CAAA;IAErB,sDAAsC,CAAA;IAEtC;;OAEG;IACH,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,wDAAwC,CAAA;IAExC;;;;;OAKG;IACH,mCAAmB,CAAA;AACvB,CAAC,EAtBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAsBvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n IFluidRouter,\n} from \"@fluidframework/core-interfaces\";\nimport {\n IClientDetails,\n IDocumentMessage,\n IQuorumClients,\n ISequencedDocumentMessage,\n ISequencedProposal,\n ISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\nimport { IEvent, IEventProvider } from \"@fluidframework/common-definitions\";\nimport { IAudience } from \"./audience\";\nimport { IDeltaManager, ReadOnlyInfo } from \"./deltas\";\nimport { ICriticalContainerError, ContainerWarning } from \"./error\";\nimport { IFluidModule } from \"./fluidModule\";\nimport { AttachState } from \"./runtime\";\nimport {\n IFluidCodeDetails,\n IFluidPackage,\n IProvideFluidCodeDetailsComparer,\n} from \"./fluidPackage\";\n\n/**\n * Code loading interface\n *\n * @deprecated in favor of {@link @fluidframework/container-loader#ICodeDetailsLoader}\n */\nexport interface ICodeLoader extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Loads the package specified by code details and returns a promise to its entry point exports.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModule>;\n}\n\n/**\n * Encapsulates a module entry point with corresponding code details.\n */\nexport interface IFluidModuleWithDetails {\n /** Fluid code module that implements the runtime factory needed to instantiate the container runtime. */\n module: IFluidModule;\n /**\n * Code details associated with the module. Represents a document schema this module supports.\n * If the code loader implements the {@link @fluidframework/core-interfaces#IFluidCodeDetailsComparer} interface,\n * it'll be called to determine whether the module code details satisfy the new code proposal in the quorum.\n */\n details: IFluidCodeDetails;\n}\n\n/**\n * Fluid code loader resolves a code module matching the document schema, i.e. code details, such as\n * a package name and package version range.\n */\nexport interface ICodeDetailsLoader\n extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Load the code module (package) that is capable to interact with the document.\n *\n * @param source - Code proposal that articulates the current schema the document is written in.\n * @returns - Code module entry point along with the code details associated with it.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;\n}\n\n/**\n* The interface returned from a IFluidCodeResolver which represents IFluidCodeDetails\n * that have been resolved and are ready to load\n */\nexport interface IResolvedFluidCodeDetails extends IFluidCodeDetails {\n /**\n * A resolved version of the Fluid package. All Fluid browser file entries should be absolute urls.\n */\n readonly resolvedPackage: Readonly<IFluidPackage>;\n /**\n * If not undefined, this id will be used to cache the entry point for the code package\n */\n readonly resolvedPackageCacheId: string | undefined;\n}\n\n/**\n * Fluid code resolvers take a Fluid code details, and resolve the\n * full Fluid package including absolute urls for the browser file entries.\n * The Fluid code resolver is coupled to a specific cdn and knows how to resolve\n * the code detail for loading from that cdn. This include resolving to the most recent\n * version of package that supports the provided code details.\n */\nexport interface IFluidCodeResolver {\n /**\n * Resolves a Fluid code details into a form that can be loaded\n * @param details - The Fluid code details to resolve\n * @returns - A IResolvedFluidCodeDetails where the\n * resolvedPackage's Fluid file entries are absolute urls, and\n * an optional resolvedPackageCacheId if the loaded package should be\n * cached.\n */\n resolveCodeDetails(details: IFluidCodeDetails): Promise<IResolvedFluidCodeDetails>;\n}\n\n/**\n * Code AllowListing Interface\n */\nexport interface ICodeAllowList {\n testSource(source: IResolvedFluidCodeDetails): Promise<boolean>;\n}\n\n/**\n * Events emitted by the Container \"upwards\" to the Loader and Host\n */\nexport interface IContainerEvents extends IEvent {\n (event: \"readonly\", listener: (readonly: boolean) => void): void;\n (event: \"connected\", listener: (clientId: string) => void);\n (event: \"codeDetailsProposed\", listener: (codeDetails: IFluidCodeDetails, proposal: ISequencedProposal) => void);\n (event: \"contextChanged\", listener: (codeDetails: IFluidCodeDetails) => void);\n (event: \"disconnected\" | \"attached\", listener: () => void);\n (event: \"closed\", listener: (error?: ICriticalContainerError) => void);\n (event: \"warning\", listener: (error: ContainerWarning) => void);\n (event: \"op\", listener: (message: ISequencedDocumentMessage) => void);\n (event: \"dirty\" | \"saved\", listener: (dirty: boolean) => void);\n}\n\n/**\n * Namespace for the different connection states a container can be in\n * PLEASE NOTE: The sequence of the numerical values does no correspond to the typical connection state progression\n */\nexport namespace ConnectionState {\n /**\n * The container is not connected to the delta server\n * Note - When in this state the container may be about to reconnect,\n * or may remain disconnected until explicitly told to connect.\n */\n export type Disconnected = 0;\n\n /**\n * The container is disconnected but actively trying to establish a new connection\n * PLEASE NOTE that this numerical value falls out of the order you may expect for this state\n */\n export type EstablishingConnection = 3;\n\n /**\n * The container has an inbound connection only, and is catching up to the latest known state from the service.\n */\n export type CatchingUp = 1;\n\n /**\n * @see ConnectionState.CatchingUp, which is the new name for this state.\n * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.\n */\n export type Connecting = 1;\n\n /**\n * The container is fully connected and syncing\n */\n export type Connected = 2;\n}\n\n/**\n * Type defining the different states of connectivity a container can be in\n */\nexport type ConnectionState =\n | ConnectionState.Disconnected\n | ConnectionState.EstablishingConnection\n | ConnectionState.CatchingUp\n | ConnectionState.Connecting\n | ConnectionState.Connected;\n\n/**\n * The Host's view of the Container and its connection to storage\n */\nexport interface IContainer extends IEventProvider<IContainerEvents>, IFluidRouter {\n\n /**\n * The Delta Manager supporting the op stream for this Container\n */\n deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\n /**\n * The collection of write clients which were connected as of the current sequence number.\n * Also contains a map of key-value pairs that must be agreed upon by all clients before being accepted.\n */\n getQuorum(): IQuorumClients;\n\n /**\n * Represents the resolved url to the Container\n * Will be undefined only when the container is in the {@link AttachState.Detached | detatched} state.\n */\n resolvedUrl: IResolvedUrl | undefined;\n\n /**\n * Indicates the attachment state of the container to a host service.\n */\n readonly attachState: AttachState;\n\n /**\n * Get the code details that are currently specified for the container.\n * @returns The current code details if any are specified, undefined if none are specified.\n */\n getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Get the code details that were used to load the container.\n * @returns The code details that were used to load the container if it is loaded, undefined if it is not yet\n * loaded.\n */\n getLoadedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Returns true if the container has been closed, otherwise false\n */\n readonly closed: boolean;\n\n /**\n * Returns true if the container is dirty, i.e. there are user changes that has not been saved\n * Closing container in this state results in data loss for user.\n * Container usually gets into this situation due to loss of connectivity.\n */\n readonly isDirty: boolean;\n\n /**\n * Closes the container\n */\n close(error?: ICriticalContainerError): void;\n\n /**\n * Closes the container and returns serialized local state intended to be\n * given to a newly loaded container\n */\n closeAndGetPendingLocalState(): string;\n\n /**\n * Propose new code details that define the code to be loaded\n * for this container's runtime. The returned promise will\n * be true when the proposal is accepted, and false if\n * the proposal is rejected.\n */\n proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;\n\n /**\n * Attaches the Container to the Container specified by the given Request.\n *\n * TODO - in the case of failure options should give a retry policy. Or some continuation function\n * that allows attachment to a secondary document.\n */\n attach(request: IRequest): Promise<void>;\n\n /**\n * Extract the snapshot from the detached container.\n */\n serialize(): string;\n\n /**\n * Get an absolute url for a provided container-relative request url.\n * If the container is not attached, this will return undefined.\n *\n * @param relativeUrl - A container-relative request URL\n */\n getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n /**\n * Issue a request against the container for a resource.\n * @param request - The request to be issued against the container\n */\n request(request: IRequest): Promise<IResponse>;\n\n /**\n * Provides the current state of the container's connection to the ordering service\n */\n readonly connectionState: ConnectionState;\n\n /**\n * Attempts to connect the container to the delta stream and process ops\n */\n connect(): void;\n\n /**\n * Disconnects the container from the delta stream and stops processing ops\n */\n disconnect(): void;\n\n /**\n * The audience information for all clients currently associated with the document in the current session\n */\n readonly audience: IAudience;\n\n /**\n * The server provided ID of the client.\n * Set once this.connectionState === ConnectionState.Connected is true, otherwise undefined\n * @alpha\n */\n readonly clientId?: string | undefined;\n\n /**\n * Tells if container is in read-only mode.\n * Data stores should listen for \"readonly\" notifications and disallow user making changes to data stores.\n * Readonly state can be because of no storage write permission,\n * or due to host forcing readonly mode for container.\n *\n * We do not differentiate here between no write access to storage vs. host disallowing changes to container -\n * in all cases container runtime and data stores should respect readonly state and not allow local changes.\n *\n * It is undefined if we have not yet established websocket connection\n * and do not know if user has write access to a file.\n */\n readonly readOnlyInfo: ReadOnlyInfo;\n\n /**\n * Allows the host to have the container force to be in read-only mode\n * @param readonly - Boolean that toggles if read-only policies will be enforced\n * @alpha\n */\n forceReadonly?(readonly: boolean);\n}\n\n/**\n * The Runtime's view of the Loader, used for loading Containers\n */\nexport interface ILoader extends IFluidRouter, Partial<IProvideLoader> {\n /**\n * Resolves the resource specified by the URL + headers contained in the request object\n * to the underlying container that will resolve the request.\n *\n * An analogy for this is resolve is a DNS resolve of a Fluid container. Request then executes\n * a request against the server found from the resolve step.\n */\n resolve(request: IRequest, pendingLocalState?: string): Promise<IContainer>;\n}\n\n/**\n * The Host's view of the Loader, used for loading Containers\n */\nexport interface IHostLoader extends ILoader {\n /**\n * Creates a new container using the specified chaincode but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n createDetachedContainer(codeDetails: IFluidCodeDetails): Promise<IContainer>;\n\n /**\n * Creates a new container using the specified snapshot but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n rehydrateDetachedContainerFromSnapshot(snapshot: string): Promise<IContainer>;\n}\n\nexport type ILoaderOptions = {\n [key in string | number]: any;\n} & {\n /**\n * Set caching behavior for the loader. If true, we will load a container from cache if one\n * with the same id/version exists or create a new container and cache it if it does not. If\n * false, always load a new container and don't cache it. If the container has already been\n * closed, it will not be cached. A cache option in the LoaderHeader for an individual\n * request will override the Loader's value.\n * Defaults to true.\n */\n cache?: boolean;\n\n /**\n * Provide the current Loader through the scope object when creating Containers. It is added\n * as the `ILoader` property, and will overwrite an existing property of the same name on the\n * scope. Useful for when the host wants to provide the current Loader's functionality to\n * individual Data Stores, which is typically expected when creating with a Loader.\n * Defaults to true.\n */\n provideScopeLoader?: boolean;\n\n /**\n * Max time(in ms) container will wait for a leave message of a disconnected client.\n */\n maxClientLeaveWaitTime?: number;\n};\n\n/**\n * Accepted header keys for requests coming to the Loader\n */\nexport enum LoaderHeader {\n /**\n * Override the Loader's default caching behavior for this container.\n */\n cache = \"fluid-cache\",\n\n clientDetails = \"fluid-client-details\",\n\n /**\n * Start the container in a paused, unconnected state. Defaults to false\n */\n loadMode = \"loadMode\",\n reconnect = \"fluid-reconnect\",\n sequenceNumber = \"fluid-sequence-number\",\n\n /**\n * One of the following:\n * null or \"null\": use ops, no snapshots\n * undefined: fetch latest snapshot\n * otherwise, version sha to load snapshot\n */\n version = \"version\",\n}\n\nexport interface IContainerLoadMode {\n opsBeforeReturn?:\n /*\n * No trailing ops are applied before container is returned.\n * Default value.\n */\n | undefined\n /*\n * Only cached trailing ops are applied before returning container.\n * Caching is optional and could be implemented by the driver.\n * If driver does not implement any kind of local caching strategy, this is same as above.\n * Driver may cache a lot of ops, so care needs to be exercised (see below).\n */\n | \"cached\"\n /*\n * All trailing ops in storage are fetched and applied before container is returned\n * This mode might have significant impact on boot speed (depends on storage perf characteristics)\n * Also there might be a lot of trailing ops and applying them might take time, so hosts are\n * recommended to have some progress UX / cancellation built into loading flow when using this option.\n */\n | \"all\";\n deltaConnection?:\n /*\n * Connection to delta stream is made only when Container.connect() call is made. Op processing\n * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.\n */\n | \"none\"\n /*\n * Connection to delta stream is made only when Container.connect() call is made.\n * Op fetching from storage is performed and ops are applied as they come in.\n * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it\n * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.\n */\n | \"delayed\"\n /*\n * Connection to delta stream is made right away.\n * Ops processing is enabled and ops are flowing through the system.\n * Default value.\n */\n | undefined;\n}\n\n/**\n * Set of Request Headers that the Loader understands and may inspect or modify\n */\nexport interface ILoaderHeader {\n [LoaderHeader.cache]: boolean;\n [LoaderHeader.clientDetails]: IClientDetails;\n [LoaderHeader.loadMode]: IContainerLoadMode;\n [LoaderHeader.sequenceNumber]: number;\n [LoaderHeader.reconnect]: boolean;\n [LoaderHeader.version]: string | undefined;\n}\n\nexport interface IProvideLoader {\n readonly ILoader: ILoader;\n}\n\n/**\n * @deprecated 0.48, This API will be removed in 0.50\n * No replacement since it is not expected anyone will depend on this outside container-loader\n * See https://github.com/microsoft/FluidFramework/issues/9711 for context\n */\nexport interface IPendingLocalState {\n url: string;\n pendingRuntimeState: unknown;\n}\n\n/**\n * This is used when we rehydrate a container from the snapshot. Here we put the blob contents\n * in separate property: blobContents. This is used as the ContainerContext's base snapshot\n * when attaching.\n */\nexport interface ISnapshotTreeWithBlobContents extends ISnapshotTree {\n blobsContents: { [path: string]: ArrayBufferLike; };\n trees: { [path: string]: ISnapshotTreeWithBlobContents; };\n}\n"]}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAwXH;;GAEG;AACH,IAAY,YAsBX;AAtBD,WAAY,YAAY;IACpB;;OAEG;IACH,qCAAqB,CAAA;IAErB,sDAAsC,CAAA;IAEtC;;OAEG;IACH,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,wDAAwC,CAAA;IAExC;;;;;OAKG;IACH,mCAAmB,CAAA;AACvB,CAAC,EAtBW,YAAY,GAAZ,oBAAY,KAAZ,oBAAY,QAsBvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n IFluidRouter,\n} from \"@fluidframework/core-interfaces\";\nimport {\n IClientDetails,\n IDocumentMessage,\n IQuorumClients,\n ISequencedDocumentMessage,\n ISequencedProposal,\n ISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\nimport { IEvent, IEventProvider } from \"@fluidframework/common-definitions\";\nimport { IAudience } from \"./audience\";\nimport { IDeltaManager, ReadOnlyInfo } from \"./deltas\";\nimport { ICriticalContainerError, ContainerWarning } from \"./error\";\nimport { IFluidModule } from \"./fluidModule\";\nimport { AttachState } from \"./runtime\";\nimport {\n IFluidCodeDetails,\n IFluidPackage,\n IProvideFluidCodeDetailsComparer,\n} from \"./fluidPackage\";\n\n/**\n * Code loading interface\n *\n * @deprecated in favor of {@link @fluidframework/container-loader#ICodeDetailsLoader}\n */\nexport interface ICodeLoader extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Loads the package specified by code details and returns a promise to its entry point exports.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModule>;\n}\n\n/**\n * Encapsulates a module entry point with corresponding code details.\n */\nexport interface IFluidModuleWithDetails {\n /** Fluid code module that implements the runtime factory needed to instantiate the container runtime. */\n module: IFluidModule;\n /**\n * Code details associated with the module. Represents a document schema this module supports.\n * If the code loader implements the {@link @fluidframework/core-interfaces#IFluidCodeDetailsComparer} interface,\n * it'll be called to determine whether the module code details satisfy the new code proposal in the quorum.\n */\n details: IFluidCodeDetails;\n}\n\n/**\n * Fluid code loader resolves a code module matching the document schema, i.e. code details, such as\n * a package name and package version range.\n */\nexport interface ICodeDetailsLoader\n extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Load the code module (package) that is capable to interact with the document.\n *\n * @param source - Code proposal that articulates the current schema the document is written in.\n * @returns - Code module entry point along with the code details associated with it.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;\n}\n\n/**\n* The interface returned from a IFluidCodeResolver which represents IFluidCodeDetails\n * that have been resolved and are ready to load\n */\nexport interface IResolvedFluidCodeDetails extends IFluidCodeDetails {\n /**\n * A resolved version of the Fluid package. All Fluid browser file entries should be absolute urls.\n */\n readonly resolvedPackage: Readonly<IFluidPackage>;\n /**\n * If not undefined, this id will be used to cache the entry point for the code package\n */\n readonly resolvedPackageCacheId: string | undefined;\n}\n\n/**\n * Fluid code resolvers take a Fluid code details, and resolve the\n * full Fluid package including absolute urls for the browser file entries.\n * The Fluid code resolver is coupled to a specific cdn and knows how to resolve\n * the code detail for loading from that cdn. This include resolving to the most recent\n * version of package that supports the provided code details.\n */\nexport interface IFluidCodeResolver {\n /**\n * Resolves a Fluid code details into a form that can be loaded\n * @param details - The Fluid code details to resolve\n * @returns - A IResolvedFluidCodeDetails where the\n * resolvedPackage's Fluid file entries are absolute urls, and\n * an optional resolvedPackageCacheId if the loaded package should be\n * cached.\n */\n resolveCodeDetails(details: IFluidCodeDetails): Promise<IResolvedFluidCodeDetails>;\n}\n\n/**\n * Code AllowListing Interface\n */\nexport interface ICodeAllowList {\n testSource(source: IResolvedFluidCodeDetails): Promise<boolean>;\n}\n\n/**\n * Events emitted by the Container \"upwards\" to the Loader and Host\n */\nexport interface IContainerEvents extends IEvent {\n (event: \"readonly\", listener: (readonly: boolean) => void): void;\n (event: \"connected\", listener: (clientId: string) => void);\n (event: \"codeDetailsProposed\", listener: (codeDetails: IFluidCodeDetails, proposal: ISequencedProposal) => void);\n (event: \"contextChanged\", listener: (codeDetails: IFluidCodeDetails) => void);\n (event: \"disconnected\" | \"attached\", listener: () => void);\n (event: \"closed\", listener: (error?: ICriticalContainerError) => void);\n (event: \"warning\", listener: (error: ContainerWarning) => void);\n (event: \"op\", listener: (message: ISequencedDocumentMessage) => void);\n (event: \"dirty\" | \"saved\", listener: (dirty: boolean) => void);\n}\n\n/**\n * Namespace for the different connection states a container can be in\n * PLEASE NOTE: The sequence of the numerical values does no correspond to the typical connection state progression\n */\nexport namespace ConnectionState {\n /**\n * The container is not connected to the delta server\n * Note - When in this state the container may be about to reconnect,\n * or may remain disconnected until explicitly told to connect.\n */\n export type Disconnected = 0;\n\n /**\n * The container is disconnected but actively trying to establish a new connection\n * PLEASE NOTE that this numerical value falls out of the order you may expect for this state\n */\n export type EstablishingConnection = 3;\n\n /**\n * The container has an inbound connection only, and is catching up to the latest known state from the service.\n */\n export type CatchingUp = 1;\n\n /**\n * See ConnectionState.CatchingUp, which is the new name for this state.\n * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.\n */\n export type Connecting = 1;\n\n /**\n * The container is fully connected and syncing\n */\n export type Connected = 2;\n}\n\n/**\n * Type defining the different states of connectivity a container can be in\n */\nexport type ConnectionState =\n | ConnectionState.Disconnected\n | ConnectionState.EstablishingConnection\n | ConnectionState.CatchingUp\n | ConnectionState.Connecting\n | ConnectionState.Connected;\n\n/**\n * The Host's view of the Container and its connection to storage\n */\nexport interface IContainer extends IEventProvider<IContainerEvents>, IFluidRouter {\n\n /**\n * The Delta Manager supporting the op stream for this Container\n */\n deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\n /**\n * The collection of write clients which were connected as of the current sequence number.\n * Also contains a map of key-value pairs that must be agreed upon by all clients before being accepted.\n */\n getQuorum(): IQuorumClients;\n\n /**\n * Represents the resolved url to the Container\n * Will be undefined only when the container is in the {@link AttachState.Detached | detatched} state.\n */\n resolvedUrl: IResolvedUrl | undefined;\n\n /**\n * Indicates the attachment state of the container to a host service.\n */\n readonly attachState: AttachState;\n\n /**\n * Get the code details that are currently specified for the container.\n * @returns The current code details if any are specified, undefined if none are specified.\n */\n getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Get the code details that were used to load the container.\n * @returns The code details that were used to load the container if it is loaded, undefined if it is not yet\n * loaded.\n */\n getLoadedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Returns true if the container has been closed, otherwise false\n */\n readonly closed: boolean;\n\n /**\n * Returns true if the container is dirty, i.e. there are user changes that has not been saved\n * Closing container in this state results in data loss for user.\n * Container usually gets into this situation due to loss of connectivity.\n */\n readonly isDirty: boolean;\n\n /**\n * Closes the container\n */\n close(error?: ICriticalContainerError): void;\n\n /**\n * Closes the container and returns serialized local state intended to be\n * given to a newly loaded container\n */\n closeAndGetPendingLocalState(): string;\n\n /**\n * Propose new code details that define the code to be loaded\n * for this container's runtime. The returned promise will\n * be true when the proposal is accepted, and false if\n * the proposal is rejected.\n */\n proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;\n\n /**\n * Attaches the Container to the Container specified by the given Request.\n *\n * TODO - in the case of failure options should give a retry policy. Or some continuation function\n * that allows attachment to a secondary document.\n */\n attach(request: IRequest): Promise<void>;\n\n /**\n * Extract the snapshot from the detached container.\n */\n serialize(): string;\n\n /**\n * Get an absolute url for a provided container-relative request url.\n * If the container is not attached, this will return undefined.\n *\n * @param relativeUrl - A container-relative request URL\n */\n getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n /**\n * Issue a request against the container for a resource.\n * @param request - The request to be issued against the container\n */\n request(request: IRequest): Promise<IResponse>;\n\n /**\n * Provides the current state of the container's connection to the ordering service\n */\n readonly connectionState: ConnectionState;\n\n /**\n * Attempts to connect the container to the delta stream and process ops\n */\n connect(): void;\n\n /**\n * Disconnects the container from the delta stream and stops processing ops\n */\n disconnect(): void;\n\n /**\n * The audience information for all clients currently associated with the document in the current session\n */\n readonly audience: IAudience;\n\n /**\n * The server provided ID of the client.\n * Set once this.connectionState === ConnectionState.Connected is true, otherwise undefined\n * @alpha\n */\n readonly clientId?: string | undefined;\n\n /**\n * Tells if container is in read-only mode.\n * Data stores should listen for \"readonly\" notifications and disallow user making changes to data stores.\n * Readonly state can be because of no storage write permission,\n * or due to host forcing readonly mode for container.\n *\n * We do not differentiate here between no write access to storage vs. host disallowing changes to container -\n * in all cases container runtime and data stores should respect readonly state and not allow local changes.\n *\n * It is undefined if we have not yet established websocket connection\n * and do not know if user has write access to a file.\n */\n readonly readOnlyInfo: ReadOnlyInfo;\n\n /**\n * Allows the host to have the container force to be in read-only mode\n * @param readonly - Boolean that toggles if read-only policies will be enforced\n * @alpha\n */\n forceReadonly?(readonly: boolean);\n}\n\n/**\n * The Runtime's view of the Loader, used for loading Containers\n */\nexport interface ILoader extends IFluidRouter, Partial<IProvideLoader> {\n /**\n * Resolves the resource specified by the URL + headers contained in the request object\n * to the underlying container that will resolve the request.\n *\n * An analogy for this is resolve is a DNS resolve of a Fluid container. Request then executes\n * a request against the server found from the resolve step.\n */\n resolve(request: IRequest, pendingLocalState?: string): Promise<IContainer>;\n}\n\n/**\n * The Host's view of the Loader, used for loading Containers\n */\nexport interface IHostLoader extends ILoader {\n /**\n * Creates a new container using the specified chaincode but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n createDetachedContainer(codeDetails: IFluidCodeDetails): Promise<IContainer>;\n\n /**\n * Creates a new container using the specified snapshot but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n rehydrateDetachedContainerFromSnapshot(snapshot: string): Promise<IContainer>;\n}\n\nexport type ILoaderOptions = {\n [key in string | number]: any;\n} & {\n /**\n * Set caching behavior for the loader. If true, we will load a container from cache if one\n * with the same id/version exists or create a new container and cache it if it does not. If\n * false, always load a new container and don't cache it. If the container has already been\n * closed, it will not be cached. A cache option in the LoaderHeader for an individual\n * request will override the Loader's value.\n * Defaults to true.\n */\n cache?: boolean;\n\n /**\n * Provide the current Loader through the scope object when creating Containers. It is added\n * as the `ILoader` property, and will overwrite an existing property of the same name on the\n * scope. Useful for when the host wants to provide the current Loader's functionality to\n * individual Data Stores, which is typically expected when creating with a Loader.\n * Defaults to true.\n */\n provideScopeLoader?: boolean;\n\n /**\n * Max time(in ms) container will wait for a leave message of a disconnected client.\n */\n maxClientLeaveWaitTime?: number;\n};\n\n/**\n * Accepted header keys for requests coming to the Loader\n */\nexport enum LoaderHeader {\n /**\n * Override the Loader's default caching behavior for this container.\n */\n cache = \"fluid-cache\",\n\n clientDetails = \"fluid-client-details\",\n\n /**\n * Start the container in a paused, unconnected state. Defaults to false\n */\n loadMode = \"loadMode\",\n reconnect = \"fluid-reconnect\",\n sequenceNumber = \"fluid-sequence-number\",\n\n /**\n * One of the following:\n * null or \"null\": use ops, no snapshots\n * undefined: fetch latest snapshot\n * otherwise, version sha to load snapshot\n */\n version = \"version\",\n}\n\nexport interface IContainerLoadMode {\n opsBeforeReturn?:\n /*\n * No trailing ops are applied before container is returned.\n * Default value.\n */\n | undefined\n /*\n * Only cached trailing ops are applied before returning container.\n * Caching is optional and could be implemented by the driver.\n * If driver does not implement any kind of local caching strategy, this is same as above.\n * Driver may cache a lot of ops, so care needs to be exercised (see below).\n */\n | \"cached\"\n /*\n * All trailing ops in storage are fetched and applied before container is returned\n * This mode might have significant impact on boot speed (depends on storage perf characteristics)\n * Also there might be a lot of trailing ops and applying them might take time, so hosts are\n * recommended to have some progress UX / cancellation built into loading flow when using this option.\n */\n | \"all\";\n deltaConnection?:\n /*\n * Connection to delta stream is made only when Container.connect() call is made. Op processing\n * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.\n */\n | \"none\"\n /*\n * Connection to delta stream is made only when Container.connect() call is made.\n * Op fetching from storage is performed and ops are applied as they come in.\n * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it\n * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.\n */\n | \"delayed\"\n /*\n * Connection to delta stream is made right away.\n * Ops processing is enabled and ops are flowing through the system.\n * Default value.\n */\n | undefined;\n}\n\n/**\n * Set of Request Headers that the Loader understands and may inspect or modify\n */\nexport interface ILoaderHeader {\n [LoaderHeader.cache]: boolean;\n [LoaderHeader.clientDetails]: IClientDetails;\n [LoaderHeader.loadMode]: IContainerLoadMode;\n [LoaderHeader.sequenceNumber]: number;\n [LoaderHeader.reconnect]: boolean;\n [LoaderHeader.version]: string | undefined;\n}\n\nexport interface IProvideLoader {\n readonly ILoader: ILoader;\n}\n\n/**\n * @deprecated 0.48, This API will be removed in 0.50\n * No replacement since it is not expected anyone will depend on this outside container-loader\n * See https://github.com/microsoft/FluidFramework/issues/9711 for context\n */\nexport interface IPendingLocalState {\n url: string;\n pendingRuntimeState: unknown;\n}\n\n/**\n * This is used when we rehydrate a container from the snapshot. Here we put the blob contents\n * in separate property: blobContents. This is used as the ContainerContext's base snapshot\n * when attaching.\n */\nexport interface ISnapshotTreeWithBlobContents extends ISnapshotTree {\n blobsContents: { [path: string]: ArrayBufferLike; };\n trees: { [path: string]: ISnapshotTreeWithBlobContents; };\n}\n"]}
package/lib/audience.d.ts CHANGED
@@ -7,10 +7,18 @@ import { EventEmitter } from "events";
7
7
  import { IClient } from "@fluidframework/protocol-definitions";
8
8
  /**
9
9
  * Audience represents all clients connected to the op stream, both read-only and read/write.
10
+ *
11
+ * See {@link https://nodejs.org/api/events.html#class-eventemitter | here} for an overview of the `EventEmitter`
12
+ * class.
10
13
  */
11
14
  export interface IAudience extends EventEmitter {
15
+ /**
16
+ * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.
17
+ */
12
18
  on(event: "addMember" | "removeMember", listener: (clientId: string, client: IClient) => void): this;
13
- /** List all clients connected to the op stream, keyed off their clientId */
19
+ /**
20
+ * List all clients connected to the op stream, keyed off their clientId
21
+ */
14
22
  getMembers(): Map<string, IClient>;
15
23
  /**
16
24
  * Get details about the connected client with the specified clientId,
@@ -1 +1 @@
1
- {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE/D;;GAEG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAE3C,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAErG,4EAA4E;IAC5E,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpD"}
1
+ {"version":3,"file":"audience.d.ts","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG;;AAEH,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,OAAO,EAAE,MAAM,sCAAsC,CAAC;AAE/D;;;;;GAKG;AACH,MAAM,WAAW,SAAU,SAAQ,YAAY;IAC3C;;OAEG;IACH,EAAE,CAAC,KAAK,EAAE,WAAW,GAAG,cAAc,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,KAAK,IAAI,GAAG,IAAI,CAAC;IAErG;;OAEG;IACH,UAAU,IAAI,GAAG,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAEnC;;;OAGG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,CAAC;CACpD"}
@@ -1 +1 @@
1
- {"version":3,"file":"audience.js","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { EventEmitter } from \"events\";\nimport { IClient } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Audience represents all clients connected to the op stream, both read-only and read/write.\n */\nexport interface IAudience extends EventEmitter {\n\n on(event: \"addMember\" | \"removeMember\", listener: (clientId: string, client: IClient) => void): this;\n\n /** List all clients connected to the op stream, keyed off their clientId */\n getMembers(): Map<string, IClient>;\n\n /**\n * Get details about the connected client with the specified clientId,\n * or undefined if the specified client isn't connected\n */\n getMember(clientId: string): IClient | undefined;\n}\n"]}
1
+ {"version":3,"file":"audience.js","sourceRoot":"","sources":["../src/audience.ts"],"names":[],"mappings":"AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { EventEmitter } from \"events\";\nimport { IClient } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Audience represents all clients connected to the op stream, both read-only and read/write.\n *\n * See {@link https://nodejs.org/api/events.html#class-eventemitter | here} for an overview of the `EventEmitter`\n * class.\n */\nexport interface IAudience extends EventEmitter {\n /**\n * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.\n */\n on(event: \"addMember\" | \"removeMember\", listener: (clientId: string, client: IClient) => void): this;\n\n /**\n * List all clients connected to the op stream, keyed off their clientId\n */\n getMembers(): Map<string, IClient>;\n\n /**\n * Get details about the connected client with the specified clientId,\n * or undefined if the specified client isn't connected\n */\n getMember(clientId: string): IClient | undefined;\n}\n"]}
package/lib/index.d.ts CHANGED
@@ -2,6 +2,11 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ /**
6
+ * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.
7
+ *
8
+ * @packageDocumentation
9
+ */
5
10
  export * from "./audience";
6
11
  export * from "./browserPackage";
7
12
  export * from "./deltas";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC"}
package/lib/index.js CHANGED
@@ -2,6 +2,11 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+ /**
6
+ * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.
7
+ *
8
+ * @packageDocumentation
9
+ */
5
10
  export * from "./audience";
6
11
  export * from "./browserPackage";
7
12
  export * from "./deltas";
package/lib/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\nexport * from \"./audience\";\nexport * from \"./browserPackage\";\nexport * from \"./deltas\";\nexport * from \"./error\";\nexport * from \"./loader\";\nexport * from \"./fluidModule\";\nexport * from \"./fluidPackage\";\nexport * from \"./runtime\";\nexport * from \"./tokenProvider\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,cAAc,YAAY,CAAC;AAC3B,cAAc,kBAAkB,CAAC;AACjC,cAAc,UAAU,CAAC;AACzB,cAAc,SAAS,CAAC;AACxB,cAAc,UAAU,CAAC;AACzB,cAAc,eAAe,CAAC;AAC9B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,WAAW,CAAC;AAC1B,cAAc,iBAAiB,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.\n *\n * @packageDocumentation\n */\n\nexport * from \"./audience\";\nexport * from \"./browserPackage\";\nexport * from \"./deltas\";\nexport * from \"./error\";\nexport * from \"./loader\";\nexport * from \"./fluidModule\";\nexport * from \"./fluidPackage\";\nexport * from \"./runtime\";\nexport * from \"./tokenProvider\";\n"]}
package/lib/loader.d.ts CHANGED
@@ -122,7 +122,7 @@ export declare namespace ConnectionState {
122
122
  */
123
123
  type CatchingUp = 1;
124
124
  /**
125
- * @see ConnectionState.CatchingUp, which is the new name for this state.
125
+ * See ConnectionState.CatchingUp, which is the new name for this state.
126
126
  * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.
127
127
  */
128
128
  type Connecting = 1;
@@ -1 +1 @@
1
- {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"loader.d.ts","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"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"}
package/lib/loader.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwXH;;GAEG;AACH,MAAM,CAAN,IAAY,YAsBX;AAtBD,WAAY,YAAY;IACpB;;OAEG;IACH,qCAAqB,CAAA;IAErB,sDAAsC,CAAA;IAEtC;;OAEG;IACH,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,wDAAwC,CAAA;IAExC;;;;;OAKG;IACH,mCAAmB,CAAA;AACvB,CAAC,EAtBW,YAAY,KAAZ,YAAY,QAsBvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n IFluidRouter,\n} from \"@fluidframework/core-interfaces\";\nimport {\n IClientDetails,\n IDocumentMessage,\n IQuorumClients,\n ISequencedDocumentMessage,\n ISequencedProposal,\n ISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\nimport { IEvent, IEventProvider } from \"@fluidframework/common-definitions\";\nimport { IAudience } from \"./audience\";\nimport { IDeltaManager, ReadOnlyInfo } from \"./deltas\";\nimport { ICriticalContainerError, ContainerWarning } from \"./error\";\nimport { IFluidModule } from \"./fluidModule\";\nimport { AttachState } from \"./runtime\";\nimport {\n IFluidCodeDetails,\n IFluidPackage,\n IProvideFluidCodeDetailsComparer,\n} from \"./fluidPackage\";\n\n/**\n * Code loading interface\n *\n * @deprecated in favor of {@link @fluidframework/container-loader#ICodeDetailsLoader}\n */\nexport interface ICodeLoader extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Loads the package specified by code details and returns a promise to its entry point exports.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModule>;\n}\n\n/**\n * Encapsulates a module entry point with corresponding code details.\n */\nexport interface IFluidModuleWithDetails {\n /** Fluid code module that implements the runtime factory needed to instantiate the container runtime. */\n module: IFluidModule;\n /**\n * Code details associated with the module. Represents a document schema this module supports.\n * If the code loader implements the {@link @fluidframework/core-interfaces#IFluidCodeDetailsComparer} interface,\n * it'll be called to determine whether the module code details satisfy the new code proposal in the quorum.\n */\n details: IFluidCodeDetails;\n}\n\n/**\n * Fluid code loader resolves a code module matching the document schema, i.e. code details, such as\n * a package name and package version range.\n */\nexport interface ICodeDetailsLoader\n extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Load the code module (package) that is capable to interact with the document.\n *\n * @param source - Code proposal that articulates the current schema the document is written in.\n * @returns - Code module entry point along with the code details associated with it.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;\n}\n\n/**\n* The interface returned from a IFluidCodeResolver which represents IFluidCodeDetails\n * that have been resolved and are ready to load\n */\nexport interface IResolvedFluidCodeDetails extends IFluidCodeDetails {\n /**\n * A resolved version of the Fluid package. All Fluid browser file entries should be absolute urls.\n */\n readonly resolvedPackage: Readonly<IFluidPackage>;\n /**\n * If not undefined, this id will be used to cache the entry point for the code package\n */\n readonly resolvedPackageCacheId: string | undefined;\n}\n\n/**\n * Fluid code resolvers take a Fluid code details, and resolve the\n * full Fluid package including absolute urls for the browser file entries.\n * The Fluid code resolver is coupled to a specific cdn and knows how to resolve\n * the code detail for loading from that cdn. This include resolving to the most recent\n * version of package that supports the provided code details.\n */\nexport interface IFluidCodeResolver {\n /**\n * Resolves a Fluid code details into a form that can be loaded\n * @param details - The Fluid code details to resolve\n * @returns - A IResolvedFluidCodeDetails where the\n * resolvedPackage's Fluid file entries are absolute urls, and\n * an optional resolvedPackageCacheId if the loaded package should be\n * cached.\n */\n resolveCodeDetails(details: IFluidCodeDetails): Promise<IResolvedFluidCodeDetails>;\n}\n\n/**\n * Code AllowListing Interface\n */\nexport interface ICodeAllowList {\n testSource(source: IResolvedFluidCodeDetails): Promise<boolean>;\n}\n\n/**\n * Events emitted by the Container \"upwards\" to the Loader and Host\n */\nexport interface IContainerEvents extends IEvent {\n (event: \"readonly\", listener: (readonly: boolean) => void): void;\n (event: \"connected\", listener: (clientId: string) => void);\n (event: \"codeDetailsProposed\", listener: (codeDetails: IFluidCodeDetails, proposal: ISequencedProposal) => void);\n (event: \"contextChanged\", listener: (codeDetails: IFluidCodeDetails) => void);\n (event: \"disconnected\" | \"attached\", listener: () => void);\n (event: \"closed\", listener: (error?: ICriticalContainerError) => void);\n (event: \"warning\", listener: (error: ContainerWarning) => void);\n (event: \"op\", listener: (message: ISequencedDocumentMessage) => void);\n (event: \"dirty\" | \"saved\", listener: (dirty: boolean) => void);\n}\n\n/**\n * Namespace for the different connection states a container can be in\n * PLEASE NOTE: The sequence of the numerical values does no correspond to the typical connection state progression\n */\nexport namespace ConnectionState {\n /**\n * The container is not connected to the delta server\n * Note - When in this state the container may be about to reconnect,\n * or may remain disconnected until explicitly told to connect.\n */\n export type Disconnected = 0;\n\n /**\n * The container is disconnected but actively trying to establish a new connection\n * PLEASE NOTE that this numerical value falls out of the order you may expect for this state\n */\n export type EstablishingConnection = 3;\n\n /**\n * The container has an inbound connection only, and is catching up to the latest known state from the service.\n */\n export type CatchingUp = 1;\n\n /**\n * @see ConnectionState.CatchingUp, which is the new name for this state.\n * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.\n */\n export type Connecting = 1;\n\n /**\n * The container is fully connected and syncing\n */\n export type Connected = 2;\n}\n\n/**\n * Type defining the different states of connectivity a container can be in\n */\nexport type ConnectionState =\n | ConnectionState.Disconnected\n | ConnectionState.EstablishingConnection\n | ConnectionState.CatchingUp\n | ConnectionState.Connecting\n | ConnectionState.Connected;\n\n/**\n * The Host's view of the Container and its connection to storage\n */\nexport interface IContainer extends IEventProvider<IContainerEvents>, IFluidRouter {\n\n /**\n * The Delta Manager supporting the op stream for this Container\n */\n deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\n /**\n * The collection of write clients which were connected as of the current sequence number.\n * Also contains a map of key-value pairs that must be agreed upon by all clients before being accepted.\n */\n getQuorum(): IQuorumClients;\n\n /**\n * Represents the resolved url to the Container\n * Will be undefined only when the container is in the {@link AttachState.Detached | detatched} state.\n */\n resolvedUrl: IResolvedUrl | undefined;\n\n /**\n * Indicates the attachment state of the container to a host service.\n */\n readonly attachState: AttachState;\n\n /**\n * Get the code details that are currently specified for the container.\n * @returns The current code details if any are specified, undefined if none are specified.\n */\n getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Get the code details that were used to load the container.\n * @returns The code details that were used to load the container if it is loaded, undefined if it is not yet\n * loaded.\n */\n getLoadedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Returns true if the container has been closed, otherwise false\n */\n readonly closed: boolean;\n\n /**\n * Returns true if the container is dirty, i.e. there are user changes that has not been saved\n * Closing container in this state results in data loss for user.\n * Container usually gets into this situation due to loss of connectivity.\n */\n readonly isDirty: boolean;\n\n /**\n * Closes the container\n */\n close(error?: ICriticalContainerError): void;\n\n /**\n * Closes the container and returns serialized local state intended to be\n * given to a newly loaded container\n */\n closeAndGetPendingLocalState(): string;\n\n /**\n * Propose new code details that define the code to be loaded\n * for this container's runtime. The returned promise will\n * be true when the proposal is accepted, and false if\n * the proposal is rejected.\n */\n proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;\n\n /**\n * Attaches the Container to the Container specified by the given Request.\n *\n * TODO - in the case of failure options should give a retry policy. Or some continuation function\n * that allows attachment to a secondary document.\n */\n attach(request: IRequest): Promise<void>;\n\n /**\n * Extract the snapshot from the detached container.\n */\n serialize(): string;\n\n /**\n * Get an absolute url for a provided container-relative request url.\n * If the container is not attached, this will return undefined.\n *\n * @param relativeUrl - A container-relative request URL\n */\n getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n /**\n * Issue a request against the container for a resource.\n * @param request - The request to be issued against the container\n */\n request(request: IRequest): Promise<IResponse>;\n\n /**\n * Provides the current state of the container's connection to the ordering service\n */\n readonly connectionState: ConnectionState;\n\n /**\n * Attempts to connect the container to the delta stream and process ops\n */\n connect(): void;\n\n /**\n * Disconnects the container from the delta stream and stops processing ops\n */\n disconnect(): void;\n\n /**\n * The audience information for all clients currently associated with the document in the current session\n */\n readonly audience: IAudience;\n\n /**\n * The server provided ID of the client.\n * Set once this.connectionState === ConnectionState.Connected is true, otherwise undefined\n * @alpha\n */\n readonly clientId?: string | undefined;\n\n /**\n * Tells if container is in read-only mode.\n * Data stores should listen for \"readonly\" notifications and disallow user making changes to data stores.\n * Readonly state can be because of no storage write permission,\n * or due to host forcing readonly mode for container.\n *\n * We do not differentiate here between no write access to storage vs. host disallowing changes to container -\n * in all cases container runtime and data stores should respect readonly state and not allow local changes.\n *\n * It is undefined if we have not yet established websocket connection\n * and do not know if user has write access to a file.\n */\n readonly readOnlyInfo: ReadOnlyInfo;\n\n /**\n * Allows the host to have the container force to be in read-only mode\n * @param readonly - Boolean that toggles if read-only policies will be enforced\n * @alpha\n */\n forceReadonly?(readonly: boolean);\n}\n\n/**\n * The Runtime's view of the Loader, used for loading Containers\n */\nexport interface ILoader extends IFluidRouter, Partial<IProvideLoader> {\n /**\n * Resolves the resource specified by the URL + headers contained in the request object\n * to the underlying container that will resolve the request.\n *\n * An analogy for this is resolve is a DNS resolve of a Fluid container. Request then executes\n * a request against the server found from the resolve step.\n */\n resolve(request: IRequest, pendingLocalState?: string): Promise<IContainer>;\n}\n\n/**\n * The Host's view of the Loader, used for loading Containers\n */\nexport interface IHostLoader extends ILoader {\n /**\n * Creates a new container using the specified chaincode but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n createDetachedContainer(codeDetails: IFluidCodeDetails): Promise<IContainer>;\n\n /**\n * Creates a new container using the specified snapshot but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n rehydrateDetachedContainerFromSnapshot(snapshot: string): Promise<IContainer>;\n}\n\nexport type ILoaderOptions = {\n [key in string | number]: any;\n} & {\n /**\n * Set caching behavior for the loader. If true, we will load a container from cache if one\n * with the same id/version exists or create a new container and cache it if it does not. If\n * false, always load a new container and don't cache it. If the container has already been\n * closed, it will not be cached. A cache option in the LoaderHeader for an individual\n * request will override the Loader's value.\n * Defaults to true.\n */\n cache?: boolean;\n\n /**\n * Provide the current Loader through the scope object when creating Containers. It is added\n * as the `ILoader` property, and will overwrite an existing property of the same name on the\n * scope. Useful for when the host wants to provide the current Loader's functionality to\n * individual Data Stores, which is typically expected when creating with a Loader.\n * Defaults to true.\n */\n provideScopeLoader?: boolean;\n\n /**\n * Max time(in ms) container will wait for a leave message of a disconnected client.\n */\n maxClientLeaveWaitTime?: number;\n};\n\n/**\n * Accepted header keys for requests coming to the Loader\n */\nexport enum LoaderHeader {\n /**\n * Override the Loader's default caching behavior for this container.\n */\n cache = \"fluid-cache\",\n\n clientDetails = \"fluid-client-details\",\n\n /**\n * Start the container in a paused, unconnected state. Defaults to false\n */\n loadMode = \"loadMode\",\n reconnect = \"fluid-reconnect\",\n sequenceNumber = \"fluid-sequence-number\",\n\n /**\n * One of the following:\n * null or \"null\": use ops, no snapshots\n * undefined: fetch latest snapshot\n * otherwise, version sha to load snapshot\n */\n version = \"version\",\n}\n\nexport interface IContainerLoadMode {\n opsBeforeReturn?:\n /*\n * No trailing ops are applied before container is returned.\n * Default value.\n */\n | undefined\n /*\n * Only cached trailing ops are applied before returning container.\n * Caching is optional and could be implemented by the driver.\n * If driver does not implement any kind of local caching strategy, this is same as above.\n * Driver may cache a lot of ops, so care needs to be exercised (see below).\n */\n | \"cached\"\n /*\n * All trailing ops in storage are fetched and applied before container is returned\n * This mode might have significant impact on boot speed (depends on storage perf characteristics)\n * Also there might be a lot of trailing ops and applying them might take time, so hosts are\n * recommended to have some progress UX / cancellation built into loading flow when using this option.\n */\n | \"all\";\n deltaConnection?:\n /*\n * Connection to delta stream is made only when Container.connect() call is made. Op processing\n * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.\n */\n | \"none\"\n /*\n * Connection to delta stream is made only when Container.connect() call is made.\n * Op fetching from storage is performed and ops are applied as they come in.\n * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it\n * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.\n */\n | \"delayed\"\n /*\n * Connection to delta stream is made right away.\n * Ops processing is enabled and ops are flowing through the system.\n * Default value.\n */\n | undefined;\n}\n\n/**\n * Set of Request Headers that the Loader understands and may inspect or modify\n */\nexport interface ILoaderHeader {\n [LoaderHeader.cache]: boolean;\n [LoaderHeader.clientDetails]: IClientDetails;\n [LoaderHeader.loadMode]: IContainerLoadMode;\n [LoaderHeader.sequenceNumber]: number;\n [LoaderHeader.reconnect]: boolean;\n [LoaderHeader.version]: string | undefined;\n}\n\nexport interface IProvideLoader {\n readonly ILoader: ILoader;\n}\n\n/**\n * @deprecated 0.48, This API will be removed in 0.50\n * No replacement since it is not expected anyone will depend on this outside container-loader\n * See https://github.com/microsoft/FluidFramework/issues/9711 for context\n */\nexport interface IPendingLocalState {\n url: string;\n pendingRuntimeState: unknown;\n}\n\n/**\n * This is used when we rehydrate a container from the snapshot. Here we put the blob contents\n * in separate property: blobContents. This is used as the ContainerContext's base snapshot\n * when attaching.\n */\nexport interface ISnapshotTreeWithBlobContents extends ISnapshotTree {\n blobsContents: { [path: string]: ArrayBufferLike; };\n trees: { [path: string]: ISnapshotTreeWithBlobContents; };\n}\n"]}
1
+ {"version":3,"file":"loader.js","sourceRoot":"","sources":["../src/loader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAwXH;;GAEG;AACH,MAAM,CAAN,IAAY,YAsBX;AAtBD,WAAY,YAAY;IACpB;;OAEG;IACH,qCAAqB,CAAA;IAErB,sDAAsC,CAAA;IAEtC;;OAEG;IACH,qCAAqB,CAAA;IACrB,6CAA6B,CAAA;IAC7B,wDAAwC,CAAA;IAExC;;;;;OAKG;IACH,mCAAmB,CAAA;AACvB,CAAC,EAtBW,YAAY,KAAZ,YAAY,QAsBvB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n IRequest,\n IResponse,\n IFluidRouter,\n} from \"@fluidframework/core-interfaces\";\nimport {\n IClientDetails,\n IDocumentMessage,\n IQuorumClients,\n ISequencedDocumentMessage,\n ISequencedProposal,\n ISnapshotTree,\n} from \"@fluidframework/protocol-definitions\";\nimport { IResolvedUrl } from \"@fluidframework/driver-definitions\";\nimport { IEvent, IEventProvider } from \"@fluidframework/common-definitions\";\nimport { IAudience } from \"./audience\";\nimport { IDeltaManager, ReadOnlyInfo } from \"./deltas\";\nimport { ICriticalContainerError, ContainerWarning } from \"./error\";\nimport { IFluidModule } from \"./fluidModule\";\nimport { AttachState } from \"./runtime\";\nimport {\n IFluidCodeDetails,\n IFluidPackage,\n IProvideFluidCodeDetailsComparer,\n} from \"./fluidPackage\";\n\n/**\n * Code loading interface\n *\n * @deprecated in favor of {@link @fluidframework/container-loader#ICodeDetailsLoader}\n */\nexport interface ICodeLoader extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Loads the package specified by code details and returns a promise to its entry point exports.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModule>;\n}\n\n/**\n * Encapsulates a module entry point with corresponding code details.\n */\nexport interface IFluidModuleWithDetails {\n /** Fluid code module that implements the runtime factory needed to instantiate the container runtime. */\n module: IFluidModule;\n /**\n * Code details associated with the module. Represents a document schema this module supports.\n * If the code loader implements the {@link @fluidframework/core-interfaces#IFluidCodeDetailsComparer} interface,\n * it'll be called to determine whether the module code details satisfy the new code proposal in the quorum.\n */\n details: IFluidCodeDetails;\n}\n\n/**\n * Fluid code loader resolves a code module matching the document schema, i.e. code details, such as\n * a package name and package version range.\n */\nexport interface ICodeDetailsLoader\n extends Partial<IProvideFluidCodeDetailsComparer> {\n /**\n * Load the code module (package) that is capable to interact with the document.\n *\n * @param source - Code proposal that articulates the current schema the document is written in.\n * @returns - Code module entry point along with the code details associated with it.\n */\n load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;\n}\n\n/**\n* The interface returned from a IFluidCodeResolver which represents IFluidCodeDetails\n * that have been resolved and are ready to load\n */\nexport interface IResolvedFluidCodeDetails extends IFluidCodeDetails {\n /**\n * A resolved version of the Fluid package. All Fluid browser file entries should be absolute urls.\n */\n readonly resolvedPackage: Readonly<IFluidPackage>;\n /**\n * If not undefined, this id will be used to cache the entry point for the code package\n */\n readonly resolvedPackageCacheId: string | undefined;\n}\n\n/**\n * Fluid code resolvers take a Fluid code details, and resolve the\n * full Fluid package including absolute urls for the browser file entries.\n * The Fluid code resolver is coupled to a specific cdn and knows how to resolve\n * the code detail for loading from that cdn. This include resolving to the most recent\n * version of package that supports the provided code details.\n */\nexport interface IFluidCodeResolver {\n /**\n * Resolves a Fluid code details into a form that can be loaded\n * @param details - The Fluid code details to resolve\n * @returns - A IResolvedFluidCodeDetails where the\n * resolvedPackage's Fluid file entries are absolute urls, and\n * an optional resolvedPackageCacheId if the loaded package should be\n * cached.\n */\n resolveCodeDetails(details: IFluidCodeDetails): Promise<IResolvedFluidCodeDetails>;\n}\n\n/**\n * Code AllowListing Interface\n */\nexport interface ICodeAllowList {\n testSource(source: IResolvedFluidCodeDetails): Promise<boolean>;\n}\n\n/**\n * Events emitted by the Container \"upwards\" to the Loader and Host\n */\nexport interface IContainerEvents extends IEvent {\n (event: \"readonly\", listener: (readonly: boolean) => void): void;\n (event: \"connected\", listener: (clientId: string) => void);\n (event: \"codeDetailsProposed\", listener: (codeDetails: IFluidCodeDetails, proposal: ISequencedProposal) => void);\n (event: \"contextChanged\", listener: (codeDetails: IFluidCodeDetails) => void);\n (event: \"disconnected\" | \"attached\", listener: () => void);\n (event: \"closed\", listener: (error?: ICriticalContainerError) => void);\n (event: \"warning\", listener: (error: ContainerWarning) => void);\n (event: \"op\", listener: (message: ISequencedDocumentMessage) => void);\n (event: \"dirty\" | \"saved\", listener: (dirty: boolean) => void);\n}\n\n/**\n * Namespace for the different connection states a container can be in\n * PLEASE NOTE: The sequence of the numerical values does no correspond to the typical connection state progression\n */\nexport namespace ConnectionState {\n /**\n * The container is not connected to the delta server\n * Note - When in this state the container may be about to reconnect,\n * or may remain disconnected until explicitly told to connect.\n */\n export type Disconnected = 0;\n\n /**\n * The container is disconnected but actively trying to establish a new connection\n * PLEASE NOTE that this numerical value falls out of the order you may expect for this state\n */\n export type EstablishingConnection = 3;\n\n /**\n * The container has an inbound connection only, and is catching up to the latest known state from the service.\n */\n export type CatchingUp = 1;\n\n /**\n * See ConnectionState.CatchingUp, which is the new name for this state.\n * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.\n */\n export type Connecting = 1;\n\n /**\n * The container is fully connected and syncing\n */\n export type Connected = 2;\n}\n\n/**\n * Type defining the different states of connectivity a container can be in\n */\nexport type ConnectionState =\n | ConnectionState.Disconnected\n | ConnectionState.EstablishingConnection\n | ConnectionState.CatchingUp\n | ConnectionState.Connecting\n | ConnectionState.Connected;\n\n/**\n * The Host's view of the Container and its connection to storage\n */\nexport interface IContainer extends IEventProvider<IContainerEvents>, IFluidRouter {\n\n /**\n * The Delta Manager supporting the op stream for this Container\n */\n deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;\n\n /**\n * The collection of write clients which were connected as of the current sequence number.\n * Also contains a map of key-value pairs that must be agreed upon by all clients before being accepted.\n */\n getQuorum(): IQuorumClients;\n\n /**\n * Represents the resolved url to the Container\n * Will be undefined only when the container is in the {@link AttachState.Detached | detatched} state.\n */\n resolvedUrl: IResolvedUrl | undefined;\n\n /**\n * Indicates the attachment state of the container to a host service.\n */\n readonly attachState: AttachState;\n\n /**\n * Get the code details that are currently specified for the container.\n * @returns The current code details if any are specified, undefined if none are specified.\n */\n getSpecifiedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Get the code details that were used to load the container.\n * @returns The code details that were used to load the container if it is loaded, undefined if it is not yet\n * loaded.\n */\n getLoadedCodeDetails(): IFluidCodeDetails | undefined;\n\n /**\n * Returns true if the container has been closed, otherwise false\n */\n readonly closed: boolean;\n\n /**\n * Returns true if the container is dirty, i.e. there are user changes that has not been saved\n * Closing container in this state results in data loss for user.\n * Container usually gets into this situation due to loss of connectivity.\n */\n readonly isDirty: boolean;\n\n /**\n * Closes the container\n */\n close(error?: ICriticalContainerError): void;\n\n /**\n * Closes the container and returns serialized local state intended to be\n * given to a newly loaded container\n */\n closeAndGetPendingLocalState(): string;\n\n /**\n * Propose new code details that define the code to be loaded\n * for this container's runtime. The returned promise will\n * be true when the proposal is accepted, and false if\n * the proposal is rejected.\n */\n proposeCodeDetails(codeDetails: IFluidCodeDetails): Promise<boolean>;\n\n /**\n * Attaches the Container to the Container specified by the given Request.\n *\n * TODO - in the case of failure options should give a retry policy. Or some continuation function\n * that allows attachment to a secondary document.\n */\n attach(request: IRequest): Promise<void>;\n\n /**\n * Extract the snapshot from the detached container.\n */\n serialize(): string;\n\n /**\n * Get an absolute url for a provided container-relative request url.\n * If the container is not attached, this will return undefined.\n *\n * @param relativeUrl - A container-relative request URL\n */\n getAbsoluteUrl(relativeUrl: string): Promise<string | undefined>;\n\n /**\n * Issue a request against the container for a resource.\n * @param request - The request to be issued against the container\n */\n request(request: IRequest): Promise<IResponse>;\n\n /**\n * Provides the current state of the container's connection to the ordering service\n */\n readonly connectionState: ConnectionState;\n\n /**\n * Attempts to connect the container to the delta stream and process ops\n */\n connect(): void;\n\n /**\n * Disconnects the container from the delta stream and stops processing ops\n */\n disconnect(): void;\n\n /**\n * The audience information for all clients currently associated with the document in the current session\n */\n readonly audience: IAudience;\n\n /**\n * The server provided ID of the client.\n * Set once this.connectionState === ConnectionState.Connected is true, otherwise undefined\n * @alpha\n */\n readonly clientId?: string | undefined;\n\n /**\n * Tells if container is in read-only mode.\n * Data stores should listen for \"readonly\" notifications and disallow user making changes to data stores.\n * Readonly state can be because of no storage write permission,\n * or due to host forcing readonly mode for container.\n *\n * We do not differentiate here between no write access to storage vs. host disallowing changes to container -\n * in all cases container runtime and data stores should respect readonly state and not allow local changes.\n *\n * It is undefined if we have not yet established websocket connection\n * and do not know if user has write access to a file.\n */\n readonly readOnlyInfo: ReadOnlyInfo;\n\n /**\n * Allows the host to have the container force to be in read-only mode\n * @param readonly - Boolean that toggles if read-only policies will be enforced\n * @alpha\n */\n forceReadonly?(readonly: boolean);\n}\n\n/**\n * The Runtime's view of the Loader, used for loading Containers\n */\nexport interface ILoader extends IFluidRouter, Partial<IProvideLoader> {\n /**\n * Resolves the resource specified by the URL + headers contained in the request object\n * to the underlying container that will resolve the request.\n *\n * An analogy for this is resolve is a DNS resolve of a Fluid container. Request then executes\n * a request against the server found from the resolve step.\n */\n resolve(request: IRequest, pendingLocalState?: string): Promise<IContainer>;\n}\n\n/**\n * The Host's view of the Loader, used for loading Containers\n */\nexport interface IHostLoader extends ILoader {\n /**\n * Creates a new container using the specified chaincode but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n createDetachedContainer(codeDetails: IFluidCodeDetails): Promise<IContainer>;\n\n /**\n * Creates a new container using the specified snapshot but in an unattached state. While unattached all\n * updates will only be local until the user explicitly attaches the container to a service provider.\n */\n rehydrateDetachedContainerFromSnapshot(snapshot: string): Promise<IContainer>;\n}\n\nexport type ILoaderOptions = {\n [key in string | number]: any;\n} & {\n /**\n * Set caching behavior for the loader. If true, we will load a container from cache if one\n * with the same id/version exists or create a new container and cache it if it does not. If\n * false, always load a new container and don't cache it. If the container has already been\n * closed, it will not be cached. A cache option in the LoaderHeader for an individual\n * request will override the Loader's value.\n * Defaults to true.\n */\n cache?: boolean;\n\n /**\n * Provide the current Loader through the scope object when creating Containers. It is added\n * as the `ILoader` property, and will overwrite an existing property of the same name on the\n * scope. Useful for when the host wants to provide the current Loader's functionality to\n * individual Data Stores, which is typically expected when creating with a Loader.\n * Defaults to true.\n */\n provideScopeLoader?: boolean;\n\n /**\n * Max time(in ms) container will wait for a leave message of a disconnected client.\n */\n maxClientLeaveWaitTime?: number;\n};\n\n/**\n * Accepted header keys for requests coming to the Loader\n */\nexport enum LoaderHeader {\n /**\n * Override the Loader's default caching behavior for this container.\n */\n cache = \"fluid-cache\",\n\n clientDetails = \"fluid-client-details\",\n\n /**\n * Start the container in a paused, unconnected state. Defaults to false\n */\n loadMode = \"loadMode\",\n reconnect = \"fluid-reconnect\",\n sequenceNumber = \"fluid-sequence-number\",\n\n /**\n * One of the following:\n * null or \"null\": use ops, no snapshots\n * undefined: fetch latest snapshot\n * otherwise, version sha to load snapshot\n */\n version = \"version\",\n}\n\nexport interface IContainerLoadMode {\n opsBeforeReturn?:\n /*\n * No trailing ops are applied before container is returned.\n * Default value.\n */\n | undefined\n /*\n * Only cached trailing ops are applied before returning container.\n * Caching is optional and could be implemented by the driver.\n * If driver does not implement any kind of local caching strategy, this is same as above.\n * Driver may cache a lot of ops, so care needs to be exercised (see below).\n */\n | \"cached\"\n /*\n * All trailing ops in storage are fetched and applied before container is returned\n * This mode might have significant impact on boot speed (depends on storage perf characteristics)\n * Also there might be a lot of trailing ops and applying them might take time, so hosts are\n * recommended to have some progress UX / cancellation built into loading flow when using this option.\n */\n | \"all\";\n deltaConnection?:\n /*\n * Connection to delta stream is made only when Container.connect() call is made. Op processing\n * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.\n */\n | \"none\"\n /*\n * Connection to delta stream is made only when Container.connect() call is made.\n * Op fetching from storage is performed and ops are applied as they come in.\n * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it\n * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.\n */\n | \"delayed\"\n /*\n * Connection to delta stream is made right away.\n * Ops processing is enabled and ops are flowing through the system.\n * Default value.\n */\n | undefined;\n}\n\n/**\n * Set of Request Headers that the Loader understands and may inspect or modify\n */\nexport interface ILoaderHeader {\n [LoaderHeader.cache]: boolean;\n [LoaderHeader.clientDetails]: IClientDetails;\n [LoaderHeader.loadMode]: IContainerLoadMode;\n [LoaderHeader.sequenceNumber]: number;\n [LoaderHeader.reconnect]: boolean;\n [LoaderHeader.version]: string | undefined;\n}\n\nexport interface IProvideLoader {\n readonly ILoader: ILoader;\n}\n\n/**\n * @deprecated 0.48, This API will be removed in 0.50\n * No replacement since it is not expected anyone will depend on this outside container-loader\n * See https://github.com/microsoft/FluidFramework/issues/9711 for context\n */\nexport interface IPendingLocalState {\n url: string;\n pendingRuntimeState: unknown;\n}\n\n/**\n * This is used when we rehydrate a container from the snapshot. Here we put the blob contents\n * in separate property: blobContents. This is used as the ContainerContext's base snapshot\n * when attaching.\n */\nexport interface ISnapshotTreeWithBlobContents extends ISnapshotTree {\n blobsContents: { [path: string]: ArrayBufferLike; };\n trees: { [path: string]: ISnapshotTreeWithBlobContents; };\n}\n"]}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/container-definitions",
3
- "version": "1.1.0",
3
+ "version": "1.2.0",
4
4
  "description": "Fluid container definitions",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -40,14 +40,14 @@
40
40
  },
41
41
  "dependencies": {
42
42
  "@fluidframework/common-definitions": "^0.20.1",
43
- "@fluidframework/core-interfaces": "^1.1.0",
44
- "@fluidframework/driver-definitions": "^1.1.0",
43
+ "@fluidframework/core-interfaces": "^1.2.0",
44
+ "@fluidframework/driver-definitions": "^1.2.0",
45
45
  "@fluidframework/protocol-definitions": "^0.1028.2000"
46
46
  },
47
47
  "devDependencies": {
48
48
  "@fluidframework/build-common": "^0.24.0",
49
49
  "@fluidframework/build-tools": "^0.2.74327",
50
- "@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@^1.0.0",
50
+ "@fluidframework/container-definitions-previous": "npm:@fluidframework/container-definitions@1.1.0",
51
51
  "@fluidframework/eslint-config-fluid": "^0.28.2000",
52
52
  "@microsoft/api-extractor": "^7.22.2",
53
53
  "@rushstack/eslint-config": "^2.5.1",
@@ -60,7 +60,7 @@
60
60
  "typescript-formatter": "7.1.0"
61
61
  },
62
62
  "typeValidation": {
63
- "version": "1.1.0",
63
+ "version": "1.2.0",
64
64
  "broken": {}
65
65
  }
66
66
  }
package/src/audience.ts CHANGED
@@ -8,12 +8,19 @@ import { IClient } from "@fluidframework/protocol-definitions";
8
8
 
9
9
  /**
10
10
  * Audience represents all clients connected to the op stream, both read-only and read/write.
11
+ *
12
+ * See {@link https://nodejs.org/api/events.html#class-eventemitter | here} for an overview of the `EventEmitter`
13
+ * class.
11
14
  */
12
15
  export interface IAudience extends EventEmitter {
13
-
16
+ /**
17
+ * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.
18
+ */
14
19
  on(event: "addMember" | "removeMember", listener: (clientId: string, client: IClient) => void): this;
15
20
 
16
- /** List all clients connected to the op stream, keyed off their clientId */
21
+ /**
22
+ * List all clients connected to the op stream, keyed off their clientId
23
+ */
17
24
  getMembers(): Map<string, IClient>;
18
25
 
19
26
  /**
package/src/index.ts CHANGED
@@ -2,6 +2,13 @@
2
2
  * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
3
  * Licensed under the MIT License.
4
4
  */
5
+
6
+ /**
7
+ * This package contains the interfaces and types concerning the `Loader` and loading the `Container`.
8
+ *
9
+ * @packageDocumentation
10
+ */
11
+
5
12
  export * from "./audience";
6
13
  export * from "./browserPackage";
7
14
  export * from "./deltas";
package/src/loader.ts CHANGED
@@ -60,14 +60,14 @@ export interface IFluidModuleWithDetails {
60
60
  * a package name and package version range.
61
61
  */
62
62
  export interface ICodeDetailsLoader
63
- extends Partial<IProvideFluidCodeDetailsComparer> {
64
- /**
65
- * Load the code module (package) that is capable to interact with the document.
66
- *
67
- * @param source - Code proposal that articulates the current schema the document is written in.
68
- * @returns - Code module entry point along with the code details associated with it.
69
- */
70
- load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;
63
+ extends Partial<IProvideFluidCodeDetailsComparer> {
64
+ /**
65
+ * Load the code module (package) that is capable to interact with the document.
66
+ *
67
+ * @param source - Code proposal that articulates the current schema the document is written in.
68
+ * @returns - Code module entry point along with the code details associated with it.
69
+ */
70
+ load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;
71
71
  }
72
72
 
73
73
  /**
@@ -142,15 +142,15 @@ export namespace ConnectionState {
142
142
  * The container is disconnected but actively trying to establish a new connection
143
143
  * PLEASE NOTE that this numerical value falls out of the order you may expect for this state
144
144
  */
145
- export type EstablishingConnection = 3;
145
+ export type EstablishingConnection = 3;
146
146
 
147
- /**
148
- * The container has an inbound connection only, and is catching up to the latest known state from the service.
149
- */
147
+ /**
148
+ * The container has an inbound connection only, and is catching up to the latest known state from the service.
149
+ */
150
150
  export type CatchingUp = 1;
151
151
 
152
152
  /**
153
- * @see ConnectionState.CatchingUp, which is the new name for this state.
153
+ * See ConnectionState.CatchingUp, which is the new name for this state.
154
154
  * @deprecated - This state itself is not gone, just being renamed. Please use ConnectionState.CatchingUp.
155
155
  */
156
156
  export type Connecting = 1;
@@ -158,7 +158,7 @@ export namespace ConnectionState {
158
158
  /**
159
159
  * The container is fully connected and syncing
160
160
  */
161
- export type Connected = 2;
161
+ export type Connected = 2;
162
162
  }
163
163
 
164
164
  /**
@@ -406,44 +406,44 @@ export enum LoaderHeader {
406
406
 
407
407
  export interface IContainerLoadMode {
408
408
  opsBeforeReturn?:
409
- /*
410
- * No trailing ops are applied before container is returned.
411
- * Default value.
412
- */
413
- | undefined
414
- /*
415
- * Only cached trailing ops are applied before returning container.
416
- * Caching is optional and could be implemented by the driver.
417
- * If driver does not implement any kind of local caching strategy, this is same as above.
418
- * Driver may cache a lot of ops, so care needs to be exercised (see below).
419
- */
420
- | "cached"
421
- /*
422
- * All trailing ops in storage are fetched and applied before container is returned
423
- * This mode might have significant impact on boot speed (depends on storage perf characteristics)
424
- * Also there might be a lot of trailing ops and applying them might take time, so hosts are
425
- * recommended to have some progress UX / cancellation built into loading flow when using this option.
426
- */
427
- | "all";
409
+ /*
410
+ * No trailing ops are applied before container is returned.
411
+ * Default value.
412
+ */
413
+ | undefined
414
+ /*
415
+ * Only cached trailing ops are applied before returning container.
416
+ * Caching is optional and could be implemented by the driver.
417
+ * If driver does not implement any kind of local caching strategy, this is same as above.
418
+ * Driver may cache a lot of ops, so care needs to be exercised (see below).
419
+ */
420
+ | "cached"
421
+ /*
422
+ * All trailing ops in storage are fetched and applied before container is returned
423
+ * This mode might have significant impact on boot speed (depends on storage perf characteristics)
424
+ * Also there might be a lot of trailing ops and applying them might take time, so hosts are
425
+ * recommended to have some progress UX / cancellation built into loading flow when using this option.
426
+ */
427
+ | "all";
428
428
  deltaConnection?:
429
- /*
430
- * Connection to delta stream is made only when Container.connect() call is made. Op processing
431
- * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.
432
- */
433
- | "none"
434
- /*
435
- * Connection to delta stream is made only when Container.connect() call is made.
436
- * Op fetching from storage is performed and ops are applied as they come in.
437
- * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it
438
- * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.
439
- */
440
- | "delayed"
441
- /*
442
- * Connection to delta stream is made right away.
443
- * Ops processing is enabled and ops are flowing through the system.
444
- * Default value.
445
- */
446
- | undefined;
429
+ /*
430
+ * Connection to delta stream is made only when Container.connect() call is made. Op processing
431
+ * is paused (when container is returned from Loader.resolve()) until Container.connect() call is made.
432
+ */
433
+ | "none"
434
+ /*
435
+ * Connection to delta stream is made only when Container.connect() call is made.
436
+ * Op fetching from storage is performed and ops are applied as they come in.
437
+ * This is useful option if connection to delta stream is expensive and thus it's beneficial to move it
438
+ * out from critical boot sequence, but it's beneficial to allow catch up to happen as fast as possible.
439
+ */
440
+ | "delayed"
441
+ /*
442
+ * Connection to delta stream is made right away.
443
+ * Ops processing is enabled and ops are flowing through the system.
444
+ * Default value.
445
+ */
446
+ | undefined;
447
447
  }
448
448
 
449
449
  /**