@fluidframework/test-utils 2.0.0-internal.6.4.0 → 2.0.0-internal.7.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/api-extractor.json +9 -1
  3. package/api-report/test-utils.api.md +385 -0
  4. package/dist/TestSummaryUtils.d.ts.map +1 -1
  5. package/dist/TestSummaryUtils.js +10 -7
  6. package/dist/TestSummaryUtils.js.map +1 -1
  7. package/dist/index.d.ts +1 -0
  8. package/dist/index.d.ts.map +1 -1
  9. package/dist/index.js +3 -1
  10. package/dist/index.js.map +1 -1
  11. package/dist/localCodeLoader.d.ts +2 -2
  12. package/dist/localCodeLoader.d.ts.map +1 -1
  13. package/dist/localCodeLoader.js +8 -1
  14. package/dist/localCodeLoader.js.map +1 -1
  15. package/dist/packageVersion.d.ts +1 -1
  16. package/dist/packageVersion.js +1 -1
  17. package/dist/packageVersion.js.map +1 -1
  18. package/dist/test-utils-alpha.d.ts +675 -0
  19. package/dist/test-utils-beta.d.ts +675 -0
  20. package/dist/test-utils-public.d.ts +675 -0
  21. package/dist/test-utils.d.ts +675 -0
  22. package/dist/testContainerRuntimeFactory.d.ts.map +1 -1
  23. package/dist/testContainerRuntimeFactory.js +8 -3
  24. package/dist/testContainerRuntimeFactory.js.map +1 -1
  25. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.d.ts +22 -0
  26. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.d.ts.map +1 -0
  27. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.js +24 -0
  28. package/dist/testContainerRuntimeFactoryWithDefaultDataStore.js.map +1 -0
  29. package/dist/testFluidObject.d.ts +1 -1
  30. package/dist/testFluidObject.d.ts.map +1 -1
  31. package/dist/testFluidObject.js +21 -19
  32. package/dist/testFluidObject.js.map +1 -1
  33. package/dist/testObjectProvider.d.ts +0 -2
  34. package/dist/testObjectProvider.d.ts.map +1 -1
  35. package/dist/testObjectProvider.js +4 -29
  36. package/dist/testObjectProvider.js.map +1 -1
  37. package/dist/timeoutUtils.d.ts +1 -1
  38. package/dist/timeoutUtils.d.ts.map +1 -1
  39. package/dist/timeoutUtils.js +7 -7
  40. package/dist/timeoutUtils.js.map +1 -1
  41. package/dist/tsdoc-metadata.json +1 -1
  42. package/package.json +34 -34
  43. package/src/TestSummaryUtils.ts +13 -12
  44. package/src/index.ts +1 -0
  45. package/src/localCodeLoader.ts +6 -5
  46. package/src/packageVersion.ts +1 -1
  47. package/src/testContainerRuntimeFactory.ts +5 -2
  48. package/src/testContainerRuntimeFactoryWithDefaultDataStore.ts +50 -0
  49. package/src/testFluidObject.ts +4 -3
  50. package/src/testObjectProvider.ts +3 -41
package/CHANGELOG.md CHANGED
@@ -1,5 +1,69 @@
1
1
  # @fluidframework/test-utils
2
2
 
3
+ ## 2.0.0-internal.7.1.0
4
+
5
+ Dependency updates only.
6
+
7
+ ## 2.0.0-internal.7.0.0
8
+
9
+ ### Major Changes
10
+
11
+ - Dependencies on @fluidframework/protocol-definitions package updated to 3.0.0 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
12
+
13
+ This included the following changes from the protocol-definitions release:
14
+
15
+ - Updating signal interfaces for some planned improvements. The intention is split the interface between signals
16
+ submitted by clients to the server and the resulting signals sent from the server to clients.
17
+ - A new optional type member is available on the ISignalMessage interface and a new ISentSignalMessage interface has
18
+ been added, which will be the typing for signals sent from the client to the server. Both extend a new
19
+ ISignalMessageBase interface that contains common members.
20
+ - The @fluidframework/common-definitions package dependency has been updated to version 1.0.0.
21
+
22
+ - Server upgrade: dependencies on Fluid server packages updated to 2.0.1 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
23
+
24
+ Dependencies on the following Fluid server package have been updated to version 2.0.1:
25
+
26
+ - @fluidframework/gitresources: 2.0.1
27
+ - @fluidframework/server-kafka-orderer: 2.0.1
28
+ - @fluidframework/server-lambdas: 2.0.1
29
+ - @fluidframework/server-lambdas-driver: 2.0.1
30
+ - @fluidframework/server-local-server: 2.0.1
31
+ - @fluidframework/server-memory-orderer: 2.0.1
32
+ - @fluidframework/protocol-base: 2.0.1
33
+ - @fluidframework/server-routerlicious: 2.0.1
34
+ - @fluidframework/server-routerlicious-base: 2.0.1
35
+ - @fluidframework/server-services: 2.0.1
36
+ - @fluidframework/server-services-client: 2.0.1
37
+ - @fluidframework/server-services-core: 2.0.1
38
+ - @fluidframework/server-services-ordering-kafkanode: 2.0.1
39
+ - @fluidframework/server-services-ordering-rdkafka: 2.0.1
40
+ - @fluidframework/server-services-ordering-zookeeper: 2.0.1
41
+ - @fluidframework/server-services-shared: 2.0.1
42
+ - @fluidframework/server-services-telemetry: 2.0.1
43
+ - @fluidframework/server-services-utils: 2.0.1
44
+ - @fluidframework/server-test-utils: 2.0.1
45
+ - tinylicious: 2.0.1
46
+
47
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
48
+
49
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
50
+
51
+ - `BaseContainerRuntimeFactory`
52
+ - `RuntimeFactory`
53
+ - `ContainerRuntime` (constructor and `loadRuntime`)
54
+ - `FluidDataStoreRuntime`
55
+
56
+ See [testContainerRuntimeFactoryWithDefaultDataStore.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/test/test-utils/src/testContainerRuntimeFactoryWithDefaultDataStore.ts) for an example implemtation of `provideEntryPoint` for ContainerRuntime.
57
+ See [pureDataObjectFactory.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/framework/aqueduct/src/data-object-factories/pureDataObjectFactory.ts#L83) for an example implementation of `provideEntryPoint` for DataStoreRuntime.
58
+
59
+ Subsequently, various `entryPoint` and `getEntryPoint()` endpoints have become required. Please see [containerRuntime.ts](https://github.com/microsoft/FluidFramework/tree/main/packages/runtime/container-runtime/src/containerRuntime.ts) for example implementations of these APIs.
60
+
61
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
62
+
63
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
64
+
65
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
66
+
3
67
  ## 2.0.0-internal.6.4.0
4
68
 
5
69
  Dependency updates only.
@@ -1,4 +1,12 @@
1
1
  {
2
2
  "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "@fluidframework/build-common/api-extractor-common-report.json"
3
+ "extends": "@fluidframework/build-common/api-extractor-base.json",
4
+ "messages": {
5
+ "extractorMessageReporting": {
6
+ "ae-missing-release-tag": {
7
+ // TODO: Fix violations and remove this rule override
8
+ "logLevel": "none"
9
+ }
10
+ }
11
+ }
4
12
  }
@@ -0,0 +1,385 @@
1
+ ## API Report File for "@fluidframework/test-utils"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ import { ConfigTypes } from '@fluidframework/telemetry-utils';
8
+ import { ContainerRuntime } from '@fluidframework/container-runtime';
9
+ import { ContainerRuntimeFactoryWithDefaultDataStore } from '@fluidframework/aqueduct';
10
+ import { FluidDataStoreRuntime } from '@fluidframework/datastore';
11
+ import { FluidObject } from '@fluidframework/core-interfaces';
12
+ import { IChannelFactory } from '@fluidframework/datastore-definitions';
13
+ import { ICodeDetailsLoader } from '@fluidframework/container-definitions';
14
+ import { IConfigProviderBase } from '@fluidframework/telemetry-utils';
15
+ import { IContainer } from '@fluidframework/container-definitions';
16
+ import { IContainerContext } from '@fluidframework/container-definitions';
17
+ import { IContainerRuntime } from '@fluidframework/container-runtime-definitions';
18
+ import { IContainerRuntimeOptions } from '@fluidframework/container-runtime';
19
+ import { IDocumentService } from '@fluidframework/driver-definitions';
20
+ import { IDocumentServiceFactory } from '@fluidframework/driver-definitions';
21
+ import { IDocumentStorageService } from '@fluidframework/driver-definitions';
22
+ import { IFluidCodeDetails } from '@fluidframework/container-definitions';
23
+ import { IFluidDataStoreChannel } from '@fluidframework/runtime-definitions';
24
+ import { IFluidDataStoreContext } from '@fluidframework/runtime-definitions';
25
+ import { IFluidDataStoreFactory } from '@fluidframework/runtime-definitions';
26
+ import { IFluidDataStoreRuntime } from '@fluidframework/datastore-definitions';
27
+ import { IFluidHandle } from '@fluidframework/core-interfaces';
28
+ import { IFluidLoadable } from '@fluidframework/core-interfaces';
29
+ import { IFluidModule } from '@fluidframework/container-definitions';
30
+ import { IFluidModuleWithDetails } from '@fluidframework/container-definitions';
31
+ import { IHostLoader } from '@fluidframework/container-definitions';
32
+ import { ILoaderOptions } from '@fluidframework/container-definitions';
33
+ import { ILoaderProps } from '@fluidframework/container-loader';
34
+ import { IOnDemandSummarizeOptions } from '@fluidframework/container-runtime';
35
+ import { IProvideFluidCodeDetailsComparer } from '@fluidframework/container-definitions';
36
+ import { IProvideFluidDataStoreFactory } from '@fluidframework/runtime-definitions';
37
+ import { IProvideFluidDataStoreRegistry } from '@fluidframework/runtime-definitions';
38
+ import { IProvideRuntimeFactory } from '@fluidframework/container-definitions';
39
+ import { IRequest } from '@fluidframework/core-interfaces';
40
+ import { IRequestHeader } from '@fluidframework/core-interfaces';
41
+ import { IResolvedUrl } from '@fluidframework/driver-definitions';
42
+ import { IResponse } from '@fluidframework/core-interfaces';
43
+ import { IRuntime } from '@fluidframework/container-definitions';
44
+ import { ISharedMap } from '@fluidframework/map';
45
+ import { ISummarizer } from '@fluidframework/container-runtime';
46
+ import { ISummaryContext } from '@fluidframework/driver-definitions';
47
+ import { ISummaryTree } from '@fluidframework/protocol-definitions';
48
+ import { ITelemetryBaseEvent } from '@fluidframework/core-interfaces';
49
+ import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
50
+ import { ITelemetryGenericEvent } from '@fluidframework/core-interfaces';
51
+ import { ITestDriver } from '@fluidframework/test-driver-definitions';
52
+ import { IUrlResolver } from '@fluidframework/driver-definitions';
53
+ import { Loader } from '@fluidframework/container-loader';
54
+ import { NamedFluidDataStoreRegistryEntries } from '@fluidframework/runtime-definitions';
55
+ import { RuntimeRequestHandler } from '@fluidframework/request-handler';
56
+
57
+ // @public (undocumented)
58
+ export type ChannelFactoryRegistry = Iterable<[string | undefined, IChannelFactory]>;
59
+
60
+ // @public
61
+ export function createAndAttachContainer(source: IFluidCodeDetails, loader: IHostLoader, attachRequest: IRequest): Promise<IContainer>;
62
+
63
+ // @public
64
+ export const createContainerRuntimeFactoryWithDefaultDataStore: (Base: typeof ContainerRuntimeFactoryWithDefaultDataStore | undefined, ctorArgs: {
65
+ defaultFactory: IFluidDataStoreFactory;
66
+ registryEntries: NamedFluidDataStoreRegistryEntries;
67
+ dependencyContainer?: any;
68
+ requestHandlers?: RuntimeRequestHandler[] | undefined;
69
+ runtimeOptions?: IContainerRuntimeOptions | undefined;
70
+ provideEntryPoint?: ((runtime: IContainerRuntime) => Promise<FluidObject>) | undefined;
71
+ }) => ContainerRuntimeFactoryWithDefaultDataStore;
72
+
73
+ // @public (undocumented)
74
+ export const createDocumentId: () => string;
75
+
76
+ // @public
77
+ export function createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, documentServiceFactory: IDocumentServiceFactory, urlResolver: IUrlResolver, logger?: ITelemetryBaseLogger, options?: ILoaderOptions): IHostLoader;
78
+
79
+ // @public
80
+ export function createSummarizer(provider: ITestObjectProvider, container: IContainer, config?: ITestContainerConfig, summaryVersion?: string, logger?: ITelemetryBaseLogger): Promise<{
81
+ container: IContainer;
82
+ summarizer: ISummarizer;
83
+ }>;
84
+
85
+ // @public
86
+ export function createSummarizerFromFactory(provider: ITestObjectProvider, container: IContainer, dataStoreFactory: IFluidDataStoreFactory, summaryVersion?: string, containerRuntimeFactoryType?: typeof ContainerRuntimeFactoryWithDefaultDataStore, registryEntries?: NamedFluidDataStoreRegistryEntries, logger?: ITelemetryBaseLogger, configProvider?: IConfigProviderBase): Promise<{
87
+ container: IContainer;
88
+ summarizer: ISummarizer;
89
+ }>;
90
+
91
+ // @public
92
+ export const createTestContainerRuntimeFactory: (containerRuntimeCtor: typeof ContainerRuntime) => {
93
+ new (type: string, dataStoreFactory: IFluidDataStoreFactory, runtimeOptions?: IContainerRuntimeOptions, requestHandlers?: RuntimeRequestHandler[]): {
94
+ type: string;
95
+ dataStoreFactory: IFluidDataStoreFactory;
96
+ runtimeOptions: IContainerRuntimeOptions;
97
+ requestHandlers: RuntimeRequestHandler[];
98
+ instantiateFirstTime(runtime: ContainerRuntime): Promise<void>;
99
+ instantiateFromExisting(runtime: ContainerRuntime): Promise<void>;
100
+ preInitialize(context: IContainerContext, existing: boolean): Promise<IRuntime & IContainerRuntime>;
101
+ readonly IRuntimeFactory: any;
102
+ instantiateRuntime(context: IContainerContext, existing: boolean): Promise<IRuntime>;
103
+ hasInitialized(_runtime: IContainerRuntime): Promise<void>;
104
+ };
105
+ };
106
+
107
+ // @public (undocumented)
108
+ export enum DataObjectFactoryType {
109
+ // (undocumented)
110
+ Primed = 0,
111
+ // (undocumented)
112
+ Test = 1
113
+ }
114
+
115
+ // @public (undocumented)
116
+ export const defaultTimeoutDurationMs = 250;
117
+
118
+ // @public
119
+ export class EventAndErrorTrackingLogger implements ITelemetryBaseLogger {
120
+ constructor(baseLogger: ITelemetryBaseLogger);
121
+ // (undocumented)
122
+ registerExpectedEvent(...orderedExpectedEvents: ITelemetryGenericEvent[]): void;
123
+ // (undocumented)
124
+ reportAndClearTrackedEvents(): {
125
+ expectedNotFound: ({
126
+ index: number;
127
+ event: ITelemetryGenericEvent | undefined;
128
+ } | undefined)[];
129
+ unexpectedErrors: ITelemetryBaseEvent[];
130
+ };
131
+ // (undocumented)
132
+ send(event: ITelemetryBaseEvent): void;
133
+ }
134
+
135
+ // @public (undocumented)
136
+ export type fluidEntryPoint = SupportedExportInterfaces | IFluidModule;
137
+
138
+ // @public (undocumented)
139
+ export function getUnexpectedLogErrorException(logger: EventAndErrorTrackingLogger | undefined, prefix?: string): Error | undefined;
140
+
141
+ // @public (undocumented)
142
+ export interface IOpProcessingController {
143
+ // (undocumented)
144
+ pauseProcessing(...containers: IContainer[]): Promise<void>;
145
+ // (undocumented)
146
+ processIncoming(...containers: IContainer[]): Promise<void>;
147
+ // (undocumented)
148
+ processOutgoing(...containers: IContainer[]): Promise<void>;
149
+ // (undocumented)
150
+ resumeProcessing(...containers: IContainer[]): void;
151
+ }
152
+
153
+ // @public (undocumented)
154
+ export interface IProvideTestFluidObject {
155
+ // (undocumented)
156
+ readonly ITestFluidObject: ITestFluidObject;
157
+ }
158
+
159
+ // @public (undocumented)
160
+ export interface ITestContainerConfig {
161
+ enableAttribution?: boolean;
162
+ fluidDataObjectType?: DataObjectFactoryType;
163
+ loaderProps?: Partial<ILoaderProps>;
164
+ registry?: ChannelFactoryRegistry;
165
+ runtimeOptions?: IContainerRuntimeOptions;
166
+ }
167
+
168
+ // @public (undocumented)
169
+ export interface ITestFluidObject extends IProvideTestFluidObject, IFluidLoadable {
170
+ // (undocumented)
171
+ readonly channel: IFluidDataStoreChannel;
172
+ // (undocumented)
173
+ readonly context: IFluidDataStoreContext;
174
+ // (undocumented)
175
+ getSharedObject<T = any>(id: string): Promise<T>;
176
+ // (undocumented)
177
+ root: ISharedMap;
178
+ // (undocumented)
179
+ readonly runtime: IFluidDataStoreRuntime;
180
+ }
181
+
182
+ // @public (undocumented)
183
+ export interface ITestObjectProvider {
184
+ // (undocumented)
185
+ createContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>): Promise<IContainer>;
186
+ // (undocumented)
187
+ createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint;
188
+ // (undocumented)
189
+ createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, loaderProps?: Partial<ILoaderProps>): IHostLoader;
190
+ // (undocumented)
191
+ defaultCodeDetails: IFluidCodeDetails;
192
+ // (undocumented)
193
+ documentId: string;
194
+ // (undocumented)
195
+ documentServiceFactory: IDocumentServiceFactory;
196
+ // (undocumented)
197
+ driver: ITestDriver;
198
+ // (undocumented)
199
+ ensureSynchronized(timeoutDuration?: number): Promise<void>;
200
+ // (undocumented)
201
+ loadContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>, requestHeader?: IRequestHeader): Promise<IContainer>;
202
+ // (undocumented)
203
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
204
+ // (undocumented)
205
+ logger: ITelemetryBaseLogger;
206
+ // (undocumented)
207
+ makeTestContainer(testContainerConfig?: ITestContainerConfig): Promise<IContainer>;
208
+ makeTestLoader(testContainerConfig?: ITestContainerConfig): IHostLoader;
209
+ // (undocumented)
210
+ opProcessingController: IOpProcessingController;
211
+ // (undocumented)
212
+ reset(): void;
213
+ // (undocumented)
214
+ updateDocumentId(url: IResolvedUrl | undefined): void;
215
+ // (undocumented)
216
+ urlResolver: IUrlResolver;
217
+ }
218
+
219
+ // @public (undocumented)
220
+ export class LoaderContainerTracker implements IOpProcessingController {
221
+ constructor(syncSummarizerClients?: boolean);
222
+ add<LoaderType extends IHostLoader>(loader: LoaderType): void;
223
+ ensureSynchronized(...containers: IContainer[]): Promise<void>;
224
+ pauseProcessing(...containers: IContainer[]): Promise<void>;
225
+ processIncoming(...containers: IContainer[]): Promise<void>;
226
+ processOutgoing(...containers: IContainer[]): Promise<void>;
227
+ reset(): void;
228
+ resumeProcessing(...containers: IContainer[]): IContainer[];
229
+ }
230
+
231
+ // @public
232
+ export class LocalCodeLoader implements ICodeDetailsLoader {
233
+ constructor(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, runtimeOptions?: IContainerRuntimeOptions);
234
+ load(source: IFluidCodeDetails): Promise<IFluidModuleWithDetails>;
235
+ }
236
+
237
+ // @public (undocumented)
238
+ export const mockConfigProvider: (settings?: Record<string, ConfigTypes>) => IConfigProviderBase;
239
+
240
+ // @public
241
+ export const retryWithEventualValue: <T>(callback: () => Promise<T>, check: (value: T) => boolean, defaultValue: T, maxTries?: number, backOffMs?: number) => Promise<T>;
242
+
243
+ // @public
244
+ export function summarizeNow(summarizer: ISummarizer, inputs?: string | IOnDemandSummarizeOptions): Promise<{
245
+ summaryTree: ISummaryTree;
246
+ summaryVersion: string;
247
+ summaryRefSeq: number;
248
+ }>;
249
+
250
+ // @public (undocumented)
251
+ export type SupportedExportInterfaces = Partial<IProvideRuntimeFactory & IProvideFluidDataStoreFactory & IProvideFluidDataStoreRegistry & IProvideFluidCodeDetailsComparer>;
252
+
253
+ // @public
254
+ export const TestContainerRuntimeFactory: {
255
+ new (type: string, dataStoreFactory: IFluidDataStoreFactory, runtimeOptions?: IContainerRuntimeOptions, requestHandlers?: RuntimeRequestHandler[]): {
256
+ type: string;
257
+ dataStoreFactory: IFluidDataStoreFactory;
258
+ runtimeOptions: IContainerRuntimeOptions;
259
+ requestHandlers: RuntimeRequestHandler[];
260
+ instantiateFirstTime(runtime: ContainerRuntime): Promise<void>;
261
+ instantiateFromExisting(runtime: ContainerRuntime): Promise<void>;
262
+ preInitialize(context: IContainerContext, existing: boolean): Promise<IRuntime & IContainerRuntime>;
263
+ readonly IRuntimeFactory: any;
264
+ instantiateRuntime(context: IContainerContext, existing: boolean): Promise<IRuntime>;
265
+ hasInitialized(_runtime: IContainerRuntime): Promise<void>;
266
+ };
267
+ };
268
+
269
+ // @public
270
+ export class TestFluidObject implements ITestFluidObject {
271
+ constructor(runtime: IFluidDataStoreRuntime, channel: IFluidDataStoreChannel, context: IFluidDataStoreContext, factoryEntriesMap: Map<string, IChannelFactory>);
272
+ // (undocumented)
273
+ readonly channel: IFluidDataStoreChannel;
274
+ // (undocumented)
275
+ readonly context: IFluidDataStoreContext;
276
+ getSharedObject<T = any>(id: string): Promise<T>;
277
+ // (undocumented)
278
+ get handle(): IFluidHandle<this>;
279
+ // (undocumented)
280
+ get IFluidLoadable(): this;
281
+ // @deprecated (undocumented)
282
+ get IFluidRouter(): this;
283
+ // (undocumented)
284
+ initialize(existing: boolean): Promise<void>;
285
+ // (undocumented)
286
+ get ITestFluidObject(): this;
287
+ // @deprecated (undocumented)
288
+ request(request: IRequest): Promise<IResponse>;
289
+ // (undocumented)
290
+ root: ISharedMap;
291
+ // (undocumented)
292
+ readonly runtime: IFluidDataStoreRuntime;
293
+ }
294
+
295
+ // @public
296
+ export class TestFluidObjectFactory implements IFluidDataStoreFactory {
297
+ constructor(factoryEntries: ChannelFactoryRegistry, type?: string);
298
+ // (undocumented)
299
+ get IFluidDataStoreFactory(): this;
300
+ // (undocumented)
301
+ instantiateDataStore(context: IFluidDataStoreContext, existing: boolean): Promise<FluidDataStoreRuntime>;
302
+ // (undocumented)
303
+ readonly type: string;
304
+ }
305
+
306
+ // @public
307
+ export class TestObjectProvider implements ITestObjectProvider {
308
+ constructor(LoaderConstructor: typeof Loader, driver: ITestDriver, createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint);
309
+ createContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>): Promise<IContainer>;
310
+ // (undocumented)
311
+ readonly createFluidEntryPoint: (testContainerConfig?: ITestContainerConfig) => fluidEntryPoint;
312
+ createLoader(packageEntries: Iterable<[IFluidCodeDetails, fluidEntryPoint]>, loaderProps?: Partial<ILoaderProps>): Loader;
313
+ // (undocumented)
314
+ get defaultCodeDetails(): IFluidCodeDetails;
315
+ // (undocumented)
316
+ get documentId(): string;
317
+ // (undocumented)
318
+ get documentServiceFactory(): IDocumentServiceFactory;
319
+ // (undocumented)
320
+ readonly driver: ITestDriver;
321
+ // (undocumented)
322
+ ensureSynchronized(): Promise<void>;
323
+ // (undocumented)
324
+ loadContainer(entryPoint: fluidEntryPoint, loaderProps?: Partial<ILoaderProps>, requestHeader?: IRequestHeader): Promise<IContainer>;
325
+ // (undocumented)
326
+ readonly LoaderConstructor: typeof Loader;
327
+ loadTestContainer(testContainerConfig?: ITestContainerConfig, requestHeader?: IRequestHeader): Promise<IContainer>;
328
+ // (undocumented)
329
+ get logger(): EventAndErrorTrackingLogger;
330
+ set logger(logger: EventAndErrorTrackingLogger);
331
+ makeTestContainer(testContainerConfig?: ITestContainerConfig): Promise<IContainer>;
332
+ makeTestLoader(testContainerConfig?: ITestContainerConfig): Loader;
333
+ // (undocumented)
334
+ get opProcessingController(): IOpProcessingController;
335
+ // (undocumented)
336
+ reset(): void;
337
+ // (undocumented)
338
+ resetLoaderContainerTracker(syncSummarizerClients?: boolean): void;
339
+ // (undocumented)
340
+ updateDocumentId(resolvedUrl: IResolvedUrl | undefined): void;
341
+ // (undocumented)
342
+ get urlResolver(): IUrlResolver;
343
+ // (undocumented)
344
+ waitContainerToCatchUp(container: IContainer): Promise<boolean>;
345
+ }
346
+
347
+ // @public
348
+ export function timeoutAwait<T = void>(promise: PromiseLike<T>, timeoutOptions?: TimeoutWithError | TimeoutWithValue<T>): Promise<T>;
349
+
350
+ // @public
351
+ export function timeoutPromise<T = void>(executor: (resolve: (value: T | PromiseLike<T>) => void, reject: (reason?: any) => void) => void, timeoutOptions?: TimeoutWithError | TimeoutWithValue<T>): Promise<T>;
352
+
353
+ // @public (undocumented)
354
+ export interface TimeoutWithError {
355
+ durationMs?: number;
356
+ // (undocumented)
357
+ errorMsg?: string;
358
+ // (undocumented)
359
+ reject?: true;
360
+ }
361
+
362
+ // @public (undocumented)
363
+ export interface TimeoutWithValue<T = void> {
364
+ durationMs?: number;
365
+ // (undocumented)
366
+ reject: false;
367
+ // (undocumented)
368
+ value: T;
369
+ }
370
+
371
+ // @public
372
+ export function waitForContainerConnection(container: IContainer, failOnContainerClose?: boolean, timeoutOptions?: TimeoutWithError): Promise<void>;
373
+
374
+ // @public
375
+ export function wrapDocumentService(innerDocService: IDocumentService, uploadSummaryCb: (summaryTree: ISummaryTree, context: ISummaryContext) => ISummaryContext): IDocumentService;
376
+
377
+ // @public
378
+ export function wrapDocumentServiceFactory(innerDocServiceFactory: IDocumentServiceFactory, uploadSummaryCb: (summaryTree: ISummaryTree, context: ISummaryContext) => ISummaryContext): IDocumentServiceFactory;
379
+
380
+ // @public
381
+ export function wrapDocumentStorageService(innerDocStorageService: IDocumentStorageService, uploadSummaryCb: (summaryTree: ISummaryTree, context: ISummaryContext) => ISummaryContext): IDocumentStorageService;
382
+
383
+ // (No @packageDocumentation comment for this package)
384
+
385
+ ```
@@ -1 +1 @@
1
- {"version":3,"file":"TestSummaryUtils.d.ts","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2CAA2C,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,UAAU,EAA6B,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EACN,yBAAyB,EACzB,WAAW,EAEX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAyB,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EAEN,sBAAsB,EACtB,kCAAkC,EAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AAEtE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAwDjF;;;;GAIG;AACH,wBAAsB,2BAA2B,CAChD,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,sBAAsB,EACxC,cAAc,CAAC,EAAE,MAAM,EACvB,2BAA2B,qDAA8C,EACzE,eAAe,CAAC,EAAE,kCAAkC,EACpD,MAAM,CAAC,EAAE,oBAAoB,EAC7B,cAAc,GAAE,mBAA0C,GACxD,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAgB7D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,oBAAoB,EAC7B,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAe7D;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CACjC,UAAU,EAAE,WAAW,EACvB,MAAM,GAAE,MAAM,GAAG,yBAA6C;;;;GAoC9D"}
1
+ {"version":3,"file":"TestSummaryUtils.d.ts","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,2CAA2C,EAAE,MAAM,0BAA0B,CAAC;AAEvF,OAAO,EAAE,UAAU,EAA6B,MAAM,uCAAuC,CAAC;AAC9F,OAAO,EACN,yBAAyB,EACzB,WAAW,EAEX,MAAM,mCAAmC,CAAC;AAC3C,OAAO,EAAE,oBAAoB,EAAyB,MAAM,iCAAiC,CAAC;AAE9F,OAAO,EAEN,sBAAsB,EACtB,kCAAkC,EAClC,MAAM,qCAAqC,CAAC;AAC7C,OAAO,EAAE,mBAAmB,EAAE,MAAM,iCAAiC,CAAC;AACtE,OAAO,EAAE,oBAAoB,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAsDjF;;;;GAIG;AACH,wBAAsB,2BAA2B,CAChD,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,gBAAgB,EAAE,sBAAsB,EACxC,cAAc,CAAC,EAAE,MAAM,EACvB,2BAA2B,qDAA8C,EACzE,eAAe,CAAC,EAAE,kCAAkC,EACpD,MAAM,CAAC,EAAE,oBAAoB,EAC7B,cAAc,GAAE,mBAA0C,GACxD,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAoB7D;AAED;;;;;GAKG;AACH,wBAAsB,gBAAgB,CACrC,QAAQ,EAAE,mBAAmB,EAC7B,SAAS,EAAE,UAAU,EACrB,MAAM,CAAC,EAAE,oBAAoB,EAC7B,cAAc,CAAC,EAAE,MAAM,EACvB,MAAM,CAAC,EAAE,oBAAoB,GAC3B,OAAO,CAAC;IAAE,SAAS,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,WAAW,CAAA;CAAE,CAAC,CAe7D;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CACjC,UAAU,EAAE,WAAW,EACvB,MAAM,GAAE,MAAM,GAAG,yBAA6C;;;;GAoC9D"}
@@ -9,10 +9,10 @@ const aqueduct_1 = require("@fluidframework/aqueduct");
9
9
  const core_utils_1 = require("@fluidframework/core-utils");
10
10
  const container_definitions_1 = require("@fluidframework/container-definitions");
11
11
  const driver_definitions_1 = require("@fluidframework/driver-definitions");
12
- const runtime_utils_1 = require("@fluidframework/runtime-utils");
13
12
  const TestConfigs_1 = require("./TestConfigs");
14
13
  const containerUtils_1 = require("./containerUtils");
15
14
  const timeoutUtils_1 = require("./timeoutUtils");
15
+ const testContainerRuntimeFactoryWithDefaultDataStore_1 = require("./testContainerRuntimeFactoryWithDefaultDataStore");
16
16
  const summarizerClientType = "summarizer";
17
17
  async function createSummarizerCore(container, loader, summaryVersion) {
18
18
  const absoluteUrl = await container.getAbsoluteUrl("");
@@ -33,11 +33,7 @@ async function createSummarizerCore(container, loader, summaryVersion) {
33
33
  };
34
34
  const summarizerContainer = await loader.resolve(request);
35
35
  await (0, containerUtils_1.waitForContainerConnection)(summarizerContainer);
36
- const fluidObject = summarizerContainer.getEntryPoint
37
- ? await summarizerContainer.getEntryPoint?.()
38
- : await (0, runtime_utils_1.requestFluidObject)(summarizerContainer, {
39
- url: "_summarizer",
40
- });
36
+ const fluidObject = await summarizerContainer.getEntryPoint();
41
37
  if (fluidObject?.ISummarizer === undefined) {
42
38
  throw new Error("Fluid object does not implement ISummarizer");
43
39
  }
@@ -61,7 +57,14 @@ const defaultSummaryOptions = {
61
57
  */
62
58
  async function createSummarizerFromFactory(provider, container, dataStoreFactory, summaryVersion, containerRuntimeFactoryType = aqueduct_1.ContainerRuntimeFactoryWithDefaultDataStore, registryEntries, logger, configProvider = (0, TestConfigs_1.mockConfigProvider)()) {
63
59
  const innerRequestHandler = async (request, runtime) => runtime.IFluidHandleContext.resolveHandle(request);
64
- const runtimeFactory = new containerRuntimeFactoryType(dataStoreFactory, registryEntries ?? [[dataStoreFactory.type, Promise.resolve(dataStoreFactory)]], undefined, [innerRequestHandler], { summaryOptions: defaultSummaryOptions });
60
+ const runtimeFactory = (0, testContainerRuntimeFactoryWithDefaultDataStore_1.createContainerRuntimeFactoryWithDefaultDataStore)(containerRuntimeFactoryType, {
61
+ defaultFactory: dataStoreFactory,
62
+ registryEntries: registryEntries ?? [
63
+ [dataStoreFactory.type, Promise.resolve(dataStoreFactory)],
64
+ ],
65
+ requestHandlers: [innerRequestHandler],
66
+ runtimeOptions: { summaryOptions: defaultSummaryOptions },
67
+ });
65
68
  const loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {
66
69
  configProvider,
67
70
  logger,
@@ -1 +1 @@
1
- {"version":3,"file":"TestSummaryUtils.js","sourceRoot":"","sources":["../src/TestSummaryUtils.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,uDAAuF;AACvF,2DAAoD;AACpD,iFAA8F;AAO9F,2EAAkE;AAOlE,iEAAmE;AAEnE,+CAAmD;AACnD,qDAA8D;AAC9D,iDAA8C;AAE9C,MAAM,oBAAoB,GAAG,YAAY,CAAC;AAE1C,KAAK,UAAU,oBAAoB,CAClC,SAAqB,EACrB,MAAmB,EACnB,cAAuB;IAEvB,MAAM,WAAW,GAAG,MAAM,SAAS,CAAC,cAAc,CAAC,EAAE,CAAC,CAAC;IACvD,IAAI,WAAW,KAAK,SAAS,EAAE;QAC9B,MAAM,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC;KAC7C;IAED,MAAM,OAAO,GAAa;QACzB,OAAO,EAAE;YACR,CAAC,oCAAY,CAAC,KAAK,CAAC,EAAE,KAAK;YAC3B,CAAC,oCAAY,CAAC,aAAa,CAAC,EAAE;gBAC7B,YAAY,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE;gBACpC,IAAI,EAAE,oBAAoB;aAC1B;YACD,CAAC,iCAAY,CAAC,iBAAiB,CAAC,EAAE,IAAI;YACtC,CAAC,oCAAY,CAAC,OAAO,CAAC,EAAE,cAAc;SACtC;QACD,GAAG,EAAE,WAAW;KAChB,CAAC;IACF,MAAM,mBAAmB,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;IAC1D,MAAM,IAAA,2CAA0B,EAAC,mBAAmB,CAAC,CAAC;IAEtD,MAAM,WAAW,GAAyC,mBAAmB,CAAC,aAAa;QAC1F,CAAC,CAAC,MAAM,mBAAmB,CAAC,aAAa,EAAE,EAAE;QAC7C,CAAC,CAAC,MAAM,IAAA,kCAAkB,EAA2B,mBAAmB,EAAE;YACxE,GAAG,EAAE,aAAa;SACjB,CAAC,CAAC;IACN,IAAI,WAAW,EAAE,WAAW,KAAK,SAAS,EAAE;QAC3C,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAC/D;IAED,OAAO;QACN,SAAS,EAAE,mBAAmB;QAC9B,UAAU,EAAE,WAAW,CAAC,WAAW;KACnC,CAAC;AACH,CAAC;AAED,MAAM,qBAAqB,GAA2B;IACrD,sBAAsB,EAAE;QACvB,KAAK,EAAE,mBAAmB;QAC1B,cAAc,EAAE,KAAK;QACrB,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,CAAC;KAC3B;CACD,CAAC;AAEF;;;;GAIG;AACI,KAAK,UAAU,2BAA2B,CAChD,QAA6B,EAC7B,SAAqB,EACrB,gBAAwC,EACxC,cAAuB,EACvB,2BAA2B,GAAG,sDAA2C,EACzE,eAAoD,EACpD,MAA6B,EAC7B,iBAAsC,IAAA,gCAAkB,GAAE;IAE1D,MAAM,mBAAmB,GAAG,KAAK,EAAE,OAAiB,EAAE,OAA8B,EAAE,EAAE,CACvF,OAAO,CAAC,mBAAmB,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC;IACpD,MAAM,cAAc,GAAG,IAAI,2BAA2B,CACrD,gBAAgB,EAChB,eAAe,IAAI,CAAC,CAAC,gBAAgB,CAAC,IAAI,EAAE,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAC/E,SAAS,EACT,CAAC,mBAAmB,CAAC,EACrB,EAAE,cAAc,EAAE,qBAAqB,EAAE,CACzC,CAAC;IAEF,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,QAAQ,CAAC,kBAAkB,EAAE,cAAc,CAAC,CAAC,EAAE;QACrF,cAAc;QACd,MAAM;KACN,CAAC,CAAC;IACH,OAAO,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AAzBD,kEAyBC;AAED;;;;;GAKG;AACI,KAAK,UAAU,gBAAgB,CACrC,QAA6B,EAC7B,SAAqB,EACrB,MAA6B,EAC7B,cAAuB,EACvB,MAA6B;IAE7B,MAAM,mBAAmB,GAAyB;QACjD,GAAG,MAAM;QACT,cAAc,EAAE;YACf,GAAG,MAAM,EAAE,cAAc;YACzB,cAAc,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,IAAI,qBAAqB;SAC/E;QACD,WAAW,EAAE;YACZ,GAAG,MAAM,EAAE,WAAW;YACtB,cAAc,EAAE,MAAM,EAAE,WAAW,EAAE,cAAc,IAAI,IAAA,gCAAkB,GAAE;YAC3E,MAAM;SACN;KACD,CAAC;IACF,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,CAAC,mBAAmB,CAAC,CAAC;IAC5D,OAAO,oBAAoB,CAAC,SAAS,EAAE,MAAM,EAAE,cAAc,CAAC,CAAC;AAChE,CAAC;AArBD,4CAqBC;AAED;;;;;;;GAOG;AACI,KAAK,UAAU,YAAY,CACjC,UAAuB,EACvB,SAA6C,iBAAiB;IAE9D,MAAM,OAAO,GACZ,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC1D,MAAM,MAAM,GAAG,UAAU,CAAC,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAErD,MAAM,YAAY,GAAG,MAAM,IAAA,2BAAY,EAAC,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjE,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE;QAC1B,IAAI,OAAO,YAAY,CAAC,KAAK,KAAK,QAAQ,EAAE;YAC3C,YAAY,CAAC,KAAK,CAAC,IAAI,GAAG,YAAY,CAAC,IAAI,CAAC;SAC5C;QACD,MAAM,YAAY,CAAC,KAAK,CAAC;KACzB;IACD,IAAA,mBAAM,EACL,YAAY,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,EACpC,yDAAyD,CACzD,CAAC;IACF,IAAA,mBAAM,EAAC,YAAY,CAAC,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,2BAA2B,CAAC,CAAC;IAEjF,MAAM,eAAe,GAAG,MAAM,IAAA,2BAAY,EAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;IACxE,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE;QAC7B,MAAM,eAAe,CAAC,KAAK,CAAC;KAC5B;IAED,MAAM,aAAa,GAAG,MAAM,IAAA,2BAAY,EAAC,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAC1E,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE;QAC3B,MAAM,aAAa,CAAC,KAAK,CAAC;KAC1B;IAED,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC;IAE1D,OAAO;QACN,WAAW,EAAE,YAAY,CAAC,IAAI,CAAC,WAAW;QAC1C,cAAc,EAAE,aAAa,CAAC,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,MAAM;QAC/D,aAAa,EAAE,YAAY,CAAC,IAAI,CAAC,uBAAuB;KACxD,CAAC;AACH,CAAC;AAtCD,oCAsCC","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport { ContainerRuntimeFactoryWithDefaultDataStore } from \"@fluidframework/aqueduct\";\nimport { assert } from \"@fluidframework/core-utils\";\nimport { IContainer, IHostLoader, LoaderHeader } from \"@fluidframework/container-definitions\";\nimport {\n\tIOnDemandSummarizeOptions,\n\tISummarizer,\n\tISummaryRuntimeOptions,\n} from \"@fluidframework/container-runtime\";\nimport { ITelemetryBaseLogger, FluidObject, IRequest } from \"@fluidframework/core-interfaces\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions\";\nimport {\n\tIContainerRuntimeBase,\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions\";\nimport { IConfigProviderBase } from \"@fluidframework/telemetry-utils\";\nimport { requestFluidObject } from \"@fluidframework/runtime-utils\";\nimport { ITestContainerConfig, ITestObjectProvider } from \"./testObjectProvider\";\nimport { mockConfigProvider } from \"./TestConfigs\";\nimport { waitForContainerConnection } from \"./containerUtils\";\nimport { timeoutAwait } from \"./timeoutUtils\";\n\nconst summarizerClientType = \"summarizer\";\n\nasync function createSummarizerCore(\n\tcontainer: IContainer,\n\tloader: IHostLoader,\n\tsummaryVersion?: string,\n) {\n\tconst absoluteUrl = await container.getAbsoluteUrl(\"\");\n\tif (absoluteUrl === undefined) {\n\t\tthrow new Error(\"URL could not be resolved\");\n\t}\n\n\tconst request: IRequest = {\n\t\theaders: {\n\t\t\t[LoaderHeader.cache]: false,\n\t\t\t[LoaderHeader.clientDetails]: {\n\t\t\t\tcapabilities: { interactive: false },\n\t\t\t\ttype: summarizerClientType,\n\t\t\t},\n\t\t\t[DriverHeader.summarizingClient]: true,\n\t\t\t[LoaderHeader.version]: summaryVersion,\n\t\t},\n\t\turl: absoluteUrl,\n\t};\n\tconst summarizerContainer = await loader.resolve(request);\n\tawait waitForContainerConnection(summarizerContainer);\n\n\tconst fluidObject: FluidObject<ISummarizer> | undefined = summarizerContainer.getEntryPoint\n\t\t? await summarizerContainer.getEntryPoint?.()\n\t\t: await requestFluidObject<FluidObject<ISummarizer>>(summarizerContainer, {\n\t\t\t\turl: \"_summarizer\",\n\t\t });\n\tif (fluidObject?.ISummarizer === undefined) {\n\t\tthrow new Error(\"Fluid object does not implement ISummarizer\");\n\t}\n\n\treturn {\n\t\tcontainer: summarizerContainer,\n\t\tsummarizer: fluidObject.ISummarizer,\n\t};\n}\n\nconst defaultSummaryOptions: ISummaryRuntimeOptions = {\n\tsummaryConfigOverrides: {\n\t\tstate: \"disableHeuristics\",\n\t\tmaxAckWaitTime: 20000, // Some of the AFR tests take a long time to ack.\n\t\tmaxOpsSinceLastSummary: 7000,\n\t\tinitialSummarizerDelayMs: 0,\n\t},\n};\n\n/**\n * Creates a summarizer client from the given container and data store factory, and returns the summarizer client's\n * IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n */\nexport async function createSummarizerFromFactory(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tdataStoreFactory: IFluidDataStoreFactory,\n\tsummaryVersion?: string,\n\tcontainerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,\n\tregistryEntries?: NamedFluidDataStoreRegistryEntries,\n\tlogger?: ITelemetryBaseLogger,\n\tconfigProvider: IConfigProviderBase = mockConfigProvider(),\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>\n\t\truntime.IFluidHandleContext.resolveHandle(request);\n\tconst runtimeFactory = new containerRuntimeFactoryType(\n\t\tdataStoreFactory,\n\t\tregistryEntries ?? [[dataStoreFactory.type, Promise.resolve(dataStoreFactory)]],\n\t\tundefined,\n\t\t[innerRequestHandler],\n\t\t{ summaryOptions: defaultSummaryOptions },\n\t);\n\n\tconst loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {\n\t\tconfigProvider,\n\t\tlogger,\n\t});\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n *\n * Can pass in a test config provider to enable/disable features.\n */\nexport async function createSummarizer(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tconfig?: ITestContainerConfig,\n\tsummaryVersion?: string,\n\tlogger?: ITelemetryBaseLogger,\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst testContainerConfig: ITestContainerConfig = {\n\t\t...config,\n\t\truntimeOptions: {\n\t\t\t...config?.runtimeOptions,\n\t\t\tsummaryOptions: config?.runtimeOptions?.summaryOptions ?? defaultSummaryOptions,\n\t\t},\n\t\tloaderProps: {\n\t\t\t...config?.loaderProps,\n\t\t\tconfigProvider: config?.loaderProps?.configProvider ?? mockConfigProvider(),\n\t\t\tlogger,\n\t\t},\n\t};\n\tconst loader = provider.makeTestLoader(testContainerConfig);\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the\n * submitted summary.\n *\n * @param summarizer - The ISummarizer to use to summarize on demand\n * @param inputs - Either the reason string or the full IOnDemandSummarizeOptions.\n * Defaults to the reason \"end-to-end test\".\n */\nexport async function summarizeNow(\n\tsummarizer: ISummarizer,\n\tinputs: string | IOnDemandSummarizeOptions = \"end-to-end test\",\n) {\n\tconst options: IOnDemandSummarizeOptions =\n\t\ttypeof inputs === \"string\" ? { reason: inputs } : inputs;\n\tconst result = summarizer.summarizeOnDemand(options);\n\n\tconst submitResult = await timeoutAwait(result.summarySubmitted);\n\tif (!submitResult.success) {\n\t\tif (typeof submitResult.error !== \"string\") {\n\t\t\tsubmitResult.error.data = submitResult.data;\n\t\t}\n\t\tthrow submitResult.error;\n\t}\n\tassert(\n\t\tsubmitResult.data.stage === \"submit\",\n\t\t\"on-demand summary submitted data stage should be submit\",\n\t);\n\tassert(submitResult.data.summaryTree !== undefined, \"summary tree should exist\");\n\n\tconst broadcastResult = await timeoutAwait(result.summaryOpBroadcasted);\n\tif (!broadcastResult.success) {\n\t\tthrow broadcastResult.error;\n\t}\n\n\tconst ackNackResult = await timeoutAwait(result.receivedSummaryAckOrNack);\n\tif (!ackNackResult.success) {\n\t\tthrow ackNackResult.error;\n\t}\n\n\tawait new Promise((resolve) => process.nextTick(resolve));\n\n\treturn {\n\t\tsummaryTree: submitResult.data.summaryTree,\n\t\tsummaryVersion: ackNackResult.data.summaryAckOp.contents.handle,\n\t\tsummaryRefSeq: submitResult.data.referenceSequenceNumber,\n\t};\n}\n"]}
1
+ {"version":3,"file":"TestSummaryUtils.js","sourceRoot":"","sources":["../src/TestSummaryUtils.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 { ContainerRuntimeFactoryWithDefaultDataStore } from \"@fluidframework/aqueduct\";\nimport { assert } from \"@fluidframework/core-utils\";\nimport { IContainer, IHostLoader, LoaderHeader } from \"@fluidframework/container-definitions\";\nimport {\n\tIOnDemandSummarizeOptions,\n\tISummarizer,\n\tISummaryRuntimeOptions,\n} from \"@fluidframework/container-runtime\";\nimport { ITelemetryBaseLogger, FluidObject, IRequest } from \"@fluidframework/core-interfaces\";\nimport { DriverHeader } from \"@fluidframework/driver-definitions\";\nimport {\n\tIContainerRuntimeBase,\n\tIFluidDataStoreFactory,\n\tNamedFluidDataStoreRegistryEntries,\n} from \"@fluidframework/runtime-definitions\";\nimport { IConfigProviderBase } from \"@fluidframework/telemetry-utils\";\nimport { ITestContainerConfig, ITestObjectProvider } from \"./testObjectProvider\";\nimport { mockConfigProvider } from \"./TestConfigs\";\nimport { waitForContainerConnection } from \"./containerUtils\";\nimport { timeoutAwait } from \"./timeoutUtils\";\nimport { createContainerRuntimeFactoryWithDefaultDataStore } from \"./testContainerRuntimeFactoryWithDefaultDataStore\";\n\nconst summarizerClientType = \"summarizer\";\n\nasync function createSummarizerCore(\n\tcontainer: IContainer,\n\tloader: IHostLoader,\n\tsummaryVersion?: string,\n) {\n\tconst absoluteUrl = await container.getAbsoluteUrl(\"\");\n\tif (absoluteUrl === undefined) {\n\t\tthrow new Error(\"URL could not be resolved\");\n\t}\n\n\tconst request: IRequest = {\n\t\theaders: {\n\t\t\t[LoaderHeader.cache]: false,\n\t\t\t[LoaderHeader.clientDetails]: {\n\t\t\t\tcapabilities: { interactive: false },\n\t\t\t\ttype: summarizerClientType,\n\t\t\t},\n\t\t\t[DriverHeader.summarizingClient]: true,\n\t\t\t[LoaderHeader.version]: summaryVersion,\n\t\t},\n\t\turl: absoluteUrl,\n\t};\n\tconst summarizerContainer = await loader.resolve(request);\n\tawait waitForContainerConnection(summarizerContainer);\n\n\tconst fluidObject: FluidObject<ISummarizer> | undefined =\n\t\tawait summarizerContainer.getEntryPoint();\n\tif (fluidObject?.ISummarizer === undefined) {\n\t\tthrow new Error(\"Fluid object does not implement ISummarizer\");\n\t}\n\n\treturn {\n\t\tcontainer: summarizerContainer,\n\t\tsummarizer: fluidObject.ISummarizer,\n\t};\n}\n\nconst defaultSummaryOptions: ISummaryRuntimeOptions = {\n\tsummaryConfigOverrides: {\n\t\tstate: \"disableHeuristics\",\n\t\tmaxAckWaitTime: 20000, // Some of the AFR tests take a long time to ack.\n\t\tmaxOpsSinceLastSummary: 7000,\n\t\tinitialSummarizerDelayMs: 0,\n\t},\n};\n\n/**\n * Creates a summarizer client from the given container and data store factory, and returns the summarizer client's\n * IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n */\nexport async function createSummarizerFromFactory(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tdataStoreFactory: IFluidDataStoreFactory,\n\tsummaryVersion?: string,\n\tcontainerRuntimeFactoryType = ContainerRuntimeFactoryWithDefaultDataStore,\n\tregistryEntries?: NamedFluidDataStoreRegistryEntries,\n\tlogger?: ITelemetryBaseLogger,\n\tconfigProvider: IConfigProviderBase = mockConfigProvider(),\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst innerRequestHandler = async (request: IRequest, runtime: IContainerRuntimeBase) =>\n\t\truntime.IFluidHandleContext.resolveHandle(request);\n\tconst runtimeFactory = createContainerRuntimeFactoryWithDefaultDataStore(\n\t\tcontainerRuntimeFactoryType,\n\t\t{\n\t\t\tdefaultFactory: dataStoreFactory,\n\t\t\tregistryEntries: registryEntries ?? [\n\t\t\t\t[dataStoreFactory.type, Promise.resolve(dataStoreFactory)],\n\t\t\t],\n\t\t\trequestHandlers: [innerRequestHandler],\n\t\t\truntimeOptions: { summaryOptions: defaultSummaryOptions },\n\t\t},\n\t);\n\n\tconst loader = provider.createLoader([[provider.defaultCodeDetails, runtimeFactory]], {\n\t\tconfigProvider,\n\t\tlogger,\n\t});\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Creates a summarizer client from the given container and returns the summarizer client's IContainer and ISummarizer.\n * The ISummarizer can be used to generate on-demand summaries. The IContainer can be used to fetch data stores, etc.\n *\n * Can pass in a test config provider to enable/disable features.\n */\nexport async function createSummarizer(\n\tprovider: ITestObjectProvider,\n\tcontainer: IContainer,\n\tconfig?: ITestContainerConfig,\n\tsummaryVersion?: string,\n\tlogger?: ITelemetryBaseLogger,\n): Promise<{ container: IContainer; summarizer: ISummarizer }> {\n\tconst testContainerConfig: ITestContainerConfig = {\n\t\t...config,\n\t\truntimeOptions: {\n\t\t\t...config?.runtimeOptions,\n\t\t\tsummaryOptions: config?.runtimeOptions?.summaryOptions ?? defaultSummaryOptions,\n\t\t},\n\t\tloaderProps: {\n\t\t\t...config?.loaderProps,\n\t\t\tconfigProvider: config?.loaderProps?.configProvider ?? mockConfigProvider(),\n\t\t\tlogger,\n\t\t},\n\t};\n\tconst loader = provider.makeTestLoader(testContainerConfig);\n\treturn createSummarizerCore(container, loader, summaryVersion);\n}\n\n/**\n * Summarizes on demand and returns the summary tree, the version number and the reference sequence number of the\n * submitted summary.\n *\n * @param summarizer - The ISummarizer to use to summarize on demand\n * @param inputs - Either the reason string or the full IOnDemandSummarizeOptions.\n * Defaults to the reason \"end-to-end test\".\n */\nexport async function summarizeNow(\n\tsummarizer: ISummarizer,\n\tinputs: string | IOnDemandSummarizeOptions = \"end-to-end test\",\n) {\n\tconst options: IOnDemandSummarizeOptions =\n\t\ttypeof inputs === \"string\" ? { reason: inputs } : inputs;\n\tconst result = summarizer.summarizeOnDemand(options);\n\n\tconst submitResult = await timeoutAwait(result.summarySubmitted);\n\tif (!submitResult.success) {\n\t\tif (typeof submitResult.error !== \"string\") {\n\t\t\tsubmitResult.error.data = submitResult.data;\n\t\t}\n\t\tthrow submitResult.error;\n\t}\n\tassert(\n\t\tsubmitResult.data.stage === \"submit\",\n\t\t\"on-demand summary submitted data stage should be submit\",\n\t);\n\tassert(submitResult.data.summaryTree !== undefined, \"summary tree should exist\");\n\n\tconst broadcastResult = await timeoutAwait(result.summaryOpBroadcasted);\n\tif (!broadcastResult.success) {\n\t\tthrow broadcastResult.error;\n\t}\n\n\tconst ackNackResult = await timeoutAwait(result.receivedSummaryAckOrNack);\n\tif (!ackNackResult.success) {\n\t\tthrow ackNackResult.error;\n\t}\n\n\tawait new Promise((resolve) => process.nextTick(resolve));\n\n\treturn {\n\t\tsummaryTree: submitResult.data.summaryTree,\n\t\tsummaryVersion: ackNackResult.data.summaryAckOp.contents.handle,\n\t\tsummaryRefSeq: submitResult.data.referenceSequenceNumber,\n\t};\n}\n"]}
package/dist/index.d.ts CHANGED
@@ -15,4 +15,5 @@ export { createDocumentId, DataObjectFactoryType, EventAndErrorTrackingLogger, g
15
15
  export { createSummarizer, createSummarizerFromFactory, summarizeNow } from "./TestSummaryUtils";
16
16
  export { defaultTimeoutDurationMs, timeoutAwait, timeoutPromise, TimeoutWithError, TimeoutWithValue, } from "./timeoutUtils";
17
17
  export { waitForContainerConnection } from "./containerUtils";
18
+ export { createContainerRuntimeFactoryWithDefaultDataStore } from "./testContainerRuntimeFactoryWithDefaultDataStore";
18
19
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EACN,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EACN,mBAAmB,EACnB,0BAA0B,EAC1B,0BAA0B,GAC1B,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,cAAc,CAAC;AACzE,OAAO,EAAE,sBAAsB,EAAE,MAAM,0BAA0B,CAAC;AAClE,OAAO,EAAE,eAAe,EAAE,eAAe,EAAE,yBAAyB,EAAE,MAAM,mBAAmB,CAAC;AAChG,OAAO,EAAE,wBAAwB,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,EACN,iCAAiC,EACjC,2BAA2B,GAC3B,MAAM,+BAA+B,CAAC;AACvC,OAAO,EAAE,sBAAsB,EAAE,eAAe,EAAE,sBAAsB,EAAE,MAAM,mBAAmB,CAAC;AACpG,OAAO,EACN,gBAAgB,EAChB,qBAAqB,EACrB,2BAA2B,EAC3B,8BAA8B,EAC9B,uBAAuB,EACvB,oBAAoB,EACpB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,sBAAsB,CAAC;AAC9B,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACjG,OAAO,EACN,wBAAwB,EACxB,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,gBAAgB,GAChB,MAAM,gBAAgB,CAAC;AACxB,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,iDAAiD,EAAE,MAAM,mDAAmD,CAAC"}
package/dist/index.js CHANGED
@@ -4,7 +4,7 @@
4
4
  * Licensed under the MIT License.
5
5
  */
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.waitForContainerConnection = exports.timeoutPromise = exports.timeoutAwait = exports.defaultTimeoutDurationMs = exports.summarizeNow = exports.createSummarizerFromFactory = exports.createSummarizer = exports.TestObjectProvider = exports.getUnexpectedLogErrorException = exports.EventAndErrorTrackingLogger = exports.DataObjectFactoryType = exports.createDocumentId = exports.TestFluidObjectFactory = exports.TestFluidObject = exports.TestContainerRuntimeFactory = exports.createTestContainerRuntimeFactory = exports.mockConfigProvider = exports.retryWithEventualValue = exports.createLoader = exports.createAndAttachContainer = exports.LocalCodeLoader = exports.LoaderContainerTracker = exports.wrapDocumentStorageService = exports.wrapDocumentServiceFactory = exports.wrapDocumentService = void 0;
7
+ exports.createContainerRuntimeFactoryWithDefaultDataStore = exports.waitForContainerConnection = exports.timeoutPromise = exports.timeoutAwait = exports.defaultTimeoutDurationMs = exports.summarizeNow = exports.createSummarizerFromFactory = exports.createSummarizer = exports.TestObjectProvider = exports.getUnexpectedLogErrorException = exports.EventAndErrorTrackingLogger = exports.DataObjectFactoryType = exports.createDocumentId = exports.TestFluidObjectFactory = exports.TestFluidObject = exports.TestContainerRuntimeFactory = exports.createTestContainerRuntimeFactory = exports.mockConfigProvider = exports.retryWithEventualValue = exports.createLoader = exports.createAndAttachContainer = exports.LocalCodeLoader = exports.LoaderContainerTracker = exports.wrapDocumentStorageService = exports.wrapDocumentServiceFactory = exports.wrapDocumentService = void 0;
8
8
  var DriverWrappers_1 = require("./DriverWrappers");
9
9
  Object.defineProperty(exports, "wrapDocumentService", { enumerable: true, get: function () { return DriverWrappers_1.wrapDocumentService; } });
10
10
  Object.defineProperty(exports, "wrapDocumentServiceFactory", { enumerable: true, get: function () { return DriverWrappers_1.wrapDocumentServiceFactory; } });
@@ -42,4 +42,6 @@ Object.defineProperty(exports, "timeoutAwait", { enumerable: true, get: function
42
42
  Object.defineProperty(exports, "timeoutPromise", { enumerable: true, get: function () { return timeoutUtils_1.timeoutPromise; } });
43
43
  var containerUtils_1 = require("./containerUtils");
44
44
  Object.defineProperty(exports, "waitForContainerConnection", { enumerable: true, get: function () { return containerUtils_1.waitForContainerConnection; } });
45
+ var testContainerRuntimeFactoryWithDefaultDataStore_1 = require("./testContainerRuntimeFactoryWithDefaultDataStore");
46
+ Object.defineProperty(exports, "createContainerRuntimeFactoryWithDefaultDataStore", { enumerable: true, get: function () { return testContainerRuntimeFactoryWithDefaultDataStore_1.createContainerRuntimeFactoryWithDefaultDataStore; } });
45
47
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mDAI0B;AAHzB,qHAAA,mBAAmB,OAAA;AACnB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAG3B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,qDAAgG;AAAtE,kHAAA,eAAe,OAAA;AACzC,6CAAuE;AAA9D,uHAAA,wBAAwB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAC/C,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA;AAC/B,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,6EAGuC;AAFtC,gJAAA,iCAAiC,OAAA;AACjC,0IAAA,2BAA2B,OAAA;AAE5B,qDAAoG;AAAnE,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AACxE,2DAS8B;AAR7B,sHAAA,gBAAgB,OAAA;AAChB,2HAAA,qBAAqB,OAAA;AACrB,iIAAA,2BAA2B,OAAA;AAC3B,oIAAA,8BAA8B,OAAA;AAI9B,wHAAA,kBAAkB,OAAA;AAEnB,uDAAiG;AAAxF,oHAAA,gBAAgB,OAAA;AAAE,+HAAA,2BAA2B,OAAA;AAAE,gHAAA,YAAY,OAAA;AACpE,+CAMwB;AALvB,wHAAA,wBAAwB,OAAA;AACxB,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AAIf,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\twrapDocumentService,\n\twrapDocumentServiceFactory,\n\twrapDocumentStorageService,\n} from \"./DriverWrappers\";\nexport { IProvideTestFluidObject, ITestFluidObject } from \"./interfaces\";\nexport { LoaderContainerTracker } from \"./loaderContainerTracker\";\nexport { fluidEntryPoint, LocalCodeLoader, SupportedExportInterfaces } from \"./localCodeLoader\";\nexport { createAndAttachContainer, createLoader } from \"./localLoader\";\nexport { retryWithEventualValue } from \"./retry\";\nexport { mockConfigProvider } from \"./TestConfigs\";\nexport {\n\tcreateTestContainerRuntimeFactory,\n\tTestContainerRuntimeFactory,\n} from \"./testContainerRuntimeFactory\";\nexport { ChannelFactoryRegistry, TestFluidObject, TestFluidObjectFactory } from \"./testFluidObject\";\nexport {\n\tcreateDocumentId,\n\tDataObjectFactoryType,\n\tEventAndErrorTrackingLogger,\n\tgetUnexpectedLogErrorException,\n\tIOpProcessingController,\n\tITestContainerConfig,\n\tITestObjectProvider,\n\tTestObjectProvider,\n} from \"./testObjectProvider\";\nexport { createSummarizer, createSummarizerFromFactory, summarizeNow } from \"./TestSummaryUtils\";\nexport {\n\tdefaultTimeoutDurationMs,\n\ttimeoutAwait,\n\ttimeoutPromise,\n\tTimeoutWithError,\n\tTimeoutWithValue,\n} from \"./timeoutUtils\";\nexport { waitForContainerConnection } from \"./containerUtils\";\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH,mDAI0B;AAHzB,qHAAA,mBAAmB,OAAA;AACnB,4HAAA,0BAA0B,OAAA;AAC1B,4HAAA,0BAA0B,OAAA;AAG3B,mEAAkE;AAAzD,gIAAA,sBAAsB,OAAA;AAC/B,qDAAgG;AAAtE,kHAAA,eAAe,OAAA;AACzC,6CAAuE;AAA9D,uHAAA,wBAAwB,OAAA;AAAE,2GAAA,YAAY,OAAA;AAC/C,iCAAiD;AAAxC,+GAAA,sBAAsB,OAAA;AAC/B,6CAAmD;AAA1C,iHAAA,kBAAkB,OAAA;AAC3B,6EAGuC;AAFtC,gJAAA,iCAAiC,OAAA;AACjC,0IAAA,2BAA2B,OAAA;AAE5B,qDAAoG;AAAnE,kHAAA,eAAe,OAAA;AAAE,yHAAA,sBAAsB,OAAA;AACxE,2DAS8B;AAR7B,sHAAA,gBAAgB,OAAA;AAChB,2HAAA,qBAAqB,OAAA;AACrB,iIAAA,2BAA2B,OAAA;AAC3B,oIAAA,8BAA8B,OAAA;AAI9B,wHAAA,kBAAkB,OAAA;AAEnB,uDAAiG;AAAxF,oHAAA,gBAAgB,OAAA;AAAE,+HAAA,2BAA2B,OAAA;AAAE,gHAAA,YAAY,OAAA;AACpE,+CAMwB;AALvB,wHAAA,wBAAwB,OAAA;AACxB,4GAAA,YAAY,OAAA;AACZ,8GAAA,cAAc,OAAA;AAIf,mDAA8D;AAArD,4HAAA,0BAA0B,OAAA;AACnC,qHAAsH;AAA7G,oLAAA,iDAAiD,OAAA","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nexport {\n\twrapDocumentService,\n\twrapDocumentServiceFactory,\n\twrapDocumentStorageService,\n} from \"./DriverWrappers\";\nexport { IProvideTestFluidObject, ITestFluidObject } from \"./interfaces\";\nexport { LoaderContainerTracker } from \"./loaderContainerTracker\";\nexport { fluidEntryPoint, LocalCodeLoader, SupportedExportInterfaces } from \"./localCodeLoader\";\nexport { createAndAttachContainer, createLoader } from \"./localLoader\";\nexport { retryWithEventualValue } from \"./retry\";\nexport { mockConfigProvider } from \"./TestConfigs\";\nexport {\n\tcreateTestContainerRuntimeFactory,\n\tTestContainerRuntimeFactory,\n} from \"./testContainerRuntimeFactory\";\nexport { ChannelFactoryRegistry, TestFluidObject, TestFluidObjectFactory } from \"./testFluidObject\";\nexport {\n\tcreateDocumentId,\n\tDataObjectFactoryType,\n\tEventAndErrorTrackingLogger,\n\tgetUnexpectedLogErrorException,\n\tIOpProcessingController,\n\tITestContainerConfig,\n\tITestObjectProvider,\n\tTestObjectProvider,\n} from \"./testObjectProvider\";\nexport { createSummarizer, createSummarizerFromFactory, summarizeNow } from \"./TestSummaryUtils\";\nexport {\n\tdefaultTimeoutDurationMs,\n\ttimeoutAwait,\n\ttimeoutPromise,\n\tTimeoutWithError,\n\tTimeoutWithValue,\n} from \"./timeoutUtils\";\nexport { waitForContainerConnection } from \"./containerUtils\";\nexport { createContainerRuntimeFactoryWithDefaultDataStore } from \"./testContainerRuntimeFactoryWithDefaultDataStore\";\n"]}
@@ -5,8 +5,8 @@
5
5
  import { IProvideRuntimeFactory, IFluidModule, IProvideFluidCodeDetailsComparer, IFluidCodeDetails, ICodeDetailsLoader, IFluidModuleWithDetails } from "@fluidframework/container-definitions";
6
6
  import { IProvideFluidDataStoreFactory, IProvideFluidDataStoreRegistry } from "@fluidframework/runtime-definitions";
7
7
  import { IContainerRuntimeOptions } from "@fluidframework/container-runtime";
8
- export declare type SupportedExportInterfaces = Partial<IProvideRuntimeFactory & IProvideFluidDataStoreFactory & IProvideFluidDataStoreRegistry & IProvideFluidCodeDetailsComparer>;
9
- export declare type fluidEntryPoint = SupportedExportInterfaces | IFluidModule;
8
+ export type SupportedExportInterfaces = Partial<IProvideRuntimeFactory & IProvideFluidDataStoreFactory & IProvideFluidDataStoreRegistry & IProvideFluidCodeDetailsComparer>;
9
+ export type fluidEntryPoint = SupportedExportInterfaces | IFluidModule;
10
10
  /**
11
11
  * A simple code loader that caches a mapping of package name to a Fluid entry point.
12
12
  * On load, it retrieves the entry point matching the package name in the given code details.
@@ -1 +1 @@
1
- {"version":3,"file":"localCodeLoader.d.ts","sourceRoot":"","sources":["../src/localCodeLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,gCAAgC,EAChC,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAEN,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,oBAAY,yBAAyB,GAAG,OAAO,CAC9C,sBAAsB,GACrB,6BAA6B,GAC7B,8BAA8B,GAC9B,gCAAgC,CACjC,CAAC;AAGF,oBAAY,eAAe,GAAG,yBAAyB,GAAG,YAAY,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8C;gBAG/E,cAAc,EAAE,QAAQ,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAC9D,cAAc,CAAC,EAAE,wBAAwB;IAmD1C;;;;OAIG;IACU,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAe9E"}
1
+ {"version":3,"file":"localCodeLoader.d.ts","sourceRoot":"","sources":["../src/localCodeLoader.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAIH,OAAO,EACN,sBAAsB,EACtB,YAAY,EACZ,gCAAgC,EAChC,iBAAiB,EACjB,kBAAkB,EAClB,uBAAuB,EACvB,MAAM,uCAAuC,CAAC;AAE/C,OAAO,EAEN,6BAA6B,EAC7B,8BAA8B,EAC9B,MAAM,qCAAqC,CAAC;AAE7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,mCAAmC,CAAC;AAE7E,MAAM,MAAM,yBAAyB,GAAG,OAAO,CAC9C,sBAAsB,GACrB,6BAA6B,GAC7B,8BAA8B,GAC9B,gCAAgC,CACjC,CAAC;AAGF,MAAM,MAAM,eAAe,GAAG,yBAAyB,GAAG,YAAY,CAAC;AAEvE;;;GAGG;AACH,qBAAa,eAAgB,YAAW,kBAAkB;IACzD,OAAO,CAAC,QAAQ,CAAC,iBAAiB,CAA8C;gBAG/E,cAAc,EAAE,QAAQ,CAAC,CAAC,iBAAiB,EAAE,eAAe,CAAC,CAAC,EAC9D,cAAc,CAAC,EAAE,wBAAwB;IAoD1C;;;;OAIG;IACU,IAAI,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAe9E"}