@grnsft/if 0.1.9 → 0.2.1
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/.commitlintrc.js +45 -0
- package/.husky/commit-msg +4 -0
- package/.husky/pre-commit +6 -0
- package/CONTRIBUTING.md +82 -109
- package/README.md +16 -12
- package/build/config/config.d.ts +4 -3
- package/build/config/config.js +11 -10
- package/build/config/params.js +17 -17
- package/build/config/strings.d.ts +9 -8
- package/build/config/strings.js +13 -12
- package/build/index.js +19 -69
- package/build/lib/aggregate.d.ts +6 -0
- package/build/lib/aggregate.js +72 -0
- package/build/lib/compute.d.ts +5 -0
- package/build/lib/compute.js +84 -0
- package/build/lib/exhaust.d.ts +6 -0
- package/build/lib/exhaust.js +47 -0
- package/build/lib/initialize.d.ts +6 -0
- package/build/lib/initialize.js +98 -0
- package/build/lib/load.d.ts +6 -0
- package/build/lib/load.js +24 -0
- package/build/lib/parameterize.d.ts +5 -0
- package/build/lib/parameterize.js +49 -0
- package/build/models/export-csv.d.ts +2 -0
- package/build/models/export-csv.js +129 -0
- package/build/models/export-log.d.ts +4 -0
- package/build/models/export-log.js +18 -0
- package/build/models/export-yaml.d.ts +4 -0
- package/build/models/export-yaml.js +24 -0
- package/build/models/group-by.d.ts +11 -0
- package/build/models/group-by.js +56 -0
- package/build/models/index.d.ts +2 -1
- package/build/models/index.js +5 -3
- package/build/models/time-sync.d.ts +2 -57
- package/build/models/time-sync.js +204 -158
- package/build/types/aggregation.js +5 -0
- package/build/types/compute.d.ts +25 -0
- package/build/types/compute.js +3 -0
- package/build/types/exhaust-plugin-interface.d.ts +7 -0
- package/build/types/exhaust-plugin-interface.js +3 -0
- package/build/types/group-by.d.ts +3 -0
- package/build/types/group-by.js +3 -0
- package/build/types/initialize.d.ts +4 -0
- package/build/types/initialize.js +3 -0
- package/build/types/interface.d.ts +8 -0
- package/build/types/interface.js +3 -0
- package/build/types/load.d.ts +7 -0
- package/build/types/load.js +3 -0
- package/build/types/manifest.d.ts +40 -0
- package/build/types/manifest.js +3 -0
- package/build/types/parameters.d.ts +4 -5
- package/build/types/parameters.js +1 -1
- package/build/types/process-args.d.ts +3 -5
- package/build/types/process-args.js +1 -1
- package/build/types/time-sync.d.ts +9 -2
- package/build/types/time-sync.js +1 -1
- package/build/util/aggregation-helper.d.ts +6 -0
- package/build/util/aggregation-helper.js +56 -0
- package/build/util/args.d.ts +6 -3
- package/build/util/args.js +21 -17
- package/build/util/errors.d.ts +1 -1
- package/build/util/errors.js +8 -4
- package/build/util/helpers.d.ts +4 -0
- package/build/util/helpers.js +23 -4
- package/build/util/json.d.ts +4 -0
- package/build/util/json.js +16 -0
- package/build/util/logger.d.ts +5 -0
- package/build/util/logger.js +40 -0
- package/build/util/validations.d.ts +22 -19
- package/build/util/validations.js +41 -34
- package/examples/{impls/test → manifests}/azure-importer.yml +8 -8
- package/examples/manifests/basic-demo.yml +75 -0
- package/examples/manifests/basic.yml +27 -0
- package/examples/manifests/boavizta-pipeline.yml +85 -0
- package/examples/{impls/test → manifests}/boavizta.yml +11 -12
- package/examples/{impls/test → manifests}/ccf.yml +9 -10
- package/examples/manifests/cim.yml +20 -0
- package/examples/manifests/cloud-metadata.yml +41 -0
- package/examples/manifests/co2js.yml +30 -0
- package/examples/manifests/coefficient.yml +23 -0
- package/examples/manifests/csv-export.yml +34 -0
- package/examples/manifests/e-mem.yml +21 -0
- package/examples/{impls/test → manifests}/e-net.yml +9 -8
- package/examples/manifests/generics.yml +71 -0
- package/examples/manifests/group-by.yml +48 -0
- package/examples/manifests/mock-observation.yml +33 -0
- package/examples/manifests/multiply.yml +23 -0
- package/examples/manifests/nesting-demo.yml +89 -0
- package/examples/manifests/nesting.yml +215 -0
- package/examples/manifests/pipeline-demo-1.yml +85 -0
- package/examples/manifests/pipeline-demo-2.yml +149 -0
- package/examples/manifests/pipeline-demo.yml +128 -0
- package/examples/manifests/pipeline-teads-sci.yml +82 -0
- package/examples/manifests/pipeline-with-generics.yml +147 -0
- package/examples/manifests/pipeline-with-mocks.yml +146 -0
- package/examples/{impls/test → manifests}/sci-e.yml +6 -8
- package/examples/manifests/sci-m.yml +23 -0
- package/examples/{impls/test → manifests}/sci-o.yml +10 -10
- package/examples/{impls/test → manifests}/sci.yml +10 -9
- package/examples/manifests/shell.yml +20 -0
- package/examples/manifests/sum.yml +23 -0
- package/examples/{impls/test → manifests}/tdp-finder.yml +6 -7
- package/examples/manifests/teads-aws.yml +22 -0
- package/examples/manifests/teads-curve.yml +20 -0
- package/examples/manifests/time-sync.yml +32 -0
- package/examples/manifests/watt-time.yml +42 -0
- package/jest.config.js +6 -1
- package/package.json +13 -8
- package/src/__tests__/integration/templates/integration.yaml +16 -0
- package/src/models/README.md +6 -6
- package/tsconfig.test.json +1 -1
- package/Makefile +0 -16
- package/build/lib/aggregator.d.ts +0 -7
- package/build/lib/aggregator.js +0 -46
- package/build/lib/models-universe.d.ts +0 -40
- package/build/lib/models-universe.js +0 -145
- package/build/lib/observatory.d.ts +0 -20
- package/build/lib/observatory.js +0 -31
- package/build/lib/supercomputer.d.ts +0 -39
- package/build/lib/supercomputer.js +0 -116
- package/build/types/aggregator.js +0 -5
- package/build/types/impl.d.ts +0 -92
- package/build/types/impl.js +0 -19
- package/build/types/model-interface.d.ts +0 -13
- package/build/types/model-interface.js +0 -3
- package/build/types/models-universe.d.ts +0 -20
- package/build/types/models-universe.js +0 -3
- package/build/types/supercomputer.d.ts +0 -4
- package/build/types/supercomputer.js +0 -3
- package/build/util/param-selectors.d.ts +0 -5
- package/build/util/param-selectors.js +0 -14
- package/examples/impls/case-studies/accenture.yml +0 -155
- package/examples/impls/case-studies/aggregation.yml +0 -97
- package/examples/impls/case-studies/aveva.yaml +0 -48
- package/examples/impls/case-studies/azure-yassine.yaml +0 -67
- package/examples/impls/case-studies/boavizta.yml +0 -26
- package/examples/impls/case-studies/dow_msft.yml +0 -173
- package/examples/impls/case-studies/farm-insights.yaml +0 -35
- package/examples/impls/case-studies/gsf-website.yaml +0 -93
- package/examples/impls/case-studies/msft-eshoppen.yaml +0 -162
- package/examples/impls/case-studies/msft-green-ai.yaml +0 -58
- package/examples/impls/case-studies/ntt-data-on-premise.yaml +0 -201
- package/examples/impls/test/aggregation-test.yml +0 -109
- package/examples/impls/test/aggregation-test2.yml +0 -52
- package/examples/impls/test/cim.yml +0 -19
- package/examples/impls/test/e-mem.yml +0 -19
- package/examples/impls/test/if-demo.yml +0 -59
- package/examples/impls/test/large-impl.yml +0 -257303
- package/examples/impls/test/metadata.yml +0 -21
- package/examples/impls/test/nesting.yml +0 -113
- package/examples/impls/test/new-params-test.yml +0 -35
- package/examples/impls/test/sci-m.yml +0 -24
- package/examples/impls/test/shell.yml +0 -19
- package/examples/impls/test/teads-cpu.yml +0 -18
- package/examples/impls/test/time-sync-avoid-padding.yml +0 -50
- package/examples/impls/test/time-sync.yml +0 -76
- package/examples/ompls/aggregation-test.yml +0 -340
- package/examples/ompls/aggregation-test2.yml +0 -83
- package/examples/ompls/azure-importer.yml +0 -145
- package/examples/ompls/boavizta.yml +0 -32
- package/examples/ompls/ccf.yml +0 -29
- package/examples/ompls/cim.yml +0 -29
- package/examples/ompls/complex-pipeline.yml +0 -105
- package/examples/ompls/e-mem.yml +0 -26
- package/examples/ompls/full-sci.yml +0 -64
- package/examples/ompls/if-demo.yml +0 -517
- package/examples/ompls/metadata.yml +0 -29
- package/examples/ompls/nesting.yml +0 -113
- package/examples/ompls/sci-e.yml +0 -23
- package/examples/ompls/sci-m.yml +0 -33
- package/examples/ompls/sci-o.yml +0 -29
- package/examples/ompls/sci.yml +0 -37
- package/examples/ompls/shell.yml +0 -23
- package/examples/ompls/teads-cpu.yml +0 -24
- package/examples/ompls/time-sync.yml +0 -212
- /package/build/types/{aggregator.d.ts → aggregation.d.ts} +0 -0
|
@@ -1,145 +0,0 @@
|
|
|
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
|
-
};
|
|
25
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
26
|
-
exports.ModelsUniverse = void 0;
|
|
27
|
-
const pathLib = require("path");
|
|
28
|
-
const errors_1 = require("../util/errors");
|
|
29
|
-
const config_1 = require("../config");
|
|
30
|
-
const { ModelInitializationError, ModelCredentialError } = errors_1.ERRORS;
|
|
31
|
-
const { GITHUB_PATH, NATIVE_MODEL } = config_1.CONFIG;
|
|
32
|
-
const { MISSING_CLASSNAME, NOT_MODEL_PLUGIN_EXTENSION, MISSING_PATH, NOT_NATIVE_MODEL, NOT_CONSTRUCTABLE_MODEL, NOT_INITIALIZED_MODEL, INVALID_MODULE_PATH, } = config_1.STRINGS;
|
|
33
|
-
/**
|
|
34
|
-
* Models Initialization Lifecycle.
|
|
35
|
-
*/
|
|
36
|
-
class ModelsUniverse {
|
|
37
|
-
constructor() {
|
|
38
|
-
/**
|
|
39
|
-
* Models list.
|
|
40
|
-
*/
|
|
41
|
-
this.initalizedModels = {};
|
|
42
|
-
}
|
|
43
|
-
/**
|
|
44
|
-
* Checks if model is instance of `IOutputModelInterface`.
|
|
45
|
-
*/
|
|
46
|
-
instanceOfModel(ClassContainer, params) {
|
|
47
|
-
try {
|
|
48
|
-
const testModel = new ClassContainer();
|
|
49
|
-
const boolable = 'configure' in testModel && 'execute' in testModel;
|
|
50
|
-
return boolable;
|
|
51
|
-
}
|
|
52
|
-
catch (error) {
|
|
53
|
-
throw new ModelInitializationError(NOT_CONSTRUCTABLE_MODEL(params));
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Imports module by given `path`.
|
|
58
|
-
*/
|
|
59
|
-
async importModuleFrom(path) {
|
|
60
|
-
try {
|
|
61
|
-
const module = await Promise.resolve(`${path}`).then(s => __importStar(require(s)));
|
|
62
|
-
return module;
|
|
63
|
-
}
|
|
64
|
-
catch (error) {
|
|
65
|
-
console.log(error);
|
|
66
|
-
throw new ModelInitializationError(INVALID_MODULE_PATH(path));
|
|
67
|
-
}
|
|
68
|
-
}
|
|
69
|
-
/**
|
|
70
|
-
* Imports `module` from given `path`, then checks if it's `ModelPluginInterface` extension.
|
|
71
|
-
*/
|
|
72
|
-
async importAndVerifyModule(model, path) {
|
|
73
|
-
const pluginModule = await this.importModuleFrom(path);
|
|
74
|
-
if (!this.instanceOfModel(pluginModule[model], { model, path })) {
|
|
75
|
-
throw new ModelInitializationError(NOT_MODEL_PLUGIN_EXTENSION);
|
|
76
|
-
}
|
|
77
|
-
return pluginModule[model];
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Returns plugin model. Checks if model is missing then rejects with error.
|
|
81
|
-
* Then checks if `path` is starting with github, then grabs the repository name.
|
|
82
|
-
* Imports module, then checks if it's a class which implements input model interface.
|
|
83
|
-
*/
|
|
84
|
-
async handModel(model, path) {
|
|
85
|
-
if (path === 'builtin') {
|
|
86
|
-
path = pathLib.normalize(`${__dirname}/../models`);
|
|
87
|
-
}
|
|
88
|
-
else {
|
|
89
|
-
if (path?.startsWith(GITHUB_PATH)) {
|
|
90
|
-
const parts = path.split('/');
|
|
91
|
-
path = parts[parts.length - 1];
|
|
92
|
-
}
|
|
93
|
-
if (!path.includes(NATIVE_MODEL)) {
|
|
94
|
-
console.log(NOT_NATIVE_MODEL);
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
return this.importAndVerifyModule(model, path);
|
|
98
|
-
}
|
|
99
|
-
/**
|
|
100
|
-
* Registers all models from `impl`.`initalize` property.
|
|
101
|
-
*/
|
|
102
|
-
async bulkWriteDown(modelsToInitalize) {
|
|
103
|
-
for (const model of modelsToInitalize) {
|
|
104
|
-
await this.writeDownSingleModel(model);
|
|
105
|
-
}
|
|
106
|
-
return this;
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Initializes and registers model.
|
|
110
|
-
*/
|
|
111
|
-
async writeDownSingleModel(modelToInitalize) {
|
|
112
|
-
const { model, path, config, name } = modelToInitalize;
|
|
113
|
-
if (!model) {
|
|
114
|
-
throw new ModelCredentialError(MISSING_CLASSNAME);
|
|
115
|
-
}
|
|
116
|
-
if (!path) {
|
|
117
|
-
throw new ModelCredentialError(MISSING_PATH);
|
|
118
|
-
}
|
|
119
|
-
const Model = await this.handModel(model, path);
|
|
120
|
-
const callback = async (options) => {
|
|
121
|
-
const params = {
|
|
122
|
-
...config,
|
|
123
|
-
...options,
|
|
124
|
-
};
|
|
125
|
-
const initalizedModel = await new Model().configure(params);
|
|
126
|
-
return initalizedModel;
|
|
127
|
-
};
|
|
128
|
-
this.initalizedModels = {
|
|
129
|
-
...this.initalizedModels,
|
|
130
|
-
[name]: callback,
|
|
131
|
-
};
|
|
132
|
-
return this.initalizedModels;
|
|
133
|
-
}
|
|
134
|
-
/**
|
|
135
|
-
* Returns existing model by `name`.
|
|
136
|
-
*/
|
|
137
|
-
async getInitializedModel(modelName, config) {
|
|
138
|
-
if (this.initalizedModels[modelName]) {
|
|
139
|
-
return this.initalizedModels[modelName](config);
|
|
140
|
-
}
|
|
141
|
-
throw new ModelInitializationError(NOT_INITIALIZED_MODEL(modelName));
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
exports.ModelsUniverse = ModelsUniverse;
|
|
145
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLXVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYi9tb2RlbHMtdW5pdmVyc2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnQ0FBaUM7QUFFakMsMkNBQXNDO0FBRXRDLHNDQUEwQztBQVMxQyxNQUFNLEVBQUMsd0JBQXdCLEVBQUUsb0JBQW9CLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFFaEUsTUFBTSxFQUFDLFdBQVcsRUFBRSxZQUFZLEVBQUMsR0FBRyxlQUFNLENBQUM7QUFDM0MsTUFBTSxFQUNKLGlCQUFpQixFQUNqQiwwQkFBMEIsRUFDMUIsWUFBWSxFQUNaLGdCQUFnQixFQUNoQix1QkFBdUIsRUFDdkIscUJBQXFCLEVBQ3JCLG1CQUFtQixHQUNwQixHQUFHLGdCQUFPLENBQUM7QUFFWjs7R0FFRztBQUNILE1BQWEsY0FBYztJQUEzQjtRQUNFOztXQUVHO1FBQ0kscUJBQWdCLEdBQXFCLEVBQUUsQ0FBQztJQXlIakQsQ0FBQztJQXZIQzs7T0FFRztJQUNLLGVBQWUsQ0FBQyxjQUFtQixFQUFFLE1BQTRCO1FBQ3ZFLElBQUk7WUFDRixNQUFNLFNBQVMsR0FBRyxJQUFJLGNBQWMsRUFBRSxDQUFDO1lBQ3ZDLE1BQU0sUUFBUSxHQUFHLFdBQVcsSUFBSSxTQUFTLElBQUksU0FBUyxJQUFJLFNBQVMsQ0FBQztZQUVwRSxPQUFPLFFBQVEsQ0FBQztTQUNqQjtRQUFDLE9BQU8sS0FBSyxFQUFFO1lBQ2QsTUFBTSxJQUFJLHdCQUF3QixDQUFDLHVCQUF1QixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDckU7SUFDSCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsSUFBWTtRQUN6QyxJQUFJO1lBQ0YsTUFBTSxNQUFNLEdBQUcseUJBQWEsSUFBSSx1Q0FBQyxDQUFDO1lBRWxDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7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QUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxtQkFBbUIsQ0FBQyxTQUFpQixFQUFFLE1BQVc7UUFDN0QsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLEVBQUU7WUFDcEMsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsU0FBUyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDakQ7UUFFRCxNQUFNLElBQUksd0JBQXdCLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQztJQUN2RSxDQUFDO0NBQ0Y7QUE3SEQsd0NBNkhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHBhdGhMaWIgPSByZXF1aXJlKCdwYXRoJyk7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7Q09ORklHLCBTVFJJTkdTfSBmcm9tICcuLi9jb25maWcnO1xuXG5pbXBvcnQge1xuICBDbGFzc0NvbnRhaW5lclBhcmFtcyxcbiAgSW1wbEluaXRpYWxpemVNb2RlbCxcbiAgSW5pdGFsaXplZE1vZGVscyxcbiAgTW9kZWxPcHRpb25zLFxufSBmcm9tICcuLi90eXBlcy9tb2RlbHMtdW5pdmVyc2UnO1xuXG5jb25zdCB7TW9kZWxJbml0aWFsaXphdGlvbkVycm9yLCBNb2RlbENyZWRlbnRpYWxFcnJvcn0gPSBFUlJPUlM7XG5cbmNvbnN0IHtHSVRIVUJfUEFUSCwgTkFUSVZFX01PREVMfSA9IENPTkZJRztcbmNvbnN0IHtcbiAgTUlTU0lOR19DTEFTU05BTUUsXG4gIE5PVF9NT0RFTF9QTFVHSU5fRVhURU5TSU9OLFxuICBNSVNTSU5HX1BBVEgsXG4gIE5PVF9OQVRJVkVfTU9ERUwsXG4gIE5PVF9DT05TVFJVQ1RBQkxFX01PREVMLFxuICBOT1RfSU5JVElBTElaRURfTU9ERUwsXG4gIElOVkFMSURfTU9EVUxFX1BBVEgsXG59ID0gU1RSSU5HUztcblxuLyoqXG4gKiBNb2RlbHMgSW5pdGlhbGl6YXRpb24gTGlmZWN5Y2xlLlxuICovXG5leHBvcnQgY2xhc3MgTW9kZWxzVW5pdmVyc2Uge1xuICAvKipcbiAgICogTW9kZWxzIGxpc3QuXG4gICAqL1xuICBwdWJsaWMgaW5pdGFsaXplZE1vZGVsczogSW5pdGFsaXplZE1vZGVscyA9IHt9O1xuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgbW9kZWwgaXMgaW5zdGFuY2Ugb2YgYElPdXRwdXRNb2RlbEludGVyZmFjZWAuXG4gICAqL1xuICBwcml2YXRlIGluc3RhbmNlT2ZNb2RlbChDbGFzc0NvbnRhaW5lcjogYW55LCBwYXJhbXM6IENsYXNzQ29udGFpbmVyUGFyYW1zKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHRlc3RNb2RlbCA9IG5ldyBDbGFzc0NvbnRhaW5lcigpO1xuICAgICAgY29uc3QgYm9vbGFibGUgPSAnY29uZmlndXJlJyBpbiB0ZXN0TW9kZWwgJiYgJ2V4ZWN1dGUnIGluIHRlc3RNb2RlbDtcblxuICAgICAgcmV0dXJuIGJvb2xhYmxlO1xuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICB0aHJvdyBuZXcgTW9kZWxJbml0aWFsaXphdGlvbkVycm9yKE5PVF9DT05TVFJVQ1RBQkxFX01PREVMKHBhcmFtcykpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnRzIG1vZHVsZSBieSBnaXZlbiBgcGF0aGAuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGltcG9ydE1vZHVsZUZyb20ocGF0aDogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IG1vZHVsZSA9IGF3YWl0IGltcG9ydChwYXRoKTtcblxuICAgICAgcmV0dXJuIG1vZHVsZTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5sb2coZXJyb3IpO1xuICAgICAgdGhyb3cgbmV3IE1vZGVsSW5pdGlhbGl6YXRpb25FcnJvcihJTlZBTElEX01PRFVMRV9QQVRIKHBhdGgpKTtcbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0cyBgbW9kdWxlYCBmcm9tIGdpdmVuIGBwYXRoYCwgdGhlbiBjaGVja3MgaWYgaXQncyBgTW9kZWxQbHVnaW5JbnRlcmZhY2VgIGV4dGVuc2lvbi5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgaW1wb3J0QW5kVmVyaWZ5TW9kdWxlKG1vZGVsOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IHBsdWdpbk1vZHVsZSA9IGF3YWl0IHRoaXMuaW1wb3J0TW9kdWxlRnJvbShwYXRoKTtcblxuICAgIGlmICghdGhpcy5pbnN0YW5jZU9mTW9kZWwocGx1Z2luTW9kdWxlW21vZGVsXSwge21vZGVsLCBwYXRofSkpIHtcbiAgICAgIHRocm93IG5ldyBNb2RlbEluaXRpYWxpemF0aW9uRXJyb3IoTk9UX01PREVMX1BMVUdJTl9FWFRFTlNJT04pO1xuICAgIH1cblxuICAgIHJldHVybiBwbHVnaW5Nb2R1bGVbbW9kZWxdO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgcGx1Z2luIG1vZGVsLiBDaGVja3MgaWYgbW9kZWwgaXMgbWlzc2luZyB0aGVuIHJlamVjdHMgd2l0aCBlcnJvci5cbiAgICogVGhlbiBjaGVja3MgaWYgYHBhdGhgIGlzIHN0YXJ0aW5nIHdpdGggZ2l0aHViLCB0aGVuIGdyYWJzIHRoZSByZXBvc2l0b3J5IG5hbWUuXG4gICAqIEltcG9ydHMgbW9kdWxlLCB0aGVuIGNoZWNrcyBpZiBpdCdzIGEgY2xhc3Mgd2hpY2ggaW1wbGVtZW50cyBpbnB1dCBtb2RlbCBpbnRlcmZhY2UuXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGhhbmRNb2RlbChtb2RlbDogc3RyaW5nLCBwYXRoOiBzdHJpbmcpIHtcbiAgICBpZiAocGF0aCA9PT0gJ2J1aWx0aW4nKSB7XG4gICAgICBwYXRoID0gcGF0aExpYi5ub3JtYWxpemUoYCR7X19kaXJuYW1lfS8uLi9tb2RlbHNgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHBhdGg/LnN0YXJ0c1dpdGgoR0lUSFVCX1BBVEgpKSB7XG4gICAgICAgIGNvbnN0IHBhcnRzID0gcGF0aC5zcGxpdCgnLycpO1xuICAgICAgICBwYXRoID0gcGFydHNbcGFydHMubGVuZ3RoIC0gMV07XG4gICAgICB9XG5cbiAgICAgIGlmICghcGF0aC5pbmNsdWRlcyhOQVRJVkVfTU9ERUwpKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKE5PVF9OQVRJVkVfTU9ERUwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiB0aGlzLmltcG9ydEFuZFZlcmlmeU1vZHVsZShtb2RlbCwgcGF0aCk7XG4gIH1cblxuICAvKipcbiAgICogUmVnaXN0ZXJzIGFsbCBtb2RlbHMgZnJvbSBgaW1wbGAuYGluaXRhbGl6ZWAgcHJvcGVydHkuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgYnVsa1dyaXRlRG93bihtb2RlbHNUb0luaXRhbGl6ZTogSW1wbEluaXRpYWxpemVNb2RlbFtdKSB7XG4gICAgZm9yIChjb25zdCBtb2RlbCBvZiBtb2RlbHNUb0luaXRhbGl6ZSkge1xuICAgICAgYXdhaXQgdGhpcy53cml0ZURvd25TaW5nbGVNb2RlbChtb2RlbCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgYW5kIHJlZ2lzdGVycyBtb2RlbC5cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgd3JpdGVEb3duU2luZ2xlTW9kZWwobW9kZWxUb0luaXRhbGl6ZTogSW1wbEluaXRpYWxpemVNb2RlbCkge1xuICAgIGNvbnN0IHttb2RlbCwgcGF0aCwgY29uZmlnLCBuYW1lfSA9IG1vZGVsVG9Jbml0YWxpemU7XG5cbiAgICBpZiAoIW1vZGVsKSB7XG4gICAgICB0aHJvdyBuZXcgTW9kZWxDcmVkZW50aWFsRXJyb3IoTUlTU0lOR19DTEFTU05BTUUpO1xuICAgIH1cblxuICAgIGlmICghcGF0aCkge1xuICAgICAgdGhyb3cgbmV3IE1vZGVsQ3JlZGVudGlhbEVycm9yKE1JU1NJTkdfUEFUSCk7XG4gICAgfVxuXG4gICAgY29uc3QgTW9kZWwgPSBhd2FpdCB0aGlzLmhhbmRNb2RlbChtb2RlbCwgcGF0aCk7XG5cbiAgICBjb25zdCBjYWxsYmFjayA9IGFzeW5jIChvcHRpb25zOiBNb2RlbE9wdGlvbnMpID0+IHtcbiAgICAgIGNvbnN0IHBhcmFtcyA9IHtcbiAgICAgICAgLi4uY29uZmlnLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfTtcblxuICAgICAgY29uc3QgaW5pdGFsaXplZE1vZGVsID0gYXdhaXQgbmV3IE1vZGVsKCkuY29uZmlndXJlKHBhcmFtcyk7XG5cbiAgICAgIHJldHVybiBpbml0YWxpemVkTW9kZWw7XG4gICAgfTtcblxuICAgIHRoaXMuaW5pdGFsaXplZE1vZGVscyA9IHtcbiAgICAgIC4uLnRoaXMuaW5pdGFsaXplZE1vZGVscyxcbiAgICAgIFtuYW1lXTogY2FsbGJhY2ssXG4gICAgfTtcblxuICAgIHJldHVybiB0aGlzLmluaXRhbGl6ZWRNb2RlbHM7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBleGlzdGluZyBtb2RlbCBieSBgbmFtZWAuXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZ2V0SW5pdGlhbGl6ZWRNb2RlbChtb2RlbE5hbWU6IHN0cmluZywgY29uZmlnOiBhbnkpIHtcbiAgICBpZiAodGhpcy5pbml0YWxpemVkTW9kZWxzW21vZGVsTmFtZV0pIHtcbiAgICAgIHJldHVybiB0aGlzLmluaXRhbGl6ZWRNb2RlbHNbbW9kZWxOYW1lXShjb25maWcpO1xuICAgIH1cblxuICAgIHRocm93IG5ldyBNb2RlbEluaXRpYWxpemF0aW9uRXJyb3IoTk9UX0lOSVRJQUxJWkVEX01PREVMKG1vZGVsTmFtZSkpO1xuICB9XG59XG4iXX0=
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ModelParams, ModelPluginInterface } from '../types/model-interface';
|
|
2
|
-
/**
|
|
3
|
-
* Observatory is responsible for output calculations based on the `inputs` and the `model`.
|
|
4
|
-
*/
|
|
5
|
-
export declare class Observatory {
|
|
6
|
-
private inputs;
|
|
7
|
-
private outputs;
|
|
8
|
-
/**
|
|
9
|
-
* Init inputs object.
|
|
10
|
-
*/
|
|
11
|
-
constructor(inputs: ModelParams[]);
|
|
12
|
-
/**
|
|
13
|
-
* Does investigations by given `output` information
|
|
14
|
-
*/
|
|
15
|
-
doInvestigationsWith(modelInstance: ModelPluginInterface): Promise<this>;
|
|
16
|
-
/**
|
|
17
|
-
* Getter for output data.
|
|
18
|
-
*/
|
|
19
|
-
getOutputs(): ModelParams[];
|
|
20
|
-
}
|
package/build/lib/observatory.js
DELETED
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Observatory = void 0;
|
|
4
|
-
/**
|
|
5
|
-
* Observatory is responsible for output calculations based on the `inputs` and the `model`.
|
|
6
|
-
*/
|
|
7
|
-
class Observatory {
|
|
8
|
-
/**
|
|
9
|
-
* Init inputs object.
|
|
10
|
-
*/
|
|
11
|
-
constructor(inputs) {
|
|
12
|
-
this.outputs = [];
|
|
13
|
-
this.inputs = inputs;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Does investigations by given `output` information
|
|
17
|
-
*/
|
|
18
|
-
async doInvestigationsWith(modelInstance) {
|
|
19
|
-
const reuseCalculation = this.outputs.length ? this.outputs : this.inputs;
|
|
20
|
-
this.outputs = await modelInstance.execute(reuseCalculation);
|
|
21
|
-
return this;
|
|
22
|
-
}
|
|
23
|
-
/**
|
|
24
|
-
* Getter for output data.
|
|
25
|
-
*/
|
|
26
|
-
getOutputs() {
|
|
27
|
-
return this.outputs;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
exports.Observatory = Observatory;
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib2JzZXJ2YXRvcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvbGliL29ic2VydmF0b3J5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVBOztHQUVHO0FBQ0gsTUFBYSxXQUFXO0lBSXRCOztPQUVHO0lBQ0gsWUFBWSxNQUFxQjtRQUx6QixZQUFPLEdBQWtCLEVBQUUsQ0FBQztRQU1sQyxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxLQUFLLENBQUMsb0JBQW9CLENBQUMsYUFBbUM7UUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUUxRSxJQUFJLENBQUMsT0FBTyxHQUFHLE1BQU0sYUFBYSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBRTdELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN0QixDQUFDO0NBQ0Y7QUE1QkQsa0NBNEJDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBhcmFtcywgTW9kZWxQbHVnaW5JbnRlcmZhY2V9IGZyb20gJy4uL3R5cGVzL21vZGVsLWludGVyZmFjZSc7XG5cbi8qKlxuICogT2JzZXJ2YXRvcnkgaXMgcmVzcG9uc2libGUgZm9yIG91dHB1dCBjYWxjdWxhdGlvbnMgYmFzZWQgb24gdGhlIGBpbnB1dHNgIGFuZCB0aGUgYG1vZGVsYC5cbiAqL1xuZXhwb3J0IGNsYXNzIE9ic2VydmF0b3J5IHtcbiAgcHJpdmF0ZSBpbnB1dHM6IE1vZGVsUGFyYW1zW107XG4gIHByaXZhdGUgb3V0cHV0czogTW9kZWxQYXJhbXNbXSA9IFtdO1xuXG4gIC8qKlxuICAgKiBJbml0IGlucHV0cyBvYmplY3QuXG4gICAqL1xuICBjb25zdHJ1Y3RvcihpbnB1dHM6IE1vZGVsUGFyYW1zW10pIHtcbiAgICB0aGlzLmlucHV0cyA9IGlucHV0cztcbiAgfVxuXG4gIC8qKlxuICAgKiBEb2VzIGludmVzdGlnYXRpb25zIGJ5IGdpdmVuIGBvdXRwdXRgIGluZm9ybWF0aW9uXG4gICAqL1xuICBwdWJsaWMgYXN5bmMgZG9JbnZlc3RpZ2F0aW9uc1dpdGgobW9kZWxJbnN0YW5jZTogTW9kZWxQbHVnaW5JbnRlcmZhY2UpIHtcbiAgICBjb25zdCByZXVzZUNhbGN1bGF0aW9uID0gdGhpcy5vdXRwdXRzLmxlbmd0aCA/IHRoaXMub3V0cHV0cyA6IHRoaXMuaW5wdXRzO1xuXG4gICAgdGhpcy5vdXRwdXRzID0gYXdhaXQgbW9kZWxJbnN0YW5jZS5leGVjdXRlKHJldXNlQ2FsY3VsYXRpb24pO1xuXG4gICAgcmV0dXJuIHRoaXM7XG4gIH1cblxuICAvKipcbiAgICogR2V0dGVyIGZvciBvdXRwdXQgZGF0YS5cbiAgICovXG4gIHB1YmxpYyBnZXRPdXRwdXRzKCkge1xuICAgIHJldHVybiB0aGlzLm91dHB1dHM7XG4gIH1cbn1cbiJdfQ==
|
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import { ModelsUniverse } from './models-universe';
|
|
2
|
-
import { ChildStructure, Impl } from '../types/impl';
|
|
3
|
-
import { Parameters } from '../types/parameters';
|
|
4
|
-
/**
|
|
5
|
-
* Computer for `impl` documents.
|
|
6
|
-
*/
|
|
7
|
-
export declare class Supercomputer {
|
|
8
|
-
private parent;
|
|
9
|
-
private impl;
|
|
10
|
-
private aggregatedValues;
|
|
11
|
-
private modelsHandbook;
|
|
12
|
-
private childAmount;
|
|
13
|
-
private parameters;
|
|
14
|
-
constructor(impl: Impl, modelsHandbook: ModelsUniverse, parameters: Parameters);
|
|
15
|
-
/**
|
|
16
|
-
* Checks if params are provided in manifest file.
|
|
17
|
-
*/
|
|
18
|
-
overrideOrAppendParams(parameters: Parameters): void;
|
|
19
|
-
/**
|
|
20
|
-
* Flattens config entries.
|
|
21
|
-
*/
|
|
22
|
-
private flattenConfigValues;
|
|
23
|
-
/**
|
|
24
|
-
* Adds config entries to each obsercation object passed.
|
|
25
|
-
*/
|
|
26
|
-
private enrichInputs;
|
|
27
|
-
/**
|
|
28
|
-
* If `children` object contains `children` property, it means inputs are nested (calls compute recursively).
|
|
29
|
-
* Otherwise enriches inputs, passes them to Observatory.
|
|
30
|
-
* For each model from pipeline Observatory gathers inputs. Then results are stored.
|
|
31
|
-
*/
|
|
32
|
-
private calculateOutputsFor;
|
|
33
|
-
/**
|
|
34
|
-
* Checks if children argument is present.
|
|
35
|
-
* If it's not, then iteration is on parent level so stores the parent.
|
|
36
|
-
* Otherwise iterates over child components.
|
|
37
|
-
*/
|
|
38
|
-
compute(children?: ChildStructure): Promise<Impl>;
|
|
39
|
-
}
|
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Supercomputer = void 0;
|
|
4
|
-
const observatory_1 = require("./observatory");
|
|
5
|
-
const aggregator_1 = require("./aggregator");
|
|
6
|
-
const errors_1 = require("../util/errors");
|
|
7
|
-
const config_1 = require("../config");
|
|
8
|
-
const impl_1 = require("../types/impl");
|
|
9
|
-
const { ImplValidationError } = errors_1.ERRORS;
|
|
10
|
-
const { STRUCTURE_MALFORMED } = config_1.STRINGS;
|
|
11
|
-
/**
|
|
12
|
-
* Computer for `impl` documents.
|
|
13
|
-
*/
|
|
14
|
-
class Supercomputer {
|
|
15
|
-
constructor(impl, modelsHandbook, parameters) {
|
|
16
|
-
this.aggregatedValues = [];
|
|
17
|
-
this.childAmount = 0;
|
|
18
|
-
this.impl = impl;
|
|
19
|
-
this.modelsHandbook = modelsHandbook;
|
|
20
|
-
this.parameters = parameters;
|
|
21
|
-
}
|
|
22
|
-
/**
|
|
23
|
-
* Checks if params are provided in manifest file.
|
|
24
|
-
*/
|
|
25
|
-
overrideOrAppendParams(parameters) {
|
|
26
|
-
if (this.impl.params) {
|
|
27
|
-
const implParams = this.impl.params;
|
|
28
|
-
implParams.forEach(param => {
|
|
29
|
-
if (`${param.name}` in parameters) {
|
|
30
|
-
console.warn(`Rejecting overriding of canonical parameter: ${param.name}.`);
|
|
31
|
-
return;
|
|
32
|
-
}
|
|
33
|
-
const { description, unit, aggregation, name } = param;
|
|
34
|
-
this.parameters[name] = {
|
|
35
|
-
description,
|
|
36
|
-
unit,
|
|
37
|
-
aggregation,
|
|
38
|
-
};
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
/**
|
|
43
|
-
* Flattens config entries.
|
|
44
|
-
*/
|
|
45
|
-
flattenConfigValues(config) {
|
|
46
|
-
const configValues = Object.values(config);
|
|
47
|
-
return configValues.reduce((acc, value) => ({ ...acc, ...value }), {});
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Adds config entries to each obsercation object passed.
|
|
51
|
-
*/
|
|
52
|
-
enrichInputs(inputs, config) {
|
|
53
|
-
const configValues = this.flattenConfigValues(config);
|
|
54
|
-
return inputs.map((input) => ({
|
|
55
|
-
...input,
|
|
56
|
-
...configValues,
|
|
57
|
-
}));
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* If `children` object contains `children` property, it means inputs are nested (calls compute recursively).
|
|
61
|
-
* Otherwise enriches inputs, passes them to Observatory.
|
|
62
|
-
* For each model from pipeline Observatory gathers inputs. Then results are stored.
|
|
63
|
-
*/
|
|
64
|
-
async calculateOutputsFor(childen, name) {
|
|
65
|
-
const pointedChild = childen[name];
|
|
66
|
-
if ((0, impl_1.hasChildren)(pointedChild)) {
|
|
67
|
-
return this.compute(pointedChild.children);
|
|
68
|
-
}
|
|
69
|
-
if (!((0, impl_1.hasChildren)(pointedChild) || (0, impl_1.hasInputs)(pointedChild))) {
|
|
70
|
-
throw new ImplValidationError(STRUCTURE_MALFORMED(name));
|
|
71
|
-
}
|
|
72
|
-
this.childAmount++;
|
|
73
|
-
const { pipeline } = this.parent;
|
|
74
|
-
const { inputs, config } = pointedChild;
|
|
75
|
-
const enrichedInputs = this.enrichInputs(inputs, {
|
|
76
|
-
...this.parent.config,
|
|
77
|
-
...config,
|
|
78
|
-
});
|
|
79
|
-
const observatory = new observatory_1.Observatory(enrichedInputs);
|
|
80
|
-
for (const modelName of pipeline) {
|
|
81
|
-
const params = config && config[modelName];
|
|
82
|
-
const modelInstance = await this.modelsHandbook.getInitializedModel(modelName, params);
|
|
83
|
-
await observatory.doInvestigationsWith(modelInstance);
|
|
84
|
-
}
|
|
85
|
-
const outputs = observatory.getOutputs();
|
|
86
|
-
pointedChild.outputs = outputs;
|
|
87
|
-
/** If aggregation is enabled, do horizontal aggregation. */
|
|
88
|
-
if (this.impl.aggregation) {
|
|
89
|
-
const { type, metrics } = this.impl.aggregation;
|
|
90
|
-
if (type === 'horizontal' || type === 'both') {
|
|
91
|
-
const aggregation = await (0, aggregator_1.aggregate)(outputs, metrics, this.parameters);
|
|
92
|
-
pointedChild['aggregated-outputs'] = aggregation;
|
|
93
|
-
this.aggregatedValues.push(aggregation);
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
return;
|
|
97
|
-
}
|
|
98
|
-
/**
|
|
99
|
-
* Checks if children argument is present.
|
|
100
|
-
* If it's not, then iteration is on parent level so stores the parent.
|
|
101
|
-
* Otherwise iterates over child components.
|
|
102
|
-
*/
|
|
103
|
-
async compute(children) {
|
|
104
|
-
const pointedChildren = children || this.impl.graph.children;
|
|
105
|
-
const childrensNames = Object.keys(pointedChildren);
|
|
106
|
-
for (const name of childrensNames) {
|
|
107
|
-
if (!children && (0, impl_1.isNodeParent)(pointedChildren, children)) {
|
|
108
|
-
this.parent = pointedChildren[name];
|
|
109
|
-
}
|
|
110
|
-
await this.calculateOutputsFor(pointedChildren, name);
|
|
111
|
-
}
|
|
112
|
-
return this.impl;
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
exports.Supercomputer = Supercomputer;
|
|
116
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9saWIvc3VwZXJjb21wdXRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSwrQ0FBMEM7QUFDMUMsNkNBQXVDO0FBRXZDLDJDQUFzQztBQUV0QyxzQ0FBa0M7QUFFbEMsd0NBU3VCO0FBSXZCLE1BQU0sRUFBQyxtQkFBbUIsRUFBQyxHQUFHLGVBQU0sQ0FBQztBQUVyQyxNQUFNLEVBQUMsbUJBQW1CLEVBQUMsR0FBRyxnQkFBTyxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBYSxhQUFhO0lBUXhCLFlBQ0UsSUFBVSxFQUNWLGNBQThCLEVBQzlCLFVBQXNCO1FBUmhCLHFCQUFnQixHQUFrQixFQUFFLENBQUM7UUFFckMsZ0JBQVcsR0FBRyxDQUFDLENBQUM7UUFRdEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7UUFDakIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7UUFDckMsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUM7SUFDL0IsQ0FBQztJQUVEOztPQUVHO0lBQ0ksc0JBQXNCLENBQUMsVUFBc0I7UUFDbEQsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNwQixNQUFNLFVBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztZQUVwQyxVQUFVLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO2dCQUN6QixJQUFJLEdBQUcsS0FBSyxDQUFDLElBQUksRUFBRSxJQUFJLFVBQVUsRUFBRTtvQkFDakMsT0FBTyxDQUFDLElBQUksQ0FDVixnREFBZ0QsS0FBSyxDQUFDLElBQUksR0FBRyxDQUM5RCxDQUFDO29CQUVGLE9BQU87aUJBQ1I7Z0JBRUQsTUFBTSxFQUFDLFdBQVcsRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxHQUFHLEtBQUssQ0FBQztnQkFFckQsSUFB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O2dCQUN2RSxZQUFZLENBQUMsb0JBQW9CLENBQUMsR0FBRyxXQUFXLENBQUM7Z0JBRWpELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUM7YUFDekM7U0FDRjtRQUVELE9BQU87SUFDVCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBeUI7UUFDNUMsTUFBTSxlQUFlLEdBQUcsUUFBUSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQztRQUM3RCxNQUFNLGNBQWMsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDO1FBRXBELEtBQUssTUFBTSxJQUFJLElBQUksY0FBYyxFQUFFO1lBQ2pDLElBQUksQ0FBQyxRQUFRLElBQUksSUFBQSxtQkFBWSxFQUFDLGVBQWUsRUFBRSxRQUFRLENBQUMsRUFBRTtnQkFDeEQsSUFBSSxDQUFDLE1BQU0sR0FBRyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDckM7WUFFRCxNQUFNLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxlQUFlLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdkQ7UUFFRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDbkIsQ0FBQztDQUNGO0FBOUlELHNDQThJQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TW9kZWxzVW5pdmVyc2V9IGZyb20gJy4vbW9kZWxzLXVuaXZlcnNlJztcbmltcG9ydCB7T2JzZXJ2YXRvcnl9IGZyb20gJy4vb2JzZXJ2YXRvcnknO1xuaW1wb3J0IHthZ2dyZWdhdGV9IGZyb20gJy4vYWdncmVnYXRvcic7XG5cbmltcG9ydCB7RVJST1JTfSBmcm9tICcuLi91dGlsL2Vycm9ycyc7XG5cbmltcG9ydCB7U1RSSU5HU30gZnJvbSAnLi4vY29uZmlnJztcblxuaW1wb3J0IHtcbiAgQ29uZmlnLFxuICBDaGlsZFN0cnVjdHVyZSxcbiAgUGFyZW50Tm9kZSxcbiAgUGFyZW50U3RydWN0dXJlLFxuICBJbXBsLFxuICBpc05vZGVQYXJlbnQsXG4gIGhhc0NoaWxkcmVuLFxuICBoYXNJbnB1dHMsXG59IGZyb20gJy4uL3R5cGVzL2ltcGwnO1xuaW1wb3J0IHtNb2RlbFBhcmFtc30gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcbmltcG9ydCB7UGFyYW1ldGVyc30gZnJvbSAnLi4vdHlwZXMvcGFyYW1ldGVycyc7XG5cbmNvbnN0IHtJbXBsVmFsaWRhdGlvbkVycm9yfSA9IEVSUk9SUztcblxuY29uc3Qge1NUUlVDVFVSRV9NQUxGT1JNRUR9ID0gU1RSSU5HUztcblxuLyoqXG4gKiBDb21wdXRlciBmb3IgYGltcGxgIGRvY3VtZW50cy5cbiAqL1xuZXhwb3J0IGNsYXNzIFN1cGVyY29tcHV0ZXIge1xuICBwcml2YXRlIHBhcmVudCE6IFBhcmVudE5vZGU7XG4gIHByaXZhdGUgaW1wbDogSW1wbDtcbiAgcHJpdmF0ZSBhZ2dyZWdhdGVkVmFsdWVzOiBNb2RlbFBhcmFtc1tdID0gW107XG4gIHByaXZhdGUgbW9kZWxzSGFuZGJvb2s6IE1vZGVsc1VuaXZlcnNlO1xuICBwcml2YXRlIGNoaWxkQW1vdW50ID0gMDtcbiAgcHJpdmF0ZSBwYXJhbWV0ZXJzOiBQYXJhbWV0ZXJzO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGltcGw6IEltcGwsXG4gICAgbW9kZWxzSGFuZGJvb2s6IE1vZGVsc1VuaXZlcnNlLFxuICAgIHBhcmFtZXRlcnM6IFBhcmFtZXRlcnNcbiAgKSB7XG4gICAgdGhpcy5pbXBsID0gaW1wbDtcbiAgICB0aGlzLm1vZGVsc0hhbmRib29rID0gbW9kZWxzSGFuZGJvb2s7XG4gICAgdGhpcy5wYXJhbWV0ZXJzID0gcGFyYW1ldGVycztcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgcGFyYW1zIGFyZSBwcm92aWRlZCBpbiBtYW5pZmVzdCBmaWxlLlxuICAgKi9cbiAgcHVibGljIG92ZXJyaWRlT3JBcHBlbmRQYXJhbXMocGFyYW1ldGVyczogUGFyYW1ldGVycykge1xuICAgIGlmICh0aGlzLmltcGwucGFyYW1zKSB7XG4gICAgICBjb25zdCBpbXBsUGFyYW1zID0gdGhpcy5pbXBsLnBhcmFtcztcblxuICAgICAgaW1wbFBhcmFtcy5mb3JFYWNoKHBhcmFtID0+IHtcbiAgICAgICAgaWYgKGAke3BhcmFtLm5hbWV9YCBpbiBwYXJhbWV0ZXJzKSB7XG4gICAgICAgICAgY29uc29sZS53YXJuKFxuICAgICAgICAgICAgYFJlamVjdGluZyBvdmVycmlkaW5nIG9mIGNhbm9uaWNhbCBwYXJhbWV0ZXI6ICR7cGFyYW0ubmFtZX0uYFxuICAgICAgICAgICk7XG5cbiAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCB7ZGVzY3JpcHRpb24sIHVuaXQsIGFnZ3JlZ2F0aW9uLCBuYW1lfSA9IHBhcmFtO1xuXG4gICAgICAgIHRoaXMucGFyYW1ldGVyc1tuYW1lXSA9IHtcbiAgICAgICAgICBkZXNjcmlwdGlvbixcbiAgICAgICAgICB1bml0LFxuICAgICAgICAgIGFnZ3JlZ2F0aW9uLFxuICAgICAgICB9O1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEZsYXR0ZW5zIGNvbmZpZyBlbnRyaWVzLlxuICAgKi9cbiAgcHJpdmF0ZSBmbGF0dGVuQ29uZmlnVmFsdWVzKGNvbmZpZzogQ29uZmlnKTogTW9kZWxQYXJhbXMge1xuICAgIGNvbnN0IGNvbmZpZ1ZhbHVlcyA9IE9iamVjdC52YWx1ZXMoY29uZmlnKTtcbiAgICByZXR1cm4gY29uZmlnVmFsdWVzLnJlZHVjZSgoYWNjLCB2YWx1ZSkgPT4gKHsuLi5hY2MsIC4uLnZhbHVlfSksIHt9KTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGNvbmZpZyBlbnRyaWVzIHRvIGVhY2ggb2JzZXJjYXRpb24gb2JqZWN0IHBhc3NlZC5cbiAgICovXG4gIHByaXZhdGUgZW5yaWNoSW5wdXRzKGlucHV0czogTW9kZWxQYXJhbXNbXSwgY29uZmlnOiBDb25maWcpIHtcbiAgICBjb25zdCBjb25maWdWYWx1ZXMgPSB0aGlzLmZsYXR0ZW5Db25maWdWYWx1ZXMoY29uZmlnKTtcblxuICAgIHJldHVybiBpbnB1dHMubWFwKChpbnB1dDogYW55KSA9PiAoe1xuICAgICAgLi4uaW5wdXQsXG4gICAgICAuLi5jb25maWdWYWx1ZXMsXG4gICAgfSkpO1xuICB9XG5cbiAgLyoqXG4gICAqIElmIGBjaGlsZHJlbmAgb2JqZWN0IGNvbnRhaW5zIGBjaGlsZHJlbmAgcHJvcGVydHksIGl0IG1lYW5zIGlucHV0cyBhcmUgbmVzdGVkIChjYWxscyBjb21wdXRlIHJlY3Vyc2l2ZWx5KS5cbiAgICogT3RoZXJ3aXNlIGVucmljaGVzIGlucHV0cywgcGFzc2VzIHRoZW0gdG8gT2JzZXJ2YXRvcnkuXG4gICAqIEZvciBlYWNoIG1vZGVsIGZyb20gcGlwZWxpbmUgT2JzZXJ2YXRvcnkgZ2F0aGVycyBpbnB1dHMuIFRoZW4gcmVzdWx0cyBhcmUgc3RvcmVkLlxuICAgKi9cbiAgcHJpdmF0ZSBhc3luYyBjYWxjdWxhdGVPdXRwdXRzRm9yKFxuICAgIGNoaWxkZW46IENoaWxkU3RydWN0dXJlIHwgUGFyZW50U3RydWN0dXJlLFxuICAgIG5hbWU6IHN0cmluZ1xuICApIHtcbiAgICBjb25zdCBwb2ludGVkQ2hpbGQgPSBjaGlsZGVuW25hbWVdO1xuXG4gICAgaWYgKGhhc0NoaWxkcmVuKHBvaW50ZWRDaGlsZCkpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbXB1dGUocG9pbnRlZENoaWxkLmNoaWxkcmVuKTtcbiAgICB9XG5cbiAgICBpZiAoIShoYXNDaGlsZHJlbihwb2ludGVkQ2hpbGQpIHx8IGhhc0lucHV0cyhwb2ludGVkQ2hpbGQpKSkge1xuICAgICAgdGhyb3cgbmV3IEltcGxWYWxpZGF0aW9uRXJyb3IoU1RSVUNUVVJFX01BTEZPUk1FRChuYW1lKSk7XG4gICAgfVxuXG4gICAgdGhpcy5jaGlsZEFtb3VudCsrO1xuXG4gICAgY29uc3Qge3BpcGVsaW5lfSA9IHRoaXMucGFyZW50O1xuICAgIGNvbnN0IHtpbnB1dHMsIGNvbmZpZ30gPSBwb2ludGVkQ2hpbGQ7XG5cbiAgICBjb25zdCBlbnJpY2hlZElucHV0cyA9IHRoaXMuZW5yaWNoSW5wdXRzKGlucHV0cywge1xuICAgICAgLi4udGhpcy5wYXJlbnQuY29uZmlnLFxuICAgICAgLi4uY29uZmlnLFxuICAgIH0pO1xuICAgIGNvbnN0IG9ic2VydmF0b3J5ID0gbmV3IE9ic2VydmF0b3J5KGVucmljaGVkSW5wdXRzKTtcblxuICAgIGZvciAoY29uc3QgbW9kZWxOYW1lIG9mIHBpcGVsaW5lKSB7XG4gICAgICBjb25zdCBwYXJhbXMgPSBjb25maWcgJiYgY29uZmlnW21vZGVsTmFtZV07XG4gICAgICBjb25zdCBtb2RlbEluc3RhbmNlID0gYXdhaXQgdGhpcy5tb2RlbHNIYW5kYm9vay5nZXRJbml0aWFsaXplZE1vZGVsKFxuICAgICAgICBtb2RlbE5hbWUsXG4gICAgICAgIHBhcmFtc1xuICAgICAgKTtcblxuICAgICAgYXdhaXQgb2JzZXJ2YXRvcnkuZG9JbnZlc3RpZ2F0aW9uc1dpdGgobW9kZWxJbnN0YW5jZSk7XG4gICAgfVxuXG4gICAgY29uc3Qgb3V0cHV0cyA9IG9ic2VydmF0b3J5LmdldE91dHB1dHMoKTtcbiAgICBwb2ludGVkQ2hpbGQub3V0cHV0cyA9IG91dHB1dHM7XG5cbiAgICAvKiogSWYgYWdncmVnYXRpb24gaXMgZW5hYmxlZCwgZG8gaG9yaXpvbnRhbCBhZ2dyZWdhdGlvbi4gKi9cbiAgICBpZiAodGhpcy5pbXBsLmFnZ3JlZ2F0aW9uKSB7XG4gICAgICBjb25zdCB7dHlwZSwgbWV0cmljc30gPSB0aGlzLmltcGwuYWdncmVnYXRpb247XG5cbiAgICAgIGlmICh0eXBlID09PSAnaG9yaXpvbnRhbCcgfHwgdHlwZSA9PT0gJ2JvdGgnKSB7XG4gICAgICAgIGNvbnN0IGFnZ3JlZ2F0aW9uID0gYXdhaXQgYWdncmVnYXRlKG91dHB1dHMsIG1ldHJpY3MsIHRoaXMucGFyYW1ldGVycyk7XG4gICAgICAgIHBvaW50ZWRDaGlsZFsnYWdncmVnYXRlZC1vdXRwdXRzJ10gPSBhZ2dyZWdhdGlvbjtcblxuICAgICAgICB0aGlzLmFnZ3JlZ2F0ZWRWYWx1ZXMucHVzaChhZ2dyZWdhdGlvbik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBjaGlsZHJlbiBhcmd1bWVudCBpcyBwcmVzZW50LlxuICAgKiBJZiBpdCdzIG5vdCwgdGhlbiBpdGVyYXRpb24gaXMgb24gcGFyZW50IGxldmVsIHNvIHN0b3JlcyB0aGUgcGFyZW50LlxuICAgKiBPdGhlcndpc2UgaXRlcmF0ZXMgb3ZlciBjaGlsZCBjb21wb25lbnRzLlxuICAgKi9cbiAgcHVibGljIGFzeW5jIGNvbXB1dGUoY2hpbGRyZW4/OiBDaGlsZFN0cnVjdHVyZSkge1xuICAgIGNvbnN0IHBvaW50ZWRDaGlsZHJlbiA9IGNoaWxkcmVuIHx8IHRoaXMuaW1wbC5ncmFwaC5jaGlsZHJlbjtcbiAgICBjb25zdCBjaGlsZHJlbnNOYW1lcyA9IE9iamVjdC5rZXlzKHBvaW50ZWRDaGlsZHJlbik7XG5cbiAgICBmb3IgKGNvbnN0IG5hbWUgb2YgY2hpbGRyZW5zTmFtZXMpIHtcbiAgICAgIGlmICghY2hpbGRyZW4gJiYgaXNOb2RlUGFyZW50KHBvaW50ZWRDaGlsZHJlbiwgY2hpbGRyZW4pKSB7XG4gICAgICAgIHRoaXMucGFyZW50ID0gcG9pbnRlZENoaWxkcmVuW25hbWVdO1xuICAgICAgfVxuXG4gICAgICBhd2FpdCB0aGlzLmNhbGN1bGF0ZU91dHB1dHNGb3IocG9pbnRlZENoaWxkcmVuLCBuYW1lKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5pbXBsO1xuICB9XG59XG4iXX0=
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.AGGREGATION_METHODS = void 0;
|
|
4
|
-
exports.AGGREGATION_METHODS = ['horizontal', 'vertical', 'both'];
|
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdncmVnYXRvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9hZ2dyZWdhdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUVhLFFBQUEsbUJBQW1CLEdBQUcsQ0FBQyxZQUFZLEVBQUUsVUFBVSxFQUFFLE1BQU0sQ0FBVSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgQWdncmVnYXRpb25SZXN1bHQgPSBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xuXG5leHBvcnQgY29uc3QgQUdHUkVHQVRJT05fTUVUSE9EUyA9IFsnaG9yaXpvbnRhbCcsICd2ZXJ0aWNhbCcsICdib3RoJ10gYXMgY29uc3Q7XG5cbmV4cG9ydCB0eXBlIEFnZ3JlZ2F0aW9uTWV0aG9kc05hbWVzID0gKHR5cGVvZiBBR0dSRUdBVElPTl9NRVRIT0RTKVtudW1iZXJdO1xuIl19
|
package/build/types/impl.d.ts
DELETED
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
import { ModelParams } from './model-interface';
|
|
2
|
-
import { AggregationMethodsNames, AggregationResult } from './aggregator';
|
|
3
|
-
import { ManifestParameter } from './parameters';
|
|
4
|
-
type Tag = {
|
|
5
|
-
kind?: string;
|
|
6
|
-
complexity?: string;
|
|
7
|
-
category?: string;
|
|
8
|
-
};
|
|
9
|
-
type Model = {
|
|
10
|
-
name: string;
|
|
11
|
-
verbose?: boolean;
|
|
12
|
-
path: string;
|
|
13
|
-
config?: Config;
|
|
14
|
-
model: string;
|
|
15
|
-
};
|
|
16
|
-
export type Config = Record<string, any>;
|
|
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;
|
|
40
|
-
};
|
|
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;
|
|
74
|
-
export type Impl = {
|
|
75
|
-
name: string;
|
|
76
|
-
'if-version'?: string | null | undefined;
|
|
77
|
-
description: string | null | undefined;
|
|
78
|
-
tags: Tag | null | undefined;
|
|
79
|
-
params?: ManifestParameter[] | undefined | null;
|
|
80
|
-
initialize: {
|
|
81
|
-
models: Model[];
|
|
82
|
-
};
|
|
83
|
-
graph: {
|
|
84
|
-
children: ParentStructure;
|
|
85
|
-
};
|
|
86
|
-
aggregation?: {
|
|
87
|
-
metrics: string[];
|
|
88
|
-
type: AggregationMethodsNames;
|
|
89
|
-
};
|
|
90
|
-
'aggregated-outputs'?: AggregationResult;
|
|
91
|
-
};
|
|
92
|
-
export {};
|
package/build/types/impl.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
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,13 +0,0 @@
|
|
|
1
|
-
export type ModelParams = {
|
|
2
|
-
[key: string]: any;
|
|
3
|
-
};
|
|
4
|
-
export interface ModelPluginInterface {
|
|
5
|
-
/**
|
|
6
|
-
* Configures instance with given params.
|
|
7
|
-
*/
|
|
8
|
-
configure(params: object | undefined): Promise<ModelPluginInterface>;
|
|
9
|
-
/**
|
|
10
|
-
* Calculates `output` based on given model's `input`.
|
|
11
|
-
*/
|
|
12
|
-
execute(inputs: ModelParams[]): Promise<ModelParams[]>;
|
|
13
|
-
}
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtaW50ZXJmYWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL21vZGVsLWludGVyZmFjZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgTW9kZWxQYXJhbXMgPSB7XG4gIFtrZXk6IHN0cmluZ106IGFueTtcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgTW9kZWxQbHVnaW5JbnRlcmZhY2Uge1xuICAvKipcbiAgICogQ29uZmlndXJlcyBpbnN0YW5jZSB3aXRoIGdpdmVuIHBhcmFtcy5cbiAgICovXG4gIGNvbmZpZ3VyZShwYXJhbXM6IG9iamVjdCB8IHVuZGVmaW5lZCk6IFByb21pc2U8TW9kZWxQbHVnaW5JbnRlcmZhY2U+O1xuXG4gIC8qKlxuICAgKiBDYWxjdWxhdGVzIGBvdXRwdXRgIGJhc2VkIG9uIGdpdmVuIG1vZGVsJ3MgYGlucHV0YC5cbiAgICovXG4gIGV4ZWN1dGUoaW5wdXRzOiBNb2RlbFBhcmFtc1tdKTogUHJvbWlzZTxNb2RlbFBhcmFtc1tdPjtcbn1cbiJdfQ==
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { ModelPluginInterface } from '../types/model-interface';
|
|
2
|
-
export type ModelOptions = Record<string, any>;
|
|
3
|
-
export type ImplInitializeModel = {
|
|
4
|
-
config?: Record<string, any>;
|
|
5
|
-
name: string;
|
|
6
|
-
model?: string;
|
|
7
|
-
path?: string;
|
|
8
|
-
};
|
|
9
|
-
export type InitalizedModels = {
|
|
10
|
-
[key: string]: (modelOptions: ModelOptions) => Promise<ModelPluginInterface>;
|
|
11
|
-
};
|
|
12
|
-
export type HandModelParams = {
|
|
13
|
-
name: string;
|
|
14
|
-
model?: string;
|
|
15
|
-
path?: string;
|
|
16
|
-
};
|
|
17
|
-
export type ClassContainerParams = {
|
|
18
|
-
model: string;
|
|
19
|
-
path: string;
|
|
20
|
-
};
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLXVuaXZlcnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL21vZGVscy11bml2ZXJzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNb2RlbFBsdWdpbkludGVyZmFjZX0gZnJvbSAnLi4vdHlwZXMvbW9kZWwtaW50ZXJmYWNlJztcblxuZXhwb3J0IHR5cGUgTW9kZWxPcHRpb25zID0gUmVjb3JkPHN0cmluZywgYW55PjtcblxuZXhwb3J0IHR5cGUgSW1wbEluaXRpYWxpemVNb2RlbCA9IHtcbiAgY29uZmlnPzogUmVjb3JkPHN0cmluZywgYW55PjtcbiAgbmFtZTogc3RyaW5nO1xuICBtb2RlbD86IHN0cmluZztcbiAgcGF0aD86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIEluaXRhbGl6ZWRNb2RlbHMgPSB7XG4gIFtrZXk6IHN0cmluZ106IChtb2RlbE9wdGlvbnM6IE1vZGVsT3B0aW9ucykgPT4gUHJvbWlzZTxNb2RlbFBsdWdpbkludGVyZmFjZT47XG59O1xuXG5leHBvcnQgdHlwZSBIYW5kTW9kZWxQYXJhbXMgPSB7XG4gIG5hbWU6IHN0cmluZztcbiAgbW9kZWw/OiBzdHJpbmc7XG4gIHBhdGg/OiBzdHJpbmc7XG59O1xuXG5leHBvcnQgdHlwZSBDbGFzc0NvbnRhaW5lclBhcmFtcyA9IHtcbiAgbW9kZWw6IHN0cmluZztcbiAgcGF0aDogc3RyaW5nO1xufTtcbiJdfQ==
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwZXJjb21wdXRlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy90eXBlcy9zdXBlcmNvbXB1dGVyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgdHlwZSBDaGlsZEluZm9ybWF0aW9uID0ge1xuICBuYW1lOiBzdHJpbmc7XG4gIGluZm86IGFueTtcbn07XG4iXX0=
|
|
@@ -1,14 +0,0 @@
|
|
|
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==
|