@fluidframework/fluid-runner 2.0.0-dev-rc.3.0.0.254274 → 2.0.0-dev-rc.3.0.0.254674

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.
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
10
+ export {
11
+ // alpha APIs
12
+ IExportFileResponse,
13
+ IExportFileResponseFailure,
14
+ IExportFileResponseSuccess,
15
+ IFluidFileConverter,
16
+ OutputFormat
17
+ } from "./index.js";
package/dist/beta.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
package/lib/alpha.d.ts ADDED
@@ -0,0 +1,17 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
10
+ export {
11
+ // alpha APIs
12
+ IExportFileResponse,
13
+ IExportFileResponseFailure,
14
+ IExportFileResponseSuccess,
15
+ IFluidFileConverter,
16
+ OutputFormat
17
+ } from "./index.js";
package/lib/beta.d.ts ADDED
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
@@ -0,0 +1,9 @@
1
+ /*!
2
+ * Copyright (c) Microsoft Corporation and contributors. All rights reserved.
3
+ * Licensed under the MIT License.
4
+ */
5
+
6
+ /*
7
+ * THIS IS AN AUTOGENERATED FILE. DO NOT EDIT THIS FILE DIRECTLY.
8
+ * Generated by "flub generate entrypoints" in @fluidframework/build-tools.
9
+ */
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fluidframework/fluid-runner",
3
- "version": "2.0.0-dev-rc.3.0.0.254274",
3
+ "version": "2.0.0-dev-rc.3.0.0.254674",
4
4
  "description": "Utility for running various functionality inside a Fluid Framework environment",
5
5
  "homepage": "https://fluidframework.com",
6
6
  "repository": {
@@ -24,21 +24,21 @@
24
24
  },
25
25
  "./public": {
26
26
  "import": {
27
- "types": "./lib/fluid-runner-public.d.ts",
27
+ "types": "./lib/public.d.ts",
28
28
  "default": "./lib/index.js"
29
29
  },
30
30
  "require": {
31
- "types": "./dist/fluid-runner-public.d.ts",
31
+ "types": "./dist/public.d.ts",
32
32
  "default": "./dist/index.js"
33
33
  }
34
34
  },
35
35
  "./alpha": {
36
36
  "import": {
37
- "types": "./lib/fluid-runner-alpha.d.ts",
37
+ "types": "./lib/alpha.d.ts",
38
38
  "default": "./lib/index.js"
39
39
  },
40
40
  "require": {
41
- "types": "./dist/fluid-runner-alpha.d.ts",
41
+ "types": "./dist/alpha.d.ts",
42
42
  "default": "./dist/index.js"
43
43
  }
44
44
  },
@@ -79,24 +79,24 @@
79
79
  "temp-directory": "nyc/.nyc_output"
80
80
  },
81
81
  "dependencies": {
82
- "@fluidframework/aqueduct": "2.0.0-dev-rc.3.0.0.254274",
83
- "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.254274",
84
- "@fluidframework/container-loader": "2.0.0-dev-rc.3.0.0.254274",
85
- "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.254274",
86
- "@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.254274",
87
- "@fluidframework/odsp-driver": "2.0.0-dev-rc.3.0.0.254274",
88
- "@fluidframework/odsp-driver-definitions": "2.0.0-dev-rc.3.0.0.254274",
89
- "@fluidframework/telemetry-utils": "2.0.0-dev-rc.3.0.0.254274",
82
+ "@fluidframework/aqueduct": "2.0.0-dev-rc.3.0.0.254674",
83
+ "@fluidframework/container-definitions": "2.0.0-dev-rc.3.0.0.254674",
84
+ "@fluidframework/container-loader": "2.0.0-dev-rc.3.0.0.254674",
85
+ "@fluidframework/core-interfaces": "2.0.0-dev-rc.3.0.0.254674",
86
+ "@fluidframework/driver-definitions": "2.0.0-dev-rc.3.0.0.254674",
87
+ "@fluidframework/odsp-driver": "2.0.0-dev-rc.3.0.0.254674",
88
+ "@fluidframework/odsp-driver-definitions": "2.0.0-dev-rc.3.0.0.254674",
89
+ "@fluidframework/telemetry-utils": "2.0.0-dev-rc.3.0.0.254674",
90
90
  "json2csv": "^5.0.7",
91
91
  "yargs": "17.7.2"
92
92
  },
93
93
  "devDependencies": {
94
94
  "@arethetypeswrong/cli": "^0.15.2",
95
95
  "@biomejs/biome": "^1.6.2",
96
- "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.254274",
97
- "@fluid-tools/build-cli": "^0.34.0",
96
+ "@fluid-internal/mocha-test-setup": "2.0.0-dev-rc.3.0.0.254674",
97
+ "@fluid-tools/build-cli": "^0.35.0",
98
98
  "@fluidframework/build-common": "^2.0.3",
99
- "@fluidframework/build-tools": "^0.34.0",
99
+ "@fluidframework/build-tools": "^0.35.0",
100
100
  "@fluidframework/eslint-config-fluid": "^5.1.0",
101
101
  "@fluidframework/fluid-runner-previous": "npm:@fluidframework/fluid-runner@2.0.0-internal.8.0.0",
102
102
  "@microsoft/api-extractor": "^7.42.3",
@@ -115,29 +115,17 @@
115
115
  "rimraf": "^4.4.0",
116
116
  "typescript": "~5.1.6"
117
117
  },
118
- "fluidBuild": {
119
- "tasks": {
120
- "build:docs": {
121
- "dependsOn": [
122
- "...",
123
- "api-extractor:commonjs",
124
- "api-extractor:esnext"
125
- ],
126
- "script": false
127
- }
128
- }
129
- },
130
118
  "typeValidation": {
131
119
  "broken": {}
132
120
  },
133
121
  "scripts": {
134
122
  "api": "fluid-build . --task api",
135
- "api-extractor:commonjs": "api-extractor run --config ./api-extractor-cjs.json",
136
- "api-extractor:esnext": "api-extractor run --local",
123
+ "api-extractor:commonjs": "flub generate entrypoints --outDir ./dist",
124
+ "api-extractor:esnext": "flub generate entrypoints --outDir ./lib",
137
125
  "build": "fluid-build . --task build",
138
126
  "build:commonjs": "fluid-build . --task commonjs",
139
127
  "build:compile": "fluid-build . --task compile",
140
- "build:docs": "fluid-build . --task api",
128
+ "build:docs": "api-extractor run --local",
141
129
  "build:esnext": "tsc --project ./tsconfig.json",
142
130
  "build:test": "npm run build:test:esm && npm run build:test:cjs",
143
131
  "build:test:cjs": "fluid-tsc commonjs --project ./src/test/tsconfig.cjs.json",
@@ -1,8 +0,0 @@
1
- {
2
- "$schema": "https://developer.microsoft.com/json-schemas/api-extractor/v7/api-extractor.schema.json",
3
- "extends": "../../../common/build/build-common/api-extractor-base.cjs.primary.json",
4
- // CJS is actually secondary; so, no report.
5
- "apiReport": {
6
- "enabled": false
7
- }
8
- }
@@ -1,85 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeLoaderBundle */
22
-
23
- /**
24
- * @alpha
25
- */
26
- export declare type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
27
-
28
- /**
29
- * @alpha
30
- */
31
- export declare interface IExportFileResponseFailure {
32
- success: false;
33
- eventName: string;
34
- errorMessage: string;
35
- error?: any;
36
- }
37
-
38
- /**
39
- * @alpha
40
- */
41
- export declare interface IExportFileResponseSuccess {
42
- success: true;
43
- }
44
-
45
- /* Excluded from this release type: IFileLogger */
46
-
47
- /**
48
- * Instance that holds all the details for Fluid file conversion
49
- * @alpha
50
- */
51
- export declare interface IFluidFileConverter {
52
- /**
53
- * Get code loader details to provide at Loader creation
54
- * @param logger - created logger object to pass to code loader
55
- */
56
- getCodeLoader(logger: ITelemetryBaseLogger): Promise<ICodeDetailsLoader>;
57
- /**
58
- * Get scope object to provide at Loader creation
59
- * @param logger - created logger object to pass to scope object
60
- */
61
- getScope?(logger: ITelemetryBaseLogger): Promise<FluidObject>;
62
- /**
63
- * Executes code on container and returns the result
64
- * @param container - container created by this application
65
- * @param options - additional options
66
- */
67
- execute(container: IContainer, options?: string): Promise<string>;
68
- }
69
-
70
- /* Excluded from this release type: ITelemetryOptions */
71
-
72
- /**
73
- * Desired output format for the telemetry
74
- * @alpha
75
- */
76
- export declare enum OutputFormat {
77
- JSON = 0,
78
- CSV = 1
79
- }
80
-
81
- /* Excluded from this release type: parseBundleAndExportFile */
82
-
83
- /* Excluded from this release type: validateAndParseTelemetryOptions */
84
-
85
- export { }
@@ -1,45 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeDetailsLoader */
22
-
23
- /* Excluded from this release type: ICodeLoaderBundle */
24
-
25
- /* Excluded from this release type: IContainer */
26
-
27
- /* Excluded from this release type: IExportFileResponse */
28
-
29
- /* Excluded from this release type: IExportFileResponseFailure */
30
-
31
- /* Excluded from this release type: IExportFileResponseSuccess */
32
-
33
- /* Excluded from this release type: IFileLogger */
34
-
35
- /* Excluded from this release type: IFluidFileConverter */
36
-
37
- /* Excluded from this release type: ITelemetryOptions */
38
-
39
- /* Excluded from this release type: OutputFormat */
40
-
41
- /* Excluded from this release type: parseBundleAndExportFile */
42
-
43
- /* Excluded from this release type: validateAndParseTelemetryOptions */
44
-
45
- export { }
@@ -1,45 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeDetailsLoader */
22
-
23
- /* Excluded from this release type: ICodeLoaderBundle */
24
-
25
- /* Excluded from this release type: IContainer */
26
-
27
- /* Excluded from this release type: IExportFileResponse */
28
-
29
- /* Excluded from this release type: IExportFileResponseFailure */
30
-
31
- /* Excluded from this release type: IExportFileResponseSuccess */
32
-
33
- /* Excluded from this release type: IFileLogger */
34
-
35
- /* Excluded from this release type: IFluidFileConverter */
36
-
37
- /* Excluded from this release type: ITelemetryOptions */
38
-
39
- /* Excluded from this release type: OutputFormat */
40
-
41
- /* Excluded from this release type: parseBundleAndExportFile */
42
-
43
- /* Excluded from this release type: validateAndParseTelemetryOptions */
44
-
45
- export { }
@@ -1,181 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /**
10
- * Create the container based on an ODSP snapshot and execute code on it
11
- * @returns result of execution
12
- * @internal
13
- */
14
- export declare function createContainerAndExecute(localOdspSnapshot: string | Uint8Array, fluidFileConverter: IFluidFileConverter, logger: ITelemetryLoggerExt, options?: string, timeout?: number, disableNetworkFetch?: boolean): Promise<string>;
15
-
16
- /**
17
- * Create an {@link @fluidframework/telemetry-utils#ITelemetryLoggerExt} wrapped around provided {@link IFileLogger}.
18
- *
19
- * @remarks
20
- *
21
- * It is expected that all events be sent through the returned "logger" value.
22
- *
23
- * The "fileLogger" value should have its "close()" method called at the end of execution.
24
- *
25
- * Note: if an output format is not supplied, default is JSON.
26
- *
27
- * @returns Both the `IFileLogger` implementation and `ITelemetryLoggerExt` wrapper to be called.
28
- * @internal
29
- */
30
- export declare function createLogger(filePath: string, options?: ITelemetryOptions): {
31
- logger: ITelemetryLoggerExt;
32
- fileLogger: IFileLogger;
33
- };
34
-
35
- /**
36
- * Execute code on Container based on ODSP snapshot and write result to file
37
- * @internal
38
- */
39
- export declare function exportFile(fluidFileConverter: IFluidFileConverter, inputFile: string, outputFile: string, telemetryFile: string, options?: string, telemetryOptions?: ITelemetryOptions, timeout?: number, disableNetworkFetch?: boolean): Promise<IExportFileResponse>;
40
-
41
- /**
42
- * @param fluidFileConverter - needs to be provided if "codeLoaderBundle" is not and vice versa
43
- * @internal
44
- */
45
- export declare function fluidRunner(fluidFileConverter?: IFluidFileConverter): Promise<void>;
46
-
47
- /**
48
- * Get the ODSP snapshot file content
49
- * Works on both JSON and binary snapshot formats
50
- * @param filePath - path to the ODSP snapshot file
51
- * @internal
52
- */
53
- export declare function getSnapshotFileContent(filePath: string): string | Buffer;
54
-
55
- /**
56
- * Validate the telemetryFile command line argument
57
- * @param telemetryFile - path where telemetry will be written
58
- * @internal
59
- */
60
- export declare function getTelemetryFileValidationError(telemetryFile: string): string | undefined;
61
-
62
- /**
63
- * Contract that defines the necessary exports for the bundle provided at runtime
64
- * For an example, see "src/test/sampleCodeLoaders/sampleCodeLoader.ts"
65
- * @internal
66
- */
67
- export declare interface ICodeLoaderBundle {
68
- /**
69
- * Fluid export of all the required objects and functions
70
- */
71
- fluidExport: Promise<IFluidFileConverter>;
72
- }
73
-
74
- /**
75
- * @alpha
76
- */
77
- export declare type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
78
-
79
- /**
80
- * @alpha
81
- */
82
- export declare interface IExportFileResponseFailure {
83
- success: false;
84
- eventName: string;
85
- errorMessage: string;
86
- error?: any;
87
- }
88
-
89
- /**
90
- * @alpha
91
- */
92
- export declare interface IExportFileResponseSuccess {
93
- success: true;
94
- }
95
-
96
- /**
97
- * Contract for logger that writes telemetry to a file
98
- * @internal
99
- */
100
- export declare interface IFileLogger extends ITelemetryBaseLogger {
101
- /**
102
- * This method acts as a "dispose" and should be explicitly called at the end of execution
103
- */
104
- close(): Promise<void>;
105
- }
106
-
107
- /**
108
- * Instance that holds all the details for Fluid file conversion
109
- * @alpha
110
- */
111
- export declare interface IFluidFileConverter {
112
- /**
113
- * Get code loader details to provide at Loader creation
114
- * @param logger - created logger object to pass to code loader
115
- */
116
- getCodeLoader(logger: ITelemetryBaseLogger): Promise<ICodeDetailsLoader>;
117
- /**
118
- * Get scope object to provide at Loader creation
119
- * @param logger - created logger object to pass to scope object
120
- */
121
- getScope?(logger: ITelemetryBaseLogger): Promise<FluidObject>;
122
- /**
123
- * Executes code on container and returns the result
124
- * @param container - container created by this application
125
- * @param options - additional options
126
- */
127
- execute(container: IContainer, options?: string): Promise<string>;
128
- }
129
-
130
- /**
131
- * Options to provide upon creation of IFileLogger
132
- * @internal
133
- */
134
- export declare interface ITelemetryOptions {
135
- /** Desired output format used to create a specific IFileLogger implementation */
136
- outputFormat?: OutputFormat;
137
- /**
138
- * Properties that should be added to every telemetry event
139
- *
140
- * @example
141
- *
142
- * ```JSON
143
- * { "prop1": "value1", "prop2": 10.0 }
144
- * ```
145
- */
146
- defaultProps?: Record<string, string | number>;
147
- /** Number of telemetry events per flush to telemetry file */
148
- eventsPerFlush?: number;
149
- }
150
-
151
- /**
152
- * Desired output format for the telemetry
153
- * @alpha
154
- */
155
- export declare enum OutputFormat {
156
- JSON = 0,
157
- CSV = 1
158
- }
159
-
160
- /**
161
- * Parse a provided JS bundle, execute code on Container based on ODSP snapshot, and write result to file
162
- * @param codeLoader - path to provided JS bundle that implements ICodeLoaderBundle (see codeLoaderBundle.ts)
163
- * @internal
164
- */
165
- export declare function parseBundleAndExportFile(codeLoader: string, inputFile: string, outputFile: string, telemetryFile: string, options?: string, telemetryOptions?: ITelemetryOptions, timeout?: number, disableNetworkFetch?: boolean): Promise<IExportFileResponse>;
166
-
167
- /**
168
- * Validate the provided output format and default properties
169
- * @param format - desired output format of the telemetry
170
- * @param props - default properties to be added to every telemetry entry
171
- * @internal
172
- */
173
- export declare function validateAndParseTelemetryOptions(format?: string, props?: (string | number)[], eventsPerFlush?: number): {
174
- success: false;
175
- error: string;
176
- } | {
177
- success: true;
178
- telemetryOptions: ITelemetryOptions;
179
- };
180
-
181
- export { }
@@ -1,11 +0,0 @@
1
- // This file is read by tools that parse documentation comments conforming to the TSDoc standard.
2
- // It should be published with your NPM package. It should not be tracked by Git.
3
- {
4
- "tsdocVersion": "0.12",
5
- "toolPackages": [
6
- {
7
- "packageName": "@microsoft/api-extractor",
8
- "packageVersion": "7.42.3"
9
- }
10
- ]
11
- }
@@ -1,85 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeLoaderBundle */
22
-
23
- /**
24
- * @alpha
25
- */
26
- export declare type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
27
-
28
- /**
29
- * @alpha
30
- */
31
- export declare interface IExportFileResponseFailure {
32
- success: false;
33
- eventName: string;
34
- errorMessage: string;
35
- error?: any;
36
- }
37
-
38
- /**
39
- * @alpha
40
- */
41
- export declare interface IExportFileResponseSuccess {
42
- success: true;
43
- }
44
-
45
- /* Excluded from this release type: IFileLogger */
46
-
47
- /**
48
- * Instance that holds all the details for Fluid file conversion
49
- * @alpha
50
- */
51
- export declare interface IFluidFileConverter {
52
- /**
53
- * Get code loader details to provide at Loader creation
54
- * @param logger - created logger object to pass to code loader
55
- */
56
- getCodeLoader(logger: ITelemetryBaseLogger): Promise<ICodeDetailsLoader>;
57
- /**
58
- * Get scope object to provide at Loader creation
59
- * @param logger - created logger object to pass to scope object
60
- */
61
- getScope?(logger: ITelemetryBaseLogger): Promise<FluidObject>;
62
- /**
63
- * Executes code on container and returns the result
64
- * @param container - container created by this application
65
- * @param options - additional options
66
- */
67
- execute(container: IContainer, options?: string): Promise<string>;
68
- }
69
-
70
- /* Excluded from this release type: ITelemetryOptions */
71
-
72
- /**
73
- * Desired output format for the telemetry
74
- * @alpha
75
- */
76
- export declare enum OutputFormat {
77
- JSON = 0,
78
- CSV = 1
79
- }
80
-
81
- /* Excluded from this release type: parseBundleAndExportFile */
82
-
83
- /* Excluded from this release type: validateAndParseTelemetryOptions */
84
-
85
- export { }
@@ -1,45 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeDetailsLoader */
22
-
23
- /* Excluded from this release type: ICodeLoaderBundle */
24
-
25
- /* Excluded from this release type: IContainer */
26
-
27
- /* Excluded from this release type: IExportFileResponse */
28
-
29
- /* Excluded from this release type: IExportFileResponseFailure */
30
-
31
- /* Excluded from this release type: IExportFileResponseSuccess */
32
-
33
- /* Excluded from this release type: IFileLogger */
34
-
35
- /* Excluded from this release type: IFluidFileConverter */
36
-
37
- /* Excluded from this release type: ITelemetryOptions */
38
-
39
- /* Excluded from this release type: OutputFormat */
40
-
41
- /* Excluded from this release type: parseBundleAndExportFile */
42
-
43
- /* Excluded from this release type: validateAndParseTelemetryOptions */
44
-
45
- export { }
@@ -1,45 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /* Excluded from this release type: createContainerAndExecute */
10
-
11
- /* Excluded from this release type: createLogger */
12
-
13
- /* Excluded from this release type: exportFile */
14
-
15
- /* Excluded from this release type: fluidRunner */
16
-
17
- /* Excluded from this release type: getSnapshotFileContent */
18
-
19
- /* Excluded from this release type: getTelemetryFileValidationError */
20
-
21
- /* Excluded from this release type: ICodeDetailsLoader */
22
-
23
- /* Excluded from this release type: ICodeLoaderBundle */
24
-
25
- /* Excluded from this release type: IContainer */
26
-
27
- /* Excluded from this release type: IExportFileResponse */
28
-
29
- /* Excluded from this release type: IExportFileResponseFailure */
30
-
31
- /* Excluded from this release type: IExportFileResponseSuccess */
32
-
33
- /* Excluded from this release type: IFileLogger */
34
-
35
- /* Excluded from this release type: IFluidFileConverter */
36
-
37
- /* Excluded from this release type: ITelemetryOptions */
38
-
39
- /* Excluded from this release type: OutputFormat */
40
-
41
- /* Excluded from this release type: parseBundleAndExportFile */
42
-
43
- /* Excluded from this release type: validateAndParseTelemetryOptions */
44
-
45
- export { }
@@ -1,181 +0,0 @@
1
- /// <reference types="node" />
2
-
3
- import { FluidObject } from '@fluidframework/core-interfaces';
4
- import { ICodeDetailsLoader } from '@fluidframework/container-definitions/internal';
5
- import { IContainer } from '@fluidframework/container-definitions/internal';
6
- import { ITelemetryBaseLogger } from '@fluidframework/core-interfaces';
7
- import { ITelemetryLoggerExt } from '@fluidframework/telemetry-utils';
8
-
9
- /**
10
- * Create the container based on an ODSP snapshot and execute code on it
11
- * @returns result of execution
12
- * @internal
13
- */
14
- export declare function createContainerAndExecute(localOdspSnapshot: string | Uint8Array, fluidFileConverter: IFluidFileConverter, logger: ITelemetryLoggerExt, options?: string, timeout?: number, disableNetworkFetch?: boolean): Promise<string>;
15
-
16
- /**
17
- * Create an {@link @fluidframework/telemetry-utils#ITelemetryLoggerExt} wrapped around provided {@link IFileLogger}.
18
- *
19
- * @remarks
20
- *
21
- * It is expected that all events be sent through the returned "logger" value.
22
- *
23
- * The "fileLogger" value should have its "close()" method called at the end of execution.
24
- *
25
- * Note: if an output format is not supplied, default is JSON.
26
- *
27
- * @returns Both the `IFileLogger` implementation and `ITelemetryLoggerExt` wrapper to be called.
28
- * @internal
29
- */
30
- export declare function createLogger(filePath: string, options?: ITelemetryOptions): {
31
- logger: ITelemetryLoggerExt;
32
- fileLogger: IFileLogger;
33
- };
34
-
35
- /**
36
- * Execute code on Container based on ODSP snapshot and write result to file
37
- * @internal
38
- */
39
- export declare function exportFile(fluidFileConverter: IFluidFileConverter, inputFile: string, outputFile: string, telemetryFile: string, options?: string, telemetryOptions?: ITelemetryOptions, timeout?: number, disableNetworkFetch?: boolean): Promise<IExportFileResponse>;
40
-
41
- /**
42
- * @param fluidFileConverter - needs to be provided if "codeLoaderBundle" is not and vice versa
43
- * @internal
44
- */
45
- export declare function fluidRunner(fluidFileConverter?: IFluidFileConverter): Promise<void>;
46
-
47
- /**
48
- * Get the ODSP snapshot file content
49
- * Works on both JSON and binary snapshot formats
50
- * @param filePath - path to the ODSP snapshot file
51
- * @internal
52
- */
53
- export declare function getSnapshotFileContent(filePath: string): string | Buffer;
54
-
55
- /**
56
- * Validate the telemetryFile command line argument
57
- * @param telemetryFile - path where telemetry will be written
58
- * @internal
59
- */
60
- export declare function getTelemetryFileValidationError(telemetryFile: string): string | undefined;
61
-
62
- /**
63
- * Contract that defines the necessary exports for the bundle provided at runtime
64
- * For an example, see "src/test/sampleCodeLoaders/sampleCodeLoader.ts"
65
- * @internal
66
- */
67
- export declare interface ICodeLoaderBundle {
68
- /**
69
- * Fluid export of all the required objects and functions
70
- */
71
- fluidExport: Promise<IFluidFileConverter>;
72
- }
73
-
74
- /**
75
- * @alpha
76
- */
77
- export declare type IExportFileResponse = IExportFileResponseSuccess | IExportFileResponseFailure;
78
-
79
- /**
80
- * @alpha
81
- */
82
- export declare interface IExportFileResponseFailure {
83
- success: false;
84
- eventName: string;
85
- errorMessage: string;
86
- error?: any;
87
- }
88
-
89
- /**
90
- * @alpha
91
- */
92
- export declare interface IExportFileResponseSuccess {
93
- success: true;
94
- }
95
-
96
- /**
97
- * Contract for logger that writes telemetry to a file
98
- * @internal
99
- */
100
- export declare interface IFileLogger extends ITelemetryBaseLogger {
101
- /**
102
- * This method acts as a "dispose" and should be explicitly called at the end of execution
103
- */
104
- close(): Promise<void>;
105
- }
106
-
107
- /**
108
- * Instance that holds all the details for Fluid file conversion
109
- * @alpha
110
- */
111
- export declare interface IFluidFileConverter {
112
- /**
113
- * Get code loader details to provide at Loader creation
114
- * @param logger - created logger object to pass to code loader
115
- */
116
- getCodeLoader(logger: ITelemetryBaseLogger): Promise<ICodeDetailsLoader>;
117
- /**
118
- * Get scope object to provide at Loader creation
119
- * @param logger - created logger object to pass to scope object
120
- */
121
- getScope?(logger: ITelemetryBaseLogger): Promise<FluidObject>;
122
- /**
123
- * Executes code on container and returns the result
124
- * @param container - container created by this application
125
- * @param options - additional options
126
- */
127
- execute(container: IContainer, options?: string): Promise<string>;
128
- }
129
-
130
- /**
131
- * Options to provide upon creation of IFileLogger
132
- * @internal
133
- */
134
- export declare interface ITelemetryOptions {
135
- /** Desired output format used to create a specific IFileLogger implementation */
136
- outputFormat?: OutputFormat;
137
- /**
138
- * Properties that should be added to every telemetry event
139
- *
140
- * @example
141
- *
142
- * ```JSON
143
- * { "prop1": "value1", "prop2": 10.0 }
144
- * ```
145
- */
146
- defaultProps?: Record<string, string | number>;
147
- /** Number of telemetry events per flush to telemetry file */
148
- eventsPerFlush?: number;
149
- }
150
-
151
- /**
152
- * Desired output format for the telemetry
153
- * @alpha
154
- */
155
- export declare enum OutputFormat {
156
- JSON = 0,
157
- CSV = 1
158
- }
159
-
160
- /**
161
- * Parse a provided JS bundle, execute code on Container based on ODSP snapshot, and write result to file
162
- * @param codeLoader - path to provided JS bundle that implements ICodeLoaderBundle (see codeLoaderBundle.ts)
163
- * @internal
164
- */
165
- export declare function parseBundleAndExportFile(codeLoader: string, inputFile: string, outputFile: string, telemetryFile: string, options?: string, telemetryOptions?: ITelemetryOptions, timeout?: number, disableNetworkFetch?: boolean): Promise<IExportFileResponse>;
166
-
167
- /**
168
- * Validate the provided output format and default properties
169
- * @param format - desired output format of the telemetry
170
- * @param props - default properties to be added to every telemetry entry
171
- * @internal
172
- */
173
- export declare function validateAndParseTelemetryOptions(format?: string, props?: (string | number)[], eventsPerFlush?: number): {
174
- success: false;
175
- error: string;
176
- } | {
177
- success: true;
178
- telemetryOptions: ITelemetryOptions;
179
- };
180
-
181
- export { }