@grnsft/if 0.1.8 → 0.1.9
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/build/config/config.d.ts +0 -2
- package/build/config/config.js +6 -3
- package/build/config/index.d.ts +1 -0
- package/build/config/index.js +4 -2
- package/build/config/params.d.ts +2 -0
- package/build/config/params.js +146 -0
- package/build/config/strings.d.ts +5 -0
- package/build/config/strings.js +6 -1
- package/build/index.js +48 -18
- package/build/lib/aggregator.d.ts +7 -0
- package/build/lib/aggregator.js +46 -0
- package/build/lib/models-universe.d.ts +5 -1
- package/build/lib/models-universe.js +37 -5
- package/build/lib/supercomputer.d.ts +14 -12
- package/build/lib/supercomputer.js +55 -87
- package/build/models/time-sync.d.ts +8 -5
- package/build/models/time-sync.js +35 -12
- package/build/types/aggregator.d.ts +3 -0
- package/build/types/aggregator.js +5 -0
- package/build/types/impl.d.ts +65 -18
- package/build/types/impl.js +17 -3
- package/build/types/model-interface.d.ts +1 -2
- package/build/types/model-interface.js +1 -1
- package/build/types/models-universe.d.ts +2 -5
- package/build/types/models-universe.js +1 -1
- package/build/types/parameters.d.ts +16 -0
- package/build/types/parameters.js +5 -0
- package/build/types/process-args.d.ts +1 -0
- package/build/types/process-args.js +1 -1
- package/build/types/time-sync.d.ts +1 -0
- package/build/types/time-sync.js +1 -1
- package/build/util/args.d.ts +1 -0
- package/build/util/args.js +27 -3
- package/build/util/param-selectors.d.ts +5 -0
- package/build/util/param-selectors.js +14 -0
- package/build/util/validations.d.ts +11 -5
- package/build/util/validations.js +17 -25
- package/build/util/yaml.js +27 -4
- package/examples/impls/test/aggregation-test.yml +19 -19
- package/examples/impls/test/aggregation-test2.yml +52 -0
- package/examples/impls/test/{azure.yml → azure-importer.yml} +8 -10
- package/examples/impls/test/boavizta.yml +27 -0
- package/examples/impls/test/cim.yml +19 -0
- package/examples/impls/test/e-mem.yml +19 -0
- package/examples/impls/test/if-demo.yml +0 -2
- package/examples/impls/test/large-impl.yml +30031 -30031
- package/examples/impls/test/new-params-test.yml +35 -0
- package/examples/impls/test/sci.yml +2 -2
- package/examples/impls/test/teads-cpu.yml +18 -0
- package/examples/impls/test/time-sync-avoid-padding.yml +50 -0
- package/examples/impls/test/time-sync.yml +14 -13
- package/examples/ompls/aggregation-test2.yml +83 -0
- package/examples/ompls/{azure.yml → azure-importer.yml} +40 -40
- package/examples/ompls/boavizta.yml +32 -0
- package/examples/ompls/cim.yml +29 -0
- package/examples/ompls/e-mem.yml +26 -0
- package/examples/ompls/sci.yml +5 -5
- package/examples/ompls/teads-cpu.yml +24 -0
- package/package.json +1 -1
- package/src/models/README.md +3 -1
- package/build/config/units.yaml +0 -112
- package/build/lib/planet-aggregator.d.ts +0 -6
- package/build/lib/planet-aggregator.js +0 -35
- package/build/types/helpers.d.ts +0 -1
- package/build/types/helpers.js +0 -3
- package/build/types/planet-aggregator.d.ts +0 -6
- package/build/types/planet-aggregator.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/units-dealer.d.ts +0 -10
- package/build/util/units-dealer.js +0 -32
- package/coverage/clover.xml +0 -379
- package/coverage/coverage-final.json +0 -14
- package/coverage/lcov-report/base.css +0 -224
- package/coverage/lcov-report/block-navigation.js +0 -87
- package/coverage/lcov-report/config/config.ts.html +0 -250
- package/coverage/lcov-report/config/index.html +0 -146
- package/coverage/lcov-report/config/index.ts.html +0 -91
- package/coverage/lcov-report/config/strings.ts.html +0 -208
- package/coverage/lcov-report/favicon.png +0 -0
- package/coverage/lcov-report/index.html +0 -161
- package/coverage/lcov-report/lib/index.html +0 -161
- package/coverage/lcov-report/lib/models-universe.ts.html +0 -517
- package/coverage/lcov-report/lib/observatory.ts.html +0 -187
- package/coverage/lcov-report/lib/planet-aggregator.ts.html +0 -274
- package/coverage/lcov-report/lib/supercomputer.ts.html +0 -472
- package/coverage/lcov-report/models/index.html +0 -131
- package/coverage/lcov-report/models/index.ts.html +0 -88
- package/coverage/lcov-report/models/planet-aggregator.ts.html +0 -271
- package/coverage/lcov-report/models/time-sync.ts.html +0 -1165
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -2
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -196
- package/coverage/lcov-report/util/args.ts.html +0 -289
- package/coverage/lcov-report/util/errors.ts.html +0 -166
- package/coverage/lcov-report/util/index.html +0 -161
- package/coverage/lcov-report/util/units-dealer.ts.html +0 -199
- package/coverage/lcov-report/util/yaml.ts.html +0 -193
- package/coverage/lcov.info +0 -637
- package/src/config/units.yaml +0 -112
- package/tsconfig.build.tsbuildinfo +0 -1
package/build/types/impl.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { ModelParams } from './model-interface';
|
|
2
|
-
import { AggregationResult } from './
|
|
3
|
-
|
|
2
|
+
import { AggregationMethodsNames, AggregationResult } from './aggregator';
|
|
3
|
+
import { ManifestParameter } from './parameters';
|
|
4
4
|
type Tag = {
|
|
5
5
|
kind?: string;
|
|
6
6
|
complexity?: string;
|
|
@@ -8,37 +8,84 @@ type Tag = {
|
|
|
8
8
|
};
|
|
9
9
|
type Model = {
|
|
10
10
|
name: string;
|
|
11
|
-
kind?: string;
|
|
12
11
|
verbose?: boolean;
|
|
13
|
-
path
|
|
12
|
+
path: string;
|
|
14
13
|
config?: Config;
|
|
14
|
+
model: string;
|
|
15
15
|
};
|
|
16
16
|
export type Config = Record<string, any>;
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
17
|
+
/**
|
|
18
|
+
* Appends given `T` type to nested property.
|
|
19
|
+
*/
|
|
20
|
+
type StructureManager<T> = {
|
|
21
|
+
[key: string]: T;
|
|
22
|
+
};
|
|
23
|
+
/**
|
|
24
|
+
* Base interface for graph contents.
|
|
25
|
+
*/
|
|
26
|
+
interface NodeBase {
|
|
27
|
+
pipeline?: string[];
|
|
28
|
+
config?: Config;
|
|
29
|
+
outputs?: ModelParams[];
|
|
30
|
+
'aggregated-outputs'?: AggregationResult;
|
|
31
|
+
}
|
|
32
|
+
/**
|
|
33
|
+
* Setup modifiers.
|
|
34
|
+
*/
|
|
35
|
+
type WithInputs = {
|
|
36
|
+
inputs: ModelParams[];
|
|
37
|
+
};
|
|
38
|
+
type WithChildren = {
|
|
39
|
+
children: ChildStructure;
|
|
26
40
|
};
|
|
27
|
-
|
|
28
|
-
|
|
41
|
+
/**
|
|
42
|
+
* Child node interface.
|
|
43
|
+
*/
|
|
44
|
+
type ChildBase = NodeBase;
|
|
45
|
+
/**
|
|
46
|
+
* Setup parent graph node type.
|
|
47
|
+
*/
|
|
48
|
+
interface ParentBase extends NodeBase {
|
|
49
|
+
pipeline: string[];
|
|
50
|
+
config: Config;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Node definitions.
|
|
54
|
+
*/
|
|
55
|
+
export type ParentNode = ParentBase & (WithInputs | WithChildren);
|
|
56
|
+
export type ChildNode = ChildBase & (WithInputs | WithChildren);
|
|
57
|
+
/**
|
|
58
|
+
* Structure definitions.
|
|
59
|
+
*/
|
|
60
|
+
export type ParentStructure = StructureManager<ParentNode>;
|
|
61
|
+
export type ChildStructure = StructureManager<ChildNode>;
|
|
62
|
+
/**
|
|
63
|
+
* Type guard for inputs.
|
|
64
|
+
*/
|
|
65
|
+
export declare const hasInputs: <T>(object: any) => object is T & WithInputs;
|
|
66
|
+
/**
|
|
67
|
+
* Type guard for children.
|
|
68
|
+
*/
|
|
69
|
+
export declare const hasChildren: <T>(object: any) => object is T & WithChildren;
|
|
70
|
+
/**
|
|
71
|
+
* Parent guard for children.
|
|
72
|
+
*/
|
|
73
|
+
export declare const isNodeParent: (_object: any, state: ChildStructure | undefined) => _object is ParentStructure;
|
|
29
74
|
export type Impl = {
|
|
30
75
|
name: string;
|
|
76
|
+
'if-version'?: string | null | undefined;
|
|
31
77
|
description: string | null | undefined;
|
|
32
78
|
tags: Tag | null | undefined;
|
|
79
|
+
params?: ManifestParameter[] | undefined | null;
|
|
33
80
|
initialize: {
|
|
34
81
|
models: Model[];
|
|
35
82
|
};
|
|
36
83
|
graph: {
|
|
37
|
-
children:
|
|
84
|
+
children: ParentStructure;
|
|
38
85
|
};
|
|
39
86
|
aggregation?: {
|
|
40
|
-
|
|
41
|
-
|
|
87
|
+
metrics: string[];
|
|
88
|
+
type: AggregationMethodsNames;
|
|
42
89
|
};
|
|
43
90
|
'aggregated-outputs'?: AggregationResult;
|
|
44
91
|
};
|
package/build/types/impl.js
CHANGED
|
@@ -1,5 +1,19 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
exports.isNodeParent = exports.hasChildren = exports.hasInputs = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Type guard for inputs.
|
|
6
|
+
*/
|
|
7
|
+
const hasInputs = (object) => 'inputs' in object;
|
|
8
|
+
exports.hasInputs = hasInputs;
|
|
9
|
+
/**
|
|
10
|
+
* Type guard for children.
|
|
11
|
+
*/
|
|
12
|
+
const hasChildren = (object) => 'children' in object;
|
|
13
|
+
exports.hasChildren = hasChildren;
|
|
14
|
+
/**
|
|
15
|
+
* Parent guard for children.
|
|
16
|
+
*/
|
|
17
|
+
const isNodeParent = (_object, state) => !state;
|
|
18
|
+
exports.isNodeParent = isNodeParent;
|
|
19
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW1wbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9pbXBsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXdFQTs7R0FFRztBQUNJLE1BQU0sU0FBUyxHQUFHLENBQUksTUFBVyxFQUE0QixFQUFFLENBQ3BFLFFBQVEsSUFBSSxNQUFNLENBQUM7QUFEUixRQUFBLFNBQVMsYUFDRDtBQUVyQjs7R0FFRztBQUNJLE1BQU0sV0FBVyxHQUFHLENBQUksTUFBVyxFQUE4QixFQUFFLENBQ3hFLFVBQVUsSUFBSSxNQUFNLENBQUM7QUFEVixRQUFBLFdBQVcsZUFDRDtBQUV2Qjs7R0FFRztBQUNJLE1BQU0sWUFBWSxHQUFHLENBQzFCLE9BQVksRUFDWixLQUFpQyxFQUNMLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQztBQUgzQixRQUFBLFlBQVksZ0JBR2UiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge01vZGVsUGFyYW1zfSBmcm9tICcuL21vZGVsLWludGVyZmFjZSc7XG5pbXBvcnQge0FnZ3JlZ2F0aW9uTWV0aG9kc05hbWVzLCBBZ2dyZWdhdGlvblJlc3VsdH0gZnJvbSAnLi9hZ2dyZWdhdG9yJztcbmltcG9ydCB7TWFuaWZlc3RQYXJhbWV0ZXJ9IGZyb20gJy4vcGFyYW1ldGVycyc7XG5cbnR5cGUgVGFnID0ge1xuICBraW5kPzogc3RyaW5nO1xuICBjb21wbGV4aXR5Pzogc3RyaW5nO1xuICBjYXRlZ29yeT86IHN0cmluZztcbn07XG5cbnR5cGUgTW9kZWwgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgdmVyYm9zZT86IGJvb2xlYW47XG4gIHBhdGg6IHN0cmluZztcbiAgY29uZmlnPzogQ29uZmlnO1xuICBtb2RlbDogc3RyaW5nO1xufTtcblxuZXhwb3J0IHR5cGUgQ29uZmlnID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuLyoqXG4gKiBBcHBlbmRzIGdpdmVuIGBUYCB0eXBlIHRvIG5lc3RlZCBwcm9wZXJ0eS5cbiAqL1xudHlwZSBTdHJ1Y3R1cmVNYW5hZ2VyPFQ+ID0ge1xuICBba2V5OiBzdHJpbmddOiBUO1xufTtcblxuLyoqXG4gKiBCYXNlIGludGVyZmFjZSBmb3IgZ3JhcGggY29udGVudHMuXG4gKi9cbmludGVyZmFjZSBOb2RlQmFzZSB7XG4gIHBpcGVsaW5lPzogc3RyaW5nW107XG4gIGNvbmZpZz86IENvbmZpZztcbiAgb3V0cHV0cz86IE1vZGVsUGFyYW1zW107XG4gICdhZ2dyZWdhdGVkLW91dHB1dHMnPzogQWdncmVnYXRpb25SZXN1bHQ7XG59XG5cbi8qKlxuICogU2V0dXAgbW9kaWZpZXJzLlxuICovXG50eXBlIFdpdGhJbnB1dHMgPSB7XG4gIGlucHV0czogTW9kZWxQYXJhbXNbXTtcbn07XG50eXBlIFdpdGhDaGlsZHJlbiA9IHtcbiAgY2hpbGRyZW46IENoaWxkU3RydWN0dXJlO1xufTtcblxuLyoqXG4gKiBDaGlsZCBub2RlIGludGVyZmFjZS5cbiAqL1xudHlwZSBDaGlsZEJhc2UgPSBOb2RlQmFzZTtcblxuLyoqXG4gKiBTZXR1cCBwYXJlbnQgZ3JhcGggbm9kZSB0eXBlLlxuICovXG5pbnRlcmZhY2UgUGFyZW50QmFzZSBleHRlbmRzIE5vZGVCYXNlIHtcbiAgcGlwZWxpbmU6IHN0cmluZ1tdO1xuICBjb25maWc6IENvbmZpZztcbn1cblxuLyoqXG4gKiBOb2RlIGRlZmluaXRpb25zLlxuICovXG5leHBvcnQgdHlwZSBQYXJlbnROb2RlID0gUGFyZW50QmFzZSAmIChXaXRoSW5wdXRzIHwgV2l0aENoaWxkcmVuKTtcbmV4cG9ydCB0eXBlIENoaWxkTm9kZSA9IENoaWxkQmFzZSAmIChXaXRoSW5wdXRzIHwgV2l0aENoaWxkcmVuKTtcblxuLyoqXG4gKiBTdHJ1Y3R1cmUgZGVmaW5pdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIFBhcmVudFN0cnVjdHVyZSA9IFN0cnVjdHVyZU1hbmFnZXI8UGFyZW50Tm9kZT47XG5leHBvcnQgdHlwZSBDaGlsZFN0cnVjdHVyZSA9IFN0cnVjdHVyZU1hbmFnZXI8Q2hpbGROb2RlPjtcblxuLyoqXG4gKiBUeXBlIGd1YXJkIGZvciBpbnB1dHMuXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNJbnB1dHMgPSA8VD4ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVCAmIFdpdGhJbnB1dHMgPT5cbiAgJ2lucHV0cycgaW4gb2JqZWN0O1xuXG4vKipcbiAqIFR5cGUgZ3VhcmQgZm9yIGNoaWxkcmVuLlxuICovXG5leHBvcnQgY29uc3QgaGFzQ2hpbGRyZW4gPSA8VD4ob2JqZWN0OiBhbnkpOiBvYmplY3QgaXMgVCAmIFdpdGhDaGlsZHJlbiA9PlxuICAnY2hpbGRyZW4nIGluIG9iamVjdDtcblxuLyoqXG4gKiBQYXJlbnQgZ3VhcmQgZm9yIGNoaWxkcmVuLlxuICovXG5leHBvcnQgY29uc3QgaXNOb2RlUGFyZW50ID0gKFxuICBfb2JqZWN0OiBhbnksXG4gIHN0YXRlOiBDaGlsZFN0cnVjdHVyZSB8IHVuZGVmaW5lZFxuKTogX29iamVjdCBpcyBQYXJlbnRTdHJ1Y3R1cmUgPT4gIXN0YXRlO1xuXG5leHBvcnQgdHlwZSBJbXBsID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gICdpZi12ZXJzaW9uJz86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICB0YWdzOiBUYWcgfCBudWxsIHwgdW5kZWZpbmVkO1xuICBwYXJhbXM/OiBNYW5pZmVzdFBhcmFtZXRlcltdIHwgdW5kZWZpbmVkIHwgbnVsbDtcbiAgaW5pdGlhbGl6ZToge1xuICAgIG1vZGVsczogTW9kZWxbXTtcbiAgfTtcbiAgZ3JhcGg6IHtcbiAgICBjaGlsZHJlbjogUGFyZW50U3RydWN0dXJlO1xuICB9O1xuICBhZ2dyZWdhdGlvbj86IHtcbiAgICBtZXRyaWNzOiBzdHJpbmdbXTtcbiAgICB0eXBlOiBBZ2dyZWdhdGlvbk1ldGhvZHNOYW1lcztcbiAgfTtcbiAgJ2FnZ3JlZ2F0ZWQtb3V0cHV0cyc/OiBBZ2dyZWdhdGlvblJlc3VsdDtcbn07XG4iXX0=
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL21vZGVsLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTW9kZWxQYXJhbXMgPSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxQbHVnaW5JbnRlcmZhY2Uge1xuICAvKipcbiAgICogQ29uZmlndXJlcyBpbnN0YW5jZSB3aXRoIGdpdmVuIHBhcmFtcy5cbiAgICovXG4gIGNvbmZpZ3VyZShwYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IFByb21pc2U8TW9kZWxQbHVnaW5JbnRlcmZhY2U+O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIGBvdXRwdXRgIGJhc2VkIG9uIGdpdmVuIG1vZGVsJ3MgYGlucHV0YC5cbiAgICovXG4gIGV4ZWN1dGUoaW5wdXRzOiBNb2RlbFBhcmFtc1tdKTogUHJvbWlzZTxNb2RlbFBhcmFtc1tdPjtcbn1cbiJdfQ==
|
|
@@ -1,8 +1,5 @@
|
|
|
1
1
|
import { ModelPluginInterface } from '../types/model-interface';
|
|
2
|
-
export type
|
|
3
|
-
'core-units': number;
|
|
4
|
-
'physical-processor': string;
|
|
5
|
-
};
|
|
2
|
+
export type ModelOptions = Record<string, any>;
|
|
6
3
|
export type ImplInitializeModel = {
|
|
7
4
|
config?: Record<string, any>;
|
|
8
5
|
name: string;
|
|
@@ -10,7 +7,7 @@ export type ImplInitializeModel = {
|
|
|
10
7
|
path?: string;
|
|
11
8
|
};
|
|
12
9
|
export type InitalizedModels = {
|
|
13
|
-
[key: string]: (
|
|
10
|
+
[key: string]: (modelOptions: ModelOptions) => Promise<ModelPluginInterface>;
|
|
14
11
|
};
|
|
15
12
|
export type HandModelParams = {
|
|
16
13
|
name: string;
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLXVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL21vZGVscy11bml2ZXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgTW9kZWxPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgSW1wbEluaXRpYWxpemVNb2RlbCA9IHtcbiAgY29uZmlnPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbmFtZTogc3RyaW5nO1xuICBtb2RlbD86IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEluaXRhbGl6ZWRNb2RlbHMgPSB7XG4gIFtrZXk6IHN0cmluZ106IChtb2RlbE9wdGlvbnM6IE1vZGVsT3B0aW9ucykgPT4gUHJvbWlzZTxNb2RlbFBsdWdpbkludGVyZmFjZT47XG59O1xuXG5leHBvcnQgdHlwZSBIYW5kTW9kZWxQYXJhbXMgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW9kZWw/OiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDbGFzc0NvbnRhaW5lclBhcmFtcyA9IHtcbiAgbW9kZWw6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xufTtcbiJdfQ==
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export declare const AGGREGATION_TYPES: readonly ["sum", "none", "avg"];
|
|
2
|
+
export type AggregationTypes = (typeof AGGREGATION_TYPES)[number];
|
|
3
|
+
export type Parameters = {
|
|
4
|
+
[key: string]: ParameterProps;
|
|
5
|
+
};
|
|
6
|
+
export type ParameterProps = {
|
|
7
|
+
unit: string;
|
|
8
|
+
description: string;
|
|
9
|
+
aggregation: AggregationTypes;
|
|
10
|
+
};
|
|
11
|
+
export type ManifestParameter = {
|
|
12
|
+
name: string;
|
|
13
|
+
unit: string;
|
|
14
|
+
description: string;
|
|
15
|
+
aggregation: AggregationTypes;
|
|
16
|
+
};
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.AGGREGATION_TYPES = void 0;
|
|
4
|
+
exports.AGGREGATION_TYPES = ['sum', 'none', 'avg'];
|
|
5
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW1ldGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9wYXJhbWV0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFhLFFBQUEsaUJBQWlCLEdBQUcsQ0FBQyxLQUFLLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEFHR1JFR0FUSU9OX1RZUEVTID0gWydzdW0nLCAnbm9uZScsICdhdmcnXSBhcyBjb25zdDtcblxuZXhwb3J0IHR5cGUgQWdncmVnYXRpb25UeXBlcyA9ICh0eXBlb2YgQUdHUkVHQVRJT05fVFlQRVMpW251bWJlcl07XG5cbmV4cG9ydCB0eXBlIFBhcmFtZXRlcnMgPSB7XG4gIFtrZXk6IHN0cmluZ106IFBhcmFtZXRlclByb3BzO1xufTtcblxuZXhwb3J0IHR5cGUgUGFyYW1ldGVyUHJvcHMgPSB7XG4gIHVuaXQ6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbiAgYWdncmVnYXRpb246IEFnZ3JlZ2F0aW9uVHlwZXM7XG59O1xuXG5leHBvcnQgdHlwZSBNYW5pZmVzdFBhcmFtZXRlciA9IHtcbiAgbmFtZTogc3RyaW5nO1xuICB1bml0OiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGFnZ3JlZ2F0aW9uOiBBZ2dyZWdhdGlvblR5cGVzO1xufTtcbiJdfQ==
|
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpbXBhY3RQcm9jZXNzQXJncyB7XG4gIGltcGw/OiBzdHJpbmc7XG4gIG9tcGw/
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJvY2Vzcy1hcmdzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3Byb2Nlc3MtYXJncy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGludGVyZmFjZSBpbXBhY3RQcm9jZXNzQXJncyB7XG4gIGltcGw/OiBzdHJpbmc7XG4gIG9tcGw/OiBzdHJpbmc7XG4gICdvdmVycmlkZS1wYXJhbXMnPzogc3RyaW5nO1xuICBmb3JtYXQ/OiBzdHJpbmc7XG4gIHZlcmJvc2U/OiBib29sZWFuO1xuICBoZWxwPzogYm9vbGVhbjtcbn1cbiJdfQ==
|
package/build/types/time-sync.js
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
3
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGltZS1zeW5jLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3RpbWUtc3luYy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgVGltZU5vcm1hbGl6ZXJDb25maWcgPSB7XG4gICdzdGFydC10aW1lJzogc3RyaW5nO1xuICAnZW5kLXRpbWUnOiBzdHJpbmc7XG4gIGludGVydmFsOiBudW1iZXI7XG4gICdhbGxvdy1wYWRkaW5nJzogYm9vbGVhbjtcbn07XG5cbmV4cG9ydCB0eXBlIFBhZGRpbmdSZWNlaXB0ID0ge1xuICBzdGFydDogYm9vbGVhbjtcbiAgZW5kOiBib29sZWFuO1xufTtcbiJdfQ==
|
package/build/util/args.d.ts
CHANGED
package/build/util/args.js
CHANGED
|
@@ -1,7 +1,30 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
exports.parseProcessArgument = void 0;
|
|
4
|
-
const path = require("path");
|
|
27
|
+
const path = __importStar(require("path"));
|
|
5
28
|
const ts_command_line_args_1 = require("ts-command-line-args");
|
|
6
29
|
const yaml_1 = require("./yaml");
|
|
7
30
|
const errors_1 = require("./errors");
|
|
@@ -38,7 +61,7 @@ const prependFullFilePath = (filePath) => {
|
|
|
38
61
|
* Otherwise throws error.
|
|
39
62
|
*/
|
|
40
63
|
const parseProcessArgument = () => {
|
|
41
|
-
const { impl, ompl, help } = validateAndParseProcessArgs();
|
|
64
|
+
const { impl, ompl, 'override-params': overrideParams, help, } = validateAndParseProcessArgs();
|
|
42
65
|
if (help) {
|
|
43
66
|
console.log(HELP);
|
|
44
67
|
return;
|
|
@@ -48,6 +71,7 @@ const parseProcessArgument = () => {
|
|
|
48
71
|
return {
|
|
49
72
|
inputPath: prependFullFilePath(impl),
|
|
50
73
|
...(ompl && { outputPath: prependFullFilePath(ompl) }),
|
|
74
|
+
...(overrideParams && { paramPath: overrideParams }),
|
|
51
75
|
};
|
|
52
76
|
}
|
|
53
77
|
throw new CliInputError(FILE_IS_NOT_YAML);
|
|
@@ -55,4 +79,4 @@ const parseProcessArgument = () => {
|
|
|
55
79
|
throw new CliInputError(IMPL_IS_MISSING);
|
|
56
80
|
};
|
|
57
81
|
exports.parseProcessArgument = parseProcessArgument;
|
|
58
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
82
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXJncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL2FyZ3MudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwyQ0FBNkI7QUFDN0IsK0RBQTJDO0FBRTNDLGlDQUF5QztBQUN6QyxxQ0FBZ0M7QUFFaEMsc0NBQTBDO0FBSTFDLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFL0IsTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUN4QixNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLE1BQU0sQ0FBQztBQUU1QixNQUFNLEVBQUMsZ0JBQWdCLEVBQUUsZUFBZSxFQUFDLEdBQUcsZ0JBQU8sQ0FBQztBQUVwRDs7O0dBR0c7QUFDSCxNQUFNLDJCQUEyQixHQUFHLEdBQUcsRUFBRTtJQUN2QyxJQUFJO1FBQ0YsT0FBTyxJQUFBLDRCQUFLLEVBQW9CLElBQUksQ0FBQyxDQUFDO0tBQ3ZDO0lBQUMsT0FBTyxLQUFLLEVBQUU7UUFDZCxJQUFJLEtBQUssWUFBWSxLQUFLLEVBQUU7WUFDMUIsTUFBTSxJQUFJLGFBQWEsQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7UUFFRCxNQUFNLEtBQUssQ0FBQztLQUNiO0FBQ0gsQ0FBQyxDQUFDO0FBRUY7OztHQUdHO0FBQ0gsTUFBTSxtQkFBbUIsR0FBRyxDQUFDLFFBQWdCLEVBQUUsRUFBRTtJQUMvQyxNQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztJQUV6QyxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxrQkFBa0IsSUFBSSxRQUFRLEVBQUUsQ0FBQyxDQUFDO0FBQzdELENBQUMsQ0FBQztBQUVGOzs7R0FHRztBQUNJLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxFQUFFO0lBQ3ZDLE1BQU0sRUFDSixJQUFJLEVBQ0osSUFBSSxFQUNKLGlCQUFpQixFQUFFLGNBQWMsRUFDakMsSUFBSSxHQUNMLEdBQUcsMkJBQTJCLEVBQUUsQ0FBQztJQUVsQyxJQUFJLElBQUksRUFBRTtRQUNSLE9BQU8sQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDbEIsT0FBTztLQUNSO0lBRUQsSUFBSSxJQUFJLEVBQUU7UUFDUixJQUFJLElBQUEsd0JBQWlCLEVBQUMsSUFBSSxDQUFDLEVBQUU7WUFDM0IsT0FBTztnQkFDTCxTQUFTLEVBQUUsbUJBQW1CLENBQUMsSUFBSSxDQUFDO2dCQUNwQyxHQUFHLENBQUMsSUFBSSxJQUFJLEVBQUMsVUFBVSxFQUFFLG1CQUFtQixDQUFDLElBQUksQ0FBQyxFQUFDLENBQUM7Z0JBQ3BELEdBQUcsQ0FBQyxjQUFjLElBQUksRUFBQyxTQUFTLEVBQUUsY0FBYyxFQUFDLENBQUM7YUFDbkQsQ0FBQztTQUNIO1FBRUQsTUFBTSxJQUFJLGFBQWEsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0tBQzNDO0lBRUQsTUFBTSxJQUFJLGFBQWEsQ0FBQyxlQUFlLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUExQlcsUUFBQSxvQkFBb0Isd0JBMEIvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIHBhdGggZnJvbSAncGF0aCc7XG5pbXBvcnQge3BhcnNlfSBmcm9tICd0cy1jb21tYW5kLWxpbmUtYXJncyc7XG5cbmltcG9ydCB7Y2hlY2tJZkZpbGVJc1lhbWx9IGZyb20gJy4veWFtbCc7XG5pbXBvcnQge0VSUk9SU30gZnJvbSAnLi9lcnJvcnMnO1xuXG5pbXBvcnQge0NPTkZJRywgU1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtpbXBhY3RQcm9jZXNzQXJnc30gZnJvbSAnLi4vdHlwZXMvcHJvY2Vzcy1hcmdzJztcblxuY29uc3Qge0NsaUlucHV0RXJyb3J9ID0gRVJST1JTO1xuXG5jb25zdCB7aW1wYWN0fSA9IENPTkZJRztcbmNvbnN0IHtBUkdTLCBIRUxQfSA9IGltcGFjdDtcblxuY29uc3Qge0ZJTEVfSVNfTk9UX1lBTUwsIElNUExfSVNfTUlTU0lOR30gPSBTVFJJTkdTO1xuXG4vKipcbiAqIFZhbGlkYXRlcyBwcm9jZXNzIGFyZ3VtZW50c1xuICogQHByaXZhdGVcbiAqL1xuY29uc3QgdmFsaWRhdGVBbmRQYXJzZVByb2Nlc3NBcmdzID0gKCkgPT4ge1xuICB0cnkge1xuICAgIHJldHVybiBwYXJzZTxpbXBhY3RQcm9jZXNzQXJncz4oQVJHUyk7XG4gIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgaWYgKGVycm9yIGluc3RhbmNlb2YgRXJyb3IpIHtcbiAgICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKGVycm9yLm1lc3NhZ2UpO1xuICAgIH1cblxuICAgIHRocm93IGVycm9yO1xuICB9XG59O1xuXG4vKipcbiAqIFByZXBlbmRzIHByb2Nlc3MgcGF0aCB0byBmaXZlbiBgZmlsZVBhdGhgLlxuICogQHByaXZhdGVcbiAqL1xuY29uc3QgcHJlcGVuZEZ1bGxGaWxlUGF0aCA9IChmaWxlUGF0aDogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHByb2Nlc3NSdW5uaW5nUGF0aCA9IHByb2Nlc3MuY3dkKCk7XG5cbiAgcmV0dXJuIHBhdGgubm9ybWFsaXplKGAke3Byb2Nlc3NSdW5uaW5nUGF0aH0vJHtmaWxlUGF0aH1gKTtcbn07XG5cbi8qKlxuICogUGFyc2VzIHByb2Nlc3MgYXJndW1lbnQsIGlmIGl0J3MgYHlhbWxgIGZpbGUsIHRoZW4gcmV0dXJucyBpdC5cbiAqIE90aGVyd2lzZSB0aHJvd3MgZXJyb3IuXG4gKi9cbmV4cG9ydCBjb25zdCBwYXJzZVByb2Nlc3NBcmd1bWVudCA9ICgpID0+IHtcbiAgY29uc3Qge1xuICAgIGltcGwsXG4gICAgb21wbCxcbiAgICAnb3ZlcnJpZGUtcGFyYW1zJzogb3ZlcnJpZGVQYXJhbXMsXG4gICAgaGVscCxcbiAgfSA9IHZhbGlkYXRlQW5kUGFyc2VQcm9jZXNzQXJncygpO1xuXG4gIGlmIChoZWxwKSB7XG4gICAgY29uc29sZS5sb2coSEVMUCk7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgaWYgKGltcGwpIHtcbiAgICBpZiAoY2hlY2tJZkZpbGVJc1lhbWwoaW1wbCkpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGlucHV0UGF0aDogcHJlcGVuZEZ1bGxGaWxlUGF0aChpbXBsKSxcbiAgICAgICAgLi4uKG9tcGwgJiYge291dHB1dFBhdGg6IHByZXBlbmRGdWxsRmlsZVBhdGgob21wbCl9KSxcbiAgICAgICAgLi4uKG92ZXJyaWRlUGFyYW1zICYmIHtwYXJhbVBhdGg6IG92ZXJyaWRlUGFyYW1zfSksXG4gICAgICB9O1xuICAgIH1cblxuICAgIHRocm93IG5ldyBDbGlJbnB1dEVycm9yKEZJTEVfSVNfTk9UX1lBTUwpO1xuICB9XG5cbiAgdGhyb3cgbmV3IENsaUlucHV0RXJyb3IoSU1QTF9JU19NSVNTSU5HKTtcbn07XG4iXX0=
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getAggregationMethod = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Returns aggregation method for given `unitName`. If doesn't exist then returns value `sum`.
|
|
6
|
+
*/
|
|
7
|
+
const getAggregationMethod = (unitName, parameters) => {
|
|
8
|
+
if (`${unitName}` in parameters) {
|
|
9
|
+
return parameters[unitName].aggregation;
|
|
10
|
+
}
|
|
11
|
+
return 'sum';
|
|
12
|
+
};
|
|
13
|
+
exports.getAggregationMethod = getAggregationMethod;
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGFyYW0tc2VsZWN0b3JzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWwvcGFyYW0tc2VsZWN0b3JzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0ksTUFBTSxvQkFBb0IsR0FBRyxDQUNsQyxRQUFnQixFQUNoQixVQUFzQixFQUN0QixFQUFFO0lBQ0YsSUFBSSxHQUFHLFFBQVEsRUFBRSxJQUFJLFVBQVUsRUFBRTtRQUMvQixPQUFPLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxXQUFXLENBQUM7S0FDekM7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMsQ0FBQztBQVRXLFFBQUEsb0JBQW9CLHdCQVMvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbi8qKlxuICogUmV0dXJucyBhZ2dyZWdhdGlvbiBtZXRob2QgZm9yIGdpdmVuIGB1bml0TmFtZWAuIElmIGRvZXNuJ3QgZXhpc3QgdGhlbiByZXR1cm5zIHZhbHVlIGBzdW1gLlxuICovXG5leHBvcnQgY29uc3QgZ2V0QWdncmVnYXRpb25NZXRob2QgPSAoXG4gIHVuaXROYW1lOiBzdHJpbmcsXG4gIHBhcmFtZXRlcnM6IFBhcmFtZXRlcnNcbikgPT4ge1xuICBpZiAoYCR7dW5pdE5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgcmV0dXJuIHBhcmFtZXRlcnNbdW5pdE5hbWVdLmFnZ3JlZ2F0aW9uO1xuICB9XG5cbiAgcmV0dXJuICdzdW0nO1xufTtcbiJdfQ==
|
|
@@ -12,18 +12,24 @@ export declare const validateImpl: (impl: Impl) => {
|
|
|
12
12
|
} | null;
|
|
13
13
|
initialize: {
|
|
14
14
|
models: {
|
|
15
|
+
model: string;
|
|
16
|
+
path: string;
|
|
15
17
|
name: string;
|
|
16
|
-
kind?: string | undefined;
|
|
17
|
-
path?: string | undefined;
|
|
18
|
-
model?: string | undefined;
|
|
19
18
|
config?: Record<string, any> | undefined;
|
|
20
19
|
}[];
|
|
21
20
|
};
|
|
22
21
|
graph: {
|
|
23
22
|
children: Record<string, any>;
|
|
24
23
|
};
|
|
24
|
+
'if-version'?: string | null | undefined;
|
|
25
25
|
aggregation?: {
|
|
26
|
-
|
|
27
|
-
|
|
26
|
+
type: "horizontal" | "vertical" | "both";
|
|
27
|
+
metrics: string[];
|
|
28
28
|
} | undefined;
|
|
29
|
+
params?: {
|
|
30
|
+
name: string;
|
|
31
|
+
description: string;
|
|
32
|
+
unit: string;
|
|
33
|
+
aggregation: "sum" | "none" | "avg";
|
|
34
|
+
}[] | null | undefined;
|
|
29
35
|
};
|
|
@@ -3,38 +3,31 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.validateImpl = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
5
|
const errors_1 = require("./errors");
|
|
6
|
-
const
|
|
6
|
+
const aggregator_1 = require("../types/aggregator");
|
|
7
|
+
const parameters_1 = require("../types/parameters");
|
|
7
8
|
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
9
|
/**
|
|
27
10
|
* Validation schema for impl files.
|
|
28
11
|
*/
|
|
29
12
|
const implValidation = zod_1.z.object({
|
|
30
13
|
name: zod_1.z.string(),
|
|
14
|
+
'if-version': zod_1.z.string().optional().nullable(),
|
|
31
15
|
description: zod_1.z.string().nullable(),
|
|
32
16
|
aggregation: zod_1.z
|
|
33
17
|
.object({
|
|
34
|
-
|
|
35
|
-
|
|
18
|
+
metrics: zod_1.z.array(zod_1.z.string()),
|
|
19
|
+
type: zod_1.z.enum(aggregator_1.AGGREGATION_METHODS),
|
|
36
20
|
})
|
|
37
21
|
.optional(),
|
|
22
|
+
params: zod_1.z
|
|
23
|
+
.array(zod_1.z.object({
|
|
24
|
+
name: zod_1.z.string(),
|
|
25
|
+
description: zod_1.z.string(),
|
|
26
|
+
aggregation: zod_1.z.enum(parameters_1.AGGREGATION_TYPES),
|
|
27
|
+
unit: zod_1.z.string(),
|
|
28
|
+
}))
|
|
29
|
+
.optional()
|
|
30
|
+
.nullable(),
|
|
38
31
|
tags: zod_1.z
|
|
39
32
|
.object({
|
|
40
33
|
kind: zod_1.z.string().optional(),
|
|
@@ -45,9 +38,8 @@ const implValidation = zod_1.z.object({
|
|
|
45
38
|
initialize: zod_1.z.object({
|
|
46
39
|
models: zod_1.z.array(zod_1.z.object({
|
|
47
40
|
name: zod_1.z.string(),
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
model: zod_1.z.string().optional(),
|
|
41
|
+
path: zod_1.z.string(),
|
|
42
|
+
model: zod_1.z.string(),
|
|
51
43
|
config: zod_1.z.record(zod_1.z.string(), zod_1.z.any()).optional(),
|
|
52
44
|
})),
|
|
53
45
|
}),
|
|
@@ -77,4 +69,4 @@ const validateImpl = (impl) => {
|
|
|
77
69
|
return validatedImpl.data;
|
|
78
70
|
};
|
|
79
71
|
exports.validateImpl = validateImpl;
|
|
80
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmFsaWRhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbC92YWxpZGF0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSw2QkFBZ0M7QUFFaEMscUNBQWdDO0FBRWhDLG9EQUF3RDtBQUN4RCxvREFBc0Q7QUFHdEQsTUFBTSxFQUFDLG1CQUFtQixFQUFDLEdBQUcsZUFBTSxDQUFDO0FBRXJDOztHQUVHO0FBQ0gsTUFBTSxjQUFjLEdBQUcsT0FBQyxDQUFDLE1BQU0sQ0FBQztJQUM5QixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixZQUFZLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QyxXQUFXLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxXQUFXLEVBQUUsT0FBQztTQUNYLE1BQU0sQ0FBQztRQUNOLE9BQU8sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUM1QixJQUFJLEVBQUUsT0FBQyxDQUFDLElBQUksQ0FBQyxnQ0FBbUIsQ0FBQztLQUNsQyxDQUFDO1NBQ0QsUUFBUSxFQUFFO0lBQ2IsTUFBTSxFQUFFLE9BQUM7U0FDTixLQUFLLENBQ0osT0FBQyxDQUFDLE1BQU0sQ0FBQztRQUNQLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ2hCLFdBQVcsRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO1FBQ3ZCLFdBQVcsRUFBRSxPQUFDLENBQUMsSUFBSSxDQUFDLDhCQUFpQixDQUFDO1FBQ3RDLElBQUksRUFBRSxPQUFDLENBQUMsTUFBTSxFQUFFO0tBQ2pCLENBQUMsQ0FDSDtTQUNBLFFBQVEsRUFBRTtTQUNWLFFBQVEsRUFBRTtJQUNiLElBQUksRUFBRSxPQUFDO1NBQ0osTUFBTSxDQUFDO1FBQ04sSUFBSSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDM0IsVUFBVSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7UUFDakMsUUFBUSxFQUFFLE9BQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7S0FDaEMsQ0FBQztTQUNELFFBQVEsRUFBRTtJQUNiLFVBQVUsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDO1FBQ25CLE1BQU0sRUFBRSxPQUFDLENBQUMsS0FBSyxDQUNiLE9BQUMsQ0FBQyxNQUFNLENBQUM7WUFDUCxJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNoQixJQUFJLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNoQixLQUFLLEVBQUUsT0FBQyxDQUFDLE1BQU0sRUFBRTtZQUNqQixNQUFNLEVBQUUsT0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFDLENBQUMsTUFBTSxFQUFFLEVBQUUsT0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUMsUUFBUSxFQUFFO1NBQ2pELENBQUMsQ0FDSDtLQUNGLENBQUM7SUFDRixLQUFLLEVBQUUsT0FBQztTQUNMLE1BQU0sQ0FBQztRQUNOLFFBQVEsRUFBRSxPQUFDLENBQUMsTUFBTSxDQUFDLE9BQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRSxPQUFDLENBQUMsR0FBRyxFQUFFLENBQUM7S0FDeEMsQ0FBQztTQUNELFFBQVEsRUFBRTtDQUNkLENBQUMsQ0FBQztBQUVIOztHQUVHO0FBQ0ksTUFBTSxZQUFZLEdBQUcsQ0FBQyxJQUFVLEVBQUUsRUFBRTtJQUN6QyxNQUFNLGFBQWEsR0FBRyxjQUFjLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO0lBRXJELElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFO1FBQzFCLE1BQU0sb0JBQW9CLEdBQUcsQ0FBQyxNQUFjLEVBQUUsRUFBRTtZQUM5QyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBRXZDLE9BQU8sV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQWUsRUFBRSxFQUFFO2dCQUN6QyxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUMsR0FBRyxLQUFLLENBQUM7Z0JBQ3BDLE1BQU0sV0FBVyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FDbEMsT0FBTyxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQzlDLENBQUM7Z0JBQ0YsTUFBTSxRQUFRLEdBQUcsV0FBVyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztnQkFFdkMsT0FBTyxJQUFJLFFBQVEsa0JBQWtCLE9BQU8sQ0FBQyxXQUFXLEVBQUUsaUJBQWlCLElBQUksR0FBRyxDQUFDO1lBQ3JGLENBQUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDO1FBRUYsTUFBTSxJQUFJLG1CQUFtQixDQUMzQixvQkFBb0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUNsRCxDQUFDO0tBQ0g7SUFFRCxPQUFPLGFBQWEsQ0FBQyxJQUFJLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBeEJXLFFBQUEsWUFBWSxnQkF3QnZCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtab2RJc3N1ZSwgen0gZnJvbSAnem9kJztcblxuaW1wb3J0IHtFUlJPUlN9IGZyb20gJy4vZXJyb3JzJztcblxuaW1wb3J0IHtBR0dSRUdBVElPTl9NRVRIT0RTfSBmcm9tICcuLi90eXBlcy9hZ2dyZWdhdG9yJztcbmltcG9ydCB7QUdHUkVHQVRJT05fVFlQRVN9IGZyb20gJy4uL3R5cGVzL3BhcmFtZXRlcnMnO1xuaW1wb3J0IHtJbXBsfSBmcm9tICcuLi90eXBlcy9pbXBsJztcblxuY29uc3Qge0ltcGxWYWxpZGF0aW9uRXJyb3J9ID0gRVJST1JTO1xuXG4vKipcbiAqIFZhbGlkYXRpb24gc2NoZW1hIGZvciBpbXBsIGZpbGVzLlxuICovXG5jb25zdCBpbXBsVmFsaWRhdGlvbiA9IHoub2JqZWN0KHtcbiAgbmFtZTogei5zdHJpbmcoKSxcbiAgJ2lmLXZlcnNpb24nOiB6LnN0cmluZygpLm9wdGlvbmFsKCkubnVsbGFibGUoKSxcbiAgZGVzY3JpcHRpb246IHouc3RyaW5nKCkubnVsbGFibGUoKSxcbiAgYWdncmVnYXRpb246IHpcbiAgICAub2JqZWN0KHtcbiAgICAgIG1ldHJpY3M6IHouYXJyYXkoei5zdHJpbmcoKSksXG4gICAgICB0eXBlOiB6LmVudW0oQUdHUkVHQVRJT05fTUVUSE9EUyksXG4gICAgfSlcbiAgICAub3B0aW9uYWwoKSxcbiAgcGFyYW1zOiB6XG4gICAgLmFycmF5KFxuICAgICAgei5vYmplY3Qoe1xuICAgICAgICBuYW1lOiB6LnN0cmluZygpLFxuICAgICAgICBkZXNjcmlwdGlvbjogei5zdHJpbmcoKSxcbiAgICAgICAgYWdncmVnYXRpb246IHouZW51bShBR0dSRUdBVElPTl9UWVBFUyksXG4gICAgICAgIHVuaXQ6IHouc3RyaW5nKCksXG4gICAgICB9KVxuICAgIClcbiAgICAub3B0aW9uYWwoKVxuICAgIC5udWxsYWJsZSgpLFxuICB0YWdzOiB6XG4gICAgLm9iamVjdCh7XG4gICAgICBraW5kOiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICBjb21wbGV4aXR5OiB6LnN0cmluZygpLm9wdGlvbmFsKCksXG4gICAgICBjYXRlZ29yeTogei5zdHJpbmcoKS5vcHRpb25hbCgpLFxuICAgIH0pXG4gICAgLm51bGxhYmxlKCksXG4gIGluaXRpYWxpemU6IHoub2JqZWN0KHtcbiAgICBtb2RlbHM6IHouYXJyYXkoXG4gICAgICB6Lm9iamVjdCh7XG4gICAgICAgIG5hbWU6IHouc3RyaW5nKCksXG4gICAgICAgIHBhdGg6IHouc3RyaW5nKCksXG4gICAgICAgIG1vZGVsOiB6LnN0cmluZygpLFxuICAgICAgICBjb25maWc6IHoucmVjb3JkKHouc3RyaW5nKCksIHouYW55KCkpLm9wdGlvbmFsKCksXG4gICAgICB9KVxuICAgICksXG4gIH0pLFxuICBncmFwaDogelxuICAgIC5vYmplY3Qoe1xuICAgICAgY2hpbGRyZW46IHoucmVjb3JkKHouc3RyaW5nKCksIHouYW55KCkpLFxuICAgIH0pXG4gICAgLnJlcXVpcmVkKCksXG59KTtcblxuLyoqXG4gKiBWYWxpZGF0ZXMgZ2l2ZW4gYGltcGxgIG9iamVjdCB0byBtYXRjaCBwYXR0ZXJuLlxuICovXG5leHBvcnQgY29uc3QgdmFsaWRhdGVJbXBsID0gKGltcGw6IEltcGwpID0+IHtcbiAgY29uc3QgdmFsaWRhdGVkSW1wbCA9IGltcGxWYWxpZGF0aW9uLnNhZmVQYXJzZShpbXBsKTtcblxuICBpZiAoIXZhbGlkYXRlZEltcGwuc3VjY2Vzcykge1xuICAgIGNvbnN0IHByZXR0aWZ5RXJyb3JNZXNzYWdlID0gKGlzc3Vlczogc3RyaW5nKSA9PiB7XG4gICAgICBjb25zdCBpc3N1ZXNBcnJheSA9IEpTT04ucGFyc2UoaXNzdWVzKTtcblxuICAgICAgcmV0dXJuIGlzc3Vlc0FycmF5Lm1hcCgoaXNzdWU6IFpvZElzc3VlKSA9PiB7XG4gICAgICAgIGNvbnN0IHtjb2RlLCBwYXRoLCBtZXNzYWdlfSA9IGlzc3VlO1xuICAgICAgICBjb25zdCBmbGF0dGVuUGF0aCA9IHBhdGgubWFwKHBhcnQgPT5cbiAgICAgICAgICB0eXBlb2YgcGFydCA9PT0gJ251bWJlcicgPyBgWyR7cGFydH1dYCA6IHBhcnRcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgZnVsbFBhdGggPSBmbGF0dGVuUGF0aC5qb2luKCcuJyk7XG5cbiAgICAgICAgcmV0dXJuIGBcIiR7ZnVsbFBhdGh9XCIgcGFyYW1ldGVyIGlzICR7bWVzc2FnZS50b0xvd2VyQ2FzZSgpfS4gRXJyb3IgY29kZTogJHtjb2RlfS5gO1xuICAgICAgfSk7XG4gICAgfTtcblxuICAgIHRocm93IG5ldyBJbXBsVmFsaWRhdGlvbkVycm9yKFxuICAgICAgcHJldHRpZnlFcnJvck1lc3NhZ2UodmFsaWRhdGVkSW1wbC5lcnJvci5tZXNzYWdlKVxuICAgICk7XG4gIH1cblxuICByZXR1cm4gdmFsaWRhdGVkSW1wbC5kYXRhO1xufTtcbiJdfQ==
|
package/build/util/yaml.js
CHANGED
|
@@ -1,9 +1,32 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || function (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
26
|
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");
|
|
27
|
+
const fs = __importStar(require("fs/promises"));
|
|
28
|
+
const path = __importStar(require("path"));
|
|
29
|
+
const YAML = __importStar(require("js-yaml"));
|
|
7
30
|
/**
|
|
8
31
|
* Reads and parses `yaml` file to object.
|
|
9
32
|
*/
|
|
@@ -33,4 +56,4 @@ const checkIfFileIsYaml = (fileName) => {
|
|
|
33
56
|
return yamlFileTypes.includes(extension);
|
|
34
57
|
};
|
|
35
58
|
exports.checkIfFileIsYaml = checkIfFileIsYaml;
|
|
36
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
59
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoieWFtbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsL3lhbWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBa0M7QUFDbEMsMkNBQTZCO0FBRTdCLDhDQUFnQztBQUVoQzs7R0FFRztBQUNJLE1BQU0sb0JBQW9CLEdBQUcsS0FBSyxFQUFLLFFBQWdCLEVBQWMsRUFBRTtJQUM1RSxNQUFNLGNBQWMsR0FBRyxNQUFNLEVBQUUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBRTNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQU0sQ0FBQztBQUN4QyxDQUFDLENBQUM7QUFKVyxRQUFBLG9CQUFvQix3QkFJL0I7QUFFRjs7R0FFRztBQUNJLE1BQU0sY0FBYyxHQUFHLEtBQUssRUFBRSxNQUFXLEVBQUUsVUFBa0IsRUFBRSxFQUFFO0lBQ3RFLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUM7SUFDekMsTUFBTSxFQUFFLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxFQUFDLFNBQVMsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFDO0lBQzNDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyxDQUFDLENBQUM7SUFFckQsT0FBTyxFQUFFLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUM5QyxDQUFDLENBQUM7QUFOVyxRQUFBLGNBQWMsa0JBTXpCO0FBRUY7O0dBRUc7QUFDSSxNQUFNLGlCQUFpQixHQUFHLENBQUMsUUFBZ0IsRUFBRSxFQUFFO0lBQ3BELE1BQU0sYUFBYSxHQUFHLENBQUMsTUFBTSxFQUFFLEtBQUssQ0FBQyxDQUFDO0lBQ3RDLE1BQU0sYUFBYSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDMUMsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDM0MsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLFNBQVMsQ0FBQyxDQUFDO0lBRTNDLE9BQU8sYUFBYSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsQ0FBQztBQUMzQyxDQUFDLENBQUM7QUFQVyxRQUFBLGlCQUFpQixxQkFPNUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBmcyBmcm9tICdmcy9wcm9taXNlcyc7XG5pbXBvcnQgKiBhcyBwYXRoIGZyb20gJ3BhdGgnO1xuXG5pbXBvcnQgKiBhcyBZQU1MIGZyb20gJ2pzLXlhbWwnO1xuXG4vKipcbiAqIFJlYWRzIGFuZCBwYXJzZXMgYHlhbWxgIGZpbGUgdG8gb2JqZWN0LlxuICovXG5leHBvcnQgY29uc3Qgb3BlbllhbWxGaWxlQXNPYmplY3QgPSBhc3luYyA8VD4oZmlsZVBhdGg6IHN0cmluZyk6IFByb21pc2U8VD4gPT4ge1xuICBjb25zdCB5YW1sRmlsZUJ1ZmZlciA9IGF3YWl0IGZzLnJlYWRGaWxlKGZpbGVQYXRoLCAndXRmOCcpO1xuXG4gIHJldHVybiBZQU1MLmxvYWQoeWFtbEZpbGVCdWZmZXIpIGFzIFQ7XG59O1xuXG4vKipcbiAqIFNhdmVzIGdpdmVuIGB5YW1sYCBkdW1wIGFzIGEgZmlsZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNhdmVZYW1sRmlsZUFzID0gYXN5bmMgKG9iamVjdDogYW55LCBwYXRoVG9GaWxlOiBzdHJpbmcpID0+IHtcbiAgY29uc3QgZGlyUGF0aCA9IHBhdGguZGlybmFtZShwYXRoVG9GaWxlKTtcbiAgYXdhaXQgZnMubWtkaXIoZGlyUGF0aCwge3JlY3Vyc2l2ZTogdHJ1ZX0pO1xuICBjb25zdCB5YW1sU3RyaW5nID0gWUFNTC5kdW1wKG9iamVjdCwge25vUmVmczogdHJ1ZX0pO1xuXG4gIHJldHVybiBmcy53cml0ZUZpbGUocGF0aFRvRmlsZSwgeWFtbFN0cmluZyk7XG59O1xuXG4vKipcbiAqIENoZWNrcyBpZiBnaXZlbiBgZmlsZU5hbWVgIGlzIHlhbWwuXG4gKi9cbmV4cG9ydCBjb25zdCBjaGVja0lmRmlsZUlzWWFtbCA9IChmaWxlTmFtZTogc3RyaW5nKSA9PiB7XG4gIGNvbnN0IHlhbWxGaWxlVHlwZXMgPSBbJ3lhbWwnLCAneW1sJ107XG4gIGNvbnN0IHNwbGl0dGVkUGFydHMgPSBmaWxlTmFtZS5zcGxpdCgnLicpO1xuICBjb25zdCBsYXN0SW5kZXggPSBzcGxpdHRlZFBhcnRzLmxlbmd0aCAtIDE7XG4gIGNvbnN0IGV4dGVuc2lvbiA9IHNwbGl0dGVkUGFydHNbbGFzdEluZGV4XTtcblxuICByZXR1cm4geWFtbEZpbGVUeXBlcy5pbmNsdWRlcyhleHRlbnNpb24pO1xufTtcbiJdfQ==
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
name: nesting-demo
|
|
2
2
|
description:
|
|
3
3
|
aggregation:
|
|
4
|
-
metrics: [
|
|
5
|
-
type:
|
|
4
|
+
metrics: ["carbon", "energy"]
|
|
5
|
+
type: "horizontal"
|
|
6
6
|
tags:
|
|
7
7
|
kind: web
|
|
8
8
|
complexity: moderate
|
|
@@ -39,14 +39,14 @@ graph:
|
|
|
39
39
|
sci-m:
|
|
40
40
|
total-embodied-emissions: 251000 # gCO2eq
|
|
41
41
|
time-reserved: 3600 # 1 hour in s
|
|
42
|
-
expected-lifespan: 126144000 # 4 years in seconds
|
|
43
|
-
resources-reserved: 1
|
|
44
|
-
total-resources: 1
|
|
42
|
+
expected-lifespan: 126144000 # 4 years in seconds
|
|
43
|
+
resources-reserved: 1
|
|
44
|
+
total-resources: 1
|
|
45
45
|
sci-o:
|
|
46
46
|
grid-carbon-intensity: 457 # gCO2/kwh
|
|
47
47
|
sci:
|
|
48
|
-
functional-unit-
|
|
49
|
-
functional-duration-time:
|
|
48
|
+
functional-unit-time: 1 minute
|
|
49
|
+
functional-duration-time: ""
|
|
50
50
|
functional-unit: requests # factor to convert per time to per f.unit
|
|
51
51
|
children:
|
|
52
52
|
child-1:
|
|
@@ -54,56 +54,56 @@ graph:
|
|
|
54
54
|
- timestamp: 2023-07-06T00:00
|
|
55
55
|
duration: 10
|
|
56
56
|
cpu-util: 10
|
|
57
|
-
e-net: 0.000811 #kwh
|
|
57
|
+
e-net: 0.000811 #kwh
|
|
58
58
|
requests: 380
|
|
59
59
|
- timestamp: 2023-07-06T00:10
|
|
60
60
|
duration: 10
|
|
61
61
|
cpu-util: 10
|
|
62
|
-
e-net: 0.000811 #kwh
|
|
62
|
+
e-net: 0.000811 #kwh
|
|
63
63
|
requests: 380
|
|
64
64
|
- timestamp: 2023-07-06T00:20
|
|
65
65
|
duration: 10
|
|
66
66
|
cpu-util: 10
|
|
67
|
-
e-net: 0.000811 #kwh
|
|
67
|
+
e-net: 0.000811 #kwh
|
|
68
68
|
requests: 380
|
|
69
69
|
- timestamp: 2023-07-06T00:30
|
|
70
70
|
duration: 10
|
|
71
71
|
cpu-util: 10
|
|
72
|
-
e-net: 0.000811 #kwh
|
|
72
|
+
e-net: 0.000811 #kwh
|
|
73
73
|
requests: 380
|
|
74
74
|
child-2:
|
|
75
75
|
inputs:
|
|
76
76
|
- timestamp: 2023-07-06T00:00
|
|
77
77
|
duration: 10
|
|
78
78
|
cpu-util: 20
|
|
79
|
-
e-net: 0.000811 #kwh
|
|
79
|
+
e-net: 0.000811 #kwh
|
|
80
80
|
requests: 380
|
|
81
81
|
- timestamp: 2023-07-06T00:10
|
|
82
82
|
duration: 10
|
|
83
83
|
cpu-util: 30
|
|
84
|
-
e-net: 0.000811 #kwh
|
|
84
|
+
e-net: 0.000811 #kwh
|
|
85
85
|
requests: 380
|
|
86
86
|
- timestamp: 2023-07-06T00:20
|
|
87
87
|
duration: 10
|
|
88
88
|
cpu-util: 40
|
|
89
|
-
e-net: 0.000811 #kwh
|
|
89
|
+
e-net: 0.000811 #kwh
|
|
90
90
|
requests: 380
|
|
91
91
|
- timestamp: 2023-07-06T00:30
|
|
92
92
|
duration: 10
|
|
93
93
|
cpu-util: 50
|
|
94
|
-
e-net: 0.000811 #kwh
|
|
94
|
+
e-net: 0.000811 #kwh
|
|
95
95
|
requests: 380
|
|
96
96
|
child-3:
|
|
97
|
-
inputs:
|
|
97
|
+
inputs:
|
|
98
98
|
- timestamp: 2023-07-06T00:00
|
|
99
99
|
duration: 10
|
|
100
100
|
cpu-util: 10
|
|
101
|
-
e-net: 0.000811 #kwh
|
|
101
|
+
e-net: 0.000811 #kwh
|
|
102
102
|
requests: 380
|
|
103
103
|
child-4:
|
|
104
|
-
inputs:
|
|
104
|
+
inputs:
|
|
105
105
|
- timestamp: 2023-07-06T00:00
|
|
106
106
|
duration: 10
|
|
107
107
|
cpu-util: 10
|
|
108
|
-
e-net: 0.000811 #kwh
|
|
108
|
+
e-net: 0.000811 #kwh
|
|
109
109
|
requests: 380
|