@fluidframework/container-definitions 2.0.0-dev-rc.1.0.0.225277 → 2.0.0-dev-rc.1.0.0.232845

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.
Files changed (65) hide show
  1. package/CHANGELOG.md +34 -0
  2. package/README.md +0 -6
  3. package/api-report/container-definitions.api.md +4 -10
  4. package/dist/{audience.cjs → audience.js} +1 -1
  5. package/dist/audience.js.map +1 -0
  6. package/dist/{browserPackage.cjs → browserPackage.js} +2 -2
  7. package/dist/browserPackage.js.map +1 -0
  8. package/dist/container-definitions-alpha.d.ts +20 -5
  9. package/dist/container-definitions-beta.d.ts +6 -5
  10. package/dist/container-definitions-public.d.ts +6 -5
  11. package/dist/container-definitions-untrimmed.d.ts +20 -37
  12. package/dist/{deltas.cjs → deltas.js} +1 -1
  13. package/dist/deltas.js.map +1 -0
  14. package/dist/error.d.ts +3 -3
  15. package/dist/{error.cjs → error.js} +1 -1
  16. package/dist/error.js.map +1 -0
  17. package/dist/{fluidModule.cjs → fluidModule.js} +1 -1
  18. package/dist/fluidModule.js.map +1 -0
  19. package/dist/{fluidPackage.cjs → fluidPackage.js} +1 -1
  20. package/dist/fluidPackage.js.map +1 -0
  21. package/dist/index.d.ts +1 -1
  22. package/dist/index.d.ts.map +1 -1
  23. package/dist/{index.cjs → index.js} +7 -8
  24. package/dist/index.js.map +1 -0
  25. package/dist/loader.d.ts +12 -0
  26. package/dist/loader.d.ts.map +1 -1
  27. package/dist/{loader.cjs → loader.js} +1 -1
  28. package/dist/loader.js.map +1 -0
  29. package/dist/runtime.d.ts +5 -1
  30. package/dist/runtime.d.ts.map +1 -1
  31. package/dist/{runtime.cjs → runtime.js} +1 -1
  32. package/dist/runtime.js.map +1 -0
  33. package/dist/tsdoc-metadata.json +1 -1
  34. package/lib/container-definitions-alpha.d.mts +20 -5
  35. package/lib/container-definitions-beta.d.mts +6 -5
  36. package/lib/container-definitions-public.d.mts +6 -5
  37. package/lib/container-definitions-untrimmed.d.mts +20 -37
  38. package/lib/error.d.mts +3 -3
  39. package/lib/error.mjs.map +1 -1
  40. package/lib/index.d.mts +1 -1
  41. package/lib/index.d.mts.map +1 -1
  42. package/lib/index.mjs +1 -1
  43. package/lib/index.mjs.map +1 -1
  44. package/lib/loader.d.mts +12 -0
  45. package/lib/loader.d.mts.map +1 -1
  46. package/lib/loader.mjs.map +1 -1
  47. package/lib/runtime.d.mts +5 -1
  48. package/lib/runtime.d.mts.map +1 -1
  49. package/lib/runtime.mjs.map +1 -1
  50. package/package.json +25 -13
  51. package/src/error.ts +3 -3
  52. package/src/index.ts +1 -6
  53. package/src/loader.ts +14 -0
  54. package/src/runtime.ts +6 -1
  55. package/dist/audience.cjs.map +0 -1
  56. package/dist/browserPackage.cjs.map +0 -1
  57. package/dist/deltas.cjs.map +0 -1
  58. package/dist/error.cjs.map +0 -1
  59. package/dist/fluidModule.cjs.map +0 -1
  60. package/dist/fluidPackage.cjs.map +0 -1
  61. package/dist/index.cjs.map +0 -1
  62. package/dist/loader.cjs.map +0 -1
  63. package/dist/runtime.cjs.map +0 -1
  64. package/tsc-multi.test.json +0 -4
  65. /package/{.eslintrc.js → .eslintrc.cjs} +0 -0
package/CHANGELOG.md CHANGED
@@ -1,5 +1,39 @@
1
1
  # @fluidframework/container-definitions
2
2
 
3
+ ## 2.0.0-rc.1.0.0
4
+
5
+ ### Minor Changes
6
+
7
+ - Updated server dependencies ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
8
+
9
+ The following Fluid server dependencies have been updated to the latest version, 3.0.0. [See the full changelog.](https://github.com/microsoft/FluidFramework/releases/tag/server_v3.0.0)
10
+
11
+ - @fluidframework/gitresources
12
+ - @fluidframework/server-kafka-orderer
13
+ - @fluidframework/server-lambdas
14
+ - @fluidframework/server-lambdas-driver
15
+ - @fluidframework/server-local-server
16
+ - @fluidframework/server-memory-orderer
17
+ - @fluidframework/protocol-base
18
+ - @fluidframework/server-routerlicious
19
+ - @fluidframework/server-routerlicious-base
20
+ - @fluidframework/server-services
21
+ - @fluidframework/server-services-client
22
+ - @fluidframework/server-services-core
23
+ - @fluidframework/server-services-ordering-kafkanode
24
+ - @fluidframework/server-services-ordering-rdkafka
25
+ - @fluidframework/server-services-ordering-zookeeper
26
+ - @fluidframework/server-services-shared
27
+ - @fluidframework/server-services-telemetry
28
+ - @fluidframework/server-services-utils
29
+ - @fluidframework/server-test-utils
30
+ - tinylicious
31
+
32
+ - Updated @fluidframework/protocol-definitions ([#19122](https://github.com/microsoft/FluidFramework/issues/19122)) [25366b4229](https://github.com/microsoft/FluidFramework/commits/25366b422918cb43685c5f328b50450749592902)
33
+
34
+ The @fluidframework/protocol-definitions dependency has been upgraded to v3.1.0. [See the full
35
+ changelog.](https://github.com/microsoft/FluidFramework/blob/main/common/lib/protocol-definitions/CHANGELOG.md#310)
36
+
3
37
  ## 2.0.0-internal.8.0.0
4
38
 
5
39
  ### Major Changes
package/README.md CHANGED
@@ -21,12 +21,6 @@ When taking a dependency on a Fluid Framework library, we recommend using a `^`
21
21
  While Fluid Framework libraries may use different ranges with interdependencies between other Fluid Framework libraries,
22
22
  library consumers should always prefer `^`.
23
23
 
24
- Note that when depending on a library version of the form `2.0.0-internal.x.y.z`, called the Fluid internal version scheme,
25
- you must use a `>= <` dependency range (such as `>=2.0.0-internal.x.y.z <2.0.0-internal.w.0.0` where `w` is `x+1`).
26
- Standard `^` and `~` ranges will not work as expected.
27
- See the [@fluid-tools/version-tools](https://github.com/microsoft/FluidFramework/blob/main/build-tools/packages/version-tools/README.md)
28
- package for more information including tools to convert between version schemes.
29
-
30
24
  <!-- prettier-ignore-end -->
31
25
 
32
26
  <!-- AUTO-GENERATED-CONTENT:END -->
@@ -24,6 +24,7 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
24
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
25
  import { ISequencedProposal } from '@fluidframework/protocol-definitions';
26
26
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
27
+ import { ISnapshot } from '@fluidframework/driver-definitions';
27
28
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
28
29
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
29
30
  import { ISummaryTree } from '@fluidframework/protocol-definitions';
@@ -52,16 +53,6 @@ export namespace ConnectionState {
52
53
  // @public
53
54
  export type ConnectionState = ConnectionState.Disconnected | ConnectionState.EstablishingConnection | ConnectionState.CatchingUp | ConnectionState.Connected;
54
55
 
55
- // @internal @deprecated
56
- export enum ContainerErrorType {
57
- clientSessionExpiredError = "clientSessionExpiredError",
58
- dataCorruptionError = "dataCorruptionError",
59
- dataProcessingError = "dataProcessingError",
60
- genericError = "genericError",
61
- throttlingError = "throttlingError",
62
- usageError = "usageError"
63
- }
64
-
65
56
  // @alpha
66
57
  export const ContainerErrorTypes: {
67
58
  readonly clientSessionExpiredError: "clientSessionExpiredError";
@@ -133,6 +124,7 @@ export interface IContainer extends IEventProvider<IContainerEvents> {
133
124
  readonly closed: boolean;
134
125
  connect(): void;
135
126
  readonly connectionState: ConnectionState;
127
+ containerMetadata: Record<string, string>;
136
128
  deltaManager: IDeltaManager<ISequencedDocumentMessage, IDocumentMessage>;
137
129
  disconnect(): void;
138
130
  dispose(error?: ICriticalContainerError): void;
@@ -185,6 +177,7 @@ export interface IContainerContext {
185
177
  // (undocumented)
186
178
  readonly quorum: IQuorumClients;
187
179
  readonly scope: FluidObject;
180
+ readonly snapshotWithContents?: ISnapshot;
188
181
  // (undocumented)
189
182
  readonly storage: IDocumentStorageService;
190
183
  // (undocumented)
@@ -217,6 +210,7 @@ export interface IContainerEvents extends IEvent {
217
210
  (event: "op", listener: (message: ISequencedDocumentMessage) => void): any;
218
211
  (event: "dirty", listener: (dirty: boolean) => void): any;
219
212
  (event: "saved", listener: (dirty: boolean) => void): any;
213
+ (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
220
214
  }
221
215
 
222
216
  // @internal (undocumented)
@@ -4,4 +4,4 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=audience.cjs.map
7
+ //# sourceMappingURL=audience.js.map
@@ -0,0 +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\n// False positive: this is an import from the `events` package, not from Node.\n// eslint-disable-next-line unicorn/prefer-node-protocol\nimport { EventEmitter } from \"events\";\nimport { IClient } from \"@fluidframework/protocol-definitions\";\n\n/**\n * Manages the state and the members for {@link IAudience}\n * @alpha\n */\nexport interface IAudienceOwner extends IAudience {\n\t/**\n\t * Adds a new client to the audience\n\t */\n\taddMember(clientId: string, details: IClient): void;\n\n\t/**\n\t * Removes a client from the audience. Only emits an event if a client is actually removed\n\t * @returns if a client was removed from the audience\n\t */\n\tremoveMember(clientId: string): boolean;\n}\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 * @public\n */\nexport interface IAudience extends EventEmitter {\n\t/**\n\t * See {@link https://nodejs.dev/learn/the-nodejs-event-emitter | here} for an overview of `EventEmitter.on`.\n\t */\n\ton(\n\t\tevent: \"addMember\" | \"removeMember\",\n\t\tlistener: (clientId: string, client: IClient) => void,\n\t): this;\n\n\t/**\n\t * List all clients connected to the op stream, keyed off their clientId\n\t */\n\tgetMembers(): Map<string, IClient>;\n\n\t/**\n\t * Get details about the connected client with the specified clientId,\n\t * or undefined if the specified client isn't connected\n\t */\n\tgetMember(clientId: string): IClient | undefined;\n}\n"]}
@@ -5,7 +5,7 @@
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.isFluidBrowserPackage = void 0;
8
- const fluidPackage_1 = require("./fluidPackage.cjs");
8
+ const fluidPackage_1 = require("./fluidPackage");
9
9
  /**
10
10
  * Determines if any object is an IFluidBrowserPackage
11
11
  * @param maybePkg - The object to check for compatibility with IFluidBrowserPackage
@@ -15,4 +15,4 @@ const isFluidBrowserPackage = (maybePkg) => (0, fluidPackage_1.isFluidPackage)(m
15
15
  typeof maybePkg?.fluid?.browser?.umd?.library === "string" &&
16
16
  Array.isArray(maybePkg?.fluid?.browser?.umd?.files);
17
17
  exports.isFluidBrowserPackage = isFluidBrowserPackage;
18
- //# sourceMappingURL=browserPackage.cjs.map
18
+ //# sourceMappingURL=browserPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browserPackage.js","sourceRoot":"","sources":["../src/browserPackage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,iDAAyF;AA8CzF;;;;GAIG;AACI,MAAM,qBAAqB,GAAG,CACpC,QAAiB,EAC4B,EAAE,CAC/C,IAAA,6BAAc,EAAC,QAAQ,CAAC;IACxB,OAAO,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,OAAO,KAAK,QAAQ;IAC1D,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;AALxC,QAAA,qBAAqB,yBAKmB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { IFluidPackage, isFluidPackage, IFluidPackageEnvironment } from \"./fluidPackage\";\n\n/**\n * A specific Fluid package environment for browsers\n * @alpha\n */\nexport interface IFluidBrowserPackageEnvironment extends IFluidPackageEnvironment {\n\t/**\n\t * The Universal Module Definition (umd) target specifics the scripts necessary for\n\t * loading a packages in a browser environment and finding its entry point.\n\t */\n\tumd: {\n\t\t/**\n\t\t * The bundled js files for loading this package.\n\t\t * These files will be loaded and executed in order.\n\t\t */\n\t\tfiles: string[];\n\n\t\t/**\n\t\t * The global name that the script entry points will be exposed.\n\t\t * This entry point should be an {@link @fluidframework/container-definitions#IFluidModule}.\n\t\t */\n\t\tlibrary: string;\n\t};\n}\n\n/**\n * A Fluid package for specification for browser environments\n * @alpha\n */\nexport interface IFluidBrowserPackage extends IFluidPackage {\n\t/**\n\t * {@inheritDoc @fluidframework/core-interfaces#IFluidPackage.fluid}\n\t */\n\tfluid: {\n\t\t/**\n\t\t * The browser specific package information for this package\n\t\t */\n\t\tbrowser: IFluidBrowserPackageEnvironment;\n\t\t/**\n\t\t * {@inheritDoc @fluidframework/core-interfaces#IFluidPackage.fluid.environment}\n\t\t */\n\t\t[environment: string]: IFluidPackageEnvironment;\n\t};\n}\n\n/**\n * Determines if any object is an IFluidBrowserPackage\n * @param maybePkg - The object to check for compatibility with IFluidBrowserPackage\n * @alpha\n */\nexport const isFluidBrowserPackage = (\n\tmaybePkg: unknown,\n): maybePkg is Readonly<IFluidBrowserPackage> =>\n\tisFluidPackage(maybePkg) &&\n\ttypeof maybePkg?.fluid?.browser?.umd?.library === \"string\" &&\n\tArray.isArray(maybePkg?.fluid?.browser?.umd?.files);\n"]}
@@ -24,6 +24,7 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
24
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
25
  import { ISequencedProposal } from '@fluidframework/protocol-definitions';
26
26
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
27
+ import { ISnapshot } from '@fluidframework/driver-definitions';
27
28
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
28
29
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
29
30
  import { ISummaryTree } from '@fluidframework/protocol-definitions';
@@ -93,8 +94,6 @@ export declare namespace ConnectionState {
93
94
  */
94
95
  export declare type ConnectionState = ConnectionState.Disconnected | ConnectionState.EstablishingConnection | ConnectionState.CatchingUp | ConnectionState.Connected;
95
96
 
96
- /* Excluded from this release type: ContainerErrorType */
97
-
98
97
  /**
99
98
  * Different error types the ClientSession may report out to the Host.
100
99
  * @alpha
@@ -367,6 +366,12 @@ export declare interface IContainer extends IEventProvider<IContainerEvents> {
367
366
  * Use this as the primary way of getting access to the user-defined logic within the container.
368
367
  */
369
368
  getEntryPoint(): Promise<FluidObject>;
369
+ /**
370
+ * Exposes any metadata/props related to the container. This is full set of metadata props which the container wants to
371
+ * expose. Whenever container receives updates from `IContainerEvents.metadataUpdate` event, we overwrite only those
372
+ * updated props in the update and rest remains the same.
373
+ */
374
+ containerMetadata: Record<string, string>;
370
375
  }
371
376
 
372
377
  /**
@@ -437,6 +442,10 @@ export declare interface IContainerContext {
437
442
  * @privateremarks Tracking in AB#5714
438
443
  */
439
444
  readonly id: string;
445
+ /**
446
+ * This contains all parts of a snapshot like blobContents, ops etc.
447
+ */
448
+ readonly snapshotWithContents?: ISnapshot;
440
449
  }
441
450
 
442
451
  /**
@@ -582,6 +591,12 @@ export declare interface IContainerEvents extends IEvent {
582
591
  * @see {@link IContainer.isDirty}
583
592
  */
584
593
  (event: "saved", listener: (dirty: boolean) => void): any;
594
+ /**
595
+ * Emitted when the some of the properties related to the container are initialized or updated.
596
+ * This emitted metadata will the props which are updated. If consumer wants to read full set of
597
+ * metadata then they can read it off the container from {@link IContainer.containerMetadata} prop.
598
+ */
599
+ (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
585
600
  }
586
601
 
587
602
  /* Excluded from this release type: IContainerLoadMode */
@@ -593,11 +608,11 @@ export declare interface IContainerEvents extends IEvent {
593
608
  *
594
609
  * The following are commonly thrown error types, but `errorType` could be any string.
595
610
  *
596
- * - {@link @fluidframework/core-interfaces#ContainerErrorType}
611
+ * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}
597
612
  *
598
- * - {@link @fluidframework/driver-definitions#DriverErrorType}
613
+ * - {@link @fluidframework/driver-definitions#DriverErrorTypes}
599
614
  *
600
- * - {@link @fluidframework/odsp-driver-definitions#OdspErrorType}
615
+ * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}
601
616
  *
602
617
  * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}
603
618
  * @public
@@ -24,6 +24,7 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
24
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
25
  import { ISequencedProposal } from '@fluidframework/protocol-definitions';
26
26
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
27
+ import { ISnapshot } from '@fluidframework/driver-definitions';
27
28
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
28
29
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
29
30
  import { ISummaryTree } from '@fluidframework/protocol-definitions';
@@ -93,8 +94,6 @@ export declare namespace ConnectionState {
93
94
  */
94
95
  export declare type ConnectionState = ConnectionState.Disconnected | ConnectionState.EstablishingConnection | ConnectionState.CatchingUp | ConnectionState.Connected;
95
96
 
96
- /* Excluded from this release type: ContainerErrorType */
97
-
98
97
  /* Excluded from this release type: ContainerErrorTypes */
99
98
 
100
99
  /* Excluded from this release type: ContainerWarning */
@@ -164,11 +163,11 @@ export declare interface IConnectionDetails {
164
163
  *
165
164
  * The following are commonly thrown error types, but `errorType` could be any string.
166
165
  *
167
- * - {@link @fluidframework/core-interfaces#ContainerErrorType}
166
+ * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}
168
167
  *
169
- * - {@link @fluidframework/driver-definitions#DriverErrorType}
168
+ * - {@link @fluidframework/driver-definitions#DriverErrorTypes}
170
169
  *
171
- * - {@link @fluidframework/odsp-driver-definitions#OdspErrorType}
170
+ * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}
172
171
  *
173
172
  * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}
174
173
  * @public
@@ -500,6 +499,8 @@ export declare type ILoaderOptions = {
500
499
 
501
500
  /* Excluded from this release type: isFluidPackage */
502
501
 
502
+ /* Excluded from this release type: ISnapshot */
503
+
503
504
  /* Excluded from this release type: ISnapshotTreeWithBlobContents */
504
505
 
505
506
  /* Excluded from this release type: IThrottlingWarning */
@@ -24,6 +24,7 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
24
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
25
  import { ISequencedProposal } from '@fluidframework/protocol-definitions';
26
26
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
27
+ import { ISnapshot } from '@fluidframework/driver-definitions';
27
28
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
28
29
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
29
30
  import { ISummaryTree } from '@fluidframework/protocol-definitions';
@@ -93,8 +94,6 @@ export declare namespace ConnectionState {
93
94
  */
94
95
  export declare type ConnectionState = ConnectionState.Disconnected | ConnectionState.EstablishingConnection | ConnectionState.CatchingUp | ConnectionState.Connected;
95
96
 
96
- /* Excluded from this release type: ContainerErrorType */
97
-
98
97
  /* Excluded from this release type: ContainerErrorTypes */
99
98
 
100
99
  /* Excluded from this release type: ContainerWarning */
@@ -164,11 +163,11 @@ export declare interface IConnectionDetails {
164
163
  *
165
164
  * The following are commonly thrown error types, but `errorType` could be any string.
166
165
  *
167
- * - {@link @fluidframework/core-interfaces#ContainerErrorType}
166
+ * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}
168
167
  *
169
- * - {@link @fluidframework/driver-definitions#DriverErrorType}
168
+ * - {@link @fluidframework/driver-definitions#DriverErrorTypes}
170
169
  *
171
- * - {@link @fluidframework/odsp-driver-definitions#OdspErrorType}
170
+ * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}
172
171
  *
173
172
  * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}
174
173
  * @public
@@ -500,6 +499,8 @@ export declare type ILoaderOptions = {
500
499
 
501
500
  /* Excluded from this release type: isFluidPackage */
502
501
 
502
+ /* Excluded from this release type: ISnapshot */
503
+
503
504
  /* Excluded from this release type: ISnapshotTreeWithBlobContents */
504
505
 
505
506
  /* Excluded from this release type: IThrottlingWarning */
@@ -24,6 +24,7 @@ import { IResolvedUrl } from '@fluidframework/driver-definitions';
24
24
  import { ISequencedDocumentMessage } from '@fluidframework/protocol-definitions';
25
25
  import { ISequencedProposal } from '@fluidframework/protocol-definitions';
26
26
  import { ISignalMessage } from '@fluidframework/protocol-definitions';
27
+ import { ISnapshot } from '@fluidframework/driver-definitions';
27
28
  import { ISnapshotTree } from '@fluidframework/protocol-definitions';
28
29
  import { ISummaryContent } from '@fluidframework/protocol-definitions';
29
30
  import { ISummaryTree } from '@fluidframework/protocol-definitions';
@@ -93,40 +94,6 @@ export declare namespace ConnectionState {
93
94
  */
94
95
  export declare type ConnectionState = ConnectionState.Disconnected | ConnectionState.EstablishingConnection | ConnectionState.CatchingUp | ConnectionState.Connected;
95
96
 
96
- /**
97
- * Different error types the Container may report out to the Host.
98
- *
99
- * @deprecated ContainerErrorType is being deprecated as a public export. Please use {@link ContainerErrorTypes#clientSessionExpiredError} instead.
100
- * @internal
101
- */
102
- export declare enum ContainerErrorType {
103
- /**
104
- * Some error, most likely an exception caught by runtime and propagated to container as critical error
105
- */
106
- genericError = "genericError",
107
- /**
108
- * Throttling error from server. Server is busy and is asking not to reconnect for some time
109
- */
110
- throttlingError = "throttlingError",
111
- /**
112
- * Data loss error detected by Container / DeltaManager. Likely points to storage issue.
113
- */
114
- dataCorruptionError = "dataCorruptionError",
115
- /**
116
- * Error encountered when processing an operation. May correlate with data corruption.
117
- */
118
- dataProcessingError = "dataProcessingError",
119
- /**
120
- * Error indicating an API is being used improperly resulting in an invalid operation.
121
- */
122
- usageError = "usageError",
123
- /**
124
- * Error indicating an client session has expired. Currently this only happens when GC is allowed on a document and
125
- * aids in safely deleting unused objects.
126
- */
127
- clientSessionExpiredError = "clientSessionExpiredError"
128
- }
129
-
130
97
  /**
131
98
  * Different error types the ClientSession may report out to the Host.
132
99
  * @alpha
@@ -399,6 +366,12 @@ export declare interface IContainer extends IEventProvider<IContainerEvents> {
399
366
  * Use this as the primary way of getting access to the user-defined logic within the container.
400
367
  */
401
368
  getEntryPoint(): Promise<FluidObject>;
369
+ /**
370
+ * Exposes any metadata/props related to the container. This is full set of metadata props which the container wants to
371
+ * expose. Whenever container receives updates from `IContainerEvents.metadataUpdate` event, we overwrite only those
372
+ * updated props in the update and rest remains the same.
373
+ */
374
+ containerMetadata: Record<string, string>;
402
375
  }
403
376
 
404
377
  /**
@@ -469,6 +442,10 @@ export declare interface IContainerContext {
469
442
  * @privateremarks Tracking in AB#5714
470
443
  */
471
444
  readonly id: string;
445
+ /**
446
+ * This contains all parts of a snapshot like blobContents, ops etc.
447
+ */
448
+ readonly snapshotWithContents?: ISnapshot;
472
449
  }
473
450
 
474
451
  /**
@@ -614,6 +591,12 @@ export declare interface IContainerEvents extends IEvent {
614
591
  * @see {@link IContainer.isDirty}
615
592
  */
616
593
  (event: "saved", listener: (dirty: boolean) => void): any;
594
+ /**
595
+ * Emitted when the some of the properties related to the container are initialized or updated.
596
+ * This emitted metadata will the props which are updated. If consumer wants to read full set of
597
+ * metadata then they can read it off the container from {@link IContainer.containerMetadata} prop.
598
+ */
599
+ (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
617
600
  }
618
601
 
619
602
  /**
@@ -635,11 +618,11 @@ export declare interface IContainerLoadMode {
635
618
  *
636
619
  * The following are commonly thrown error types, but `errorType` could be any string.
637
620
  *
638
- * - {@link @fluidframework/core-interfaces#ContainerErrorType}
621
+ * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}
639
622
  *
640
- * - {@link @fluidframework/driver-definitions#DriverErrorType}
623
+ * - {@link @fluidframework/driver-definitions#DriverErrorTypes}
641
624
  *
642
- * - {@link @fluidframework/odsp-driver-definitions#OdspErrorType}
625
+ * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}
643
626
  *
644
627
  * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}
645
628
  * @public
@@ -4,4 +4,4 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=deltas.cjs.map
7
+ //# sourceMappingURL=deltas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deltas.js","sourceRoot":"","sources":["../src/deltas.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 {\n\tIDisposable,\n\tIEventProvider,\n\tIEvent,\n\tIErrorEvent,\n\tIErrorBase,\n} from \"@fluidframework/core-interfaces\";\nimport { IAnyDriverError } from \"@fluidframework/driver-definitions\";\nimport {\n\tIClientConfiguration,\n\tIClientDetails,\n\tIDocumentMessage,\n\tISequencedDocumentMessage,\n\tISignalMessage,\n\tITokenClaims,\n} from \"@fluidframework/protocol-definitions\";\n\n/**\n * Contract representing the result of a newly established connection to the server for syncing deltas.\n * @public\n */\nexport interface IConnectionDetails {\n\tclientId: string;\n\tclaims: ITokenClaims;\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection.\n\t *\n\t * @remarks\n\t *\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's the best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber: number | undefined;\n}\n\n/**\n * Contract supporting delivery of outbound messages to the server\n * @sealed\n * @public\n */\nexport interface IDeltaSender {\n\t/**\n\t * Flush all pending messages through the outbound queue\n\t */\n\tflush(): void;\n}\n\n/**\n * Events emitted by {@link IDeltaManager}.\n * @sealed\n * @public\n */\nexport interface IDeltaManagerEvents extends IEvent {\n\t/**\n\t * @deprecated No replacement API recommended.\n\t */\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"prepareSend\", listener: (messageBuffer: any[]) => void);\n\n\t/**\n\t * @deprecated No replacement API recommended.\n\t */\n\t(event: \"submitOp\", listener: (message: IDocumentMessage) => void);\n\n\t/**\n\t * Emitted immediately after processing an incoming operation (op).\n\t *\n\t * @remarks\n\t *\n\t * Note: this event is not intended for general use.\n\t * Prefer to listen to events on the appropriate ultimate recipients of the ops, rather than listening to the\n\t * ops directly on the {@link IDeltaManager}.\n\t *\n\t * Listener parameters:\n\t *\n\t * - `message`: The op that was processed.\n\t *\n\t * - `processingTime`: The amount of time it took to process the inbound operation (op), expressed in milliseconds.\n\t */\n\t(event: \"op\", listener: (message: ISequencedDocumentMessage, processingTime: number) => void);\n\n\t/**\n\t * Emitted periodically with latest information on network roundtrip latency\n\t */\n\t(event: \"pong\", listener: (latency: number) => void);\n\n\t/**\n\t * Emitted when the {@link IDeltaManager} completes connecting to the Fluid service.\n\t *\n\t * @remarks\n\t * This occurs once we've received the connect_document_success message from the server,\n\t * and happens prior to the client's join message (if there is a join message).\n\t *\n\t * Listener parameters:\n\t *\n\t * - `details`: Connection metadata.\n\t *\n\t * - `opsBehind`: An estimate of far behind the client is relative to the service in terms of ops.\n\t * Will not be specified if an estimate cannot be determined.\n\t */\n\t(event: \"connect\", listener: (details: IConnectionDetails, opsBehind?: number) => void);\n\n\t/**\n\t * Emitted when the {@link IDeltaManager} becomes disconnected from the Fluid service.\n\t *\n\t * @remarks Listener parameters:\n\t *\n\t * - `reason`: Describes the reason for which the delta manager was disconnected.\n\t * - `error` : error if any for the disconnect.\n\t */\n\t(event: \"disconnect\", listener: (reason: string, error?: IAnyDriverError) => void);\n\n\t/**\n\t * Emitted when read/write permissions change.\n\t *\n\t * @remarks Listener parameters:\n\t *\n\t * - `readonly`: Whether or not the delta manager is now read-only.\n\t */\n\t(\n\t\tevent: \"readonly\",\n\t\tlistener: (\n\t\t\treadonly: boolean,\n\t\t\treadonlyConnectionReason?: { reason: string; error?: IErrorBase },\n\t\t) => void,\n\t);\n}\n\n/**\n * Manages the transmission of ops between the runtime and storage.\n * @sealed\n * @public\n */\nexport interface IDeltaManager<T, U> extends IEventProvider<IDeltaManagerEvents>, IDeltaSender {\n\t/**\n\t * The queue of inbound delta messages\n\t */\n\treadonly inbound: IDeltaQueue<T>;\n\n\t/**\n\t * The queue of outbound delta messages\n\t */\n\treadonly outbound: IDeltaQueue<U[]>;\n\n\t/**\n\t * The queue of inbound delta signals\n\t */\n\treadonly inboundSignal: IDeltaQueue<ISignalMessage>;\n\n\t/**\n\t * The current minimum sequence number\n\t */\n\treadonly minimumSequenceNumber: number;\n\n\t/**\n\t * The last sequence number processed by the delta manager\n\t */\n\treadonly lastSequenceNumber: number;\n\n\t/**\n\t * The last message processed by the delta manager\n\t */\n\treadonly lastMessage: ISequencedDocumentMessage | undefined;\n\n\t/**\n\t * The latest sequence number the delta manager is aware of\n\t */\n\treadonly lastKnownSeqNumber: number;\n\n\t/**\n\t * The initial sequence number set when attaching the op handler\n\t */\n\treadonly initialSequenceNumber: number;\n\n\t/**\n\t * Tells if current connection has checkpoint information.\n\t * I.e. we know how far behind the client was at the time of establishing connection\n\t */\n\treadonly hasCheckpointSequenceNumber: boolean;\n\n\t/**\n\t * Details of client\n\t */\n\treadonly clientDetails: IClientDetails;\n\n\t/**\n\t * Protocol version being used to communicate with the service\n\t */\n\treadonly version: string;\n\n\t/**\n\t * Max message size allowed to the delta manager\n\t */\n\treadonly maxMessageSize: number;\n\n\t/**\n\t * Service configuration provided by the service.\n\t */\n\treadonly serviceConfiguration: IClientConfiguration | undefined;\n\n\t/**\n\t * Flag to indicate whether the client can write or not.\n\t */\n\treadonly active: boolean;\n\n\treadonly readOnlyInfo: ReadOnlyInfo;\n\n\t/**\n\t * Submit a signal to the service to be broadcast to other connected clients, but not persisted\n\t */\n\t// TODO: use `unknown` instead (API breaking)\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tsubmitSignal(content: any, targetClientId?: string): void;\n}\n\n/**\n * Events emitted by {@link IDeltaQueue}.\n * @sealed\n * @public\n */\nexport interface IDeltaQueueEvents<T> extends IErrorEvent {\n\t/**\n\t * Emitted when a task is enqueued.\n\t *\n\t * @remarks Listener parameters:\n\t *\n\t * - `task`: The task being enqueued.\n\t */\n\t(event: \"push\", listener: (task: T) => void);\n\n\t/**\n\t * Emitted immediately after processing an enqueued task and removing it from the queue.\n\t *\n\t * @remarks\n\t *\n\t * Note: this event is not intended for general use.\n\t * Prefer to listen to events on the appropriate ultimate recipients of the ops, rather than listening to the\n\t * ops directly on the {@link IDeltaQueue}.\n\t *\n\t * Listener parameters:\n\t *\n\t * - `task`: The task that was processed.\n\t */\n\t(event: \"op\", listener: (task: T) => void);\n\n\t/**\n\t * Emitted when the queue of tasks to process is emptied.\n\t *\n\t * @remarks Listener parameters:\n\t *\n\t * - `count`: The number of events (`T`) processed before becoming idle.\n\t *\n\t * - `duration`: The amount of time it took to process elements (in milliseconds).\n\t *\n\t * @see {@link IDeltaQueue.idle}\n\t */\n\t(event: \"idle\", listener: (count: number, duration: number) => void);\n}\n\n/**\n * Queue of ops to be sent to or processed from storage\n * @sealed\n * @public\n */\nexport interface IDeltaQueue<T> extends IEventProvider<IDeltaQueueEvents<T>>, IDisposable {\n\t/**\n\t * Flag indicating whether or not the queue was paused\n\t */\n\tpaused: boolean;\n\n\t/**\n\t * The number of messages remaining in the queue\n\t */\n\tlength: number;\n\n\t/**\n\t * Flag indicating whether or not the queue is idle.\n\t * I.e. there are no remaining messages to processes.\n\t */\n\tidle: boolean;\n\n\t/**\n\t * Pauses processing on the queue.\n\t *\n\t * @returns A promise which resolves when processing has been paused.\n\t */\n\tpause(): Promise<void>;\n\n\t/**\n\t * Resumes processing on the queue\n\t */\n\tresume(): void;\n\n\t/**\n\t * Peeks at the next message in the queue\n\t */\n\tpeek(): T | undefined;\n\n\t/**\n\t * Returns all the items in the queue as an array. Does not remove them from the queue.\n\t */\n\ttoArray(): T[];\n\n\t/**\n\t * returns number of ops processed and time it took to process these ops.\n\t * Zeros if queue did not process anything (had no messages, was paused or had hit an error before)\n\t */\n\twaitTillProcessingDone(): Promise<{ count: number; duration: number }>;\n}\n\n/**\n * @public\n */\nexport type ReadOnlyInfo =\n\t| {\n\t\t\treadonly readonly: false | undefined;\n\t }\n\t| {\n\t\t\treadonly readonly: true;\n\n\t\t\t/**\n\t\t\t * Read-only because `forceReadOnly()` was called.\n\t\t\t */\n\t\t\treadonly forced: boolean;\n\n\t\t\t/**\n\t\t\t * Read-only because client does not have write permissions for document.\n\t\t\t */\n\t\t\treadonly permissions: boolean | undefined;\n\n\t\t\t/**\n\t\t\t * Read-only with no delta stream connection.\n\t\t\t */\n\t\t\treadonly storageOnly: boolean;\n\n\t\t\t/**\n\t\t\t * Extra info on why connection to delta stream is not possible.\n\t\t\t *\n\t\t\t * @remarks This info might be provided if {@link ReadOnlyInfo.storageOnly} is set to `true`.\n\t\t\t */\n\t\t\treadonly storageOnlyReason?: string;\n\t };\n"]}
package/dist/error.d.ts CHANGED
@@ -75,11 +75,11 @@ export interface ContainerWarning extends IErrorBase {
75
75
  *
76
76
  * The following are commonly thrown error types, but `errorType` could be any string.
77
77
  *
78
- * - {@link @fluidframework/core-interfaces#ContainerErrorType}
78
+ * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}
79
79
  *
80
- * - {@link @fluidframework/driver-definitions#DriverErrorType}
80
+ * - {@link @fluidframework/driver-definitions#DriverErrorTypes}
81
81
  *
82
- * - {@link @fluidframework/odsp-driver-definitions#OdspErrorType}
82
+ * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}
83
83
  *
84
84
  * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}
85
85
  * @public
@@ -52,4 +52,4 @@ var ContainerErrorType;
52
52
  */
53
53
  ContainerErrorType["clientSessionExpiredError"] = "clientSessionExpiredError";
54
54
  })(ContainerErrorType || (exports.ContainerErrorType = ContainerErrorType = {}));
55
- //# sourceMappingURL=error.cjs.map
55
+ //# sourceMappingURL=error.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"error.js","sourceRoot":"","sources":["../src/error.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,qEAA8E;AAE9E;;;GAGG;AACU,QAAA,mBAAmB,GAAG;IAClC,GAAG,iCAAe;IAClB;;;OAGG;IACH,yBAAyB,EAAE,2BAA2B;CAC7C,CAAC;AAOX;;;;;GAKG;AACH,IAAY,kBA+BX;AA/BD,WAAY,kBAAkB;IAC7B;;OAEG;IACH,mDAA6B,CAAA;IAE7B;;OAEG;IACH,yDAAmC,CAAA;IAEnC;;OAEG;IACH,iEAA2C,CAAA;IAE3C;;OAEG;IACH,iEAA2C,CAAA;IAE3C;;OAEG;IACH,+CAAyB,CAAA;IAEzB;;;OAGG;IACH,6EAAuD,CAAA;AACxD,CAAC,EA/BW,kBAAkB,kCAAlB,kBAAkB,QA+B7B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { FluidErrorTypes, IErrorBase } from \"@fluidframework/core-interfaces\";\n\n/**\n * Different error types the ClientSession may report out to the Host.\n * @alpha\n */\nexport const ContainerErrorTypes = {\n\t...FluidErrorTypes,\n\t/**\n\t * Error indicating an client session has expired. Currently this only happens when GC is allowed on a document and\n\t * aids in safely deleting unused objects.\n\t */\n\tclientSessionExpiredError: \"clientSessionExpiredError\",\n} as const;\n\n/**\n * @alpha\n */\nexport type ContainerErrorTypes = (typeof ContainerErrorTypes)[keyof typeof ContainerErrorTypes];\n\n/**\n * Different error types the Container may report out to the Host.\n *\n * @deprecated ContainerErrorType is being deprecated as a public export. Please use {@link ContainerErrorTypes#clientSessionExpiredError} instead.\n * @internal\n */\nexport enum ContainerErrorType {\n\t/**\n\t * Some error, most likely an exception caught by runtime and propagated to container as critical error\n\t */\n\tgenericError = \"genericError\",\n\n\t/**\n\t * Throttling error from server. Server is busy and is asking not to reconnect for some time\n\t */\n\tthrottlingError = \"throttlingError\",\n\n\t/**\n\t * Data loss error detected by Container / DeltaManager. Likely points to storage issue.\n\t */\n\tdataCorruptionError = \"dataCorruptionError\",\n\n\t/**\n\t * Error encountered when processing an operation. May correlate with data corruption.\n\t */\n\tdataProcessingError = \"dataProcessingError\",\n\n\t/**\n\t * Error indicating an API is being used improperly resulting in an invalid operation.\n\t */\n\tusageError = \"usageError\",\n\n\t/**\n\t * Error indicating an client session has expired. Currently this only happens when GC is allowed on a document and\n\t * aids in safely deleting unused objects.\n\t */\n\tclientSessionExpiredError = \"clientSessionExpiredError\",\n}\n\n/**\n * Represents warnings raised on container.\n * @alpha\n */\nexport interface ContainerWarning extends IErrorBase {\n\t/**\n\t * Whether this error has already been logged. Used to avoid logging errors twice.\n\t *\n\t * @defaultValue `false`\n\t */\n\tlogged?: boolean;\n}\n\n/**\n * Represents errors raised on container.\n *\n * @see\n *\n * The following are commonly thrown error types, but `errorType` could be any string.\n *\n * - {@link @fluidframework/core-interfaces#ContainerErrorTypes}\n *\n * - {@link @fluidframework/driver-definitions#DriverErrorTypes}\n *\n * - {@link @fluidframework/odsp-driver-definitions#OdspErrorTypes}\n *\n * - {@link @fluidframework/routerlicious-driver#RouterliciousErrorType}\n * @public\n */\nexport type ICriticalContainerError = IErrorBase;\n"]}
@@ -4,4 +4,4 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- //# sourceMappingURL=fluidModule.cjs.map
7
+ //# sourceMappingURL=fluidModule.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluidModule.js","sourceRoot":"","sources":["../src/fluidModule.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 { FluidObject } from \"@fluidframework/core-interfaces\";\nimport { IProvideFluidCodeDetailsComparer } from \"./fluidPackage\";\nimport { IRuntimeFactory } from \"./runtime\";\n\n/**\n * @alpha\n */\nexport interface IFluidModule {\n\tfluidExport: FluidObject<IRuntimeFactory & IProvideFluidCodeDetailsComparer>;\n}\n"]}
@@ -30,4 +30,4 @@ exports.isFluidCodeDetails = isFluidCodeDetails;
30
30
  * @alpha
31
31
  */
32
32
  exports.IFluidCodeDetailsComparer = "IFluidCodeDetailsComparer";
33
- //# sourceMappingURL=fluidPackage.cjs.map
33
+ //# sourceMappingURL=fluidPackage.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fluidPackage.js","sourceRoot":"","sources":["../src/fluidPackage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AA4DH;;;;GAIG;AACI,MAAM,cAAc,GAAG,CAAC,GAAY,EAAkC,EAAE,CAC9E,OAAO,GAAG,KAAK,QAAQ;IACvB,OAAQ,GAA8B,EAAE,IAAI,KAAK,QAAQ;IACzD,OAAQ,GAA8B,EAAE,KAAK,KAAK,QAAQ,CAAC;AAH/C,QAAA,cAAc,kBAGiC;AA8B5D;;;GAGG;AACI,MAAM,kBAAkB,GAAG,CAAC,OAAgB,EAA0C,EAAE;IAC9F,MAAM,gBAAgB,GAAG,OAAiD,CAAC;IAC3E,OAAO,CACN,OAAO,gBAAgB,KAAK,QAAQ;QACpC,CAAC,OAAO,gBAAgB,EAAE,OAAO,KAAK,QAAQ;YAC7C,IAAA,sBAAc,EAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;QAC3C,CAAC,gBAAgB,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,gBAAgB,EAAE,MAAM,KAAK,QAAQ,CAAC,CACxF,CAAC;AACH,CAAC,CAAC;AARW,QAAA,kBAAkB,sBAQ7B;AAEF;;GAEG;AACU,QAAA,yBAAyB,GACrC,2BAA2B,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Specifies an environment on Fluid property of a IFluidPackage.\n * @alpha\n */\nexport interface IFluidPackageEnvironment {\n\t/**\n\t * The name of the target. For a browser environment, this could be umd for scripts\n\t * or css for styles.\n\t */\n\t[target: string]:\n\t\t| undefined\n\t\t| {\n\t\t\t\t/**\n\t\t\t\t * List of files for the target. These can be relative or absolute.\n\t\t\t\t * The code loader should resolve relative paths, and validate all\n\t\t\t\t * full urls.\n\t\t\t\t */\n\t\t\t\tfiles: string[];\n\n\t\t\t\t/**\n\t\t\t\t * General access for extended fields as specific usages will\n\t\t\t\t * likely have additional infornamation like a definition\n\t\t\t\t * of Library, the entrypoint for umd packages.\n\t\t\t\t */\n\t\t\t\t[key: string]: unknown;\n\t\t };\n}\n\n/**\n * Fluid-specific properties expected on a package to be loaded by the code loader.\n * While compatible with the npm package format it is not necessary that that package is an\n * npm package:\n * {@link https://stackoverflow.com/questions/10065564/add-custom-metadata-or-config-to-package-json-is-it-valid}\n * @alpha\n */\nexport interface IFluidPackage {\n\t/**\n\t * The name of the package that this code represnets\n\t */\n\tname: string;\n\t/**\n\t * This object represents the Fluid specific properties of the package\n\t */\n\tfluid: {\n\t\t/**\n\t\t * The name of the of the environment. This should be something like browser, or node\n\t\t * and contain the necessary targets for loading this code in that environment.\n\t\t */\n\t\t[environment: string]: undefined | IFluidPackageEnvironment;\n\t};\n\t/**\n\t * General access for extended fields as specific usages will\n\t * likely have additional infornamation like a definition of\n\t * compatible versions, or deployment information like rings or rollouts.\n\t */\n\t[key: string]: unknown;\n}\n\n/**\n * Check if the package.json defines a Fluid package\n * @param pkg - the package json data to check if it is a Fluid package.\n * @alpha\n */\nexport const isFluidPackage = (pkg: unknown): pkg is Readonly<IFluidPackage> =>\n\ttypeof pkg === \"object\" &&\n\ttypeof (pkg as Partial<IFluidPackage>)?.name === \"string\" &&\n\ttypeof (pkg as Partial<IFluidPackage>)?.fluid === \"object\";\n\n/**\n * Package manager configuration. Provides a key value mapping of config values\n * @alpha\n */\nexport interface IFluidCodeDetailsConfig {\n\treadonly [key: string]: string;\n}\n\n/**\n * Data structure used to describe the code to load on the Fluid document\n * @alpha\n */\nexport interface IFluidCodeDetails {\n\t/**\n\t * The code package to be used on the Fluid document. This is either the package name which will be loaded\n\t * from a package manager. Or the expanded Fluid package.\n\t */\n\treadonly package: string | Readonly<IFluidPackage>;\n\n\t/**\n\t * Configuration details. This includes links to the package manager and base CDNs.\n\t *\n\t * @remarks This is strictly consumer-defined data.\n\t * Its contents and semantics (including whether or not this data is present) are completely up to the consumer.\n\t */\n\treadonly config?: IFluidCodeDetailsConfig;\n}\n\n/**\n * Determines if any object is an IFluidCodeDetails\n * @internal\n */\nexport const isFluidCodeDetails = (details: unknown): details is Readonly<IFluidCodeDetails> => {\n\tconst maybeCodeDetails = details as Partial<IFluidCodeDetails> | undefined;\n\treturn (\n\t\ttypeof maybeCodeDetails === \"object\" &&\n\t\t(typeof maybeCodeDetails?.package === \"string\" ||\n\t\t\tisFluidPackage(maybeCodeDetails?.package)) &&\n\t\t(maybeCodeDetails?.config === undefined || typeof maybeCodeDetails?.config === \"object\")\n\t);\n};\n\n/**\n * @alpha\n */\nexport const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer =\n\t\"IFluidCodeDetailsComparer\";\n\n/**\n * @alpha\n */\nexport interface IProvideFluidCodeDetailsComparer {\n\treadonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;\n}\n\n/**\n * Provides capability to compare Fluid code details.\n * @alpha\n */\nexport interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {\n\t/**\n\t * Determines if the `candidate` code details satisfy the constraints specified in `constraint` code details.\n\t *\n\t * Similar semantics to:\n\t * {@link https://github.com/npm/node-semver#usage}\n\t */\n\tsatisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;\n\n\t/**\n\t * Return a number representing the ascending sort order of the `a` and `b` code details:\n\t *\n\t * - `< 0` if `a < b`.\n\t *\n\t * - `= 0` if `a === b`.\n\t *\n\t * - `> 0` if `a > b`.\n\t *\n\t * - `undefined` if `a` is not comparable to `b`.\n\t *\n\t * Similar semantics to:\n\t * {@link https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#description | Array.sort}\n\t */\n\tcompare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -10,7 +10,7 @@
10
10
  export { IAudience, IAudienceOwner } from "./audience";
11
11
  export { IFluidBrowserPackage, IFluidBrowserPackageEnvironment, isFluidBrowserPackage, } from "./browserPackage";
12
12
  export { IConnectionDetails, IDeltaManager, IDeltaManagerEvents, IDeltaQueue, IDeltaQueueEvents, IDeltaSender, ReadOnlyInfo, } from "./deltas";
13
- export { ContainerErrorTypes, ContainerErrorType, ContainerWarning, ICriticalContainerError, } from "./error";
13
+ export { ContainerErrorTypes, ContainerWarning, ICriticalContainerError } from "./error";
14
14
  export { ConnectionState, ICodeDetailsLoader, IContainer, IContainerEvents, IContainerLoadMode, IFluidCodeResolver, IFluidModuleWithDetails, IHostLoader, ILoader, ILoaderHeader, ILoaderOptions, IProvideLoader, IResolvedFluidCodeDetails, ISnapshotTreeWithBlobContents, LoaderHeader, } from "./loader";
15
15
  export { IFluidModule } from "./fluidModule";
16
16
  export { IFluidPackage, IFluidPackageEnvironment, IFluidCodeDetails, IFluidCodeDetailsComparer, IFluidCodeDetailsConfig, IProvideFluidCodeDetailsComparer, isFluidPackage, isFluidCodeDetails, } from "./fluidPackage";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACN,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EACN,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,uBAAuB,GACvB,MAAM,SAAS,CAAC;AACjB,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,YAAY,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACN,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,0BAA0B,GAC1B,MAAM,WAAW,CAAC;AAEnB,OAAO;AACN;;GAEG;AACH,UAAU;AACV;;GAEG;AACH,aAAa;AACb;;GAEG;AACH,kBAAkB;AAClB;;GAEG;AACH,WAAW,GACX,MAAM,iCAAiC,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AAEH,OAAO,EAAE,SAAS,EAAE,cAAc,EAAE,MAAM,YAAY,CAAC;AACvD,OAAO,EACN,oBAAoB,EACpB,+BAA+B,EAC/B,qBAAqB,GACrB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EACN,kBAAkB,EAClB,aAAa,EACb,mBAAmB,EACnB,WAAW,EACX,iBAAiB,EACjB,YAAY,EACZ,YAAY,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,mBAAmB,EAAE,gBAAgB,EAAE,uBAAuB,EAAE,MAAM,SAAS,CAAC;AACzF,OAAO,EACN,eAAe,EACf,kBAAkB,EAClB,UAAU,EACV,gBAAgB,EAChB,kBAAkB,EAClB,kBAAkB,EAClB,uBAAuB,EACvB,WAAW,EACX,OAAO,EACP,aAAa,EACb,cAAc,EACd,cAAc,EACd,yBAAyB,EACzB,6BAA6B,EAC7B,YAAY,GACZ,MAAM,UAAU,CAAC;AAClB,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EACN,aAAa,EACb,wBAAwB,EACxB,iBAAiB,EACjB,yBAAyB,EACzB,uBAAuB,EACvB,gCAAgC,EAChC,cAAc,EACd,kBAAkB,GAClB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACN,WAAW,EACX,aAAa,EACb,iBAAiB,EACjB,sBAAsB,EACtB,QAAQ,EACR,eAAe,EACf,0BAA0B,GAC1B,MAAM,WAAW,CAAC;AAEnB,OAAO;AACN;;GAEG;AACH,UAAU;AACV;;GAEG;AACH,aAAa;AACb;;GAEG;AACH,kBAAkB;AAClB;;GAEG;AACH,WAAW,GACX,MAAM,iCAAiC,CAAC"}
@@ -4,19 +4,18 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.IRuntimeFactory = exports.AttachState = exports.isFluidCodeDetails = exports.isFluidPackage = exports.IFluidCodeDetailsComparer = exports.LoaderHeader = exports.ContainerErrorType = exports.ContainerErrorTypes = exports.isFluidBrowserPackage = void 0;
8
- var browserPackage_1 = require("./browserPackage.cjs");
7
+ exports.IRuntimeFactory = exports.AttachState = exports.isFluidCodeDetails = exports.isFluidPackage = exports.IFluidCodeDetailsComparer = exports.LoaderHeader = exports.ContainerErrorTypes = exports.isFluidBrowserPackage = void 0;
8
+ var browserPackage_1 = require("./browserPackage");
9
9
  Object.defineProperty(exports, "isFluidBrowserPackage", { enumerable: true, get: function () { return browserPackage_1.isFluidBrowserPackage; } });
10
- var error_1 = require("./error.cjs");
10
+ var error_1 = require("./error");
11
11
  Object.defineProperty(exports, "ContainerErrorTypes", { enumerable: true, get: function () { return error_1.ContainerErrorTypes; } });
12
- Object.defineProperty(exports, "ContainerErrorType", { enumerable: true, get: function () { return error_1.ContainerErrorType; } });
13
- var loader_1 = require("./loader.cjs");
12
+ var loader_1 = require("./loader");
14
13
  Object.defineProperty(exports, "LoaderHeader", { enumerable: true, get: function () { return loader_1.LoaderHeader; } });
15
- var fluidPackage_1 = require("./fluidPackage.cjs");
14
+ var fluidPackage_1 = require("./fluidPackage");
16
15
  Object.defineProperty(exports, "IFluidCodeDetailsComparer", { enumerable: true, get: function () { return fluidPackage_1.IFluidCodeDetailsComparer; } });
17
16
  Object.defineProperty(exports, "isFluidPackage", { enumerable: true, get: function () { return fluidPackage_1.isFluidPackage; } });
18
17
  Object.defineProperty(exports, "isFluidCodeDetails", { enumerable: true, get: function () { return fluidPackage_1.isFluidCodeDetails; } });
19
- var runtime_1 = require("./runtime.cjs");
18
+ var runtime_1 = require("./runtime");
20
19
  Object.defineProperty(exports, "AttachState", { enumerable: true, get: function () { return runtime_1.AttachState; } });
21
20
  Object.defineProperty(exports, "IRuntimeFactory", { enumerable: true, get: function () { return runtime_1.IRuntimeFactory; } });
22
- //# sourceMappingURL=index.cjs.map
21
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AASH,mDAI0B;AADzB,uHAAA,qBAAqB,OAAA;AAWtB,iCAAyF;AAAhF,4GAAA,mBAAmB,OAAA;AAC5B,mCAgBkB;AADjB,sGAAA,YAAY,OAAA;AAGb,+CASwB;AALvB,yHAAA,yBAAyB,OAAA;AAGzB,8GAAA,cAAc,OAAA;AACd,kHAAA,kBAAkB,OAAA;AAEnB,qCAQmB;AAPlB,sGAAA,WAAW,OAAA;AAKX,0GAAA,eAAe,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * This library contains the interfaces and types concerning the `Loader` and loading the `Container`.\n *\n * @packageDocumentation\n */\n\nexport { IAudience, IAudienceOwner } from \"./audience\";\nexport {\n\tIFluidBrowserPackage,\n\tIFluidBrowserPackageEnvironment,\n\tisFluidBrowserPackage,\n} from \"./browserPackage\";\nexport {\n\tIConnectionDetails,\n\tIDeltaManager,\n\tIDeltaManagerEvents,\n\tIDeltaQueue,\n\tIDeltaQueueEvents,\n\tIDeltaSender,\n\tReadOnlyInfo,\n} from \"./deltas\";\nexport { ContainerErrorTypes, ContainerWarning, ICriticalContainerError } from \"./error\";\nexport {\n\tConnectionState,\n\tICodeDetailsLoader,\n\tIContainer,\n\tIContainerEvents,\n\tIContainerLoadMode,\n\tIFluidCodeResolver,\n\tIFluidModuleWithDetails,\n\tIHostLoader,\n\tILoader,\n\tILoaderHeader,\n\tILoaderOptions,\n\tIProvideLoader,\n\tIResolvedFluidCodeDetails,\n\tISnapshotTreeWithBlobContents,\n\tLoaderHeader,\n} from \"./loader\";\nexport { IFluidModule } from \"./fluidModule\";\nexport {\n\tIFluidPackage,\n\tIFluidPackageEnvironment,\n\tIFluidCodeDetails,\n\tIFluidCodeDetailsComparer,\n\tIFluidCodeDetailsConfig,\n\tIProvideFluidCodeDetailsComparer,\n\tisFluidPackage,\n\tisFluidCodeDetails,\n} from \"./fluidPackage\";\nexport {\n\tAttachState,\n\tIBatchMessage,\n\tIContainerContext,\n\tIProvideRuntimeFactory,\n\tIRuntime,\n\tIRuntimeFactory,\n\tIGetPendingLocalStateProps,\n} from \"./runtime\";\n\nexport {\n\t/**\n\t * @deprecated IErrorBase is being deprecated as a public export is moving to \"core-interfaces\".\n\t */\n\tIErrorBase,\n\t/**\n\t * @deprecated IGenericError is being deprecated as a public export is moving to \"core-interfaces\".\n\t */\n\tIGenericError,\n\t/**\n\t * @deprecated IThrottlingWarning is being deprecated as a public export is moving to \"core-interfaces\".\n\t */\n\tIThrottlingWarning,\n\t/**\n\t * @deprecated IUsageError is being deprecated as a public export is moving to \"core-interfaces\".\n\t */\n\tIUsageError,\n} from \"@fluidframework/core-interfaces\";\n"]}
package/dist/loader.d.ts CHANGED
@@ -217,6 +217,12 @@ export interface IContainerEvents extends IEvent {
217
217
  * @see {@link IContainer.isDirty}
218
218
  */
219
219
  (event: "saved", listener: (dirty: boolean) => void): any;
220
+ /**
221
+ * Emitted when the some of the properties related to the container are initialized or updated.
222
+ * This emitted metadata will the props which are updated. If consumer wants to read full set of
223
+ * metadata then they can read it off the container from {@link IContainer.containerMetadata} prop.
224
+ */
225
+ (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
220
226
  }
221
227
  /**
222
228
  * Namespace for the different connection states a container can be in.
@@ -404,6 +410,12 @@ export interface IContainer extends IEventProvider<IContainerEvents> {
404
410
  * Use this as the primary way of getting access to the user-defined logic within the container.
405
411
  */
406
412
  getEntryPoint(): Promise<FluidObject>;
413
+ /**
414
+ * Exposes any metadata/props related to the container. This is full set of metadata props which the container wants to
415
+ * expose. Whenever container receives updates from `IContainerEvents.metadataUpdate` event, we overwrite only those
416
+ * updated props in the update and rest remains the same.
417
+ */
418
+ containerMetadata: Record<string, string>;
407
419
  }
408
420
  /**
409
421
  * The Runtime's view of the Loader, used for loading Containers
@@ -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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"}
@@ -35,4 +35,4 @@ var LoaderHeader;
35
35
  */
36
36
  LoaderHeader["version"] = "version";
37
37
  })(LoaderHeader || (exports.LoaderHeader = LoaderHeader = {}));
38
- //# sourceMappingURL=loader.cjs.map
38
+ //# sourceMappingURL=loader.js.map