@fluidframework/core-interfaces 2.0.0-dev.6.4.0.192049 → 2.0.0-dev.7.2.0.203917

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 (46) hide show
  1. package/CHANGELOG.md +38 -0
  2. package/Removing-IFluidRouter.md +31 -25
  3. package/api-extractor.json +9 -1
  4. package/api-report/core-interfaces.api.md +514 -0
  5. package/dist/core-interfaces-alpha.d.ts +907 -0
  6. package/dist/core-interfaces-beta.d.ts +907 -0
  7. package/dist/core-interfaces-public.d.ts +907 -0
  8. package/dist/core-interfaces-untrimmed.d.ts +907 -0
  9. package/dist/error.d.ts +1 -1
  10. package/dist/error.d.ts.map +1 -1
  11. package/dist/error.js.map +1 -1
  12. package/dist/events.d.ts +5 -5
  13. package/dist/events.d.ts.map +1 -1
  14. package/dist/fluidRouter.d.ts +7 -0
  15. package/dist/fluidRouter.d.ts.map +1 -1
  16. package/dist/fluidRouter.js +3 -0
  17. package/dist/fluidRouter.js.map +1 -1
  18. package/dist/index.js +1 -1
  19. package/dist/index.js.map +1 -1
  20. package/dist/logger.d.ts +5 -5
  21. package/dist/logger.d.ts.map +1 -1
  22. package/dist/logger.js.map +1 -1
  23. package/dist/provider.d.ts +3 -3
  24. package/dist/provider.d.ts.map +1 -1
  25. package/dist/tsdoc-metadata.json +1 -1
  26. package/lib/error.d.ts +1 -1
  27. package/lib/error.d.ts.map +1 -1
  28. package/lib/error.js.map +1 -1
  29. package/lib/events.d.ts +5 -5
  30. package/lib/events.d.ts.map +1 -1
  31. package/lib/fluidRouter.d.ts +7 -0
  32. package/lib/fluidRouter.d.ts.map +1 -1
  33. package/lib/fluidRouter.js +3 -0
  34. package/lib/fluidRouter.js.map +1 -1
  35. package/lib/index.js +1 -1
  36. package/lib/index.js.map +1 -1
  37. package/lib/logger.d.ts +5 -5
  38. package/lib/logger.d.ts.map +1 -1
  39. package/lib/logger.js.map +1 -1
  40. package/lib/provider.d.ts +3 -3
  41. package/lib/provider.d.ts.map +1 -1
  42. package/package.json +12 -13
  43. package/src/error.ts +1 -1
  44. package/src/fluidRouter.ts +8 -0
  45. package/src/index.ts +1 -1
  46. package/src/logger.ts +1 -1
package/CHANGELOG.md CHANGED
@@ -1,5 +1,43 @@
1
1
  # @fluidframework/core-interfaces
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
+ - test-utils: provideEntryPoint is required [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
12
+
13
+ The optional `provideEntryPoint` method has become required on a number of constructors. A value will need to be provided to the following classes:
14
+
15
+ - `BaseContainerRuntimeFactory`
16
+ - `RuntimeFactory`
17
+ - `ContainerRuntime` (constructor and `loadRuntime`)
18
+ - `FluidDataStoreRuntime`
19
+
20
+ 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.
21
+ 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.
22
+
23
+ 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.
24
+
25
+ For more details, see [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md)
26
+
27
+ - DEPRECATED: core-interfaces: IFluidRouter and IProvideFluidRouter deprecated [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
28
+
29
+ `IFluidRouter` and `IProvideFluidRouter` have been deprecated. Please remove all usages of these interfaces and migrate to the new `entryPoint` pattern.
30
+
31
+ See [Removing-IFluidRouter.md](https://github.com/microsoft/FluidFramework/blob/main/packages/common/core-interfaces/Removing-IFluidRouter.md) for more details.
32
+
33
+ - Minimum TypeScript version now 5.1.6 [871b3493dd](https://github.com/microsoft/FluidFramework/commits/871b3493dd0d7ea3a89be64998ceb6cb9021a04e)
34
+
35
+ The minimum supported TypeScript version for Fluid 2.0 clients is now 5.1.6.
36
+
37
+ ## 2.0.0-internal.6.4.0
38
+
39
+ Dependency updates only.
40
+
3
41
  ## 2.0.0-internal.6.3.0
4
42
 
5
43
  ### Minor Changes
@@ -46,28 +46,29 @@ The new way to do this is via the object's "entry point".
46
46
  Here it is on `IContainer`, returning an anonymous `FluidObject` - the application-specified root object:
47
47
 
48
48
  ```ts
49
- getEntryPoint?(): Promise<FluidObject | undefined>;
49
+ getEntryPoint(): Promise<FluidObject | undefined>;
50
50
  ```
51
51
 
52
52
  And here it is on `IDataStore`, returning an `IFluidHandle` to an anonymous `FluidObject` - the DataStore's root object:
53
53
 
54
54
  ```ts
55
- readonly entryPoint?: IFluidHandle<FluidObject>;
55
+ readonly entryPoint: IFluidHandle<FluidObject>;
56
56
  ```
57
57
 
58
58
  So how does an application specify what the Container or DataStore's entry point is?
59
- Via a parameter `initializeEntryPoint` that's found on `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor.
59
+ Via a parameter `provideEntryPoint` that's found on `ContainerRuntime.loadRuntime` and `FluidDataStoreRuntime`'s constructor.
60
+
61
+ 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.
62
+ 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.
60
63
 
61
64
  ### ILoader request pattern
62
65
 
63
66
  The `request` API (associated with the `IFluidRouter` interface) has been deprecated on `ILoader` and `Loader`.
64
67
 
65
- **Note:** The `IContainer.request(...)` method will be deprecated in an upcoming release, so do not rely on this method for a long-term solution (the APIs around `entryPoint` and `getEntryPoint()` will become required and available for usage in its place).
66
-
67
- After calling `ILoader.resolve(...)`, call the `request(...)` method on the returned `IContainer` with a corresponding request URL. For converting a request URL from `Loader` to `Container`, use the `IUrlResolver` passed into the `Loader`'s constructor.
68
+ After calling `ILoader.resolve(...)`, call the `getEntryPoint()` method on the returned `IContainer`.
68
69
  The following is an example of what this change may look like:
69
70
 
70
- ```
71
+ ```ts
71
72
  // OLD
72
73
  const request: IRequest;
73
74
  const urlResolver = new YourUrlResolver();
@@ -77,19 +78,14 @@ await loader.resolve(request);
77
78
  const response = loader.request(request);
78
79
  ```
79
80
 
80
- ```
81
+ ```ts
81
82
  // NEW
82
83
  const request: IRequest;
83
84
  const urlResolver = new YourUrlResolver();
84
85
  const loader = new Loader({ urlResolver, ... });
85
86
 
86
87
  const container = await loader.resolve(request);
87
- const resolvedUrl: IRequest = urlResolver.resolve(request);
88
-
89
- // Parse the `resolvedUrl.url` property as necessary before passing to `container.request(...)`
90
- // For an example, see the `Loader.resolveCore(...)` method
91
- const parsedResolvedUrl = // implement parse logic here
92
- const response = container.request(parsedResolvedUrl);
88
+ const entryPoint = await container.getEntryPoint();
93
89
  ```
94
90
 
95
91
  ### Aliased DataStores
@@ -99,15 +95,25 @@ const response = container.request(parsedResolvedUrl);
99
95
  ## Status
100
96
 
101
97
  <!-- prettier-ignore-start -->
102
- | API | Deprecated in | Removed in |
103
- | ------------------------------------------------------------------------------------ | -------------------- | -------------------- |
104
- | `IContainer.request` (except calling with "/") | 2.0.0-internal.6.0.0 | |
105
- | `IDataStore.request` (except calling with "/") | 2.0.0-internal.6.0.0 | |
106
- | `IContainer.IFluidRouter` | 2.0.0-internal.6.0.0 | |
107
- | `IDataStore.IFluidRouter` | 2.0.0-internal.6.0.0 | |
108
- | `request` and `IFluidRouter` on `ILoader` and `Loader` | 2.0.0-internal.6.0.0 | |
109
- | `request` and `IFluidRouter` on `IRuntime` and `ContainerRuntime` | 2.0.0-internal.6.0.0 | |
110
- | `request` and `IFluidRouter` on `IFluidDataStoreRuntime` and `FluidDataStoreRuntime` | 2.0.0-internal.6.0.0 | |
111
- | `request` and `IFluidRouter` on `IFluidDataStoreChannel` | 2.0.0-internal.6.0.0 | |
112
- | `getRootDataStore` on `IContainerRuntime` and `ContainerRuntime` | 2.0.0-internal.6.0.0 | |
98
+ | API | Deprecated in | Removed in |
99
+ | -------------------------------------------------------------------------------------------- | -------------------- | -------------------- |
100
+ | `IContainer.request` (except calling with "/") | 2.0.0-internal.6.0.0 | |
101
+ | `IDataStore.request` (except calling with "/") | 2.0.0-internal.6.0.0 | |
102
+ | `IContainer.IFluidRouter` | 2.0.0-internal.6.0.0 | |
103
+ | `IDataStore.IFluidRouter` | 2.0.0-internal.6.0.0 | |
104
+ | `request` and `IFluidRouter` on `ILoader` and `Loader` | 2.0.0-internal.6.0.0 | |
105
+ | `request` and `IFluidRouter` on `IRuntime` and `ContainerRuntime` | 2.0.0-internal.6.0.0 | |
106
+ | `request` and `IFluidRouter` on `IFluidDataStoreRuntime` and `FluidDataStoreRuntime` | 2.0.0-internal.6.0.0 | |
107
+ | `request` and `IFluidRouter` on `IFluidDataStoreChannel` | 2.0.0-internal.6.0.0 | |
108
+ | `getRootDataStore` on `IContainerRuntime` and `ContainerRuntime` | 2.0.0-internal.6.0.0 | |
109
+ | `resolveHandle` on `IContainerRuntime` | 2.0.0-internal.7.0.0 | |
110
+ | `IFluidHandleContext` on `IContainerRuntimeBase` | 2.0.0-internal.7.0.0 | |
111
+ | `requestHandler` property in `ContainerRuntime.loadRuntime(...)` | 2.0.0-internal.7.0.0 | |
112
+ | `RuntimeRequestHandler` and `RuntimeRequestHandlerBuilder` | 2.0.0-internal.7.0.0 | |
113
+ | `request` and `IFluidRouter` on `IContainer` and `Container` | 2.0.0-internal.7.0.0 | |
114
+ | `request` and `IFluidRouter` on `IDataStore` | 2.0.0-internal.7.0.0 | |
115
+ | `IFluidRouter` and `IProvideFluidRouter` | 2.0.0-internal.7.0.0 | |
116
+ | `requestFluidObject` | 2.0.0-internal.7.0.0 | |
117
+ | `requestResolvedObjectFromContainer` | 2.0.0-internal.7.0.0 | |
118
+ | `getDefaultObjectFromContainer`, `getObjectWithIdFromContainer` and `getObjectFromContainer` | 2.0.0-internal.7.0.0 | |
113
119
  <!-- prettier-ignore-end -->
@@ -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-strict.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,514 @@
1
+ ## API Report File for "@fluidframework/core-interfaces"
2
+
3
+ > Do not edit this file. It is a report generated by [API Extractor](https://api-extractor.com/).
4
+
5
+ ```ts
6
+
7
+ // @public
8
+ export type ExtendEventProvider<TBaseEvent extends IEvent, TBase extends IEventProvider<TBaseEvent>, TEvent extends TBaseEvent> = Omit<Omit<Omit<TBase, "on">, "once">, "off"> & IEventProvider<TBaseEvent> & IEventProvider<TEvent>;
9
+
10
+ // @public
11
+ export const FluidErrorTypes: {
12
+ readonly genericError: "genericError";
13
+ readonly throttlingError: "throttlingError";
14
+ readonly dataCorruptionError: "dataCorruptionError";
15
+ readonly dataProcessingError: "dataProcessingError";
16
+ readonly usageError: "usageError";
17
+ };
18
+
19
+ // @public (undocumented)
20
+ export type FluidErrorTypes = (typeof FluidErrorTypes)[keyof typeof FluidErrorTypes];
21
+
22
+ // @public
23
+ export type FluidObject<T = unknown> = {
24
+ [P in FluidObjectProviderKeys<T>]?: T[P];
25
+ };
26
+
27
+ // @public
28
+ export type FluidObjectKeys<T> = keyof FluidObject<T>;
29
+
30
+ // @public
31
+ export type FluidObjectProviderKeys<T, TProp extends keyof T = keyof T> = string extends TProp ? never : number extends TProp ? never : TProp extends keyof Required<T>[TProp] ? Required<T>[TProp] extends Required<Required<T>[TProp]>[TProp] ? TProp : never : never;
32
+
33
+ // @public
34
+ export interface IDisposable {
35
+ dispose(error?: Error): void;
36
+ readonly disposed: boolean;
37
+ }
38
+
39
+ // @public
40
+ export interface IErrorBase extends Partial<Error> {
41
+ readonly errorType: string;
42
+ getTelemetryProperties?(): ITelemetryBaseProperties;
43
+ readonly message: string;
44
+ readonly name?: string;
45
+ readonly stack?: string;
46
+ }
47
+
48
+ // @public
49
+ export interface IErrorEvent extends IEvent {
50
+ // @eventProperty
51
+ (event: "error", listener: (message: any) => void): any;
52
+ }
53
+
54
+ // @public
55
+ export interface IEvent {
56
+ // @eventProperty
57
+ (event: string, listener: (...args: any[]) => void): any;
58
+ }
59
+
60
+ // @public
61
+ export interface IEventProvider<TEvent extends IEvent> {
62
+ readonly off: IEventTransformer<this, TEvent>;
63
+ readonly on: IEventTransformer<this, TEvent>;
64
+ readonly once: IEventTransformer<this, TEvent>;
65
+ }
66
+
67
+ // @public
68
+ export type IEventThisPlaceHolder = {
69
+ thisPlaceHolder: "thisPlaceHolder";
70
+ };
71
+
72
+ // @public
73
+ export type IEventTransformer<TThis, TEvent extends IEvent> = TEvent extends {
74
+ (event: infer E0, listener: (...args: infer A0) => void): any;
75
+ (event: infer E1, listener: (...args: infer A1) => void): any;
76
+ (event: infer E2, listener: (...args: infer A2) => void): any;
77
+ (event: infer E3, listener: (...args: infer A3) => void): any;
78
+ (event: infer E4, listener: (...args: infer A4) => void): any;
79
+ (event: infer E5, listener: (...args: infer A5) => void): any;
80
+ (event: infer E6, listener: (...args: infer A6) => void): any;
81
+ (event: infer E7, listener: (...args: infer A7) => void): any;
82
+ (event: infer E8, listener: (...args: infer A8) => void): any;
83
+ (event: infer E9, listener: (...args: infer A9) => void): any;
84
+ (event: infer E10, listener: (...args: infer A10) => void): any;
85
+ (event: infer E11, listener: (...args: infer A11) => void): any;
86
+ (event: infer E12, listener: (...args: infer A12) => void): any;
87
+ (event: infer E13, listener: (...args: infer A13) => void): any;
88
+ (event: infer E14, listener: (...args: infer A14) => void): any;
89
+ (event: string, listener: (...args: any[]) => void): any;
90
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> & TransformedEvent<TThis, E13, A13> & TransformedEvent<TThis, E14, A14> : TEvent extends {
91
+ (event: infer E0, listener: (...args: infer A0) => void): any;
92
+ (event: infer E1, listener: (...args: infer A1) => void): any;
93
+ (event: infer E2, listener: (...args: infer A2) => void): any;
94
+ (event: infer E3, listener: (...args: infer A3) => void): any;
95
+ (event: infer E4, listener: (...args: infer A4) => void): any;
96
+ (event: infer E5, listener: (...args: infer A5) => void): any;
97
+ (event: infer E6, listener: (...args: infer A6) => void): any;
98
+ (event: infer E7, listener: (...args: infer A7) => void): any;
99
+ (event: infer E8, listener: (...args: infer A8) => void): any;
100
+ (event: infer E9, listener: (...args: infer A9) => void): any;
101
+ (event: infer E10, listener: (...args: infer A10) => void): any;
102
+ (event: infer E11, listener: (...args: infer A11) => void): any;
103
+ (event: infer E12, listener: (...args: infer A12) => void): any;
104
+ (event: infer E13, listener: (...args: infer A13) => void): any;
105
+ (event: string, listener: (...args: any[]) => void): any;
106
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> & TransformedEvent<TThis, E13, A13> : TEvent extends {
107
+ (event: infer E0, listener: (...args: infer A0) => void): any;
108
+ (event: infer E1, listener: (...args: infer A1) => void): any;
109
+ (event: infer E2, listener: (...args: infer A2) => void): any;
110
+ (event: infer E3, listener: (...args: infer A3) => void): any;
111
+ (event: infer E4, listener: (...args: infer A4) => void): any;
112
+ (event: infer E5, listener: (...args: infer A5) => void): any;
113
+ (event: infer E6, listener: (...args: infer A6) => void): any;
114
+ (event: infer E7, listener: (...args: infer A7) => void): any;
115
+ (event: infer E8, listener: (...args: infer A8) => void): any;
116
+ (event: infer E9, listener: (...args: infer A9) => void): any;
117
+ (event: infer E10, listener: (...args: infer A10) => void): any;
118
+ (event: infer E11, listener: (...args: infer A11) => void): any;
119
+ (event: infer E12, listener: (...args: infer A12) => void): any;
120
+ (event: string, listener: (...args: any[]) => void): any;
121
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> & TransformedEvent<TThis, E12, A12> : TEvent extends {
122
+ (event: infer E0, listener: (...args: infer A0) => void): any;
123
+ (event: infer E1, listener: (...args: infer A1) => void): any;
124
+ (event: infer E2, listener: (...args: infer A2) => void): any;
125
+ (event: infer E3, listener: (...args: infer A3) => void): any;
126
+ (event: infer E4, listener: (...args: infer A4) => void): any;
127
+ (event: infer E5, listener: (...args: infer A5) => void): any;
128
+ (event: infer E6, listener: (...args: infer A6) => void): any;
129
+ (event: infer E7, listener: (...args: infer A7) => void): any;
130
+ (event: infer E8, listener: (...args: infer A8) => void): any;
131
+ (event: infer E9, listener: (...args: infer A9) => void): any;
132
+ (event: infer E10, listener: (...args: infer A10) => void): any;
133
+ (event: infer E11, listener: (...args: infer A11) => void): any;
134
+ (event: string, listener: (...args: any[]) => void): any;
135
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> & TransformedEvent<TThis, E11, A11> : TEvent extends {
136
+ (event: infer E0, listener: (...args: infer A0) => void): any;
137
+ (event: infer E1, listener: (...args: infer A1) => void): any;
138
+ (event: infer E2, listener: (...args: infer A2) => void): any;
139
+ (event: infer E3, listener: (...args: infer A3) => void): any;
140
+ (event: infer E4, listener: (...args: infer A4) => void): any;
141
+ (event: infer E5, listener: (...args: infer A5) => void): any;
142
+ (event: infer E6, listener: (...args: infer A6) => void): any;
143
+ (event: infer E7, listener: (...args: infer A7) => void): any;
144
+ (event: infer E8, listener: (...args: infer A8) => void): any;
145
+ (event: infer E9, listener: (...args: infer A9) => void): any;
146
+ (event: infer E10, listener: (...args: infer A10) => void): any;
147
+ (event: string, listener: (...args: any[]) => void): any;
148
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> & TransformedEvent<TThis, E10, A10> : TEvent extends {
149
+ (event: infer E0, listener: (...args: infer A0) => void): any;
150
+ (event: infer E1, listener: (...args: infer A1) => void): any;
151
+ (event: infer E2, listener: (...args: infer A2) => void): any;
152
+ (event: infer E3, listener: (...args: infer A3) => void): any;
153
+ (event: infer E4, listener: (...args: infer A4) => void): any;
154
+ (event: infer E5, listener: (...args: infer A5) => void): any;
155
+ (event: infer E6, listener: (...args: infer A6) => void): any;
156
+ (event: infer E7, listener: (...args: infer A7) => void): any;
157
+ (event: infer E8, listener: (...args: infer A8) => void): any;
158
+ (event: infer E9, listener: (...args: infer A9) => void): any;
159
+ (event: string, listener: (...args: any[]) => void): any;
160
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> & TransformedEvent<TThis, E9, A9> : TEvent extends {
161
+ (event: infer E0, listener: (...args: infer A0) => void): any;
162
+ (event: infer E1, listener: (...args: infer A1) => void): any;
163
+ (event: infer E2, listener: (...args: infer A2) => void): any;
164
+ (event: infer E3, listener: (...args: infer A3) => void): any;
165
+ (event: infer E4, listener: (...args: infer A4) => void): any;
166
+ (event: infer E5, listener: (...args: infer A5) => void): any;
167
+ (event: infer E6, listener: (...args: infer A6) => void): any;
168
+ (event: infer E7, listener: (...args: infer A7) => void): any;
169
+ (event: infer E8, listener: (...args: infer A8) => void): any;
170
+ (event: string, listener: (...args: any[]) => void): any;
171
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> & TransformedEvent<TThis, E8, A8> : TEvent extends {
172
+ (event: infer E0, listener: (...args: infer A0) => void): any;
173
+ (event: infer E1, listener: (...args: infer A1) => void): any;
174
+ (event: infer E2, listener: (...args: infer A2) => void): any;
175
+ (event: infer E3, listener: (...args: infer A3) => void): any;
176
+ (event: infer E4, listener: (...args: infer A4) => void): any;
177
+ (event: infer E5, listener: (...args: infer A5) => void): any;
178
+ (event: infer E6, listener: (...args: infer A6) => void): any;
179
+ (event: infer E7, listener: (...args: infer A7) => void): any;
180
+ (event: string, listener: (...args: any[]) => void): any;
181
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> & TransformedEvent<TThis, E7, A7> : TEvent extends {
182
+ (event: infer E0, listener: (...args: infer A0) => void): any;
183
+ (event: infer E1, listener: (...args: infer A1) => void): any;
184
+ (event: infer E2, listener: (...args: infer A2) => void): any;
185
+ (event: infer E3, listener: (...args: infer A3) => void): any;
186
+ (event: infer E4, listener: (...args: infer A4) => void): any;
187
+ (event: infer E5, listener: (...args: infer A5) => void): any;
188
+ (event: infer E6, listener: (...args: infer A6) => void): any;
189
+ (event: string, listener: (...args: any[]) => void): any;
190
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> & TransformedEvent<TThis, E6, A6> : TEvent extends {
191
+ (event: infer E0, listener: (...args: infer A0) => void): any;
192
+ (event: infer E1, listener: (...args: infer A1) => void): any;
193
+ (event: infer E2, listener: (...args: infer A2) => void): any;
194
+ (event: infer E3, listener: (...args: infer A3) => void): any;
195
+ (event: infer E4, listener: (...args: infer A4) => void): any;
196
+ (event: infer E5, listener: (...args: infer A5) => void): any;
197
+ (event: string, listener: (...args: any[]) => void): any;
198
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> & TransformedEvent<TThis, E5, A5> : TEvent extends {
199
+ (event: infer E0, listener: (...args: infer A0) => void): any;
200
+ (event: infer E1, listener: (...args: infer A1) => void): any;
201
+ (event: infer E2, listener: (...args: infer A2) => void): any;
202
+ (event: infer E3, listener: (...args: infer A3) => void): any;
203
+ (event: infer E4, listener: (...args: infer A4) => void): any;
204
+ (event: string, listener: (...args: any[]) => void): any;
205
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> & TransformedEvent<TThis, E4, A4> : TEvent extends {
206
+ (event: infer E0, listener: (...args: infer A0) => void): any;
207
+ (event: infer E1, listener: (...args: infer A1) => void): any;
208
+ (event: infer E2, listener: (...args: infer A2) => void): any;
209
+ (event: infer E3, listener: (...args: infer A3) => void): any;
210
+ (event: string, listener: (...args: any[]) => void): any;
211
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> & TransformedEvent<TThis, E3, A3> : TEvent extends {
212
+ (event: infer E0, listener: (...args: infer A0) => void): any;
213
+ (event: infer E1, listener: (...args: infer A1) => void): any;
214
+ (event: infer E2, listener: (...args: infer A2) => void): any;
215
+ (event: string, listener: (...args: any[]) => void): any;
216
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> & TransformedEvent<TThis, E2, A2> : TEvent extends {
217
+ (event: infer E0, listener: (...args: infer A0) => void): any;
218
+ (event: infer E1, listener: (...args: infer A1) => void): any;
219
+ (event: string, listener: (...args: any[]) => void): any;
220
+ } ? TransformedEvent<TThis, E0, A0> & TransformedEvent<TThis, E1, A1> : TEvent extends {
221
+ (event: infer E0, listener: (...args: infer A0) => void): any;
222
+ (event: string, listener: (...args: any[]) => void): any;
223
+ } ? TransformedEvent<TThis, E0, A0> : TransformedEvent<TThis, string, any[]>;
224
+
225
+ // @public @deprecated
226
+ export interface IFluidCodeDetails {
227
+ readonly config?: IFluidCodeDetailsConfig;
228
+ readonly package: string | Readonly<IFluidPackage>;
229
+ }
230
+
231
+ // @public @deprecated (undocumented)
232
+ export const IFluidCodeDetailsComparer: keyof IProvideFluidCodeDetailsComparer;
233
+
234
+ // @public @deprecated
235
+ export interface IFluidCodeDetailsComparer extends IProvideFluidCodeDetailsComparer {
236
+ compare(a: IFluidCodeDetails, b: IFluidCodeDetails): Promise<number | undefined>;
237
+ satisfies(candidate: IFluidCodeDetails, constraint: IFluidCodeDetails): Promise<boolean>;
238
+ }
239
+
240
+ // @public @deprecated
241
+ export interface IFluidCodeDetailsConfig {
242
+ // (undocumented)
243
+ readonly [key: string]: string;
244
+ }
245
+
246
+ // @public (undocumented)
247
+ export const IFluidHandle: keyof IProvideFluidHandle;
248
+
249
+ // @public
250
+ export interface IFluidHandle<T = FluidObject & IFluidLoadable> extends IProvideFluidHandle {
251
+ // @deprecated (undocumented)
252
+ readonly absolutePath: string;
253
+ // @deprecated (undocumented)
254
+ attachGraph(): void;
255
+ // @deprecated (undocumented)
256
+ bind(handle: IFluidHandle): void;
257
+ get(): Promise<T>;
258
+ readonly isAttached: boolean;
259
+ }
260
+
261
+ // @public (undocumented)
262
+ export const IFluidHandleContext: keyof IProvideFluidHandleContext;
263
+
264
+ // @public
265
+ export interface IFluidHandleContext extends IProvideFluidHandleContext {
266
+ readonly absolutePath: string;
267
+ attachGraph(): void;
268
+ readonly isAttached: boolean;
269
+ // (undocumented)
270
+ resolveHandle(request: IRequest): Promise<IResponse>;
271
+ readonly routeContext?: IFluidHandleContext;
272
+ }
273
+
274
+ // @public (undocumented)
275
+ export const IFluidLoadable: keyof IProvideFluidLoadable;
276
+
277
+ // @public
278
+ export interface IFluidLoadable extends IProvideFluidLoadable {
279
+ // (undocumented)
280
+ handle: IFluidHandle;
281
+ }
282
+
283
+ // @public @deprecated
284
+ export interface IFluidPackage {
285
+ [key: string]: unknown;
286
+ fluid: {
287
+ [environment: string]: undefined | IFluidPackageEnvironment;
288
+ };
289
+ name: string;
290
+ }
291
+
292
+ // @public @deprecated
293
+ export interface IFluidPackageEnvironment {
294
+ [target: string]: undefined | {
295
+ files: string[];
296
+ [key: string]: unknown;
297
+ };
298
+ }
299
+
300
+ // @public @deprecated (undocumented)
301
+ export const IFluidRouter: keyof IProvideFluidRouter;
302
+
303
+ // @public @deprecated (undocumented)
304
+ export interface IFluidRouter extends IProvideFluidRouter {
305
+ // (undocumented)
306
+ request(request: IRequest): Promise<IResponse>;
307
+ }
308
+
309
+ // @public (undocumented)
310
+ export const IFluidRunnable: keyof IProvideFluidRunnable;
311
+
312
+ // @public (undocumented)
313
+ export interface IFluidRunnable {
314
+ // (undocumented)
315
+ run(...args: any[]): Promise<void>;
316
+ // (undocumented)
317
+ stop(reason?: string): void;
318
+ }
319
+
320
+ // @public
321
+ export interface IGenericError extends IErrorBase {
322
+ // (undocumented)
323
+ error?: any;
324
+ readonly errorType: typeof FluidErrorTypes.genericError;
325
+ }
326
+
327
+ // @public
328
+ export interface ILoggingError extends Error {
329
+ getTelemetryProperties(): ITelemetryBaseProperties;
330
+ }
331
+
332
+ // @public @deprecated (undocumented)
333
+ export interface IProvideFluidCodeDetailsComparer {
334
+ // (undocumented)
335
+ readonly IFluidCodeDetailsComparer: IFluidCodeDetailsComparer;
336
+ }
337
+
338
+ // @public (undocumented)
339
+ export interface IProvideFluidHandle {
340
+ // (undocumented)
341
+ readonly IFluidHandle: IFluidHandle;
342
+ }
343
+
344
+ // @public (undocumented)
345
+ export interface IProvideFluidHandleContext {
346
+ // (undocumented)
347
+ readonly IFluidHandleContext: IFluidHandleContext;
348
+ }
349
+
350
+ // @public (undocumented)
351
+ export interface IProvideFluidLoadable {
352
+ // (undocumented)
353
+ readonly IFluidLoadable: IFluidLoadable;
354
+ }
355
+
356
+ // @public @deprecated
357
+ export interface IProvideFluidRouter {
358
+ // (undocumented)
359
+ readonly IFluidRouter: IFluidRouter;
360
+ }
361
+
362
+ // @public (undocumented)
363
+ export interface IProvideFluidRunnable {
364
+ // (undocumented)
365
+ readonly IFluidRunnable: IFluidRunnable;
366
+ }
367
+
368
+ // @public (undocumented)
369
+ export interface IRequest {
370
+ // (undocumented)
371
+ headers?: IRequestHeader;
372
+ // (undocumented)
373
+ url: string;
374
+ }
375
+
376
+ // @public (undocumented)
377
+ export interface IRequestHeader {
378
+ // (undocumented)
379
+ [index: string]: any;
380
+ }
381
+
382
+ // @public (undocumented)
383
+ export interface IResponse {
384
+ // (undocumented)
385
+ headers?: {
386
+ [key: string]: any;
387
+ };
388
+ // (undocumented)
389
+ mimeType: string;
390
+ // (undocumented)
391
+ stack?: string;
392
+ // (undocumented)
393
+ status: number;
394
+ // (undocumented)
395
+ value: any;
396
+ }
397
+
398
+ // @public @deprecated (undocumented)
399
+ export const isFluidCodeDetails: (details: unknown) => details is Readonly<IFluidCodeDetails>;
400
+
401
+ // @public @deprecated
402
+ export const isFluidPackage: (pkg: unknown) => pkg is Readonly<IFluidPackage>;
403
+
404
+ // @public @deprecated (undocumented)
405
+ export interface ITaggedTelemetryPropertyType {
406
+ // (undocumented)
407
+ tag: string;
408
+ // (undocumented)
409
+ value: TelemetryEventPropertyType;
410
+ }
411
+
412
+ // @public
413
+ export interface ITelemetryBaseEvent extends ITelemetryBaseProperties {
414
+ // (undocumented)
415
+ category: string;
416
+ // (undocumented)
417
+ eventName: string;
418
+ }
419
+
420
+ // @public
421
+ export interface ITelemetryBaseLogger {
422
+ // (undocumented)
423
+ minLogLevel?: LogLevel;
424
+ // (undocumented)
425
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
426
+ }
427
+
428
+ // @public
429
+ export type ITelemetryBaseProperties = ITelemetryProperties;
430
+
431
+ // @public @deprecated
432
+ export interface ITelemetryErrorEvent extends ITelemetryProperties {
433
+ // (undocumented)
434
+ eventName: string;
435
+ }
436
+
437
+ // @public @deprecated
438
+ export interface ITelemetryGenericEvent extends ITelemetryProperties {
439
+ // (undocumented)
440
+ category?: TelemetryEventCategory;
441
+ // (undocumented)
442
+ eventName: string;
443
+ }
444
+
445
+ // @public @deprecated
446
+ export interface ITelemetryLogger extends ITelemetryBaseLogger {
447
+ send(event: ITelemetryBaseEvent, logLevel?: LogLevel): void;
448
+ sendErrorEvent(event: ITelemetryErrorEvent, error?: any): void;
449
+ sendPerformanceEvent(event: ITelemetryPerformanceEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
450
+ sendTelemetryEvent(event: ITelemetryGenericEvent, error?: any, logLevel?: typeof LogLevel.verbose | typeof LogLevel.default): void;
451
+ }
452
+
453
+ // @public @deprecated
454
+ export interface ITelemetryPerformanceEvent extends ITelemetryGenericEvent {
455
+ // (undocumented)
456
+ duration?: number;
457
+ }
458
+
459
+ // @public @deprecated
460
+ export interface ITelemetryProperties {
461
+ // (undocumented)
462
+ [index: string]: TelemetryEventPropertyType | Tagged<TelemetryEventPropertyType>;
463
+ }
464
+
465
+ // @public
466
+ export interface IThrottlingWarning extends IErrorBase {
467
+ readonly errorType: typeof FluidErrorTypes.throttlingError;
468
+ // (undocumented)
469
+ readonly retryAfterSeconds: number;
470
+ }
471
+
472
+ // @public
473
+ export interface IUsageError extends IErrorBase {
474
+ readonly errorType: typeof FluidErrorTypes.usageError;
475
+ }
476
+
477
+ // @public
478
+ export const LogLevel: {
479
+ readonly verbose: 10;
480
+ readonly default: 20;
481
+ readonly error: 30;
482
+ };
483
+
484
+ // @public
485
+ export type LogLevel = (typeof LogLevel)[keyof typeof LogLevel];
486
+
487
+ // @public
488
+ export type ReplaceIEventThisPlaceHolder<L extends any[], TThis> = L extends any[] ? {
489
+ [K in keyof L]: L[K] extends IEventThisPlaceHolder ? TThis : L[K];
490
+ } : L;
491
+
492
+ // @public
493
+ export interface Tagged<V, T extends string = string> {
494
+ // (undocumented)
495
+ tag: T;
496
+ // (undocumented)
497
+ value: V;
498
+ }
499
+
500
+ // @public
501
+ export type TelemetryBaseEventPropertyType = TelemetryEventPropertyType;
502
+
503
+ // @public @deprecated
504
+ export type TelemetryEventCategory = "generic" | "error" | "performance";
505
+
506
+ // @public @deprecated
507
+ export type TelemetryEventPropertyType = string | number | boolean | undefined;
508
+
509
+ // @public
510
+ export type TransformedEvent<TThis, E, A extends any[]> = (event: E, listener: (...args: ReplaceIEventThisPlaceHolder<A, TThis>) => void) => TThis;
511
+
512
+ // (No @packageDocumentation comment for this package)
513
+
514
+ ```