@grnsft/if 0.1.3-beta → 0.1.3
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.
- package/README.md +2 -21
- package/package.json +1 -3
- package/src/config/units.yaml +24 -11
- package/tsconfig.build.tsbuildinfo +1 -1
- package/yarn-error.log +5431 -0
- package/build/config/config.d.ts +0 -12
- package/build/config/config.js +0 -54
- package/build/config/index.d.ts +0 -2
- package/build/config/index.js +0 -8
- package/build/config/strings.d.ts +0 -19
- package/build/config/strings.js +0 -34
- package/build/index.d.ts +0 -2
- package/build/index.js +0 -53
- package/build/lib/models-universe.d.ts +0 -36
- package/build/lib/models-universe.js +0 -113
- package/build/lib/observatory.d.ts +0 -20
- package/build/lib/observatory.js +0 -31
- package/build/lib/planet-aggregator.d.ts +0 -6
- package/build/lib/planet-aggregator.js +0 -35
- package/build/lib/supercomputer.d.ts +0 -37
- package/build/lib/supercomputer.js +0 -148
- package/build/models/index.d.ts +0 -1
- package/build/models/index.js +0 -6
- package/build/models/time-sync.d.ts +0 -55
- package/build/models/time-sync.js +0 -235
- package/build/types/helpers.d.ts +0 -1
- package/build/types/helpers.js +0 -3
- package/build/types/impl.d.ts +0 -45
- package/build/types/impl.js +0 -5
- package/build/types/model-interface.d.ts +0 -14
- package/build/types/model-interface.js +0 -3
- package/build/types/models-universe.d.ts +0 -23
- package/build/types/models-universe.js +0 -3
- package/build/types/planet-aggregator.d.ts +0 -6
- package/build/types/planet-aggregator.js +0 -3
- package/build/types/process-args.d.ts +0 -7
- package/build/types/process-args.js +0 -3
- package/build/types/supercomputer.d.ts +0 -4
- package/build/types/supercomputer.js +0 -3
- package/build/types/time-sync.d.ts +0 -9
- package/build/types/time-sync.js +0 -3
- package/build/types/units-dealer.d.ts +0 -3
- package/build/types/units-dealer.js +0 -3
- package/build/types/units.d.ts +0 -11
- package/build/types/units.js +0 -37
- package/build/util/args.d.ts +0 -8
- package/build/util/args.js +0 -58
- package/build/util/errors.d.ts +0 -6
- package/build/util/errors.js +0 -25
- package/build/util/helpers.d.ts +0 -4
- package/build/util/helpers.js +0 -18
- package/build/util/units-dealer.d.ts +0 -10
- package/build/util/units-dealer.js +0 -32
- package/build/util/validations.d.ts +0 -29
- package/build/util/validations.js +0 -80
- package/build/util/yaml.d.ts +0 -12
- package/build/util/yaml.js +0 -36
- package/examples/impls/test/time-sync.yml +0 -75
- package/examples/ompls/test/time-sync.yml +0 -255
- package/examples/ompls/time-sync.yml +0 -212
- package/hack-banner.png +0 -0
- package/src/models/README.md +0 -266
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGxhbmV0LWFnZ3JlZ2F0b3IuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvcGxhbmV0LWFnZ3JlZ2F0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7QWdncmVnYXRpb25NZXRob2QsIEFnZ3JlZ2F0aW9uTWV0cmljc30gZnJvbSAnLi9pbXBsJztcblxuZXhwb3J0IHR5cGUgUGxhbmV0QWdncmVnYXRvclBhcmFtcyA9IHtcbiAgJ2FnZ3JlZ2F0aW9uLW1ldHJpY3MnOiBBZ2dyZWdhdGlvbk1ldHJpY3NbXTtcbiAgJ2FnZ3JlZ2F0aW9uLW1ldGhvZCc6IEFnZ3JlZ2F0aW9uTWV0aG9kO1xufTtcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25SZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpbXBhY3RQcm9jZXNzQXJncyB7XG4gIGltcGw/OiBzdHJpbmc7XG4gIG9tcGw/OiBzdHJpbmc7XG4gIGZvcm1hdD86IHN0cmluZztcbiAgdmVyYm9zZT86IGJvb2xlYW47XG4gIGhlbHA/OiBib29sZWFuO1xufVxuIl19
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zdXBlcmNvbXB1dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDaGlsZEluZm9ybWF0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGluZm86IGFueTtcbn07XG4iXX0=
|
package/build/types/time-sync.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGltZU5vcm1hbGl6ZXJDb25maWcgPSB7XG4gICdzdGFydC10aW1lJzogc3RyaW5nO1xuICAnZW5kLXRpbWUnOiBzdHJpbmc7XG4gIGludGVydmFsOiBudW1iZXI7XG59O1xuXG5leHBvcnQgdHlwZSBQYWRkaW5nUmVjZWlwdCA9IHtcbiAgc3RhcnQ6IGJvb2xlYW47XG4gIGVuZDogYm9vbGVhbjtcbn07XG4iXX0=
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMtZGVhbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VuaXRzLWRlYWxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtBc3luY1JldHVyblR5cGV9IGZyb20gJy4vaGVscGVycyc7XG5cbmltcG9ydCB7VW5pdHNEZWFsZXJ9IGZyb20gJy4uL3V0aWwvdW5pdHMtZGVhbGVyJztcblxuZXhwb3J0IHR5cGUgVW5pdHNEZWFsZXJVc2FnZSA9IEFzeW5jUmV0dXJuVHlwZTx0eXBlb2YgVW5pdHNEZWFsZXI+O1xuIl19
|
package/build/types/units.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
export declare const UnitKeys: readonly ["carbon", "core-units", "cpu-util", "disk-io", "duration", "energy-cpu", "expected-lifespan", "energy-memory", "embodied-carbon", "energy", "energy-network", "expected-lifespan", "functional-unit", "functional-unit-duration", "functional-unit-time", "gpu-util", "grid-carbon-intensity", "instance-type", "location", "embodied-carbon", "operational-carbon", "physical-processor", "vendor", "ram-alloc", "ram-util", "resources-reserved", "thermal-design-power", "total-embodied-emissions", "timestamp", "time-reserved", "total-resources"];
|
|
2
|
-
type UnitFields = {
|
|
3
|
-
description: string;
|
|
4
|
-
unit: string;
|
|
5
|
-
aggregation: 'sum' | 'none' | 'avg';
|
|
6
|
-
};
|
|
7
|
-
export type UnitKeyName = (typeof UnitKeys)[number];
|
|
8
|
-
export type Units = {
|
|
9
|
-
[K in UnitKeyName]: UnitFields;
|
|
10
|
-
};
|
|
11
|
-
export {};
|
package/build/types/units.js
DELETED
|
@@ -1,37 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnitKeys = void 0;
|
|
4
|
-
exports.UnitKeys = [
|
|
5
|
-
'carbon',
|
|
6
|
-
'core-units',
|
|
7
|
-
'cpu-util',
|
|
8
|
-
'disk-io',
|
|
9
|
-
'duration',
|
|
10
|
-
'energy-cpu',
|
|
11
|
-
'expected-lifespan',
|
|
12
|
-
'energy-memory',
|
|
13
|
-
'embodied-carbon',
|
|
14
|
-
'energy',
|
|
15
|
-
'energy-network',
|
|
16
|
-
'expected-lifespan',
|
|
17
|
-
'functional-unit',
|
|
18
|
-
'functional-unit-duration',
|
|
19
|
-
'functional-unit-time',
|
|
20
|
-
'gpu-util',
|
|
21
|
-
'grid-carbon-intensity',
|
|
22
|
-
'instance-type',
|
|
23
|
-
'location',
|
|
24
|
-
'embodied-carbon',
|
|
25
|
-
'operational-carbon',
|
|
26
|
-
'physical-processor',
|
|
27
|
-
'vendor',
|
|
28
|
-
'ram-alloc',
|
|
29
|
-
'ram-util',
|
|
30
|
-
'resources-reserved',
|
|
31
|
-
'thermal-design-power',
|
|
32
|
-
'total-embodied-emissions',
|
|
33
|
-
'timestamp',
|
|
34
|
-
'time-reserved',
|
|
35
|
-
'total-resources',
|
|
36
|
-
];
|
|
37
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvdW5pdHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQWEsUUFBQSxRQUFRLEdBQUc7SUFDdEIsUUFBUTtJQUNSLFlBQVk7SUFDWixVQUFVO0lBQ1YsU0FBUztJQUNULFVBQVU7SUFDVixZQUFZO0lBQ1osbUJBQW1CO0lBQ25CLGVBQWU7SUFDZixpQkFBaUI7SUFDakIsUUFBUTtJQUNSLGdCQUFnQjtJQUNoQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLDBCQUEwQjtJQUMxQixzQkFBc0I7SUFDdEIsVUFBVTtJQUNWLHVCQUF1QjtJQUN2QixlQUFlO0lBQ2YsVUFBVTtJQUNWLGlCQUFpQjtJQUNqQixvQkFBb0I7SUFDcEIsb0JBQW9CO0lBQ3BCLFFBQVE7SUFDUixXQUFXO0lBQ1gsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixzQkFBc0I7SUFDdEIsMEJBQTBCO0lBQzFCLFdBQVc7SUFDWCxlQUFlO0lBQ2YsaUJBQWlCO0NBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBVbml0S2V5cyA9IFtcbiAgJ2NhcmJvbicsXG4gICdjb3JlLXVuaXRzJyxcbiAgJ2NwdS11dGlsJyxcbiAgJ2Rpc2staW8nLFxuICAnZHVyYXRpb24nLFxuICAnZW5lcmd5LWNwdScsXG4gICdleHBlY3RlZC1saWZlc3BhbicsXG4gICdlbmVyZ3ktbWVtb3J5JyxcbiAgJ2VtYm9kaWVkLWNhcmJvbicsXG4gICdlbmVyZ3knLFxuICAnZW5lcmd5LW5ldHdvcmsnLFxuICAnZXhwZWN0ZWQtbGlmZXNwYW4nLFxuICAnZnVuY3Rpb25hbC11bml0JyxcbiAgJ2Z1bmN0aW9uYWwtdW5pdC1kdXJhdGlvbicsXG4gICdmdW5jdGlvbmFsLXVuaXQtdGltZScsXG4gICdncHUtdXRpbCcsXG4gICdncmlkLWNhcmJvbi1pbnRlbnNpdHknLFxuICAnaW5zdGFuY2UtdHlwZScsXG4gICdsb2NhdGlvbicsXG4gICdlbWJvZGllZC1jYXJib24nLFxuICAnb3BlcmF0aW9uYWwtY2FyYm9uJyxcbiAgJ3BoeXNpY2FsLXByb2Nlc3NvcicsXG4gICd2ZW5kb3InLFxuICAncmFtLWFsbG9jJyxcbiAgJ3JhbS11dGlsJyxcbiAgJ3Jlc291cmNlcy1yZXNlcnZlZCcsXG4gICd0aGVybWFsLWRlc2lnbi1wb3dlcicsXG4gICd0b3RhbC1lbWJvZGllZC1lbWlzc2lvbnMnLFxuICAndGltZXN0YW1wJyxcbiAgJ3RpbWUtcmVzZXJ2ZWQnLFxuICAndG90YWwtcmVzb3VyY2VzJyxcbl0gYXMgY29uc3Q7XG5cbnR5cGUgVW5pdEZpZWxkcyA9IHtcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgdW5pdDogc3RyaW5nO1xuICBhZ2dyZWdhdGlvbjogJ3N1bScgfCAnbm9uZScgfCAnYXZnJztcbn07XG5cbmV4cG9ydCB0eXBlIFVuaXRLZXlOYW1lID0gKHR5cGVvZiBVbml0S2V5cylbbnVtYmVyXTtcblxuZXhwb3J0IHR5cGUgVW5pdHMgPSB7XG4gIFtLIGluIFVuaXRLZXlOYW1lXTogVW5pdEZpZWxkcztcbn07XG4iXX0=
|
package/build/util/args.d.ts
DELETED
package/build/util/args.js
DELETED
|
@@ -1,58 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.parseProcessArgument = void 0;
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const ts_command_line_args_1 = require("ts-command-line-args");
|
|
6
|
-
const yaml_1 = require("./yaml");
|
|
7
|
-
const errors_1 = require("./errors");
|
|
8
|
-
const config_1 = require("../config");
|
|
9
|
-
const { CliInputError } = errors_1.ERRORS;
|
|
10
|
-
const { impact } = config_1.CONFIG;
|
|
11
|
-
const { ARGS, HELP } = impact;
|
|
12
|
-
const { FILE_IS_NOT_YAML, IMPL_IS_MISSING } = config_1.STRINGS;
|
|
13
|
-
/**
|
|
14
|
-
* Validates process arguments
|
|
15
|
-
* @private
|
|
16
|
-
*/
|
|
17
|
-
const validateAndParseProcessArgs = () => {
|
|
18
|
-
try {
|
|
19
|
-
return (0, ts_command_line_args_1.parse)(ARGS);
|
|
20
|
-
}
|
|
21
|
-
catch (error) {
|
|
22
|
-
if (error instanceof Error) {
|
|
23
|
-
throw new CliInputError(error.message);
|
|
24
|
-
}
|
|
25
|
-
throw error;
|
|
26
|
-
}
|
|
27
|
-
};
|
|
28
|
-
/**
|
|
29
|
-
* Prepends process path to fiven `filePath`.
|
|
30
|
-
* @private
|
|
31
|
-
*/
|
|
32
|
-
const prependFullFilePath = (filePath) => {
|
|
33
|
-
const processRunningPath = process.cwd();
|
|
34
|
-
return path.normalize(`${processRunningPath}/${filePath}`);
|
|
35
|
-
};
|
|
36
|
-
/**
|
|
37
|
-
* Parses process argument, if it's `yaml` file, then returns it.
|
|
38
|
-
* Otherwise throws error.
|
|
39
|
-
*/
|
|
40
|
-
const parseProcessArgument = () => {
|
|
41
|
-
const { impl, ompl, help } = validateAndParseProcessArgs();
|
|
42
|
-
if (help) {
|
|
43
|
-
console.log(HELP);
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
if (impl) {
|
|
47
|
-
if ((0, yaml_1.checkIfFileIsYaml)(impl)) {
|
|
48
|
-
return {
|
|
49
|
-
inputPath: prependFullFilePath(impl),
|
|
50
|
-
...(ompl && { outputPath: prependFullFilePath(ompl) }),
|
|
51
|
-
};
|
|
52
|
-
}
|
|
53
|
-
throw new CliInputError(FILE_IS_NOT_YAML);
|
|
54
|
-
}
|
|
55
|
-
throw new CliInputError(IMPL_IS_MISSING);
|
|
56
|
-
};
|
|
57
|
-
exports.parseProcessArgument = parseProcessArgument;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsNkJBQTZCO0FBQzdCLCtEQUEyQztBQUUzQyxpQ0FBeUM7QUFDekMscUNBQWdDO0FBRWhDLHNDQUEwQztBQUkxQyxNQUFNLEVBQUMsYUFBYSxFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRS9CLE1BQU0sRUFBQyxNQUFNLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDeEIsTUFBTSxFQUFDLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRyxNQUFNLENBQUM7QUFFNUIsTUFBTSxFQUFDLGdCQUFnQixFQUFFLGVBQWUsRUFBQyxHQUFHLGdCQUFPLENBQUM7QUFFcEQ7OztHQUdHO0FBQ0gsTUFBTSwyQkFBMkIsR0FBRyxHQUFHLEVBQUU7SUFDdkMsSUFBSSxDQUFDO1FBQ0gsT0FBTyxJQUFBLDRCQUFLLEVBQW9CLElBQUksQ0FBQyxDQUFDO0lBQ3hDLENBQUM7SUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1FBQ2YsSUFBSSxLQUFLLFlBQVksS0FBSyxFQUFFLENBQUM7WUFDM0IsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDekMsQ0FBQztRQUVELE1BQU0sS0FBSyxDQUFDO0lBQ2QsQ0FBQztBQUNILENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNILE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxRQUFnQixFQUFFLEVBQUU7SUFDL0MsTUFBTSxrQkFBa0IsR0FBRyxPQUFPLENBQUMsR0FBRyxFQUFFLENBQUM7SUFFekMsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsa0JBQWtCLElBQUksUUFBUSxFQUFFLENBQUMsQ0FBQztBQUM3RCxDQUFDLENBQUM7QUFFRjs7O0dBR0c7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsR0FBRywyQkFBMkIsRUFBRSxDQUFDO0lBRXpELElBQUksSUFBSSxFQUFFLENBQUM7UUFDVCxPQUFPLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ2xCLE9BQU87SUFDVCxDQUFDO0lBRUQsSUFBSSxJQUFJLEVBQUUsQ0FBQztRQUNULElBQUksSUFBQSx3QkFBaUIsRUFBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQzVCLE9BQU87Z0JBQ0wsU0FBUyxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQztnQkFDcEMsR0FBRyxDQUFDLElBQUksSUFBSSxFQUFDLFVBQVUsRUFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsRUFBQyxDQUFDO2FBQ3JELENBQUM7UUFDSixDQUFDO1FBRUQsTUFBTSxJQUFJLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQzVDLENBQUM7SUFFRCxNQUFNLElBQUksYUFBYSxDQUFDLGVBQWUsQ0FBQyxDQUFDO0FBQzNDLENBQUMsQ0FBQztBQXBCVyxRQUFBLG9CQUFvQix3QkFvQi9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcbmltcG9ydCB7cGFyc2V9IGZyb20gJ3RzLWNvbW1hbmQtbGluZS1hcmdzJztcblxuaW1wb3J0IHtjaGVja0lmRmlsZUlzWWFtbH0gZnJvbSAnLi95YW1sJztcbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge2ltcGFjdFByb2Nlc3NBcmdzfSBmcm9tICcuLi90eXBlcy9wcm9jZXNzLWFyZ3MnO1xuXG5jb25zdCB7Q2xpSW5wdXRFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtpbXBhY3R9ID0gQ09ORklHO1xuY29uc3Qge0FSR1MsIEhFTFB9ID0gaW1wYWN0O1xuXG5jb25zdCB7RklMRV9JU19OT1RfWUFNTCwgSU1QTF9JU19NSVNTSU5HfSA9IFNUUklOR1M7XG5cbi8qKlxuICogVmFsaWRhdGVzIHByb2Nlc3MgYXJndW1lbnRzXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MgPSAoKSA9PiB7XG4gIHRyeSB7XG4gICAgcmV0dXJuIHBhcnNlPGltcGFjdFByb2Nlc3NBcmdzPihBUkdTKTtcbiAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICBpZiAoZXJyb3IgaW5zdGFuY2VvZiBFcnJvcikge1xuICAgICAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoZXJyb3IubWVzc2FnZSk7XG4gICAgfVxuXG4gICAgdGhyb3cgZXJyb3I7XG4gIH1cbn07XG5cbi8qKlxuICogUHJlcGVuZHMgcHJvY2VzcyBwYXRoIHRvIGZpdmVuIGBmaWxlUGF0aGAuXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBwcmVwZW5kRnVsbEZpbGVQYXRoID0gKGZpbGVQYXRoOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgcHJvY2Vzc1J1bm5pbmdQYXRoID0gcHJvY2Vzcy5jd2QoKTtcblxuICByZXR1cm4gcGF0aC5ub3JtYWxpemUoYCR7cHJvY2Vzc1J1bm5pbmdQYXRofS8ke2ZpbGVQYXRofWApO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgcHJvY2VzcyBhcmd1bWVudCwgaWYgaXQncyBgeWFtbGAgZmlsZSwgdGhlbiByZXR1cm5zIGl0LlxuICogT3RoZXJ3aXNlIHRocm93cyBlcnJvci5cbiAqL1xuZXhwb3J0IGNvbnN0IHBhcnNlUHJvY2Vzc0FyZ3VtZW50ID0gKCkgPT4ge1xuICBjb25zdCB7aW1wbCwgb21wbCwgaGVscH0gPSB2YWxpZGF0ZUFuZFBhcnNlUHJvY2Vzc0FyZ3MoKTtcblxuICBpZiAoaGVscCkge1xuICAgIGNvbnNvbGUubG9nKEhFTFApO1xuICAgIHJldHVybjtcbiAgfVxuXG4gIGlmIChpbXBsKSB7XG4gICAgaWYgKGNoZWNrSWZGaWxlSXNZYW1sKGltcGwpKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBpbnB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgoaW1wbCksXG4gICAgICAgIC4uLihvbXBsICYmIHtvdXRwdXRQYXRoOiBwcmVwZW5kRnVsbEZpbGVQYXRoKG9tcGwpfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoSU1QTF9JU19NSVNTSU5HKTtcbn07XG4iXX0=
|
package/build/util/errors.d.ts
DELETED
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
declare const CUSTOM_ERRORS: readonly ["CliInputError", "FileNotFoundError", "ImplValidationError", "InputValidationError", "InvalidAggregationParams", "ModelInitializationError", "ModelCredentialError"];
|
|
2
|
-
type CustomErrors = {
|
|
3
|
-
[K in (typeof CUSTOM_ERRORS)[number]]: ErrorConstructor;
|
|
4
|
-
};
|
|
5
|
-
export declare const ERRORS: CustomErrors;
|
|
6
|
-
export {};
|
package/build/util/errors.js
DELETED
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.ERRORS = void 0;
|
|
4
|
-
const CUSTOM_ERRORS = [
|
|
5
|
-
'CliInputError',
|
|
6
|
-
'FileNotFoundError',
|
|
7
|
-
'ImplValidationError',
|
|
8
|
-
'InputValidationError',
|
|
9
|
-
'InvalidAggregationParams',
|
|
10
|
-
'ModelInitializationError',
|
|
11
|
-
'ModelCredentialError',
|
|
12
|
-
];
|
|
13
|
-
exports.ERRORS = CUSTOM_ERRORS.reduce((acc, className) => {
|
|
14
|
-
acc = {
|
|
15
|
-
...acc,
|
|
16
|
-
[className]: class extends Error {
|
|
17
|
-
constructor(message) {
|
|
18
|
-
super(message);
|
|
19
|
-
this.name = this.constructor.name;
|
|
20
|
-
}
|
|
21
|
-
},
|
|
22
|
-
};
|
|
23
|
-
return acc;
|
|
24
|
-
}, {});
|
|
25
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXJyb3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvZXJyb3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLE1BQU0sYUFBYSxHQUFHO0lBQ3BCLGVBQWU7SUFDZixtQkFBbUI7SUFDbkIscUJBQXFCO0lBQ3JCLHNCQUFzQjtJQUN0QiwwQkFBMEI7SUFDMUIsMEJBQTBCO0lBQzFCLHNCQUFzQjtDQUNkLENBQUM7QUFNRSxRQUFBLE1BQU0sR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsR0FBRyxFQUFFLFNBQVMsRUFBRSxFQUFFO0lBQzVELEdBQUcsR0FBRztRQUNKLEdBQUcsR0FBRztRQUNOLENBQUMsU0FBUyxDQUFDLEVBQUUsS0FBTSxTQUFRLEtBQUs7WUFDOUIsWUFBWSxPQUFlO2dCQUN6QixLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNwQyxDQUFDO1NBQ0Y7S0FDRixDQUFDO0lBRUYsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDLEVBQUUsRUFBa0IsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgQ1VTVE9NX0VSUk9SUyA9IFtcbiAgJ0NsaUlucHV0RXJyb3InLFxuICAnRmlsZU5vdEZvdW5kRXJyb3InLFxuICAnSW1wbFZhbGlkYXRpb25FcnJvcicsXG4gICdJbnB1dFZhbGlkYXRpb25FcnJvcicsXG4gICdJbnZhbGlkQWdncmVnYXRpb25QYXJhbXMnLFxuICAnTW9kZWxJbml0aWFsaXphdGlvbkVycm9yJyxcbiAgJ01vZGVsQ3JlZGVudGlhbEVycm9yJyxcbl0gYXMgY29uc3Q7XG5cbnR5cGUgQ3VzdG9tRXJyb3JzID0ge1xuICBbSyBpbiAodHlwZW9mIENVU1RPTV9FUlJPUlMpW251bWJlcl1dOiBFcnJvckNvbnN0cnVjdG9yO1xufTtcblxuZXhwb3J0IGNvbnN0IEVSUk9SUyA9IENVU1RPTV9FUlJPUlMucmVkdWNlKChhY2MsIGNsYXNzTmFtZSkgPT4ge1xuICBhY2MgPSB7XG4gICAgLi4uYWNjLFxuICAgIFtjbGFzc05hbWVdOiBjbGFzcyBleHRlbmRzIEVycm9yIHtcbiAgICAgIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZykge1xuICAgICAgICBzdXBlcihtZXNzYWdlKTtcbiAgICAgICAgdGhpcy5uYW1lID0gdGhpcy5jb25zdHJ1Y3Rvci5uYW1lO1xuICAgICAgfVxuICAgIH0sXG4gIH07XG5cbiAgcmV0dXJuIGFjYztcbn0sIHt9IGFzIEN1c3RvbUVycm9ycyk7XG4iXX0=
|
package/build/util/helpers.d.ts
DELETED
package/build/util/helpers.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.andHandle = void 0;
|
|
4
|
-
const errors_1 = require("./errors");
|
|
5
|
-
const config_1 = require("../config");
|
|
6
|
-
const { ISSUE_TEMPLATE } = config_1.STRINGS;
|
|
7
|
-
/**
|
|
8
|
-
* Impact engine error handler. Logs errors and appends issue template if error is unknown.
|
|
9
|
-
*/
|
|
10
|
-
const andHandle = (error) => {
|
|
11
|
-
const knownErrors = Object.keys(errors_1.ERRORS);
|
|
12
|
-
console.error(error);
|
|
13
|
-
if (!knownErrors.includes(error.name)) {
|
|
14
|
-
console.log(ISSUE_TEMPLATE);
|
|
15
|
-
}
|
|
16
|
-
};
|
|
17
|
-
exports.andHandle = andHandle;
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2hlbHBlcnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEscUNBQWdDO0FBRWhDLHNDQUFrQztBQUVsQyxNQUFNLEVBQUMsY0FBYyxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVqQzs7R0FFRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUMsS0FBWSxFQUFFLEVBQUU7SUFDeEMsTUFBTSxXQUFXLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFNLENBQUMsQ0FBQztJQUV4QyxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBRXJCLElBQUksQ0FBQyxXQUFXLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE9BQU8sQ0FBQyxHQUFHLENBQUMsY0FBYyxDQUFDLENBQUM7SUFDOUIsQ0FBQztBQUNILENBQUMsQ0FBQztBQVJXLFFBQUEsU0FBUyxhQVFwQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuY29uc3Qge0lTU1VFX1RFTVBMQVRFfSA9IFNUUklOR1M7XG5cbi8qKlxuICogSW1wYWN0IGVuZ2luZSBlcnJvciBoYW5kbGVyLiBMb2dzIGVycm9ycyBhbmQgYXBwZW5kcyBpc3N1ZSB0ZW1wbGF0ZSBpZiBlcnJvciBpcyB1bmtub3duLlxuICovXG5leHBvcnQgY29uc3QgYW5kSGFuZGxlID0gKGVycm9yOiBFcnJvcikgPT4ge1xuICBjb25zdCBrbm93bkVycm9ycyA9IE9iamVjdC5rZXlzKEVSUk9SUyk7XG5cbiAgY29uc29sZS5lcnJvcihlcnJvcik7XG5cbiAgaWYgKCFrbm93bkVycm9ycy5pbmNsdWRlcyhlcnJvci5uYW1lKSkge1xuICAgIGNvbnNvbGUubG9nKElTU1VFX1RFTVBMQVRFKTtcbiAgfVxufTtcbiJdfQ==
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
import { UnitKeyName } from '../types/units';
|
|
2
|
-
/**
|
|
3
|
-
* Units dealer 😎 .
|
|
4
|
-
*/
|
|
5
|
-
export declare const UnitsDealer: () => Promise<{
|
|
6
|
-
/**
|
|
7
|
-
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
8
|
-
*/
|
|
9
|
-
askToGiveMethodFor: (unitName: UnitKeyName) => "sum" | "avg" | "none";
|
|
10
|
-
}>;
|
|
@@ -1,32 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UnitsDealer = void 0;
|
|
4
|
-
const path = require("path");
|
|
5
|
-
const yaml_1 = require("./yaml");
|
|
6
|
-
const errors_1 = require("./errors");
|
|
7
|
-
const { FileNotFoundError } = errors_1.ERRORS;
|
|
8
|
-
/**
|
|
9
|
-
* Gets units file as an object.
|
|
10
|
-
*/
|
|
11
|
-
const getUnitsFile = () => (0, yaml_1.openYamlFileAsObject)(path.normalize(`${__dirname}/../config/units.yaml`)).catch((error) => {
|
|
12
|
-
throw FileNotFoundError(error.message);
|
|
13
|
-
});
|
|
14
|
-
/**
|
|
15
|
-
* Units dealer 😎 .
|
|
16
|
-
*/
|
|
17
|
-
const UnitsDealer = async () => {
|
|
18
|
-
const unitsStack = await getUnitsFile();
|
|
19
|
-
return {
|
|
20
|
-
/**
|
|
21
|
-
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
22
|
-
*/
|
|
23
|
-
askToGiveMethodFor: (unitName) => {
|
|
24
|
-
if (unitsStack[unitName]) {
|
|
25
|
-
return unitsStack[unitName].aggregation;
|
|
26
|
-
}
|
|
27
|
-
return 'sum';
|
|
28
|
-
},
|
|
29
|
-
};
|
|
30
|
-
};
|
|
31
|
-
exports.UnitsDealer = UnitsDealer;
|
|
32
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidW5pdHMtZGVhbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvdW5pdHMtZGVhbGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZCQUE4QjtBQUU5QixpQ0FBNEM7QUFDNUMscUNBQWdDO0FBSWhDLE1BQU0sRUFBQyxpQkFBaUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVuQzs7R0FFRztBQUNILE1BQU0sWUFBWSxHQUFHLEdBQUcsRUFBRSxDQUN4QixJQUFBLDJCQUFvQixFQUNsQixJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsU0FBUyx1QkFBdUIsQ0FBQyxDQUNwRCxDQUFDLEtBQUssQ0FBQyxDQUFDLEtBQVksRUFBRSxFQUFFO0lBQ3ZCLE1BQU0saUJBQWlCLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDO0FBQ3pDLENBQUMsQ0FBQyxDQUFDO0FBRUw7O0dBRUc7QUFDSSxNQUFNLFdBQVcsR0FBRyxLQUFLLElBQUksRUFBRTtJQUNwQyxNQUFNLFVBQVUsR0FBRyxNQUFNLFlBQVksRUFBRSxDQUFDO0lBRXhDLE9BQU87UUFDTDs7V0FFRztRQUNILGtCQUFrQixFQUFFLENBQUMsUUFBcUIsRUFBRSxFQUFFO1lBQzVDLElBQUksVUFBVSxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLE9BQU8sVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFdBQVcsQ0FBQztZQUMxQyxDQUFDO1lBRUQsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDO0tBQ0YsQ0FBQztBQUNKLENBQUMsQ0FBQztBQWZXLFFBQUEsV0FBVyxlQWV0QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBwYXRoID0gcmVxdWlyZSgncGF0aCcpO1xuXG5pbXBvcnQge29wZW5ZYW1sRmlsZUFzT2JqZWN0fSBmcm9tICcuL3lhbWwnO1xuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtVbml0cywgVW5pdEtleU5hbWV9IGZyb20gJy4uL3R5cGVzL3VuaXRzJztcblxuY29uc3Qge0ZpbGVOb3RGb3VuZEVycm9yfSA9IEVSUk9SUztcblxuLyoqXG4gKiBHZXRzIHVuaXRzIGZpbGUgYXMgYW4gb2JqZWN0LlxuICovXG5jb25zdCBnZXRVbml0c0ZpbGUgPSAoKSA9PlxuICBvcGVuWWFtbEZpbGVBc09iamVjdDxVbml0cz4oXG4gICAgcGF0aC5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9jb25maWcvdW5pdHMueWFtbGApXG4gICkuY2F0Y2goKGVycm9yOiBFcnJvcikgPT4ge1xuICAgIHRocm93IEZpbGVOb3RGb3VuZEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICB9KTtcblxuLyoqXG4gKiBVbml0cyBkZWFsZXIg8J+YjiAuXG4gKi9cbmV4cG9ydCBjb25zdCBVbml0c0RlYWxlciA9IGFzeW5jICgpID0+IHtcbiAgY29uc3QgdW5pdHNTdGFjayA9IGF3YWl0IGdldFVuaXRzRmlsZSgpO1xuXG4gIHJldHVybiB7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yIGdpdmVuIGB1bml0TmFtZWAuIElmIGRvZXNuJ3QgZXhpc3QgdGhlbiByZXR1cm5zIHZhbHVlIGBzdW1gLlxuICAgICAqL1xuICAgIGFza1RvR2l2ZU1ldGhvZEZvcjogKHVuaXROYW1lOiBVbml0S2V5TmFtZSkgPT4ge1xuICAgICAgaWYgKHVuaXRzU3RhY2tbdW5pdE5hbWVdKSB7XG4gICAgICAgIHJldHVybiB1bml0c1N0YWNrW3VuaXROYW1lXS5hZ2dyZWdhdGlvbjtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuICdzdW0nO1xuICAgIH0sXG4gIH07XG59O1xuIl19
|
|
@@ -1,29 +0,0 @@
|
|
|
1
|
-
import { Impl } from '../types/impl';
|
|
2
|
-
/**
|
|
3
|
-
* Validates given `impl` object to match pattern.
|
|
4
|
-
*/
|
|
5
|
-
export declare const validateImpl: (impl: Impl) => {
|
|
6
|
-
name: string;
|
|
7
|
-
description: string | null;
|
|
8
|
-
tags: {
|
|
9
|
-
kind?: string | undefined;
|
|
10
|
-
complexity?: string | undefined;
|
|
11
|
-
category?: string | undefined;
|
|
12
|
-
} | null;
|
|
13
|
-
initialize: {
|
|
14
|
-
models: {
|
|
15
|
-
name: string;
|
|
16
|
-
kind?: string | undefined;
|
|
17
|
-
path?: string | undefined;
|
|
18
|
-
model?: string | undefined;
|
|
19
|
-
config?: Record<string, any> | undefined;
|
|
20
|
-
}[];
|
|
21
|
-
};
|
|
22
|
-
graph: {
|
|
23
|
-
children: Record<string, any>;
|
|
24
|
-
};
|
|
25
|
-
aggregation?: {
|
|
26
|
-
'aggregation-metrics': string[];
|
|
27
|
-
'aggregation-method': string;
|
|
28
|
-
} | undefined;
|
|
29
|
-
};
|
|
@@ -1,80 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.validateImpl = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const errors_1 = require("./errors");
|
|
6
|
-
const config_1 = require("../config");
|
|
7
|
-
const { ImplValidationError } = errors_1.ERRORS;
|
|
8
|
-
const { AGGREGATION_METRICS, AGGREGATION_METHODS } = config_1.CONFIG;
|
|
9
|
-
const aggregationMethods = AGGREGATION_METHODS.map(method => zod_1.z.literal(method));
|
|
10
|
-
const aggregationMetric = AGGREGATION_METRICS.map(metric => zod_1.z.literal(metric));
|
|
11
|
-
/**
|
|
12
|
-
* Zod literal union validator which checks if members are more than 2.
|
|
13
|
-
*/
|
|
14
|
-
function isValidZodLiteralUnion(literals) {
|
|
15
|
-
return literals.length >= 2;
|
|
16
|
-
}
|
|
17
|
-
/**
|
|
18
|
-
* Literal union type helper.
|
|
19
|
-
*/
|
|
20
|
-
function constructZodLiteralUnionType(literals) {
|
|
21
|
-
if (!isValidZodLiteralUnion(literals)) {
|
|
22
|
-
throw new Error('Literals passed do not meet the criteria for constructing a union schema, the minimum length is 2.');
|
|
23
|
-
}
|
|
24
|
-
return zod_1.z.union(literals);
|
|
25
|
-
}
|
|
26
|
-
/**
|
|
27
|
-
* Validation schema for impl files.
|
|
28
|
-
*/
|
|
29
|
-
const implValidation = zod_1.z.object({
|
|
30
|
-
name: zod_1.z.string(),
|
|
31
|
-
description: zod_1.z.string().nullable(),
|
|
32
|
-
aggregation: zod_1.z
|
|
33
|
-
.object({
|
|
34
|
-
'aggregation-metrics': zod_1.z.array(constructZodLiteralUnionType(aggregationMetric)),
|
|
35
|
-
'aggregation-method': constructZodLiteralUnionType(aggregationMethods).default('sum'),
|
|
36
|
-
})
|
|
37
|
-
.optional(),
|
|
38
|
-
tags: zod_1.z
|
|
39
|
-
.object({
|
|
40
|
-
kind: zod_1.z.string().optional(),
|
|
41
|
-
complexity: zod_1.z.string().optional(),
|
|
42
|
-
category: zod_1.z.string().optional(),
|
|
43
|
-
})
|
|
44
|
-
.nullable(),
|
|
45
|
-
initialize: zod_1.z.object({
|
|
46
|
-
models: zod_1.z.array(zod_1.z.object({
|
|
47
|
-
name: zod_1.z.string(),
|
|
48
|
-
kind: zod_1.z.string().optional(),
|
|
49
|
-
path: zod_1.z.string().optional(),
|
|
50
|
-
model: zod_1.z.string().optional(),
|
|
51
|
-
config: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
52
|
-
})),
|
|
53
|
-
}),
|
|
54
|
-
graph: zod_1.z
|
|
55
|
-
.object({
|
|
56
|
-
children: zod_1.z.record(zod_1.z.string(), zod_1.z.any()),
|
|
57
|
-
})
|
|
58
|
-
.required(),
|
|
59
|
-
});
|
|
60
|
-
/**
|
|
61
|
-
* Validates given `impl` object to match pattern.
|
|
62
|
-
*/
|
|
63
|
-
const validateImpl = (impl) => {
|
|
64
|
-
const validatedImpl = implValidation.safeParse(impl);
|
|
65
|
-
if (!validatedImpl.success) {
|
|
66
|
-
const prettifyErrorMessage = (issues) => {
|
|
67
|
-
const issuesArray = JSON.parse(issues);
|
|
68
|
-
return issuesArray.map((issue) => {
|
|
69
|
-
const { code, path, message } = issue;
|
|
70
|
-
const flattenPath = path.map(part => typeof part === 'number' ? `[${part}]` : part);
|
|
71
|
-
const fullPath = flattenPath.join('.');
|
|
72
|
-
return `"${fullPath}" parameter is ${message.toLowerCase()}. Error code: ${code}.`;
|
|
73
|
-
});
|
|
74
|
-
};
|
|
75
|
-
throw new ImplValidationError(prettifyErrorMessage(validatedImpl.error.message));
|
|
76
|
-
}
|
|
77
|
-
return validatedImpl.data;
|
|
78
|
-
};
|
|
79
|
-
exports.validateImpl = validateImpl;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC92YWxpZGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBZ0M7QUFFaEMscUNBQWdDO0FBRWhDLHNDQUFpQztBQUlqQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFckMsTUFBTSxFQUFDLG1CQUFtQixFQUFFLG1CQUFtQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRTFELE1BQU0sa0JBQWtCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBQ2hGLE1BQU0saUJBQWlCLEdBQUcsbUJBQW1CLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUMsT0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDO0FBRS9FOztHQUVHO0FBQ0gsU0FBUyxzQkFBc0IsQ0FDN0IsUUFBYTtJQUViLE9BQU8sUUFBUSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQUVEOztHQUVHO0FBQ0gsU0FBUyw0QkFBNEIsQ0FDbkMsUUFBYTtJQUViLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQ3RDLE1BQU0sSUFBSSxLQUFLLENBQ2Isb0dBQW9HLENBQ3JHLENBQUM7SUFDSixDQUFDO0lBRUQsT0FBTyxPQUFDLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0FBQzNCLENBQUM7QUFFRDs7R0FFRztBQUNILE1BQU0sY0FBYyxHQUFHLE9BQUMsQ0FBQyxNQUFNLENBQUM7SUFDOUIsSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsV0FBVyxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMs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InNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Wm9kSXNzdWUsIHp9IGZyb20gJ3pvZCc7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge0ltcGx9IGZyb20gJy4uL3R5cGVzL2ltcGwnO1xuXG5jb25zdCB7SW1wbFZhbGlkYXRpb25FcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtBR0dSRUdBVElPTl9NRVRSSUNTLCBBR0dSRUdBVElPTl9NRVRIT0RTfSA9IENPTkZJRztcblxuY29uc3QgYWdncmVnYXRpb25NZXRob2RzID0gQUdHUkVHQVRJT05fTUVUSE9EUy5tYXAobWV0aG9kID0+IHoubGl0ZXJhbChtZXRob2QpKTtcbmNvbnN0IGFnZ3JlZ2F0aW9uTWV0cmljID0gQUdHUkVHQVRJT05fTUVUUklDUy5tYXAobWV0cmljID0+IHoubGl0ZXJhbChtZXRyaWMpKTtcblxuLyoqXG4gKiBab2QgbGl0ZXJhbCB1bmlvbiB2YWxpZGF0b3Igd2hpY2ggY2hlY2tzIGlmIG1lbWJlcnMgYXJlIG1vcmUgdGhhbiAyLlxuICovXG5mdW5jdGlvbiBpc1ZhbGlkWm9kTGl0ZXJhbFVuaW9uPFQgZXh0ZW5kcyB6LlpvZExpdGVyYWw8dW5rbm93bj4+KFxuICBsaXRlcmFsczogVFtdXG4pOiBsaXRlcmFscyBpcyBbVCwgVCwgLi4uVFtdXSB7XG4gIHJldHVybiBsaXRlcmFscy5sZW5ndGggPj0gMjtcbn1cblxuLyoqXG4gKiBMaXRlcmFsIHVuaW9uIHR5cGUgaGVscGVyLlxuICovXG5mdW5jdGlvbiBjb25zdHJ1Y3Rab2RMaXRlcmFsVW5pb25UeXBlPFQgZXh0ZW5kcyB6LlpvZExpdGVyYWw8dW5rbm93bj4+KFxuICBsaXRlcmFsczogVFtdXG4pIHtcbiAgaWYgKCFpc1ZhbGlkWm9kTGl0ZXJhbFVuaW9uKGxpdGVyYWxzKSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICdMaXRlcmFscyBwYXNzZWQgZG8gbm90IG1lZXQgdGhlIGNyaXRlcmlhIGZvciBjb25zdHJ1Y3RpbmcgYSB1bmlvbiBzY2hlbWEsIHRoZSBtaW5pbXVtIGxlbmd0aCBpcyAyLidcbiAgICApO1xuICB9XG5cbiAgcmV0dXJuIHoudW5pb24obGl0ZXJhbHMpO1xufVxuXG4vKipcbiAqIFZhbGlkYXRpb24gc2NoZW1hIGZvciBpbXBsIGZpbGVzLlxuICovXG5jb25zdCBpbXBsVmFsaWRhdGlvbiA9IHoub2JqZWN0KHtcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgYWdncmVnYXRpb246IHpcbiAgICAub2JqZWN0KHtcbiAgICAgICdhZ2dyZWdhdGlvbi1tZXRyaWNzJzogei5hcnJheShcbiAgICAgICAgY29uc3RydWN0Wm9kTGl0ZXJhbFVuaW9uVHlwZShhZ2dyZWdhdGlvbk1ldHJpYylcbiAgICAgICksXG4gICAgICAnYWdncmVnYXRpb24tbWV0aG9kJzpcbiAgICAgICAgY29uc3RydWN0Wm9kTGl0ZXJhbFVuaW9uVHlwZShhZ2dyZWdhdGlvbk1ldGhvZHMpLmRlZmF1bHQoJ3N1bScpLFxuICAgIH0pXG4gICAgLm9wdGlvbmFsKCksXG4gIHRhZ3M6IHpcbiAgICAub2JqZWN0KHtcbiAgICAgIGtpbmQ6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIGNvbXBsZXhpdHk6IHouc3RyaW5nKCkub3B0aW9uYWwoKSxcbiAgICAgIGNhdGVnb3J5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgfSlcbiAgICAubnVsbGFibGUoKSxcbiAgaW5pdGlhbGl6ZTogei5vYmplY3Qoe1xuICAgIG1vZGVsczogei5hcnJheShcbiAgICAgIHoub2JqZWN0KHtcbiAgICAgICAgbmFtZTogei5zdHJpbmcoKSxcbiAgICAgICAga2luZDogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgICAgICBwYXRoOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICAgIG1vZGVsOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICAgIGNvbmZpZzogei5yZWNvcmQoei5zdHJpbmcoKSwgei5hbnkoKSkub3B0aW9uYWwoKSxcbiAgICAgIH0pXG4gICAgKSxcbiAgfSksXG4gIGdyYXBoOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBjaGlsZHJlbjogei5yZWNvcmQoei5zdHJpbmcoKSwgei5hbnkoKSksXG4gICAgfSlcbiAgICAucmVxdWlyZWQoKSxcbn0pO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBnaXZlbiBgaW1wbGAgb2JqZWN0IHRvIG1hdGNoIHBhdHRlcm4uXG4gKi9cbmV4cG9ydCBjb25zdCB2YWxpZGF0ZUltcGwgPSAoaW1wbDogSW1wbCkgPT4ge1xuICBjb25zdCB2YWxpZGF0ZWRJbXBsID0gaW1wbFZhbGlkYXRpb24uc2FmZVBhcnNlKGltcGwpO1xuXG4gIGlmICghdmFsaWRhdGVkSW1wbC5zdWNjZXNzKSB7XG4gICAgY29uc3QgcHJldHRpZnlFcnJvck1lc3NhZ2UgPSAoaXNzdWVzOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IGlzc3Vlc0FycmF5ID0gSlNPTi5wYXJzZShpc3N1ZXMpO1xuXG4gICAgICByZXR1cm4gaXNzdWVzQXJyYXkubWFwKChpc3N1ZTogWm9kSXNzdWUpID0+IHtcbiAgICAgICAgY29uc3Qge2NvZGUsIHBhdGgsIG1lc3NhZ2V9ID0gaXNzdWU7XG4gICAgICAgIGNvbnN0IGZsYXR0ZW5QYXRoID0gcGF0aC5tYXAocGFydCA9PlxuICAgICAgICAgIHR5cGVvZiBwYXJ0ID09PSAnbnVtYmVyJyA/IGBbJHtwYXJ0fV1gIDogcGFydFxuICAgICAgICApO1xuICAgICAgICBjb25zdCBmdWxsUGF0aCA9IGZsYXR0ZW5QYXRoLmpvaW4oJy4nKTtcblxuICAgICAgICByZXR1cm4gYFwiJHtmdWxsUGF0aH1cIiBwYXJhbWV0ZXIgaXMgJHttZXNzYWdlLnRvTG93ZXJDYXNlKCl9LiBFcnJvciBjb2RlOiAke2NvZGV9LmA7XG4gICAgICB9KTtcbiAgICB9O1xuXG4gICAgdGhyb3cgbmV3IEltcGxWYWxpZGF0aW9uRXJyb3IoXG4gICAgICBwcmV0dGlmeUVycm9yTWVzc2FnZSh2YWxpZGF0ZWRJbXBsLmVycm9yLm1lc3NhZ2UpXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiB2YWxpZGF0ZWRJbXBsLmRhdGE7XG59O1xuIl19
|
package/build/util/yaml.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Reads and parses `yaml` file to object.
|
|
3
|
-
*/
|
|
4
|
-
export declare const openYamlFileAsObject: <T>(filePath: string) => Promise<T>;
|
|
5
|
-
/**
|
|
6
|
-
* Saves given `yaml` dump as a file.
|
|
7
|
-
*/
|
|
8
|
-
export declare const saveYamlFileAs: (object: any, pathToFile: string) => Promise<void>;
|
|
9
|
-
/**
|
|
10
|
-
* Checks if given `fileName` is yaml.
|
|
11
|
-
*/
|
|
12
|
-
export declare const checkIfFileIsYaml: (fileName: string) => boolean;
|
package/build/util/yaml.js
DELETED
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.checkIfFileIsYaml = exports.saveYamlFileAs = exports.openYamlFileAsObject = void 0;
|
|
4
|
-
const fs = require("fs/promises");
|
|
5
|
-
const path = require("path");
|
|
6
|
-
const YAML = require("js-yaml");
|
|
7
|
-
/**
|
|
8
|
-
* Reads and parses `yaml` file to object.
|
|
9
|
-
*/
|
|
10
|
-
const openYamlFileAsObject = async (filePath) => {
|
|
11
|
-
const yamlFileBuffer = await fs.readFile(filePath, 'utf8');
|
|
12
|
-
return YAML.load(yamlFileBuffer);
|
|
13
|
-
};
|
|
14
|
-
exports.openYamlFileAsObject = openYamlFileAsObject;
|
|
15
|
-
/**
|
|
16
|
-
* Saves given `yaml` dump as a file.
|
|
17
|
-
*/
|
|
18
|
-
const saveYamlFileAs = async (object, pathToFile) => {
|
|
19
|
-
const dirPath = path.dirname(pathToFile);
|
|
20
|
-
await fs.mkdir(dirPath, { recursive: true });
|
|
21
|
-
const yamlString = YAML.dump(object, { noRefs: true });
|
|
22
|
-
return fs.writeFile(pathToFile, yamlString);
|
|
23
|
-
};
|
|
24
|
-
exports.saveYamlFileAs = saveYamlFileAs;
|
|
25
|
-
/**
|
|
26
|
-
* Checks if given `fileName` is yaml.
|
|
27
|
-
*/
|
|
28
|
-
const checkIfFileIsYaml = (fileName) => {
|
|
29
|
-
const yamlFileTypes = ['yaml', 'yml'];
|
|
30
|
-
const splittedParts = fileName.split('.');
|
|
31
|
-
const lastIndex = splittedParts.length - 1;
|
|
32
|
-
const extension = splittedParts[lastIndex];
|
|
33
|
-
return yamlFileTypes.includes(extension);
|
|
34
|
-
};
|
|
35
|
-
exports.checkIfFileIsYaml = checkIfFileIsYaml;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3lhbWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsa0NBQWtDO0FBQ2xDLDZCQUE2QjtBQUU3QixnQ0FBZ0M7QUFFaEM7O0dBRUc7QUFDSSxNQUFNLG9CQUFvQixHQUFHLEtBQUssRUFBSyxRQUFnQixFQUFjLEVBQUU7SUFDNUUsTUFBTSxjQUFjLEdBQUcsTUFBTSxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUUzRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFNLENBQUM7QUFDeEMsQ0FBQyxDQUFDO0FBSlcsUUFBQSxvQkFBb0Isd0JBSS9CO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGNBQWMsR0FBRyxLQUFLLEVBQUUsTUFBVyxFQUFFLFVBQWtCLEVBQUUsRUFBRTtJQUN0RSxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3pDLE1BQU0sRUFBRSxDQUFDLEtBQUssQ0FBQyxPQUFPLEVBQUUsRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQztJQUMzQyxNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxFQUFDLE1BQU0sRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBRXJELE9BQU8sRUFBRSxDQUFDLFNBQVMsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUM7QUFDOUMsQ0FBQyxDQUFDO0FBTlcsUUFBQSxjQUFjLGtCQU16QjtBQUVGOztHQUVHO0FBQ0ksTUFBTSxpQkFBaUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUNwRCxNQUFNLGFBQWEsR0FBRyxDQUFDLE1BQU0sRUFBRSxLQUFLLENBQUMsQ0FBQztJQUN0QyxNQUFNLGFBQWEsR0FBRyxRQUFRLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzFDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sU0FBUyxHQUFHLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUUzQyxPQUFPLGFBQWEsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLENBQUM7QUFDM0MsQ0FBQyxDQUFDO0FBUFcsUUFBQSxpQkFBaUIscUJBTzVCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgZnMgZnJvbSAnZnMvcHJvbWlzZXMnO1xuaW1wb3J0ICogYXMgcGF0aCBmcm9tICdwYXRoJztcblxuaW1wb3J0ICogYXMgWUFNTCBmcm9tICdqcy15YW1sJztcblxuLyoqXG4gKiBSZWFkcyBhbmQgcGFyc2VzIGB5YW1sYCBmaWxlIHRvIG9iamVjdC5cbiAqL1xuZXhwb3J0IGNvbnN0IG9wZW5ZYW1sRmlsZUFzT2JqZWN0ID0gYXN5bmMgPFQ+KGZpbGVQYXRoOiBzdHJpbmcpOiBQcm9taXNlPFQ+ID0+IHtcbiAgY29uc3QgeWFtbEZpbGVCdWZmZXIgPSBhd2FpdCBmcy5yZWFkRmlsZShmaWxlUGF0aCwgJ3V0ZjgnKTtcblxuICByZXR1cm4gWUFNTC5sb2FkKHlhbWxGaWxlQnVmZmVyKSBhcyBUO1xufTtcblxuLyoqXG4gKiBTYXZlcyBnaXZlbiBgeWFtbGAgZHVtcCBhcyBhIGZpbGUuXG4gKi9cbmV4cG9ydCBjb25zdCBzYXZlWWFtbEZpbGVBcyA9IGFzeW5jIChvYmplY3Q6IGFueSwgcGF0aFRvRmlsZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IGRpclBhdGggPSBwYXRoLmRpcm5hbWUocGF0aFRvRmlsZSk7XG4gIGF3YWl0IGZzLm1rZGlyKGRpclBhdGgsIHtyZWN1cnNpdmU6IHRydWV9KTtcbiAgY29uc3QgeWFtbFN0cmluZyA9IFlBTUwuZHVtcChvYmplY3QsIHtub1JlZnM6IHRydWV9KTtcblxuICByZXR1cm4gZnMud3JpdGVGaWxlKHBhdGhUb0ZpbGUsIHlhbWxTdHJpbmcpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgZ2l2ZW4gYGZpbGVOYW1lYCBpcyB5YW1sLlxuICovXG5leHBvcnQgY29uc3QgY2hlY2tJZkZpbGVJc1lhbWwgPSAoZmlsZU5hbWU6IHN0cmluZykgPT4ge1xuICBjb25zdCB5YW1sRmlsZVR5cGVzID0gWyd5YW1sJywgJ3ltbCddO1xuICBjb25zdCBzcGxpdHRlZFBhcnRzID0gZmlsZU5hbWUuc3BsaXQoJy4nKTtcbiAgY29uc3QgbGFzdEluZGV4ID0gc3BsaXR0ZWRQYXJ0cy5sZW5ndGggLSAxO1xuICBjb25zdCBleHRlbnNpb24gPSBzcGxpdHRlZFBhcnRzW2xhc3RJbmRleF07XG5cbiAgcmV0dXJuIHlhbWxGaWxlVHlwZXMuaW5jbHVkZXMoZXh0ZW5zaW9uKTtcbn07XG4iXX0=
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
name: nesting-demo
|
|
2
|
-
description: impl with 2 levels of nesting with non-uniform timing of observations
|
|
3
|
-
tags:
|
|
4
|
-
initialize:
|
|
5
|
-
models:
|
|
6
|
-
- name: teads-curve
|
|
7
|
-
model: TeadsCurveModel
|
|
8
|
-
path: "@grnsft/if-unofficial-models"
|
|
9
|
-
- name: sci-e
|
|
10
|
-
model: SciEModel
|
|
11
|
-
path: "@grnsft/if-models"
|
|
12
|
-
- name: sci-m
|
|
13
|
-
path: "@grnsft/if-models"
|
|
14
|
-
model: SciMModel
|
|
15
|
-
- name: sci-o
|
|
16
|
-
model: SciOModel
|
|
17
|
-
path: "@grnsft/if-models"
|
|
18
|
-
- name: time-synchronization
|
|
19
|
-
model: TimeSyncModel
|
|
20
|
-
path: builtin
|
|
21
|
-
config:
|
|
22
|
-
start-time: 2023-12-12T00:00:00.000Z # ISO timestamp
|
|
23
|
-
end-time: 2023-12-12T00:01:00.000Z # ISO timestamp
|
|
24
|
-
interval: 5 # seconds
|
|
25
|
-
graph:
|
|
26
|
-
children:
|
|
27
|
-
child: # an advanced grouping node
|
|
28
|
-
pipeline:
|
|
29
|
-
- teads-curve
|
|
30
|
-
- sci-e
|
|
31
|
-
- sci-m
|
|
32
|
-
- sci-o
|
|
33
|
-
- time-synchronization
|
|
34
|
-
config:
|
|
35
|
-
teads-curve:
|
|
36
|
-
thermal-design-power: 65
|
|
37
|
-
sci-m:
|
|
38
|
-
total-embodied-emissions: 251000 # gCO2eq
|
|
39
|
-
time-reserved: 3600 # 1 hour in s
|
|
40
|
-
expected-lifespan: 126144000 # 4 years in seconds
|
|
41
|
-
resources-reserved: 1
|
|
42
|
-
total-resources: 1
|
|
43
|
-
sci-o:
|
|
44
|
-
grid-carbon-intensity: 457 # gCO2/kwh
|
|
45
|
-
children:
|
|
46
|
-
child-1:
|
|
47
|
-
inputs:
|
|
48
|
-
- timestamp: 2023-12-12T00:00:00.000Z
|
|
49
|
-
duration: 10
|
|
50
|
-
cpu-util: 10
|
|
51
|
-
carbon: 100
|
|
52
|
-
energy: 100
|
|
53
|
-
requests: 300
|
|
54
|
-
- timestamp: 2023-12-12T00:00:15.000Z
|
|
55
|
-
duration: 10
|
|
56
|
-
cpu-util: 20
|
|
57
|
-
requests: 300
|
|
58
|
-
- timestamp: 2023-12-12T00:00:35.000Z
|
|
59
|
-
duration: 15
|
|
60
|
-
cpu-util: 20
|
|
61
|
-
requests: 400
|
|
62
|
-
child-2:
|
|
63
|
-
inputs:
|
|
64
|
-
- timestamp: 2023-12-12T00:00:00.000Z
|
|
65
|
-
duration: 10
|
|
66
|
-
cpu-util: 10
|
|
67
|
-
requests: 300
|
|
68
|
-
- timestamp: 2023-12-12T00:00:10.000Z
|
|
69
|
-
duration: 30
|
|
70
|
-
cpu-util: 20
|
|
71
|
-
requests: 380
|
|
72
|
-
- timestamp: 2023-12-12T00:00:50.000Z
|
|
73
|
-
duration: 20
|
|
74
|
-
cpu-util: 20
|
|
75
|
-
requests: 380
|