@fluidframework/container-loader 2.73.0 → 2.74.0-368706

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.
@@ -1 +1 @@
1
- {"version":3,"file":"createAndLoadContainerUtils.d.ts","sourceRoot":"","sources":["../src/createAndLoadContainerUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"createAndLoadContainerUtils.d.ts","sourceRoot":"","sources":["../src/createAndLoadContainerUtils.ts"],"names":[],"mappings":"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"}
@@ -70,6 +70,19 @@ exports.loadFrozenContainerFromPendingState = loadFrozenContainerFromPendingStat
70
70
  * @legacy @alpha
71
71
  */
72
72
  async function loadSummarizerContainerAndMakeSummary(loadSummarizerContainerProps) {
73
+ let result = await loadSummarizerContainerAndMakeSummaryInternal(loadSummarizerContainerProps);
74
+ if (!result.success) {
75
+ /**
76
+ * We retry once as there is potential for a race condition when loading a snapshot.
77
+ * If the newest snapshot is not ready when creating the container but becomes available upon catching up, the container
78
+ * will be closed so it can load from the new snapshot.
79
+ */
80
+ result = await loadSummarizerContainerAndMakeSummaryInternal(loadSummarizerContainerProps);
81
+ }
82
+ return result;
83
+ }
84
+ exports.loadSummarizerContainerAndMakeSummary = loadSummarizerContainerAndMakeSummary;
85
+ async function loadSummarizerContainerAndMakeSummaryInternal(loadSummarizerContainerProps) {
73
86
  const { logger, configProvider, request: originalRequest } = loadSummarizerContainerProps;
74
87
  const telemetryProps = {
75
88
  loaderId: (0, uuid_1.v4)(),
@@ -172,5 +185,4 @@ async function loadSummarizerContainerAndMakeSummary(loadSummarizerContainerProp
172
185
  }
173
186
  }, { start: true, end: true, cancel: "generic" });
174
187
  }
175
- exports.loadSummarizerContainerAndMakeSummary = loadSummarizerContainerAndMakeSummary;
176
188
  //# sourceMappingURL=createAndLoadContainerUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"createAndLoadContainerUtils.js","sourceRoot":"","sources":["../src/createAndLoadContainerUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIContainer,\n\tICodeDetailsLoader,\n\tIFluidCodeDetails,\n\tIContainerPolicies,\n} from \"@fluidframework/container-definitions/internal\";\nimport { LoaderHeader } from \"@fluidframework/container-definitions/internal\";\nimport type {\n\tFluidObject,\n\tIConfigProviderBase,\n\tIRequest,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport type { IClientDetails } from \"@fluidframework/driver-definitions\";\nimport type {\n\tIDocumentServiceFactory,\n\tIUrlResolver,\n} from \"@fluidframework/driver-definitions/internal\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tGenericError,\n\tnormalizeError,\n\tcreateChildMonitoringContext,\n\tmixinMonitoringContext,\n\tsessionStorageConfigProvider,\n\tPerformanceEvent,\n\tisFluidError,\n} from \"@fluidframework/telemetry-utils/internal\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { DebugLogger } from \"./debugLogger.js\";\nimport { createFrozenDocumentServiceFactory } from \"./frozenServices.js\";\nimport { Loader } from \"./loader.js\";\nimport { pkgVersion } from \"./packageVersion.js\";\nimport type { ProtocolHandlerBuilder } from \"./protocol.js\";\nimport type {\n\tLoadSummarizerSummaryResult,\n\tOnDemandSummaryResults,\n\tSummarizeOnDemandResults,\n} from \"./summarizerResultTypes.js\";\n\ninterface OnDemandSummarizeResultsPromises {\n\treadonly summarySubmitted: Promise<SummarizeOnDemandResults[\"summarySubmitted\"]>;\n\treadonly summaryOpBroadcasted: Promise<SummarizeOnDemandResults[\"summaryOpBroadcasted\"]>;\n}\n\ninterface OnDemandSummarizeOptions {\n\treadonly reason?: string;\n\treadonly retryOnFailure?: boolean;\n\treadonly fullTree?: boolean;\n}\n\ninterface SummarizerLike {\n\treadonly ISummarizer?: SummarizerLike;\n\tsummarizeOnDemand(options: OnDemandSummarizeOptions): OnDemandSummarizeResultsPromises;\n}\n\n/**\n * Properties necessary for creating and loading a container.\n * @legacy @beta\n */\nexport interface ICreateAndLoadContainerProps {\n\t/**\n\t * The url resolver used by the loader for resolving external urls\n\t * into Fluid urls such that the container specified by the\n\t * external url can be loaded.\n\t */\n\treadonly urlResolver: IUrlResolver;\n\t/**\n\t * The document service factory take the Fluid url provided\n\t * by the resolved url and constructs all the necessary services\n\t * for communication with the container's server.\n\t */\n\treadonly documentServiceFactory: IDocumentServiceFactory;\n\t/**\n\t * The code loader handles loading the necessary code\n\t * for running a container once it is loaded.\n\t */\n\treadonly codeLoader: ICodeDetailsLoader;\n\n\t/**\n\t * A property bag of options/policies used by various layers\n\t * to control features\n\t */\n\treadonly options?: IContainerPolicies | undefined;\n\n\t/**\n\t * Scope is provided to all container and is a set of shared\n\t * services for container's to integrate with their host environment.\n\t */\n\treadonly scope?: FluidObject | undefined;\n\n\t/**\n\t * The logger that all telemetry should be pushed to.\n\t */\n\treadonly logger?: ITelemetryBaseLogger | undefined;\n\n\t/**\n\t * The configuration provider which may be used to control features.\n\t */\n\treadonly configProvider?: IConfigProviderBase | undefined;\n\n\t/**\n\t * Optional property for allowing the container to use a custom\n\t * protocol implementation for handling the quorum and/or the audience.\n\t */\n\treadonly protocolHandlerBuilder?: ProtocolHandlerBuilder | undefined;\n\n\t/**\n\t * Disables the Container from reconnecting if false, allows reconnect otherwise.\n\t */\n\treadonly allowReconnect?: boolean | undefined;\n\n\t/**\n\t * Client details provided in the override will be merged over the default client.\n\t */\n\treadonly clientDetailsOverride?: IClientDetails | undefined;\n}\n\n/**\n * Props used to load a container.\n * @legacy @beta\n */\nexport interface ILoadExistingContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The request to resolve the container.\n\t */\n\treadonly request: IRequest;\n\n\t/**\n\t * Pending local state to be applied to the container.\n\t */\n\treadonly pendingLocalState?: string | undefined;\n}\n\n/**\n * Props used to load summarizer container.\n * @legacy @alpha\n */\nexport type ILoadSummarizerContainerProps = Omit<\n\tILoadExistingContainerProps,\n\t\"pendingLocalState\"\n>;\n\n/**\n * Props used to create a detached container.\n * @legacy @beta\n */\nexport interface ICreateDetachedContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The code details for the container to be created.\n\t */\n\treadonly codeDetails: IFluidCodeDetails;\n}\n\n/**\n * Props used to rehydrate a detached container.\n * @legacy @beta\n */\nexport interface IRehydrateDetachedContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The serialized state returned by calling serialize on another container\n\t */\n\treadonly serializedState: string;\n}\n\n/**\n * Creates a new container using the specified code details 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 * @param createDetachedContainerProps - Services and properties necessary for creating detached container.\n * @legacy @beta\n */\nexport async function createDetachedContainer(\n\tcreateDetachedContainerProps: ICreateDetachedContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(createDetachedContainerProps);\n\treturn loader.createDetachedContainer(createDetachedContainerProps.codeDetails, {\n\t\tcanReconnect: createDetachedContainerProps.allowReconnect,\n\t\tclientDetailsOverride: createDetachedContainerProps.clientDetailsOverride,\n\t});\n}\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 * @param rehydrateDetachedContainerProps - Services and properties necessary for rehydrating detached container from a previously serialized container's state.\n * @legacy @beta\n */\nexport async function rehydrateDetachedContainer(\n\trehydrateDetachedContainerProps: IRehydrateDetachedContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(rehydrateDetachedContainerProps);\n\treturn loader.rehydrateDetachedContainerFromSnapshot(\n\t\trehydrateDetachedContainerProps.serializedState,\n\t\t{\n\t\t\tcanReconnect: rehydrateDetachedContainerProps.allowReconnect,\n\t\t\tclientDetailsOverride: rehydrateDetachedContainerProps.clientDetailsOverride,\n\t\t},\n\t);\n}\n\n/**\n * Loads a container with an existing snapshot from the service.\n * @param loadExistingContainerProps - Services and properties necessary for loading an existing container.\n * @legacy @beta\n */\nexport async function loadExistingContainer(\n\tloadExistingContainerProps: ILoadExistingContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(loadExistingContainerProps);\n\treturn loader.resolve(\n\t\tloadExistingContainerProps.request,\n\t\tloadExistingContainerProps.pendingLocalState,\n\t);\n}\n\n/**\n * Properties required to load a frozen container from pending state.\n * @legacy @alpha\n */\nexport interface ILoadFrozenContainerFromPendingStateProps\n\textends ILoadExistingContainerProps {\n\t/**\n\t * Pending local state to be applied to the container.\n\t */\n\treadonly pendingLocalState: string;\n}\n\n/**\n * Loads a frozen container from pending local state.\n * @param props - Properties required to load a frozen container from pending state.\n * @legacy @alpha\n */\nexport async function loadFrozenContainerFromPendingState(\n\tprops: ILoadFrozenContainerFromPendingStateProps,\n): Promise<IContainer> {\n\treturn loadExistingContainer({\n\t\t...props,\n\t\tdocumentServiceFactory: createFrozenDocumentServiceFactory(props.documentServiceFactory),\n\t});\n}\n\n/**\n * Loads a summarizer container with the required headers, triggers an on-demand summary, and then closes it.\n * Returns success/failure and an optional error for host-side handling.\n *\n * @legacy @alpha\n */\nexport async function loadSummarizerContainerAndMakeSummary(\n\tloadSummarizerContainerProps: ILoadSummarizerContainerProps,\n): Promise<LoadSummarizerSummaryResult> {\n\tconst { logger, configProvider, request: originalRequest } = loadSummarizerContainerProps;\n\tconst telemetryProps = {\n\t\tloaderId: uuid(),\n\t\tloaderVersion: pkgVersion,\n\t};\n\n\tconst subMc = mixinMonitoringContext(\n\t\tDebugLogger.mixinDebugLogger(\"fluid:telemetry\", logger, {\n\t\t\tall: telemetryProps,\n\t\t}),\n\t\tsessionStorageConfigProvider.value,\n\t\tconfigProvider,\n\t);\n\tconst mc = createChildMonitoringContext({\n\t\tlogger: subMc.logger,\n\t\tnamespace: \"SummarizerOnDemand\",\n\t});\n\treturn PerformanceEvent.timedExecAsync(\n\t\tmc.logger,\n\t\t{ eventName: \"SummarizerOnDemandSummary\" },\n\t\tasync (event) => {\n\t\t\tconst baseHeaders = originalRequest.headers;\n\t\t\tconst request = {\n\t\t\t\t...originalRequest,\n\t\t\t\theaders: {\n\t\t\t\t\t...baseHeaders,\n\t\t\t\t\t[LoaderHeader.cache]: false,\n\t\t\t\t\t[LoaderHeader.clientDetails]: {\n\t\t\t\t\t\tcapabilities: { interactive: false },\n\t\t\t\t\t\ttype: \"summarizer\",\n\t\t\t\t\t},\n\t\t\t\t\t[DriverHeader.summarizingClient]: true,\n\t\t\t\t\t[LoaderHeader.reconnect]: false,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst container = await loadExistingContainer({\n\t\t\t\t...loadSummarizerContainerProps,\n\t\t\t\trequest,\n\t\t\t});\n\n\t\t\tlet summarySubmitted: SummarizeOnDemandResults[\"summarySubmitted\"];\n\t\t\tlet summaryOpBroadcasted: SummarizeOnDemandResults[\"summaryOpBroadcasted\"];\n\t\t\ttry {\n\t\t\t\tif (container.getEntryPoint === undefined) {\n\t\t\t\t\tthrow new GenericError(\"container.getEntryPoint() is undefined\");\n\t\t\t\t}\n\t\t\t\tconst fluidObject = (await container.getEntryPoint()) as FluidObject<SummarizerLike>;\n\t\t\t\tconst summarizer = fluidObject?.ISummarizer;\n\t\t\t\tif (summarizer === undefined) {\n\t\t\t\t\tthrow new GenericError(\"Summarizer entry point not available\");\n\t\t\t\t}\n\t\t\t\t// Host controlled feature gate for fullTree\n\t\t\t\t// Default value will be false\n\t\t\t\tconst fullTreeGate =\n\t\t\t\t\tmc.config.getBoolean(\"Fluid.Summarizer.FullTree.OnDemand\") === true;\n\n\t\t\t\tconst summarizeResults: OnDemandSummarizeResultsPromises =\n\t\t\t\t\tsummarizer.summarizeOnDemand({\n\t\t\t\t\t\treason: \"summaryOnRequest\",\n\t\t\t\t\t\tretryOnFailure: true,\n\t\t\t\t\t\tfullTree: fullTreeGate,\n\t\t\t\t\t});\n\t\t\t\t[summarySubmitted, summaryOpBroadcasted] = await Promise.all([\n\t\t\t\t\tsummarizeResults.summarySubmitted,\n\t\t\t\t\tsummarizeResults.summaryOpBroadcasted,\n\t\t\t\t]);\n\n\t\t\t\tconst summaryResults: OnDemandSummaryResults = {\n\t\t\t\t\tsummarySubmitted: summarySubmitted.success,\n\t\t\t\t\tsummaryInfo: summarySubmitted.success\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tstage: summarySubmitted.data.stage,\n\t\t\t\t\t\t\t\thandle: summaryOpBroadcasted.success\n\t\t\t\t\t\t\t\t\t? summaryOpBroadcasted.data.summarizeOp.contents.handle\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {},\n\t\t\t\t\tsummaryOpBroadcasted: summaryOpBroadcasted.success,\n\t\t\t\t};\n\n\t\t\t\tif (summarySubmitted.success && summaryOpBroadcasted.success) {\n\t\t\t\t\tevent.end({\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tsummarySubmitted: true,\n\t\t\t\t\t\tsummaryOpBroadcasted: true,\n\t\t\t\t\t});\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tsummaryResults,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst failureError =\n\t\t\t\t\tsummarySubmitted.success === false\n\t\t\t\t\t\t? summarySubmitted.error\n\t\t\t\t\t\t: summaryOpBroadcasted.success === false\n\t\t\t\t\t\t\t? summaryOpBroadcasted.error\n\t\t\t\t\t\t\t: new GenericError(\"On demand summary failed\");\n\n\t\t\t\tevent.end({\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\tsummarySubmitted: summarySubmitted.success,\n\t\t\t\t\tsummaryOpBroadcasted: summaryOpBroadcasted.success,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terror: failureError,\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tevent.cancel({ success: false }, error);\n\t\t\t\tconst caughtError = isFluidError(error) ? error : normalizeError(error);\n\t\t\t\treturn { success: false, error: caughtError };\n\t\t\t} finally {\n\t\t\t\tcontainer.dispose();\n\t\t\t}\n\t\t},\n\t\t{ start: true, end: true, cancel: \"generic\" },\n\t);\n}\n"]}
1
+ {"version":3,"file":"createAndLoadContainerUtils.js","sourceRoot":"","sources":["../src/createAndLoadContainerUtils.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIContainer,\n\tICodeDetailsLoader,\n\tIFluidCodeDetails,\n\tIContainerPolicies,\n} from \"@fluidframework/container-definitions/internal\";\nimport { LoaderHeader } from \"@fluidframework/container-definitions/internal\";\nimport type {\n\tFluidObject,\n\tIConfigProviderBase,\n\tIRequest,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\nimport type { IClientDetails } from \"@fluidframework/driver-definitions\";\nimport type {\n\tIDocumentServiceFactory,\n\tIUrlResolver,\n} from \"@fluidframework/driver-definitions/internal\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions/internal\";\nimport {\n\tGenericError,\n\tnormalizeError,\n\tcreateChildMonitoringContext,\n\tmixinMonitoringContext,\n\tsessionStorageConfigProvider,\n\tPerformanceEvent,\n\tisFluidError,\n} from \"@fluidframework/telemetry-utils/internal\";\nimport { v4 as uuid } from \"uuid\";\n\nimport { DebugLogger } from \"./debugLogger.js\";\nimport { createFrozenDocumentServiceFactory } from \"./frozenServices.js\";\nimport { Loader } from \"./loader.js\";\nimport { pkgVersion } from \"./packageVersion.js\";\nimport type { ProtocolHandlerBuilder } from \"./protocol.js\";\nimport type {\n\tLoadSummarizerSummaryResult,\n\tOnDemandSummaryResults,\n\tSummarizeOnDemandResults,\n} from \"./summarizerResultTypes.js\";\n\ninterface OnDemandSummarizeResultsPromises {\n\treadonly summarySubmitted: Promise<SummarizeOnDemandResults[\"summarySubmitted\"]>;\n\treadonly summaryOpBroadcasted: Promise<SummarizeOnDemandResults[\"summaryOpBroadcasted\"]>;\n}\n\ninterface OnDemandSummarizeOptions {\n\treadonly reason?: string;\n\treadonly retryOnFailure?: boolean;\n\treadonly fullTree?: boolean;\n}\n\ninterface SummarizerLike {\n\treadonly ISummarizer?: SummarizerLike;\n\tsummarizeOnDemand(options: OnDemandSummarizeOptions): OnDemandSummarizeResultsPromises;\n}\n\n/**\n * Properties necessary for creating and loading a container.\n * @legacy @beta\n */\nexport interface ICreateAndLoadContainerProps {\n\t/**\n\t * The url resolver used by the loader for resolving external urls\n\t * into Fluid urls such that the container specified by the\n\t * external url can be loaded.\n\t */\n\treadonly urlResolver: IUrlResolver;\n\t/**\n\t * The document service factory take the Fluid url provided\n\t * by the resolved url and constructs all the necessary services\n\t * for communication with the container's server.\n\t */\n\treadonly documentServiceFactory: IDocumentServiceFactory;\n\t/**\n\t * The code loader handles loading the necessary code\n\t * for running a container once it is loaded.\n\t */\n\treadonly codeLoader: ICodeDetailsLoader;\n\n\t/**\n\t * A property bag of options/policies used by various layers\n\t * to control features\n\t */\n\treadonly options?: IContainerPolicies | undefined;\n\n\t/**\n\t * Scope is provided to all container and is a set of shared\n\t * services for container's to integrate with their host environment.\n\t */\n\treadonly scope?: FluidObject | undefined;\n\n\t/**\n\t * The logger that all telemetry should be pushed to.\n\t */\n\treadonly logger?: ITelemetryBaseLogger | undefined;\n\n\t/**\n\t * The configuration provider which may be used to control features.\n\t */\n\treadonly configProvider?: IConfigProviderBase | undefined;\n\n\t/**\n\t * Optional property for allowing the container to use a custom\n\t * protocol implementation for handling the quorum and/or the audience.\n\t */\n\treadonly protocolHandlerBuilder?: ProtocolHandlerBuilder | undefined;\n\n\t/**\n\t * Disables the Container from reconnecting if false, allows reconnect otherwise.\n\t */\n\treadonly allowReconnect?: boolean | undefined;\n\n\t/**\n\t * Client details provided in the override will be merged over the default client.\n\t */\n\treadonly clientDetailsOverride?: IClientDetails | undefined;\n}\n\n/**\n * Props used to load a container.\n * @legacy @beta\n */\nexport interface ILoadExistingContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The request to resolve the container.\n\t */\n\treadonly request: IRequest;\n\n\t/**\n\t * Pending local state to be applied to the container.\n\t */\n\treadonly pendingLocalState?: string | undefined;\n}\n\n/**\n * Props used to load summarizer container.\n * @legacy @alpha\n */\nexport type ILoadSummarizerContainerProps = Omit<\n\tILoadExistingContainerProps,\n\t\"pendingLocalState\"\n>;\n\n/**\n * Props used to create a detached container.\n * @legacy @beta\n */\nexport interface ICreateDetachedContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The code details for the container to be created.\n\t */\n\treadonly codeDetails: IFluidCodeDetails;\n}\n\n/**\n * Props used to rehydrate a detached container.\n * @legacy @beta\n */\nexport interface IRehydrateDetachedContainerProps extends ICreateAndLoadContainerProps {\n\t/**\n\t * The serialized state returned by calling serialize on another container\n\t */\n\treadonly serializedState: string;\n}\n\n/**\n * Creates a new container using the specified code details 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 * @param createDetachedContainerProps - Services and properties necessary for creating detached container.\n * @legacy @beta\n */\nexport async function createDetachedContainer(\n\tcreateDetachedContainerProps: ICreateDetachedContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(createDetachedContainerProps);\n\treturn loader.createDetachedContainer(createDetachedContainerProps.codeDetails, {\n\t\tcanReconnect: createDetachedContainerProps.allowReconnect,\n\t\tclientDetailsOverride: createDetachedContainerProps.clientDetailsOverride,\n\t});\n}\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 * @param rehydrateDetachedContainerProps - Services and properties necessary for rehydrating detached container from a previously serialized container's state.\n * @legacy @beta\n */\nexport async function rehydrateDetachedContainer(\n\trehydrateDetachedContainerProps: IRehydrateDetachedContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(rehydrateDetachedContainerProps);\n\treturn loader.rehydrateDetachedContainerFromSnapshot(\n\t\trehydrateDetachedContainerProps.serializedState,\n\t\t{\n\t\t\tcanReconnect: rehydrateDetachedContainerProps.allowReconnect,\n\t\t\tclientDetailsOverride: rehydrateDetachedContainerProps.clientDetailsOverride,\n\t\t},\n\t);\n}\n\n/**\n * Loads a container with an existing snapshot from the service.\n * @param loadExistingContainerProps - Services and properties necessary for loading an existing container.\n * @legacy @beta\n */\nexport async function loadExistingContainer(\n\tloadExistingContainerProps: ILoadExistingContainerProps,\n): Promise<IContainer> {\n\tconst loader = new Loader(loadExistingContainerProps);\n\treturn loader.resolve(\n\t\tloadExistingContainerProps.request,\n\t\tloadExistingContainerProps.pendingLocalState,\n\t);\n}\n\n/**\n * Properties required to load a frozen container from pending state.\n * @legacy @alpha\n */\nexport interface ILoadFrozenContainerFromPendingStateProps\n\textends ILoadExistingContainerProps {\n\t/**\n\t * Pending local state to be applied to the container.\n\t */\n\treadonly pendingLocalState: string;\n}\n\n/**\n * Loads a frozen container from pending local state.\n * @param props - Properties required to load a frozen container from pending state.\n * @legacy @alpha\n */\nexport async function loadFrozenContainerFromPendingState(\n\tprops: ILoadFrozenContainerFromPendingStateProps,\n): Promise<IContainer> {\n\treturn loadExistingContainer({\n\t\t...props,\n\t\tdocumentServiceFactory: createFrozenDocumentServiceFactory(props.documentServiceFactory),\n\t});\n}\n\n/**\n * Loads a summarizer container with the required headers, triggers an on-demand summary, and then closes it.\n * Returns success/failure and an optional error for host-side handling.\n *\n * @legacy @alpha\n */\nexport async function loadSummarizerContainerAndMakeSummary(\n\tloadSummarizerContainerProps: ILoadSummarizerContainerProps,\n): Promise<LoadSummarizerSummaryResult> {\n\tlet result = await loadSummarizerContainerAndMakeSummaryInternal(\n\t\tloadSummarizerContainerProps,\n\t);\n\tif (!result.success) {\n\t\t/**\n\t\t * We retry once as there is potential for a race condition when loading a snapshot.\n\t\t * If the newest snapshot is not ready when creating the container but becomes available upon catching up, the container\n\t\t * will be closed so it can load from the new snapshot.\n\t\t */\n\t\tresult = await loadSummarizerContainerAndMakeSummaryInternal(loadSummarizerContainerProps);\n\t}\n\treturn result;\n}\n\nasync function loadSummarizerContainerAndMakeSummaryInternal(\n\tloadSummarizerContainerProps: ILoadSummarizerContainerProps,\n): Promise<LoadSummarizerSummaryResult> {\n\tconst { logger, configProvider, request: originalRequest } = loadSummarizerContainerProps;\n\tconst telemetryProps = {\n\t\tloaderId: uuid(),\n\t\tloaderVersion: pkgVersion,\n\t};\n\n\tconst subMc = mixinMonitoringContext(\n\t\tDebugLogger.mixinDebugLogger(\"fluid:telemetry\", logger, {\n\t\t\tall: telemetryProps,\n\t\t}),\n\t\tsessionStorageConfigProvider.value,\n\t\tconfigProvider,\n\t);\n\tconst mc = createChildMonitoringContext({\n\t\tlogger: subMc.logger,\n\t\tnamespace: \"SummarizerOnDemand\",\n\t});\n\treturn PerformanceEvent.timedExecAsync(\n\t\tmc.logger,\n\t\t{ eventName: \"SummarizerOnDemandSummary\" },\n\t\tasync (event) => {\n\t\t\tconst baseHeaders = originalRequest.headers;\n\t\t\tconst request = {\n\t\t\t\t...originalRequest,\n\t\t\t\theaders: {\n\t\t\t\t\t...baseHeaders,\n\t\t\t\t\t[LoaderHeader.cache]: false,\n\t\t\t\t\t[LoaderHeader.clientDetails]: {\n\t\t\t\t\t\tcapabilities: { interactive: false },\n\t\t\t\t\t\ttype: \"summarizer\",\n\t\t\t\t\t},\n\t\t\t\t\t[DriverHeader.summarizingClient]: true,\n\t\t\t\t\t[LoaderHeader.reconnect]: false,\n\t\t\t\t},\n\t\t\t};\n\n\t\t\tconst container = await loadExistingContainer({\n\t\t\t\t...loadSummarizerContainerProps,\n\t\t\t\trequest,\n\t\t\t});\n\n\t\t\tlet summarySubmitted: SummarizeOnDemandResults[\"summarySubmitted\"];\n\t\t\tlet summaryOpBroadcasted: SummarizeOnDemandResults[\"summaryOpBroadcasted\"];\n\t\t\ttry {\n\t\t\t\tif (container.getEntryPoint === undefined) {\n\t\t\t\t\tthrow new GenericError(\"container.getEntryPoint() is undefined\");\n\t\t\t\t}\n\t\t\t\tconst fluidObject = (await container.getEntryPoint()) as FluidObject<SummarizerLike>;\n\t\t\t\tconst summarizer = fluidObject?.ISummarizer;\n\t\t\t\tif (summarizer === undefined) {\n\t\t\t\t\tthrow new GenericError(\"Summarizer entry point not available\");\n\t\t\t\t}\n\t\t\t\t// Host controlled feature gate for fullTree\n\t\t\t\t// Default value will be false\n\t\t\t\tconst fullTreeGate =\n\t\t\t\t\tmc.config.getBoolean(\"Fluid.Summarizer.FullTree.OnDemand\") === true;\n\n\t\t\t\tconst summarizeResults: OnDemandSummarizeResultsPromises =\n\t\t\t\t\tsummarizer.summarizeOnDemand({\n\t\t\t\t\t\treason: \"summaryOnRequest\",\n\t\t\t\t\t\tretryOnFailure: true,\n\t\t\t\t\t\tfullTree: fullTreeGate,\n\t\t\t\t\t});\n\t\t\t\t[summarySubmitted, summaryOpBroadcasted] = await Promise.all([\n\t\t\t\t\tsummarizeResults.summarySubmitted,\n\t\t\t\t\tsummarizeResults.summaryOpBroadcasted,\n\t\t\t\t]);\n\n\t\t\t\tconst summaryResults: OnDemandSummaryResults = {\n\t\t\t\t\tsummarySubmitted: summarySubmitted.success,\n\t\t\t\t\tsummaryInfo: summarySubmitted.success\n\t\t\t\t\t\t? {\n\t\t\t\t\t\t\t\tstage: summarySubmitted.data.stage,\n\t\t\t\t\t\t\t\thandle: summaryOpBroadcasted.success\n\t\t\t\t\t\t\t\t\t? summaryOpBroadcasted.data.summarizeOp.contents.handle\n\t\t\t\t\t\t\t\t\t: undefined,\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t: {},\n\t\t\t\t\tsummaryOpBroadcasted: summaryOpBroadcasted.success,\n\t\t\t\t};\n\n\t\t\t\tif (summarySubmitted.success && summaryOpBroadcasted.success) {\n\t\t\t\t\tevent.end({\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tsummarySubmitted: true,\n\t\t\t\t\t\tsummaryOpBroadcasted: true,\n\t\t\t\t\t});\n\t\t\t\t\treturn {\n\t\t\t\t\t\tsuccess: true,\n\t\t\t\t\t\tsummaryResults,\n\t\t\t\t\t};\n\t\t\t\t}\n\n\t\t\t\tconst failureError =\n\t\t\t\t\tsummarySubmitted.success === false\n\t\t\t\t\t\t? summarySubmitted.error\n\t\t\t\t\t\t: summaryOpBroadcasted.success === false\n\t\t\t\t\t\t\t? summaryOpBroadcasted.error\n\t\t\t\t\t\t\t: new GenericError(\"On demand summary failed\");\n\n\t\t\t\tevent.end({\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\tsummarySubmitted: summarySubmitted.success,\n\t\t\t\t\tsummaryOpBroadcasted: summaryOpBroadcasted.success,\n\t\t\t\t});\n\t\t\t\treturn {\n\t\t\t\t\tsuccess: false,\n\t\t\t\t\terror: failureError,\n\t\t\t\t};\n\t\t\t} catch (error) {\n\t\t\t\tevent.cancel({ success: false }, error);\n\t\t\t\tconst caughtError = isFluidError(error) ? error : normalizeError(error);\n\t\t\t\treturn { success: false, error: caughtError };\n\t\t\t} finally {\n\t\t\t\tcontainer.dispose();\n\t\t\t}\n\t\t},\n\t\t{ start: true, end: true, cancel: \"generic\" },\n\t);\n}\n"]}
@@ -1 +1 @@
1
- {"version":3,"file":"loadPaused.d.ts","sourceRoot":"","sources":["../src/loadPaused.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGN,KAAK,UAAU,EACf,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,iCAAiC,CAAC;AAK5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,QAAQ,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CAwGrB"}
1
+ {"version":3,"file":"loadPaused.d.ts","sourceRoot":"","sources":["../src/loadPaused.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAGN,KAAK,UAAU,EACf,MAAM,gDAAgD,CAAC;AACxD,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,iCAAiC,CAAC;AAK5E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAIhD;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACH,wBAAsB,mBAAmB,CACxC,WAAW,EAAE,YAAY,EACzB,OAAO,EAAE,QAAQ,EACjB,oBAAoB,CAAC,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,WAAW,GAClB,OAAO,CAAC,UAAU,CAAC,CAyGrB"}
@@ -78,6 +78,7 @@ async function loadContainerPaused(loaderProps, request, loadToSequenceNumber, s
78
78
  let onClose;
79
79
  const promise = new Promise((resolve, reject) => {
80
80
  onAbort = () => reject(new internal_3.GenericError("Canceled due to cancellation request."));
81
+ // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
81
82
  onClose = (error) => reject(error);
82
83
  // We need to setup a listener to stop op processing once we reach the desired sequence number (if specified).
83
84
  opHandler = () => {
@@ -1 +1 @@
1
- {"version":3,"file":"loadPaused.js","sourceRoot":"","sources":["../src/loadPaused.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,6EAIwD;AAExD,kEAA6D;AAC7D,uEAAwE;AAExE,qFAAyE;AAGzE,4CAA4C;AAE5C;;;;;;;;;;;;;;;;;;;;;;;;;;GA0BG;AACI,KAAK,UAAU,mBAAmB,CACxC,WAAyB,EACzB,OAAiB,EACjB,oBAA6B,EAC7B,MAAoB;IAEpB,MAAM,SAAS,GAAG,MAAM,IAAA,sDAAqB,EAAC;QAC7C,GAAG,WAAW;QACd,OAAO,EAAE;YACR,GAAG,EAAE,OAAO,CAAC,GAAG;YAChB,OAAO,EAAE;gBACR,GAAG,OAAO,CAAC,OAAO;gBAClB,kGAAkG;gBAClG,CAAC,uBAAY,CAAC,QAAQ,CAAC,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE;aAChF;SACD;KACD,CAAC,CAAC;IAEH,2FAA2F;IAC3F,SAAS,CAAC,aAAa,EAAE,CAAC,IAAI,CAAC,CAAC;IAEhC,MAAM,EAAE,GAAG,SAAS,CAAC,YAAY,CAAC;IAClC,MAAM,2BAA2B,GAAG,EAAE,CAAC,qBAAqB,CAAC;IAE7D,MAAM,cAAc,GAAG,GAAS,EAAE;QACjC,IAAA,iBAAM,EACL,IAAA,8BAAmB,EAAC,EAAE,CAAC,EACvB,KAAK,CAAC,0DAA0D,CAChE,CAAC;QACF,mCAAmC;QACnC,KAAK,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;QACxB,mCAAmC;QACnC,KAAK,EAAE,CAAC,QAAQ,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC,CAAC;IAEF,qCAAqC;IACrC,IACC,oBAAoB,KAAK,SAAS;QAClC,2BAA2B,KAAK,oBAAoB,EACnD,CAAC;QACF,sGAAsG;QACtG,cAAc,EAAE,CAAC;QACjB,OAAO,SAAS,CAAC;IAClB,CAAC;IAED,qIAAqI;IACrI,IAAI,2BAA2B,GAAG,oBAAoB,EAAE,CAAC;QACxD,MAAM,KAAK,GAAG,IAAI,uBAAY,CAC7B,mJAAmJ,CACnJ,CAAC;QACF,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,KAAK,CAAC;IACb,CAAC;IAED,IAAI,SAAqB,CAAC;IAC1B,IAAI,OAAmB,CAAC;IACxB,IAAI,OAAqC,CAAC;IAE1C,MAAM,OAAO,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrD,OAAO,GAAG,GAAS,EAAE,CAAC,MAAM,CAAC,IAAI,uBAAY,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACxF,OAAO,GAAG,CAAC,KAAkB,EAAQ,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAEtD,8GAA8G;QAC9G,SAAS,GAAG,GAAS,EAAE;YACtB,8EAA8E;YAC9E,IACC,oBAAoB,KAAK,SAAS;gBAClC,EAAE,CAAC,kBAAkB,IAAI,oBAAoB,EAC5C,CAAC;gBACF,wEAAwE;gBACxE,cAAc,EAAE,CAAC;gBACjB,OAAO,EAAE,CAAC;YACX,CAAC;QACF,CAAC,CAAC;QAEF,sGAAsG;QACtG,MAAM,EAAE,gBAAgB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QAC3C,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC9B,SAAS,CAAC,EAAE,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,4DAA4D;IAC5D,oHAAoH;IACpH,oFAAoF;IACpF,kGAAkG;IAClG,sIAAsI;IACtI,2CAA2C;IAC3C,SAAS,CAAC,OAAO,EAAE,CAAC;IAEpB,oCAAoC;IACpC,MAAM,OAAO;QACZ,8DAA8D;SAC7D,KAAK,CAAC,CAAC,KAAU,EAAE,EAAE;QACrB,iEAAiE;QACjE,SAAS,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACvB,MAAM,KAAK,CAAC;IACb,CAAC,CAAC;SACD,OAAO,CAAC,GAAG,EAAE;QACb,+IAA+I;QAC/I,8HAA8H;QAC9H,kGAAkG;QAClG,SAAS,CAAC,UAAU,EAAE,CAAC;QAEvB,SAAS,CAAC,GAAG,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;QAC/B,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACjC,MAAM,EAAE,mBAAmB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IAC/C,CAAC,CAAC,CAAC;IAEJ,OAAO,SAAS,CAAC;AAClB,CAAC;AA7GD,kDA6GC;AAED,2CAA2C","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tisIDeltaManagerFull,\n\tLoaderHeader,\n\ttype IContainer,\n} from \"@fluidframework/container-definitions/internal\";\nimport type { IRequest, IErrorBase } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { GenericError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport { loadExistingContainer } from \"./createAndLoadContainerUtils.js\";\nimport type { ILoaderProps } from \"./loader.js\";\n\n/* eslint-disable jsdoc/check-indentation */\n\n/**\n * Loads container and leaves it in a state where it does not process any ops.\n * Container instance returned by this function is in special mode where some functionality that is available in normal use will not work correctly\n * with instance of container returned by this function. Some examples:\n * 1. calling IContainer.connect() will have very little impact on this container as it will not process ops.\n * 2. functionality like waitContainerToCatchUp() or waiting for ops in any other way would hand infinitely, as this container is not processing ops\n * 3. No changes can be made to this container - they will be lost.\n *\n * If sequence number is provided, loads up to this sequence number and stops there, otherwise stops immediately after loading snapshot.\n * In all cases, container is returned disconnected & paused, or an exception is thrown\n * Notes:\n * 1. Ignores LoaderHeader.loadMode headers. Container is always returned with ops applied upt to provided sequence number,\n * or no ops applied at all (if sequence number is not provided)\n * 2. This call can hang infinitately if disconnected from internet (or hit some other conditions, like 429 storm).\n * Compare to Container.load() experience (with default settings) - it either returns failure right away, or succeeds, with\n * ops fetching / delta connection happening in parallel / after container load flow, and thus providing an object (Container instance) to observe\n * network connectivity issues / ability to cancel (IContainer.disconnect) or close container (IContainer.close)\n * This flow needs to fetch ops (potentially connecting to delta connection), and any retriable errors on this path result in infinite retry.\n * If you need to cancel that process, consider supplying AbortSignal parameter.\n * @param loaderProps - The loader props to use to load the container.\n * @param request - request identifying container instance / load parameters. LoaderHeader.loadMode headers are ignored (see above)\n * @param loadToSequenceNumber - optional sequence number. If provided, ops are processed up to this sequence number.\n * @param signal - optional abort signal that can be used to cancel waiting for the ops.\n * @returns IContainer instance\n *\n * @internal\n */\nexport async function loadContainerPaused(\n\tloaderProps: ILoaderProps,\n\trequest: IRequest,\n\tloadToSequenceNumber?: number,\n\tsignal?: AbortSignal,\n): Promise<IContainer> {\n\tconst container = await loadExistingContainer({\n\t\t...loaderProps,\n\t\trequest: {\n\t\t\turl: request.url,\n\t\t\theaders: {\n\t\t\t\t...request.headers,\n\t\t\t\t// ensure we do not process any ops, such that we can examine container before ops starts to flow.\n\t\t\t\t[LoaderHeader.loadMode]: { opsBeforeReturn: undefined, deltaConnection: \"none\" },\n\t\t\t},\n\t\t},\n\t});\n\n\t// Force readonly mode - this will ensure we don't receive an error for the lack of join op\n\tcontainer.forceReadonly?.(true);\n\n\tconst dm = container.deltaManager;\n\tconst lastProcessedSequenceNumber = dm.initialSequenceNumber;\n\n\tconst pauseContainer = (): void => {\n\t\tassert(\n\t\t\tisIDeltaManagerFull(dm),\n\t\t\t0xa7f /* Delta manager does not have inbound/outbound queues. */,\n\t\t);\n\t\t// eslint-disable-next-line no-void\n\t\tvoid dm.inbound.pause();\n\t\t// eslint-disable-next-line no-void\n\t\tvoid dm.outbound.pause();\n\t};\n\n\t// Happy path - we are already there.\n\tif (\n\t\tloadToSequenceNumber === undefined ||\n\t\tlastProcessedSequenceNumber === loadToSequenceNumber\n\t) {\n\t\t// If we have already reached the desired sequence number, call pauseContainer() to pause immediately.\n\t\tpauseContainer();\n\t\treturn container;\n\t}\n\n\t// If we are trying to pause at a specific sequence number, ensure the latest snapshot is not newer than the desired sequence number.\n\tif (lastProcessedSequenceNumber > loadToSequenceNumber) {\n\t\tconst error = new GenericError(\n\t\t\t\"Cannot satisfy request to pause the container at the specified sequence number. Most recent snapshot is newer than the specified sequence number.\",\n\t\t);\n\t\tcontainer.close(error);\n\t\tthrow error;\n\t}\n\n\tlet opHandler: () => void;\n\tlet onAbort: () => void;\n\tlet onClose: (error?: IErrorBase) => void;\n\n\tconst promise = new Promise<void>((resolve, reject) => {\n\t\tonAbort = (): void => reject(new GenericError(\"Canceled due to cancellation request.\"));\n\t\tonClose = (error?: IErrorBase): void => reject(error);\n\n\t\t// We need to setup a listener to stop op processing once we reach the desired sequence number (if specified).\n\t\topHandler = (): void => {\n\t\t\t// If there is a specified sequence number, keep processing until we reach it.\n\t\t\tif (\n\t\t\t\tloadToSequenceNumber !== undefined &&\n\t\t\t\tdm.lastSequenceNumber >= loadToSequenceNumber\n\t\t\t) {\n\t\t\t\t// Pause op processing once we have processed the desired number of ops.\n\t\t\t\tpauseContainer();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\n\t\t// If we have not yet reached the desired sequence number, setup a listener to pause once we reach it.\n\t\tsignal?.addEventListener(\"abort\", onAbort);\n\t\tcontainer.on(\"op\", opHandler);\n\t\tcontainer.on(\"closed\", onClose);\n\t});\n\n\t// There are no guarantees on when ops will land in storage.\n\t// No guarantees that driver implements ops caching (i.e. ops observed in previous session can be served from cache)\n\t// or that browser will provide caching capabilities / keep the data (localStorage).\n\t// Thus, we have to ensure we connect to delta storage in order to make forward progress with ops.\n\t// We also instructed not to fetch / apply any ops from storage above (to be able to install callback above before ops are processed),\n\t// connect() call will fetch ops as needed.\n\tcontainer.connect();\n\n\t// Wait for the ops to be processed.\n\tawait promise\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t.catch((error: any) => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tcontainer.close(error);\n\t\t\tthrow error;\n\t\t})\n\t\t.finally(() => {\n\t\t\t// There is not much value in leaving delta connection on. We are not processing ops, we also can't advance to \"connected\" state because of it.\n\t\t\t// We are not sending ops (due to forceReadonly() call above). We are holding collab window and any consensus-based processes.\n\t\t\t// It's better not to have connection in such case, as there are only nagatives, and no positives.\n\t\t\tcontainer.disconnect();\n\n\t\t\tcontainer.off(\"op\", opHandler);\n\t\t\tcontainer.off(\"closed\", onClose);\n\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t});\n\n\treturn container;\n}\n\n/* eslint-enable jsdoc/check-indentation */\n"]}
1
+ {"version":3,"file":"loadPaused.js","sourceRoot":"","sources":["../src/loadPaused.ts"],"names":[],"mappings":"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","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport {\n\tisIDeltaManagerFull,\n\tLoaderHeader,\n\ttype IContainer,\n} from \"@fluidframework/container-definitions/internal\";\nimport type { IRequest, IErrorBase } from \"@fluidframework/core-interfaces\";\nimport { assert } from \"@fluidframework/core-utils/internal\";\nimport { GenericError } from \"@fluidframework/telemetry-utils/internal\";\n\nimport { loadExistingContainer } from \"./createAndLoadContainerUtils.js\";\nimport type { ILoaderProps } from \"./loader.js\";\n\n/* eslint-disable jsdoc/check-indentation */\n\n/**\n * Loads container and leaves it in a state where it does not process any ops.\n * Container instance returned by this function is in special mode where some functionality that is available in normal use will not work correctly\n * with instance of container returned by this function. Some examples:\n * 1. calling IContainer.connect() will have very little impact on this container as it will not process ops.\n * 2. functionality like waitContainerToCatchUp() or waiting for ops in any other way would hand infinitely, as this container is not processing ops\n * 3. No changes can be made to this container - they will be lost.\n *\n * If sequence number is provided, loads up to this sequence number and stops there, otherwise stops immediately after loading snapshot.\n * In all cases, container is returned disconnected & paused, or an exception is thrown\n * Notes:\n * 1. Ignores LoaderHeader.loadMode headers. Container is always returned with ops applied upt to provided sequence number,\n * or no ops applied at all (if sequence number is not provided)\n * 2. This call can hang infinitately if disconnected from internet (or hit some other conditions, like 429 storm).\n * Compare to Container.load() experience (with default settings) - it either returns failure right away, or succeeds, with\n * ops fetching / delta connection happening in parallel / after container load flow, and thus providing an object (Container instance) to observe\n * network connectivity issues / ability to cancel (IContainer.disconnect) or close container (IContainer.close)\n * This flow needs to fetch ops (potentially connecting to delta connection), and any retriable errors on this path result in infinite retry.\n * If you need to cancel that process, consider supplying AbortSignal parameter.\n * @param loaderProps - The loader props to use to load the container.\n * @param request - request identifying container instance / load parameters. LoaderHeader.loadMode headers are ignored (see above)\n * @param loadToSequenceNumber - optional sequence number. If provided, ops are processed up to this sequence number.\n * @param signal - optional abort signal that can be used to cancel waiting for the ops.\n * @returns IContainer instance\n *\n * @internal\n */\nexport async function loadContainerPaused(\n\tloaderProps: ILoaderProps,\n\trequest: IRequest,\n\tloadToSequenceNumber?: number,\n\tsignal?: AbortSignal,\n): Promise<IContainer> {\n\tconst container = await loadExistingContainer({\n\t\t...loaderProps,\n\t\trequest: {\n\t\t\turl: request.url,\n\t\t\theaders: {\n\t\t\t\t...request.headers,\n\t\t\t\t// ensure we do not process any ops, such that we can examine container before ops starts to flow.\n\t\t\t\t[LoaderHeader.loadMode]: { opsBeforeReturn: undefined, deltaConnection: \"none\" },\n\t\t\t},\n\t\t},\n\t});\n\n\t// Force readonly mode - this will ensure we don't receive an error for the lack of join op\n\tcontainer.forceReadonly?.(true);\n\n\tconst dm = container.deltaManager;\n\tconst lastProcessedSequenceNumber = dm.initialSequenceNumber;\n\n\tconst pauseContainer = (): void => {\n\t\tassert(\n\t\t\tisIDeltaManagerFull(dm),\n\t\t\t0xa7f /* Delta manager does not have inbound/outbound queues. */,\n\t\t);\n\t\t// eslint-disable-next-line no-void\n\t\tvoid dm.inbound.pause();\n\t\t// eslint-disable-next-line no-void\n\t\tvoid dm.outbound.pause();\n\t};\n\n\t// Happy path - we are already there.\n\tif (\n\t\tloadToSequenceNumber === undefined ||\n\t\tlastProcessedSequenceNumber === loadToSequenceNumber\n\t) {\n\t\t// If we have already reached the desired sequence number, call pauseContainer() to pause immediately.\n\t\tpauseContainer();\n\t\treturn container;\n\t}\n\n\t// If we are trying to pause at a specific sequence number, ensure the latest snapshot is not newer than the desired sequence number.\n\tif (lastProcessedSequenceNumber > loadToSequenceNumber) {\n\t\tconst error = new GenericError(\n\t\t\t\"Cannot satisfy request to pause the container at the specified sequence number. Most recent snapshot is newer than the specified sequence number.\",\n\t\t);\n\t\tcontainer.close(error);\n\t\tthrow error;\n\t}\n\n\tlet opHandler: () => void;\n\tlet onAbort: () => void;\n\tlet onClose: (error?: IErrorBase) => void;\n\n\tconst promise = new Promise<void>((resolve, reject) => {\n\t\tonAbort = (): void => reject(new GenericError(\"Canceled due to cancellation request.\"));\n\t\t// eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors\n\t\tonClose = (error?: IErrorBase): void => reject(error);\n\n\t\t// We need to setup a listener to stop op processing once we reach the desired sequence number (if specified).\n\t\topHandler = (): void => {\n\t\t\t// If there is a specified sequence number, keep processing until we reach it.\n\t\t\tif (\n\t\t\t\tloadToSequenceNumber !== undefined &&\n\t\t\t\tdm.lastSequenceNumber >= loadToSequenceNumber\n\t\t\t) {\n\t\t\t\t// Pause op processing once we have processed the desired number of ops.\n\t\t\t\tpauseContainer();\n\t\t\t\tresolve();\n\t\t\t}\n\t\t};\n\n\t\t// If we have not yet reached the desired sequence number, setup a listener to pause once we reach it.\n\t\tsignal?.addEventListener(\"abort\", onAbort);\n\t\tcontainer.on(\"op\", opHandler);\n\t\tcontainer.on(\"closed\", onClose);\n\t});\n\n\t// There are no guarantees on when ops will land in storage.\n\t// No guarantees that driver implements ops caching (i.e. ops observed in previous session can be served from cache)\n\t// or that browser will provide caching capabilities / keep the data (localStorage).\n\t// Thus, we have to ensure we connect to delta storage in order to make forward progress with ops.\n\t// We also instructed not to fetch / apply any ops from storage above (to be able to install callback above before ops are processed),\n\t// connect() call will fetch ops as needed.\n\tcontainer.connect();\n\n\t// Wait for the ops to be processed.\n\tawait promise\n\t\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t\t.catch((error: any) => {\n\t\t\t// eslint-disable-next-line @typescript-eslint/no-unsafe-argument\n\t\t\tcontainer.close(error);\n\t\t\tthrow error;\n\t\t})\n\t\t.finally(() => {\n\t\t\t// There is not much value in leaving delta connection on. We are not processing ops, we also can't advance to \"connected\" state because of it.\n\t\t\t// We are not sending ops (due to forceReadonly() call above). We are holding collab window and any consensus-based processes.\n\t\t\t// It's better not to have connection in such case, as there are only nagatives, and no positives.\n\t\t\tcontainer.disconnect();\n\n\t\t\tcontainer.off(\"op\", opHandler);\n\t\t\tcontainer.off(\"closed\", onClose);\n\t\t\tsignal?.removeEventListener(\"abort\", onAbort);\n\t\t});\n\n\treturn container;\n}\n\n/* eslint-enable jsdoc/check-indentation */\n"]}
@@ -5,5 +5,5 @@
5
5
  * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY
6
6
  */
7
7
  export declare const pkgName = "@fluidframework/container-loader";
8
- export declare const pkgVersion = "2.73.0";
8
+ export declare const pkgVersion = "2.74.0-368706";
9
9
  //# sourceMappingURL=packageVersion.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAC1D,eAAO,MAAM,UAAU,WAAW,CAAC"}
1
+ {"version":3,"file":"packageVersion.d.ts","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,eAAO,MAAM,OAAO,qCAAqC,CAAC;AAC1D,eAAO,MAAM,UAAU,kBAAkB,CAAC"}
@@ -8,5 +8,5 @@
8
8
  Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.pkgVersion = exports.pkgName = void 0;
10
10
  exports.pkgName = "@fluidframework/container-loader";
11
- exports.pkgVersion = "2.73.0";
11
+ exports.pkgVersion = "2.74.0-368706";
12
12
  //# sourceMappingURL=packageVersion.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,kCAAkC,CAAC;AAC7C,QAAA,UAAU,GAAG,QAAQ,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-loader\";\nexport const pkgVersion = \"2.73.0\";\n"]}
1
+ {"version":3,"file":"packageVersion.js","sourceRoot":"","sources":["../src/packageVersion.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;AAEU,QAAA,OAAO,GAAG,kCAAkC,CAAC;AAC7C,QAAA,UAAU,GAAG,eAAe,CAAC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n *\n * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY\n */\n\nexport const pkgName = \"@fluidframework/container-loader\";\nexport const pkgVersion = \"2.74.0-368706\";\n"]}
@@ -4,10 +4,10 @@
4
4
  */
5
5
  import { AttachState, type IAudience, type ICriticalContainerError } from "@fluidframework/container-definitions";
6
6
  import type { IContainer, IContainerEvents, IContainerLoadMode, IDeltaManager, IFluidCodeDetails, ReadOnlyInfo } from "@fluidframework/container-definitions/internal";
7
- import { type FluidObject, type IRequest, type ITelemetryBaseProperties } from "@fluidframework/core-interfaces";
7
+ import { type FluidObject, type IRequest } from "@fluidframework/core-interfaces";
8
8
  import { type IClientDetails, type IQuorumClients } from "@fluidframework/driver-definitions";
9
9
  import { type IResolvedUrl, type IDocumentMessage, type ISequencedDocumentMessage } from "@fluidframework/driver-definitions/internal";
10
- import { type ITelemetryLoggerExt, EventEmitterWithErrorHandling } from "@fluidframework/telemetry-utils/internal";
10
+ import { EventEmitterWithErrorHandling } from "@fluidframework/telemetry-utils/internal";
11
11
  import { ConnectionState } from "./connectionState.js";
12
12
  import type { ILoaderServices } from "./loader.js";
13
13
  import { type IPendingContainerState } from "./serializedStateManager.js";
@@ -65,13 +65,6 @@ export interface IContainerCreateProps extends ILoaderServices {
65
65
  * @legacy @beta
66
66
  */
67
67
  export declare function waitContainerToCatchUp(container: IContainer): Promise<boolean>;
68
- /**
69
- * Helper function to report to telemetry cases where operation takes longer than expected (200ms)
70
- * @param logger - logger to use
71
- * @param eventName - event name
72
- * @param action - functor to call and measure
73
- */
74
- export declare function ReportIfTooLong(logger: ITelemetryLoggerExt, eventName: string, action: () => Promise<ITelemetryBaseProperties>): Promise<void>;
75
68
  export declare class Container extends EventEmitterWithErrorHandling<IContainerEvents> implements IContainer, ContainerAlpha {
76
69
  /**
77
70
  * Load an existing container.
@@ -1 +1 @@
1
- {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"container.d.ts","sourceRoot":"","sources":["../src/container.ts"],"names":[],"mappings":"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"}
package/lib/container.js CHANGED
@@ -111,19 +111,6 @@ export async function waitContainerToCatchUp(container) {
111
111
  });
112
112
  }
113
113
  const getCodeProposal = (quorum) => quorum.get("code") ?? quorum.get("code2");
114
- /**
115
- * Helper function to report to telemetry cases where operation takes longer than expected (200ms)
116
- * @param logger - logger to use
117
- * @param eventName - event name
118
- * @param action - functor to call and measure
119
- */
120
- export async function ReportIfTooLong(logger, eventName, action) {
121
- const event = PerformanceEvent.start(logger, { eventName });
122
- const props = await action();
123
- if (event.duration > 200) {
124
- event.end(props);
125
- }
126
- }
127
114
  const summarizerClientType = "summarizer";
128
115
  export class Container extends EventEmitterWithErrorHandling {
129
116
  /**
@@ -141,6 +128,7 @@ export class Container extends EventEmitterWithErrorHandling {
141
128
  : (loadMode ?? defaultMode);
142
129
  const onClosed = (err) => {
143
130
  // pre-0.58 error message: containerClosedWithoutErrorDuringLoad
131
+ // eslint-disable-next-line @typescript-eslint/prefer-promise-reject-errors
144
132
  reject(err ?? new GenericError("Container closed without error during load"));
145
133
  };
146
134
  container.on("closed", onClosed);